:root{
  --bg:#F3F4F6; --card:#fff; --ink:#15171C; --ink2:#4A4F59; --muted:#5B606B; --line:#E2E4E9; --line2:#EEF0F3;
  --side:#15171C; --side-ink:#E7E9EE; --side-muted:#A9AEB9; --side-on:#2A2D35;
  --accent:#C2410C; --accent-ink:#fff; --accent-soft:#FDF0E8; --link:#1D3FBF;
  --ok-bg:#E4F4EC; --ok:#145C3A; --warn-bg:#FFF1D6; --warn:#7A4B00; --rev-bg:#E7ECFB; --rev:#24398F; --todo-bg:#EEF0F3; --todo:#3D424C;
  --err-bg:#FDECEC; --err:#8A1C1C; --late:#B42318;
  --r:10px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
a{color:var(--link)} a:hover{color:#152E8A}
h1{font-size:28px;line-height:1.2;margin:0 0 4px;letter-spacing:-.01em}
h2{font-size:16px;margin:0}
code{background:var(--todo-bg);padding:1px 5px;border-radius:4px;font-size:.9em}
.muted{color:var(--muted)} .small{font-size:13px} .late{color:var(--late);font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* estructura */
.shell{display:flex;min-height:100vh}
.side{flex:0 0 var(--side-w,250px);width:var(--side-w,250px);background:var(--side);color:var(--side-ink);padding:18px 12px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;padding:0 6px}
.brand span:last-child{display:flex;flex-direction:column;line-height:1.2} .brand small{color:var(--side-muted);font-size:12px}
.logo{width:32px;height:32px;border-radius:8px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.logo.big{width:48px;height:48px;font-size:22px;border-radius:12px}
.nav-group{display:flex;flex-direction:column;gap:1px}
.nav-group a,.nav-group .soon{display:flex;align-items:center;gap:9px;color:var(--side-ink);text-decoration:none;padding:7px 10px;border-radius:6px;font-size:14px}
.nav-group a:hover{background:#22252C;color:#fff}
.nav-group a.on{background:var(--side-on);color:#fff}
.nav-group .soon{color:var(--side-muted)} .soon em{font-style:normal;font-size:11px;margin-left:auto;border:1px solid #3A3E47;border-radius:4px;padding:0 5px}
.nav-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--side-muted);padding:0 10px 4px}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.search{display:flex;min-width:0;align-items:center;gap:8px;background:var(--bg);border-radius:8px;padding:0 12px;flex:1;max-width:460px;color:var(--muted)}
.search input{min-width:0;border:0;background:transparent;font:inherit;flex:1;padding:9px 0;outline:none;color:var(--ink)}
.me{margin-left:auto;display:flex;align-items:center;gap:10px}
.me form{margin:0}
.avatar{width:34px;height:34px;border-radius:50%;background:#DDE3F7;color:var(--link);display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}
.role-chip{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.icon-btn{background:none;border:1px solid transparent;border-radius:8px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink2);cursor:pointer}
.icon-btn:hover{background:var(--bg)} .icon-btn.small{width:30px;height:30px}
.menu-btn{display:none}
.page-pad{padding:24px 28px 48px;display:flex;flex-direction:column;gap:18px;max-width:1400px;width:100%}
.page-pad.narrow{max-width:900px}
.page-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.crumb{font-size:13px;color:var(--muted)} .crumb a{color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:13px}
.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0 -6px}

/* tarjetas */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card:has(> .table-wrap){padding:0;overflow:hidden}
.card > .card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:-18px -18px 14px;padding:14px 18px;border-bottom:1px solid var(--line)}
.card:has(> .table-wrap) > .card-head{margin:0}
.card.empty{text-align:center;padding:36px}
.empty-line{padding:18px;margin:0;color:var(--muted)}
.flash{border-radius:8px;padding:10px 14px;font-size:14px;margin:12px 28px 0}
.page-pad .flash,.login-card .flash,.form .flash{margin:0}
.flash-ok{background:var(--ok-bg);color:var(--ok)} .flash-err{background:var(--err-bg);color:var(--err)} .flash-warn{background:var(--warn-bg);color:var(--warn)}

/* proyectos */
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.proj-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:6px;transition:border-color .15s}
.proj-card:hover{border-color:var(--accent);color:var(--ink)}
.proj-name{font-weight:700;font-size:16px} .proj-meta{font-size:13px;color:var(--muted)}
.proj-nums{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;margin-top:4px}

/* pestañas */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.tabs a{white-space:nowrap;padding:9px 13px;color:var(--ink2);text-decoration:none;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--ink);font-weight:600;border-bottom-color:var(--accent)}
.tabs .count{background:var(--todo-bg);border-radius:999px;padding:0 7px;font-size:12px;color:var(--ink2)}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.seg a{padding:5px 12px;font-size:13px;text-decoration:none;color:var(--ink2)} .seg a.on{background:var(--ink);color:#fff}

/* tablas */
.table-wrap{overflow-x:auto}
table.tasks{width:100%;border-collapse:collapse;font-size:14px}
table.tasks th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;padding:10px 12px;background:#FAFAFB;white-space:nowrap}
table.tasks td{padding:11px 12px;border-top:1px solid var(--line2);vertical-align:middle}
table.tasks th:first-child,table.tasks td:first-child{padding-left:18px}
table.tasks a.strong{font-weight:600;text-decoration:none;color:var(--ink)} table.tasks a.strong:hover{color:var(--link)}
tr.is-done a.strong,tr.is-done td{color:var(--muted)}
.sub{font-size:12px;color:var(--muted);margin-left:6px}

.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;white-space:nowrap}
.st-por_hacer{background:var(--todo-bg);color:var(--todo)} .st-en_curso{background:var(--warn-bg);color:var(--warn)}
.st-en_revision{background:var(--rev-bg);color:var(--rev)} .st-hecho{background:var(--ok-bg);color:var(--ok)}
select.status-select{border:0;border-radius:999px;padding:4px 26px 4px 10px;font:inherit;font-size:12px;cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23444' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}
select.status-select.saving{opacity:.5}

/* formularios */
.btn{display:inline-flex;align-items:center;gap:6px;justify-content:center;font:inherit;font-size:14px;padding:9px 15px;border-radius:8px;border:1px solid #D3D6DD;background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;min-height:40px}
.btn:hover{background:#F7F7F9;color:var(--ink)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.btn.primary:hover{background:#A9380A}
.btn.danger{color:var(--err);border-color:#F1C4C4}
.btn.block{width:100%;padding:12px}
.btn:disabled{opacity:.6;cursor:wait}
.form{display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink2)}
input,select,textarea{font:inherit;font-size:14px;color:var(--ink);padding:9px 11px;border:1px solid #D3D6DD;border-radius:8px;background:#fff;min-height:40px}
textarea{resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus,.btn:focus-visible,a:focus-visible{outline:2px solid var(--link);outline-offset:1px}
fieldset{border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}
legend{font-size:13px;font-weight:600;padding:0 6px}
.checks{display:flex;flex-direction:column;gap:8px}
.checks.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.checks label{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--ink)}
.checks input{min-height:0}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.span2{grid-column:span 2}
.row-end{display:flex;justify-content:flex-end;gap:8px}
.inline{display:inline;margin:0}
.role-help p{margin:0}
.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}

.new-task .grid-new{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.new-task .grid-new .span2{grid-column:auto}

/* tarea */
.task-layout{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}
.task-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}
.task-side{flex:1 1 300px;max-width:400px;display:flex;flex-direction:column;gap:12px}
.task-card{display:flex;flex-direction:column;gap:14px}
.title-input{font-size:24px;font-weight:700;border:1px solid transparent;padding:6px 8px;margin:-6px -8px 0;letter-spacing:-.01em}
.title-input:hover{border-color:var(--line)}
.title-static{font-size:24px}
.meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.meta-grid .lbl{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}
.desc{line-height:1.6}
.checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.checklist li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0}
.checklist label{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--ink);cursor:pointer}
.checklist input{min-height:0}
.done{text-decoration:line-through;color:var(--muted)}
.add-row{display:flex;gap:8px;margin-top:10px} .add-row input{flex:1}
.events{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}
.events li{display:flex;flex-direction:column;gap:1px}
.placeholder-card{border-style:dashed;background:transparent}
.placeholder-card p{margin:6px 0 0}
.import-log{font-size:14px;max-height:420px;overflow:auto}

/* login */
.bare{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px;align-items:stretch}
.login-card.wide{max-width:640px}
.login-card h1{font-size:22px}
.alt-login summary{cursor:pointer;font-size:14px;color:var(--ink2)}
.alt-login form{margin-top:12px}

@media (max-width: 900px){
  .side{position:fixed;left:0;top:0;bottom:0;z-index:20;transform:translateX(-100%);transition:transform .2s}
  .side.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.3)}
  .menu-btn{display:inline-flex}
  .page-pad{padding:18px 16px 40px}
  .new-task .grid-new,.grid2,.grid3{grid-template-columns:1fr}
  .span2{grid-column:auto}
  .role-chip{display:none}
  .task-side{max-width:none}
}

/* espacios en el menú */
.nav-spaces{display:flex;flex-direction:column;gap:2px}
.space summary{list-style:none;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;color:#fff;user-select:none}
.space summary::-webkit-details-marker{display:none}
.space summary:hover{background:#22252C}
.space summary:focus-visible{outline:2px solid #8FA8FF;outline-offset:-2px}
.space-chip{flex:none;width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.space-name{flex:1;min-width:0;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.space-count{font-size:12px;color:var(--side-muted)}
.space .chev{flex:none;color:var(--side-muted);transition:transform .15s}
.space[open] .chev{transform:rotate(90deg)}
.space-projects{display:flex;flex-direction:column;gap:1px;margin:2px 0 8px 22px;padding-left:12px;border-left:1px solid #2E323B}
.space-projects a{color:var(--side-ink);text-decoration:none;padding:6px 10px;border-radius:6px;font-size:14px;font-weight:400}
.space-projects a:hover{background:#22252C;color:#fff}
.space-projects a.on{background:var(--side-on);color:#fff}
.space-empty{font-size:13px;color:var(--side-muted);padding:6px 10px}

/* administración de espacios */
.space-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:12px 0;border-top:1px solid var(--line2)}
.space-row:first-of-type{border-top:0}
.space-row label{flex:1 1 200px}
.swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.swatches label{flex:none;flex-direction:row;cursor:pointer}
.swatches input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}
.swatch{width:28px;height:28px;border-radius:7px;display:inline-block;border:2px solid transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.swatches input:checked + .swatch{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}
.swatches input:focus-visible + .swatch{outline:2px solid var(--link);outline-offset:2px}
.swatches input[type=color]{width:36px;height:32px;padding:2px;min-height:0;cursor:pointer}
.space-title{display:flex;align-items:center;gap:10px}
.space-title .space-chip{width:30px;height:30px;font-size:14px}
.section-title.space-title{text-transform:none;letter-spacing:0;font-size:17px;color:var(--ink);margin:10px 0 -4px}
.space-row label{min-width:0}.space-row input{width:100%}.space-row input[type=number]{width:90px}.swatches input[type=color]{width:36px}
.lock{color:var(--muted);margin-right:5px;vertical-align:-1px}
.check-inline{flex-direction:row;align-items:center;gap:7px;font-size:14px;color:var(--ink)}
.check-inline input{min-height:0}
.privacy{display:flex;flex-direction:column;gap:10px}
.new-task .grid-new{grid-template-columns:2fr 1fr 1fr 1fr auto auto}

/* campos personalizados */
.cf-block{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line2);padding-top:12px}
.lbl-strong{font-size:13px;font-weight:600;color:var(--ink)}
.cf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.cf-grid label > span:first-child{display:flex;gap:6px;align-items:baseline}
.cf-check{justify-content:flex-start}
.cf-check input[type=checkbox]{width:20px;height:20px;min-height:0;margin-top:8px}
table.tasks th.cf-th{max-width:200px}
table.tasks td.cf-td{padding:6px 8px;min-width:130px}
.cf-cell{width:100%;min-height:32px;padding:5px 8px;font-size:13px;border-color:transparent;background:transparent}
.cf-cell:hover{border-color:var(--line)}
.cf-cell:focus{background:#fff;border-color:#D3D6DD}
td.cf-checkbox{text-align:center;min-width:80px}
input[type=checkbox].cf-cell{width:18px;height:18px;min-height:0}
.cf-cell.saved{box-shadow:0 0 0 2px #9BD3B3}
.cf-cell.bad{box-shadow:0 0 0 2px #F1A3A3}
th.cf-add{width:44px;text-align:center}
.add-field summary,.fields-card summary{cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none}
.add-field summary::-webkit-details-marker,.fields-card summary::-webkit-details-marker{display:none}
.add-field summary{font-size:14px;font-weight:600;color:var(--ink2)}
.add-field-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:12px}
.add-field-form label{flex:1 1 200px}
.field-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;padding:12px 0;border-top:1px solid var(--line2)}
.field-row label{flex:1 1 220px;min-width:0}
.field-row input[type=number]{width:80px}
.type-chip{font-size:12px;background:var(--todo-bg);border-radius:999px;padding:4px 10px;margin-bottom:9px}
.fields-card[open] summary{margin-bottom:6px}

/* descripción e imágenes */
.desc-wrap{display:flex;flex-direction:column;gap:6px}
.desc-wrap > label{font-size:13px;color:var(--ink2)}
textarea.droppable.dragging{border-color:var(--accent);background:var(--accent-soft)}
.drop-hint{font-size:13px;color:var(--muted);min-height:0}
.drop-hint.err{color:var(--err)}
.desc-preview:empty{display:none}
.desc-preview{border:1px dashed var(--line);border-radius:8px;padding:10px 12px;font-size:14px}
.desc img,.c-body img{max-width:100%;max-height:420px;border-radius:8px;border:1px solid var(--line);display:block;margin:8px 0}
.desc-img{display:inline-block}

/* comentarios */
.comments{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:14px}
.comments li{display:flex;flex-direction:column;gap:4px}
.c-head{display:flex;align-items:center;gap:8px;font-size:14px}
.c-head .c-del{margin-left:auto}
.avatar.sm{width:24px;height:24px;font-size:10px}
.c-body{font-size:14px;line-height:1.5;padding-left:32px;overflow-wrap:anywhere}
.comment-form{display:flex;flex-direction:column;gap:6px}
.desc-wrap > label{display:block}

/* ===== Vista Hoja (tipo Favro) ===== */
.page-pad.wide{max-width:none}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.seg button{font:inherit;font-size:13px;padding:5px 12px;border:0;background:#fff;color:var(--ink2);cursor:pointer}
.seg button:hover,.seg a:hover{background:#F7F7F9}
.seg a{display:inline-flex;align-items:center;gap:6px}
.seg a.on:hover{background:var(--ink)}
.seg > * + *{border-left:1px solid var(--line)}
.sheet{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.sheet + .sheet{margin-top:2px}
.sheet-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.sheet-head h2{font-size:16px;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.01em}
.sheet-icon{width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.sheet-count{font-size:12px;background:var(--todo-bg);border-radius:999px;padding:1px 8px;color:var(--ink2)}
.sheet-cfg{margin-left:auto}
.sheet-toggle svg{transition:transform .15s}
.sheet.collapsed .sheet-toggle svg{transform:rotate(-90deg)}
.sheet.collapsed .sheet-body{display:none}
.sheet.collapsed .sheet-head{border-bottom:0}
.grid-wrap{overflow-x:auto}
table.grid{table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:14px;min-width:100%}
table.grid th{position:relative;text-align:left;font-size:13px;font-weight:600;color:var(--ink2);background:#FAFAFB;padding:9px 10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none}
table.grid td{border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);padding:0;height:44px;vertical-align:middle;background:#fff;overflow:hidden}
table.grid th:first-child,table.grid td:first-child{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--line)}
table.grid th:first-child{z-index:3;background:#FAFAFB}
table.grid tr:hover td{background:#FBFBFC}
table.grid tr.is-done td{color:var(--muted)}
table.grid tr.is-done .cell-title{text-decoration:line-through;color:var(--muted)}
table.grid td > .muted,table.grid td > span,table.grid td > a:not(.open-task){padding:0 10px}
.rz{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:4}
.rz:hover,.rz.active{background:var(--accent);opacity:.35}
body.resizing{cursor:col-resize;user-select:none}
th.th-add{text-align:center;padding:4px}
.cell{width:100%;height:43px;border:0;border-radius:0;background:transparent;padding:0 10px;font:inherit;font-size:14px;color:var(--ink);min-height:0;outline:none}
.cell:hover{background:#F5F6F8}
.cell:focus{background:#fff;box-shadow:inset 0 0 0 2px var(--link);outline:none}
select.cell{appearance:none;cursor:pointer;text-overflow:ellipsis}
input[type=checkbox].cell{width:18px;height:18px;margin:0 auto;display:block}
td.c-checkbox{text-align:center}
.cell.saving{opacity:.55}
.cell.saved{box-shadow:inset 0 0 0 2px #22C55E}
.cell.bad{box-shadow:inset 0 0 0 2px #DC2626}
td.c-status{padding:5px 6px}
td.c-status select.status-select,td.c-select select.cell{height:33px;border-radius:6px;font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em;text-align:center;text-align-last:center;padding:0 8px}
td.c-select{padding:5px 6px}
td.c-select select.cell:not([style]){font-weight:400;text-transform:none;letter-spacing:0;text-align:left;text-align-last:left}
.c-title{display:table-cell}
td.c-title{position:relative}
td.c-title .open-task{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);background:#fff;border:1px solid var(--line);opacity:0;transition:opacity .12s;z-index:1}
tr:hover td.c-title .open-task,td.c-title .open-task:focus{opacity:1}
td.c-title .lock{position:absolute;left:4px;top:50%;transform:translateY(-50%);z-index:1}
td.c-title .lock + .cell{padding-left:22px}
.cell-title{font-weight:600;padding-right:34px}
.title-link{display:block;padding:0 34px 0 10px !important;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:44px}
td.late .cell{color:var(--late);font-weight:600}
.st-chip{display:inline-block;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;margin:0 6px}
.list-tag{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.list-dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none;margin-right:2px}
.list-dot.big{width:22px;height:22px;border-radius:6px;margin-right:10px;vertical-align:-2px}
.add-row-tr td{height:42px;background:#fff}
.add-row-form{display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--muted);position:sticky;left:0;max-width:600px}
.add-row-form input{border:0;background:transparent;min-height:0;height:40px;padding:0;flex:1;font-size:14px}
.add-row-form input:focus{outline:none}
.empty-cell{padding:14px !important}
.tabs a{display:inline-flex;align-items:center;gap:6px}
.new-list .grid-new-list{display:grid;grid-template-columns:2fr 1fr auto auto;gap:12px;align-items:end}
.st-table input[type=color]{width:42px;height:34px;padding:2px;min-height:0}
.st-table td{padding:6px 8px}
.field-row label.full{flex-basis:100%}
.opt-preview{display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%}
.opt-preview .st-chip{margin:0}
.grid3 .span3{grid-column:1 / -1}
.danger-zone{border-color:#F1C4C4}
@media (max-width:900px){.new-list .grid-new-list{grid-template-columns:1fr}}
table.tasks select.status-select{border:0;border-radius:6px;padding:5px 10px;font:inherit;font-size:12px;font-weight:600;text-transform:uppercase;cursor:pointer;appearance:none}
select.status-pick{font-weight:600}
.add-row-tr td{position:static !important;box-shadow:none !important}
[hidden]{display:none !important}
.hidden-form{display:none}
.st-wrap{overflow-x:auto}

/* ===== v0.6: selección, título, subtareas, indicadores ===== */
table.grid th:first-child,table.grid td:first-child{box-shadow:none}
table.grid th.c-sel,table.grid td.c-sel{position:sticky;left:0;z-index:2;text-align:center;padding:0}
table.grid th.c-title,table.grid td.c-title{position:sticky;left:46px;z-index:2;box-shadow:1px 0 0 var(--line)}
table.grid th.c-sel,table.grid th.c-title{z-index:3;background:#FAFAFB}
td.c-sel{white-space:nowrap}
td.c-sel .sel,th.c-sel input{width:16px;height:16px;min-height:0;margin:0;vertical-align:middle;cursor:pointer;accent-color:var(--accent)}
td.c-sel .drag{display:inline-flex;width:14px;color:#A3A8B3;cursor:grab;opacity:0;vertical-align:middle;margin-right:2px}
tr.row:hover td.c-sel .drag{opacity:1}
tr.row.is-sel td{background:var(--accent-soft) !important}
tr.row.is-sel td.c-sel{box-shadow:inset 3px 0 0 var(--accent)}
tr.row.dragging td{opacity:.45}
tr.drop-before td{box-shadow:inset 0 3px 0 var(--accent)}
tr.drop-after td{box-shadow:inset 0 -3px 0 var(--accent)}
/* v0.91: soltar encima de una tarea = hacerla subtarea */
tr.drop-into td{background:#EAF1FE!important}
tr.drop-into td:first-child{box-shadow:inset 3px 0 0 #0A6CF5}
tr.drop-into .t-text{color:#0A6CF5;font-weight:600}
tr.drop-into{outline:2px solid #0A6CF5;outline-offset:-2px}
.drop-tip{position:absolute;z-index:90;background:#0A6CF5;color:#fff;font-size:12.5px;font-weight:600;border-radius:999px;padding:5px 12px;box-shadow:0 6px 18px rgba(10,108,245,.35);pointer-events:none;white-space:nowrap;max-width:min(520px,90vw);overflow:hidden;text-overflow:ellipsis}
.drop-tip[hidden]{display:none}
.drag-ghost{position:fixed;top:-200px;left:-400px;display:flex;align-items:center;gap:8px;max-width:320px;background:#fff;border:1px solid #BFD5FB;border-radius:10px;padding:8px 12px;font:600 13px/1.2 inherit;color:var(--ink);box-shadow:0 10px 26px rgba(20,24,31,.18)}
.drag-ghost b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drag-ghost span{flex:none;min-width:22px;height:22px;border-radius:999px;background:#E5484D;color:#fff;font-size:12px;display:grid;place-items:center;padding:0 6px}
tr.row.is-sub .drag{opacity:.7}
.bb-seg{display:flex;background:var(--line2,#EEF0F3);border-radius:9px;padding:3px;gap:2px;margin:2px 0 6px}
.bb-seg button{flex:1;border:0;background:transparent;border-radius:7px;padding:6px 4px;font:inherit;font-size:12.5px;color:var(--ink2);cursor:pointer}
.bb-seg button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(20,24,31,.12)}
.bb-tq{width:100%;height:34px;border:1px solid var(--line);border-radius:9px;padding:0 10px;font:inherit;font-size:13.5px}
.bb-opt.bb-topt{flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;gap:1px}
.bb-topt small{color:var(--muted);font-size:11.5px}
[data-mp][hidden]{display:none}
.t{display:flex;align-items:center;gap:6px;height:44px;padding:0 8px 0 calc(10px + var(--d,0) * 22px);min-width:0;position:relative}
.t .t-text{flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--ink);text-decoration:none;padding:0 !important}
.t .t-text:hover{color:var(--link);text-decoration:underline}
tr.is-done .t .t-text{color:var(--muted);text-decoration:line-through}
tr.is-sub .t .t-text{font-weight:500}
.t .t-input{flex:1;min-width:0;height:32px;padding:0 8px;font:inherit;font-weight:600;border:0;border-radius:6px;box-shadow:inset 0 0 0 2px var(--link);min-height:0}
.t.editing .ind,.t.editing .tag-chip,.t.editing .t-edit,.t.editing .sub-count{display:none}
.t-edit{flex:none;width:26px;height:26px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s;padding:0}
tr.row:hover .t-edit,.t-edit:focus{opacity:1}
.t-edit:hover{color:var(--link);border-color:#C7CFE8}
.twisty{flex:none;width:20px;height:20px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;padding:0}
.twisty:hover{background:var(--todo-bg);color:var(--ink)}
.twisty svg{transition:transform .12s}
.twisty[aria-expanded=true] svg{transform:rotate(90deg)}
.twisty-sp{flex:none;width:20px}
.sub-count{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--muted);padding:0 !important}
tr.is-sub td.c-title::before{content:"";position:absolute;left:calc(20px + (var(--d,1) - 1) * 22px);top:0;bottom:50%;width:10px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-bottom-left-radius:6px}
.ind{flex:none;display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;padding:2px 6px !important;border-radius:6px;cursor:default}
.ind:hover,.ind:focus{background:var(--todo-bg);color:var(--ink);outline:none}
.ind-i{display:inline-flex;align-items:center;gap:2px}
.ind-i.ok{color:#15803D}
.tag-chip{flex:none;display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px !important;border-radius:999px;background:color-mix(in srgb, var(--tc) 16%, #fff);color:color-mix(in srgb, var(--tc) 80%, #000);border:1px solid color-mix(in srgb, var(--tc) 35%, #fff);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
td.c-title .lock{position:static;transform:none;flex:none;padding:0 !important}
.toolbar-hint{margin-left:auto;display:inline-flex;align-items:center;gap:4px}
.seg-view a{font-weight:600}

/* vista previa */
.peek{position:absolute;z-index:60;width:380px;max-width:calc(100vw - 24px);max-height:440px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(21,23,28,.18);padding:14px 16px;font-size:13.5px;display:flex;flex-direction:column;gap:12px}
.peek-title{font-weight:700;font-size:14px}
.peek-lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.peek-desc{line-height:1.5;color:var(--ink2)}
.peek-cl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.peek-cl li{display:flex;gap:8px;align-items:flex-start}
.peek-cl li.done{color:var(--muted);text-decoration:line-through}
.pc-box{flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid #C5CAD3;display:inline-flex;align-items:center;justify-content:center;font-size:10px;color:#fff;margin-top:1px}
.peek-cl li.done .pc-box{background:var(--accent);border-color:var(--accent)}
.peek-com{padding:6px 0;border-top:1px solid var(--line2);line-height:1.45}
.peek-com:first-of-type{border-top:0}
.peek-imgs{display:flex;flex-wrap:wrap;gap:6px}
.peek-imgs img{width:72px;height:54px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}

/* barra de acciones en bloque */
.bulkbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:70;display:flex;align-items:center;gap:2px;background:#15171C;color:#E7E9EE;border-radius:12px;padding:6px 8px;box-shadow:0 14px 40px rgba(0,0,0,.35);max-width:calc(100vw - 24px);overflow-x:auto}
.bulkbar.busy{opacity:.6;pointer-events:none}
.bulkbar button{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:#E7E9EE;font:inherit;font-size:14px;padding:9px 11px;border-radius:8px;cursor:pointer;white-space:nowrap;min-height:40px}
.bulkbar button:hover,.bulkbar button:focus-visible{background:#2A2D35;color:#fff;outline:none}
.bb-count{font-weight:600;padding:8px 6px 8px 12px;white-space:nowrap}
.bb-x{padding:6px 10px !important;color:#A9AEB9 !important}
.bb-sep{width:1px;height:24px;background:#3A3E47;margin:0 4px;flex:none}
.bb-danger:hover{background:#4B1D1D !important;color:#FCA5A5 !important}
.bb-pop{position:fixed;z-index:80;width:300px;max-height:420px;overflow:auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(21,23,28,.22);padding:10px;display:flex;flex-direction:column;gap:4px}
.bb-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:4px 6px 6px}
.bb-sub{font-size:12px;color:var(--muted);padding:8px 6px 2px}
.bb-opt{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;padding:8px 10px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;min-height:38px}
.bb-opt:hover,.bb-opt:focus-visible{background:#F3F4F6;outline:none}
.bb-opt .dot{width:12px;height:12px;border-radius:4px;flex:none}
.bb-ind{padding-left:22px}
.bb-grp{font-size:12px;font-weight:700;color:var(--ink2);padding:10px 8px 2px}
.bb-scroll{max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.bb-filter{margin:0 2px 6px;min-height:36px}
.bb-form{display:flex;flex-direction:column;gap:10px;padding:4px}
.bb-tags{display:flex;flex-wrap:wrap;gap:6px;padding:4px 6px}
.bb-tags .tag-chip{cursor:pointer;font:inherit;font-size:12px;font-weight:600}

/* pestañas tipo carpeta */
/* pestañas de las listas: carpetas con relieve (v0.50.1) */
.ftabs{display:flex;align-items:flex-end;gap:0;overflow-x:auto;overflow-y:hidden;padding:12px 24px 0;margin-bottom:0;scrollbar-width:thin}
.ftab{position:relative;flex:none;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 20px;margin-right:-4px;text-decoration:none;white-space:nowrap;font-size:13.5px;font-weight:500;color:#4B5160;background:linear-gradient(#F3F4F7,#E9EBEF);border-radius:14px 14px 0 0;box-shadow:-8px 0 14px -6px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.9);transition:color .12s,background .12s}
.ftab::before,.ftab::after{content:"";position:absolute;bottom:0;width:14px;height:14px;pointer-events:none}
.ftab::before{left:-14px;background:radial-gradient(circle at 0 0,transparent 13.5px,#E9EBEF 14px)}
.ftab::after{right:-14px;background:radial-gradient(circle at 100% 0,transparent 13.5px,#E9EBEF 14px)}
.ftab:first-child{box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.ftab:hover{color:#15171C;background:linear-gradient(#F8F9FB,#EEF0F3)}
.ftab .ftab-dot{width:8px;height:8px;border-radius:50%;background:var(--tc);flex:none}
.ftab.on{height:46px;z-index:6;color:#15171C;font-weight:600;background:linear-gradient(var(--tc),var(--tc)) 50% 0/calc(100% - 28px) 3px no-repeat,#fff;box-shadow:-10px -2px 18px -8px rgba(15,23,42,.22),10px -2px 18px -8px rgba(15,23,42,.22)}
.ftab.on::before{background:radial-gradient(circle at 0 0,transparent 13.5px,#fff 14px)}
.ftab.on::after{background:radial-gradient(circle at 100% 0,transparent 13.5px,#fff 14px)}
.ftab .count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1;background:transparent;color:#6B7280}
.ftab.on .count{background:color-mix(in srgb, var(--tc) 14%, #fff);color:color-mix(in srgb, var(--tc) 80%, #000);font-weight:700}
.ftab .count[hidden]{display:none}
.ftab .count.bump{animation:countbump .5s ease}
@keyframes countbump{40%{transform:scale(1.25)}}
.ftabs + .ftab-body{margin-top:-18px}
.ftab-body{position:relative;z-index:5;border-radius:16px;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.ftab-body > .sheet:first-child{border-top:0;border-radius:16px 16px 0 0}
.ftab-body > .sheet:last-child{border-bottom-left-radius:16px;border-bottom-right-radius:16px}
.ftab-body > .sheet:only-child{border-radius:16px}
.tag-line{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tag-line .tag-chip{font-size:12px;padding:3px 6px 3px 10px !important;gap:4px;max-width:none}
.tag-x{border:0;background:transparent;color:inherit;cursor:pointer;font-size:11px;padding:0 3px;opacity:.7}
.tag-x:hover{opacity:1}
.sublist{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}
.sublist li{display:flex;align-items:center;gap:8px;font-size:14px}
.sublist li .st-chip{margin:0;font-size:11px;padding:3px 8px}
.sublist li.is-done a{color:var(--muted);text-decoration:line-through}
.t .t-text{min-width:5.5em}
.t .tag-chip{flex-shrink:1;min-width:2.5em}
.t .ind{flex-shrink:1;min-width:0;overflow:hidden}

/* volver con Esc */
.crumb-acts{display:flex;align-items:center;gap:12px}
.esc-hint{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:5px}
kbd{font:inherit;font-size:11.5px;font-weight:600;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px;background:#fff;color:var(--ink2)}
tr.row.came-back > td{animation:cameback 2.4s ease}
@keyframes cameback{0%,40%{background:#FDE6D6}100%{background:transparent}}

/* v0.8 · favoritos, privacidad, listas vinculadas, compartir */
.title-row{display:flex;align-items:center;gap:8px}
.fav-btn{border:0;background:none;cursor:pointer;color:#B8BDC7;padding:4px;border-radius:8px;display:inline-flex;transition:transform .15s,color .15s}
.fav-btn:hover{color:#E0A100;transform:scale(1.1)}
.fav-btn.on{color:#E0A100}
.fav-btn.on svg{fill:#F5B800}
.chip-lock{display:inline-flex;align-items:center;gap:4px;background:#FFF7E6;border-color:#F3D9A4;color:#7A4B00}
.nav-favs .fav-link{display:flex;align-items:center;gap:8px}
.fav-star{color:#F5B800;display:inline-flex}.fav-star svg{fill:#F5B800}
.fav-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.nav-lock{color:var(--side-muted);display:inline-flex;vertical-align:-1px;margin-left:4px}
.sheet-origin,.sheet-also{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 10px 2px 8px;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet-origin a{color:var(--link);text-decoration:underline;text-underline-offset:2px;overflow:hidden;text-overflow:ellipsis}
.sheet-origin{background:#EEF3FF;border-color:#D5E0FB;color:#24398F}
.sheet-unlink{margin:0;display:inline-flex}
.sheet-head .sheet-cfg{margin-left:0}
.sheet-head .sheet-unlink{margin-left:auto}
.sheet-head .sheet-unlink + .sheet-cfg{margin-left:0}
.link-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}
.link-pick-wrap{display:flex;flex-direction:column;gap:6px}
.list-pick{width:100%;min-height:200px;padding:4px}
.list-pick optgroup{font-weight:700;color:var(--ink)}
.list-pick option{font-weight:400;padding:4px 8px;border-radius:4px}
.link-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;min-width:220px}
.link-actions .muted{text-align:center}
.linked-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.linked-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--line);border-radius:8px}
.link-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:12px}
.link-row label:first-child{flex:1 1 240px}
.btn.small{padding:5px 10px;font-size:13px}
.nowrap{white-space:nowrap}

.share-page h1{margin-bottom:6px}
.vis-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vis-opt{flex-direction:row;align-items:flex-start;gap:12px;border:1.5px solid var(--line);border-radius:12px;padding:14px;cursor:pointer;color:var(--ink);font-size:14px}
.vis-opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.vis-opt input{margin-top:3px;min-height:0}
.vis-opt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px;line-height:1.4}
.vis-ic{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:#fff;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink2)}
.count-chip{font-size:12px;background:var(--todo-bg);border-radius:999px;padding:1px 8px;color:var(--ink2);vertical-align:2px;margin-left:4px}
.members{display:flex;flex-direction:column;gap:8px;margin:6px 0 14px}
.member-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin:0}
.member-row .ch-av{width:34px;height:34px;flex:0 0 34px;border-radius:10px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px}
.member-name{display:flex;flex-direction:column;flex:1 1 180px;min-width:0;line-height:1.3}
.member-name small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-row select{flex:0 1 230px;min-height:36px;padding:6px 8px}
.lists-pick{position:relative}
.lists-pick summary{cursor:pointer;font-size:13px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;list-style:none;white-space:nowrap}
.lists-pick summary::-webkit-details-marker{display:none}
.lists-pick[open] summary{border-color:var(--ink2)}
.lists-pop{position:absolute;z-index:20;right:0;top:calc(100% + 6px);width:320px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(21,23,28,.15);padding:10px;display:flex;flex-direction:column;gap:6px}
.danger-link{color:var(--err)}
.add-member{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:10px}
.add-member h3{margin:0;font-size:15px}
.add-member-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:10px}
.lists-choice{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0;display:flex;flex-direction:column;gap:6px}
.lists-choice legend{font-size:13px;color:var(--ink2);padding:0 4px}
.checks label .list-dot{margin-right:2px}
.role-chips{display:flex;flex-wrap:wrap;gap:6px}
.levels-help dl{display:grid;grid-template-columns:200px 1fr;gap:6px 14px;margin:8px 0 0;font-size:14px}
.levels-help dt{font-weight:700}.levels-help dd{margin:0;color:var(--ink2)}
@media (max-width:700px){.vis-options,.add-member-grid,.link-grid{grid-template-columns:1fr}.levels-help dl{grid-template-columns:1fr}}
.member-row{display:grid;grid-template-columns:34px minmax(140px,1fr) minmax(170px,220px) auto auto auto;align-items:center}
.member-row .lists-pick summary{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.member-row select{width:100%}
@media (max-width:820px){.member-row{grid-template-columns:34px 1fr}.member-row > :nth-child(n+5){grid-column:span 1}}

/* ===== v0.9 ===== */
/* descripciones al pasar el ratón */
[data-tip]{position:relative}
/* globos: assets/tips.js */
/* globos: assets/tips.js */

/* cabecera del proyecto */
.proj-head{position:relative;border-radius:16px;margin-bottom:2px}
.ph-body{position:relative;display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap}
.ph-main{min-width:0;flex:0 1 auto;max-width:100%}
.ph-main h1{word-break:break-word}
.title-row h1{margin:0}
.ph-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.ph-icons{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:3px}
.ph-ic{position:relative;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;border-radius:9px;color:var(--ink2);cursor:pointer;text-decoration:none}
.ph-ic:hover{background:var(--bg);color:var(--ink)}
.ph-ic.small{width:32px;height:32px;border-radius:8px}
.ph-ic .chat-count{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;line-height:17px;text-align:center}
.title-row .ph-ic.small{color:var(--muted);opacity:.7}
.title-row:hover .ph-ic.small{opacity:1}
.ph-title-input{font:inherit;font-size:28px;font-weight:700;letter-spacing:-.01em;padding:2px 8px;border:2px solid var(--accent);border-radius:10px;min-width:min(520px,80vw);min-height:0}
.ph-drop{flex:1 1 220px;max-width:420px;min-height:88px;align-self:stretch;display:flex;align-items:center;justify-content:center;gap:12px;border:2px dashed #D3D6DD;border-radius:14px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;opacity:.55;transition:opacity .15s,border-color .15s,background .15s;text-align:left;padding:10px 16px}
.ph-drop strong{display:block;font-size:13.5px;color:var(--ink2)}
.ph-drop small{display:block;font-size:12px}
.proj-head:hover .ph-drop,.ph-drop:focus-visible{opacity:1}
.ph-drop:hover,.proj-head.dropping .ph-drop{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.proj-head.dropping{outline:3px dashed var(--accent);outline-offset:4px}
/* con imagen: cabecera grande tipo cartel */
.proj-head.has-cover{min-height:210px;display:flex;align-items:flex-end;overflow:hidden;background:#111;box-shadow:0 10px 30px rgba(21,23,28,.18)}
.ph-cover{position:absolute;inset:0;background-image:var(--cover);background-size:cover;background-position:center var(--cpos,50%)}
.ph-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,16,.82) 0%,rgba(10,12,16,.45) 45%,rgba(10,12,16,.05) 80%),linear-gradient(0deg,rgba(10,12,16,.55),transparent 55%)}
.proj-head.has-cover .ph-body{width:100%;padding:22px 24px 20px}
.proj-head.has-cover .crumb{color:rgba(255,255,255,.8)}
.proj-head.has-cover h1{color:#fff;font-size:34px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.proj-head.has-cover .chip{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(6px)}
.proj-head.has-cover .chip-lock{background:rgba(255,236,200,.22)}
.proj-head.has-cover .title-row .ph-ic.small{color:#fff}
.proj-head.has-cover .title-row .ph-ic.small:hover{background:rgba(255,255,255,.15)}
.proj-head.has-cover .fav-btn{color:rgba(255,255,255,.75)}
.proj-head.has-cover .ph-actions{align-self:flex-start}
.proj-head.has-cover .ph-icons{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-color:transparent}
.ph-adjust{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);border-radius:12px;padding:8px 12px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:12.5px;z-index:3}
.ph-adjust input{width:200px;min-height:0;padding:0}

/* fondo del panel */
.main.has-bg .page-pad > .toolbar .toolbar-hint{background:rgba(255,255,255,.85);padding:3px 8px;border-radius:8px}
.main.bg-dark .page-pad > .proj-head:not(.has-cover):not(.has-poster) .crumb,.main.bg-dark .page-pad > .proj-head:not(.has-cover):not(.has-poster) h1{color:#fff}
.main.bg-dark .page-pad > .proj-head:not(.has-cover):not(.has-poster) .title-row .ph-ic.small,.main.bg-dark .page-pad > .proj-head:not(.has-cover):not(.has-poster) .fav-btn:not(.on){color:rgba(255,255,255,.8)}
.main.bg-dark .ph-drop{border-color:rgba(255,255,255,.35);color:rgba(255,255,255,.75)}
.main.bg-dark .ph-drop strong{color:#fff}
.main.has-bg > .top{background:rgba(255,255,255,.96)}

/* menús ⋮ */
.nav-more{margin-left:2px;width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--side-muted);border-radius:6px;cursor:pointer;opacity:0;transition:opacity .1s}
.space summary:hover .nav-more,.nav-proj:hover .nav-more,.nav-more:focus-visible,.nav-more[aria-expanded="true"]{opacity:1}
.nav-more:hover{background:#2E323B;color:#fff}
.nav-proj{display:flex;align-items:center;border-radius:6px}
.nav-proj a{flex:1;min-width:0;display:flex;align-items:center;gap:4px}
.nav-proj .np-name{min-width:0;overflow:hidden;text-overflow:ellipsis}
.nav-proj.on > a{background:var(--side-on);color:#fff}
.nav-proj .nav-more{margin-right:2px}
.nav-proj.archived a{opacity:.6}
.nav-arch{font-size:10px;border:1px solid #3A3E47;border-radius:4px;padding:0 4px;margin-left:4px}
.nav-pin{color:#F5B800;display:inline-flex;margin-left:4px}
@media (hover:none){.nav-more{opacity:1}}
.pmenu{position:fixed;z-index:200;min-width:250px;max-width:340px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 44px rgba(21,23,28,.2);padding:6px;animation:pmin .12s ease}
.pmenu.wide{width:330px}
@keyframes pmin{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.pm-item{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;font:inherit;font-size:14px;color:var(--ink);padding:8px 10px;border-radius:9px;cursor:pointer;text-align:left}
.pm-item:hover,.pm-item:focus-visible,.pm-item.open{background:var(--bg);outline:none}
.pm-item.danger{color:var(--late)}
.pm-item.sure{background:var(--late);color:#fff}
.pm-ic{display:inline-flex;color:var(--ink2);width:18px}
.pm-item.danger .pm-ic,.pm-item.sure .pm-ic{color:inherit}
.pm-label{flex:1}
.pm-check{width:18px;height:18px;border:1.5px solid #C9CDD6;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;color:#fff}
.pm-check.on{background:#2563EB;border-color:#2563EB}
.pm-sub{color:var(--muted);display:inline-flex}
.pm-sep{height:1px;background:var(--line2);margin:5px 4px}
.pm-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:8px 10px}
.pm-sw{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer}
.pm-sw.on{box-shadow:0 0 0 2.5px #2563EB}
.pm-form{display:flex;flex-direction:column;gap:8px;padding:8px}
.pm-form-label{font-size:12.5px;font-weight:600;color:var(--ink2)}
.pm-input{min-height:38px}
.pm-form-row{display:flex;justify-content:flex-end;gap:6px}
.pm-form-row.wrap{flex-wrap:wrap;justify-content:flex-start}
.pm-checks{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px}
.pm-checks label{flex-direction:row;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;color:var(--ink);font-size:13.5px;cursor:pointer}
.pm-checks label:hover{background:var(--bg)}
.pm-checks small{margin-left:auto;color:var(--muted);font-size:11.5px;white-space:nowrap}
.pm-checks input{min-height:0}
.pm-bgs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.pm-bg{height:44px;border-radius:9px;border:1px solid var(--line);cursor:pointer}
.pm-bg:hover{outline:2px solid #2563EB;outline-offset:1px}
.mini-toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-size:14px;z-index:1300;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:opacity .3s}
.mini-toast.bad{background:var(--late)}
.mini-toast.out{opacity:0}

/* empresas */
.ws-switch{position:relative}
.side .brand{width:100%;border:0;background:transparent;font:inherit;color:#fff;cursor:pointer;border-radius:10px;padding:6px;text-align:left}
.side .brand:hover,.side .brand[aria-expanded="true"]{background:#22252C}
.brand-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.brand-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-text small{color:var(--side-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brand-chev{color:var(--side-muted);flex:0 0 auto}
.ws-logo{display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto;object-fit:cover}
.ws-menu{position:absolute;left:0;top:calc(100% + 6px);width:300px;background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.35);padding:8px;z-index:100;display:flex;flex-direction:column;gap:2px}
.ws-menu[hidden]{display:none}
.ws-menu-head{display:flex;align-items:center;gap:10px;padding:8px}
.ws-menu-head div{display:flex;flex-direction:column;min-width:0}
.ws-menu-head small{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis}
.ws-menu-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 8px 8px;border-bottom:1px solid var(--line2);margin-bottom:4px}
.ws-menu-row .btn{justify-content:center}
.ws-menu-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:6px 10px 2px}
.ws-menu form{margin:0}
.ws-item{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;font:inherit;font-size:14px;color:var(--ink);padding:8px 10px;border-radius:9px;cursor:pointer;text-align:left;text-decoration:none}
.ws-item:hover{background:var(--bg);color:var(--ink)}
.ws-item span:last-child{display:flex;flex-direction:column;min-width:0}
.ws-item small{color:var(--muted);font-size:12px}
.ws-item.danger{color:var(--late);border-top:1px solid var(--line2);border-radius:0 0 9px 9px;margin-top:4px}
.ws-plus{width:30px;height:30px;border:1.5px dashed #C9CDD6;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink2)}
.ws-edit{display:grid;grid-template-columns:150px 1fr;gap:20px}
.ws-logo-edit{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ws-logo-edit input[type=file]{font-size:12px;padding:6px;min-height:0;max-width:150px}
.ws-fields{display:flex;flex-direction:column;gap:12px}
.ws-cards{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.ws-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;flex-wrap:wrap}
.ws-card.on{border-color:var(--accent);background:var(--accent-soft)}
.ws-card > div{flex:1;display:flex;flex-direction:column;min-width:0}
.ws-card small{color:var(--muted);font-size:12.5px}
.ws-admin-add summary,.new-ws summary{list-style:none;cursor:pointer;display:inline-flex}
.ws-admin-add summary::-webkit-details-marker,.new-ws summary::-webkit-details-marker{display:none}
.ws-admin-add[open]{flex-basis:100%}
.ws-admin-add form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:8px}
.new-ws form{margin-top:12px}
@media (max-width:700px){.ws-edit{grid-template-columns:1fr}.proj-head.has-cover h1{font-size:26px}.ph-drop{display:none}}
.seg{background:#fff}
.space summary:not(:hover):not(:focus-within) .nav-more,.nav-proj:not(:hover):not(:focus-within) .nav-more{display:none}
.space summary:hover .space-count{display:none}
@media (hover:none){.space summary .nav-more,.nav-proj .nav-more{display:inline-flex !important}}

/* v0.9.1 · panel lateral redimensionable */
.side-resizer{flex:0 0 8px;margin:0 -4px;position:sticky;top:0;height:100vh;cursor:col-resize;z-index:15;background:transparent;outline:none}
.side-resizer::after{content:"";position:absolute;left:3px;top:0;bottom:0;width:2px;background:transparent;transition:background .15s}
.side-resizer:hover::after,.side-resizer:focus-visible::after,body.resizing-side .side-resizer::after{background:var(--accent)}
body.resizing-side{cursor:col-resize;user-select:none}
body.resizing-side *{cursor:col-resize !important}
@media (max-width:900px){.side-resizer{display:none}.side{width:270px}}
.ws-menu{position:fixed;z-index:400;max-height:calc(100vh - 80px);overflow:auto}

/* cabecera con póster fijo */
.proj-head.has-poster{background:#fff;border:1px solid var(--line);padding:20px 20px 20px 24px;box-shadow:0 6px 20px rgba(21,23,28,.06)}
.proj-head.has-poster .ph-body{align-items:stretch;flex-wrap:nowrap;min-height:250px}
.proj-head.has-poster .ph-main{flex:1 1 auto;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:4px}
.proj-head.has-poster h1{font-size:36px}
.proj-head.has-poster .ph-actions{align-self:flex-end;flex-direction:column;align-items:stretch;gap:10px;margin-left:auto}
.proj-head.has-poster .ph-actions .btn.primary{justify-content:center}
.ph-poster{margin:-6px -6px -6px 6px;flex:0 0 auto;display:flex}
.ph-poster a{display:block;height:100%}
.ph-poster img{height:100%;max-height:300px;min-height:230px;width:auto;max-width:260px;object-fit:cover;border-radius:10px;box-shadow:0 10px 26px rgba(21,23,28,.25);display:block}
.main.bg-dark .proj-head.has-poster .crumb{color:var(--muted)}
.main.bg-dark .proj-head.has-poster h1{color:var(--ink)}
@media (max-width:900px){.proj-head.has-poster .ph-body{flex-wrap:wrap}.ph-poster img{max-height:220px;min-height:0}.proj-head.has-poster .ph-actions{flex-direction:row}}

/* fondo con imagen: intensidad regulable */
.main.has-bg-img{background:linear-gradient(rgba(243,244,246,var(--bg-veil,.5)),rgba(243,244,246,var(--bg-veil,.5))),var(--bg-img) center/cover fixed;background-color:#F3F4F6}
.pm-hint{font-size:12px;color:var(--muted);padding:6px 10px 4px}
.pm-op{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line2);padding-top:10px}
.pm-op-row{display:flex;align-items:center;gap:8px}
.pm-op-row input{flex:1;min-height:0;padding:0}
.pm-op-val{font-size:12.5px;font-weight:700;min-width:42px;text-align:right}
.proj-head.has-poster .ph-main{justify-content:center}
.proj-head.has-poster .ph-actions{align-self:center}
.proj-head.has-poster .ph-body{min-height:230px}

/* v0.9.2 · imagen de cabecera: llenar o ajustar tamaño (dentro de la cabecera) */
.proj-head .ph-fit,.proj-head .ph-cover-bg{display:none}
.proj-head.has-cover .ph-body{position:relative;z-index:1}
.proj-head.cover-fit{min-height:240px}
.proj-head.cover-fit .ph-cover{display:none}
.proj-head.cover-fit .ph-cover-bg{display:block;position:absolute;inset:-30px;background:var(--cover) center/cover;filter:blur(26px) brightness(.5) saturate(1.2)}
.proj-head.cover-fit::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(10,12,16,.65) 0%,rgba(10,12,16,.25) 50%,rgba(10,12,16,0) 75%)}
.proj-head.cover-fit .ph-fit{display:block;position:absolute;z-index:0;top:50%;left:var(--cx,60%);height:var(--csize,90%);width:auto;max-width:none;transform:translate(calc(-1 * var(--cx,60%)),-50%);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.45);pointer-events:none}
.ph-adjust{flex-direction:column;align-items:stretch;gap:10px;width:min(440px,calc(100% - 24px));padding:12px 14px;bottom:12px}
.pa-segs{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border-radius:9px;padding:3px;gap:3px}
.pa-seg{font:inherit;font-size:13px;font-weight:600;border:0;background:transparent;border-radius:7px;padding:7px;cursor:pointer;color:var(--ink2)}
.pa-seg.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.pa-rows{display:flex;flex-direction:column;gap:8px}
.pa-rows[hidden],.pa-row[hidden]{display:none}
.pa-row{flex-direction:row;align-items:center;gap:8px;font-size:12.5px;color:var(--ink)}
.pa-row input{flex:1;min-height:0;padding:0}
.pa-row small{color:var(--muted);font-size:11.5px;white-space:nowrap}
.pa-lbl{font-weight:600;min-width:64px}
.pa-actions{display:flex;justify-content:flex-end;gap:6px}
.proj-head.has-cover{align-items:stretch}
.proj-head.has-cover .ph-body{align-items:stretch;min-height:inherit}
.proj-head.has-cover .ph-main{align-self:flex-end}
.proj-head.has-cover .ph-actions{align-self:flex-start}
.toolbar-actions{order:10;margin-left:auto}
.toolbar-actions .ph-actions{margin:0}
.toolbar:has(.toolbar-actions) .toolbar-hint{flex-basis:100%;text-align:right;order:11}

/* v0.9.3 · cabeceras fijas al bajar (como Favro): título de la lista + fila de columnas */
.sheet{overflow:clip}
.sheet-head{position:sticky;top:var(--top-h,63px);z-index:6;background:#fff}
.sheet .grid thead th{transform:translateY(var(--hy,0px));z-index:4}
.sheet .grid thead th.c-sel,.sheet .grid thead th.c-title{z-index:5}
.sheet .grid thead.stuck th{box-shadow:0 3px 6px -2px rgba(21,23,28,.12),inset 0 -1px 0 var(--line)}
.sheet .grid thead.stuck th.c-title{box-shadow:1px 0 0 var(--line),0 3px 6px -2px rgba(21,23,28,.12)}
.sheet.stuck-head .sheet-head{box-shadow:0 1px 0 var(--line)}
/* color del panel por empresa */
.shell.side-custom .side{background:var(--side)}
.shell.side-custom .nav-group a:hover,.shell.side-custom .side .brand:hover,.shell.side-custom .side .brand[aria-expanded="true"],.shell.side-custom .space summary:hover{background:color-mix(in srgb,var(--side) 82%,#fff)}
.shell.side-custom .nav-group a.on,.shell.side-custom .nav-proj.on > a,.shell.side-custom .space-projects a.on{background:color-mix(in srgb,var(--side) 72%,#fff)}
.shell.side-custom .nav-more:hover{background:color-mix(in srgb,var(--side) 70%,#fff)}
.shell.side-custom .side-resizer{background:transparent}
.side-swatches{display:flex;flex-wrap:wrap;gap:10px}
.side-sw{flex-direction:column;align-items:center;gap:4px;cursor:pointer;font-size:11.5px;color:var(--ink2);width:74px}
.side-sw > input{position:absolute;opacity:0;pointer-events:none}
.side-sw > span{width:58px;height:44px;border-radius:9px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:0 9px;box-shadow:0 0 0 1px var(--line);position:relative}
.side-sw > span i{display:block;height:4px;border-radius:2px;background:rgba(255,255,255,.55)}
.side-sw > span i:nth-child(2){width:70%}.side-sw > span i:nth-child(3){width:50%}
.side-sw > input:checked + span{box-shadow:0 0 0 3px #2563EB}
.side-sw > input:focus-visible + span{outline:2px solid var(--link);outline-offset:3px}
.side-sw small{text-align:center;line-height:1.2}
.side-sw input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;min-height:0;padding:0}
.shell.side-custom .space-projects a:hover{background:color-mix(in srgb,var(--side) 82%,#fff)}
.bb-space{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:12px 8px 0;border-top:1px solid var(--line2);margin-top:6px}
.bb-space:first-child{border-top:0;margin-top:0}
.bb-grp[hidden],.bb-space[hidden]{display:none}
.bb-copyopts{display:flex;flex-direction:column;gap:4px;padding:8px 2px 2px;border-top:1px solid var(--line2);margin-top:6px}
.top{z-index:30}

/* ---------- encargos entre empresas ---------- */
.order-chip{flex:none;display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;text-decoration:none;white-space:nowrap;background:color-mix(in srgb, var(--oc) 14%, #fff);color:color-mix(in srgb, var(--oc) 85%, #000);border:1px solid color-mix(in srgb, var(--oc) 40%, #fff);max-width:200px;overflow:hidden;text-overflow:ellipsis}
.order-chip:hover{background:color-mix(in srgb, var(--oc) 24%, #fff)}
.t.editing .order-chip{display:none}
.ord-st{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--oc);color:#fff;white-space:nowrap}
.ord-tabs{margin:-4px 0 16px}
.ord-pending{background:var(--accent) !important;color:#fff !important}
.ord-badge{background:var(--accent);color:#fff}
.orders-page .card + .card{margin-top:16px}
.ord-group .card-head{margin-bottom:0}
.ord-inbox{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;padding:16px 0;border-top:1px solid var(--line2)}
.ord-inbox:first-of-type{border-top:0}
.ord-title{font-weight:600;font-size:16px;color:var(--ink);text-decoration:none}
.ord-title:hover{color:var(--link)}
.ord-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ord-meta .chip.late{color:var(--err);border-color:#F1C4C4}
.ord-note{margin:8px 0 0;padding:8px 12px;background:#F7F7F9;border-radius:8px;font-size:14px}
.ord-accept{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;align-content:start;background:#FAFAFB;border:1px solid var(--line2);border-radius:10px;padding:12px}
.ord-accept label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);font-weight:600}
.ord-accept label:first-of-type{grid-column:1/-1}
.ord-accept select,.ord-accept input{font:inherit;font-size:14px;padding:7px 8px;border:1px solid #D3D6DD;border-radius:7px;background:#fff;color:var(--ink);min-width:0}
.ord-accept-btns{grid-column:1/-1;display:flex;gap:8px}
.ord-reject{grid-column:1/-1;display:flex;gap:8px}
.ord-reject[hidden]{display:none}
.ord-reject input{flex:1}
.ord-detail .ord-accept{margin-top:16px}
.ord-d-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ord-d-head h2{margin:4px 0 2px;font-size:22px}
.ord-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin:18px 0 0}
.ord-dl dt{font-size:12px;color:var(--muted);font-weight:600}
.ord-dl dd{margin:2px 0 0}
.ord-desc{margin-top:16px;padding:12px 14px;background:#F7F7F9;border-radius:8px;font-size:14px;white-space:normal}
.ord-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ord-bill{margin-top:20px;padding-top:16px;border-top:1px solid var(--line2)}
.ord-bill h3{margin:0 0 10px;font-size:15px}
.ord-bill-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;align-items:end}
.ord-bill-grid label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);font-weight:600}
.ord-bill-grid input,.ord-bill-grid select{font:inherit;font-size:14px;padding:7px 8px;border:1px solid #D3D6DD;border-radius:7px}
.ord-bill-grid .check-inline{flex-direction:row;align-items:center;padding-bottom:8px}
.ord-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ord-thread li{padding:8px 12px;background:#F2F4FF;border-radius:8px;font-size:14px}
.ord-thread li.sys{background:none;padding:0 2px;color:var(--muted);font-size:13px}
.ord-thread li time{margin-left:4px}
.ord-thread.mini{margin:10px 0 12px}
.ord-thread.mini li{font-size:13px;padding:6px 10px}
.ord-note-form{display:flex;gap:8px;margin-top:14px;align-items:flex-end}
.ord-note-form textarea{flex:1;font:inherit;font-size:14px;padding:8px 10px;border:1px solid #D3D6DD;border-radius:8px;resize:vertical}
.ord-toolbar,.ord-filters{margin-bottom:12px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ord-filters label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2)}
.ord-filters select{font:inherit;font-size:14px;padding:6px 8px;border:1px solid #D3D6DD;border-radius:7px;background:#fff}
.ord-totals{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.ord-totals > div{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 16px;display:flex;flex-direction:column;min-width:120px}
.ord-totals strong{font-size:20px}
.ord-totals .warn strong{color:var(--err)}
.ord-empty{padding:18px;margin:0}
.ord-bill-table .ob{font:inherit;font-size:13px;padding:5px 6px;border:1px solid transparent;border-radius:6px;background:transparent;max-width:160px}
.ord-bill-table .ob:hover,.ord-bill-table .ob:focus{border-color:#D3D6DD;background:#fff}
.ord-bill-table .ob-n{width:76px}
.ord-bill-table .ob.saving{border-color:#F59E0B}.ord-bill-table .ob.saved{border-color:#22C55E}.ord-bill-table .ob.bad{border-color:var(--err)}
.ord-inv-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}
.ord-inv-bar label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px}
.ord-inv-bar input{font:inherit;padding:7px 9px;border:1px solid #D3D6DD;border-radius:7px}
.ord-tariff-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ord-tariff-row input[name=name]{flex:1 1 260px;font:inherit;padding:7px 9px;border:1px solid #D3D6DD;border-radius:7px}
.ord-tariff-row input[name=price]{width:90px;font:inherit;padding:7px 9px;border:1px solid #D3D6DD;border-radius:7px}
.ord-tariff-row select{font:inherit;padding:7px 8px;border:1px solid #D3D6DD;border-radius:7px}
.ord-tariffs td{padding-top:8px;padding-bottom:8px}
.ord-card{border-left:4px solid var(--oc, var(--accent))}
.ord-card h2{display:flex;align-items:center;gap:6px;font-size:15px}
.ord-card-st{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0}
.ord-new summary{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:6px}
.ord-new[open] summary{margin-bottom:12px}
.small-btn{min-height:32px;padding:6px 12px;font-size:13px}
@media (max-width: 800px){.ord-inbox{grid-template-columns:1fr}.ord-bill-grid{grid-template-columns:1fr 1fr}}

/* ---------- vistas Gantt y Calendario ---------- */
.tl{--lw:420px;margin-top:4px}
.tl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.tl-btn{min-height:34px;padding:5px 12px;font-size:13px}
.tl-btn.is-late strong{color:var(--err)}
.tl-who select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #D3D6DD;border-radius:8px;background:#fff;min-height:34px}
.tl-uns{white-space:nowrap}
.tl-hint{margin-left:auto}
.tl-spacer{flex:1}
.seg button.on{background:var(--ink);color:#fff}
body.tl-dragging,body.tl-dragging *{user-select:none;cursor:grabbing !important}

.gt{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.gt-scroll{overflow:auto;max-height:calc(100vh - 230px);min-height:320px;position:relative}
.gt-inner{width:calc(var(--lw) + var(--W));position:relative}
.gt-head{display:flex;position:sticky;top:0;z-index:5;background:#FAFAFB;border-bottom:1px solid var(--line)}
.gl-cell{position:sticky;left:0;z-index:3;width:var(--lw);flex:none;display:flex;align-items:center;gap:8px;padding:0 12px 0 calc(14px + var(--d,0) * 22px);background:var(--card);border-right:1px solid var(--line);box-sizing:border-box;min-width:0}
.gl-head{background:#FAFAFB;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:600;z-index:6}
.gl-head span:last-child{width:84px}
.gt-scale{position:relative;z-index:0;width:var(--W);height:52px;flex:none;overflow:hidden}
.gs-top,.gs-bot{position:absolute;left:0;right:0;height:26px}
.gs-top{top:0}.gs-bot{top:26px;border-top:1px solid var(--line2)}
.gs-cell{position:absolute;top:0;height:26px;border-left:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink2);overflow:hidden}
.gs-cell span{position:sticky;left:calc(var(--lw) + 8px);display:inline-block;padding:5px 8px;white-space:nowrap;text-transform:capitalize}
.gs-day{position:absolute;top:0;height:26px;font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:2px;border-left:1px solid var(--line2);box-sizing:border-box;white-space:nowrap;overflow:hidden}
.gs-day small{font-size:9px;opacity:.7}
.gs-day.is-today{background:var(--accent);color:#fff;font-weight:700;border-radius:4px}
.gt-body{position:relative}
.gt-grid{position:absolute;top:0;bottom:0;left:var(--lw);width:var(--W);pointer-events:none;z-index:0}
.gt-grid .gl{position:absolute;top:0;bottom:0;width:1px;background:var(--line2)}
.gt-grid .gl-m{background:var(--line)}
.gt-grid .gw{position:absolute;top:0;bottom:0;background:rgba(15,23,42,.025)}
.gt-grid .g-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#EF4444;z-index:2}
.gr{display:flex;height:36px;border-bottom:1px solid var(--line2);position:relative}
.gr:hover .gl-cell,.gr:hover .gt-track{background-color:rgba(37,99,235,.03)}
.gr:hover .gl-cell{background:#F7F8FB}
.gr-g{height:38px;background:#FAFAFB}
.gr-g .gl-cell{background:#FAFAFB;font-size:13px;text-transform:uppercase;letter-spacing:.02em;padding-left:8px}
.gr-g strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gr-fold{border:0;background:none;padding:4px;cursor:pointer;color:var(--muted);transform:rotate(90deg);transition:transform .15s}
.gr-fold[aria-expanded=false]{transform:none}
.gr-dot{width:10px;height:10px;border-radius:3px;background:var(--lc);flex:none}
.gr-n{font-size:11px;color:var(--muted);background:var(--todo-bg);border-radius:999px;padding:0 7px}
.g-st{width:13px;height:13px;border-radius:50%;border:2px dashed var(--sc);flex:none;box-sizing:border-box}
.g-st.done{border:0;background:#22C55E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/9px no-repeat}
.g-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);text-decoration:none;font-size:13.5px}
.g-title:hover{color:var(--link)}
.is-done .g-title{color:var(--muted)}
.g-due{width:84px;flex:none;font-size:12.5px}
.g-due.late{color:var(--err)}.g-due.ok{color:#16A34A}
.gt-track{position:relative;width:var(--W);flex:none;z-index:1}
.gt-track.ed.empty{cursor:pointer}
.g-nodate{position:sticky;left:calc(var(--lw) + 12px);top:0;display:inline-block;line-height:36px;font-size:9px;color:#F59E0B}
.g-bar{position:absolute;top:8px;height:20px;border-radius:5px;background:color-mix(in srgb, var(--c) 45%, #fff);border:1px solid color-mix(in srgb, var(--c) 70%, #fff);box-sizing:border-box;cursor:pointer}
.g-bar.done{background:color-mix(in srgb, #22C55E 35%, #fff)}
.g-bar.thin{top:6px;height:24px;width:4px !important;border-radius:2px;background:var(--c);border:0}
.gt-track.ed .g-bar{cursor:grab}
.g-bar.dragging{box-shadow:0 4px 14px rgba(15,23,42,.18);z-index:4}
.g-bar.dragging::after,.g-ghost[data-tip]::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:0;background:#15171C;color:#fff;font-size:11.5px;padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none}
.gh{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize}
.gh-l{left:-2px}.gh-r{right:-2px}
.g-bar:hover .gh::before{content:'';position:absolute;top:4px;bottom:4px;left:2px;width:3px;border-radius:2px;background:color-mix(in srgb, var(--c) 85%, #000);opacity:.5}
.g-lbl{position:absolute;top:0;line-height:36px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--ink2);pointer-events:none;text-transform:none}
.g-lbl em{font-style:normal;color:var(--muted);margin-left:6px;font-size:11px}
.g-ghost{position:absolute;top:8px;height:20px;border-radius:5px;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1px dashed var(--accent);pointer-events:none}
.gt-empty-all{padding:30px;text-align:center}

.cal{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.cal-title{margin:0 6px;font-size:17px;text-transform:capitalize;min-width:150px}
.cal-head{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:#FAFAFB}
.cal-head div{padding:8px 10px;font-size:13px;color:var(--ink2);font-weight:600}
.cw{position:relative;display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line)}
.cw:last-child{border-bottom:0}
.cd{position:relative;border-left:1px solid var(--line2)}
.cd:first-child{border-left:0}
.cd.we{background:#FCFCFD}
.cd.out{background:#F8F9FB}.cd.out .cd-n{color:#B6BAC3}
.cd.today{box-shadow:inset 0 0 0 1.5px var(--accent)}
.cd.today .cd-n{color:var(--accent);font-weight:700}
.cd.drop{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.cd-n{position:absolute;right:8px;bottom:6px;font-size:12.5px;color:var(--ink2)}
.cd-add{position:absolute;left:6px;bottom:5px;width:20px;height:20px;border-radius:5px;border:0;background:var(--accent);color:#fff;font-weight:700;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s;z-index:3}
.cd:hover .cd-add,.cd-add:focus{opacity:1}
.cd-more{position:absolute;left:30px;bottom:5px;border:0;background:none;color:var(--link);font:inherit;font-size:12px;cursor:pointer;padding:2px 4px;z-index:3}
.ce{position:absolute;height:22px;line-height:22px;padding:0 8px 0 6px;border-radius:4px;font-size:12px;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;z-index:2;
  background:color-mix(in srgb, var(--lc) 20%, #fff);border-left:3px solid var(--lc);display:flex;align-items:center;gap:5px}
.ce:hover{background:color-mix(in srgb, var(--lc) 32%, #fff);color:var(--ink)}
.ce.ed{cursor:grab}
.ce.done{opacity:.55;text-decoration:line-through}
.ce.late{box-shadow:inset 0 -2px 0 #EF4444}
.ce.cont-l{border-left-style:dashed;border-top-left-radius:0;border-bottom-left-radius:0}
.ce.cont-r{border-top-right-radius:0;border-bottom-right-radius:0}
.ce-st{width:8px;height:8px;border-radius:50%;background:var(--sc);flex:none}
.ce-src{opacity:.35}
.ce-ghost{position:fixed;z-index:1000;max-width:260px;pointer-events:none;box-shadow:0 6px 18px rgba(15,23,42,.2);padding-right:10px}
.cal-week .cd-n{top:6px;bottom:auto}
.cal-week .cd-add{top:4px;bottom:auto;left:auto;right:34px}
.tl-panel{position:fixed;z-index:900;width:340px;max-height:60vh;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.18)}
.tl-panel-h{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--line2)}
.tl-panel-h strong::first-letter{text-transform:uppercase}
.tl-panel-h .icon-btn{margin-left:auto}
.tl-panel-tip{margin:8px 12px 0}
.tl-panel-list{overflow:auto;padding:6px}
.tp-item{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center;padding:6px 8px;border-radius:7px;border-left:3px solid var(--lc);margin:3px 0;background:#FAFAFB}
.tp-item.ed{cursor:grab}
.tp-item a{color:var(--ink);text-decoration:none;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tp-item small{grid-column:2}
.tl-add .form{padding:12px;gap:10px}
.tl-add label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.tl-add input,.tl-add select{font:inherit;font-size:14px;padding:8px 9px;border:1px solid #D3D6DD;border-radius:7px;color:var(--ink)}
@media (max-width: 800px){.tl{--lw:220px}.g-due{display:none}.gl-head span:last-child{display:none}.tl-hint{display:none}.cal-head div{font-size:11px;padding:6px 4px;overflow:hidden}.ce{font-size:11px}}

/* ---------- salas: planificador horizontal ---------- */
.rooms-page .page-head{margin-bottom:10px}
.rp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.rp-btn{min-height:34px;padding:5px 12px;font-size:13px}
.rp-title{margin:0 4px;font-size:17px;text-transform:capitalize;min-width:170px}
.rp-date{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #D3D6DD;border-radius:8px;min-height:34px}
.rp-filters select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #D3D6DD;border-radius:8px;min-height:34px;background:#fff;max-width:220px}
.rp-search input{font:inherit;font-size:13px;padding:7px 10px;border:1px solid #D3D6DD;border-radius:8px;width:340px;max-width:100%}
.rp-groups{display:flex;flex-wrap:wrap;gap:4px}
.rp-gchip{font:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid var(--gc);background:var(--gc);color:#fff;cursor:pointer}
.rp-gchip.off{background:#fff;color:var(--ink2);border-color:#D3D6DD;text-decoration:line-through}
.rp-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#FFF7ED;border:1px solid #FED7AA;border-radius:10px;padding:8px 12px;margin-bottom:8px;font-size:14px}
.rp-banner .icon-btn{margin-left:auto}
.rp-grid{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.rp-scroll{overflow:auto;max-height:calc(100vh - 250px);min-height:340px;position:relative}
.rp-inner{width:calc(var(--lw) + var(--W));position:relative}
.rp-head{display:flex;position:sticky;top:0;z-index:6;background:#FAFAFB;border-bottom:1px solid var(--line)}
.rr-l{position:sticky;left:0;z-index:4;width:var(--lw);flex:none;box-sizing:border-box;display:flex;align-items:center;gap:7px;padding:0 10px;background:var(--card);border-right:1px solid var(--line);min-width:0;flex-wrap:wrap;align-content:center}
.rp-corner{background:#FAFAFB;z-index:7}
.rp-scale{position:relative;width:var(--W);height:50px;flex:none;overflow:hidden;z-index:0}
.rs-top,.rs-bot{position:absolute;left:0;right:0;height:25px}
.rs-bot{top:25px;border-top:1px solid var(--line2)}
.rs-cell{position:absolute;top:0;height:25px;line-height:25px;padding:0 6px;font-size:12px;font-weight:600;color:var(--ink2);border-left:1px solid var(--line);box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}
.rs-cell small{font-weight:400;color:var(--muted);text-transform:none}
.rs-day.is-today{background:var(--accent);color:#fff}.rs-day.is-today small{color:#fff}
.rs-day.is-we{color:var(--muted)}
.rs-hour{position:absolute;top:0;height:25px;line-height:25px;padding-left:3px;font-size:10.5px;color:var(--muted);white-space:nowrap;border-left:1px solid var(--line2)}
.rp-body{position:relative}
.rp-lines{position:absolute;top:0;bottom:0;left:var(--lw);width:var(--W);pointer-events:none;z-index:0}
.rp-lines .rl{position:absolute;top:0;bottom:0;width:1px;background:#EEF0F3}
.rp-lines .rl-f{background:#F5F6F8}
.rp-lines .rl-d{background:#D9DCE2}
.rp-lines .rw{position:absolute;top:0;bottom:0;background:rgba(15,23,42,.03)}
.rp-lines .r-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#EF4444;z-index:3}
.rg{display:flex;height:30px;background:#F3F4F7;border-bottom:1px solid var(--line)}
.rg .rr-l{background:#F3F4F7;font-size:12px;text-transform:uppercase;letter-spacing:.03em;flex-wrap:nowrap}
.rg .rr-dot{background:var(--gc)}
.rg .rr-t{position:relative;width:var(--W);flex:none}
.rg-fold{border:0;background:none;padding:3px;cursor:pointer;color:var(--muted);transform:rotate(90deg);transition:transform .15s}
.rg-fold[aria-expanded=false]{transform:none}
.rr{display:flex;border-bottom:1px solid var(--line2);position:relative}
.rr.drop .rr-t{background:color-mix(in srgb,var(--accent) 7%,transparent)}
.rr .rr-t{position:relative;width:var(--W);flex:none;z-index:1}
.rr:hover .rr-l{background:#F7F8FB}
.rr-dot{width:10px;height:10px;border-radius:3px;flex:none}
.rr-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.rr-person{color:#2563EB;font-size:9px;margin-right:4px;vertical-align:2px}
.rr-l small{flex-basis:100%;padding-left:17px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb{position:absolute;box-sizing:border-box;border-radius:5px;background:var(--bc);color:#fff;font-size:11.5px;line-height:1.25;padding:3px 6px;overflow:hidden;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.12);display:flex;flex-direction:column;justify-content:center}
.rb.ed{cursor:grab}
.rb-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.rb small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85;font-size:10.5px}
.rb-task{font-size:9px;margin-right:4px;opacity:.85}
.rb.prov{background:repeating-linear-gradient(135deg, var(--bc) 0 10px, color-mix(in srgb, var(--bc) 55%, #fff) 10px 20px)}
.rb.conflict{outline:2px solid #EF4444;outline-offset:-1px}
.rb.mine{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}
.rb.dragging{z-index:5;box-shadow:0 6px 16px rgba(15,23,42,.25);opacity:.92}
.rb.dragging::after,.r-sel::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 4px);background:#15171C;color:#fff;font-size:11px;padding:3px 7px;border-radius:5px;white-space:nowrap}
.rb.dragging{overflow:visible}
.rh{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize;z-index:2}
.rh-l{left:0}.rh-r{right:0}
.rb:hover .rh{background:rgba(255,255,255,.35)}
.r-sel{position:absolute;top:3px;bottom:3px;border-radius:5px;background:color-mix(in srgb,var(--accent) 20%,transparent);border:1.5px dashed var(--accent);pointer-events:none}
.rp-empty{padding:30px;text-align:center}
body.rp-dragging,body.rp-dragging *{user-select:none;cursor:grabbing !important}
.rp-tip{position:fixed;z-index:1000;max-width:360px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.18);padding:12px 14px;pointer-events:none;font-size:13px}
.rp-tip-t{font-weight:700;font-size:15px;margin-bottom:3px}
.rp-tip-d{color:var(--ink2);margin-bottom:6px}
.rp-tip p{margin:3px 0}
.rp-tip-warn{color:var(--err);font-weight:600}
.rp-tip-r{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px}
.r-chip{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--rc);color:#fff;margin:0 4px 4px 0}
.r-chip.prov{background:repeating-linear-gradient(135deg,#94A3B8 0 6px,#CBD5E1 6px 12px);color:#111}
.rp-modal-wrap{position:fixed;inset:0;z-index:950;background:rgba(15,23,42,.38);display:flex;align-items:flex-start;justify-content:center;padding:60px 16px;overflow:auto}
.rp-modal{position:relative;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.3);padding:24px 26px;width:min(720px,100%)}
.rp-modal h2{margin:0 30px 14px 0;font-size:21px}
.rp-x{position:absolute;top:14px;right:14px}
.rpd{display:grid;grid-template-columns:1fr 170px;gap:20px}
.rpd-when{font-size:16px;margin:0 0 14px}
.rpd-f{margin-bottom:12px}
.rpd-f > span{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
.rpd-notes{white-space:pre-wrap}
.rpd-acts{display:flex;flex-direction:column;gap:8px;margin-top:30px}
.rpd-acts .btn{width:100%}
.rpd-dup{display:flex;flex-direction:column;gap:4px}
.rpd-dup input{font:inherit;font-size:13px;padding:6px;border:1px solid #D3D6DD;border-radius:7px}
.rpe label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.rpe input,.rpe select,.rpe textarea{font:inherit;font-size:14px;padding:8px 9px;border:1px solid #D3D6DD;border-radius:7px;color:var(--ink);font-weight:400}
.rpe-when{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.rpe-when label{flex:1 1 120px}
.rpe-st{align-self:flex-end}
.rpe-ress{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0}
.rpe-ress legend{font-size:12px;font-weight:600;color:var(--muted);padding:0 4px}
.rpe-grp{display:flex;gap:10px;align-items:flex-start;padding:5px 0}
.rpe-grp > span{flex:0 0 130px;font-size:12px;font-weight:600;color:var(--ink2);border-left:3px solid var(--gc);padding-left:6px}
.rpe-grp > div{display:flex;flex-wrap:wrap;gap:5px}
.rpe-res{flex-direction:row !important;align-items:center;gap:0 !important;cursor:pointer}
.rpe-res input{position:absolute;opacity:0;pointer-events:none}
.rpe-res span{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:7px;border:1.5px solid var(--rc);color:var(--ink)}
.rpe-res input:checked + span{background:var(--rc);color:#fff}
.rpe-res input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.rpe-task{background:#FAFAFB;border:1px solid var(--line2);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.rpe-chip{margin:0;font-size:14px}
.rpe-results{max-height:200px;overflow:auto;display:flex;flex-direction:column;gap:2px;margin-top:6px}
.rpe-r{text-align:left;border:0;background:#fff;border-radius:7px;padding:6px 9px;cursor:pointer;font:inherit;display:flex;flex-direction:column}
.rpe-r:hover{background:#EEF2FF}
.rpe-r small{color:var(--muted)}
.rpe-warn{margin:0;color:#B45309;background:#FFFBEB;border:1px solid #FDE68A;border-radius:8px;padding:8px 10px;font-size:13px}
.link-btn{border:0;background:none;color:var(--link);cursor:pointer;font:inherit;font-size:13px;padding:0 4px}
.rp-pop{position:fixed;z-index:960;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.18);padding:12px;width:300px}
.rp-pop.wide{width:420px;max-height:70vh;display:flex;flex-direction:column}
.rp-set{display:flex;flex-direction:column;gap:10px}
.rp-set label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.rp-set select{font:inherit;font-size:14px;padding:7px;border:1px solid #D3D6DD;border-radius:7px}
.rp-sres{overflow:auto;display:flex;flex-direction:column;gap:2px}
.rp-sr{text-align:left;border:0;background:none;border-radius:7px;padding:7px 9px;cursor:pointer;font:inherit;display:flex;flex-direction:column}
.rp-sr:hover{background:#F3F4F7}
.rp-sr small{color:var(--muted)}
.bk-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}
.bk-list li{display:flex;flex-direction:column}
.bk-list a{color:var(--ink);text-decoration:none}
.rc-group{border-left:4px solid var(--gc)}
.orders-page .card + .card,.rooms-page .card + .card{margin-top:14px}
.rc-ghead{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}
.rc-ghead input,.rc-ghead select,.rc-row input,.rc-row select{font:inherit;font-size:14px;padding:7px 9px;border:1px solid #D3D6DD;border-radius:7px}
.rc-ghead input[type=color],.rc-row input[type=color]{width:40px;height:36px;padding:2px}
.rc-gname{font-weight:700 !important;flex:1 1 220px}
.rc-sort{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}
.rc-sort input,.rc-n{width:64px}
.rc-list{display:flex;flex-direction:column;gap:6px}
.rc-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 0;border-top:1px solid var(--line2)}
.rc-row input[name=name]{flex:1 1 180px;font-weight:600}
.rc-row input[name=notes]{flex:1 1 160px}
.rc-row.off{opacity:.55}
.rc-row.new{background:#FAFAFB;border-radius:8px;padding:8px}
@media (max-width: 800px){.rpd{grid-template-columns:1fr}.rp-search input{width:100%}.rpe-grp{flex-direction:column}.rpe-grp > span{flex:none}}

/* ---------- importar CSV ---------- */
.csv-page .crumb{margin-bottom:6px}
.csv-drop{display:block;border:2px dashed #CBD0D8;border-radius:12px;padding:30px;text-align:center;cursor:pointer;background:#FAFAFB;transition:background .15s,border-color .15s}
.csv-drop:hover,.csv-drop.over{border-color:var(--accent);background:#FFF7ED}
.csv-drop.has{border-style:solid;border-color:#16A34A;background:#F0FDF4}
.csv-drop input{position:absolute;width:1px;height:1px;opacity:0}
.csv-drop span{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--ink2)}
.csv-up textarea{width:100%;font:inherit;font-size:13px;padding:8px;border:1px solid #D3D6DD;border-radius:8px;margin-top:6px;box-sizing:border-box}
.csv-sum{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.csv-table td{vertical-align:top}
.csv-ex{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--ink2);max-width:320px}
.csv-ex span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.csv-target{display:flex;flex-direction:column;gap:6px;min-width:240px}
.csv-target select,.csv-target input{font:inherit;font-size:14px;padding:7px 9px;border:1px solid #D3D6DD;border-radius:7px}
.csv-new{display:flex;gap:6px}
.csv-new[hidden]{display:none}
.csv-new input{flex:1;min-width:0}
.csv-preview summary{cursor:pointer;font-size:14px}
.csv-preview td{font-size:12.5px;white-space:nowrap}
.csv-preview .csv-h td{font-weight:700;background:#FAFAFB}
.sheet-csv{opacity:.7}.sheet-csv:hover{opacity:1}
.card.csv-map{padding:18px}.csv-map > .table-wrap{border:1px solid var(--line2);border-radius:10px}

/* ---------- salas: vistas por sala / superpuesto / mes / agenda ---------- */
.rp-layouts button{font-weight:600}
.rp-ndays{display:inline-flex;align-items:center}
.rp-ndays select{font:inherit;font-size:13px;border:0;background:transparent;padding:5px 6px;color:var(--ink2);cursor:pointer;height:100%}
.rp-ndays.on{background:var(--ink)}.rp-ndays.on select{color:#fff}
.rp-ndays.on select option{color:var(--ink)}
.rv,.mv,.ag{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.rv-scroll{overflow:auto;max-height:calc(100vh - 250px);min-height:380px;position:relative}
.rv-inner{position:relative}
.rv-head{display:flex;position:sticky;top:0;z-index:6;background:#FAFAFB;border-bottom:1px solid var(--line)}
.rv-corner{width:var(--gut);flex:none;position:sticky;left:0;background:#FAFAFB;z-index:7;border-right:1px solid var(--line)}
.rvh-row{display:flex}
.rvh-res{flex:none;box-sizing:border-box;padding:8px 10px 6px;border-left:1px solid var(--line);border-top:3px solid var(--rc);display:flex;align-items:baseline;gap:8px;overflow:hidden}
.rvh-res span{font-weight:700;color:var(--rc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;filter:brightness(.8)}
.rvh-res small{color:var(--muted);white-space:nowrap}
.rvh-day{flex:none;box-sizing:border-box;padding:4px 8px;border-left:1px solid var(--line2);display:flex;align-items:baseline;gap:5px;font-size:12px;color:var(--ink2);white-space:nowrap;overflow:hidden;cursor:default}
.rvh-day b{font-size:16px;color:var(--ink)}
.rvh-day.is-today b{color:#fff;background:var(--accent);border-radius:6px;padding:0 5px}
.rvh-day.is-we{color:var(--muted)}
.rv-body{display:flex}
.rv-gut{width:var(--gut);flex:none;position:sticky;left:0;z-index:4;background:var(--card);border-right:1px solid var(--line)}
.rv-gut div{box-sizing:border-box;font-size:11px;color:var(--muted);text-align:right;padding:2px 7px 0 0;border-top:1px solid var(--line2)}
.rv-cols{display:flex;position:relative}
.vc{flex:none;position:relative;box-sizing:border-box;border-left:1px solid var(--line2);
  background-image:linear-gradient(to bottom, #E6E8EC 1px, transparent 1px),linear-gradient(to bottom, #F3F4F6 1px, transparent 1px);
  background-size:100% var(--pxh),100% calc(var(--pxh) / 2)}
.vc.we{background-color:#FBFBFC}
.vc.today{background-color:#FFFBF7}
.vc.res-end{border-right:2px solid var(--line)}
.vb{position:absolute;box-sizing:border-box;border-radius:5px;background:color-mix(in srgb, var(--bc) 88%, #000);color:#fff;font-size:11.5px;line-height:1.3;padding:3px 6px;overflow:hidden;cursor:pointer;border-left:4px solid color-mix(in srgb, var(--bc) 60%, #000);box-shadow:0 1px 2px rgba(0,0,0,.15);z-index:1;display:flex;flex-direction:column}
.vb.ed{cursor:grab}
.vb-t{font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.vb small{opacity:.88;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10.5px}
.vb-who{font-weight:700}
.vb.prov{background:repeating-linear-gradient(135deg, var(--bc) 0 10px, color-mix(in srgb, var(--bc) 55%, #fff) 10px 20px)}
.vb.conflict{outline:2px solid #EF4444;outline-offset:-1px}
.vb.mine{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}
.vb.cut-t{border-top-left-radius:0;border-top-right-radius:0;border-top:2px dashed rgba(255,255,255,.6)}
.vb.cut-b{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:2px dashed rgba(255,255,255,.6)}
.vb.dragging{z-index:6;opacity:.92;box-shadow:0 8px 20px rgba(15,23,42,.3);overflow:visible}
.vb.dragging::after,.v-sel::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 4px);background:#15171C;color:#fff;font-size:11px;padding:3px 7px;border-radius:5px;white-space:nowrap}
.vh{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}
.vb:hover .vh{background:rgba(255,255,255,.3)}
.v-sel{position:absolute;left:2px;right:2px;border-radius:5px;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1.5px dashed var(--accent);pointer-events:none;z-index:2}
.v-now{position:absolute;left:0;right:0;height:2px;background:#EF4444;z-index:3}
.v-now::before{content:'';position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#EF4444}
.mv-scroll{overflow:auto;max-height:calc(100vh - 250px);min-height:380px}
.mv-inner{display:flex;gap:0}
.mv-inner.single .mg{flex:1}
.mg{flex:none;width:min(820px,85vw);border-right:2px solid var(--line);display:flex;flex-direction:column}
.mg.single{width:auto}
.mg-title{padding:8px 12px;border-top:3px solid var(--rc);font-weight:700;position:sticky;top:0;background:#FAFAFB;z-index:2;border-bottom:1px solid var(--line2)}
.mg-title span{color:var(--rc);filter:brightness(.8)}
.mg-dows{display:grid;grid-template-columns:repeat(7,1fr);background:#FAFAFB;border-bottom:1px solid var(--line)}
.mg-dows div{padding:5px 8px;font-size:12px;color:var(--ink2);font-weight:600;overflow:hidden;white-space:nowrap}
.mg-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));flex:1}
.mc{border-left:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:4px 4px 6px;min-width:0;position:relative;cursor:default}
.mc:nth-child(7n+1){border-left:0}
.mc.we{background:#FCFCFD}
.mc.out{background:#F7F8FA}.mc.out .mc-n{color:#B6BAC3}
.mc.today .mc-n{background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}
.mc.drop{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.mc-n{display:inline-block;font-size:13px;font-weight:600;margin:1px 4px 4px;cursor:pointer}
.mc-list{display:flex;flex-direction:column;gap:3px}
.mchip{font-size:11.5px;line-height:1.35;padding:2px 6px;border-radius:4px;background:color-mix(in srgb, var(--bc) 22%, #fff);border-left:3px solid var(--bc);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;color:var(--ink)}
.mchip.ed{cursor:grab}
.mchip.prov{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--bc) 22%, #fff) 0 6px, #fff 6px 12px)}
.mchip.conflict{box-shadow:inset 0 0 0 1px #EF4444}
.mchip.dragging{position:relative;z-index:9;box-shadow:0 6px 16px rgba(15,23,42,.25)}
.mc-more{font:inherit;font-size:12px;border:0;background:#EEF0F4;border-radius:4px;padding:2px;cursor:pointer;color:var(--ink2)}
.mc-more:hover{background:#E2E5EB}
.ag-scroll{overflow:auto;max-height:calc(100vh - 250px);min-height:300px;padding:6px 16px 16px}
.ag-day h3{display:flex;align-items:center;gap:10px;font-size:14px;text-transform:capitalize;margin:14px 0 6px;color:var(--ink2);position:sticky;top:0;background:var(--card);padding:6px 0;z-index:1}
.ag-day h3 em{font-style:normal;font-size:11px;background:var(--accent);color:#fff;padding:1px 7px;border-radius:999px;text-transform:none}
.ag-n{font-size:22px;color:var(--ink);font-weight:700;min-width:30px}
.ag-row{display:grid;grid-template-columns:150px 220px 1fr;gap:12px;align-items:center;width:100%;text-align:left;font:inherit;background:#fff;border:1px solid var(--line2);border-left:5px solid var(--bc);border-radius:8px;padding:8px 12px;margin:4px 0;cursor:pointer}
.ag-row:hover{background:#F8F9FB}
.ag-row.prov{border-left-style:dashed}
.ag-row.conflict{box-shadow:inset 0 0 0 1px #EF4444}
.ag-time{font-weight:600;font-size:13px;white-space:nowrap}
.ag-res{display:flex;flex-wrap:wrap;gap:2px}
.ag-main{display:flex;flex-direction:column;min-width:0}
.ag-main strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-main small{color:var(--muted)}
.rp-rpick{max-height:55vh;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-top:6px}
.rp-rpick-acts{display:flex;gap:8px}
.rpk-g{display:flex;flex-direction:column;gap:2px}
.rpk-gl{display:flex;align-items:center;gap:6px;font-size:13px;border-left:3px solid var(--rc);padding-left:6px}
.rpk-r{display:flex;align-items:center;gap:7px;font-size:13px;padding:3px 0 3px 22px;cursor:pointer}
.rpk-r input{accent-color:var(--rc)}
@media (max-width: 800px){.ag-row{grid-template-columns:1fr}.mg{width:92vw}}
.rp-rpick label{flex-direction:row !important;align-items:center !important;justify-content:flex-start;gap:7px !important;font-weight:400;color:var(--ink);margin:0}
.rp-rpick input{width:auto !important;margin:0;flex:none}
.rpk-gl strong{font-weight:700}

/* ---------- salas: barra reorganizada en secciones ---------- */
.rp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.rp-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rp-today{font-weight:600}
.rp-arrow{width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:none;font-size:22px;line-height:1;color:var(--ink2);cursor:pointer}
.rp-arrow:hover{background:#EEF0F4;border-color:var(--line)}
.rp-top .rp-title{font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 10px 0 6px;min-width:0;text-transform:none}
.rp-top .rp-title::first-letter{text-transform:uppercase}
.rp-new{min-height:38px;font-weight:700;gap:6px}
.rp-ribbon{display:flex;flex-wrap:wrap;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:6px 6px 8px;margin-bottom:8px;gap:0}
.rp-sec{display:flex;flex-direction:column;gap:4px;padding:2px 12px;border-right:1px solid var(--line2)}
.rp-sec:last-child{border-right:0}
.rp-cap{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-left:2px}
.rp-tiles{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.rp-tile{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;font-weight:500;color:var(--ink2);background:none;border:1px solid transparent;border-radius:8px;padding:6px 10px;cursor:pointer;white-space:nowrap;min-height:34px}
.rp-tile:hover{background:#F2F4F7;color:var(--ink)}
.rp-tile.on{background:#FFF1E8;border-color:#F6C7A8;color:#9A3412;font-weight:700}
.rp-tile svg{flex:none}
.rp-ndays select{font:inherit;font-size:13px;font-weight:inherit;border:0;background:transparent;color:inherit;padding:0 2px;cursor:pointer;-webkit-appearance:auto}
.rp-ndays.on{background:#FFF1E8}
.rp-ndays.on select{color:#9A3412}
.rp-zoom{display:inline-flex;align-items:center;gap:2px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:0 4px 0 8px;min-height:32px;margin-right:4px}
.rp-zoom button{border:0;background:none;font-size:17px;width:28px;height:28px;border-radius:6px;cursor:pointer;color:var(--ink2)}
.rp-zoom button:hover{background:#F2F4F7}
.rp-filterbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#F7F8FA;border:1px dashed #D5D9E0;border-radius:12px;padding:8px 10px;margin-bottom:10px}
.rp-fcap{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin-right:2px}
.rp-filterbar select{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #D3D6DD;border-radius:8px;min-height:34px;background:#fff;max-width:220px}
.rp-filterbar .rp-search input{width:300px;min-height:34px;box-sizing:border-box;background:#fff}
.rp-fsep{width:1px;align-self:stretch;background:#D5D9E0;margin:0 4px}
.rp-respick{display:inline-flex;align-items:center;gap:6px;background:#fff}
.rp-filterbar .rp-gchip{font-size:11.5px;padding:3px 9px}
@media (max-width: 900px){.rp-sec{border-right:0;padding:4px 6px}.rp-filterbar .rp-search input{width:100%}.rp-search{flex:1 1 100%}}

/* formulario de reserva: campos configurables */
.rpe-fields{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0}
.rpe-fields legend{font-size:12px;font-weight:600;color:var(--muted);padding:0 4px}
.rpe-fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rpe-fgrid .span2{grid-column:1/-1}
.rpe-check{flex-direction:row !important;align-items:center;gap:8px !important;color:var(--ink) !important;font-weight:500 !important;font-size:14px !important}
.rpe-check input{width:auto}
.rpd-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.rc-frow textarea{font:inherit;font-size:13px;padding:6px 8px;border:1px solid #D3D6DD;border-radius:7px;flex:1 1 200px}
.rc-frow textarea[hidden]{display:none}
.rc-fields .card-head{margin-bottom:6px}
@media (max-width: 700px){.rpe-fgrid,.rpd-fields{grid-template-columns:1fr}}
.rp-top-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rp-viewset{display:flex;align-items:center;gap:4px}
.rp-viewset .rp-tile{border-color:var(--line);background:#fff}
.rp-ndays{flex-direction:row !important}
.rp-ndays select{display:inline-block;width:auto;min-height:0;height:auto}
.rp-zlvl{font-size:11.5px;font-weight:600;color:var(--ink2);min-width:30px;text-align:center}
.rp-zv{font-size:14px;color:var(--muted);padding:0 2px}
.rp-zoomtoast{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%) scale(.96);background:rgba(21,23,28,.86);color:#fff;font-weight:700;font-size:15px;padding:10px 18px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:990}
.rp-zoomtoast.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.rb.tall{justify-content:flex-start;padding-top:6px;font-size:12.5px;gap:1px}.rb.tall small{font-size:11.5px}

/* ---------- papelera y archivo ---------- */
.trash-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 12px}
.trash-tools input[type=search]{font:inherit;font-size:14px;padding:7px 10px;border:1px solid #D3D6DD;border-radius:8px;min-width:240px}
.trash-list{list-style:none;margin:0;padding:0}
.trash-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line2)}
.trash-list li:first-child{border-top:0}
.trash-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#F1F2F5;color:var(--ink2)}
.trash-ic.k-task{background:#EEF2FF;color:#4338CA}.trash-ic.k-list{background:#ECFEFF;color:#0E7490}.trash-ic.k-project{background:#FFF1E8;color:#C2410C}.trash-ic.k-space{background:#F5F3FF;color:#6D28D9}
.trash-main{display:flex;flex-direction:column;min-width:0}
.trash-main strong,.trash-main a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trash-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.trash-empty{padding:24px;margin:0;text-align:center}
.trash-hint{margin-top:14px}
kbd{font:inherit;font-size:12px;background:#fff;border:1px solid #D3D6DD;border-bottom-width:2px;border-radius:5px;padding:1px 6px}
@media (max-width: 800px){.trash-list li{grid-template-columns:auto 1fr}.trash-when,.trash-acts{grid-column:2}}

/* ---------- iconos de salas ---------- */
.ric{flex:none;vertical-align:-2px}
.rr-ic{width:26px;height:26px;border-radius:7px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--rc) 15%, #fff);color:color-mix(in srgb, var(--rc) 85%, #000);border:1px solid color-mix(in srgb, var(--rc) 30%, #fff)}
.rr-ic.sm{width:20px;height:20px;border-radius:5px}
.rr-l small{padding-left:33px}
.rg-ic{color:var(--gc);display:inline-flex}
.rvh-res .ric{color:var(--rc);align-self:center;filter:brightness(.85)}
.mg-title{display:flex;align-items:center;gap:7px}
.mg-title .ric{color:var(--rc)}
.r-chip .ric{vertical-align:-2px}
.rpe-res span{display:inline-flex;align-items:center;gap:5px}
.rpe-grp > span{display:inline-flex;align-items:center;gap:5px}
.rpk-gl .ric{color:var(--rc)}
.icpick{position:relative}
.icpick summary{list-style:none;width:36px;height:36px;border:1px solid #D3D6DD;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;color:var(--ink)}
.icpick summary::-webkit-details-marker{display:none}
.icpick[open] summary{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}
.icgrid{position:absolute;z-index:20;top:42px;left:0;width:300px;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(15,23,42,.18)}
.icgrid label{cursor:pointer;display:block}
.icgrid input{position:absolute;opacity:0;pointer-events:none}
.icgrid span{display:flex;flex-direction:column;align-items:center;justify-content:center;height:40px;border-radius:8px;color:var(--ink2);border:1.5px solid transparent}
.icgrid span:hover{background:#F2F4F7;color:var(--ink)}
.icgrid input:checked + span{border-color:var(--accent);background:#FFF1E8;color:#9A3412}
.icgrid input:focus-visible + span{outline:2px solid var(--accent)}
.ic-inh small{font-size:9px;line-height:1;color:var(--muted)}

/* ---------- salas: cabecera compacta (todo más arriba) ---------- */
.rooms-page{gap:6px;padding-top:12px}
.rooms-page .page-head{align-items:center;margin:0}
.rooms-page .page-head h1{font-size:21px;margin:0;letter-spacing:-.01em}
.rooms-page .page-head .seg a{padding:4px 10px}
.rooms-page .rp-top{margin-bottom:4px;gap:8px}
.rooms-page .rp-top .rp-title{font-size:19px;margin:0 6px 0 2px}
.rooms-page .rp-arrow{width:30px;height:30px}
.rooms-page .rp-btn,.rooms-page .rp-new,.rooms-page .rp-date{min-height:32px}
.rooms-page .rp-new{padding:5px 12px}
.rooms-page .rp-ribbon{padding:3px 4px;margin-bottom:4px;border-radius:10px}
.rooms-page .rp-sec{flex-direction:row;align-items:center;gap:6px;padding:0 10px}
.rooms-page .rp-cap{font-size:9.5px;line-height:1.15;max-width:80px;white-space:normal}
.rooms-page .rp-tile{min-height:30px;padding:4px 9px}
.rooms-page .rp-filterbar{padding:4px 8px;margin-bottom:6px;gap:6px;border-radius:10px}
.rooms-page .rp-filterbar select,.rooms-page .rp-filterbar .rp-search input{min-height:30px;padding-top:4px;padding-bottom:4px}
.rooms-page .rp-banner{margin-bottom:6px;padding:5px 10px}
.rooms-page .rp-scroll,.rooms-page .rv-scroll,.rooms-page .mv-scroll,.rooms-page .ag-scroll{max-height:calc(100vh - 205px)}

/* ---------- turnos por sala ---------- */
.rr.rsr{height:22px;border-bottom:1px dashed var(--line2);background:color-mix(in srgb, var(--rc) 4%, #fff)}
.rsr-l{font-size:11px;color:var(--muted);padding-left:44px !important;flex-wrap:nowrap !important}
.rsr-l span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsr .rr-t{cursor:copy}
.sb{position:absolute;top:3px;height:16px;border-radius:8px;box-sizing:border-box;background:color-mix(in srgb, var(--bc) 18%, #fff);border:1.5px solid color-mix(in srgb, var(--bc) 70%, #fff);color:color-mix(in srgb, var(--bc) 80%, #000);font-size:10.5px;font-weight:700;line-height:13px;padding:0 7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;cursor:pointer}
.sb.ed{cursor:grab}
.sb span{position:relative}
.sb.conflict,.vsb.conflict{border-color:#EF4444;background:#FEE2E2;color:#B91C1C}
.sb.dragging{z-index:5;box-shadow:0 4px 10px rgba(15,23,42,.2);overflow:visible}
.sb.dragging::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 4px);background:#15171C;color:#fff;font-size:11px;padding:3px 7px;border-radius:5px;white-space:nowrap}
.vs{position:absolute;top:0;bottom:0;width:16px;background:color-mix(in srgb, var(--rc) 6%, #fff);border-left:1px dashed var(--line);cursor:copy;z-index:2}
.vsb{position:absolute;left:1px;right:1px;border-radius:7px;background:color-mix(in srgb, var(--rc) 22%, #fff);border:1.5px solid color-mix(in srgb, var(--rc) 70%, #fff);color:color-mix(in srgb, var(--rc) 80%, #000);cursor:grab;overflow:hidden;display:flex;align-items:flex-start;justify-content:center;box-sizing:border-box}
.vsb span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:700;padding:4px 0;white-space:nowrap}
.vsb.dragging{z-index:6;box-shadow:0 4px 10px rgba(15,23,42,.2);overflow:visible}
.vsb.dragging::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 4px);background:#15171C;color:#fff;font-size:11px;padding:3px 7px;border-radius:5px;white-space:nowrap;writing-mode:horizontal-tb}
.vs .v-sel{left:0;right:0}
em.inh{font-style:normal;font-size:11px;color:var(--muted);font-weight:500}
.sh-rep{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.sh-modal{width:min(620px,100%)}

/* ---------- salas: ajustes finos de la barra ---------- */
.rooms-page .rp-today{background:linear-gradient(#FFF7F1,#FFE9DA);border-color:#F3B48C;color:#9A3412;font-weight:700;box-shadow:0 1px 2px rgba(154,52,18,.12),0 2px 6px color-mix(in srgb,var(--accent) 12%,transparent)}
.rooms-page .rp-today:hover{background:linear-gradient(#FFEFE3,#FFDCC4);color:#7C2D12;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 22%,transparent)}
.rooms-page .rp-ribbon{background:none;border:0;padding:0;gap:18px}
.rooms-page .rp-sec{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:3px 10px;border-right:1px solid var(--line)}
.rooms-page .rp-sec:last-child{border-right:1px solid var(--line)}
.rooms-page .rp-cap{font-size:11px;font-weight:800;color:var(--ink);letter-spacing:.06em;max-width:none;white-space:nowrap;margin-right:2px}
.rooms-page .rp-ribbon{gap:6px 18px}.rooms-page .rp-sec .rp-tile{padding:4px 7px;gap:5px}.rooms-page .rp-sec{padding:3px 8px}
.rooms-page .rp-sec .rp-tiles{gap:0}.rooms-page .rp-sec .rp-tile{padding:4px 6px}.rooms-page .rp-ribbon{flex-wrap:wrap}

/* ---------- inicio: espacios plegables y portadas en las tarjetas ---------- */
.home-space{margin:0}
.home-space > summary{list-style:none;cursor:pointer;user-select:none;margin-bottom:12px}
.home-space > summary::-webkit-details-marker{display:none}
.hs-chev{display:inline-flex;color:var(--muted);transition:transform .15s;margin-right:-2px}
.home-space[open] .hs-chev{transform:rotate(90deg)}
.hs-count{font-size:12px;font-weight:600;color:var(--muted);background:var(--todo-bg);border-radius:999px;padding:1px 9px}
.home-space:not([open]) > summary{margin-bottom:0;opacity:.8}
.home-space > summary:hover .hs-chev{color:var(--ink)}
.proj-card{overflow:hidden}
.proj-card.has-cover{padding:0}
.proj-card .pc-body{display:flex;flex-direction:column;gap:6px}
.proj-card.has-cover .pc-body{padding:12px 16px 16px}
.pc-cover{display:block;height:110px;background:var(--cv) center var(--cpos,50%)/cover no-repeat;border-bottom:1px solid var(--line2);position:relative}
.pc-cover.fit{background:#111 }
.pc-cover.fit::before{content:'';position:absolute;inset:0;background:var(--cv) center/cover;filter:blur(14px) brightness(.7);transform:scale(1.15)}
.pc-cover.fit::after{content:'';position:absolute;inset:6px;background:var(--cv) center/contain no-repeat}
.pc-cover.fit{overflow:hidden}
.proj-card:hover .pc-cover{filter:brightness(1.05)}
.home-space > summary{font-size:18px;font-weight:700;color:var(--ink)}
.home-space > summary.section-title.space-title{margin:6px 0 14px;padding:2px 0;line-height:1.2}.home-space:not([open]) > summary.section-title.space-title{margin-bottom:4px}.home-space + .home-space{margin-top:6px}

/* ===== Correo (Outlook) ===== */
.mail-page.mail-full{max-width:none;padding:0;gap:0;flex:1;min-height:0}
.mail-app{display:grid;grid-template-columns:230px minmax(300px,380px) 1fr;height:calc(100vh - 63px);min-height:480px;background:#fff;border-top:0}
.ml-side{background:#F7F8FA;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px;padding:14px 10px;overflow:auto}
.ml-box select{width:100%;font:inherit;font-size:13px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.ml-new{width:100%}
.ml-folders{display:flex;flex-direction:column;gap:1px}
.ml-f{display:flex;align-items:center;gap:9px;width:100%;font:inherit;font-size:14px;color:var(--ink2);background:none;border:0;border-radius:7px;padding:7px 9px;cursor:pointer;text-align:left}
.ml-f span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-f b{font-size:12px;color:var(--accent);font-weight:700}
.ml-f:hover{background:#EDEEF2}
.ml-f.on{background:var(--accent-soft);color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}
.ml-f.drop{outline:2px dashed var(--accent);background:#fff}
.ml-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:6px;font-size:12.5px;padding:8px 4px 0;border-top:1px solid var(--line)}
.ml-side-foot a{display:flex;align-items:center;gap:6px;color:var(--ink2);text-decoration:none}
.ml-side-foot a:hover{color:var(--link)}
.ml-mock{background:var(--warn-bg);color:var(--warn);border-radius:6px;padding:6px 8px;line-height:1.35}
.ml-list{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line)}
.ml-list-head{display:flex;align-items:center;gap:6px;padding:12px 12px 4px 16px}
.ml-fname{font-size:18px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-search{display:flex;align-items:center;gap:7px;margin:6px 12px 8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;color:var(--muted);background:#fff}
.ml-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ml-search input{flex:1;border:0;outline:0;font:inherit;font-size:14px;padding:8px 0;background:none;min-width:0}
.ml-items{list-style:none;margin:0;padding:0;overflow:auto;flex:1;border-top:1px solid var(--line2)}
.ml-it{display:grid;grid-template-columns:34px 1fr auto;gap:10px;padding:10px 12px 10px 14px;border-bottom:1px solid var(--line2);cursor:pointer;position:relative}
.ml-it:hover{background:#F7F8FA}
.ml-it.on{background:var(--accent-soft)}
.ml-it.unread::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}
.ml-it:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.ml-av{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:hsl(var(--h) 45% 28%);background:hsl(var(--h) 60% 90%);flex:none}
.ml-av.big{width:42px;height:42px;font-size:15px}
.ml-it-main{min-width:0}
.ml-it-top{display:flex;gap:8px;align-items:baseline}
.ml-it-from{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--ink)}
.ml-it-from em{color:var(--late);font-style:normal}
.ml-it-date{font-size:12px;color:var(--muted);white-space:nowrap}
.ml-it-subj{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.ml-it.unread .ml-it-from,.ml-it.unread .ml-it-subj{font-weight:700;color:var(--ink)}
.ml-it.unread .ml-it-date{color:var(--accent);font-weight:600}
.ml-it-prev{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ml-it-ic{display:flex;flex-direction:column;gap:4px;align-items:center;color:var(--muted);padding-top:20px}
.ml-linked{color:#15803D}.ml-flag{color:var(--late)}
.ml-imp{color:var(--late);font-weight:800;margin-right:4px}
.ml-empty{padding:30px 16px;text-align:center;color:var(--muted);font-size:14px}
.ml-more{padding:12px;text-align:center}
.ml-read{overflow:auto;min-width:0;background:#fff}
.ml-read-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#B8BCC6;gap:4px}
.ml-read-empty p{color:var(--muted);margin:0}
.ml-bar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:7px 12px;background:#fff;border-bottom:1px solid var(--line)}
.ml-b{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;color:var(--ink2);background:none;border:1px solid transparent;border-radius:7px;padding:6px 9px;cursor:pointer;text-decoration:none;position:relative;white-space:nowrap}
.ml-b:hover{background:var(--bg);color:var(--ink)}
.ml-b.on{color:var(--late)}
.ml-b.danger:hover{color:var(--err);background:var(--err-bg)}
.ml-b-task{color:#fff;background:var(--accent);font-weight:600}
.ml-b-task:hover{background:#A9380A;color:#fff}
.ml-move select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.ml-sep{width:1px;height:22px;background:var(--line);margin:0 4px}
.ml-backbtn{display:none}
.ml-msg{padding:20px 28px 40px;max-width:980px}
.ml-subj{font-size:21px;margin:0 0 10px;line-height:1.3}
.ml-tasks{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;background:#E8F5EC;color:#14532D;border-radius:7px;padding:5px 10px;margin-bottom:12px}
.ml-tasks a{color:#14532D;font-weight:600}
.ml-head{display:flex;gap:12px;align-items:flex-start;padding-bottom:14px;border-bottom:1px solid var(--line2);margin-bottom:14px}
.ml-head > div{flex:1;min-width:0}
.ml-from{font-size:14.5px;overflow-wrap:anywhere}
.ml-to{margin-top:2px;overflow-wrap:anywhere}
.ml-when{white-space:nowrap}
.ml-atts{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ml-atts li{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:9px;padding:4px 4px 4px 6px;max-width:300px}
.ml-atts li > a:first-child{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);min-width:0}
.ml-att-n{display:flex;flex-direction:column;font-size:13px;min-width:0;overflow:hidden}
.ml-att-n small{color:var(--muted);font-size:11.5px}
.ml-body{width:100%;border:0;display:block;min-height:160px}
.tf-ext{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border-radius:7px;background:#EEF0F3;color:var(--ink2);font-size:10.5px;font-weight:800;letter-spacing:.03em;flex:none}
.mail-connect{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:44px 24px;max-width:620px;margin:20px auto}
.mail-connect h2{margin:0}
.mail-connect-ic{width:68px;height:68px;border-radius:18px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}
.mail-box-add{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:14px}
.mail-box-add label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink2);flex:1;min-width:200px}
.mail-box-add input{font:inherit;padding:8px 10px;border:1px solid #D3D6DD;border-radius:8px}
.mail-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.5}
/* escribir */
.mc-modal{width:min(820px,100%)}
.mc{display:flex;flex-direction:column;gap:0}
.mc-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line2);padding:4px 0}
.mc-row > span{width:58px;font-size:13px;color:var(--muted)}
.mc-row input{flex:1;border:0;outline:0;font:inherit;font-size:14.5px;padding:8px 0;min-width:0;background:none}
.mc-row:focus-within{border-bottom-color:var(--accent)}
.mc-ccbtn{font:inherit;font-size:12.5px;background:none;border:0;color:var(--link);cursor:pointer}
.mc-tools{display:flex;gap:2px;padding:8px 0 4px}
.mc-tools button{font:inherit;font-size:13px;min-width:30px;height:28px;border:1px solid transparent;border-radius:6px;background:none;cursor:pointer;color:var(--ink2)}
.mc-tools button:hover{background:var(--bg);border-color:var(--line)}
.mc-body{min-height:220px;max-height:50vh;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-size:14.5px;line-height:1.55;outline:0}
.mc-body:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.mc-files{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.mc-file{display:inline-flex;align-items:center;gap:4px;background:var(--bg);border-radius:6px;padding:3px 4px 3px 8px;margin:2px}
.mc-file button{border:0;background:none;cursor:pointer;color:var(--muted)}
.mc-tf{border:1px solid var(--line);border-radius:9px;padding:8px 12px;margin:10px 0 0;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.mc-tf legend{font-size:12.5px;color:var(--muted);padding:0 4px}
.mc-task{display:flex;align-items:center;gap:6px;font-size:13.5px;background:#E8F5EC;color:#14532D;border-radius:8px;padding:7px 10px;margin:-4px 0 10px}
.mc-acts{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
/* correo → tarea */
.mt-modal{width:min(600px,100%)}
.mt-modal h2{display:flex;align-items:center;gap:8px}
.mt-src{margin:-6px 0 12px}
.mt-seg{margin-bottom:14px}
.mt-seg button.on{background:var(--ink);color:#fff}
.mt{display:flex;flex-direction:column;gap:12px}
.mt-new,.mt-link{display:flex;flex-direction:column;gap:12px}
.mt label:not(.chk){display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink2)}
.mt input:not([type=checkbox]):not([type=radio]),.mt select{font:inherit;font-size:14px;padding:8px 10px;border:1px solid #D3D6DD;border-radius:8px;background:#fff}
.mt-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mt .chk{display:flex;align-items:center;gap:8px;font-size:14px}
.mt-res{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:9px}
.mt-res li{border-bottom:1px solid var(--line2)}
.mt-res li:last-child{border:0}
.mt-res label{display:flex !important;flex-direction:row !important;align-items:center;gap:10px;padding:8px 12px;cursor:pointer}
.mt-res label:hover{background:#F7F8FA}
.mt-res span{display:flex;flex-direction:column;color:var(--ink);font-size:14px}
.mt-res li.muted{padding:12px}
/* en la tarea */
.te-list,.tf-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.te-list li{border-bottom:1px solid var(--line2)}
.te-list summary{display:grid;grid-template-columns:minmax(90px,170px) 1fr auto;gap:10px;align-items:baseline;padding:9px 2px;cursor:pointer;list-style:none}
.te-list summary::-webkit-details-marker{display:none}
.te-from{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.te-subj{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2)}
.te-body{font-size:13.5px;line-height:1.55;color:var(--ink2);background:#F7F8FA;border-radius:8px;padding:10px 12px;max-height:340px;overflow:auto;overflow-wrap:anywhere}
.te-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0 12px}
.te-acts form{margin-left:auto}
.tf-list li{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line2)}
.tf-main{flex:1;min-width:0;display:flex;flex-direction:column}
.tf-main a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.tf-list .icon-btn svg{transform:rotate(180deg)}
.tf-drop{margin-top:10px}
.tf-drop label{display:flex;align-items:center;justify-content:center;gap:8px;border:1.5px dashed #CDD1D8;border-radius:10px;padding:14px;color:var(--muted);cursor:pointer;font-size:14px}
.tf-drop label:hover,.tf-drop.over label{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.tf-drop input{position:absolute;width:1px;height:1px;opacity:0}
.task-mails .card-head,.task-files .card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.task-mails h2,.task-files h2{display:flex;align-items:center;gap:8px}
@media (max-width:1100px){.mail-app{grid-template-columns:190px minmax(260px,320px) 1fr}.ml-b span{display:none}.ml-b-task span{display:inline}}
@media (max-width:820px){
  .mail-app{grid-template-columns:1fr;height:auto;min-height:calc(100vh - 63px)}
  .ml-side{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}
  .ml-folders{flex-direction:row;overflow:auto;width:100%}.ml-f{width:auto}.ml-side-foot{display:none}
  .mail-app .ml-read{display:none}.mail-app.reading .ml-read{display:block}.mail-app.reading .ml-list,.mail-app.reading .ml-side{display:none}
  .ml-backbtn{display:inline-flex}.ml-msg{padding:16px}
}
.mini-toast a{color:#FDBA8C;font-weight:600;margin-left:6px}
.ml-ic span{display:none}
.ml-ic{padding:7px 8px}
.ml-move{flex-direction:row;font-size:13px}
.mc-row{flex-direction:row}
.mc-row input,.ml-search input{min-height:0;border:0;border-radius:0;padding:8px 0}
.mc-row input:focus,.ml-search input:focus{outline:0}
.mc-files label.btn{flex-direction:row;font-size:13px;color:var(--ink)}
.mc-tf label,.mt .chk{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--ink)}
.mt .chk input{min-height:0}
.tf-drop label{flex-direction:row}
.ml-box select{min-height:0}
.ml-bar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
@media (max-width:1560px){.ml-mid span{display:none}.ml-mid{padding:7px 8px}}
@media (max-width:820px){.ml-side{align-items:center;padding:10px}.ml-new{width:auto;flex:none;min-height:36px}.ml-box{width:100%}.ml-folders{flex-wrap:nowrap}.ml-f{white-space:nowrap}.ml-f span{overflow:visible}}
@media (max-width:820px){.mail-app{grid-template-rows:auto 1fr;align-content:start}.ml-side{align-content:flex-start;gap:8px}}

/* ===== Menú lateral: una sola línea por elemento + modo plegado (solo iconos, como ClickUp) ===== */
.ws-switch{display:flex;align-items:center;gap:2px}
.ws-switch .brand{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.side-toggle{flex:none;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--side-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:.75}
.side-toggle:hover{background:#22252C;color:#fff;opacity:1}
.shell.side-custom .side-toggle:hover{background:color-mix(in srgb,var(--side) 80%,#fff)}
.side-toggle:focus-visible{outline:2px solid #8FA8FF;opacity:1}
.nav-group a,.space-projects a,.nav-proj a{white-space:nowrap;min-width:0}
.nav-proj .np-name,.space-projects a .np-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.space-projects{min-width:0}
#side-tip{position:fixed;z-index:1000;background:#0F1115;color:#fff;font-size:13px;line-height:1.35;padding:6px 10px;border-radius:7px;max-width:340px;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.3);transform:translateY(-50%);white-space:normal}
#side-tip::before{content:"";position:absolute;left:-5px;top:50%;margin-top:-5px;border:5px solid transparent;border-left:0;border-right-color:#0F1115}
#side-fly{position:fixed;z-index:900;width:270px;max-height:min(70vh,560px);overflow:auto;background:var(--side,#15171C);color:var(--side-ink);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.4);padding:8px;display:flex;flex-direction:column;gap:1px}
#side-fly .fly-head{display:flex;align-items:center;gap:8px;font-weight:700;color:#fff;padding:6px 8px 8px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:4px;font-size:14px}
#side-fly .fly-head span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#side-fly .nav-proj{display:flex}
#side-fly .nav-proj a{flex:1;display:flex;align-items:center;gap:4px;color:var(--side-ink);text-decoration:none;padding:7px 10px;border-radius:6px;font-size:14px}
#side-fly .nav-proj a:hover{background:rgba(255,255,255,.1);color:#fff}
#side-fly .nav-proj.on > a{background:rgba(255,255,255,.16);color:#fff}
#side-fly .nav-more,#side-fly .space-empty{display:none}
#side-fly .nav-lock,#side-fly .nav-pin{opacity:.6;flex:none}
@media (min-width:901px){
  html.side-mini .side{flex-basis:64px;width:64px;padding:14px 8px;gap:12px;overflow-x:hidden}
  html.side-mini .side-resizer{display:none}
  html.side-mini .ws-switch{flex-direction:column;gap:6px}
  html.side-mini .ws-switch .brand{justify-content:center;padding:4px;flex:none}
  html.side-mini .brand-text,html.side-mini .brand-chev{display:none}
  html.side-mini .side-toggle{transform:rotate(180deg);width:36px;height:26px}
  html.side-mini .nav-label{font-size:0;height:1px;padding:0;margin:2px 8px 6px;background:rgba(255,255,255,.14)}
  html.side-mini .nav-group a{font-size:0;justify-content:center;padding:10px 0;position:relative;gap:0}
  html.side-mini .nav-group a svg{width:19px;height:19px}
  html.side-mini .nav-group .soon{display:none}
  html.side-mini .nav-badge{position:absolute;top:2px;right:4px;font-size:10px;min-width:16px;height:16px;padding:0 4px;line-height:16px}
  html.side-mini .nav-favs .fav-link{justify-content:center;padding:9px 0}
  html.side-mini .fav-name,html.side-mini .nav-favs .nav-lock{display:none}
  html.side-mini .space summary{justify-content:center;padding:6px 0;gap:0}
  html.side-mini .space summary > :not(.space-chip){display:none !important}
  html.side-mini .space-chip{width:30px;height:30px;font-size:13px;border-radius:8px}
  html.side-mini .space.fly-on summary{background:rgba(255,255,255,.12)}
  html.side-mini .space .space-projects{display:none}
}
.rp-ac{position:fixed;z-index:1001;list-style:none;margin:0;padding:4px;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 12px 30px rgba(15,23,42,.18);max-height:260px;overflow:auto}
.rp-ac li{padding:7px 10px;border-radius:6px;font-size:14px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-ac li:hover,.rp-ac li.on{background:var(--accent-soft);color:var(--ink)}
.sb.copying,.vsb.copying{outline:2px dashed var(--accent);outline-offset:1px;opacity:.9;z-index:6}
.rvh-res{min-width:0;overflow:hidden}
.rvh-res span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvh-res span{flex:0 1 auto}
.rvh-res small{flex:0 100 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sheet-zoom{align-items:center}
.sheet-zoom .sz-lvl{font-size:12.5px;color:var(--ink2);padding:0 8px;min-width:62px;text-align:center;cursor:default;user-select:none;font-variant-numeric:tabular-nums}
.sheet-zoom button:disabled{opacity:.35;cursor:default}
body.sheet-narrow table.grid td,body.sheet-narrow table.grid th{font-size:12.5px}
/* una sola línea siempre en el menú lateral (proyectos incluidos) */
.side .space-projects a,.side .space-projects a .np-name,.side .nav-proj a,.side .nav-proj .np-name{white-space:nowrap !important}
.side .nav-proj .np-name{overflow:hidden;text-overflow:ellipsis;display:block}
/* el botón ⋮ solo ocupa sitio al pasar el ratón (si no, el nombre del espacio se recortaba de más) */
.space summary:not(:hover) .nav-more:not(:focus-visible):not([aria-expanded="true"]){display:none}
.page-pad.rooms-page,.page-pad.wide{max-width:none}
/* cabecera del menú lateral (empresa + plegar) siempre visible al hacer scroll */
.side > .ws-switch{position:sticky;top:-18px;z-index:12;background:var(--side);margin:-18px -12px 0;padding:18px 12px 8px;box-shadow:0 1px 0 rgba(255,255,255,.06)}
@media (min-width:901px){html.side-mini .side > .ws-switch{top:-14px;margin:-14px -8px 0;padding:14px 8px 8px}}

/* ===== Contactos (agenda en tabla) ===== */
.contacts-page{gap:14px}
.tab-n{font-size:11.5px;background:var(--todo-bg);color:var(--ink2);border-radius:999px;padding:0 7px;margin-left:2px}
.ct-app{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:0}
.ct-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ct-search{flex-direction:row;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:0 10px;color:var(--muted);min-width:280px;background:#fff}
.ct-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ct-search input{border:0;outline:0;min-height:36px;padding:0;flex:1;background:none}
.ct-deltog{flex-direction:row;align-items:center;gap:6px;color:var(--ink2)}
.ct-wrap{overflow:auto;max-height:calc(100vh - 290px)}
.ct-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:14px}
.ct-table th{position:sticky;top:0;z-index:3;background:#FAFAFB;text-align:left;font-size:12.5px;font-weight:600;color:var(--ink2);text-transform:uppercase;letter-spacing:.02em;padding:9px 10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;user-select:none}
.ct-table th:hover{color:var(--ink)}
.ct-arr{font-size:9px;margin-left:5px;color:var(--accent)}
.ct-rz{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize}
.ct-table th{position:sticky}
.ct-table th .ct-rz:hover{background:var(--accent)}
.ct-table td{border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);padding:0 10px;height:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;background:#fff}
.ct-table tr:hover td{background:#FAFAFB}
.ct-table .ct-name{position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--line)}
.ct-table th.ct-name{z-index:4}
.ct-open{font:inherit;font-weight:600;color:var(--ink);background:none;border:0;padding:0;cursor:pointer;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-open:hover{color:var(--link);text-decoration:underline}
.ct-c{cursor:text}
.ct-c.editing{padding:0;overflow:visible}
.ct-input{width:100%;height:100%;min-height:37px;border:2px solid var(--accent);border-radius:0;padding:4px 8px;font-size:14px}
textarea.ct-input{position:relative;z-index:5;min-height:90px;background:#fff}
.ct-chk{text-align:center;cursor:default}
.ct-chk input{width:17px;height:17px;min-height:0}
.ct-end{width:40px;border-right:0 !important}
.ct-empty{text-align:center;color:var(--muted);padding:40px !important;white-space:normal !important}
.ct-del td{opacity:.6}
.ct-delb{display:inline-block;margin-left:8px;font-size:11px;color:var(--err);background:var(--err-bg);border-radius:5px;padding:0 6px}
.ct-modal{width:min(760px,100%)}
.ct-modal.ct-small{width:min(460px,100%)}
.ct-card{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.ct-card .span2{grid-column:1 / -1}
.ct-card label > span{display:flex;align-items:center;gap:6px}
.ct-card label.chk{flex-direction:row;align-items:center;gap:8px}
.ct-card input[type=checkbox]{min-height:0;width:18px;height:18px}
.ct-link{text-decoration:none;font-size:13px}
.ct-delnote{background:var(--err-bg);color:var(--err);border-radius:8px;padding:8px 12px}
.ct-confirm{display:flex;flex-direction:column;gap:12px}
.ct-confname{font-size:17px;margin:0}
.ct-cols{list-style:none;margin:0 0 12px;padding:0;border:1px solid var(--line);border-radius:10px;max-height:55vh;overflow:auto}
.ct-cols li{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--line2);background:#fff}
.ct-cols li:last-child{border:0}
.ct-cols label{flex-direction:row;align-items:center;gap:5px}
.ct-cols input[type=checkbox]{min-height:0}
.ct-grip{cursor:grab;color:var(--muted)}
.ct-cn{font-weight:600}
@media (max-width:700px){.ct-card{grid-template-columns:1fr}.ct-search{min-width:0;flex:1}}
.cti-list{max-height:52vh;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px 10px;gap:2px}
.cti-list label[hidden]{display:none}

/* ===== Planning de doblaje ===== */
.dub-page{gap:14px}
.dub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dub-head h1{display:flex;align-items:center;gap:10px;margin:4px 0 0}
.dub-head .crumb{color:var(--muted);text-decoration:none;font-size:14px}
.dub-head .crumb:hover{color:var(--link)}
.dub-plans a{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dub-top{display:flex;align-items:stretch;justify-content:space-between;gap:14px;flex-wrap:wrap}
.dub-kpis{display:flex;gap:10px;flex-wrap:wrap}
.dub-kpis > div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 16px;display:flex;flex-direction:column;min-width:110px}
.dub-kpis b{font-size:22px;line-height:1.15;font-variant-numeric:tabular-nums}
.dub-kpis span{font-size:12.5px;color:var(--muted)}
.dub-kpis > div.warn{border-color:#F5C26B;background:var(--warn-bg)}
.dub-kpis > div.warn b{color:var(--warn)}
.dub-fluzo{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.dub-fluzo label{font-size:12.5px}
.dub-fluzo select,.dub-fluzo input{min-height:38px}
.dub-fluzo small{flex-basis:100%;text-align:right}
.btn.fluzo{background:linear-gradient(135deg,#1E1B4B,#7C3AED);color:#fff;border:0;font-weight:700;box-shadow:0 4px 14px rgba(124,58,237,.35)}
.btn.fluzo:hover{filter:brightness(1.12);color:#fff}
.fluzo-ic{display:inline-block;color:#FDE047;text-shadow:0 0 8px rgba(253,224,71,.8)}
.dub-stale{color:var(--warn)}
.dub-tabs .tab-n.warn{background:var(--warn-bg);color:var(--warn)}
.dub-pane{padding:0;overflow:auto}
.dub-table{width:100%;border-collapse:collapse;font-size:14px}
.dub-table th{position:sticky;top:0;background:#FAFAFB;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--ink2);padding:10px 12px;border-bottom:1px solid var(--line);z-index:1}
.dub-table td{padding:10px 12px;border-bottom:1px solid var(--line2);vertical-align:top}
.dub-table tr:hover td{background:#FCFCFD}
.dub-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.dub-table .num small{display:block;font-size:11px}
.dub-table tfoot td{background:#FAFAFB;font-weight:600}
.dub-table.compact td,.dub-table.compact th{padding:6px 10px}
.dub-role{display:inline-flex;align-items:center;gap:5px;background:#F1EEFD;color:#4C1D95;border-radius:6px;padding:2px 7px;margin:2px 4px 2px 0;font-size:12.5px;white-space:nowrap}
.dub-role b{font-size:11.5px;background:#fff;border-radius:4px;padding:0 4px}
.dub-tk summary{cursor:pointer;font-size:13px;color:var(--ink2);list-style:none}
.dub-tk summary::-webkit-details-marker{display:none}
.dub-tk[open] summary{margin-bottom:6px}
.dub-tk div{font-size:12.5px;line-height:1.5;color:var(--ink2);margin-bottom:4px;max-width:520px}
.dub-ct{font-size:13.5px;min-width:180px}
.dub-nofile{display:inline-block;font-size:12px;color:var(--warn);background:var(--warn-bg);border-radius:5px;padding:1px 7px}
.dub-un td{background:#FFFBEB}
.dub-actor{min-height:34px;width:100%;max-width:240px;padding:5px 9px;font-size:14px}
.dub-un .dub-actor{border-color:#F5C26B;background:#fff}
.dub-list{max-width:520px;line-height:1.5}
.dub-note{padding:10px 14px;margin:0}
.dub-takegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0;font-size:13px}
.dub-take{display:flex;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line2);border-right:1px solid var(--line2)}
.dub-take > b{min-width:34px;color:var(--muted);font-variant-numeric:tabular-nums}
.dub-take span{display:flex;flex-direction:column;gap:2px;min-width:0}
.dub-take i{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dub-take i em{font-style:normal;color:var(--muted);font-size:12px}
.dub-take i.un{color:var(--warn)}
.dub-take.empty{opacity:.45}
.dub-src-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
.dub-src-head p{margin:0;flex-basis:100%}
.dub-src-head .btn.small{flex-direction:row}
.dub-tph{display:flex;align-items:flex-end;gap:8px}
.dub-tph label{font-size:12px}
.dub-tph input{min-height:32px;padding:4px 8px}
.dub-tph input[name=tph]{width:80px}
.dub-src{margin:0;padding:14px 16px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;max-height:65vh;overflow:auto;background:#FAFAFB}
.dub-empty{max-width:760px}
.dub-drop label{flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed #CDD1D8;border-radius:14px;padding:40px 20px;text-align:center;cursor:pointer;color:var(--ink2);font-size:15px}
.dub-drop label:hover,.dub-drop.over label{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.dub-drop input{position:absolute;width:1px;height:1px;opacity:0}
.dub-preview{display:flex;flex-direction:column;gap:14px}
.dub-preview h2{margin:0}
.dub-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.dub-checks li{display:flex;gap:10px;align-items:flex-start;font-size:14px;padding:7px 10px;border-radius:8px}
.dub-checks li > span{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff}
.dub-checks .lv-ok{background:var(--ok-bg)} .dub-checks .lv-ok > span{background:#16A34A}
.dub-checks .lv-warn{background:var(--warn-bg)} .dub-checks .lv-warn > span{background:#D97706}
.dub-checks .lv-error{background:var(--err-bg);color:var(--err)} .dub-checks .lv-error > span{background:var(--late)}
.dub-confirm{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:14px}
.dub-err{color:var(--err);margin:0;font-weight:600}
.dub-pop{position:fixed;z-index:950;width:320px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(15,23,42,.2);padding:12px;display:flex;flex-direction:column;gap:8px}
.dub-pop p{margin:0}
.dub-pop ul{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}
.dub-pop li button{width:100%;text-align:left;font:inherit;font-size:14px;background:none;border:0;border-radius:7px;padding:7px 9px;cursor:pointer}
.dub-pop li button:hover{background:var(--accent-soft)}
.dub-table td:nth-child(4){min-width:230px}
.dub-table th{white-space:nowrap}
.ct-cols-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ct-cols-head p{margin:0}
.ct-cols-all{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2)}
.ct-batch{min-height:36px;padding:5px 9px;font-size:13px;max-width:320px}
.ct-batch[hidden]{display:none}
.ct-bulk{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;background:#FFF7ED;border-bottom:1px solid #FED7AA}
.ct-bulk[hidden]{display:none}
.ct-sel{width:16px;height:16px;min-height:0;margin:0 8px 0 0;vertical-align:-3px;cursor:pointer}
.ct-table tr.ct-on td{background:#FFF7ED}
/* Contactos: cabecera compacta y la tabla ocupa el resto de la pantalla (la barra de desplazamiento horizontal queda a la vista) */
.page-pad.contacts-page{height:calc(100vh - 66px);padding-top:12px;padding-bottom:12px;gap:10px;min-height:420px}
.ct-head{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.ct-head h1{margin:0 0 7px;font-size:22px}
.ct-head .tabs{border-bottom:0}
.ct-head .btn{margin-bottom:6px}
.contacts-page .ct-app{flex:1;min-height:0}
.contacts-page .ct-wrap{flex:1;min-height:0;max-height:none}
/* ⚡ caja del estadillo + Condensador de fluzo */
.dub-fluzo-box{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;flex:1 1 560px;max-width:900px}
.dub-empty .dub-fluzo-box{border:0;padding:0;max-width:none}
.dub-fromscript{margin-bottom:16px;border-color:color-mix(in srgb,var(--accent,#2563eb) 35%,var(--line))}
.dub-fromscript-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line)}
.dub-fromscript-row:first-of-type{border-top:0}
.dub-fromscript-row>span{display:flex;flex-direction:column;gap:2px;flex:1 1 220px;min-width:0}
.dub-fromscript-row small{font-size:12px}
.dub-drop2{flex:1 1 300px;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:2px dashed #CDD1D8;border-radius:12px;padding:16px;text-align:center;cursor:pointer;color:var(--ink2);font-size:14px;position:relative;transition:background .15s,border-color .15s}
.dub-drop2 input{position:absolute;width:1px;height:1px;opacity:0}
.dub-drop2:hover,.dub-drop2.over{border-color:#7C3AED;background:#F5F3FF;color:#5B21B6}
.dub-drop2.has-file{border-style:solid;border-color:#7C3AED;background:#F5F3FF}
.dub-drop2.has-file .dz-file{color:#5B21B6;font-weight:600}
.dub-fz-side{display:flex;flex-direction:column;justify-content:center;gap:8px;min-width:230px}
.dub-fz-side label{font-size:12.5px}
.dub-fz-side select,.dub-fz-side input{min-height:36px}
.dub-fz-side .btn.fluzo{min-height:52px;font-size:16px;border-radius:12px}
.dub-fz-side .btn.fluzo:disabled{filter:grayscale(.7);opacity:.55;cursor:not-allowed;box-shadow:none}
.dub-fz-side small{font-size:12px}
.fz-wrap{position:fixed;inset:0;z-index:1200;background:radial-gradient(circle at 50% 40%,rgba(76,29,149,.55),rgba(5,5,20,.88));display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow:auto;animation:fzIn .25s ease}
@keyframes fzIn{from{opacity:0}to{opacity:1}}
.fz-card{width:min(640px,100%);background:#0E0B1F;color:#EDE9FE;border-radius:20px;padding:26px 28px;box-shadow:0 0 60px rgba(139,92,246,.45),inset 0 0 0 1px rgba(167,139,250,.25);text-align:center}
.fz-card.fz-done.good{box-shadow:0 0 70px rgba(250,204,21,.35),inset 0 0 0 1px rgba(250,204,21,.35)}
.fz-card.fz-done.bad{box-shadow:0 0 60px rgba(239,68,68,.4),inset 0 0 0 1px rgba(239,68,68,.35)}
.fz-title{margin:6px 0 2px;font-size:22px;color:#fff;letter-spacing:.02em}
.fz-step{margin:0 0 12px;color:#C4B5FD;min-height:1.4em;font-size:14.5px}
.fz-box{fill:#151030;stroke:#4C1D95;stroke-width:3}
.fz-tube{stroke:#2E1065;stroke-width:14;stroke-linecap:round;fill:none}
.fz-glow{stroke:#FDE047;stroke-width:5;stroke-linecap:round;fill:none;stroke-dasharray:14 22;filter:drop-shadow(0 0 6px #FACC15);animation:fzFlow .45s linear infinite}
@keyframes fzFlow{to{stroke-dashoffset:-36}}
.fz-core{fill:#FEF9C3;filter:drop-shadow(0 0 14px #FACC15);animation:fzPulse .5s ease-in-out infinite alternate}
.fz-node{fill:#A78BFA;filter:drop-shadow(0 0 6px #8B5CF6)}
@keyframes fzPulse{from{r:7;opacity:.7}to{r:12;opacity:1}}
.fz-card.fz-done .fz-glow{animation-duration:1.6s}
.fz-card.fz-done.bad .fz-glow{stroke:#F87171;filter:drop-shadow(0 0 6px #EF4444)}
.fz-bar{height:6px;border-radius:99px;background:#1E1638;overflow:hidden;margin:0 auto 6px;max-width:360px}
.fz-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#7C3AED,#FACC15);animation:fzBar 3s ease-in-out forwards}
@keyframes fzBar{to{width:100%}}
.fz-card.fz-done .fz-bar{display:none}
.fz-result{text-align:left}
.fz-result:empty{display:none}
.fz-kpis{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:10px 0}
.fz-kpis > div{background:#1A1433;border:1px solid #3B2A73;border-radius:12px;padding:8px 14px;display:flex;flex-direction:column;align-items:center;min-width:96px}
.fz-kpis b{font-size:22px;color:#FDE047}
.fz-kpis span{font-size:12px;color:#C4B5FD}
.fz-kpis .warn b{color:#FDBA74}
.fz-sum{text-align:center;color:#DDD6FE;margin:6px 0 12px}
.fz-warn{background:#3B2A10;color:#FED7AA;border-radius:8px;padding:8px 12px}
.fz-err{background:#3A1214;color:#FECACA;border-radius:8px;padding:8px 12px;font-weight:600}
.fz-result .dub-checks{max-height:38vh;overflow:auto;margin-bottom:12px}
.fz-result .dub-checks li{color:var(--ink)}
.fz-result .row-end{justify-content:center}
@media (prefers-reduced-motion:reduce){.fz-glow,.fz-core,.fz-bar i{animation:none}.fz-bar i{width:100%}}
/* barra de desplazamiento horizontal de cada lista siempre visible (pegada abajo de la pantalla mientras se ve la lista) */
.sheet{overflow:clip}
.grid-wrap.has-hbar{scrollbar-width:none}
.grid-wrap.has-hbar::-webkit-scrollbar{display:none}
.grid-hbar{position:sticky;bottom:0;z-index:6;overflow-x:auto;overflow-y:hidden;height:16px;background:rgba(250,250,251,.96);border-top:1px solid var(--line);backdrop-filter:blur(2px)}
.grid-hbar > div{height:1px}
.grid-hbar[hidden]{display:none}
.sheet-right{margin-left:auto;display:inline-flex;align-items:center;gap:4px}
.sheet-right .sheet-csv,.sheet-right .sheet-cfg{margin-left:0 !important}
.sheet-cols{position:relative}
.sheet-cols-dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.colpick{position:fixed;z-index:900;width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px rgba(15,23,42,.18);padding:8px;display:flex;flex-direction:column;gap:2px}
.colpick h3{font-size:13px;margin:4px 6px 6px;color:var(--ink2)}
.colpick label{flex-direction:row;align-items:center;gap:9px;padding:6px 8px;border-radius:7px;font-size:14px;color:var(--ink);cursor:pointer}
.colpick label:hover{background:#F4F5F7}
.colpick input{min-height:0;width:16px;height:16px}
.colpick .cp-acts{display:flex;gap:6px;border-top:1px solid var(--line2);margin-top:4px;padding-top:8px}
.colpick .cp-acts .btn{flex:1}
.sheet-unlink + .sheet-right{margin-left:4px}
.pe-modal{width:min(620px,100%)}
.pe-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.pe-form .span2{grid-column:1 / -1}
.pe-form p{margin:0}
.link-btn{font:inherit;background:none;border:0;padding:0;color:var(--link);text-decoration:underline;cursor:pointer}
.rpd-tfields{margin-top:6px}
.vb .vb-sum{font-weight:600}
.tp-modal{width:min(720px,100%)}
.tp-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:14px;color:var(--ink2);margin:0 0 14px}
.tp-st{background:var(--sc);color:#fff;border-radius:6px;padding:2px 9px;font-weight:700;font-size:12px;text-transform:uppercase}
.tp-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:14px}
.tp-fields > div{background:#F7F8FA;border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}
.tp-fields span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}
.tp-fields b{font-size:15px;overflow-wrap:anywhere}
.tp-desc{white-space:pre-wrap;font-size:14px;line-height:1.55;background:#FAFAFB;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;max-height:40vh;overflow:auto;margin-bottom:14px}
.desc-label{display:flex;align-items:center;justify-content:space-between;gap:10px}
.desc-wrap.has-desc:not(.editing) textarea,.desc-wrap.has-desc:not(.editing) .drop-hint,.desc-wrap.has-desc:not(.editing) .desc-tip{display:none}
.desc-wrap.editing .desc-preview,.desc-wrap.editing .desc-edit{display:none}
.desc-wrap.has-desc:not(.editing) .desc-preview{border-style:solid;background:#FCFCFD;line-height:1.6;cursor:text}
.desc strong,.tp-desc strong{color:var(--ink);font-weight:700}
.np-modal{width:min(680px,100%)}
.np-lists{border:1px solid var(--line);border-radius:12px;padding:10px 14px 12px;display:flex;flex-direction:column;gap:6px;margin:0}
.np-lists legend{font-size:13px;color:var(--ink2);padding:0 6px}
.np-opt{flex-direction:row !important;align-items:flex-start;gap:9px !important;font-size:14px !important;color:var(--ink) !important;cursor:pointer;padding:5px 0}
.np-opt input{min-height:0;margin-top:3px}
.np-opt span{display:flex;flex-direction:column}
.np-sub{padding:0 0 6px 26px}
.np-sub select{width:100%}
.np-sub p{margin:6px 0 0}
.np-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:600px){.np-2{grid-template-columns:1fr}}

/* barra de filtros de Salas: estable con el panel abierto o plegado */
.rooms-page .rp-filterbar{flex-wrap:wrap;row-gap:6px}
.rooms-page .rp-filterbar .rp-search{flex:0 1 190px;min-width:140px}
.rooms-page .rp-roomsf{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}
.rooms-page .rp-filterbar .rp-search input{width:100%}
.rooms-page .rp-filterbar select{max-width:190px}
.rooms-page .rp-respick{min-width:160px;justify-content:center;white-space:nowrap}
.rooms-page .rp-groups{flex-wrap:nowrap;gap:5px}
.rp-gchip,.rp-filterbar .rp-gchip{border-radius:6px;padding:4px 10px;white-space:nowrap;line-height:1.25}
.rooms-page .rp-filterbar .check-inline{white-space:nowrap}

/* Tablets de sala (enlaces y QR) */
.sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;margin:12px 0;align-items:start}
.sl-card{display:flex;flex-direction:column;gap:10px}
.sl-h{display:flex;align-items:center;gap:8px}
.sl-h h2{margin:0;font-size:17px}
.sl-dot{width:12px;height:12px;border-radius:4px;flex:none}
.sl-qr{width:190px;max-width:100%;align-self:center}
.sl-qr svg{width:100%;height:auto;display:block}
.sl-link input{width:100%;font:12px ui-monospace,Menlo,monospace;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#F7F8FA;color:var(--ink2)}
.sl-acts{display:flex;flex-wrap:wrap;gap:6px}
.sl-acts form{display:inline}
.btn.danger-text{color:#B91C1C}
/* avance de grabación en el planning */
.dub-kpis > div.ok{border-color:#86EFAC;background:#F0FDF4}
.dub-kpis > div.ok b{color:#15803D}
.dub-prog{white-space:nowrap;font-variant-numeric:tabular-nums}
.dub-pbar{display:inline-block;vertical-align:middle;width:54px;height:6px;border-radius:3px;background:#E5E7EB;overflow:hidden;margin-right:6px}
.dub-pbar i{display:block;height:100%;background:#22C55E}
.dub-take.rec{background:#F0FDF4}
.dub-take.rec > b{color:#15803D}
.dub-take i.rec{color:#15803D}
.dub-take i.rec::before{content:"✓ ";font-weight:800}
.rp-hoja{display:inline-flex;align-items:center;gap:5px}
.rooms-page .page-head .actions{display:flex;align-items:center;gap:8px}

/* valor actualizado solo (desde la tablet de sala) */
.cell.synced{animation:gsync 1.5s ease}
tr.just-synced select.status-select{animation:gsync 1.5s ease}
@keyframes gsync{0%{box-shadow:0 0 0 3px #22C55E}100%{box-shadow:0 0 0 0 transparent}}

/* no hace falta / no se graba (planning) */
.dub-kpis > div.skip{border-color:#FCA5A5;background:#FEF2F2}
.dub-skipn{display:block;color:#B91C1C;font-size:11.5px;font-weight:600;white-space:nowrap}
.dub-skipbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;padding:8px 12px;margin:0 0 10px}
.dub-skipc{white-space:nowrap;text-align:right}
.dub-skipbtn{color:#92400E}
tr.dub-nn td{background:#F8FAFC;color:var(--muted)}
tr.dub-nn strong{color:var(--muted);text-decoration:line-through}
.dub-nnchip{display:inline-block;font-size:11px;font-weight:700;color:#475569;background:#E2E8F0;border-radius:5px;padding:1px 6px;margin-left:4px;vertical-align:middle}
.dub-take.skip{background:#FEF2F2}
.dub-take i.skip{color:#B91C1C;text-decoration:line-through}
.dub-take i.skip::before{content:"✕ ";font-weight:800;text-decoration:none;display:inline-block}
.dub-take i.nn{color:#94A3B8;text-decoration:line-through}

/* Copias de seguridad */
.bk-status{display:block;line-height:1.6;margin:6px 0 14px;border-left:4px solid #94A3B8}
.bk-status.ok{border-left-color:#22C55E}
.bk-status.bad{border-left-color:#DC2626;background:#FEF2F2}
.bk-warn{margin:4px 0 0;color:#B91C1C;font-size:13px}
.bk-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
@media (max-width: 1000px){.bk-grid{grid-template-columns:1fr}}
.bk-form h2,.bkp-list h2{font-size:16px;margin:4px 0 8px}
.bk-form h2:not(:first-of-type){margin-top:18px}
.bk-form .check-inline{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.bk-form .check-inline input{margin-top:3px}
.bk-when{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end}
.bk-when label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.bk-when input[type=number]{width:90px}
.bk-ok{color:#15803D;font-weight:600}
.bk-bad{color:#B91C1C;font-weight:600}
.bkp-list ul{list-style:none;margin:0;padding:0}
.bkp-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line2)}
.bkp-list li form{display:inline}
.bk-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.bk-ic{font-size:18px}
.bk-tag{font-size:11px;font-weight:700;background:#EEF2FF;color:#3730A3;border-radius:5px;padding:1px 6px}
.bk-help{margin-top:12px}
.bk-help pre{background:#F7F8FA;border:1px solid var(--line);border-radius:8px;padding:8px 10px;overflow:auto}
.bk-owners{margin-top:16px;padding-top:12px;border-top:1px solid var(--line2)}
.bk-owners .check-inline{display:flex;gap:6px;align-items:center;margin:4px 0}
.dub-tabs .dub-review{margin-left:auto;align-self:center;display:inline-flex;align-items:center;gap:5px}

/* planning: accesos a la derecha del Condensador */
.dub-actrow{display:flex;gap:14px;align-items:stretch;flex:1 1 100%;flex-wrap:wrap}
.dub-actrow .dub-fluzo-box{flex:1 1 560px}
.dub-go{display:flex;flex-direction:column;gap:10px;justify-content:center;min-width:220px}
.dub-gobtn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 18px;border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;background:#fff;color:#111827;border:1px solid #D7DBE2;box-shadow:0 4px 14px rgba(15,23,42,.12);transition:transform .08s,box-shadow .15s}
.dub-gobtn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,.18);color:#111827}
.dub-gobtn.rv{background:linear-gradient(135deg,#0B0B0F,#1F2937);color:#fff;border:0;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.dub-gobtn.rv:hover{color:#fff;filter:brightness(1.15)}
@media (max-width: 1250px){.dub-go{flex-direction:row;flex-wrap:wrap;min-width:0;flex:1 1 100%}.dub-gobtn{flex:1 1 160px}}

/* Salas: estado de la convocatoria en la reserva y reservas canceladas */
.dst{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;background:#fff;color:#111827;border-radius:5px;padding:1px 6px 1px 4px;margin-right:5px;vertical-align:1px;line-height:1.5;box-shadow:0 0 0 1px rgba(0,0,0,.08);white-space:nowrap}
.dst i{width:8px;height:8px;border-radius:50%;background:var(--sc);flex:none;box-shadow:0 0 0 1.5px rgba(255,255,255,.9)}
.dst.dot{padding:0;background:none;box-shadow:none;margin-right:4px}
.dst.dot i{width:9px;height:9px;box-shadow:0 0 0 2px #fff}
.vb-st{display:block;margin-top:2px}
.ag-main .dst{margin-left:6px}
.rb.cancel,.vb.cancel,.mchip.cancel,.ag-row.cancel{opacity:.55;filter:grayscale(.7)}
.rb.cancel .rb-t,.vb.cancel .vb-t,.mchip.cancel{text-decoration:line-through}
.rpe-st [data-st="cancelada"].on{background:#FEE2E2;color:#B91C1C}
.nav-tpl{font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,255,255,.16);color:#FDE68A;border-radius:4px;padding:1px 5px;margin-left:6px;flex:none}
.dup-modal .check-inline{display:flex;gap:8px;align-items:center}
.tpl-card{margin:0 0 16px}
.tpl-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.tpl-head h2{margin:0 0 4px;font-size:17px}
.tpl-head form{display:flex;gap:8px;align-items:center}
.tpl-list{list-style:none;margin:10px 0 0;padding:0}
.tpl-list li{padding:7px 0;border-top:1px solid var(--line2)}

/* ordenar listas (vista Hoja) */
.sheet-grip{display:inline-grid;place-items:center;width:26px;height:30px;border:0;background:none;color:var(--muted);cursor:grab;border-radius:6px;touch-action:none;flex:none}
.sheet-grip:hover,.sheet-grip:focus-visible{background:#EEF0F4;color:var(--ink)}
.sheets.sorting .sheet .sheet-body{display:none}
.sheets.sorting .sheet{transition:transform .12s}
.sheets.sorting{user-select:none}
.sheet.dragging{box-shadow:0 12px 30px rgba(15,23,42,.25);outline:2px solid #F97316;position:relative;z-index:5;cursor:grabbing}

/* Doblaje: todos los plannings */
.dbj .page-head{align-items:flex-end}
.dbj-new{display:flex;gap:8px;align-items:center}
.dbj-new select{min-height:38px;max-width:280px}
.dbj-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 14px}
.dbj-filter input{min-height:36px;width:260px;padding:0 12px;border:1px solid var(--line);border-radius:9px}
.dbj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px}
.dbj-card{display:flex;flex-direction:column;gap:10px;padding:0;overflow:hidden}
.dbj-card.arch{opacity:.7}
.dbj-main{display:flex;flex-direction:column;gap:6px;padding:16px 18px 4px;color:inherit;text-decoration:none}
.dbj-main:hover h2{text-decoration:underline}
.dbj-sp{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.dbj-main h2{margin:0;font-size:20px}
.dbj-prog{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.dbj-prog .dub-pbar{width:120px;height:8px}
.dbj-nums{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;color:var(--ink2)}
.dbj-nums .warn{color:#B45309}.dbj-nums .skip{color:#B91C1C}
.dbj-st{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.dbj-st span{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;background:#F3F4F6;border-radius:999px;padding:2px 9px 2px 7px}
.dbj-st i{width:9px;height:9px;border-radius:50%;background:var(--sc)}
.dbj-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px 18px 14px;border-top:1px solid var(--line2);background:#FAFBFC}
.dbj-upd{margin-left:auto}
.crumb-sep{color:var(--muted);margin:0 2px}
.dub-switch select{margin-top:6px;min-height:36px;max-width:420px;font-weight:600;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff}
@media (max-width: 700px){.dbj-grid{grid-template-columns:1fr}}

/* detalle de reserva: confirmar / pasar a provisional */
.rpd-acts .btn.rpd-conf{background:#16A34A;border-color:#16A34A;color:#fff;font-weight:700;box-shadow:0 4px 12px rgba(22,163,74,.3)}
.rpd-acts .btn.rpd-conf:hover{background:#15803D;color:#fff}
.rpd-acts .btn.rpd-prov{background:repeating-linear-gradient(135deg,#E2E8F0 0 10px,#F8FAFC 10px 20px);border-color:#94A3B8;color:#334155;font-weight:700}
.r-chip.conf{background:#DCFCE7;color:#166534;border:1px solid #86EFAC}
.r-chip.cancel{background:#FEE2E2;color:#B91C1C;border:1px solid #FCA5A5;text-decoration:line-through}
/* Salas: zoom a la derecha de Periodo y «Fijar zoom» */
.rp-ribbon .rp-zsec{margin-left:auto}
.rp-zsec .rp-tiles{align-items:center;gap:6px}
.rp-zsec .rp-zoom{margin-right:0}
.rp-tile.rp-pin{font-weight:700}
.rp-tile.rp-pin.on{background:#FEF3C7;border-color:#F59E0B;color:#92400E}
.rp-zsec .rp-tile{padding-left:8px;padding-right:8px}

/* Salas: si el bloque de zoom no cabe en la línea de Periodo, baja entero y alineado a la izquierda */
@media (max-width: 1700px){html:not(.side-mini) .rp-ribbon .rp-zsec{margin-left:0;flex-basis:100%}}

/* ---- Listas de convocatorias: contadores con icono y columnas de sesión ---- */
table.grid th.th-ico{text-align:center;overflow:visible;padding-left:4px;padding-right:4px}
table.grid th.th-ico .th-label{display:inline-flex;vertical-align:middle;cursor:help;border-radius:6px;padding:2px}
table.grid th.th-ico .th-label[data-tip]::after{left:auto;right:-6px;transform:none;font-weight:500}
table.grid th.th-ico .th-label[data-tip]::before{left:50%}
th.ico-ban .th-label{color:#DC2626}
th.ico-done .th-label{color:#16A34A}
th.ico-takes .th-label{color:#2563EB}
td.c-cnt{text-align:center;font-variant-numeric:tabular-nums;font-weight:600;padding-left:4px;padding-right:4px}
td.c-cnt .zero{color:var(--muted);font-weight:400}
td.c-cnt.ico-ban span:not(.zero){color:#DC2626}
td.c-cnt.ico-done span:not(.zero){color:#16A34A}
.ses-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;border:1px solid var(--line);background:#fff;border-radius:7px;padding:3px 8px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;white-space:nowrap;overflow:hidden}
.ses-chip span{overflow:hidden;text-overflow:ellipsis}
.ses-chip svg{flex:none;color:var(--muted)}
.ses-chip.conf{border-color:#14B8A6;background:#F0FDFA}
.ses-chip.conf svg{color:#0F766E}
.ses-chip.prov{border-style:dashed;border-color:#3B82F6;background:#EFF6FF}
.ses-chip.prov svg{color:#2563EB}
.ses-chip.past{color:var(--muted)}
.ses-chip:hover{filter:brightness(.97)}
.ses-more{flex:none;font-size:11px;background:var(--ink);color:#fff;border-radius:9px;padding:0 6px;line-height:16px}
.ses-add{font-size:12.5px;color:var(--muted);text-decoration:none;border:1px dashed var(--line);border-radius:7px;padding:3px 8px}
.ses-add:hover{color:var(--ink);border-color:var(--ink2)}
td.c-rec .rec{font-variant-numeric:tabular-nums;font-size:12.5px;white-space:nowrap}
td.c-rec .rec.fin{color:#15803D;font-weight:600}
.ses-pop{position:absolute;z-index:80;width:340px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(15,23,42,.16);padding:10px 12px;font-size:13px}
.ses-pop h4{margin:0 0 6px;font-size:13.5px;display:flex;justify-content:space-between;gap:8px}
.ses-pop h4 small{color:var(--muted);font-weight:500}
.ses-pop a.sp-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:7px 8px;margin:0 -8px;border-radius:8px;text-decoration:none;color:var(--ink);border-top:1px solid var(--line2)}
.ses-pop a.sp-row:hover,.ses-pop a.sp-row:focus-visible{background:#F4F6FA}
.ses-pop a.sp-row small{grid-column:1;color:var(--muted)}
.ses-pop .sp-st{grid-row:1 / span 2;grid-column:2;align-self:center;font-size:11.5px;font-weight:600;border-radius:6px;padding:2px 7px}
.ses-pop .sp-st.provisional{background:#EFF6FF;color:#1D4ED8}
.ses-pop .sp-st.confirmada{background:#F0FDFA;color:#0F766E}
.ses-pop .sp-row.past{opacity:.6}
.ses-pop .sp-foot{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:12.5px}
.ses-pop .sp-foot a{color:var(--accent,#2563EB);text-decoration:none}
.rb.flash-b,.vb.flash-b{outline:3px solid #F59E0B;outline-offset:1px;z-index:6}
.form label.check-row{display:flex;flex-direction:row;align-items:center;gap:8px}
table.grid th.c-title .th-sort{margin-left:10px;font:inherit;font-size:11.5px;font-weight:600;color:var(--ink2);background:#fff;border:1px solid var(--line);border-radius:6px;padding:1px 4px;height:22px;vertical-align:middle;cursor:pointer}
table.grid th.c-title .th-sort:hover{border-color:var(--ink2)}

/* ---- ✨ Convocatoria automática ---- */
.magic-btn,.dub-gobtn.magic{display:inline-flex;align-items:center;gap:7px;border:0;cursor:pointer;font-weight:800;color:#1C1405;background:linear-gradient(135deg,#FDE68A 0%,#F59E0B 45%,#A855F7 100%);box-shadow:0 4px 16px rgba(168,85,247,.35),inset 0 0 0 1px rgba(255,255,255,.35);border-radius:11px;text-shadow:0 1px 0 rgba(255,255,255,.35);transition:transform .1s,filter .15s}
.magic-btn:hover,.dub-gobtn.magic:hover{filter:brightness(1.08) saturate(1.1);transform:translateY(-1px);color:#1C1405}
.magic-btn{position:absolute;top:12px;right:12px;padding:7px 12px;font-size:13px;z-index:2}
.dub-gobtn.magic{font-size:15px}
.dbj-card{position:relative}
.dbj-card .dbj-main{padding-right:200px}
@media (max-width:560px){.dbj-card .dbj-main{padding-right:18px;padding-top:56px}}
.mg-wrap{position:fixed;inset:0;z-index:1200;background:rgba(15,12,30,.55);display:flex;align-items:flex-start;justify-content:center;padding:4vh 14px;overflow:auto}
.mg-card{position:relative;width:min(860px,100%);background:#fff;border-radius:18px;padding:22px 24px;box-shadow:0 30px 80px rgba(15,23,42,.35)}
.mg-card.mg-dark{background:transparent;box-shadow:none;padding:0;width:min(640px,100%)}
.mg-x{position:absolute;top:12px;right:12px}
.mg-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.mg-head h2{margin:0;font-size:21px}
.mg-head p{margin:2px 0 0}
.mg-badge{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,#FDE68A,#F59E0B 50%,#A855F7);box-shadow:0 4px 14px rgba(168,85,247,.35)}
.mg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}
.mg-grid label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--ink2)}
.mg-grid input,.mg-grid select{min-height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;font:inherit;font-size:14px;color:var(--ink);background:#fff}
.mg-pair{display:flex;align-items:center;gap:6px}.mg-pair input{flex:1;min-width:0}.mg-pair em{font-style:normal;color:var(--muted);font-weight:500}
.mg-checks{display:flex;flex-wrap:wrap;gap:6px 22px;margin:12px 0 8px;font-size:13.5px}
.mg-checks label{display:flex;align-items:center;gap:7px}
.mg-tablewrap{max-height:36vh;overflow:auto;border:1px solid var(--line);border-radius:12px}
.mg-table{width:100%;border-collapse:collapse;font-size:13.5px}
.mg-table th{position:sticky;top:0;background:#FAFAFB;text-align:left;font-size:12px;color:var(--ink2);padding:7px 10px;border-bottom:1px solid var(--line);z-index:1}
.mg-table td{padding:5px 10px;border-bottom:1px solid var(--line2)}
.mg-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mg-table tr.off{opacity:.5}
.mg-name{font-weight:600}.mg-name small{font-weight:500;color:#B45309;margin-left:4px}
.mg-st{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;white-space:nowrap}.mg-st i{width:9px;height:9px;border-radius:50%;background:var(--sc)}
.mg-tph{width:74px;min-height:30px;border:1px solid var(--line);border-radius:7px;padding:0 6px;font:inherit}
.mg-hint{margin:6px 2px 10px}
.mg-prev{background:#F8F7FF;border:1px solid #E9E3FF;border-radius:12px;padding:10px 12px;font-size:13.5px;min-height:44px}
.mg-kpis{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center}
.mg-kpis b{font-size:16px}
.mg-prev details{margin-top:6px}.mg-prev summary{cursor:pointer;color:#6D28D9;font-weight:600}
.mg-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:8px;max-height:30vh;overflow:auto}
.mg-day h4{margin:0 0 4px;font-size:13px;text-transform:capitalize}
.mg-day p{margin:0;font-size:12.5px;line-height:1.55}.mg-day p span{font-variant-numeric:tabular-nums;color:var(--ink2);display:inline-block;min-width:84px}.mg-day small{color:var(--muted)}
.mg-bad{color:#B91C1C;font-weight:600}
.mg-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:14px;align-items:center}
.mg-go{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;font:inherit;font-size:18px;font-weight:800;letter-spacing:.02em;color:#fff;padding:12px 26px;border-radius:14px;
  background:linear-gradient(120deg,#4C1D95,#7C3AED 35%,#DB2777 70%,#F59E0B);background-size:200% 100%;box-shadow:0 8px 26px rgba(124,58,237,.45),inset 0 0 0 1px rgba(255,255,255,.2);animation:mgShine 3.5s ease-in-out infinite;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.mg-go:hover{filter:brightness(1.1);transform:translateY(-1px)}
.mg-go:disabled{filter:grayscale(.8);opacity:.5;cursor:not-allowed;animation:none;transform:none}
.mg-go-ic{font-size:20px;display:inline-block;animation:mgWand 1.6s ease-in-out infinite}
@keyframes mgShine{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes mgWand{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(14deg) scale(1.1)}}
.mg-run{margin:0 auto}
.mg-gears svg path{fill:#2E1065;stroke:#A78BFA;stroke-width:2}
.mg-gears .mg-hole{fill:#0E0B1F;stroke:#FDE047;stroke-width:2}
.mg-gears .mg-ring{fill:none;stroke:#7C3AED;stroke-width:2;stroke-dasharray:4 5}
.mg-g1{animation:mgSpin 3s linear infinite,mgFast 5s ease-in forwards}
.mg-g2{animation:mgSpinR 1.95s linear infinite}
.mg-g3{animation:mgSpinR 1.7s linear infinite}
.mg-g2 path{fill:#4C1D95}.mg-g3 path{fill:#581C87;stroke:#F0ABFC}
@keyframes mgSpin{to{transform:rotate(360deg)}}
@keyframes mgSpinR{to{transform:rotate(-360deg)}}
@keyframes mgFast{to{filter:drop-shadow(0 0 10px #FACC15)}}
.mg-run.fz-done .mg-g1,.mg-run.fz-done .mg-g2,.mg-run.fz-done .mg-g3{animation-duration:9s}
.mg-spark circle{fill:#FDE047;filter:drop-shadow(0 0 4px #FACC15);animation:mgTw 1.1s ease-in-out infinite alternate}
.mg-spark circle:nth-child(2){animation-delay:.3s}.mg-spark circle:nth-child(3){animation-delay:.6s}.mg-spark circle:nth-child(4){animation-delay:.9s}
@keyframes mgTw{from{opacity:.15;transform:scale(.6)}to{opacity:1;transform:scale(1.3)}}
.mg-spark circle{transform-box:fill-box;transform-origin:center}
.mg-bar i{animation-duration:5s}
@media (max-width:720px){.mg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.mg-g1,.mg-g2,.mg-g3,.mg-spark circle,.mg-go,.mg-go-ic{animation:none}}
.mg-card .mg-checks label{display:flex;flex-direction:row;align-items:center;gap:7px;margin:0;font-weight:500;color:var(--ink)}
.mg-card .mg-checks input{width:auto;min-height:0;margin:0}
.dub-gobtn.cv{background:var(--lc);color:var(--li);border:0;box-shadow:0 4px 14px rgba(15,23,42,.18)}
.dub-gobtn.cv:hover{color:var(--li);filter:brightness(1.08)}
.rpd-cv{background:var(--lc) !important;color:var(--li) !important;border-color:transparent !important;font-weight:700}
.rpd-cv:hover{filter:brightness(1.08)}

/* ---- Repartir un personaje entre varios actores ---- */
.dub-splitbtn{margin-right:6px}
.dub-splitchip{display:inline-block;font-size:11px;font-weight:700;color:#6D28D9;background:#EDE9FE;border-radius:5px;padding:1px 6px;margin-left:4px;vertical-align:middle}
.sp-card{width:min(760px,100%)}
.sp-badge{background:linear-gradient(135deg,#DDD6FE,#A78BFA)}
.sp-actors{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 10px}
.sp-chip{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--c);border-radius:999px;padding:3px 4px 3px 10px;font-weight:600;font-size:13.5px;background:#fff}
.sp-chip > i{width:10px;height:10px;border-radius:50%;background:var(--c)}
.sp-chip b{background:var(--c);color:#fff;border-radius:999px;padding:0 7px;font-size:12px}
.sp-chip button{border:0;background:none;cursor:pointer;color:var(--muted);font-size:13px;padding:0 4px}
.sp-chip button:hover{color:#B91C1C}
.sp-add{display:inline-flex;gap:6px}
.sp-add input{min-height:32px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;width:200px}
.sp-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:10px}
.sp-tip{margin-left:6px}
.sp-empty{background:#F8FAFC;border:1px dashed var(--line);border-radius:10px;padding:18px;text-align:center}
.sp-matrix{max-height:46vh;overflow:auto;border:1px solid var(--line);border-radius:12px}
.sp-matrix table{border-collapse:collapse;width:100%;font-size:13.5px}
.sp-matrix th{position:sticky;top:0;background:#FAFAFB;z-index:1;padding:7px 8px;border-bottom:1px solid var(--line);font-size:12px;text-align:center;border-top:3px solid var(--c, transparent)}
.sp-matrix th:first-child{text-align:left;width:90px}
.sp-matrix th span{display:inline-block;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
.sp-matrix td{border-bottom:1px solid var(--line2);text-align:center;padding:3px 6px}
.sp-matrix tr.none td{background:#FFFBEB}
.sp-t{text-align:left !important;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.sp-mk{font-style:normal;font-size:11px;margin-left:6px;border-radius:4px;padding:0 4px}
.sp-mk.ok{background:#DCFCE7;color:#15803D}.sp-mk.no{background:#FEE2E2;color:#B91C1C}
.sp-cb{display:inline-grid;place-items:center;cursor:pointer;padding:3px}
.sp-cb input{position:absolute;opacity:0;width:1px;height:1px}
.sp-cb span{width:22px;height:22px;border-radius:6px;border:2px solid #CBD5E1;background:#fff;display:grid;place-items:center;transition:background .1s}
.sp-cb input:checked + span{background:var(--c);border-color:var(--c)}
.sp-cb input:checked + span::after{content:"✓";color:#fff;font-weight:800;font-size:13px}
.sp-cb input:focus-visible + span{outline:2px solid var(--c);outline-offset:2px}
.sp-sum{margin:10px 0 0;font-size:13.5px}
.sp-warn{color:#B45309;font-weight:600;margin-left:6px}
.bk-now{gap:8px;flex-wrap:wrap}
.bk-now form{margin:0}
.bk-dirwarn{margin:10px 0 14px;line-height:1.55}
.bk-sugg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0 6px}
.bk-sugg .bk-no{opacity:.6}
.bk-dirstate{margin:4px 0 6px}
.bk-pick{display:flex;gap:8px}.bk-pick input{flex:1;min-width:0}
.bk-local{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 16px}
.bk-restore{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0 0 16px}
.bk-restore>div{flex:1 1 360px;min-width:0}
.bk-restore.fresh{border-color:color-mix(in srgb,var(--accent,#2563eb) 45%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2563eb) 12%,transparent)}
.bk-restore-f{display:flex;flex-direction:column;gap:8px;align-items:flex-start;flex:0 1 340px}
.bk-restore-f input[type=file]{max-width:100%}
.bkp-list li form{display:inline-flex}
.bk-local h2{margin:0 0 4px;font-size:17px}
.bk-local p{margin:2px 0}
.bk-local-acts{display:flex;gap:8px;flex-wrap:wrap}
.bk-fb{position:fixed;inset:0;z-index:1200;background:rgba(15,23,42,.45);display:flex;align-items:flex-start;justify-content:center;padding:8vh 14px}
.bk-fb[hidden]{display:none}
.bk-fb-card{width:min(640px,100%);background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.3);padding:14px 16px;display:flex;flex-direction:column;gap:10px;max-height:80vh}
.bk-fb-head{display:flex;justify-content:space-between;align-items:center;font-size:16px}
.bk-fb-places{display:flex;flex-wrap:wrap;gap:6px}
.bk-fb-path{display:flex;gap:8px;align-items:center}.bk-fb-path code{font-size:12.5px;word-break:break-all}
.bk-fb-list{list-style:none;margin:0;padding:0;overflow:auto;border:1px solid var(--line);border-radius:10px;min-height:160px;flex:1}
.bk-fb-list button{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 12px;font:inherit;cursor:pointer;border-bottom:1px solid var(--line2)}
.bk-fb-list button:hover{background:#F4F6FA}
.bk-fb-list small{color:var(--muted);margin-left:6px}
.bk-fb-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bkl-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:1300;display:flex;align-items:center;gap:10px;background:#111827;color:#fff;border-radius:12px;padding:10px 12px 10px 16px;box-shadow:0 12px 30px rgba(0,0,0,.3);font-size:13.5px;max-width:min(680px,calc(100vw - 24px))}
.bkl-toast .icon-btn{color:#fff}
.bk-local-auto{margin-top:6px;display:flex;gap:8px;align-items:center}

/* ---- Pautado de guiones ---- */
.dub-crumb{font-size:13px;color:var(--muted);margin-bottom:4px}.dub-crumb a{color:inherit}
.pt-up .grid3{margin-bottom:6px}
.pt-list{list-style:none;margin:0;padding:0}.pt-list li{padding:10px 0;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:2px}
.pt{display:flex;flex-direction:column;height:calc(100vh - 66px);min-height:520px}
html.focus .pt{height:100vh}
.pt-head{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}
.pt-title{display:flex;flex-direction:column;line-height:1.2}.pt-title strong{font-size:16px}
.pt-sum{font-size:13px;color:var(--ink2)}.pt-sum .ok{color:#15803D;font-weight:600}
.pt-probs{border:0;background:#FEF3C7;color:#92400E;font-weight:700;border-radius:6px;padding:2px 8px;cursor:pointer;font:inherit;font-size:12.5px}
.pt-save{min-width:110px}
.pt-acts{margin-left:auto;display:flex;gap:6px;align-items:center}
.pt-menu{position:relative}
.pt-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(15,23,42,.15);min-width:280px;padding:6px}
.pt-pop a{display:block;padding:8px 10px;border-radius:7px;color:var(--ink);text-decoration:none;font-size:13.5px}.pt-pop a:hover{background:#F4F6FA}
.pt-body{flex:1;display:grid;grid-template-columns:minmax(280px,var(--pt-vw,46%)) 8px minmax(320px,1fr);min-height:0}
.pt-split{background:#0B0D11;cursor:col-resize;position:relative;outline:none;touch-action:none}
.pt-split::after{content:"";position:absolute;left:3px;top:50%;width:2px;height:44px;margin-top:-22px;border-radius:2px;background:#4B5563}
.pt-split:hover,.pt-split:focus-visible,.pt-dragging .pt-split{background:#2563EB}.pt-split:hover::after,.pt-dragging .pt-split::after{background:#fff}
.pt-dragging{user-select:none;cursor:col-resize}.pt-dragging video,.pt-dragging .pt-script{pointer-events:none}
.pt-vid{background:#14161B;color:#E5E7EB;display:flex;flex-direction:column;gap:8px;padding:12px;overflow:auto}
.pt-screen{position:relative;background:#000;border-radius:10px;overflow:hidden;aspect-ratio:16/9;display:grid;place-items:center}
.pt-screen video{width:100%;height:100%;object-fit:contain;display:block}
.pt-open{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-align:center;padding:16px;background:rgba(0,0,0,.6)}
.pt-open span{font-weight:700;font-size:16px;background:#2563EB;color:#fff;border-radius:10px;padding:10px 16px}
.pt-open small{color:#9CA3AF}
.pt-open.has{inset:auto 8px 8px auto;background:none;padding:0}.pt-open.has span{font-size:12px;padding:5px 9px;background:rgba(37,99,235,.85)}.pt-open.has small{display:none}
.pt-tcbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pt-tc{font:700 30px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;color:#fff;background:#000;border:2px solid #E5E7EB;border-radius:8px;padding:6px 12px}
.pt-sync{font-weight:800;font-size:12px;color:#F87171}.pt-sync.ok{color:#4ADE80}
.pt-tcbar select{background:#1F2937;color:#fff;border:1px solid #374151;border-radius:7px;padding:4px 6px}
.pt-tcbar .btn{background:#1F2937;color:#fff;border-color:#374151}
.pt-seek{width:100%}
.pt-pad{display:grid;grid-template-columns:repeat(7,1fr) 2fr;gap:6px}
.pt-pad button{background:#2A2F3A;color:#fff;border:1px solid #3B4252;border-radius:9px;padding:10px 4px;font-weight:700;cursor:pointer;font-size:14px}
.pt-pad button:hover{background:#353C4A}
.pt-pad .pt-paste{background:#B45309;border-color:#D97706}.pt-pad .pt-paste:hover{background:#C2410C}
.pt-help{line-height:1.55;color:#9CA3AF}.pt-help b{color:#E5E7EB}
.pt-marks{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.pt-marks .btn{background:#1F2937;color:#FDE68A;border-color:#374151;padding:2px 8px;min-height:0}
.pt-script{overflow:auto;padding:8px 0 40vh;background:#fff;outline:none;font-size:14px}
.pt-row{display:flex;gap:10px;padding:3px 16px;border-left:3px solid transparent;cursor:default}
.pt-row.sel{background:#EFF6FF;border-left-color:#2563EB}
.pt-note{color:var(--muted);font-style:italic}
.pt-take{align-items:center;flex-wrap:wrap;margin-top:10px;padding-top:6px;padding-bottom:6px;border-top:1px dashed #CBD5E1;background:#F8FAFC;font-size:13px}
.pt-take.sel{background:#DBEAFE}
.pt-take b{font-size:13.5px}
.pt-tcb{font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;border:1px solid #CBD5E1;border-radius:6px;padding:1px 7px;cursor:pointer}
.pt-tcb.est{font-style:italic;color:#6B7280;border-style:dashed}
.pt-cnt{font-weight:700;color:#334155}.pt-cnt.over{color:#B91C1C}
.pt-per{display:inline-flex;gap:4px;flex-wrap:wrap}
.pt-per span{font-size:11.5px;font-weight:700;color:var(--c);border:1px solid var(--c);border-radius:5px;padding:0 5px}
.pt-per span.over{background:#FEE2E2;color:#B91C1C;border-color:#B91C1C}
.pt-dur{color:var(--muted);font-variant-numeric:tabular-nums}
.pt-warn{color:#B45309;font-weight:600}
.pt-take.bad{background:#FFFBEB}
.pt-d .pt-c{flex:none;width:150px;display:flex;flex-wrap:wrap;gap:2px;cursor:pointer}
.pt-d .pt-c i{font-style:normal;font-weight:800;font-size:12.5px;color:var(--c)}
.pt-d .pt-c i + i::before{content:"+";color:var(--muted);font-weight:600;margin:0 2px}   /* v0.132: sin asteriscos; varios personajes con «+» */
.pt-d .pt-t{flex:1;white-space:pre-wrap;line-height:1.5}
.pt-d .pt-t[contenteditable]{outline:2px solid #2563EB;border-radius:4px;background:#fff;padding:0 4px}
.pt-d .pt-l{flex:none;width:18px;text-align:right;color:#94A3B8;font-size:11px}
/* buscar en el guion (v0.90) */
.pt-find{position:fixed;z-index:60;display:flex;align-items:center;gap:4px;padding:5px 6px 5px 12px;border-radius:999px;background:#222A3A;color:#E5E7EB;box-shadow:0 10px 30px rgba(15,23,42,.35);font:14px/1 system-ui,-apple-system,sans-serif}
.pt-find>svg{width:16px;height:16px;flex:none;color:#9CA3AF}
.pt-find input{width:220px;border:0;background:transparent;color:#fff;font:inherit;padding:6px 4px;outline:none}
.pt-find input::placeholder{color:#9CA3AF}
.pt-find input::-webkit-search-cancel-button{display:none}
.pt-find-n{min-width:70px;text-align:right;color:#9CA3AF;font-size:12.5px;font-variant-numeric:tabular-nums;padding-right:4px}
.pt-find.none .pt-find-n{color:#FCA5A5}
.pt-find button{width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:#E5E7EB;cursor:pointer;display:grid;place-items:center;font-size:13px}
.pt-find button:hover{background:rgba(255,255,255,.12)}
.pt-find button svg{width:16px;height:16px}
.pt-hl{background:#FDE68A;color:inherit;border-radius:3px;padding:0 1px}
.pt-fcur .pt-hl{background:#F59E0B;color:#fff}
.pt-row.pt-fcur{box-shadow:inset 3px 0 0 #F59E0B}
@media (max-width:980px){.pt-split{display:none}.pt-body{grid-template-columns:1fr}.pt{height:auto}.pt-script{max-height:70vh}}
.pt-per span.more{color:var(--muted);border-color:var(--line)}

/* modo foco (Pautado en su propia pestaña): sin menú lateral ni barra de búsqueda */
html.focus body{background:#F4F6FA}
.focus-main{min-height:100vh;display:flex;flex-direction:column}
.flash-toast{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:200;margin:0;box-shadow:0 10px 30px rgba(15,23,42,.18);animation:ftoast 6s forwards;pointer-events:none}
@keyframes ftoast{0%,85%{opacity:1}100%{opacity:0;visibility:hidden}}
.pt-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}
.pt-bar-t{display:inline-flex;align-items:center;gap:6px;font-size:16px}
.pt-bar .pt-fs{margin-left:auto}
.pt-head .pt-fs{white-space:nowrap}
.pt-fs.on{background:#1F2937;color:#fff;border-color:#1F2937}
.pt-land{max-width:980px;width:100%;margin:0 auto}

/* guion con el formato del convenio: Courier New 12 pt, doble interlineado, 60 caracteres por línea (no se reajusta al ancho) */
.pt-script{font-family:'Courier New',Courier,monospace;font-size:16px}
.pt-take,.pt-take *{font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
.pt-take .pt-tcb{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.pt-take{font-size:13px}
.pt-note{line-height:2;white-space:pre-wrap}
.pt-d{width:max-content;min-width:100%;box-sizing:border-box;line-height:2}
.pt-d .pt-c{width:16ch;line-height:2}
.pt-d .pt-c i{font-size:inherit;font-family:inherit}
.pt-d .pt-t{flex:none;width:60ch;line-height:2;overflow-wrap:anywhere;font-family:inherit}
.pt-d .pt-l{font-family:'Instrument Sans',system-ui,sans-serif;font-size:.7em;line-height:2.857}
.pt-zoom{display:inline-flex;gap:2px}.pt-zoom .btn{padding-left:8px;padding-right:8px}

.pt-modal{position:fixed;inset:0;z-index:300;background:rgba(15,23,42,.45);display:grid;place-items:center;padding:16px}
.pt-modal-box{background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);width:min(480px,100%);padding:20px}
.pt-modal-t{margin:0 0 12px;font-size:15px;line-height:1.5;white-space:pre-line}
.pt-modal-in{width:100%;box-sizing:border-box;font-size:16px;padding:9px 12px;border:1px solid var(--line);border-radius:9px}
.pt-modal-in.tc{font:700 28px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;text-align:center}
.pt-modal-err{color:#B91C1C;font-size:13px;margin:8px 0 0}
.pt-modal-b{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}
.pt-modal-b .btn{white-space:nowrap}
.pt-modal-chk{display:flex;flex-direction:column;gap:10px;margin:4px 0 2px}
.pt-modal .pt-modal-chk label{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;margin:0!important;font-weight:400;cursor:pointer;text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink)}
.pt-modal .pt-modal-chk input[type=checkbox]{width:18px;height:18px;margin:2px 0 0;flex:0 0 auto}
.pt-modal-chk span{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.pt-modal-chk small{color:var(--muted,#6b7280);font-size:12px}
.pt-li{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);list-style:none}
.pt-list{padding:0;margin:0}
.pt-li-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.pt-li-acts{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.pt-li-acts form{margin:0}
.pt-ren{position:relative}.pt-ren summary{list-style:none;cursor:pointer}.pt-ren summary::-webkit-details-marker{display:none}
.pt-ren form{position:absolute;right:0;top:calc(100% + 6px);z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;gap:6px;box-shadow:0 10px 30px rgba(15,23,42,.15);width:340px}
.pt-ren form input{flex:1}
.pt-badge{display:inline-block;width:max-content;font-size:11.5px;font-weight:700;color:#15803D;background:#DCFCE7;border-radius:5px;padding:1px 7px}
.pt-modal-prev{margin:8px 0 0;text-align:center;font:600 14px ui-monospace,SFMono-Regular,Menlo,monospace;color:#15803D}.pt-modal-prev.bad{color:#B91C1C}

/* reparto con imagen (ventana flotante del pautado) */
.pt-rep{position:fixed;right:16px;top:72px;width:560px;height:70vh;min-width:420px;min-height:320px;max-width:96vw;max-height:94vh;z-index:80;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px rgba(15,23,42,.3);display:flex;flex-direction:column;resize:both;overflow:hidden}
.pt-rep-h{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#1F2937;color:#fff;cursor:move;user-select:none;flex-wrap:wrap}
.pt-rep[hidden]{display:none}
.pt-rep-h select,.pt-rep-h input{font:inherit;font-size:13px;border-radius:7px;border:1px solid #374151;background:#111827;color:#fff;padding:3px 6px}
.pt-rep-h input{flex:1;min-width:100px}
.pt-rep-c{font-size:12.5px;color:#FDE68A;font-weight:700}
.pt-rep-x{margin-left:auto;background:none;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.pt-rep-warn{margin:0;padding:6px 10px;background:#FEF3C7;color:#92400E;font-size:12.5px}
.pt-rep-help{margin:0;padding:6px 10px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
.pt-rep-b{flex:1;overflow:auto}
.pt-rr{padding:8px 10px;border-bottom:1px solid var(--line);background:#FFFBEB}
.pt-rr.has{background:#fff}.pt-rr.skip{background:#F3F4F6;opacity:.75}
.pt-rr-h{display:flex;align-items:center;gap:8px}
.pt-rr-h b{color:var(--c);min-width:110px}
.pt-rr-n{font-size:12px;color:var(--muted);min-width:56px}
.pt-rr-a{flex:1;min-width:120px;font:inherit;font-size:14px;padding:5px 9px;border:1px solid #F59E0B;border-radius:8px}
.pt-rr.has .pt-rr-a{border-color:var(--line)}
.pt-rr-a.saving{opacity:.5}
.pt-rr-t{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}
.pt-rr-t button{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid #CBD5E1;background:#fff;border-radius:5px;padding:1px 6px;cursor:pointer;color:#334155}
.pt-rr-t button:hover{background:#DBEAFE;border-color:#2563EB}
.pt-rr-t button.on{background:#2563EB;border-color:#2563EB;color:#fff}
/* desplegable de actores (Contactos) */
.ac-pop{position:fixed;z-index:400;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(15,23,42,.2);padding:4px;max-height:280px;overflow:auto}
.ac-pop button{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;background:none;text-align:left;padding:6px 10px;border-radius:7px;cursor:pointer;font:inherit;font-size:14px;color:var(--ink)}
.ac-pop button small{font-size:11.5px;color:var(--muted)}
.ac-pop button:hover,.ac-pop button.on{background:#EFF6FF}
.dub-repimg{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.btn.disabled{opacity:.5;pointer-events:none}
.pt-head{gap:8px}.pt-head .btn.small{padding-left:9px;padding-right:9px}
.pt-take.live{background:#DCFCE7;box-shadow:inset 4px 0 #16A34A}
.pt-follow{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:#E5E7EB;cursor:pointer}

/* Pautado de películas: pantalla de inicio */
.pth{--pt-bg:#0D0F14;background:radial-gradient(1200px 500px at 85% -10%,rgba(217,119,6,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(37,99,235,.18),transparent 60%),var(--pt-bg);min-height:calc(100vh - 66px);color:#E5E7EB;padding:0 0 48px}
.pth-hero{position:relative;padding:56px 40px 40px;overflow:hidden}
.pth-hero.small{padding:40px 40px 28px}
.pth-hero.has-cover > .pc-cover{position:absolute;inset:0;height:auto;border:0;opacity:.28;filter:saturate(.8)}
.pth-hero.has-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--pt-bg) 15%,rgba(13,15,20,.55) 70%,rgba(13,15,20,.85))}
.pth-strip{position:absolute;left:0;right:0;top:0;height:18px;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(255,255,255,.09) 10px 24px,transparent 24px 34px);border-bottom:1px solid rgba(255,255,255,.06)}
.pth-hero-in{position:relative;z-index:1;max-width:820px}
.pth-kicker{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FBBF24}
.pth-hero h1{font-size:44px;line-height:1.05;margin:10px 0 12px;color:#fff;letter-spacing:-.02em}
.pth-hero.small h1{font-size:34px;margin-top:6px}
.pth-hero p{margin:0;color:#9CA3AF;font-size:16px;max-width:640px}
.pth-back,.pth-links a{color:#FBBF24;text-decoration:none;font-weight:600;font-size:14px}.pth-back:hover,.pth-links a:hover{text-decoration:underline}
.pth-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;padding:8px 40px}
.pth-card{position:relative;display:flex;flex-direction:column;min-height:250px;border-radius:16px;overflow:hidden;background:#161922;border:1px solid #262B36;color:#E5E7EB;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;text-align:left;font:inherit;cursor:pointer;padding:0}
.pth-card:hover{transform:translateY(-3px);border-color:#D97706;box-shadow:0 18px 40px rgba(0,0,0,.45);color:#fff}
.pth-card .pc-cover{height:150px;border-bottom:1px solid #262B36}
.pth-noimg{height:150px;display:grid;place-items:center;font-size:64px;font-weight:800;color:rgba(255,255,255,.85);background:linear-gradient(135deg,#7C2D12,#1E3A8A);border-bottom:1px solid #262B36}
.pth-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.pth-body strong{font-size:17px;color:#fff;line-height:1.25}
.pth-nums{font-size:13.5px;color:#CBD5E1}.pth-nums b{color:#FBBF24}.pth-nums em{font-style:normal;color:#4ADE80}
.pth-when{font-size:12px;color:#6B7280}
.pth-new{align-items:center;justify-content:center;gap:6px;border:2px dashed #3F4656;background:rgba(255,255,255,.02)}
.pth-new:hover{border-color:#D97706;background:rgba(217,119,6,.08)}
.pth-plus{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:40px;line-height:1;background:#D97706;color:#fff;margin-bottom:8px}
.pth-new strong{font-size:18px;color:#fff}.pth-new span:last-child{color:#9CA3AF;font-size:13.5px}
.pth-empty{padding:12px 40px;color:#9CA3AF}
.pth-cols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:18px;padding:8px 40px;align-items:start}
.pth-panel{background:#fff;color:var(--ink);border-radius:14px;padding:20px}
.pth-panel h2{margin:0 0 8px;font-size:18px}
.pth-dlg{border:0;border-radius:16px;padding:0;width:min(640px,94vw);box-shadow:0 30px 80px rgba(0,0,0,.5)}
.pth-dlg::backdrop{background:rgba(5,6,10,.7)}
.pth-dlg-h{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#161922;color:#fff}
.pth-dlg .pth-form{padding:18px 20px}
.pth-x{background:none;border:0;color:#fff;font-size:24px;cursor:pointer;line-height:1}
@media (max-width:900px){.pth-cols{grid-template-columns:1fr}.pth-hero,.pth-grid,.pth-cols,.pth-empty{padding-left:16px;padding-right:16px}.pth-hero h1{font-size:32px}}

/* planning de doblaje: sin barra de búsqueda; estadillo a la izquierda, los 4 accesos en columna y Salas/Tablets en otra columna a la derecha */
@media (min-width:900px){.main.no-top > .top{display:none}}
.dub-page .dub-actrow{flex-wrap:nowrap;margin-top:12px}
.dub-page .dub-go{flex:0 0 250px}
.dub-page .dub-go2{flex:0 0 190px;justify-content:flex-start}
.dub-page .dub-gobtn{min-height:50px}
.dub-page .dub-drop2 .dz-file{display:block}
@media (max-width:1250px){.dub-page .dub-actrow{flex-wrap:wrap}.dub-page .dub-go,.dub-page .dub-go2{flex:1 1 100%}}

/* ocultar espacios y proyectos de tu vista */
.nav-label-row{display:flex;align-items:center;justify-content:space-between;padding-right:8px}
.nav-eye{border:0;background:none;color:inherit;opacity:.55;cursor:pointer;padding:3px;border-radius:6px;display:grid;place-items:center}
.nav-eye:hover{opacity:1;background:rgba(255,255,255,.12)}
.nav-hidden{display:flex;align-items:center;gap:7px;margin:8px 10px 4px;padding:7px 10px;border-radius:9px;border:1px dashed rgba(255,255,255,.25);background:rgba(255,255,255,.04);color:inherit;opacity:.75;font:inherit;font-size:12.5px;cursor:pointer;width:calc(100% - 20px);text-align:left}
.nav-hidden:hover{opacity:1;background:rgba(255,255,255,.1)}
.home-hidden{margin:6px 0 0}
.sv-wrap{position:fixed;inset:0;z-index:500;background:rgba(10,12,18,.5);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;animation:svIn .15s ease}
@keyframes svIn{from{opacity:0}to{opacity:1}}
.sv{width:min(620px,100%);max-height:88vh;background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;animation:svUp .18s ease}
@keyframes svUp{from{transform:translateY(12px) scale(.98)}to{transform:none}}
.sv-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:20px 22px 14px;background:linear-gradient(135deg,#F5F3FF,#ECFEFF)}
.sv-head strong{font-size:20px}
.sv-head p{margin:4px 0 0;color:var(--ink2);font-size:13.5px;max-width:470px;line-height:1.45}
.sv-x{border:0;background:rgba(0,0,0,.06);border-radius:50%;width:32px;height:32px;font-size:22px;line-height:1;cursor:pointer;flex:none}
.sv-tools{display:flex;align-items:center;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line)}
.sv-q{flex:1;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.sv-stat{font-size:12.5px;color:var(--muted);white-space:nowrap}
.sv-list{overflow:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}
.sv-space{border:1px solid var(--line);border-radius:14px;background:#fff;transition:opacity .15s,background .15s}
.sv-space.off{background:#F8FAFC}
.sv-space.off .sv-chip,.sv-space.off .sv-name{opacity:.45}
.sv-sh{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}
.sv-tg{border:0;background:none;cursor:pointer;color:var(--muted);display:grid;place-items:center;transition:transform .15s;padding:2px}
.sv-space.open .sv-tg{transform:rotate(90deg)}
.sv-chip{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:800;flex:none}
.sv-name{display:flex;flex-direction:column;flex:1;min-width:0}
.sv-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-name small{color:var(--muted);font-size:12px}
.sv-sw{flex:none;width:46px;height:26px;border-radius:999px;border:0;background:#CBD5E1;position:relative;cursor:pointer;transition:background .15s}
.sv-sw.on{background:#16A34A}
.sv-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#64748B;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
.sv-sw.on .sv-knob{left:23px;color:#16A34A}
.sv-ps{border-top:1px solid var(--line);padding:6px 12px 10px 52px;display:flex;flex-direction:column}
.sv-p{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px dashed #EEF0F3}
.sv-p:last-child{border-bottom:0}
.sv-pn{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}
.sv-p em{font-style:normal;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 5px}
.sv-p.off .sv-pn{opacity:.45;text-decoration:line-through}
.sv-p .sv-sw{width:40px;height:22px}.sv-p .sv-knob{width:16px;height:16px}.sv-p .sv-sw.on .sv-knob{left:21px}
.sv-foot{display:flex;justify-content:space-between;gap:8px;padding:12px 22px;border-top:1px solid var(--line);background:#FAFAFB}
.nav-proj.is-hidden > a,.space.is-hidden > summary{opacity:.5}
.nav-proj.is-hidden .np-name{font-style:italic}
.nav-hid-ic{display:inline-flex;margin-left:6px;opacity:.9;vertical-align:-1px}

/* ===== Centro de plantillas ===== */
.tc-wrap{position:fixed;inset:0;z-index:1200;background:rgba(10,12,18,.5);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;animation:svIn .15s ease}
.tc{background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;width:min(1040px,100%);max-height:90vh;animation:svUp .18s ease}
.tc-center{height:min(760px,90vh)}
.tc-save{width:min(560px,100%)}
.tc-editor{width:min(980px,100%);height:min(820px,92vh)}
.tc-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:linear-gradient(135deg,#FFF7ED,#F5F3FF)}
.tc-head strong{font-size:18px}
.tc-sub{color:var(--ink2);font-size:13px;flex:1;min-width:180px}
.tc-logo{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#7C3AED;color:#fff}
.tc-q{width:240px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.tc-x{border:0;background:rgba(0,0,0,.06);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.tc-body{display:grid;grid-template-columns:200px minmax(0,1fr);flex:1;min-height:0}
.tc-side{border-right:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:3px;overflow:auto;background:#FAFAFB}
.tc-f,.tc-tag{display:flex;align-items:center;gap:8px;border:0;background:none;text-align:left;font:inherit;font-size:14px;padding:8px 10px;border-radius:9px;cursor:pointer;color:var(--ink)}
.tc-f span{margin-left:auto;font-size:12px;color:var(--muted)}
.tc-f:hover,.tc-tag:hover{background:#F1F5F9}
.tc-f.on,.tc-tag.on{background:#EDE9FE;color:#5B21B6;font-weight:600}
.tc-tag{font-size:13px;padding:6px 10px}
.tc-side-l{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 10px 4px}
.tc-new{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:6px;border:1.5px dashed #C4B5FD;background:#fff;color:#6D28D9;border-radius:10px;padding:10px;font:inherit;font-weight:600;cursor:pointer}
.tc-new:hover{background:#F5F3FF}
.tc-main{display:flex;flex-direction:column;min-height:0}
.tc-grid{overflow:auto;padding:14px 18px;flex:1}
.tc-h{font-size:13px;color:var(--ink2);font-weight:600;margin:6px 0 10px}
.tc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:18px}
.tc-card{display:flex;flex-direction:column;gap:4px;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:12px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .12s,transform .12s,box-shadow .12s}
.tc-card:hover{border-color:#C4B5FD;transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.08)}
.tc-card.on{border-color:#7C3AED;box-shadow:0 0 0 3px #EDE9FE}
.tc-bars{display:flex;gap:4px;height:34px;align-items:flex-end;margin-bottom:6px}
.tc-bars i{flex:1;border-radius:6px 6px 3px 3px;height:100%;opacity:.85}
.tc-bars i:nth-child(2){height:75%}.tc-bars i:nth-child(3){height:55%}.tc-bars i:nth-child(4){height:85%}.tc-bars i:nth-child(5){height:65%}
.tc-kind{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px}
.tc-card strong{font-size:15px;line-height:1.3}
.tc-card small{color:var(--ink2);font-size:12.5px}
.tc-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:50px 20px;color:#7C3AED}
.tc-empty strong{color:var(--ink);font-size:17px}.tc-empty p{color:var(--ink2);max-width:420px;margin:0 0 6px}
.tc-none{padding:20px}
.tc-detail{border-top:1px solid var(--line);background:#FBFAFF;max-height:52%;overflow:auto;padding:14px 18px}
.tc-dh{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.tc-dh strong{font-size:17px}.tc-dh p{margin:3px 0;color:var(--ink2);font-size:13.5px}
.tc-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tc-hint{margin:8px 0 0;font-size:12.5px;color:var(--ink2)}
.tc-lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:10px}
.tc-l{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;transition:opacity .12s}
.tc-l.off{opacity:.45}
.tc-lh{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.tc-lh i{width:12px;height:12px;border-radius:4px;flex:none}
.tc-sts,.tc-fs{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.tc-sts span{font-size:11.5px;font-weight:700;color:var(--c);border:1px solid var(--c);border-radius:999px;padding:0 8px;background:#fff}
.tc-fs span{font-size:11.5px;background:#F1F5F9;color:#334155;border-radius:6px;padding:1px 7px}
/* editor */
.tc-ed{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:14px}
.tc-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tc-meta label,.tc-sv label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink2)}
.tc-meta input,.tc-sv input[data-n],.tc-sv input[data-t],.tc-sv input[data-d]{padding:8px 10px;border:1px solid var(--line);border-radius:9px;font:inherit;color:var(--ink)}
.tc-wide{grid-column:1/-1}
.tc-kindsel{grid-column:1/-1;display:flex;gap:8px}
.tc-kindsel button{flex:1;display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;font:inherit;font-weight:600;cursor:pointer}
.tc-kindsel button small{font-weight:400;color:var(--muted)}
.tc-kindsel button.on{border-color:#7C3AED;background:#F5F3FF;color:#5B21B6}
.tc-elists{display:flex;flex-direction:column;gap:12px}
.tc-el{border:1px solid var(--line);border-radius:14px;padding:12px;background:#FCFCFD}
.tc-elh{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.tc-elh input[data-ln]{flex:1;font:inherit;font-size:16px;font-weight:600;padding:7px 10px;border:1px solid var(--line);border-radius:9px}
.tc-el input[type=color]{width:30px;height:30px;padding:0;border:0;background:none;cursor:pointer}
.tc-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tc-lab{display:block;font-size:12px;font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}
.tc-row{display:flex;gap:6px;align-items:center;margin-bottom:5px}
.tc-row input[data-sn],.tc-row input[data-fn]{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px}
.tc-row select{padding:5px 6px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;max-width:150px}
.tc-row input[type=color]{width:24px;height:24px}
.tc-add{border:0;background:none;color:#6D28D9;font:inherit;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 2px}
.tc-addl{border:1.5px dashed #C4B5FD;background:#fff;color:#6D28D9;border-radius:12px;padding:12px;font:inherit;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.tc-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:#FAFAFB}
.tc-foot.in{padding:12px 0 0;background:none;border:0}
/* guardar como plantilla */
.tc-sv{padding:16px 18px;display:flex;flex-direction:column;gap:10px;overflow:auto}
.tc-expl{margin:0;color:var(--ink2);font-size:13.5px;line-height:1.5}
.tc-mode{display:flex;flex-direction:column;gap:4px;background:#F5F3FF;border-radius:10px;padding:8px 12px}
.tc-mode label{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--ink)!important}
.tc-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tc-chk{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px 10px}
.tc-chk label{flex-direction:row!important;align-items:center;gap:8px!important;color:var(--ink)!important;font-size:14px!important;padding:3px 0}
.tc-chk i{width:10px;height:10px;border-radius:3px}
@media (max-width:760px){.tc-body{grid-template-columns:1fr}.tc-side{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}.tc-new{margin-top:0}.tc-cols,.tc-meta,.tc-2{grid-template-columns:1fr}.tc-q{width:100%}}
/* nuevo proyecto: tarjetas de inicio */
.np-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:10px}
.np-card{position:relative;display:flex;flex-direction:column;gap:2px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;background:#fff}
.np-card input{position:absolute;opacity:0;pointer-events:none}
.np-card .np-ic{font-size:20px;line-height:1;color:#7C3AED;margin-bottom:4px}
.np-card b{font-size:14px}.np-card small{font-size:12px;color:var(--muted)}
.np-card.on{border-color:#7C3AED;background:#F5F3FF;box-shadow:0 0 0 3px #EDE9FE}
.np-tplpick{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px dashed #C4B5FD;border-radius:10px;margin-bottom:6px;background:#FCFBFF}
.np-tl{font-size:12.5px;color:var(--ink2)}.np-tl i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:4px}

/* ===== Campos de una lista (ventana flotante lateral) ===== */
.fd-wrap{position:fixed;inset:0;z-index:1100;background:rgba(10,12,18,0);transition:background .18s}
.fd-wrap.on{background:rgba(10,12,18,.35)}
.fd{position:absolute;top:10px;right:10px;bottom:10px;width:min(440px,calc(100vw - 20px));background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.3);transform:translateX(110%);transition:transform .2s ease;overflow:hidden}
.fd-wrap.on .fd{transform:none}
.fd-in{height:100%;display:flex;flex-direction:column}
.fd-load{padding:24px;color:var(--muted)}
.fd-h{display:flex;align-items:center;gap:8px;padding:14px 14px 10px 18px}
.fd-ht{flex:1;min-width:0;display:flex;flex-direction:column}
.fd-ht strong{font-size:18px}
.fd-ht small{color:var(--ink2);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.fd-dot{display:inline-block;width:9px;height:9px;border-radius:3px;flex:none}
.fd-ib{border:0;background:#F1F5F9;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;cursor:pointer;color:var(--ink);flex:none}
.fd-ib.sm{width:26px;height:26px;background:none}
.fd-ib:hover{background:#E2E8F0}
.fd-tabs{display:flex;gap:2px;padding:0 14px;border-bottom:1px solid var(--line)}
.fd-tabs button{border:0;background:none;font:inherit;font-size:14px;padding:10px 10px;cursor:pointer;color:var(--ink2);border-bottom:2px solid transparent;margin-bottom:-1px;display:flex;align-items:center;gap:6px}
.fd-tabs button span{font-size:11.5px;background:#F1F5F9;border-radius:999px;padding:0 7px}
.fd-tabs button.on{color:var(--ink);font-weight:600;border-bottom-color:#7C3AED}
.fd-search{display:flex;align-items:center;gap:8px;margin:12px 14px 4px;padding:0 10px;border:1.5px solid var(--line);border-radius:10px;color:var(--muted)}
.fd-search:focus-within{border-color:#A78BFA;box-shadow:0 0 0 3px #EDE9FE}
.fd-search input{border:0;outline:0;flex:1;padding:8px 0;font:inherit;background:none}
.fd-search.in{margin:10px 0 4px}
.fd-body{flex:1;overflow:auto;padding:6px 14px 14px}
.fd-pad{padding:16px 4px}
.fd-lab{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 2px 6px}
.fd-lab em{font-style:normal;text-transform:none;letter-spacing:0;font-weight:500}
.fd-ti{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff)}
.fd-ti.own{background:#F1F5F9}
.fd-rows{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.fd-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:12px;border:1px solid transparent;background:#fff;transition:background .12s}
.fd-row:hover{background:#F8FAFC;border-color:var(--line)}
.fd-row.off .fd-name b{color:var(--muted)}
.fd-row.dragging{opacity:.5}
.fd-grip{color:#CBD5E1;cursor:grab;display:grid;place-items:center}
.fd-name{flex:1;min-width:0;border:0;background:none;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column;padding:0}
.fd-name b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fd-name small{font-size:12px;color:var(--muted)}
.fd-sw{flex:none;width:38px;height:22px;border-radius:999px;border:0;background:#CBD5E1;position:relative;cursor:pointer;transition:background .15s}
.fd-sw i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.fd-sw.on{background:#7C3AED}.fd-sw.on i{left:19px}
.fd-addbig{margin-top:10px;width:100%;border:1.5px dashed #C4B5FD;background:#fff;color:#6D28D9;border-radius:12px;padding:11px;font:inherit;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.fd-addbig:hover{background:#F5F3FF}
.fd-empty{text-align:center;padding:30px 10px;display:flex;flex-direction:column;align-items:center;gap:8px}
.fd-empty p{color:var(--ink2);margin:0 0 6px;font-size:14px}
.fd-types{display:flex;flex-direction:column;gap:4px}
.fd-type{display:flex;align-items:center;gap:12px;border:1px solid transparent;background:#fff;border-radius:12px;padding:8px 10px;text-align:left;font:inherit;cursor:pointer}
.fd-type:hover{background:#F8FAFC;border-color:var(--line)}
.fd-type span{display:flex;flex-direction:column}.fd-type b{font-size:14.5px}.fd-type small{font-size:12.5px;color:var(--ink2)}
.fd-type .fd-ti{width:36px;height:36px;border-radius:11px}
.fd-exg{margin-bottom:6px}
.fd-exr{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px}
.fd-exr:hover{background:#F8FAFC}
.fd-exr span:not(.fd-ti){flex:1;min-width:0;display:flex;flex-direction:column}
.fd-exr b{font-size:14px}.fd-exr small{font-size:12px;color:var(--muted)}
.fd-exr .btn{opacity:.75}.fd-exr:hover .btn{opacity:1}
/* editor */
.fd-ed{display:flex;flex-direction:column;gap:14px;padding-top:8px}
.fd-hero{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--c) 8%,#fff)}
.fd-hero .fd-ti{width:40px;height:40px;border-radius:12px;background:#fff}
.fd-hero div{display:flex;flex-direction:column}.fd-hero small{color:var(--ink2);font-size:12.5px}
.fd-f{display:flex;flex-direction:column;gap:6px}
.fd-f > span{font-size:12.5px;font-weight:600;color:var(--ink2)}
.fd-f input[data-n],.fd-f input[data-h]{padding:9px 11px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:15px}
.fd-f input:focus{outline:0;border-color:#A78BFA;box-shadow:0 0 0 3px #EDE9FE}
.fd-f.sub{margin-top:8px}
.fd-opts{display:flex;flex-direction:column;gap:5px}
.fd-opt{display:flex;align-items:center;gap:6px}
.fd-col{width:24px;height:24px;border-radius:7px;border:0;cursor:pointer;flex:none}
.fd-opt input{flex:1;padding:7px 9px;border:1px solid var(--line);border-radius:9px;font:inherit}
.fd-add{border:0;background:none;color:#6D28D9;font:inherit;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:4px 2px;align-self:flex-start}
.fd-seg{display:inline-flex;background:#F1F5F9;border-radius:10px;padding:3px;align-self:flex-start}
.fd-seg button{border:0;background:none;font:inherit;font-size:13.5px;padding:6px 14px;border-radius:8px;cursor:pointer;color:var(--ink2)}
.fd-seg button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.fd-prev{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px dashed var(--line);border-radius:10px;flex-wrap:wrap}
.fd-prev-l{font-size:11.5px;color:var(--muted)}
.fd-th{display:inline-flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#475569;background:#F8FAFC;border:1px solid var(--line);border-radius:6px;padding:5px 10px;min-height:28px}
.fd-tipprev{font-size:12px;background:#111827;color:#fff;border-radius:6px;padding:3px 8px}
.fd-tipprev:empty{display:none}
.fd-iconbox{max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:2px 8px 8px}
.fd-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:4px}
.fd-ico{height:38px;border:1px solid transparent;background:#fff;border-radius:9px;display:grid;place-items:center;cursor:pointer;color:#334155}
.fd-ico:hover{background:#F1F5F9}
.fd-ico.on{background:#7C3AED;color:#fff}
.fd-where{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fd-where label{position:relative;display:flex;flex-direction:column;border:1.5px solid var(--line);border-radius:12px;padding:9px 11px;cursor:pointer}
.fd-where label input{position:absolute;opacity:0}
.fd-where label b{font-size:13.5px}.fd-where label small{font-size:12px;color:var(--muted)}
.fd-where label.on{border-color:#7C3AED;background:#F5F3FF}
.fd-note{margin:0;font-size:13px;color:var(--ink2);background:#FFFBEB;border-radius:9px;padding:8px 10px}
.fd-check{display:flex;align-items:center;gap:8px;font-size:14px}
.fd-foot{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#FAFAFB}
.fd-sp{flex:1}
/* resumen en Configurar lista */
.fd-card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.fd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.fd-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.fd-chip:hover{border-color:#A78BFA}
.fd-chip.off{opacity:.55}
.fd .fd-search{flex-direction:row!important;align-items:center!important;font-size:14px}
.fd .fd-search input{min-height:0;height:36px;width:auto;border:0!important;box-shadow:none!important;padding:0!important;margin:0}
.fd .fd-check{flex-direction:row!important;align-items:center!important}
.fd .fd-where label{gap:0}

/* ===== cabecera y barra del proyecto más compactas (v0.31) ===== */
.top{padding:6px 20px;gap:10px}
.top .search{max-width:300px;border-radius:8px}
.top .search input{padding:6px 0;font-size:13.5px}
.top .avatar{width:30px;height:30px;font-size:12px}
.top .role-chip{font-size:11.5px}
/* barra de vistas: en una línea y fija al bajar */
.proj-toolbar{position:sticky;top:var(--top-h,46px);z-index:20;background:var(--bg);margin:6px -4px 0;padding:8px 4px;gap:8px}
.main.has-bg .proj-toolbar{background:transparent}
.main.has-bg .proj-toolbar.stuck{background:rgba(244,246,250,.92);backdrop-filter:blur(8px)}
.proj-toolbar.stuck{box-shadow:0 6px 12px -8px rgba(21,23,28,.25)}
.proj-toolbar .toolbar-actions{order:10;margin-left:auto}
.proj-toolbar .ph-icons{padding:2px;border-radius:10px}
.proj-toolbar .ph-ic{width:34px;height:34px}
.proj-toolbar .ph-actions{gap:8px;flex-wrap:nowrap}
.proj-toolbar .ph-actions .btn.primary{padding:7px 14px;min-height:0}
.proj-toolbar .seg a,.proj-toolbar .seg button{padding:5px 11px}
.sheet-zoom{align-items:center}
.sheet-zoom .tb-ic{display:inline-grid;place-items:center;padding:5px 9px!important}
.sheet-zoom .tb-sep{width:1px;align-self:stretch;background:var(--line);border:0!important;margin:0}
.sheet-zoom .tb-sep + *{border-left:0!important}
.sheet-zoom .tb-ic + .tb-ic,.sheet-zoom .tb-sep,.sheet-zoom .tb-sep + button{border-left:0}
.sheet-zoom .tb-fs{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)!important}
.sheet-zoom .tb-fs.on{background:var(--ink)!important;color:#fff!important}
.toolbar-help{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:inline-grid;place-items:center;font-size:12px;font-weight:700;color:var(--muted);background:#fff;cursor:help}
/* las listas se pegan debajo de la barra */
.sheet-head{top:var(--stick-h,var(--top-h,46px))}
/* cabecera de columnas más fina */
table.grid th{padding-top:6px;padding-bottom:6px}
.sheet-head{padding-top:9px;padding-bottom:9px}
/* altura de la cabecera del proyecto, a gusto de cada uno */
.proj-head{position:relative}
.proj-head.sized{height:var(--phh);min-height:0!important;overflow:hidden}
.proj-head.sized .ph-body{min-height:0!important;height:100%}
.proj-head.sized.has-cover .ph-body{padding-top:12px;padding-bottom:12px}
.proj-head.ph-s h1,.proj-head.ph-s.has-cover h1{font-size:24px}
.proj-head.ph-s .crumb{display:none}
.proj-head.ph-xs .chips,.proj-head.ph-xs .ph-drop{display:none}
.proj-head.ph-xs h1,.proj-head.ph-xs.has-cover h1{font-size:19px}
.proj-head.ph-xs .ph-body{padding-top:6px!important;padding-bottom:6px!important;align-items:center!important}
.proj-head.ph-xs .ph-main{align-self:center!important}
.proj-head.sized .ph-drop{max-height:calc(var(--phh) - 24px)}
.ph-resize{position:absolute;left:0;right:0;bottom:0;height:12px;cursor:ns-resize;z-index:3;display:flex;justify-content:center;align-items:flex-end;padding-bottom:3px;outline:none}
.ph-resize span{width:46px;height:5px;border-radius:999px;background:rgba(148,163,184,.55);opacity:0;transition:opacity .15s}
.proj-head:hover .ph-resize span,.ph-resize:focus-visible span,body.ph-dragging .ph-resize span{opacity:1}
.proj-head.has-cover .ph-resize span{background:rgba(255,255,255,.75)}
body.ph-dragging{cursor:ns-resize;user-select:none}
.proj-toolbar{flex-wrap:wrap}
.proj-toolbar .toolbar-help{order:9}
@media (max-width:1760px){.proj-toolbar .seg-view a:not(.on){font-size:0;gap:0;padding:6px 9px}}
@media (max-width:1380px){.proj-toolbar .seg-view a.on{padding:5px 9px}.proj-toolbar .tb-fs span{display:none}.proj-toolbar .seg a,.proj-toolbar .seg button{padding:5px 8px}}
@media (max-width:1600px){.proj-toolbar .seg-view a.on{font-size:0;gap:0;padding:6px 10px}.proj-toolbar .ph-ic{width:31px;height:31px}.proj-toolbar{gap:6px}.proj-toolbar .ph-actions .btn.primary{padding:7px 11px}}
/* al ajustar la imagen de cabecera, la cabecera vuelve a su tamaño normal para que se vea el panel */
.proj-head.sized:has(.ph-adjust){height:auto!important;min-height:250px!important;overflow:visible}
.proj-head.sized:has(.ph-adjust) .ph-body{min-height:250px!important;height:auto}
.proj-head.sized:has(.ph-adjust) .crumb,.proj-head.sized:has(.ph-adjust) .chips{display:revert}
.proj-head:has(.ph-adjust) .ph-resize{display:none}

/* pantalla completa que se mantiene: el Gestor va dentro de un marco a toda pantalla */
html.fs-on,html.fs-on body{margin:0;height:100%;overflow:hidden;background:var(--bg)}
.fs-shell{position:fixed;inset:0;width:100%;height:100%;border:0;display:block;z-index:2147483000;background:var(--bg)}

.fs-pill{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:2147483600;display:flex;align-items:center;gap:12px;background:#111827;color:#fff;border-radius:999px;padding:8px 8px 8px 16px;font-size:13.5px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.fs-pill button{border:0;background:#fff;color:#111827;border-radius:999px;padding:6px 14px;font:inherit;font-weight:600;cursor:pointer}

.tb-fs-top{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.tb-fs-top.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.main:has(.proj-toolbar) .top .tb-fs-top{display:none}
.dub-h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dub-h1 .tb-fs-top{font-size:13px}
.fs-pill{opacity:.95;font-size:13px}

/* ===== Planning de doblaje ordenado (v0.32) ===== */
.dub-views{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.dub-views .seg-view a:not(.on){padding:6px 10px}
.dub-views .tb-fs{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink)}
.dub-views .tb-fs.on{background:var(--ink);color:#fff}
.dub-page .dub-head{align-items:flex-end}
.dub-goto{margin-left:auto;align-self:flex-end}
.dub-goto a{padding:6px 12px!important;font-weight:600;color:var(--ink)!important}
.dub-goto .dot{width:10px;height:10px;border-radius:3px;display:inline-block}
.dub-page .dub-head > div:first-child + .dub-plans{order:3}
.dub-actrow2{display:flex;gap:12px;align-items:stretch;margin-top:12px;flex-wrap:wrap}
.dub-actrow2 .dub-fluzo-box{flex:1 1 520px;max-width:none;padding:8px 10px;gap:10px;align-items:center}
.dub-actrow2 .dub-drop2{flex:1 1 220px;flex-direction:row;padding:8px 14px;gap:10px;min-height:0;font-size:13px}
.dub-actrow2 .dub-drop2 .dz-file{font-size:12px}
.dub-actrow2 .dub-fz-side{flex-direction:row;align-items:center;flex-wrap:wrap;min-width:0;gap:8px}
.dub-actrow2 .dub-fz-side label{display:flex;align-items:center;gap:6px}
.dub-actrow2 .dub-fz-side .btn.fluzo{min-height:38px;font-size:14px;border-radius:10px;padding:0 14px}
.dub-actrow2 .dub-fz-side small{flex-basis:100%;font-size:11.5px}
.dub-tools{display:flex;gap:8px;align-items:stretch;flex:0 1 auto;flex-wrap:wrap}
.dub-tool{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;font-weight:700;font-size:14.5px;text-decoration:none;border:0;cursor:pointer;color:#fff;font-family:inherit;box-shadow:0 4px 14px rgba(76,29,149,.22);transition:transform .08s,filter .15s}
.dub-tool:hover{transform:translateY(-1px);filter:brightness(1.08);color:#fff}
.dub-tool.t-magic{background:linear-gradient(135deg,#FBBF24 0%,#F59E0B 35%,#A855F7 100%);color:#1C1405;text-shadow:0 1px 0 rgba(255,255,255,.35)}
.dub-tool.t-magic:hover{color:#1C1405}
.dub-tool.t-script{background:linear-gradient(135deg,#8B5CF6,#6D28D9)}
.dub-tool.t-rev{background:linear-gradient(135deg,#4C1D95,#1E1B4B)}
@media (max-width:1200px){.dub-tools{flex:1 1 100%}.dub-tool{flex:1 1 180px}}
/* estadillo: fila de controles alineada */
.dub-src-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
.dub-src-head > p{flex-basis:100%;margin:0 0 4px}
.dub-src-head form.inline{display:flex;align-items:flex-end;gap:8px;margin:0}
.dub-src-head .btn{min-height:36px;display:inline-flex;align-items:center;gap:6px}
.dub-tph label{display:flex;flex-direction:column;gap:3px;font-size:12px}
.dub-tph input{height:36px;padding:0 10px}
.dub-tph input[name=tph]{width:80px}
.dub-actrow2{align-items:center}
.dub-actrow2 .dub-fluzo-box{flex-wrap:nowrap;align-self:stretch}
.dub-actrow2 .dub-drop2{white-space:nowrap;overflow:hidden;flex:1 1 200px;min-width:0;justify-content:flex-start}
.dub-actrow2 .dub-drop2 .dz-txt{overflow:hidden;text-overflow:ellipsis;font-size:13px}
.dub-actrow2 .dub-drop2 .dz-txt strong{font-weight:600}
.dub-actrow2 .dub-drop2 small.dz-file{display:none}
.dub-actrow2 .dub-drop2.has-file small.dz-file{display:inline;overflow:hidden;text-overflow:ellipsis}
.dub-actrow2 .dub-drop2.has-file .dz-txt{display:none}
.dub-actrow2 .dub-fz-side{flex-wrap:nowrap}
.dub-actrow2 .dub-fz-side label{font-size:12px;white-space:nowrap}
.dub-actrow2 .dub-fz-side select{min-height:36px;max-width:170px}
.dub-actrow2 .dub-fz-side small{display:none}
.dub-tool{min-height:44px;height:44px}
.dub-actrow2 .dub-fz-side label{flex-direction:row}
.dub-actrow2 .dub-fluzo-box{flex:1 1 360px}
.dub-actrow2 .dub-drop2{flex:1 1 120px}
/* globos de ayuda en las barras de vistas (el recuadro no los recorta) */
.proj-toolbar .seg,.dub-views .seg,.dub-goto{overflow:visible}
.proj-toolbar .seg > :first-child,.dub-views .seg > :first-child,.dub-goto > :first-child{border-radius:7px 0 0 7px}
.proj-toolbar .seg > :last-child,.dub-views .seg > :last-child,.dub-goto > :last-child{border-radius:0 7px 7px 0}
.proj-toolbar .seg > :only-child,.dub-views .seg > :only-child{border-radius:7px}
.proj-toolbar [data-tip]:hover::after,.dub-views [data-tip]:hover::after,.dub-goto [data-tip]:hover::after{font-size:13px;padding:7px 11px;z-index:60}
.proj-toolbar [data-tip]:hover::before,.dub-views [data-tip]:hover::before,.dub-goto [data-tip]:hover::before{z-index:60}
/* Doblaje como vista del proyecto */
.dub-kpis-top{margin:10px 0 0}
.dub-kpis-top .dub-kpis{gap:8px}
.dub-kpis-top .dub-kpis > div{padding:6px 12px;min-width:0;border-radius:10px;flex-direction:row;align-items:baseline;gap:6px}
.dub-kpis-top .dub-kpis b{font-size:17px}
.dub-kpis-top .dub-kpis span{font-size:12px}
.dub-embed{margin-top:6px}
.dub-embed .dub-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.dub-embed .dub-head > div:first-child{display:flex;align-items:center;gap:8px}
.dub-embed .dub-head > div:first-child:empty{display:none}
.dub-embed .dub-tools{order:2}
.dub-embed .dub-goto{order:3;margin-left:auto}
.dub-embed .dub-plans{order:4}
.dub-embed .dub-top .dub-actrow2{margin-top:6px}
.dub-embed .dub-tool{min-height:38px;height:38px;font-size:13.5px;padding:0 14px;border-radius:10px}
.dub-tb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dub-tb .dub-tools{gap:6px;flex:none}
.dub-tb .dub-tool{min-height:32px;height:32px;font-size:13px;padding:0 12px;border-radius:8px;box-shadow:0 2px 8px rgba(76,29,149,.18)}
.dub-tb .dub-goto{margin-left:0;align-self:center}
.dub-tb .dub-goto a{padding:5px 10px!important}
.dub-embed .dub-head{margin-top:2px}
.dub-embed .dub-top{margin-top:0}
.dub-embed .dub-actrow2{margin-top:0}
/* Doblaje: filas ordenadas */
.dub-kpis-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dub-kpis-top .dub-kpis{flex:1 1 auto}
.dub-kpis-r{display:flex;align-items:center;gap:8px;margin-left:auto}
.dub-kpis-r .dub-goto{margin:0}
.dub-kpis-r .tb-fs{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--ink);padding:5px 11px}
.dub-kpis-r .tb-fs.on{background:var(--ink);color:#fff}
.dub-kpis-r .seg{overflow:visible}
.proj-toolbar:has(.dub-tb){flex-wrap:nowrap}
.proj-toolbar .dub-tb{flex-wrap:nowrap;min-width:0}
.dub-embed{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.dub-embed > *{flex:1 1 100%}
.dub-embed > .dub-head{flex:0 1 auto;margin:0}
.dub-embed > .dub-top{flex:1 1 420px;margin:0}
.dub-embed > script{display:none}
.dub-embed .dub-head > div:first-child{flex:0 1 auto}
.dub-embed .dub-plans{order:1}
.dub-embed .dub-head .dub-switch select{max-width:340px}
.dub-embed .dub-top .dub-actrow2 .dub-fluzo-box{margin:0}
@media (max-width:1500px){.proj-toolbar .dub-tool{padding:0 9px;font-size:12.5px}.proj-toolbar:has(.dub-tb) .seg-view a.on{font-size:0;gap:0;padding:6px 10px}}
.dub-embed > .dub-top{min-width:0;flex-basis:0;flex-grow:1}
.dub-embed .dub-actrow2,.dub-embed .dub-actrow2 .dub-fluzo-box{min-width:0}
.dub-embed .dub-actrow2 .dub-drop2{min-width:60px}
.dub-kpis-top{flex-wrap:nowrap}
.dub-kpis-top .dub-kpis{flex:1 1 0;min-width:0;gap:6px}
.dub-kpis-top .dub-kpis > div{padding:5px 10px}
.dub-kpis-top .dub-kpis b{font-size:15px}
.dub-kpis-top .dub-kpis span{font-size:11.5px}
.dub-kpis-r{flex:none}
.dub-embed{margin-top:0}.main .proj-toolbar:has(.dub-tb){margin-bottom:0}
/* barra del código de tiempo: controles a la izquierda, TC grande a la derecha */
.pt-tcbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}
.pt-tcctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.pt-syncbtn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:9px;border:1px solid #4B5563;background:#2A2F3A;color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pt-syncbtn:hover{background:#353C4A}
.pt-sync{font-size:11.5px;font-weight:800;letter-spacing:.03em;padding:3px 8px;border-radius:999px;background:rgba(248,113,113,.12)}
.pt-sync.ok{background:rgba(74,222,128,.12)}
.pt-tcbar select{height:34px}
.pt-follow{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:7px;height:34px;padding:0 10px;border-radius:9px;background:#1F2937;border:1px solid #374151;color:#E5E7EB;font-size:13px;cursor:pointer;white-space:nowrap}
.pt-follow input{position:absolute;opacity:0;pointer-events:none}
.pt-tg{width:30px;height:18px;border-radius:999px;background:#4B5563;position:relative;transition:background .15s;flex:none}
.pt-tg::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}
.pt-follow input:checked + .pt-tg{background:#16A34A}
.pt-follow input:checked + .pt-tg::after{left:14px}
.pt-follow input:focus-visible + .pt-tg{outline:2px solid #60A5FA;outline-offset:2px}
.pt-tc{margin-left:auto;flex:none}

/* Doblaje › fichas: botones con el mismo estilo que Pautado, en dos filas (doblaje · salas) */
.dbj-acts{flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px 14px;background:linear-gradient(180deg,#FAFAFF,#F5F3FF)}
.dbj-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.dbj-acts .dub-tool{min-height:36px;height:36px;padding:0 13px;font-size:13.5px;border-radius:10px;box-shadow:0 2px 8px rgba(76,29,149,.16)}
.dub-tool.t-plan{background:linear-gradient(135deg,#FB923C,#EA580C);box-shadow:0 2px 8px rgba(234,88,12,.25)}
.dub-tool.t-conv{background:linear-gradient(135deg,#A78BFA,#7C3AED)}
.dub-tool.t-hoja{background:linear-gradient(135deg,#818CF8,#4F46E5)}
.dub-tool.t-salas{background:linear-gradient(135deg,#6366F1,#3730A3)}
.dub-tool.t-tab{background:linear-gradient(135deg,#4338CA,#1E1B4B)}
.dbj-row+.dbj-row{padding-top:8px;border-top:1px dashed #E0DAF7}
.dbj-acts .dbj-upd{margin-left:auto;font-size:12px}
.dbj-prog{white-space:nowrap;flex-wrap:nowrap}
/* barra de la película: Hoja de sala junto a Salas y Tablets */
.dub-goto a{white-space:nowrap}
.dbj-acts{margin-top:auto}

/* Convocatoria automática hecha: se ve en la ficha y se puede rehacer o deshacer */
.magic-btn.auto-ok,.dub-tool.t-magic.auto-ok{text-decoration:none;opacity:1;background:linear-gradient(135deg,#34D399,#059669);color:#fff;text-shadow:none;box-shadow:0 4px 14px rgba(5,150,105,.3)}
.magic-btn.auto-ok:hover,.dub-tool.t-magic.auto-ok:hover{color:#fff}
.auto-done{display:flex;align-items:center;gap:10px;margin:2px 16px 0;padding:9px 10px 9px 12px;border-radius:12px;background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border:1px solid #A7F3D0;flex-wrap:wrap}
.auto-done-ic,.mg-done-ic{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#059669;color:#fff;font-weight:900;font-size:15px}
.auto-done-tx{display:flex;flex-direction:column;min-width:0;flex:1 1 200px;line-height:1.3}
.auto-done-tx b{font-size:13.5px;color:#065F46}
.auto-done-tx span{font-size:12.5px;color:#047857}
.auto-done-tx em{font-style:normal;font-weight:700}
.auto-done-acts{display:flex;gap:6px;flex-wrap:wrap}
.adb{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 11px;border-radius:8px;border:1px solid #6EE7B7;background:#fff;color:#065F46;font-family:inherit;font-weight:600;font-size:12.5px;line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap}
.adb:hover{background:#F0FDF4;color:#065F46}
.adb.undo{border-color:#FCA5A5;color:#B91C1C}
.adb.undo:hover{background:#FEF2F2;color:#B91C1C}
.mg-done{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:0 0 14px;border-radius:12px;background:linear-gradient(135deg,#ECFDF5,#D1FAE5);border:1px solid #A7F3D0}
.mg-done>div{flex:1;display:flex;flex-direction:column;font-size:13px;color:#047857;line-height:1.35}
.mg-done b{color:#065F46;font-size:14px}
.mg-badge.undo{background:linear-gradient(135deg,#FCA5A5,#DC2626);color:#fff;box-shadow:0 4px 14px rgba(220,38,38,.3)}
.mg-undo{max-width:520px}
.mg-keep{background:#ECFDF5;border:1px solid #A7F3D0;color:#065F46;border-radius:10px;padding:8px 12px}
.mg-undo .btn.danger{background:#DC2626;border-color:#DC2626;color:#fff}

/* Salas: deslizar entre periodos */
html.rp-noswipe,html.rp-noswipe body{overscroll-behavior-x:none}
#rp{overscroll-behavior-x:contain}
.rp-slide-n{animation:rpSlideN .28s ease-out}
.rp-slide-p{animation:rpSlideP .28s ease-out}
@keyframes rpSlideN{from{transform:translateX(48px);opacity:.35}to{transform:none;opacity:1}}
@keyframes rpSlideP{from{transform:translateX(-48px);opacity:.35}to{transform:none;opacity:1}}
@media (prefers-reduced-motion: reduce){.rp-slide-n,.rp-slide-p{animation:none}}

/* ventana de aviso / confirmación dentro de la página (no saca de la pantalla completa) */
.gdlg-wrap{position:fixed;inset:0;z-index:3000;background:rgba(15,23,42,.42);display:grid;place-items:center;padding:16px;animation:gdlgIn .12s ease-out}
.gdlg{background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(15,23,42,.35);width:min(480px,100%);padding:22px 22px 16px}
.gdlg-tx{font-size:15px;line-height:1.5;color:var(--ink,#111827);max-height:60vh;overflow:auto}
.gdlg-in{display:block;width:100%;margin-top:12px;min-height:38px;padding:0 12px;border:1px solid var(--line,#E5E7EB);border-radius:9px;font:inherit}
.gdlg-acts{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.gdlg-danger{background:#DC2626;border-color:#DC2626;color:#fff}
.gdlg-danger:hover{background:#B91C1C;color:#fff}
@keyframes gdlgIn{from{opacity:0}to{opacity:1}}

/* Salas: varias reservas seleccionadas (⌘/Ctrl + clic) */
.rp-picked{outline:3px solid #111827;outline-offset:1px;box-shadow:0 0 0 6px rgba(249,115,22,.45)!important;z-index:5}
.rp-selbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:960;display:flex;align-items:center;gap:12px;background:#111827;color:#fff;border-radius:14px;padding:10px 12px 10px 18px;box-shadow:0 14px 40px rgba(15,23,42,.35);font-size:14px;white-space:nowrap}
.rp-selbar .muted{color:#9CA3AF;font-size:12.5px}
.rp-selbar .btn{background:#1F2937;border-color:#374151;color:#fff}
.rp-selbar .rp-seldel{background:#DC2626;border-color:#DC2626}

/* Gantt: convocatorias (sesiones de Salas), quitar fechas */
.g-sess{position:absolute;top:9px;height:18px;border-radius:5px;background:var(--c);box-shadow:0 1px 3px rgba(0,0,0,.18);z-index:2}
.g-sess.prov{background:repeating-linear-gradient(135deg,var(--c) 0 5px,color-mix(in srgb,var(--c) 55%,#fff) 5px 10px)}
.g-sess:hover{filter:brightness(1.12);transform:scaleY(1.15)}
.gr-conv{position:sticky;left:12px;display:inline-block;line-height:34px;font-size:12px;color:var(--muted);font-style:italic;white-space:nowrap}
.g-lbl .g-clear{pointer-events:auto;margin-left:8px;border:1px solid #FCA5A5;background:#fff;color:#B91C1C;border-radius:6px;font:600 11px/1 inherit;font-family:inherit;padding:3px 7px;cursor:pointer;opacity:0;transition:opacity .12s}
.gr:hover .g-clear,.g-clear:focus{opacity:1}
.g-clear:hover{background:#FEF2F2}
/* Calendario: listas que se ven y sesiones de las convocatorias */
.cal-lists{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 10px}
.cal-lchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 11px 4px 8px;font:600 12.5px/1.2 inherit;font-family:inherit;cursor:pointer;color:var(--ink)}
.cal-lchip i{width:10px;height:10px;border-radius:3px;background:var(--lc)}
.cal-lchip small{font-weight:500;color:var(--muted)}
.cal-lchip[aria-pressed="false"]{opacity:.5;background:#F3F4F6;text-decoration:line-through}
.ce-sess b{font-variant-numeric:tabular-nums;margin-right:2px}
.ce-sess small{opacity:.75;margin-left:3px}
.ce-sess.prov{background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(255,255,255,.35) 6px 12px)}
/* Tarea: botón de eliminar bien visible */
.btn.task-del{background:#DC2626;border-color:#DC2626;color:#fff}
.btn.task-del:hover{background:#B91C1C;border-color:#B91C1C;color:#fff}

/* Salas visibles: panel nuevo (se abre al pasar el ratón; pulsar y arrastrar marca varias) */
.rp-respick .rp-rcount{font-size:11.5px;font-weight:700;background:#EEF0F4;color:var(--ink2);border-radius:999px;padding:1px 7px;margin-left:2px}
.rp-respick .rp-caret{font-size:10px;opacity:.6;margin-left:2px}
.rp-pop.rpk2{width:380px;max-width:calc(100vw - 16px);padding:0;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.22);user-select:none;-webkit-user-select:none}
.rpk2-h{display:flex;align-items:center;gap:8px;padding:12px 14px 6px}
.rpk2-h strong{font-size:14px}
.rpk2-n{font-size:12px;color:var(--muted)}
.rpk2-sp{flex:1}
.rpk2-all{border:1px solid var(--line);background:#fff;border-radius:7px;font:600 12px/1 inherit;font-family:inherit;padding:6px 9px;cursor:pointer;color:var(--ink)}
.rpk2-all:hover{background:#F3F4F6}
.rpk2-tip{margin:0;padding:0 14px 8px;font-size:11.5px;color:var(--muted)}
.rpk2-body{max-height:62vh;overflow:auto;padding:4px 10px 12px;display:flex;flex-direction:column;gap:10px}
.rpk2-g{border-radius:11px;background:#F8F9FB;padding:6px}
.rpk2-gh{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:4px 6px 6px;font:700 13px/1.2 inherit;font-family:inherit;color:var(--gc);cursor:pointer;text-align:left}
.rpk2-gh span{flex:1;color:var(--ink)}
.rpk2-sw{width:30px;height:18px;border-radius:9px;background:#D1D5DB;position:relative;flex:none;transition:background .12s}
.rpk2-sw::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .12s}
.rpk2-gh.on .rpk2-sw{background:var(--gc)}
.rpk2-gh.on .rpk2-sw::after{transform:translateX(12px)}
.rpk2-gh.part .rpk2-sw{background:color-mix(in srgb,var(--gc) 45%,#D1D5DB)}
.rpk2-gh.part .rpk2-sw::after{transform:translateX(6px)}
.rpk2-rs{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));gap:5px}
.rpk2-r{display:flex;align-items:center;gap:6px;border:1.5px solid #E2E5EA;background:#fff;border-radius:9px;padding:7px 8px;font:600 12.5px/1.15 inherit;font-family:inherit;color:var(--muted);cursor:pointer;text-align:left;min-width:0;transition:background .1s,border-color .1s,color .1s}
.rpk2-r:hover{border-color:var(--rc)}
.rpk2-ic{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#F1F3F6;color:#9CA3AF;flex:none}
.rpk2-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rpk2-ck{font-style:normal;font-size:11px;font-weight:900;opacity:0}
.rpk2-r.on{border-color:var(--rc);background:color-mix(in srgb,var(--rc) 10%,#fff);color:var(--ink)}
.rpk2-r.on .rpk2-ic{background:var(--rc);color:#fff}
.rpk2-r.on .rpk2-ck{opacity:1;color:var(--rc)}
/* cinta del planificador: con el menú lateral abierto no se descuadra (los botones no activos se quedan solo con su icono) */
.rp-ribbon{container-type:inline-size}
@container (max-width: 1720px){.rp-sec:first-child .rp-tile:not(.on) span{display:none}}
@container (max-width: 1420px){.rp-sec .rp-tile:not(.on):not(.rp-ndays) span{display:none}.rp-pin span{display:none}}

/* Calendario / Gantt: ficha flotante y eventos que no son enlaces */
.ce[role="link"],.g-sess[role="link"]{cursor:pointer}
.tl-tip{max-width:380px}
.tl-tip-st{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;background:#F3F4F6;border-radius:999px;padding:2px 9px 2px 7px;text-transform:uppercase;letter-spacing:.02em}
.tl-tip-st i{width:8px;height:8px;border-radius:50%;background:var(--sc)}
.tl-tip-h{color:var(--muted);font-size:11.5px;margin-top:6px!important}

/* Enlaces personales (técnicos, directores) */
.pl-new{padding:16px 18px;margin-bottom:18px}
.pl-new h2{margin:0 0 10px;font-size:17px}
.pl-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.pl-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}
.pl-form select,.pl-form input{min-height:36px;min-width:200px}
.pl-role{font-size:16px;margin:18px 0 8px}
.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}
.pl-card{padding:12px 14px;display:flex;flex-direction:column;gap:10px}
.pl-card header{display:flex;flex-direction:column;gap:2px}
.pl-card header strong{font-size:15px}
.pl-acts{display:flex;flex-wrap:wrap;gap:6px}
.pl-acts form{display:inline}

/* Enlaces personales en ventana flotante */
.plm-wrap{position:fixed;inset:0;z-index:940;background:rgba(15,23,42,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px;animation:gdlgIn .12s ease-out}
.plm{position:relative;background:var(--bg,#F4F5F7);border-radius:18px;box-shadow:0 30px 80px rgba(15,23,42,.35),0 0 0 1px rgba(15,23,42,.06);width:min(1100px,100%);max-height:92vh;overflow:auto}
.pl-embed{padding:22px 26px 20px}
.pl-embed .page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.pl-embed .page-head h1{margin:0 0 4px;font-size:24px}
.pl-embed .page-head{flex-wrap:nowrap;padding-right:44px}
.plm-x{position:absolute;top:14px;right:14px;font-size:18px;z-index:2}
.pl-card.pl-flash{box-shadow:0 0 0 3px #F97316;transition:box-shadow .3s}
.mini-toast.bad{background:#B91C1C}
body.plm-open{overflow:hidden}
.pl-embed .flash{margin:0 0 12px}

/* Salas: ajustes de vista de cada usuario (icono ⚙) */
.rp-vset{padding:6px 9px!important}
.rp-pop.rp-vpop{width:330px;padding:0;border-radius:14px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.22)}
.vs-h{display:flex;align-items:center;gap:8px;padding:13px 16px 10px;border-bottom:1px solid var(--line2,#EEF0F3)}
.vs-h strong{font-size:14px}
.vs-sec{padding:10px 12px;border-bottom:1px solid var(--line2,#EEF0F3);display:flex;flex-direction:column;gap:4px}
.vs-cap{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:2px 4px 4px}
.vs-opt{display:flex;align-items:flex-start;gap:10px;border:0;background:none;border-radius:9px;padding:8px;text-align:left;cursor:pointer;font-family:inherit;color:var(--ink)}
.vs-opt:hover{background:#F5F6F8}
.vs-opt.on{background:var(--accent-soft)}
.vs-opt b{display:block;font-size:13.5px}
.vs-opt small{display:block;font-size:12px;color:var(--muted);margin-top:1px}
.vs-dot{flex:none;width:16px;height:16px;border-radius:50%;border:2px solid #CBD0D8;margin-top:1px;position:relative}
.vs-opt.on .vs-dot{border-color:var(--brand,#C2410C)}
.vs-opt.on .vs-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--brand,#C2410C)}
.vs-tog{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border-radius:9px;font-size:13.5px;color:var(--ink);cursor:pointer;margin:0!important}
.vs-tog:hover{background:#F5F6F8}
.vs-tog input{position:absolute;opacity:0;pointer-events:none}
.vs-tog i{flex:none;width:34px;height:20px;border-radius:10px;background:#D1D5DB;position:relative;transition:background .12s}
.vs-tog i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .12s}
.vs-tog input:checked+i{background:var(--brand,#C2410C)}
.vs-tog input:checked+i::after{transform:translateX(14px)}
.vs-foot{display:flex;flex-direction:column;gap:6px;padding:10px 16px 12px;align-items:flex-start}

/* ⚙ Ajustes de tu vista (proyecto) */
.uv-btn.on{background:var(--accent-soft);color:var(--brand,#C2410C)}
.uv-pop{position:fixed;z-index:950;width:340px;max-height:calc(100vh - 16px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.22);animation:uvIn .12s ease-out}
@keyframes uvIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.uv-seg{display:flex;gap:2px;background:#F3F4F6;border-radius:9px;padding:3px}
.uv-seg button{flex:1;border:0;background:none;border-radius:7px;padding:6px 4px;font:600 12.5px/1.2 inherit;font-family:inherit;color:var(--ink2);cursor:pointer}
.uv-seg button:hover{color:var(--ink)}
.uv-seg button.on{background:#fff;color:var(--brand,#C2410C);box-shadow:0 1px 3px rgba(15,23,42,.14)}
.uv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:none;border-radius:9px;padding:8px;text-align:left;cursor:pointer;font-family:inherit;font-size:13.5px;color:var(--ink)}
.uv-row:hover{background:#F5F6F8}
.uv-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uv-row small{flex:none;color:var(--muted);font-size:12px}
.uv-note{margin:6px 4px 0;font-size:12px;color:var(--muted);line-height:1.35}
.uv-acts{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:6px 4px 0}
body.sheet-compact table.grid td{height:32px}
body.sheet-compact table.grid th{padding-top:6px;padding-bottom:6px}
.uv-btn.on::after,.uv-btn.on::before{display:none!important}
body.sheet-compact .cell{height:31px}
body.sheet-compact input[type=checkbox].cell{height:16px;width:16px}
body.sheet-compact td.c-status select.status-select,body.sheet-compact td.c-select select.cell{height:25px;font-size:11.5px}
body.sheet-compact table.grid .t{height:32px}
body.sheet-compact table.grid .title-link{line-height:32px}
body.sheet-compact table.grid td.c-title .open-task{width:22px;height:22px}

.uv-menu{width:320px}
.uv-item{display:flex;align-items:center;gap:10px;border:0;background:none;border-radius:9px;padding:10px;text-align:left;cursor:pointer;font-family:inherit;color:var(--ink)}
.uv-item:hover{background:#F5F6F8}
.uv-item span{flex:1;min-width:0}
.uv-item b{display:block;font-size:14px}
.uv-item small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.uv-item i{font-style:normal;font-size:20px;color:var(--muted);line-height:1}
.uv-back{border:0;background:none;width:24px;height:24px;margin:-3px 0 -3px -6px;border-radius:7px;font-size:22px;line-height:20px;color:var(--ink2);cursor:pointer}
.uv-back:hover{background:#F5F6F8;color:var(--ink)}
.ph-ic.uv-btn.on{background:var(--accent-soft);color:var(--brand,#C2410C)}

/* Hoja de sala · Tablets · Enlaces: siempre con su icono y un color suave, distintos del resto */
.qa{display:inline-flex!important;align-items:center;gap:7px}
.qa svg{flex:none}
.btn.qa-hoja,.dub-tool.qa-hoja,.dub-goto a.qa-hoja{background:#FFF2EA!important;color:#B4400B!important;border-color:#F8D3BD!important}
.btn.qa-tab,.dub-tool.qa-tab,.dub-goto a.qa-tab{background:#EEF1FF!important;color:#4338CA!important;border-color:#D3DAFD!important}
.btn.qa-enl,.dub-tool.qa-enl,.dub-goto a.qa-enl{background:#EAF7F1!important;color:#0F766E!important;border-color:#BDE5D3!important}
.btn.qa-hoja:hover,.dub-tool.qa-hoja:hover,.dub-goto a.qa-hoja:hover{background:#FFE6D6!important;color:#9A3412!important}
.btn.qa-tab:hover,.dub-tool.qa-tab:hover,.dub-goto a.qa-tab:hover{background:#E1E6FF!important;color:#3730A3!important}
.btn.qa-enl:hover,.dub-tool.qa-enl:hover,.dub-goto a.qa-enl:hover{background:#D9F1E6!important;color:#115E59!important}
.dub-tool.qa{box-shadow:inset 0 0 0 1px var(--qa-b,transparent)!important;filter:none!important}
.dub-tool.qa-hoja{--qa-b:#F8D3BD}.dub-tool.qa-tab{--qa-b:#D3DAFD}.dub-tool.qa-enl{--qa-b:#BDE5D3}

/* 📲 Avisar a los actores */
.btn.qa-wa,.dub-goto a.qa-wa,.adb.wa{background:#E8F8EE!important;color:#128C4A!important;border-color:#BDE9CF!important}
.btn.qa-wa:hover,.dub-goto a.qa-wa:hover,.adb.wa:hover{background:#D3F2DF!important;color:#0B6B37!important}
.btn.qa-wa.primary{background:#25A35A!important;color:#fff!important;border-color:#25A35A!important}
.btn.qa-wa.off{opacity:.5}
.iv-page .page-head p{max-width:820px}
.iv-info h2,.iv-list h2{margin:0 0 12px;font-size:16px}
.iv-info{padding:16px 18px}
.iv-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 16px;align-items:end}
.iv-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--ink2)}
.iv-form input[hidden]{display:none}
.iv-form .row-end{grid-column:1/-1}
.iv-cover{display:flex;align-items:center;gap:10px}
.iv-cover img{width:64px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.iv-list{padding:0;overflow:hidden}
.iv-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--line)}
.iv-counts{display:flex;gap:6px;flex-wrap:wrap}
.iv-scroll{overflow-x:auto}
.iv-table{width:100%;border-collapse:collapse;font-size:14px}
.iv-table th{text-align:left;font-size:12px;color:var(--ink2);font-weight:600;padding:9px 12px;background:#FAFAFB;border-bottom:1px solid var(--line);white-space:nowrap}
.iv-table td{padding:10px 12px;border-bottom:1px solid var(--line2,#EEF0F3);vertical-align:middle}
.iv-name b{display:block}.iv-name small{display:block;color:var(--muted);font-size:12px}
.iv-ses span{display:block;white-space:nowrap;font-variant-numeric:tabular-nums}
.iv-ses span.c{color:#15803D;font-weight:600}
.iv-phone{width:150px;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit}
.iv-st{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}
.iv-n{background:#F3F4F6;color:#4B5563}.iv-s{background:#FEF3C7;color:#92400E}.iv-y{background:#DCFCE7;color:#15803D}.iv-x{background:#FEE2E2;color:#B91C1C}.iv-c{background:#DBEAFE;color:#1D4ED8}.iv-z{background:#F3F4F6;color:#9CA3AF}
.iv-ans{display:block;margin-top:5px;font-size:12.5px;color:var(--ink);max-width:280px;font-style:italic}
.iv-acts{white-space:nowrap;text-align:right}
.iv-acts .btn{margin-left:4px}

/* ===== Estilo DUBXpro (v0.40): claro, grafito y azul ===== */
html.theme-dubx{
  --accent:#2E6AED; --accent-ink:#fff; --accent-soft:#EAF0FD; --brand:#2E6AED; --link:#2257CC;
  --graphite:#2A3241; --ink:#1F2430; --bg:#F2F4F7;
}
html.theme-dubx .main a:hover{color:#174F96}
html.theme-dubx h1{font-weight:600;letter-spacing:-.015em}
html.theme-dubx .top{box-shadow:inset 0 -2px 0 var(--accent);border-bottom-color:transparent}
html.theme-dubx .btn.primary:hover{background:#2257CC;border-color:#2257CC}
/* panel izquierdo claro */
html.side-light{--side:#F6F7F9; --side-ink:#3A4150; --side-muted:#7C828C; --side-on:#E6EEFD}
html.side-light .side{border-right:1px solid var(--line)}
html.side-light .side .brand,html.side-light .brand{color:var(--ink)}
html.side-light .side .brand:hover,html.side-light .side .brand[aria-expanded="true"]{background:#ECEEF2}
html.side-light .nav-group a:hover,html.side-light .space summary:hover,html.side-light .space-projects a:hover,html.side-light .nav-proj a:hover{background:#ECEEF2;color:var(--ink)}
html.side-light .nav-group a.on,html.side-light .space-projects a.on,html.side-light .nav-proj.on > a{background:var(--side-on);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}
html.side-light .nav-group a.on svg,html.side-light .nav-proj.on > a svg{color:var(--accent)}
html.side-light .space summary{color:var(--ink)}
html.side-light .space-name{font-weight:600}
html.side-light .space-projects{border-left-color:#DDE1E7}
html.side-light .nav-more:hover{background:#E2E5EA;color:var(--ink)}
html.side-light .soon em,html.side-light .nav-arch{border-color:#D5D9E0}
html.side-light .side-toggle:hover{background:#E6E9EE;color:var(--ink)}
html.side-light .space summary:focus-visible,html.side-light .side-toggle:focus-visible{outline-color:var(--accent)}
html.side-light #side-fly{background:#fff;color:var(--ink);box-shadow:0 18px 44px rgba(21,23,28,.18);border:1px solid var(--line)}
html.side-light #side-fly .fly-head{color:var(--ink);border-bottom-color:var(--line)}
html.side-light #side-fly .nav-proj a{color:var(--ink2)}
html.side-light #side-fly .nav-proj a:hover{background:#F1F3F6;color:var(--ink)}
html.side-light #side-fly .nav-proj.on > a{background:var(--side-on);color:var(--accent)}
@media (min-width:901px){
  html.side-light.side-mini .nav-label{background:#DDE1E7}
  html.side-light.side-mini .space.fly-on summary{background:#E4E7EC}
}
/* bloque DUBXpro del menú (Salas, Doblaje, Pautado): un apartado propio y bien separado */
.nav-dubx{margin:4px 0 0;padding:10px 6px 8px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
html.side-light .nav-dubx{background:#fff;border-color:#DCE1E8;box-shadow:0 1px 2px rgba(21,23,28,.05)}
.dubx-head{display:flex;align-items:center;gap:9px;padding:0 6px 8px;margin:0 0 6px;border-bottom:1px solid rgba(255,255,255,.12);min-width:0}
html.side-light .dubx-head{border-bottom-color:#E6E9EE}
.dubx-mark{flex:none;display:block;object-fit:contain}
.dubx-word{font-weight:700;font-size:16px;letter-spacing:-.01em;color:#fff;white-space:nowrap;line-height:1}
html.side-light .dubx-word{color:var(--graphite,#2A3241)}
.dubx-word b{font-weight:700;color:#5B8CFF}
html.side-light .dubx-word b{color:#2E6AED}
.nav-dubx .nav-group a.on{background:#2E6AED;color:#fff;box-shadow:none}
.nav-dubx .nav-group a.on svg{color:#fff}
html.side-light .nav-dubx .nav-group a.on{background:#E6EEFD;color:#2E6AED}
html.side-light .nav-dubx .nav-group a.on svg{color:#2E6AED}
/* línea fuerte entre DUBXpro y los espacios */
.nav-spaces.after-dubx{border-top:2px solid rgba(255,255,255,.18);padding-top:16px;margin-top:2px}
html.side-light .nav-spaces.after-dubx{border-top-color:#D3D8E0}
@media (min-width:901px){
  html.side-mini .nav-dubx{padding:8px 2px;margin:0}
  html.side-mini .dubx-head{justify-content:center;padding:0 0 6px}
  html.side-mini .dubx-word{display:none}
  html.side-mini .nav-spaces.after-dubx{padding-top:10px}
}
/* elegir el estilo en Empresa */
.theme-pick{display:flex;gap:12px;flex-wrap:wrap}
.theme-opt{display:flex;flex-direction:column;gap:6px;cursor:pointer;width:180px;position:relative}
.theme-opt:has(input:checked) .theme-txt strong{color:var(--accent)}
.theme-opt > input{position:absolute;opacity:0;pointer-events:none}
.theme-prev{display:flex;height:72px;border-radius:10px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.theme-opt > input:checked + .theme-prev{box-shadow:0 0 0 3px var(--accent)}
.theme-opt > input:focus-visible + .theme-prev{outline:2px solid var(--link);outline-offset:3px}
.theme-prev .tp-side{width:38%;padding:10px 7px;display:flex;flex-direction:column;gap:6px}
.theme-prev .tp-side b{height:5px;border-radius:3px;background:currentColor;opacity:.35}
.theme-prev .tp-side b.tp-on{opacity:1}
.theme-prev .tp-main{flex:1;padding:10px;display:flex;justify-content:flex-end;align-items:flex-start}
.theme-prev .tp-btn{width:30px;height:9px;border-radius:4px}
.tp-dubx .tp-side{background:#F6F7F9;color:#2E6AED;border-right:1px solid #E2E4E9}.tp-dubx .tp-side b:not(.tp-on){color:#7C828C}
.tp-dubx .tp-main{background:#F2F4F7;box-shadow:inset 0 2px 0 #2E6AED}.tp-dubx .tp-btn{background:#2E6AED}
.tp-clas .tp-side{background:#15171C;color:#E7E9EE}.tp-clas .tp-main{background:#F3F4F6}.tp-clas .tp-btn{background:#C2410C}
.theme-txt strong{display:flex;align-items:center;gap:6px;font-size:14px}
.theme-txt small{display:block;color:var(--muted);font-size:12px}
.side-sw.sw-light > span i{background:rgba(46,50,56,.3)}
html:not(.side-light) .nav-dubx img.dubx-mark{background:#fff;border-radius:7px;padding:3px}
/* cabecera del proyecto: vista en la que estás */
.chips .chip.chip-view{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border-color:transparent;font-weight:600}
.chips .chip.chip-view svg{flex:none}

/* ===== v0.43: Hojas de sala y Doblajes, en oscuro como el Pautado ===== */
.pth-hero .hjs-bgicon,.pth-hero .dbj-bgicon{position:absolute;right:-30px;top:-50px;width:380px;height:380px;opacity:.16;pointer-events:none}
.hjs-k{color:#93C5FD}
.hjs-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.hjs-tools .btn{min-height:38px}
.hjs-ag{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#E5E7EB}
.hjs-ag:hover{background:rgba(255,255,255,.14);color:#fff}
.hjs-group{padding:6px 40px 10px}
.hjs-group h2{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9CA3AF;margin:14px 0 10px}
.hjs-group h2 span{font-size:11px;color:#6B7280;letter-spacing:0;border:1px solid #2E3442;border-radius:999px;padding:0 7px}
.hjs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.hjs-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px 16px 16px 14px;border-radius:16px;background:#161922;border:1px solid #262B36;border-left:5px solid var(--rc);color:#E5E7EB;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;min-height:112px}
.hjs-card:hover{transform:translateY(-3px);border-color:#3B4252;border-left-color:var(--rc);box-shadow:0 18px 40px rgba(0,0,0,.45);color:#fff}
.hjs-card.live{box-shadow:0 0 0 1px rgba(34,197,94,.35) inset}
.hjs-ic{flex:none;width:58px;height:58px;border-radius:14px;display:grid;place-items:center;color:#fff;background:color-mix(in srgb,var(--rc) 55%,#0D0F14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.hjs-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.hjs-body strong{font-size:18px;color:#fff;letter-spacing:.01em}
.hjs-now{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#4ADE80}
.hjs-now i{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.25)}
.hjs-next{font-size:13px;font-weight:700;color:#FBBF24}
.hjs-free{font-size:13px;color:#9CA3AF}
.hjs-who{font-size:13px;color:#CBD5E1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hjs-meta{font-size:11.5px;color:#6B7280;margin-top:4px}
.hjs-meta em{font-style:normal;color:#93C5FD}
.hjs-go{flex:none;font-size:28px;color:#4B5563;transition:color .15s,transform .15s}
.hjs-card:hover .hjs-go{color:#fff;transform:translateX(3px)}
/* Doblajes en oscuro */
.dbj-dark .dbj-wrap{padding:4px 40px 0}
.dbj-dark .dbj-new{margin-top:18px;flex-wrap:wrap}
.dbj-dark .dbj-new select{background:#161922;color:#E5E7EB;border:1px solid #2E3442;border-radius:9px;padding:0 10px}
.dbj-dark .dbj-new .btn:not(.primary){background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#E5E7EB}
.dbj-dark .dbj-filter input{background:#161922;color:#E5E7EB;border-color:#2E3442}
.dbj-dark .dbj-filter .seg{background:#161922;border-color:#2E3442}
.dbj-dark .dbj-filter .seg a{color:#9CA3AF}
.dbj-dark .dbj-filter .seg a.on{background:#E5E7EB;color:#111}
.dbj-dark .card.empty{background:#161922;border-color:#262B36;color:#E5E7EB}
.dbj-dark .dbj-card{background:#161922;border:1px solid #262B36;border-radius:16px;color:#E5E7EB;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.dbj-dark .dbj-card:hover{border-color:#D97706;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.dbj-dark .dbj-main h2{color:#fff}
.dbj-dark .dbj-sp,.dbj-dark .dbj-card .muted{color:#9CA3AF}
.dbj-dark .dbj-prog{color:#E5E7EB}
.dbj-dark .dub-pbar{background:#2E3442}
.dbj-dark .dbj-nums{color:#CBD5E1}
.dbj-dark .dbj-nums b{color:#FBBF24}
.dbj-dark .dbj-nums .warn,.dbj-dark .dbj-nums .warn b{color:#FBBF24}
.dbj-dark .dbj-nums .skip,.dbj-dark .dbj-nums .skip b{color:#F87171}
.dbj-dark .dbj-st span{background:rgba(255,255,255,.07);color:#E5E7EB}
.dbj-dark .dbj-acts{background:rgba(255,255,255,.03);border-top:1px solid #262B36}
.dbj-dark .dbj-row+.dbj-row{border-top-color:#2E3442}
.dbj-dark .dbj-upd{color:#6B7280}
.dbj-dark .auto-done{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.35)}
.dbj-dark .auto-done-tx b{color:#A7F3D0}
.dbj-dark .auto-done-tx span{color:#6EE7B7}
.dbj-dark .adb{background:rgba(255,255,255,.06);border-color:rgba(110,231,183,.45);color:#D1FAE5}
.dbj-dark .adb:hover{background:rgba(16,185,129,.18);color:#fff}
@media (max-width:900px){.hjs-group,.dbj-dark .dbj-wrap{padding-left:16px;padding-right:16px}.pth-hero .hjs-bgicon,.pth-hero .dbj-bgicon{width:240px;height:240px;opacity:.12}}

/* ---- Pautado · capa Auto-TC (v0.45) ---- */
.pt-a{flex:none;width:6.5ch;display:flex;align-items:flex-start;justify-content:flex-end}
.pt-atb{font:600 .72em/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;color:#1D4ED8;background:#EFF6FF;border:1px solid #BFDBFE;border-radius:5px;padding:0 5px;margin-top:.35em;cursor:pointer;opacity:.75}
.pt-atb.put{opacity:1;font-weight:800}
.pt-atb.mid{color:#92400E;background:#FFFBEB;border-color:#FCD34D}
.pt-atb.low{color:#713F12;background:#FEF08A;border-color:#EAB308;opacity:1}
.pt-atb:hover{border-color:#2563EB}
.pt-atb.take{margin-top:0;font-size:12px;opacity:1}
.pt-atb.take em{font-style:normal;font-weight:600;margin-left:4px;color:#64748B}
.pt-probs.atc{background:#DBEAFE;color:#1E3A8A}
.pt-atcpop{min-width:330px}
.pt-pop .pt-popchk{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:8px;padding:8px 10px;margin:0;font-size:13.5px;font-weight:400;color:var(--ink);cursor:pointer;border-radius:7px;text-align:left}
.pt-pop .pt-popchk input{width:auto;height:auto;margin:0;flex:none}
.pt-popchk:hover{background:#F4F6FA}
.badge-warn{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;white-space:nowrap;background:#FEF3C7;color:#92400E}
.pw-wrap{position:relative;display:block}
.pw-wrap input{width:100%;padding-right:40px;box-sizing:border-box}
.pw-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;padding:4px;color:#6b7280;cursor:pointer;display:flex;line-height:0}
.pw-eye:hover{color:#111}
/* barra del pautado: botones iguales con icono (v0.49.2) */
.pt-head .pt-grp{display:flex;gap:6px;align-items:center}
.pt-head .pt-grp + .pt-grp,.pt-acts > .pt-grp + .pt-grp{padding-left:10px;margin-left:4px;border-left:1px solid var(--line)}
.pt-head .pt-tb{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 11px;font-weight:600;font-size:13px;white-space:nowrap;border-radius:9px}
.pt-head .pt-tb svg{flex:none;opacity:.85}
.pt-head .pt-tb.primary svg{opacity:1}
.pt-head .pt-tb > svg:last-child:not(:first-child){opacity:.5;margin-left:-2px}
.pt-head .pt-tb-ic{width:34px;padding:0;justify-content:center}
.pt-head .pt-tb.on{background:#15171C;color:#fff;border-color:#15171C}
.pt-head .pt-zoom{display:flex;gap:4px}
.pt-pop a,.pt-pop .pt-popchk{display:flex!important;align-items:center;gap:9px}
.pt-pop a svg,.pt-pop .pt-popchk svg{flex:none;color:#6b7280}
.pt-pop a:hover svg{color:var(--ink)}
.pt-pophd{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9aa1ad;padding:10px 10px 4px}
.pt-pophd:first-child{padding-top:6px}
.pt-popsep{height:1px;background:var(--line);margin:6px 4px}
.pt-pop a.pt-popdanger{color:#B42318}.pt-pop a.pt-popdanger svg{color:#B42318}
.pt-head{flex-wrap:nowrap}
.pt-head .pt-title{min-width:0}.pt-head .pt-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.pt-head .pt-sum{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}
.pt-pop .pt-popchk{min-height:0!important;line-height:1.3}
@media (max-width:1700px){.pt-head > .pt-grp .pt-tb > span{display:none}.pt-head > .pt-grp .pt-tb{width:34px;padding:0;justify-content:center}}
@media (max-width:1180px){.pt-head .pt-tb:not(.primary) > span{display:none}.pt-head .pt-tb:not(.primary){padding:0 9px}.pt-head .pt-sum{display:none}}
.pt-pop .pt-popchk input[type=checkbox]{height:16px!important;width:16px!important;min-height:0!important;padding:0!important}
.pt-pop{min-width:320px}
.pt-pop{width:max-content;max-width:420px}.pt-pop a,.pt-pop .pt-popchk{white-space:nowrap}
/* Auto-TC con licencia (v0.50) */
.nav-lock{margin-left:auto;display:inline-flex;opacity:.55}
.atc-page h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.atc-pill{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px}
.atc-pill.on{background:#DCFCE7;color:#166534}.atc-pill.off{background:#F1F2F5;color:#4B5563}
.atc-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.atc-feats>div{display:flex;flex-direction:column;gap:4px}
.atc-feats small{color:var(--muted,#6b7280);line-height:1.4}
.atc-ic{width:42px;height:42px;border-radius:11px;background:#15171C;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.atc-engine{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:#F4F6FA;font-weight:600}
.atc-dot{width:10px;height:10px;border-radius:50%;background:#9CA3AF;flex:none}
.atc-engine.st-ready{background:#ECFDF3}.atc-engine.st-ready .atc-dot{background:#16A34A}
.atc-engine.st-off,.atc-engine.st-old,.atc-engine.st-nolic{background:#FFF7E6}.atc-engine.st-off .atc-dot,.atc-engine.st-old .atc-dot,.atc-engine.st-nolic .atc-dot{background:#F59E0B}
table.kv th{text-align:left;font-weight:600;color:#6b7280;padding:6px 18px 6px 0;width:140px}table.kv td{padding:6px 0}
.pt-head .pt-tb.pt-locked{color:#6b7280}
.pt-pop a.pt-popmain{font-weight:700}.pt-pop a.pt-popmain svg{color:var(--accent,#2563EB)}
.atc-box{max-width:520px}
.atc-form{display:grid;gap:10px;margin-top:12px}
.atc-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.atc-form select{height:36px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:14px;background:#fff}
.atc-step{font-weight:600;margin:10px 0 8px}
.atc-bar{height:10px;border-radius:999px;background:#EEF0F4;overflow:hidden;position:relative}
.atc-bar i{display:block;height:100%;width:2%;background:var(--accent,#2563EB);border-radius:999px;transition:width .4s}
.atc-bar.ind i{width:30%;animation:atcind 1.2s ease-in-out infinite}
@keyframes atcind{0%{margin-left:-30%}100%{margin-left:100%}}
.atc-sub{margin:8px 0 0;min-height:1.2em}
.atc-box .pt-modal-t{overflow-wrap:anywhere}

/* ---------- AutoPautado (v0.52): ventana de opciones, mover cortes, re-pautar ---------- */
.apx-wrap{position:fixed;inset:0;z-index:320;background:rgba(15,20,30,.52);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;animation:apFade .16s ease-out}
@keyframes apFade{from{opacity:0}to{opacity:1}}
@keyframes apRise{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.apx-box{width:min(860px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--card);color:var(--ink);border-radius:20px;box-shadow:0 30px 80px rgba(10,15,30,.38),0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent);overflow:hidden;animation:apRise .2s ease-out;font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
.apx-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 14px;background:linear-gradient(180deg,var(--accent-soft),transparent)}
.apx-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.apx-ic{grid-row:span 2;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-size:19px;box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 35%,transparent)}
.apx-head h2{margin:0;font-size:21px;letter-spacing:-.01em;font-weight:650}
.apx-head p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.apx-x{border:0;background:transparent;color:var(--muted);width:34px;height:34px;border-radius:10px;font-size:15px;cursor:pointer}
.apx-x:hover{background:var(--line2);color:var(--ink)}
.apx-scope{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:4px 24px 14px}
.apx-scope button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 14px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font:inherit;transition:border-color .12s,box-shadow .12s,background .12s}
.apx-scope button b{font-size:14.5px;font-weight:600}
.apx-scope button small{color:var(--muted);font-size:12.5px}
.apx-scope button:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.apx-scope button.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.apx-scope button:disabled{opacity:.45;cursor:not-allowed}
.apx-body{overflow:auto;padding:4px 24px 18px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start;grid-auto-flow:row dense}
.apx-card{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:color-mix(in srgb,var(--bg) 35%,var(--card));display:flex;flex-direction:column;gap:4px}
.apx-card h3{margin:0 0 4px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.apx-crit{grid-column:2;grid-row:2 / span 2}
.apx-hero{grid-column:1/-1;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:22px;background:var(--card)}
.apx-big{display:flex;flex-direction:column;gap:6px}
.apx-big>span{font-size:12.5px;color:var(--muted);font-weight:600}
.apx-num{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;height:40px}
.apx-num button{width:34px;height:100%;border:0;background:transparent;color:var(--ink2);font-size:18px;cursor:pointer}
.apx-num button:hover:not(:disabled){background:var(--line2);color:var(--ink)}
.apx-num input{width:46px;border:0;text-align:center;font:700 18px/1 'Instrument Sans',system-ui,sans-serif;color:var(--ink);background:transparent;-moz-appearance:textfield;appearance:textfield}
.apx-num input::-webkit-outer-spin-button,.apx-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.apx-big .apx-num{height:46px}.apx-big .apx-num input{width:54px;font-size:22px}
label.apx-sw{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:8px 4px;cursor:pointer;border-radius:10px;font-size:14px;color:var(--ink)}
.apx-sw input{position:absolute;opacity:0;pointer-events:none}
.apx-tg{flex:none;width:36px;height:22px;margin-top:1px;border-radius:999px;background:color-mix(in srgb,var(--muted) 35%,var(--line));position:relative;transition:background .15s}
.apx-tg::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.apx-sw input:checked+.apx-tg{background:var(--accent)}
.apx-sw input:checked+.apx-tg::after{transform:translateX(14px)}
.apx-sw input:focus-visible+.apx-tg{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}
.apx-l{display:flex;flex-direction:column;gap:1px;min-width:0}
.apx-l b{font-size:14px;font-weight:600;line-height:1.3}
.apx-l small{font-size:12.5px;color:var(--muted);line-height:1.35}
.apx-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px}
.apx-chars{width:118px;flex:none;height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font:700 16px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-align:center;background:var(--card);color:var(--ink)}
.apx-chars:focus,.apx-num:focus-within{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.apx-sub{display:flex;align-items:center;gap:8px;margin:-2px 0 4px 52px;font-size:13px;color:var(--ink2);transition:opacity .15s}
.apx-sub .apx-num{height:32px}.apx-sub .apx-num input{width:46px;font-size:15px}.apx-sub .apx-num button{width:28px}
.apx-sub.off{opacity:.4}
.apx-rig{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 4px}
.apx-rig .apx-l small{display:block}
.apx-seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--line2);gap:2px;flex:none}
.apx-seg button{border:0;background:transparent;border-radius:999px;padding:6px 12px;font:600 13px/1 inherit;color:var(--ink2);cursor:pointer}
.apx-seg button:hover{color:var(--ink)}
.apx-seg button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(15,23,42,.14)}
.apx-seg button[data-rig="strict"].on{color:#B91C1C}.apx-seg button[data-rig="flex"].on{color:#15803D}
.apx-sub[data-dep="rig"]{margin-left:4px}
.apx-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 24px 18px;border-top:1px solid var(--line);background:var(--card)}
.apx-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.apx-presets [data-slot]{height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink2);font:600 13px/1 'Instrument Sans',system-ui,sans-serif;cursor:pointer;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apx-presets [data-slot].empty{border-style:dashed;color:var(--muted);font-weight:500}
.apx-presets [data-slot].on{background:var(--ink);border-color:var(--ink);color:var(--card)}
.apx-link{border:0;background:transparent;color:var(--accent);font:600 13px 'Instrument Sans',system-ui,sans-serif;cursor:pointer;padding:6px 6px;border-radius:8px}
.apx-link:hover{background:var(--accent-soft)}
.apx-go{display:flex;gap:8px}.apx-go .btn{height:40px;padding:0 18px;border-radius:12px}.apx-go .btn.primary{min-width:120px}
@media (max-width:720px){.apx-body,.apx-scope{grid-template-columns:1fr}.apx-crit{grid-column:auto;grid-row:auto}.apx-hero{grid-template-columns:1fr 1fr}.apx-hero .apx-sw{grid-column:1/-1}.apx-foot{flex-direction:column;align-items:stretch}.apx-go{justify-content:flex-end}}
/* resultado */
.apx-done{position:fixed;right:20px;bottom:20px;z-index:330;width:min(340px,calc(100vw - 32px));background:var(--card);color:var(--ink);border-radius:16px;box-shadow:0 18px 50px rgba(10,15,30,.3),0 0 0 1px var(--line);padding:14px 16px 12px;animation:apRise .2s ease-out;font-family:'Instrument Sans',system-ui,sans-serif}
.apx-done-h{display:flex;align-items:center;justify-content:space-between}.apx-done-h b{font-size:14.5px}
.apx-done-h .apx-x{width:28px;height:28px}
.apx-done-n{display:flex;gap:18px;margin:6px 0 4px}
.apx-done-n span{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.apx-done-n b{font-size:24px;color:var(--accent);line-height:1.1}
.apx-done ul{margin:4px 0;padding-left:18px;font-size:13px;color:var(--ink2)}
.apx-done p{margin:6px 0 0;font-size:12px;color:var(--muted)}
/* barra «corte movido» */
.apx-bar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:330;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:calc(100vw - 32px);background:var(--graphite,#1F2430);color:#fff;border-radius:14px;padding:10px 12px 10px 16px;box-shadow:0 14px 40px rgba(0,0,0,.35);font:14px 'Instrument Sans',system-ui,sans-serif;animation:apRise .2s ease-out}
html.dark .apx-bar{background:#2A2F3A}
.apx-bar label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#C9CED8;cursor:pointer}
.apx-bar .btn{height:32px}
.apx-bar .btn:not(.primary){background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
/* botones del corte en la cabecera del take */
.pt-cut{display:inline-flex;gap:2px;margin-left:auto;opacity:0;transition:opacity .12s}
.pt-take:hover .pt-cut,.pt-take.sel .pt-cut{opacity:1}
.pt-cut button{height:24px;min-width:24px;padding:0 7px;border:1px solid #CBD5E1;border-radius:7px;background:#fff;color:#334155;font:600 11.5px/1 'Instrument Sans',system-ui,sans-serif;cursor:pointer}
.pt-cut button:hover{border-color:var(--accent);color:var(--accent)}
.pt-cut [data-reflow]{padding:0 9px}
@media (hover:none){.pt-cut{opacity:1}}
.apx-num input,.apx-num input:focus{background:transparent!important;border:0!important;box-shadow:none!important;outline:none;padding:0;height:100%;border-radius:0}
.apx-go .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink,#fff)}
.apx-go .btn.primary:hover{filter:brightness(1.06)}
.apx-bar{flex-wrap:nowrap;white-space:nowrap}
.apx-bar label{flex-direction:row;margin:0}
.apx-bar input{margin:0}
@media (max-width:760px){.apx-bar{flex-wrap:wrap;white-space:normal}}
/* pautado: ayuda para que Chrome recuerde el vídeo por la red del estudio */
.pt-fixsec{display:inline-block;margin-left:4px;color:var(--accent,#2f6bff);font-weight:600;text-decoration:underline;cursor:pointer}
.pt-secbox{max-width:620px}
.pt-secsteps{margin:10px 0 4px;padding-left:22px;line-height:1.45}
.pt-secsteps li{margin:0 0 10px}
.pt-seccopy{display:flex;gap:8px;align-items:center;margin-top:6px}
.pt-seccopy code{flex:1;min-width:0;overflow-wrap:anywhere;padding:6px 8px;border-radius:6px;background:rgba(127,127,127,.14);font-size:12.5px;user-select:all}
/* pautado: explorador de vídeos (el vídeo se guarda por ruta y se abre solo) */
.pt-vlbox{width:min(660px,100%)}
.pt-vlhelp{margin:-6px 0 10px}
.pt-vlroots{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 8px}
.pt-vlroots .btn.on{background:#2563EB;color:#fff;border-color:#2563EB}
.pt-vlpath{font-size:13px;margin:0 0 6px;overflow-wrap:anywhere}
.pt-vlpath a{color:inherit}
.pt-vllist{max-height:min(52vh,440px);overflow:auto;border:1px solid rgba(127,127,127,.25);border-radius:10px;padding:4px}
.pt-vlit{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px 10px;font:inherit;color:inherit;cursor:pointer}
.pt-vlit:hover,.pt-vlit:focus-visible{background:rgba(37,99,235,.08)}
.pt-vlit span{flex:1;min-width:0;overflow-wrap:anywhere}
.pt-vlit small{color:#6B7280;white-space:nowrap}
.pt-vlvid.on{background:rgba(37,99,235,.14);font-weight:600}
.pt-vlup{color:#6B7280}
.pt-vlmsg{padding:10px;margin:0}
/* pautado: caja de herramientas (AutoPautado, Auto-TC, Reparto, Modificar takes) */
.pt-head .pt-tb.pt-toolsbtn{background:linear-gradient(135deg,#2563EB,#7C3AED);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 2px 8px rgba(79,70,229,.35)}
.pt-head .pt-tb.pt-toolsbtn:hover{filter:brightness(1.08)}
.pt-head .pt-tb.pt-toolsbtn svg{color:#fff}
.pt-pop.pt-toolspop{width:360px;max-width:calc(100vw - 24px);padding:8px}
.pt-pop a.pt-tool{display:flex!important;align-items:center;gap:12px;padding:10px;border-radius:10px;white-space:normal}
.pt-pop a.pt-tool:hover{background:#F4F6FA}
.pt-toolic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#EEF2FF}
.pt-pop a.pt-tool .pt-toolic svg{color:#4F46E5}
.pt-tooltx{flex:1;min-width:0;display:grid;gap:2px}
.pt-tooltx b{font-size:14px}
.pt-tooltx small{font-size:12px;color:#6B7280;line-height:1.35;white-space:normal}
.pt-pop a.pt-tool > svg:last-child{color:#9CA3AF}
.pt-pop a.pt-tool.pt-off{opacity:.6}
.pt-pop a.pt-tool.pt-locked .pt-toolic{background:#F3F4F6}.pt-pop a.pt-tool.pt-locked .pt-toolic svg{color:#9CA3AF}
.pt-pop a.pt-tback{font-weight:600;color:#4F46E5;margin-bottom:2px}.pt-pop a.pt-tback svg{color:#4F46E5}
.pt-tpanel[hidden]{display:none}
/* Modificar takes */
.pt-modal-box.pt-tkbox{width:min(580px,100%);padding:0;overflow:hidden}
.pt-tkhd{display:flex;align-items:baseline;gap:10px;padding:16px 18px 10px}
.pt-tkhd b{font-size:17px}
.pt-tkx{margin-left:auto;border:0;background:none;font-size:16px;line-height:1;cursor:pointer;color:#6B7280;padding:4px 6px;border-radius:6px}
.pt-tkx:hover{background:#F3F4F6;color:#111827}
.pt-tktabs{display:flex;gap:4px;margin:0 18px;padding:4px;background:#F1F5F9;border-radius:10px}
.pt-tktabs button{flex:1;border:0;background:none;padding:8px;border-radius:7px;font:inherit;font-size:13px;font-weight:600;color:#475569;cursor:pointer}
.pt-tktabs button.on{background:#fff;color:#111827;box-shadow:0 1px 3px rgba(15,23,42,.14)}
.pt-tkbody{padding:14px 18px;display:grid;gap:12px;max-height:62vh;overflow:auto}
.pt-tkcard{border:1px solid var(--line,#E5E7EB);border-radius:12px;padding:12px 14px;display:grid;gap:10px}
.pt-tkcard h4{margin:0;font-size:14px}
.pt-tkcard p{margin:0}
.pt-tkfield{display:grid;gap:4px;font-size:12px;color:#475569;font-weight:600}
.pt-tkin{font:inherit;font-size:15px;padding:8px 10px;border:1px solid #CBD5E1;border-radius:8px;width:100%;box-sizing:border-box;background:#fff;color:#111827}
.pt-tkin:focus{outline:2px solid #93C5FD;border-color:#2563EB}
.pt-tkin.tc{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
.pt-tknum{max-width:130px}
.pt-tkprev{font-weight:400;color:#64748B;min-height:1.2em}
.pt-tkrow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.pt-tkrow .pt-tkfield{flex:1;min-width:150px}
.pt-tkrow .pt-tkfield:has(.pt-tknum){flex:0 0 auto;min-width:0}
.pt-tkacts{display:flex;gap:8px;flex-wrap:wrap}
.pt-tkinfo{font-size:13px;color:#334155}
.pt-tkinfo.bad{color:#B42318}
.btn.pt-tkdanger{color:#B42318;border-color:#FCA5A5}
.btn.pt-tkdanger:hover{background:#FEF2F2}
.pt-tkcard.pt-tkdz{border-color:#FCA5A5;background:#FFF7F7}
.btn.pt-tkbig{font-weight:700;padding:9px 14px}
.pt-tkseg{display:inline-flex;border:1px solid #CBD5E1;border-radius:8px;overflow:hidden;align-self:flex-end}
.pt-tkseg button{border:0;background:#fff;padding:9px 12px;font:inherit;font-size:13px;font-weight:600;color:#475569;cursor:pointer}
.pt-tkseg button.on{background:#2563EB;color:#fff}
.pt-tknote{padding:0 18px 16px;margin:0}
.pt-tktabs button{white-space:nowrap}
/* v0.131.0 · Sustituir guion (tres maneras) y Quitar takes: opciones en tarjetas */
.pt-modal-box.pt-rpbox{width:min(640px,100%)}
.pt-rpfile{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.pt-rpsum{margin:0;font-size:14px;line-height:1.5;color:#1F2937}
.pt-rpw{margin:0;font-size:13px;color:#92400E;background:#FFFBEB;border:1px solid #FDE68A;border-radius:9px;padding:7px 10px}
.pt-rpopts{display:grid;gap:8px}
.pt-modal .pt-rpopts label.pt-rpo,.pt-rpopts label.pt-rpo{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important;margin:0!important;padding:12px 14px;border:1.5px solid #E2E8F0;border-radius:12px;cursor:pointer;background:#fff;text-transform:none;letter-spacing:0;font-weight:400;color:#111827;transition:border-color .12s,background .12s,box-shadow .12s}
.pt-rpo:hover{border-color:#BFD3FB}
.pt-rpo.on{border-color:#2563EB;background:#F5F8FF;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.pt-rpo.off{opacity:.5;pointer-events:none}
.pt-rpo input{position:absolute;opacity:0;pointer-events:none}
.pt-rpo-r{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #CBD5E1;margin-top:2px;background:#fff;transition:.12s}
.pt-rpo.on .pt-rpo-r{border-color:#2563EB;box-shadow:inset 0 0 0 3.5px #fff;background:#2563EB}
.pt-rpo-tx{display:grid;gap:2px;min-width:0}
.pt-rpo-tx > b{font-size:14.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pt-rpo-tx > b em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.02em;color:#1D4ED8;background:#E0EAFF;border-radius:999px;padding:2px 8px}
.pt-rpo-tx small{font-size:12.5px;color:#64748B}
.pt-rpo-d{font-size:13px;color:#334155;line-height:1.45;margin-top:4px}
.pt-rpo-d:empty{display:none}
.pt-rpo-w{font-size:12.5px;color:#92400E;margin-top:3px}
.pt-rpo.pt-rpo-bad.on{border-color:#DC2626;background:#FFF7F7;box-shadow:0 0 0 3px rgba(220,38,38,.10)}
.pt-rpo.pt-rpo-bad.on .pt-rpo-r{border-color:#DC2626;background:#DC2626}
.pt-rpb{padding:0 18px 16px;margin-top:4px;align-items:center}
.pt-rpb > span{margin-right:auto;max-width:300px;line-height:1.35}
html.dark .pt-rpsum{color:#E5E7EB}
html.dark .pt-rpopts label.pt-rpo{background:#1B1D24;border-color:#2C2F3A;color:#E5E7EB}
html.dark .pt-rpo.on{background:#18233D;border-color:#3B82F6}
html.dark .pt-rpo-d{color:#CBD5E1}
html.dark .pt-rpw{background:#2A2210;border-color:#5C4813;color:#FCD34D}
@media (max-width:560px){.pt-head .pt-toolsbtn span{display:none}}

/* ===== Estilo DubXpro «segmentado tipo macOS» (v0.55) — cabecera del pautado =====
   Colores del logo: azul DubXpro #0A6CF5, grafito #222A3A, grises claros. Los botones van agrupados en
   cápsulas grises; el activo o al pasar el ratón se ve blanco con una sombra suave. Solo «Ir al planning»
   lleva color. */
.pt-head{background:#FBFBFC;border-bottom-color:#E6E8EC;gap:10px}
.pt-head .pt-grp{gap:2px;background:#E9EBEF;border-radius:11px;padding:3px}
.pt-head .pt-grp + .pt-grp,.pt-acts > .pt-grp + .pt-grp{border-left:0;padding-left:3px;margin-left:6px}
.pt-head .pt-zoom{gap:2px}
.pt-head .pt-tb,.pt-head .pt-grp .btn.small{height:30px;min-height:0;padding:0 11px;border:0;border-radius:8px;background:transparent;color:#222A3A;font-weight:500;font-size:13.5px;box-shadow:none;transition:background .12s,box-shadow .12s}
.pt-head .pt-tb svg{opacity:1;color:#4A5262}
.pt-head .pt-tb > svg:last-child:not(:first-child){color:#8A92A0;opacity:1}
.pt-head .pt-tb:hover,.pt-head .pt-menu:has(.pt-pop:not([hidden])) > .pt-tb{background:#FFFFFF;color:#222A3A;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.pt-head .pt-tb:active{background:#DDE1E7;box-shadow:inset 0 1px 2px rgba(16,24,40,.10)}
.pt-head .pt-tb:disabled{color:#A3AAB6;background:transparent;box-shadow:none}
.pt-head .pt-tb-ic{width:30px;padding:0}
.pt-head > .pt-tb-ic{height:32px;width:32px;background:#E9EBEF}
.pt-head .pt-tb.on,.pt-head .pt-fs.on{background:#FFFFFF;color:#0A6CF5;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.pt-head .pt-tb.on svg,.pt-head .pt-fs.on svg{color:#0A6CF5}
/* Herramientas: igual que los demás, con su icono en azul */
.pt-head .pt-tb.pt-toolsbtn{background:transparent;color:#222A3A;font-weight:600;box-shadow:none;filter:none}
.pt-head .pt-tb.pt-toolsbtn:hover,.pt-head .pt-menu:has(.pt-pop:not([hidden])) > .pt-tb.pt-toolsbtn{background:#FFFFFF;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.pt-head .pt-tb.pt-toolsbtn svg:first-child{color:#0A6CF5}
.pt-head .pt-tb.pt-toolsbtn > svg:last-child{color:#8A92A0}
/* el único botón con color */
.pt-head .pt-tb.primary{height:32px;border-radius:9px;background:#0A6CF5;color:#fff;font-weight:600;box-shadow:0 1px 2px rgba(10,108,245,.30)}
.pt-head .pt-tb.primary svg{color:#fff}
.pt-head .pt-tb.primary:hover{background:#0960DA;color:#fff;box-shadow:0 1px 3px rgba(10,108,245,.38)}
/* desplegables */
.pt-head .pt-pop{border:0;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 40px rgba(16,24,40,.14),0 0 0 .5px rgba(16,24,40,.10);padding:6px}
.pt-head .pt-pop a{border-radius:9px;color:#222A3A}
.pt-head .pt-pop a:hover{background:#0A6CF5;color:#fff}
.pt-head .pt-pop a:hover svg,.pt-head .pt-pop a:hover small{color:#fff}
.pt-head .pt-pop a.pt-popdanger{color:#B42318}.pt-head .pt-pop a.pt-popdanger:hover{background:#FBECEA;color:#B42318}.pt-head .pt-pop a.pt-popdanger:hover svg{color:#B42318}
.pt-head .pt-pop a.pt-tool:hover{background:#0A6CF5}
.pt-head .pt-pop a.pt-tool:hover small{color:rgba(255,255,255,.82)}
.pt-head .pt-toolic{width:32px;height:32px;border-radius:8px;background:#EFF1F4}
.pt-head .pt-pop a.pt-tool .pt-toolic svg{color:#222A3A}
.pt-head .pt-pop a.pt-tool:hover .pt-toolic{background:rgba(255,255,255,.18)}
.pt-head .pt-pop a.pt-tool:hover .pt-toolic svg{color:#fff}
.pt-head .pt-pop a.pt-tback{color:#0A6CF5}.pt-head .pt-pop a.pt-tback svg{color:#0A6CF5}
.pt-head .pt-pop a.pt-tback:hover{background:#EEF4FF;color:#0A6CF5}.pt-head .pt-pop a.pt-tback:hover svg{color:#0A6CF5}

/* ===== Estilo DubXpro «segmentado tipo macOS» (v0.57) — proyecto, planning y agenda =====
   Cápsulas grises con los botones dentro; el activo o al pasar, blanco con sombra suave. Los iconos se ven
   siempre. Sin colores salvo «Preparar convocatorias» (grafito). La página Doblajes no se toca todavía. */
.ver-chip{font-size:11.5px;font-weight:600;color:#4A5262;background:#E9EBEF;border-radius:999px;padding:3px 9px;white-space:nowrap}
/* vistas del proyecto: Hoja, Pestañas, Gantt, Calendario, Planning, Pautado, Agenda */
.proj-toolbar .seg,.dub-views .seg,.dub-kpis-r .seg,.dub-goto{background:#E9EBEF;border:0;border-radius:11px;padding:3px;gap:2px;overflow:visible}
.proj-toolbar .seg > * + *,.dub-views .seg > * + *,.dub-kpis-r .seg > * + *,.dub-goto > * + *{border-left:0}
.proj-toolbar .seg > *,.dub-views .seg > *,.dub-kpis-r .seg > *,.dub-goto > *{border-radius:8px!important}
.proj-toolbar .seg a,.proj-toolbar .seg button,.dub-views .seg a,.dub-views .seg button,.dub-kpis-r .seg a,.dub-kpis-r .seg button,.dub-goto a{background:transparent;color:#222A3A!important;font-weight:500;padding:6px 11px;border:0!important;box-shadow:none;transition:background .12s,box-shadow .12s}
.proj-toolbar .seg a svg,.proj-toolbar .seg button svg,.dub-views .seg a svg,.dub-kpis-r .seg svg,.dub-goto a svg{color:#4A5262;flex:none}
.proj-toolbar .seg a:hover,.proj-toolbar .seg button:hover,.dub-views .seg a:hover,.dub-views .seg button:hover,.dub-kpis-r .seg a:hover,.dub-kpis-r .seg button:hover,.dub-goto a:hover{background:#FFFFFF!important;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.proj-toolbar .seg a.on,.proj-toolbar .seg button.on,.dub-views .seg a.on,.dub-views .seg button.on,.dub-kpis-r .seg .on,.sheet-zoom .tb-fs.on{background:#FFFFFF!important;color:#222A3A!important;font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.proj-toolbar .seg a.on svg,.dub-views .seg a.on svg,.dub-kpis-r .seg .on svg{color:#0A6CF5}
.proj-toolbar .seg a.on:hover,.dub-views .seg a.on:hover{background:#FFFFFF!important}
/* los iconos siempre visibles: en pantallas estrechas se ocultan los textos, nunca los iconos */
.proj-toolbar .seg-view a svg{display:inline-block!important;width:16px;height:16px}
/* Agenda · Avisar actores · Hoja de sala · Tablets (sin colores) */
.dub-goto a.qa-hoja,.dub-goto a.qa-tab,.dub-goto a.qa-enl,.dub-goto a.qa-wa{background:transparent!important;color:#222A3A!important;border-color:transparent!important}
.dub-goto a.qa-hoja:hover,.dub-goto a.qa-tab:hover,.dub-goto a.qa-enl:hover,.dub-goto a.qa-wa:hover{background:#FFFFFF!important;color:#222A3A!important}
/* Convocar automáticamente · Pautado del guion · Revisión de takes */
.dub-tb .dub-tools{background:#E9EBEF;border-radius:11px;padding:3px;gap:2px}
.dub-tb .dub-tool,.dub-tb .dub-tool.t-magic,.dub-tb .dub-tool.t-script,.dub-tb .dub-tool.t-rev{background:transparent;color:#222A3A;text-shadow:none;box-shadow:none;font-weight:500;font-size:13.5px;height:30px;min-height:30px;padding:0 11px;border-radius:8px;filter:none;transform:none}
.dub-tb .dub-tool svg{color:#4A5262}
.dub-tb .dub-tool:hover,.dub-tb .dub-tool.t-magic:hover{background:#FFFFFF;color:#222A3A;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06);filter:none;transform:none}
.dub-tb .dub-tool.auto-ok svg{color:#1C7A4A}
/* ajustes, enlace, más opciones */
.proj-toolbar .ph-icons{background:#E9EBEF;border:0;border-radius:11px;padding:3px;gap:2px}
.proj-toolbar .ph-ic{width:30px;height:30px;border-radius:8px;color:#4A5262}
.proj-toolbar .ph-ic:hover{background:#FFFFFF;color:#222A3A;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
/* Nueva lista: un botón más, sin color */
.proj-toolbar .ph-actions .btn.primary{background:#E9EBEF;border-color:transparent;color:#222A3A;font-weight:600;min-height:36px;border-radius:11px;padding:0 14px}
.proj-toolbar .ph-actions .btn.primary:hover{background:#FFFFFF;color:#222A3A;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.proj-toolbar .ph-actions .btn.primary svg{color:#0A6CF5}
/* Preparar convocatorias: el único algo distinto (grafito, icono azul) */
.btn.fluzo{background:#222A3A;color:#fff;border:0;font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.2);filter:none}
.btn.fluzo:hover{background:#2E3850;color:#fff;filter:none}
.btn.fluzo .fluzo-ic{color:#5FA2FF;text-shadow:none}
/* Agenda: solo los botones de arriba a la derecha (Hoja de sala, Tablets, Enlaces) */
.rooms-page .page-head .btn.small.qa-hoja,.rooms-page .page-head .btn.small.qa-tab,.rooms-page .page-head .btn.small.qa-enl,.rooms-page .page-head .btn.small[data-escback]{background:#E9EBEF!important;color:#222A3A!important;border-color:transparent!important;border-radius:10px;font-weight:500;min-height:32px;padding:0 12px}
.rooms-page .page-head .btn.small.qa-hoja:hover,.rooms-page .page-head .btn.small.qa-tab:hover,.rooms-page .page-head .btn.small.qa-enl:hover,.rooms-page .page-head .btn.small[data-escback]:hover{background:#FFFFFF!important;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.rooms-page .page-head .btn.small.qa svg{color:#4A5262}
/* planning: la barra de vistas (Hoja, Pestañas… Planning, Pautado, Agenda) siempre a la misma altura que
   en las otras vistas; los datos de la película van debajo */
.proj-toolbar + .dub-kpis-top{margin:14px 0 4px}
/* v0.57.2 — planning: que no se monten los botones y que los datos de la película queden más arriba */
.proj-toolbar{flex-wrap:wrap;row-gap:8px}
.dub-tb .dub-tool,.proj-toolbar .ph-actions .btn.primary{white-space:nowrap}
.dub-tb .dub-tool{flex:none}
@media (max-width:1760px){.dub-tb .dub-tool{font-size:0;gap:0;padding:0 9px}.dub-tb .dub-tool svg{width:17px;height:17px}}
.proj-toolbar + .dub-kpis-top{margin:8px 0 0;flex-wrap:nowrap;gap:8px}
.dub-kpis-top .dub-kpis{flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:5px}
.dub-kpis-top .dub-kpis::-webkit-scrollbar{display:none}
.dub-kpis-top .dub-kpis > div{flex:none;padding:4px 9px;white-space:nowrap}
.dub-kpis-top .dub-kpis b{font-size:14px}
.dub-kpis-top .dub-kpis span{font-size:11.5px}
.dub-kpis-r{flex:none}
.dub-kpis-r .dub-goto a,.dub-kpis-r .seg button{padding:5px 9px;white-space:nowrap}
@media (max-width:1760px){.dub-kpis-r .dub-goto a,.dub-kpis-r .seg button{font-size:0;gap:0;padding:6px 9px}.dub-kpis-r .dub-goto a svg,.dub-kpis-r .seg button svg{width:16px;height:16px}}

/* v0.57.3 — cambiar de vista sin parpadeo: el navegador funde una página con la siguiente en lugar de
   borrarla y repintarla. El menú lateral, la barra de arriba y la cabecera del proyecto (con su imagen)
   se quedan quietos. Chrome/Edge; en otros navegadores se cambia como siempre. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.14s;animation-timing-function:ease-out}
.side{view-transition-name:dx-side}
.top{view-transition-name:dx-top}
.proj-head{view-transition-name:dx-head}
.proj-toolbar{view-transition-name:dx-views}
::view-transition-group(dx-side),::view-transition-group(dx-top),::view-transition-group(dx-head),::view-transition-group(dx-views){animation-duration:0s}
::view-transition-old(dx-side),::view-transition-old(dx-top),::view-transition-old(dx-head),::view-transition-old(dx-views){display:none}
::view-transition-new(dx-side),::view-transition-new(dx-top),::view-transition-new(dx-head),::view-transition-new(dx-views){animation:none}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* v0.57.3 — barra del planning: los nombres de Convocar automáticamente, Pautado del guion y Revisión de
   takes se ocultan según el ancho real de la barra (no de la pantalla), así nunca se montan con los iconos */
.proj-toolbar{container-type:inline-size;container-name:dxbar}
@container dxbar (max-width:1700px){.dub-tb .dub-tool{font-size:0;gap:0;padding:0 9px}.dub-tb .dub-tool svg{width:17px;height:17px}}
@container dxbar (min-width:1701px){.dub-tb .dub-tool{font-size:13.5px;gap:8px;padding:0 11px}}
.dub-kpis-top{container-type:inline-size;container-name:dxkpis}
@container dxkpis (max-width:1600px){.dub-kpis-r .dub-goto a,.dub-kpis-r .seg button{font-size:0;gap:0;padding:6px 9px}.dub-kpis-r .dub-goto a svg,.dub-kpis-r .seg button svg{width:16px;height:16px}}
@container dxkpis (min-width:1601px){.dub-kpis-r .dub-goto a,.dub-kpis-r .seg button{font-size:13px;gap:6px;padding:5px 9px}}

/* ===== v0.58 — Doblajes con estilo B «claro, gris pizarra» (y su versión oscura con el modo oscuro) =====
   Fondo gris pizarra, cabecera en grafito del logo, fichas claras y botones en cápsulas grises tipo macOS.
   Sin colorines: el único botón de color es «Empezar planning». Con el modo oscuro (html.dark) cambia solo a
   grafito oscuro. */
.pth.dbj-b{--d-bg:#C9CED6;--d-card:#F6F7F9;--d-ink:#1E2533;--d-mut:#5B6474;--d-line:#E1E4E9;--d-cap:#E2E5EA;--d-capOn:#FFFFFF;--d-ic:#4A5262;--d-bar:#D1D5DC;--d-chip:#E9EBEF;--d-hero:#222A3A;--d-heroCap:#2F384A;--d-heroOn:#46516A;--d-on-sh:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06);--d-card-sh:0 2px 6px rgba(16,24,40,.08);background:var(--d-bg);color:var(--d-ink);min-height:100%}
html.dark .pth.dbj-b{--d-bg:#171C27;--d-card:#222A3A;--d-ink:#EEF1F6;--d-mut:#A3ACBC;--d-line:#323C50;--d-cap:#2D3648;--d-capOn:#46516A;--d-ic:#C3CAD6;--d-bar:#323C50;--d-chip:#2D3648;--d-hero:#11151E;--d-heroCap:#222A3A;--d-heroOn:#3A465C;--d-on-sh:0 1px 2px rgba(0,0,0,.35),inset 0 .5px 0 rgba(255,255,255,.08);--d-card-sh:0 8px 24px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.05)}
/* cabecera */
.dbj-b .pth-hero{background:var(--d-hero);padding:32px 40px 26px}
.dbj-b .pth-strip,.dbj-b .dbj-bgicon{display:none}
.dbj-b .pth-kicker{color:#5FA2FF}
.dbj-b .pth-hero h1{color:#F3F5F8;font-size:38px;margin:8px 0 8px}
.dbj-b .pth-hero p{color:#AEB6C4;font-size:15px}
.dbj-b .dbj-new{margin-top:18px;flex-wrap:wrap}
.dbj-b .dbj-new select{min-height:38px;background:var(--d-heroCap);color:#E6E9EF;border:0;border-radius:10px;padding:0 10px}
.dbj-b .dbj-new .btn:not(.primary){background:var(--d-heroCap);border:0;color:#F3F5F8;border-radius:11px;font-weight:500}
.dbj-b .dbj-new .btn:not(.primary) svg{color:#AEB6C4}
.dbj-b .dbj-new .btn:not(.primary):hover{background:var(--d-heroOn)}
.dbj-b .dbj-new .btn.primary{background:#0A6CF5;border-color:#0A6CF5;border-radius:10px}
.dbj-b .dbj-new .btn.primary:hover{background:#0960DA}
/* filtro */
.dbj-b .dbj-wrap{padding:22px 40px 40px}
.dbj-b .dbj-filter input{background:var(--d-card);color:var(--d-ink);border:0;border-radius:10px;box-shadow:0 0 0 1px rgba(16,24,40,.08)}
.dbj-b .dbj-filter .seg{background:var(--d-cap);border:0;border-radius:11px;padding:3px;gap:2px}
.dbj-b .dbj-filter .seg > * + *{border-left:0}
.dbj-b .dbj-filter .seg a{color:var(--d-ink);border-radius:8px;padding:6px 11px;background:transparent}
.dbj-b .dbj-filter .seg a.on{background:var(--d-capOn);color:var(--d-ink);font-weight:600;box-shadow:var(--d-on-sh)}
/* fichas */
.dbj-b .card.empty{background:var(--d-card);color:var(--d-ink);border:0}
.dbj-b .dbj-card{background:var(--d-card);color:var(--d-ink);border:0;border-radius:16px;box-shadow:var(--d-card-sh);transition:box-shadow .15s}
.dbj-b .dbj-card:hover{border-color:transparent;box-shadow:0 10px 28px rgba(16,24,40,.14)}
.dbj-b .dbj-main h2{color:var(--d-ink);font-size:22px}
.dbj-b .dbj-sp,.dbj-b .dbj-card .muted{color:var(--d-mut)}
.dbj-b .dbj-prog{color:var(--d-ink)}
.dbj-b .dub-pbar{background:var(--d-bar);height:6px;border-radius:99px}
.dbj-b .dub-pbar i{background:#0A6CF5}
.dbj-b .dbj-nums{color:var(--d-mut)}
.dbj-b .dbj-nums b{color:var(--d-ink)}
.dbj-b .dbj-nums .warn,.dbj-b .dbj-nums .warn b{color:#B45309}
html.dark .dbj-b .dbj-nums .warn,html.dark .dbj-b .dbj-nums .warn b{color:#FBBF24}
.dbj-b .dbj-st span{background:var(--d-chip);color:var(--d-ink)}
/* Convocar automáticamente: discreto, icono azul */
.dbj-b .magic-btn{background:var(--d-cap);color:var(--d-ink);font-weight:500;font-size:12.5px;box-shadow:none;border-radius:9px;padding:0 11px;height:30px;filter:none;transform:none}
.dbj-b .magic-btn svg{color:#0A6CF5}
.dbj-b .magic-btn:hover{background:var(--d-capOn);color:var(--d-ink);box-shadow:var(--d-on-sh);filter:none;transform:none}
.dbj-b .magic-btn.auto-ok svg{color:#1C9A5B}
/* convocados automáticamente: sin verdes chillones */
.dbj-b .auto-done{background:var(--d-chip);border:0}
.dbj-b .auto-done-ic{background:#1C9A5B}
.dbj-b .auto-done-tx b{color:var(--d-ink)}.dbj-b .auto-done-tx span{color:var(--d-mut)}
.dbj-b .adb,.dbj-b .adb.wa{background:var(--d-card)!important;color:var(--d-ink)!important;border:0!important;box-shadow:0 0 0 1px rgba(16,24,40,.08)}
.dbj-b .adb.undo{color:#B42318!important}
/* botones de la ficha en cápsulas */
.dbj-b .dbj-acts{background:transparent;border-top:1px solid var(--d-line);gap:8px}
.dbj-b .dbj-row{display:inline-flex;align-self:flex-start;gap:2px;background:var(--d-cap);border-radius:11px;padding:3px;flex-wrap:wrap}
.dbj-b .dbj-row+.dbj-row{border-top:0;padding-top:3px}
.dbj-b .dbj-acts .dub-tool,.dbj-b .dbj-acts .dub-tool.qa-hoja,.dbj-b .dbj-acts .dub-tool.qa-tab{background:transparent!important;color:var(--d-ink)!important;border:0!important;box-shadow:none;text-shadow:none;height:30px;min-height:30px;padding:0 11px;border-radius:8px;font-weight:500;font-size:13.5px;filter:none;transform:none}
.dbj-b .dbj-acts .dub-tool svg{color:var(--d-ic)}
.dbj-b .dbj-acts .dub-tool:hover{background:var(--d-capOn)!important;box-shadow:var(--d-on-sh);filter:none;transform:none}
.dbj-b .dbj-acts .dbj-upd{align-self:flex-end;margin-left:0;color:var(--d-mut)}

/* ===== v0.59 — Estilo B «claro, gris pizarra» en Pautado y Hojas de sala; fichas de Doblajes compactas =====
   Las mismas variables que Doblajes (v0.58). Con el modo oscuro (html.dark) pasa solo a grafito oscuro. */
.pth.pth-b,.pth-dlg{--d-bg:#C9CED6;--d-card:#F6F7F9;--d-ink:#1E2533;--d-mut:#5B6474;--d-line:#E1E4E9;--d-cap:#E2E5EA;--d-capOn:#FFFFFF;--d-ic:#4A5262;--d-chip:#E9EBEF;--d-hero:#222A3A;--d-heroCap:#2F384A;--d-heroOn:#46516A;--d-field:#FFFFFF;--d-ring:rgba(16,24,40,.12);--d-ok:#1C9A5B;--d-link:#0A6CF5;--d-on-sh:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06);--d-card-sh:0 2px 6px rgba(16,24,40,.08);--d-card-hv:0 12px 30px rgba(16,24,40,.16)}
html.dark .pth.pth-b,html.dark .pth-dlg{--d-bg:#171C27;--d-card:#222A3A;--d-ink:#EEF1F6;--d-mut:#A3ACBC;--d-line:#323C50;--d-cap:#2D3648;--d-capOn:#46516A;--d-ic:#C3CAD6;--d-chip:#2D3648;--d-hero:#11151E;--d-heroCap:#222A3A;--d-heroOn:#3A465C;--d-field:#2D3648;--d-ring:rgba(255,255,255,.08);--d-ok:#34C17A;--d-link:#7DB4FF;--d-on-sh:0 1px 2px rgba(0,0,0,.35),inset 0 .5px 0 rgba(255,255,255,.08);--d-card-sh:0 8px 24px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.05);--d-card-hv:0 14px 34px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.08)}
.pth.pth-b{background:var(--d-bg);color:var(--d-ink)}
/* cabecera grafito */
.pth-b .pth-hero{background:var(--d-hero);padding:32px 40px 26px}
.pth-b .pth-hero.small{padding:26px 40px 22px}
.pth-b .pth-strip,.pth-b .hjs-bgicon{display:none}
.pth-b .pth-kicker,.pth-b .hjs-k{color:#5FA2FF}
.pth-b .pth-hero h1{color:#F3F5F8;font-size:38px;margin:8px 0 8px}
.pth-b .pth-hero.small h1{font-size:32px;margin:6px 0 4px}
.pth-b .pth-hero p{color:#AEB6C4;font-size:15px}
.pth-b .pth-back,.pth-b .pth-links a{color:#7DB4FF}
.pth-b .pth-hero.has-cover > .pc-cover{opacity:.22;filter:saturate(.6)}
.pth-b .pth-hero.has-cover::after{background:linear-gradient(90deg,var(--d-hero) 25%,color-mix(in srgb,var(--d-hero) 55%,transparent) 70%,color-mix(in srgb,var(--d-hero) 85%,transparent))}
.pth-b .pth-empty{color:var(--d-mut)}
/* Pautado de películas: fichas */
.pth-b .pth-grid{padding:22px 40px}
.pth-b .pth-card{background:var(--d-card);color:var(--d-ink);border:0;box-shadow:var(--d-card-sh);min-height:240px}
.pth-b .pth-card:hover{transform:translateY(-2px);border-color:transparent;box-shadow:var(--d-card-hv);color:var(--d-ink)}
.pth-b .pth-card .pc-cover{border-bottom:0;height:140px}
.pth-b .pth-noimg{height:140px;border-bottom:0;background:linear-gradient(135deg,#46516A,#222A3A);color:rgba(255,255,255,.9);font-size:56px}
.pth-b .pth-body strong{color:var(--d-ink)}
.pth-b .pth-nums{color:var(--d-mut)}.pth-b .pth-nums b{color:var(--d-ink)}.pth-b .pth-nums em{color:var(--d-ok);font-weight:600}
.pth-b .pth-when{color:var(--d-mut)}
.pth-b .pth-new{background:transparent;border:2px dashed color-mix(in srgb,var(--d-ink) 25%,transparent);box-shadow:none}
.pth-b .pth-new:hover{background:color-mix(in srgb,var(--d-card) 45%,transparent);border-color:#0A6CF5;box-shadow:none}
.pth-b .pth-plus{background:#0A6CF5;width:56px;height:56px;font-size:34px;box-shadow:0 4px 14px rgba(10,108,245,.35)}
.pth-b .pth-new strong{color:var(--d-ink)}.pth-b .pth-new span:last-child{color:var(--d-mut)}
/* Pautado de una película: paneles, lista de guiones y formulario */
.pth-b .pth-cols{padding:22px 40px}
.pth-b .pth-panel,.pth-dlg{background:var(--d-card);color:var(--d-ink)}
.pth-b .pth-panel{border-radius:16px;box-shadow:var(--d-card-sh);padding:20px 22px}
.pth-b .pth-panel h2{color:var(--d-ink)}
.pth-b .pth-panel .muted,.pth-dlg .muted{color:var(--d-mut)}
.pth-b .pt-li{border-bottom-color:var(--d-line)}
.pth-b .pt-li:last-child{border-bottom:0}
.pth-b .pt-li-main a{color:var(--d-ink);text-decoration:none}.pth-b .pt-li-main a strong{font-size:16px}.pth-b .pt-li-main a:hover{text-decoration:underline}
.pth-b .pt-badge{display:inline-flex;align-items:center;gap:6px;background:var(--d-chip);color:var(--d-ink);border-radius:999px;padding:2px 9px;font-weight:600;margin:2px 0}
.pth-b .pt-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--d-ok)}
.pth-b .pt-li-acts .btn,.pth-b .pt-li-acts summary.btn{background:var(--d-cap);color:var(--d-ink);border:0;border-radius:9px;min-height:30px;height:30px;padding:0 12px;font-weight:500;box-shadow:none;display:inline-flex;align-items:center}
.pth-b .pt-li-acts .btn:hover{background:var(--d-capOn);box-shadow:var(--d-on-sh)}
.pth-b .pt-li-acts .btn.primary{background:#0A6CF5;color:#fff;font-weight:600}
.pth-b .pt-li-acts .btn.primary:hover{background:#0960DA;color:#fff}
.pth-b .pt-li-acts .btn.danger{color:#B42318}
html.dark .pth-b .pt-li-acts .btn.danger{color:#FF8A80}
.pth-b .pt-ren form{background:var(--d-card);border:0;box-shadow:var(--d-card-hv)}
.pth-b .pth-form label,.pth-dlg .pth-form label{color:var(--d-ink);font-weight:500;font-size:13px}
.pth-b .pth-form input:not([type=hidden]),.pth-b .pth-form select,.pth-b .pt-ren input,.pth-dlg .pth-form input:not([type=hidden]),.pth-dlg .pth-form select{background:var(--d-field);color:var(--d-ink);border:0;border-radius:10px;box-shadow:0 0 0 1px var(--d-ring);min-height:38px}
.pth-b .pth-form input:focus,.pth-b .pth-form select:focus,.pth-dlg .pth-form input:focus,.pth-dlg .pth-form select:focus{outline:0;box-shadow:0 0 0 2px #0A6CF5}
.pth-b .pth-form input[type=file],.pth-dlg .pth-form input[type=file]{padding:4px 6px 4px 4px}
.pth-b .pth-form input[type=file]::file-selector-button,.pth-dlg .pth-form input[type=file]::file-selector-button{background:var(--d-cap);color:var(--d-ink);border:0;border-radius:8px;padding:6px 12px;margin-right:10px;font:500 13px/1.2 inherit;cursor:pointer}
.pth-b .pth-form .btn.primary,.pth-dlg .pth-form .btn.primary{background:#0A6CF5;border-color:#0A6CF5;border-radius:10px;min-height:38px}
.pth-dlg{border-radius:16px}
.pth-dlg-h{background:#222A3A}
/* Hojas de sala */
.pth-b .hjs-tools{display:inline-flex;gap:2px;background:var(--d-heroCap);border-radius:11px;padding:3px;margin-top:18px;flex-wrap:wrap}
.pth-b .hjs-tools .btn,.pth-b .hjs-tools .btn.qa{background:transparent!important;border:0!important;color:#F3F5F8!important;min-height:32px;height:32px;padding:0 12px;border-radius:8px;font-weight:500;box-shadow:none!important;text-shadow:none;filter:none;transform:none;display:inline-flex;align-items:center;gap:7px}
.pth-b .hjs-tools .btn svg{color:#AEB6C4}
.pth-b .hjs-tools .btn:hover{background:var(--d-heroOn)!important;color:#fff!important}
.pth-b .hjs-group{padding:6px 40px 6px}
.pth-b .hjs-group:first-of-type{padding-top:16px}
.pth-b .hjs-group h2{color:var(--d-mut)}
.pth-b .hjs-group h2 span{border:0;background:var(--d-chip);color:var(--d-mut)}
.pth-b .hjs-grid{gap:16px}
.pth-b .hjs-card{background:var(--d-card);color:var(--d-ink);border:0;box-shadow:var(--d-card-sh);min-height:100px}
.pth-b .hjs-card:hover{transform:translateY(-2px);border-color:transparent;box-shadow:var(--d-card-hv);color:var(--d-ink)}
.pth-b .hjs-card.live{box-shadow:var(--d-card-sh),0 0 0 2px color-mix(in srgb,var(--d-ok) 55%,transparent)}
.pth-b .hjs-ic{width:52px;height:52px;border-radius:13px;background:color-mix(in srgb,var(--rc) 16%,var(--d-card));color:color-mix(in srgb,var(--rc) 80%,#000);box-shadow:none}
html.dark .pth-b .hjs-ic{background:color-mix(in srgb,var(--rc) 32%,var(--d-card));color:color-mix(in srgb,var(--rc) 45%,#fff)}
.pth-b .hjs-body strong{color:var(--d-ink)}
.pth-b .hjs-free,.pth-b .hjs-who,.pth-b .hjs-meta{color:var(--d-mut)}
.pth-b .hjs-meta em{color:var(--d-link)}
.pth-b .hjs-now{color:var(--d-ok)}
.pth-b .hjs-next{color:#B45309}
html.dark .pth-b .hjs-next{color:#FBBF24}
.pth-b .hjs-go{color:var(--d-mut)}.pth-b .hjs-card:hover .hjs-go{color:var(--d-ink)}
@media (max-width:900px){.pth-b .pth-grid,.pth-b .pth-cols,.pth-b .hjs-group{padding-left:16px;padding-right:16px}}
/* Doblajes: fichas del mismo ancho que las del Pautado, con todo su contenido */
.dbj-b .dbj-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.dbj-b .dbj-card{container:dbjc/inline-size;gap:8px}
.dbj-b .dbj-card .dbj-main{padding:14px 14px 2px;gap:5px}
.dbj-b .dbj-card:has(> .magic-btn) .dbj-main{padding-right:54px}
.dbj-b .magic-btn{top:12px;right:12px;width:34px;height:34px;padding:0;justify-content:center;font-size:0;gap:0}
.dbj-b .magic-btn svg{width:17px;height:17px}
.dbj-b .magic-btn.auto-ok{background:var(--d-cap);color:var(--d-ink)}
.dbj-b .dbj-sp{font-size:10.5px}
.dbj-b .dbj-main h2{font-size:18px;line-height:1.2}
.dbj-b .dbj-main > .small{font-size:12.5px}
.dbj-b .dbj-prog{font-size:13px;gap:6px}
.dbj-b .dbj-prog .dub-pbar{width:auto;flex:1;min-width:40px}
.dbj-b .dbj-nums{font-size:12.5px;gap:2px 10px}
.dbj-b .dbj-st{gap:5px}
.dbj-b .dbj-st span{font-size:11.5px;padding:2px 8px 2px 7px}
.dbj-b .auto-done{margin:0 14px;padding:8px 9px;gap:8px}
.dbj-b .auto-done-ic{width:24px;height:24px;font-size:13px}
.dbj-b .auto-done-tx{flex-basis:160px}
.dbj-b .auto-done-tx b{font-size:12.5px}.dbj-b .auto-done-tx span{font-size:11.5px}
.dbj-b .adb{font-size:12px;padding:4px 9px}
.dbj-b .dbj-acts{padding:10px 14px 12px;gap:6px}
.dbj-b .dbj-row[aria-label="Doblaje"]{display:grid;grid-template-columns:1fr 1fr;align-self:stretch}
.dbj-b .dbj-row[aria-label="Salas"]{flex-wrap:nowrap}
.dbj-b .dbj-acts .dub-tool,.dbj-b .dbj-acts .dub-tool.qa-hoja,.dbj-b .dbj-acts .dub-tool.qa-tab{font-size:12.5px;padding:0 8px;gap:6px;justify-content:flex-start;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.dbj-b .dbj-acts .dub-tool svg{width:15px;height:15px;flex:none}
.dbj-b .dbj-acts .dbj-upd{font-size:11px}
@container dbjc (max-width:280px){.dbj-b .dbj-row[aria-label="Salas"] .dub-tool{font-size:0;gap:0;padding:0 10px}}

/* ===== v0.60 — «Diseño DubXpro» (estilo B tipo macOS) como piezas reutilizables =====
   .dx-cap = cápsula gris que agrupa botones · .dx-b = botón dentro de la cápsula · .dx-pri = el único botón azul
   .dx-note = aviso cuidado con icono (sustituye a las cajas amarillas) */
:root{--dx-cap:#E2E5EA;--dx-on:#FFFFFF;--dx-ink:#1E2533;--dx-mut:#5B6474;--dx-ic:#4A5262;--dx-soft:#F3F5F8;--dx-on-sh:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
html.dark{--dx-cap:#2D3648;--dx-on:#46516A;--dx-ink:#EEF1F6;--dx-mut:#A3ACBC;--dx-ic:#C3CAD6;--dx-soft:#222A3A;--dx-on-sh:0 1px 2px rgba(0,0,0,.35),inset 0 .5px 0 rgba(255,255,255,.08)}
.dx-cap{display:inline-flex;align-items:center;gap:2px;background:var(--dx-cap);border-radius:11px;padding:3px;flex:none}
.dx-cap form{display:inline-flex;margin:0}
.dx-b{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border:0;border-radius:8px;background:transparent;color:var(--dx-ink);font:500 13px/1 inherit;font-family:inherit;white-space:nowrap;text-decoration:none;cursor:pointer}
.dx-b svg{color:var(--dx-ic);flex:none}
.dx-b:hover{background:var(--dx-on);box-shadow:var(--dx-on-sh);color:var(--dx-ink)}
.dx-b.ic{width:30px;padding:0;justify-content:center;font-size:15px}
.dx-b.red,.dx-b.red svg{color:#B42318}html.dark .dx-b.red,html.dark .dx-b.red svg{color:#FF8A80}
.dx-pri{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border:0;border-radius:9px;background:#0A6CF5;color:#fff;font:600 13px/1 inherit;font-family:inherit;cursor:pointer;white-space:nowrap}
.dx-pri:hover{background:#0960DA}
.dx-note,.dub-skipbar.dx-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--dx-soft);border:0;border-radius:12px;padding:10px 12px;margin:0 0 10px;color:var(--dx-ink)}
.dx-note-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--dx-cap);color:var(--dx-ic)}
.dx-note-tx{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.35}
.dx-note-tx b{font-size:13.5px}.dx-note-tx span{font-size:12.5px;color:var(--dx-mut)}.dx-note-tx strong{color:var(--dx-ink)}

/* Tablets de sala: fichas compactas, QR pequeño que se amplía al pasar el ratón o pulsar */
.pth-b .pth-hero.small p strong{color:#E6E9EF}
.sl-page .pth-hero.small{padding:22px 40px 18px}
.sl-page .pth-hero.small h1{font-size:30px}
.sl-page .pth-hero p{font-size:14px;max-width:760px}
.sl-page .hjs-tools{margin-top:14px}
.sl-warn{display:flex;align-items:center;gap:8px;margin:16px 40px 0;padding:8px 12px;border-radius:10px;background:color-mix(in srgb,#F59E0B 16%,var(--d-card));color:var(--d-ink);font-size:12.5px;line-height:1.35}
.sl-warn svg{flex:none;color:#B45309}
.sl-warn code{font-size:11.5px;background:transparent;padding:0}
.sl-page .sl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin:0;padding:16px 40px 6px;align-items:stretch}
.sl-page .sl-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;gap:10px 12px;align-items:center;background:var(--d-card);color:var(--d-ink);border-radius:14px;box-shadow:var(--d-card-sh);padding:12px}
.sl-page .sl-qr{grid-row:1;width:64px;height:64px;padding:3px;border:0;border-radius:8px;background:#fff;box-shadow:0 0 0 1px var(--d-ring);cursor:zoom-in;transform-origin:top left;transition:transform .16s ease,box-shadow .16s;position:relative;z-index:1}
.sl-page .sl-qr svg{width:100%;height:100%;display:block}
.sl-page .sl-qr.zoom{transform:scale(3.6);z-index:30;box-shadow:0 18px 50px rgba(16,24,40,.35);cursor:zoom-out}
@media (hover:hover){.sl-page .sl-qr[data-qr]:hover{transform:scale(3.6);z-index:30;box-shadow:0 18px 50px rgba(16,24,40,.35)}}
.sl-page .sl-noqr{display:grid;place-items:center;background:transparent;box-shadow:none;border:1.5px dashed color-mix(in srgb,var(--d-ink) 22%,transparent);color:var(--d-mut);cursor:default}
.sl-page .sl-main{display:flex;flex-direction:column;gap:6px;min-width:0}
.sl-page .sl-h{display:flex;align-items:baseline;gap:7px;min-width:0}
.sl-page .sl-h h2{margin:0;font-size:16px;color:var(--d-ink);white-space:nowrap}
.sl-page .sl-dot{width:9px;height:9px;border-radius:3px;background:var(--rc);flex:none;align-self:center}
.sl-page .sl-g{font-size:12px;color:var(--d-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-page .sl-url{width:100%;box-sizing:border-box;height:26px;font:11px ui-monospace,Menlo,monospace;padding:0 8px;border:0;border-radius:7px;background:var(--d-cap);color:var(--d-mut);text-overflow:ellipsis}
.sl-page .sl-none{font-size:12.5px;color:var(--d-mut)}
.sl-page .sl-acts{grid-column:1 / -1;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sl-page .sl-acts .dx-cap{background:var(--d-cap)}
.sl-page .sl-acts .dx-b{height:28px;padding:0 9px;font-size:12.5px;color:var(--d-ink)}
.sl-page .sl-acts .dx-b.ic{width:28px;padding:0}
.sl-page .sl-acts .dx-b:hover{background:var(--d-capOn);box-shadow:var(--d-on-sh)}
.sl-page .sl-acts .dx-cap + .dx-cap{margin-left:auto}
.sl-page .sl-card.off .sl-acts{grid-column:2}
.sl-page .sl-card.off{grid-template-rows:auto}
.sl-page .sl-card.off .sl-main{grid-row:1}
.sl-tip{padding:6px 40px 0;font-size:12px;color:var(--d-mut)}

/* Hojas de sala más compacta: que quepan todas las salas en una pantalla */
.pth-b.hjs .pth-hero{padding:22px 40px 18px}
.pth-b.hjs .pth-hero h1{font-size:30px;margin:6px 0 6px}
.pth-b.hjs .pth-hero p{font-size:14px}
.pth-b.hjs .hjs-tools{margin-top:14px}
.pth-b .hjs-group{padding:4px 40px 2px}
.pth-b .hjs-group:first-of-type{padding-top:12px}
.pth-b .hjs-group h2{margin:8px 0 8px;font-size:12px}
.pth-b .hjs-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.pth-b .hjs-card{min-height:0;padding:11px 12px;gap:11px;border-radius:14px}
.pth-b .hjs-ic{width:40px;height:40px;border-radius:11px}
.pth-b .hjs-ic svg{width:22px;height:22px}
.pth-b .hjs-body strong{font-size:15.5px}
.pth-b .hjs-free,.pth-b .hjs-who,.pth-b .hjs-now,.pth-b .hjs-next{font-size:12.5px}
.pth-b .hjs-meta{font-size:11px;margin-top:2px}
.pth-b .hjs-go{font-size:22px}
@media (max-width:900px){.sl-page .sl-grid,.sl-warn,.sl-tip{padding-left:16px;padding-right:16px}.sl-warn{margin-left:16px;margin-right:16px}}
.sl-page .sl-noqr svg{width:24px;height:24px}

/* v0.60.2 — barra del planning: solo iconos cuando no cabe (lo decide app.js midiendo el espacio real) */
.proj-toolbar.dx-compact .dub-tb .dub-tool{font-size:0!important;gap:0!important;padding:0 9px!important}
.proj-toolbar.dx-compact .dub-tb .dub-tool svg{width:17px;height:17px}
.proj-toolbar .dub-tb{overflow:hidden}
.dx-filter{margin:8px 0 4px}

/* ===== v0.61 — Barra del proyecto en una línea: «Filtros» con nombre (rojo si hay uno activo), pantalla completa
   y zoom solo con icono, y nombres que se recogen si no cabe (app.js mide y pone dx-c1…dx-c4) ===== */
.proj-toolbar .seg-filter{align-items:center}
.proj-toolbar .seg-filter .seg-lbl{display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 9px;font-size:11.5px;font-weight:600;letter-spacing:.02em;color:#5B6474;white-space:nowrap;cursor:default;border:0!important}
.proj-toolbar .seg-filter .seg-lbl svg{width:14px;height:14px}
.proj-toolbar .seg.seg-filter.fx-on{background:#FCE1DF!important;box-shadow:0 0 0 1px rgba(180,35,24,.25)}
.proj-toolbar .seg-filter.fx-on .seg-lbl{color:#B42318}
.proj-toolbar .seg-filter.fx-on a.on{color:#B42318!important;font-weight:700}
html.dark .proj-toolbar .seg.seg-filter.fx-on{background:#4A2222!important}
html.dark .proj-toolbar .seg-filter.fx-on .seg-lbl,html.dark .proj-toolbar .seg-filter.fx-on a.on{color:#FF8A80!important}
.proj-toolbar .sheet-zoom .tb-fs [data-gfs-label]{display:none}
.proj-toolbar .sheet-zoom .tb-fs{gap:0;padding:5px 9px!important}
.proj-toolbar .sheet-zoom .sz-lvl{min-width:40px;padding:0 3px;font-size:12px}
.proj-toolbar .sheet-zoom .sz-lvl svg{display:none}
.proj-toolbar.dx-c1 .seg-view a:not(.on){font-size:0!important;gap:0!important}
.proj-toolbar.dx-c2 .seg-view a.on{font-size:0!important;gap:0!important;padding:6px 10px!important}
.proj-toolbar.dx-c3 .seg-filter .seg-lbl span{display:none}
.proj-toolbar.dx-c4 .ph-actions .btn.primary{font-size:0!important;gap:0!important;padding:0 10px!important}
.proj-toolbar.dx-c4 .ph-actions .btn.primary svg{width:16px;height:16px}

/* v0.61.1 — menos hueco entre la barra y las pestañas de las listas */
.proj-toolbar + .ftabs{margin-top:-14px;padding-top:4px}

/* ===== v0.62 — Agenda: filtros con el mismo aspecto que los botones de vista; en rojo cuando están activos ===== */
.rp-filterbar .rp-fbtn{display:inline-flex;align-items:center;gap:6px;background:#fff;white-space:nowrap}
.rp-filterbar .rp-fbtn svg{flex:none;color:var(--ink2)}
.rp-filterbar .rp-fbtn:disabled{opacity:.45;cursor:default;box-shadow:none}
.rp-filterbar .fx-on,.rp-filterbar .rp-respick.fx-on,.rp-filterbar select.fx-on{background:#FFF1E8!important;border-color:#F6C7A8!important;color:#9A3412!important;font-weight:700}
.rp-filterbar .fx-on svg,.rp-filterbar .fx-on .rp-rcount{color:#9A3412}
.rp-filterbar .rp-respick.fx-on .rp-rcount{background:#FDDCC6}
.rp-filterbar .rp-clearf.fx-on{background:#B42318!important;border-color:#B42318!important;color:#fff!important}
.rp-filterbar .rp-clearf.fx-on svg{color:#fff}
.rp-filterbar .rp-clearf.fx-on:hover{background:#962015!important}
html.dark .rp-filterbar .fx-on,html.dark .rp-filterbar select.fx-on{background:rgba(234,88,12,.18)!important;border-color:rgba(246,199,168,.35)!important;color:#FDBA8C!important}
html.dark .rp-filterbar .fx-on svg{color:#FDBA8C}
html.dark .rp-filterbar .rp-clearf.fx-on{background:#B42318!important;color:#fff!important}

/* ===== v0.64 — Doblajes: aviso de incidencias (negro → rojo → negro cada 3 s) y «Empezar de cero» ===== */
.dbj-iss{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:0 14px;padding:5px 11px;border-radius:999px;background:var(--d-chip,#E9EBEF);color:var(--d-ink,#1E2533);font-size:12.5px;font-weight:600;text-decoration:none;animation:dx-iss 3s ease-in-out infinite}
.dbj-iss svg{flex:none}
.dbj-iss b{font-weight:800}.dbj-iss em{font-style:normal}
.dbj-iss:hover{text-decoration:underline}
@keyframes dx-iss{0%,100%{color:var(--d-ink,#1E2533)}50%{color:#DC2626}}
.dbj-iss.hot{box-shadow:0 0 0 1px rgba(220,38,38,.25)}
html.dark .dbj-iss{animation-name:dx-iss-d}
@keyframes dx-iss-d{0%,100%{color:#EEF1F6}50%{color:#FF6B6B}}
@media (prefers-reduced-motion:reduce){.dbj-iss{animation:none;color:#DC2626}}
.dx-reset{margin-top:12px;font-size:13px}
.dx-reset summary{cursor:pointer;color:#B42318;font-weight:600}
.dx-reset form{margin-top:8px;padding:12px;border-radius:12px;background:#FDECEA;color:#5B1A14;display:flex;flex-direction:column;gap:8px;max-width:620px}
.dx-reset form p{margin:0;line-height:1.45}
.dx-reset form label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dx-reset form input{max-width:160px;text-transform:uppercase}
.dx-reset form .btn{align-self:flex-start}
html.dark .dx-reset form{background:#3A1614;color:#FDDAD6}

/* v0.64.2 · Convocar automáticamente: la pausa en gris (no se trabaja) */
.mg-grid .mg-pausa{color:var(--ink3,#94A3B8)}
.mg-grid .mg-pausa .mg-off{font-weight:500;font-size:11.5px}
.mg-grid .mg-pausa input{background:#EEF0F3;color:#6B7280;border-color:#E2E5EA}
.mg-grid .mg-pausa em{color:#9CA3AF}

/* v0.64.3 · Convocar automáticamente: selector de sala con el color de la sala en la Agenda */
.mg-rlab{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;color:var(--ink2);min-width:0}
.mg-room{position:relative;min-width:0}
.mg-rbtn{width:100%;min-height:38px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-left:4px solid var(--rc,#64748B);border-radius:9px;padding:0 10px 0 9px;font:inherit;font-size:14px;color:var(--ink);background:#fff;cursor:pointer;text-align:left}
.mg-rbtn:focus-visible{outline:2px solid var(--rc,#64748B);outline-offset:1px}
.mg-rbtn b,.mg-ropt b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mg-rbtn small,.mg-ropt small{font-weight:500;color:var(--muted);font-size:12px;white-space:nowrap}
.mg-rbtn small::before,.mg-ropt small::before{content:'· '}
.mg-caret{margin-left:auto;color:var(--muted);font-size:11px}
.mg-rdot{flex:none;width:11px;height:11px;border-radius:50%;background:var(--rc);box-shadow:0 0 0 2px color-mix(in srgb,var(--rc) 22%,transparent)}
.mg-rlist{position:fixed;z-index:10050;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 14px 34px rgba(15,23,42,.18);padding:5px}
.mg-ropt{width:100%;display:flex;align-items:center;gap:9px;border:0;background:none;padding:8px 9px;border-radius:8px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}
.mg-ropt:hover,.mg-ropt:focus-visible{background:color-mix(in srgb,var(--rc) 12%,transparent);outline:none}
.mg-ropt.on{background:color-mix(in srgb,var(--rc) 18%,transparent)}
.mg-ropt.on::after{content:'✓';margin-left:auto;color:var(--rc);font-weight:700}
html.dark .mg-rbtn,html.dark .mg-rlist{background:#1F2329;border-color:#3A3F47;color:#E5E7EB}
html.dark .mg-ropt{color:#E5E7EB}


/* ===== v0.65 — Planning · Por actor: filas compactas como la lista de Convocatorias y ficha en ventanita ===== */
.dub-table.dub-acts td{padding:6px 12px;vertical-align:middle;line-height:1.3;height:44px}
.dub-table.dub-acts th{padding:9px 12px}
.dub-table.dub-acts td:first-child{white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}
.dub-table.dub-acts td:first-child strong{font-weight:600}
.dub-table.dub-acts .num small{display:inline;margin-left:5px;font-size:11px}
.dub-table.dub-acts td:nth-child(3){white-space:nowrap}
.dub-table.dub-acts .dub-role{margin:1px 4px 1px 0}
.dub-table.dub-acts td:nth-child(4){min-width:150px;white-space:nowrap}
.dub-table.dub-acts td:nth-child(5){max-width:300px}
.dub-table.dub-acts .dub-tk summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;color:var(--ink2)}
.dub-table.dub-acts .dub-tk[open] summary{white-space:normal}
.dub-table.dub-acts .dub-tk[open] > div{font-size:12.5px;margin-top:4px}
.dub-table.dub-acts td.dub-ct{white-space:nowrap;max-width:240px}
.dub-table.dub-acts td:last-child{white-space:nowrap}
.dub-table.dub-acts .dub-vinc{min-height:26px;padding:0 10px;font-size:12.5px;border-radius:7px}
.dub-ctb{display:inline-flex;align-items:center;gap:6px;max-width:230px;border:0;background:#EEF2F7;color:#1E2533;border-radius:7px;padding:4px 9px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;line-height:1.2}
.dub-ctb:hover,.dub-ctb[aria-expanded="true"]{background:#E1E7F0}
.dub-ctn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dub-cti{font-style:normal;font-size:11px;color:#64748B;flex:none}
.ct-pop{position:fixed;z-index:10060;background:#fff;border:1px solid #E1E4E9;border-radius:12px;box-shadow:0 14px 34px rgba(15,23,42,.18);padding:10px 12px;min-width:240px;max-width:340px;font-size:13px;color:#1E2533;user-select:text;animation:ctIn .12s ease-out}
.ct-pop.big{min-width:300px;padding:14px 16px;font-size:14px}
@keyframes ctIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.ct-h{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.ct-h b{font-size:14.5px}.ct-pop.big .ct-h b{font-size:16px}
.ct-av{flex:none;width:28px;height:28px;border-radius:50%;background:#222A3A;color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700}
.ct-pop.big .ct-av{width:34px;height:34px;font-size:13px}
.ct-row{display:flex;align-items:center;gap:6px;padding:4px 0}
.ct-row a{display:flex;align-items:center;gap:7px;color:#1E2533;text-decoration:none;min-width:0;flex:1}
.ct-row a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-row a:hover span{text-decoration:underline}
.ct-row svg{color:#5B6474;flex:none}
.ct-none{color:#94A3B8}.ct-none svg{color:#CBD5E1}
.ct-copy{flex:none;border:0;background:#EEF2F7;color:#4A5262;border-radius:6px;width:26px;height:26px;display:none;place-items:center;cursor:pointer}
.ct-pop.big .ct-copy{display:grid}
.ct-copy:hover{background:#E1E7F0}.ct-copy.ok{background:#DCFCE7;color:#15803D}
.ct-pop .ct-open{display:none;margin-top:8px;padding-top:8px;border-top:1px solid #EEF0F3;font-size:12.5px;font-weight:600;color:#2563EB;text-decoration:none}
.ct-pop.big .ct-open{display:block}
html.dark .dub-ctb{background:#2A303A;color:#E5E7EB}html.dark .dub-ctb:hover{background:#343B47}
html.dark .ct-pop{background:#1F2329;border-color:#3A3F47;color:#E5E7EB}html.dark .ct-row a{color:#E5E7EB}
html.dark .ct-copy{background:#2A303A;color:#CBD5E1}html.dark .ct-pop .ct-open{border-color:#2A303A}

/* v0.65 — paneles Nueva lista / Añadir lista de otro proyecto: botón de cerrar */
form.new-list{position:relative}
.nl-x{position:absolute;top:12px;right:12px;width:30px;height:30px;border:0;border-radius:8px;background:#EEF0F3;color:#4A5262;font-size:14px;cursor:pointer;display:grid;place-items:center;z-index:2}
.nl-x:hover{background:#E2E5EA;color:#1E2533}
#link-list h2{padding-right:40px}
.link-actions .nl-cancel{margin-top:auto}
html.dark .nl-x{background:#2A303A;color:#CBD5E1}

/* v0.65 — Planning: nombres de Agenda · Avisar actores · Hoja de sala · Tablets mientras quepan (lo mide app.js) */
.dub-kpis-top:not(.dx-lbl) .dub-kpis-r .dub-goto a,.dub-kpis-top:not(.dx-lbl) .dub-kpis-r .seg button{font-size:0;gap:0;padding:6px 9px}
.dub-kpis-top:not(.dx-lbl) .dub-kpis-r .dub-goto a svg,.dub-kpis-top:not(.dx-lbl) .dub-kpis-r .seg button svg{width:16px;height:16px}
.dub-kpis-top.dx-lbl .dub-kpis-r .dub-goto a{font-size:13px;gap:6px;padding:5px 9px}
.dub-kpis-top.dx-lbl .dub-kpis-r .dub-goto a svg{width:15px;height:15px}


/* ===== v0.65.1 — Hojas de sala: elegir el día (anterior · calendario · siguiente · Hoy) ===== */
.hjs-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.pth-b .hjs-bar .hjs-tools{margin-top:0}
.hjs-day{display:inline-flex;align-items:center;gap:2px;background:var(--d-heroCap,#2F384A);border-radius:11px;padding:3px}
.hjs-dnav,.hjs-dtoday,.hjs-dbtn{height:32px;border:0;border-radius:8px;background:transparent;color:#F3F5F8;font:inherit;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}
.hjs-dnav{width:32px;font-size:20px;line-height:1;padding-bottom:2px}
.hjs-dbtn{position:relative;gap:7px;padding:0 12px}
.hjs-dbtn svg{color:#AEB6C4}
.hjs-dbtn b{font-weight:700;color:#fff}
.hjs-caret{font-size:10px;color:#AEB6C4}
.hjs-dtoday{padding:0 12px;background:#3B82F6;color:#fff;font-weight:600;margin-left:4px}
.hjs-dnav:hover,.hjs-dbtn:hover{background:var(--d-heroOn,#46516A);color:#fff}
.hjs-dtoday:hover{background:#2563EB}
.hjs-dinp{position:absolute;left:0;bottom:0;width:100%;height:0;opacity:0;border:0;padding:0;pointer-events:none}


/* ===== v0.65.3 — Planning: Por actor · Por personaje · Por take · Estadillo con las mismas pestañas que «Pestañas» del proyecto ===== */
.dub-tabs.ftabs{border:0;background:none;padding:12px 24px 0;margin:14px 0 0;gap:0}
.dub-tabs.ftabs .ftab{border:0;text-decoration:none}
.dub-tabs.ftabs .ftab .tab-n{margin-left:2px}
.dub-tabs.ftabs ~ .dub-pane{position:relative;z-index:5;margin-top:-18px;border-radius:16px;border:0;box-shadow:0 12px 32px rgba(15,23,42,.08)}
.dub-tabs.ftabs ~ .dub-pane .dub-table thead th:first-child{border-top-left-radius:16px}
.dub-tabs.ftabs ~ .dub-pane .dub-table thead th:last-child{border-top-right-radius:16px}
html.dark .dub-tabs.ftabs .ftab:not(.on){color:#CBD5E1}


/* ===== v0.66 — Pautado: botonera tipo cápsula (izquierda) + ayuda en tarjetas (derecha), mitad y mitad; «Ir al take» ===== */
.pt-vid{container-type:inline-size;container-name:ptvid}
.pt-ctl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start;margin-top:4px}
.pt-ctl-l{display:grid;gap:8px;align-content:start;min-width:0}
.pt-ctl .pt-pad{display:flex;grid-template-columns:none;background:#232833;border-radius:13px;padding:4px;gap:3px}
.pt-ctl .pt-pad button{all:unset;box-sizing:border-box;cursor:pointer;flex:1;min-width:0;height:50px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#D7DDE7;position:relative;transition:background .12s}
.pt-ctl .pt-pad button:hover{background:#2E3542}
.pt-ctl .pt-pad button:active{transform:scale(.97)}
.pt-ctl .pt-pad button svg{width:20px;height:20px;flex:none}
.pt-ctl .pt-pad button small{font-size:10.5px;font-weight:600;color:#8A93A3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pt-ctl .pt-pad .pk{position:absolute;top:4px;right:5px;font:700 9px/1 ui-monospace,Menlo,monospace;color:#6B7486}
.pt-ctl .pt-pad .pt-play{flex:1.3;background:#F3F5F8;color:#111;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.pt-ctl .pt-pad .pt-play:hover{background:#fff}
.pt-ctl .pt-pad .pt-play small{color:#4B5563}.pt-ctl .pt-pad .pt-play .pk{color:#9CA3AF}
.pt-ctl .pt-pad .pt-play svg{width:22px;height:22px}
.pt-gap{width:1px;flex:none;background:#353C49;margin:10px 1px}
.pt-act{display:flex;gap:8px}
.pt-act button{all:unset;box-sizing:border-box;cursor:pointer;flex:1;height:38px;border-radius:10px;background:#232833;color:#E8ECF2;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;font-size:13.5px;white-space:nowrap}
.pt-act button svg{width:17px;height:17px;flex:none}
.pt-act button:hover{background:#2E3542}
.pt-act .pt-paste{flex:1.6;background:#C2410C;color:#fff;box-shadow:0 4px 14px rgba(194,65,12,.35);border:0}
.pt-act .pt-paste:hover{background:#D9531A}
.pt-ctl kbd,.pt-goto kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:5px;background:#2A303B;border:1px solid #3A4250;border-bottom-width:2px;color:#D7DDE7;font:600 10px/1 ui-monospace,Menlo,monospace}
.pt-act button kbd{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.pt-ctl .pt-help{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;line-height:1.35;color:#C4CBD6;align-items:start;min-width:0}
.pt-help section{background:#1B1F26;border:1px solid #2F3541;border-radius:11px;padding:8px 11px;min-width:0}
.pt-help h4{margin:0 0 5px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8A93A3}
.pt-help ul{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.pt-help li{display:flex;gap:8px;align-items:center;min-width:0}
.pt-help li .k{display:inline-flex;gap:3px;min-width:58px;flex:none}
.pt-help .pt-help-g{grid-column:1/-1}
.pt-help .pt-help-g ul{grid-template-columns:1fr 1fr;column-gap:14px}
@container ptvid (max-width:820px){.pt-ctl{grid-template-columns:1fr}}
@container ptvid (max-width:520px){.pt-ctl .pt-help{grid-template-columns:1fr}.pt-help .pt-help-g ul{grid-template-columns:1fr}.pt-ctl .pt-pad button small{font-size:9.5px}}
.pt-goto{position:fixed;z-index:400;display:grid;gap:8px;background:#232833;color:#E8ECF2;border:1px solid #3A4250;border-radius:12px;padding:12px;width:230px;box-shadow:0 18px 40px rgba(0,0,0,.45);animation:ctIn .12s ease-out}
.pt-goto.mid{left:50%;top:38%;transform:translate(-50%,-50%)}
.pt-goto b{font-size:13px}
.pt-goto-in{display:flex;gap:6px;margin:0}
.pt-goto input{all:unset;box-sizing:border-box;flex:1;min-width:0;width:0;height:34px;border-radius:8px;background:#11141A;border:1px solid #4B5563;padding:0 10px;font:700 18px ui-monospace,Menlo,monospace;color:#fff}
.pt-goto input:focus{border-color:#3B82F6;box-shadow:0 0 0 3px rgba(59,130,246,.3)}
.pt-goto input.bad{border-color:#EF4444;animation:ptShake .35s}
.pt-goto button{all:unset;flex:none;cursor:pointer;height:34px;padding:0 12px;border-radius:8px;background:#3B82F6;color:#fff;font-weight:700}
.pt-goto small{color:#8A93A3;font-size:11.5px}
@keyframes ptShake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}


/* ===== v0.66.1 — Menú: los módulos (DubxPro…) se pliegan y despliegan ===== */
.nav-mod .mod-head{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:center;gap:9px;padding:0 6px 8px;margin:0 0 6px;border-bottom:1px solid rgba(255,255,255,.12);min-width:0;border-radius:8px 8px 0 0}
html.side-light .nav-mod .mod-head{border-bottom-color:#E6E9EE}
.nav-mod .mod-head:focus-visible{outline:2px solid #5B8CFF;outline-offset:2px}
.mod-chev{margin-left:auto;flex:none;color:#8A93A3;transition:transform .18s ease}
.nav-mod .mod-head:hover .mod-chev{color:#C4CBD6}
html.side-light .nav-mod .mod-head:hover .mod-chev{color:#2A3241}
.nav-mod.mod-fold .mod-chev{transform:rotate(-90deg)}
.nav-mod.mod-fold .mod-head{border-bottom-color:transparent;margin:0;padding-bottom:0}
.nav-mod.mod-fold .mod-body{display:none}
.nav-mod.mod-fold{padding-bottom:10px}
.mod-dot{display:none;width:7px;height:7px;border-radius:50%;background:#2E6AED;flex:none}
.nav-mod.mod-fold.mod-on .mod-dot{display:inline-block}
@media (min-width:0){html.side-mini .nav-mod .mod-chev{display:none}html.side-mini .nav-mod .mod-head{justify-content:center;padding:0 0 6px}}


/* v0.66.2 — Planning: zona de borrado visible al final, en todas las pestañas */
.dub-danger{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:22px 0 8px;padding:12px 14px;border:1px dashed #F4B4AC;border-radius:12px;background:rgba(253,236,234,.55)}
.dub-danger-t{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#B42318;align-self:center}
.dub-danger .dx-reset{margin-top:0;align-self:center}
.dub-danger .dx-reset[open]{flex-basis:100%}
html.dark .dub-danger{background:rgba(58,22,20,.5);border-color:#7A2A22}


/* v0.66.3 — Doblajes: «Convocados manualmente» (como el de automáticamente, en azul) */
.auto-done.man-done{background:linear-gradient(135deg,#EFF6FF,#DBEAFE);border-color:#BFDBFE}
.man-done .auto-done-ic{background:#2563EB}
.man-done .auto-done-ic svg{width:15px;height:15px}
.man-done .auto-done-tx b{color:#1E3A8A}
.man-done .auto-done-tx span{color:#1D4ED8}
.auto-done + .auto-done{margin-top:8px}
.dbj-dark .man-done{background:rgba(37,99,235,.12);border-color:rgba(96,165,250,.35)}
.dbj-dark .man-done .auto-done-tx b{color:#BFDBFE}.dbj-dark .man-done .auto-done-tx span{color:#93C5FD}
html.dark .man-done{background:rgba(37,99,235,.12);border-color:rgba(96,165,250,.35)}


/* ===== v0.67 — «Programar automáticamente» (opción B: blanca con icono de color y varita) ===== */
.dub-tb .dub-tool.t-prog,.dub-tool.t-prog{background:#fff;color:#222A3A;text-shadow:none;font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06);padding-left:5px;gap:7px}
.dub-tb .dub-tool.t-prog:hover{background:#fff;box-shadow:0 2px 8px rgba(139,92,246,.22),0 0 0 .5px rgba(16,24,40,.08)}
.t-prog .pg-ic{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,#F59E0B,#EC4899 60%,#8B5CF6)}
.t-prog .pg-ic svg{width:14px!important;height:14px!important;color:#fff!important}
.t-prog .pg-w{display:inline-grid;place-items:center;flex:none}
.t-prog .pg-w svg{width:15px!important;height:15px!important;color:#A855F7!important}
.dub-tb .dub-tool.t-prog.auto-ok,.dub-tool.t-prog.auto-ok{background:#fff;color:#222A3A;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.t-prog.auto-ok .pg-ic{background:linear-gradient(135deg,#10B981,#059669)}
.t-prog.auto-ok .pg-w svg{color:#059669!important}
html.dark .dub-tool.t-prog{background:#2A303A;color:#F3F5F8}

/* v0.67.2 — Planning: lo que va encima de la tabla en cada pestaña (Repartir con imagen, aviso de takes, archivo del
   estadillo) ya no se mete debajo de las pestañas ni se sale por la esquina: margen interior arriba y recorte redondeado */
.dub-tabs.ftabs ~ .dub-pane{overflow:hidden}
.dub-tabs.ftabs ~ .dub-pane > .dub-repimg{margin:0;padding:22px 16px 12px;border-bottom:1px solid var(--line2,#EEF0F3)}
.dub-tabs.ftabs ~ .dub-pane > .dub-repimg .btn.primary{min-height:36px;border-radius:10px}
.dub-tabs.ftabs ~ .dub-pane > .dub-skipbar{margin:22px 16px 12px}
.dub-tabs.ftabs ~ .dub-pane > .dub-src-head{padding-top:22px}
.dub-tabs.ftabs ~ .dub-pane > .dub-un,.dub-tabs.ftabs ~ .dub-pane > .dub-unassigned{margin-top:22px}


/* v0.67.4 — Agenda: el estado de la convocatoria (Programado, Contactado, Confirmado…) en la ventanita y en el detalle */
.tst{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;background:var(--sc);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.tst.big{height:24px;padding:0 10px;font-size:11.5px;border-radius:7px}
.rp-tip-st{margin:3px 0 4px}
.rpd-st{display:flex;align-items:center;gap:8px;margin:2px 0 10px}


/* v0.67.5 — Nueva lista: Lista normal / Convocatorias de doblaje (solo con el módulo Doblaje) */
.new-list .grid-new-list:has(.nl-kind){grid-template-columns:2fr auto 1fr auto auto}
.nl-kind{display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.nl-kind label{display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
@media (max-width:900px){.new-list .grid-new-list:has(.nl-kind){grid-template-columns:1fr}}


/* ===== v0.68 — Estados de convocatoria: de cerca, el texto sobre una caja de color; «Grabando» en negro con REC ===== */
.dst.full{background:var(--sc);color:var(--si,#fff);padding:1px 7px;box-shadow:0 0 0 1.5px rgba(255,255,255,.9)}
.dst.full i{display:none}
.dst.full.rec,.tst.rec,.rec-badge{background:#111827;color:#fff}
.dst.full.rec::before,.tst.rec::before,.rec-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#EF4444;margin-right:5px;flex:none;animation:dxRec 1.2s ease-in-out infinite}
.dst.dot.rec i{background:#EF4444;box-shadow:0 0 0 2px #111827,0 0 0 3.5px #fff;animation:dxRec 1.2s ease-in-out infinite}
.tst{color:var(--si,#fff)}
@keyframes dxRec{0%,100%{opacity:1}50%{opacity:.2}}
.rec-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:6px;font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.rr-l .rec-badge{display:flex;width:max-content;margin-top:4px}
.rvh-res .rec-badge{margin-left:6px;height:18px;font-size:9.5px;padding:0 6px}
.hjs-card .rec-badge{margin-left:6px;transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.dst.full.rec::before,.tst.rec::before,.rec-badge::before,.dst.dot.rec i{animation:none}}


/* v0.68.1 — Doblajes: «Grabando» en la ficha, más grande, en negro y con el punto rojo parpadeando */
.dbj-st span.rec{background:#111827!important;color:#fff!important;font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px 4px 8px;box-shadow:0 2px 8px rgba(17,24,39,.35)}
.dbj-st span.rec i{width:9px!important;height:9px!important;background:#EF4444!important;box-shadow:0 0 0 2px rgba(239,68,68,.35);animation:dxRec 1.2s ease-in-out infinite}
.dbj-st span.rec b{color:#fff}
@media (prefers-reduced-motion:reduce){.dbj-st span.rec i{animation:none}}


/* ===== v0.68.2 — Agenda: Mes entero (todas las salas y todo el mes en la pantalla) y Lista con casillas ===== */
.mv.fit .mv-scroll{overflow:hidden;max-height:none;min-height:0}
.mv.fit .mv-inner{height:100%}
.mv.fit .mg{flex:1 1 0;width:auto;min-width:0}
.mv.fit .mg-grid{min-height:0}
.mv.fit .mc{min-height:0;overflow:hidden;padding:3px 3px 4px}
.mv.fit .mchip{font-size:11px;line-height:1.35}
.mv.fit .mg-dows div{padding:4px 6px;font-size:11px}
.mv.fit .mg-title{padding:6px 10px}
.ag-row.ck{position:relative;padding-left:44px}
.ag-ck{position:absolute;left:12px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:6px;border:2px solid #CBD5E1;background:#fff;cursor:pointer;transition:background .1s,border-color .1s}
.ag-ck:hover{border-color:#2563EB}
.ag-ck[aria-checked="true"]{background:#2563EB;border-color:#2563EB}
.ag-ck[aria-checked="true"]::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.ag-row.rp-picked{background:#EFF6FF}
.ag-bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.rp-mv{display:flex;gap:10px}
.rp-mv label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;flex:1}
.rp-mv input{min-height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;font:inherit}
.rp-mvq{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 6px}
.rp-mvb{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}
.rp-mvmodal{width:min(460px,96vw)}

/* v0.68.4 — Lista de la Agenda: selección limpia (sin el marco negro y naranja de las otras vistas) y ventana Mover bien encajada */
.ag-row.rp-picked{outline:none;box-shadow:inset 0 0 0 2px #93C5FD!important;background:#EFF6FF;z-index:auto}
.rp-mvmodal .rp-mv label{min-width:0}
.rp-mvmodal .rp-mv input{width:100%;min-width:0;box-sizing:border-box}


/* v0.68.7 — barra de selección: cambiar el estado de varias reservas */
.rp-selst{display:inline-flex;gap:0;border-radius:9px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.rp-selst .btn{border-radius:0;border:0}
.rp-selst .btn.prov{background:repeating-linear-gradient(135deg,#475569 0 6px,#64748B 6px 12px);color:#fff}
.rp-selst .btn.conf{background:#16A34A;color:#fff}
.rp-selst .btn.canc{background:#44403C;color:#fff}
.rp-selst .btn:hover{filter:brightness(1.12)}


/* v0.68.9 — «Grabando» en las listas (Pestañas / Hoja): rojo, con el punto que parpadea; avisos GRABANDO que llevan a la lista */
select.status-select.st-rec{background-color:#B91C1C!important;color:#fff!important;padding-left:24px;
  background-image:radial-gradient(circle,#fff 0 3.5px,transparent 4px);background-repeat:no-repeat;background-position:10px 50%;background-size:10px 10px;
  animation:dxStRec 1.4s ease-in-out infinite}
@keyframes dxStRec{0%,100%{background-size:10px 10px;box-shadow:0 0 0 0 rgba(239,68,68,.55)}50%{background-size:0 0;box-shadow:0 0 0 5px rgba(239,68,68,0)}}
@media (prefers-reduced-motion:reduce){select.status-select.st-rec{animation:none}}
[data-go].rec,[data-go].rec-badge{cursor:pointer}
[data-go].rec:hover,[data-go].rec-badge:hover{filter:brightness(1.25)}

/* v0.69.1 — Nueva lista: «Clase de lista» y «Tipo de área» como desplegables con tarjetas (propuesta B) */
.new-list .grid-new-list,.new-list .grid-new-list:has(.nl-kind){grid-template-columns:minmax(200px,1.3fr) minmax(210px,1.3fr) minmax(180px,1fr) auto;gap:14px;align-items:end}
.new-list .grid-new-list>label,.nl-f{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--ink2)}
.nl-lab{display:block;font-size:12px;font-weight:600;color:var(--ink2)}
.new-list .grid-new-list>label input{height:40px;min-height:40px;border-radius:10px;border:0;background:#F1F2F5;padding:0 12px;font-size:14px;font-weight:400;color:var(--ink)}
.new-list .grid-new-list>label input:focus{background:#fff;box-shadow:inset 0 0 0 1.5px #0A6CF5;outline:0}
.new-list .new-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.new-list .new-actions .btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;border-radius:10px;border:0;background:#E2E5EA;color:#222A3A;font-weight:600;box-shadow:none}
.new-list .new-actions .btn:hover{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.14)}
.new-list .new-actions .btn.primary{background:#0A6CF5;color:#fff}
.new-list .new-actions .btn.primary:hover{background:#0960DA}
.new-list .swatches{min-height:40px;align-items:center}
.nl-dd{position:relative}
.nl-dd-b{width:100%;height:40px;display:flex;align-items:center;gap:9px;border:0;border-radius:10px;background:#F1F2F5;padding:0 10px 0 6px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}
.nl-dd-b:hover{background:#E9EBEF}
.nl-dd.open .nl-dd-b{background:#fff;box-shadow:inset 0 0 0 1.5px #0A6CF5}
.nl-dd-b .nl-nm{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nl-dd-b>svg{color:#8A93A3;transition:transform .15s}
.nl-dd.open .nl-dd-b>svg{transform:rotate(180deg)}
.nl-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--c);color:#fff;flex:none}
.nl-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:60;min-width:100%;width:240px;max-height:360px;overflow:auto;background:#fff;border-radius:14px;padding:6px;box-shadow:0 18px 40px rgba(15,23,42,.18),0 0 0 1px rgba(15,23,42,.06);display:none}
.nl-dd.open .nl-menu{display:block}
.nl-it{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;border-radius:10px;padding:7px 8px;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
.nl-it:hover,.nl-it.kb{background:#EEF2F7}
.nl-it .nl-tx{flex:1;min-width:0}
.nl-it b{display:block;font-weight:600;font-size:14px}
.nl-it small{display:block;color:#8A93A3;font-size:12px;line-height:1.35;font-weight:400}
.nl-it>svg{color:#0A6CF5;visibility:hidden;flex:none}
.nl-it.on>svg{visibility:visible}
.nl-sep{display:block;height:1px;background:#E1E4E9;margin:5px 6px}
.nl-dd-big .nl-menu{width:410px;padding:8px}
.nl-dd-big .nl-it{padding:10px;border-radius:12px;align-items:flex-start}
.nl-dd-big .nl-it .nl-ic{width:38px;height:38px;border-radius:11px}
.nl-dd-big .nl-it b{font-size:14.5px}
.nl-dd-big .nl-it.on{background:#F3F7FF;box-shadow:inset 0 0 0 1.5px #C9DBFB}
.nl-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.nl-chips span{font-size:10.5px;font-weight:700;border-radius:5px;padding:1px 6px;line-height:1.5}
[data-theme="dark"] .nl-dd-b,[data-theme="dark"] .new-list .grid-new-list>label input{background:#2F384A;color:#F3F5F8}
[data-theme="dark"] .nl-menu{background:#222A3A;box-shadow:0 18px 40px rgba(0,0,0,.45)}
[data-theme="dark"] .nl-it{color:#F3F5F8}
[data-theme="dark"] .nl-it:hover,[data-theme="dark"] .nl-it.kb{background:#2F384A}
[data-theme="dark"] .nl-dd-big .nl-it.on{background:#26324A;box-shadow:inset 0 0 0 1.5px #3A5A8C}
@media (max-width:900px){.new-list .grid-new-list,.new-list .grid-new-list:has(.nl-kind){grid-template-columns:1fr}.nl-dd-big .nl-menu{width:min(410px,86vw)}}

/* v0.70 — Auto-TC: cabecera Diseño DubXpro, cápsulas, «Volver al pautado para Auto-TC», piloto en el menú */
.atcb .atcb-top{display:flex;align-items:center;gap:20px}
.atcb .atcb-logo{width:64px;height:64px;border-radius:16px;display:grid;place-items:center;flex:none;color:#fff;background:linear-gradient(135deg,#0A6CF5,#7C3AED);box-shadow:0 8px 22px rgba(10,108,245,.35)}
.atcb .pth-hero-in{flex:1;min-width:0}
.atcb .pth-hero h1{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.atcb .pth-hero p{max-width:820px}
.atcb .atcb-tools{align-self:flex-start;margin-top:0}
.atcb .atc-page{padding-top:20px}
.atcb .card{border:0;border-radius:16px;box-shadow:0 2px 10px rgba(16,24,40,.07)}
.atcb-caps{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.atcb .atcb-caps .btn,.atcb .atcb-det>summary.btn,.atcb .card form .btn{display:inline-flex;align-items:center;gap:7px;min-height:36px;border-radius:10px;border:0;background:#E2E5EA;color:#222A3A;font-weight:600;box-shadow:none;cursor:pointer}
.atcb .atcb-caps .btn:hover,.atcb .atcb-det>summary.btn:hover{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.14)}
.atcb .atcb-caps .btn svg{color:#4A5262}
.atcb .card form .btn.primary{background:#0A6CF5;color:#fff}
.atcb .card form .btn.danger{background:#FDE8E8;color:#B42318}
.atcb .btn.atcb-go,.atcb .atcb-caps .btn.atcb-go{background:#0A6CF5!important;color:#fff!important;box-shadow:0 4px 14px rgba(10,108,245,.3)}
.atcb .btn.atcb-go svg{color:#fff!important}
.atcb .atcb-det{margin-top:14px}
.atcb .atcb-det>summary{list-style:none}
.atcb .atcb-det>summary::-webkit-details-marker{display:none}
.atc-engine.st-wait{background:#EEF4FF}.atc-engine.st-wait .atc-dot{background:#0A6CF5;animation:atcblink 1s infinite}
.atc-engine.st-missing{background:#FFF7E6}.atc-engine.st-missing .atc-dot{background:#F59E0B}
@keyframes atcblink{50%{opacity:.25}}
.nav-atc{margin-left:auto;width:9px;height:9px;border-radius:50%;background:#CBD5E1;flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.9)}
.nav-atc.on{background:#16A34A;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 8px rgba(22,163,74,.7)}
.nav-atc.off{background:#CBD5E1}
@media (max-width:760px){.atcb .atcb-top{flex-wrap:wrap}}

/* v0.71 — takes lineales y takes a pagar (barras comparadas) · fichas de Doblajes plegables con pestañas (propuesta C) */
.dxd{display:flex;flex-direction:column;gap:5px;min-width:0}
.dxd-l{display:flex;align-items:center;gap:8px;font-size:12.5px}
.dxd-l>span{width:66px;flex:none;color:var(--d-mut,#5B6474);font-weight:600}
.dxd-b{flex:1;min-width:40px;height:8px;border-radius:9px;background:var(--d-bar,#DDE1E7);overflow:hidden;display:block}
.dxd-b>i{display:block;height:100%;border-radius:9px;background:#475569}
.dxd-l.pay .dxd-b>i{background:linear-gradient(90deg,#0A6CF5,#7C3AED)}
.dxd-l>b{width:38px;text-align:right;font-variant-numeric:tabular-nums;font-size:13.5px}
.dxd-l.pay>b,.dxd-pay{color:#0A6CF5}
.dxd-l>em{font-style:normal;color:var(--d-mut,#8A93A3);width:84px;text-align:right;white-space:nowrap;font-size:12px}
.dxd-n{margin:2px 0 0;font-size:11.5px;color:var(--d-mut,#8A93A3)}
.dxd-sm{display:inline-flex;vertical-align:middle;width:300px;gap:2px;margin-right:10px}
.dxd-sm .dxd-l{font-size:11px;gap:6px}
.dxd-sm .dxd-l>span{width:52px}
.dxd-sm .dxd-l>b{font-size:12px;width:30px}
.dxd-sm .dxd-l>em{width:72px;font-size:11px}
.dxd-sm .dxd-b{height:6px}
.pth-card .dxd{margin:4px 0 2px}
.pth-dual{margin:-28px 40px 14px auto;width:min(420px,calc(100% - 32px));background:var(--d-card,#fff);color:var(--d-ink,#1E2533);border-radius:14px;padding:12px 14px;box-shadow:0 10px 30px rgba(16,24,40,.18);position:relative;z-index:2}
@media (max-width:900px){.pth-dual{margin:-20px 16px 12px 16px;width:auto}}
html.dark .dxd-l.pay>b,html.dark .dxd-pay{color:#7DB3FF}
@media (max-width:1100px){.pt-sum .dxd-sm{width:210px}.pt-sum .dxd-sm .dxd-l>em{display:none}}
/* Doblajes: ficha plegable */
.dbj-b .dbjc{display:flex;flex-direction:column;gap:9px;padding:13px 13px 0}
.dbj-b .dbjc .dbjc-top{display:flex;gap:11px;align-items:center}
.dbjc-ring{--p:0;width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;text-decoration:none;color:var(--d-ink);background:conic-gradient(#16A34A calc(var(--p)*1%),var(--d-bar) 0)}
.dbjc-ring span{width:40px;height:40px;border-radius:50%;background:var(--d-card);display:grid;place-items:center;font-size:12px;font-weight:800}
.dbjc-meta{flex:1;min-width:0;text-decoration:none;color:var(--d-ink);display:flex;flex-direction:column}
.dbjc-meta .dbj-sp{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--d-mut)}
.dbj-b .dbjc-meta h2{font-size:18px;margin:1px 0 0;line-height:1.15;color:var(--d-ink)}
.dbjc-sub{font-size:12px;color:var(--d-mut)}
.dbjc-line{font-size:12px;color:var(--d-mut);margin-top:2px}
.dbjc-line b{color:var(--d-ink)}.dbjc-line b.pay{color:#0A6CF5}
html.dark .dbjc-line b.pay{color:#7DB3FF}
.dbjc-fold{width:30px;height:30px;border:0;border-radius:9px;background:var(--d-cap);color:var(--d-ic);display:grid;place-items:center;cursor:pointer;flex:none;align-self:flex-start}
.dbjc-fold:hover{background:var(--d-capOn);box-shadow:var(--d-on-sh)}
.dbjc-fold svg{transition:transform .2s;transform:rotate(180deg)}
.dbjc.folded .dbjc-fold svg{transform:none}
.dbj-b .dbjc .dbj-st{margin:0}
.dbj-b .dbjc .dbj-iss{margin:0;align-self:flex-start}
.dbjc.folded .dbjc-more{display:none}
.dbjc-tabs{display:flex;gap:2px;background:var(--d-cap);border-radius:10px;padding:3px}
.dbjc-tabs button{flex:1;border:0;background:none;border-radius:7px;height:27px;font:inherit;font-size:12.5px;font-weight:600;color:var(--d-mut);cursor:pointer}
.dbjc-tabs button.on{background:var(--d-capOn);color:var(--d-ink);box-shadow:var(--d-on-sh)}
.dbjc-pane{display:none;padding:10px 2px 2px}
.dbjc-pane.on{display:flex;flex-direction:column;gap:8px}
.dbjc-txt{margin:0;font-size:12.5px;color:var(--d-mut)}
.dbjc-txt b{color:var(--d-ink)}
.dbjc-txt .warn{color:#B45309}.dbjc-txt .skip{color:#B42318}
.dbj-b .dbjc .auto-done{margin:0}
.dbj-b .dbjc .magic-btn.dbjc-prog{position:static;align-self:flex-start}
.dbj-b .dbjc-go{display:grid!important;grid-template-columns:1fr 1fr;align-self:stretch!important}
.dbj-b .dbjc .dbjc-go .dub-tool{background:transparent!important;color:var(--d-ink)!important;border:0!important;box-shadow:none;height:30px;min-height:30px;padding:0 10px;border-radius:8px;font-weight:500;font-size:13px}
.dbj-b .dbjc .dbjc-go .dub-tool:hover{background:var(--d-capOn)!important;box-shadow:var(--d-on-sh)}
.dbj-b .dbjc .dbjc-go .dub-tool svg{color:var(--d-ic)}
.dbj-b .dbjc .dbjc-foot{display:flex;flex-direction:row;align-items:center;gap:8px;padding:9px 0 11px;margin-top:auto}
.dbj-b .dbjc .dbjc-mini .dub-tool{padding:0 8px!important}
.dbjc-plan{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:9px;background:var(--d-cap);color:var(--d-ink);font-size:12.5px;font-weight:600;text-decoration:none}
.dbjc-plan:hover{background:var(--d-capOn);box-shadow:var(--d-on-sh)}
.dbjc-plan svg{color:var(--d-ic)}
.dbj-b .dbjc .dbjc-foot .dbj-upd{margin-left:auto;align-self:center}
.dbj-b .dbjc-all{margin-left:auto}
.dbj-b .dbjc-all button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--d-ink);border-radius:8px;padding:6px 11px;font:inherit;cursor:pointer}
.dbj-b .dbjc-all button.on{background:var(--d-capOn);font-weight:600;box-shadow:var(--d-on-sh)}
.dbj-b .dbjc-all button svg{color:var(--d-ic)}
.dbj-b .dbjc-all button[data-dbjall="1"] svg{transform:rotate(180deg)}

/* v0.72.2 — códigos intermedios corregidos a mano (verde) y casilla para escribirlos */
.pt-atb.ok{color:#14532D;background:#DCFCE7;border-color:#22C55E;opacity:1;font-weight:800}
.pt-atin{width:11ch;font:600 .78em/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:.3em;padding:1px 4px;border:1.5px solid #0A6CF5;border-radius:5px;background:#fff;color:#1E2533}
.pt-pastec svg{color:#16A34A}

/* v0.72.4 — Pautado: la imagen del vídeo siempre completa; teclas en un cajón plegable; vista vertical */
.pt-screen{flex:none}
.pt-ctl{grid-template-columns:minmax(0,1fr)}
.pt-keys{background:#1B1F26;border:1px solid #2F3541;border-radius:12px;min-width:0}
.pt-keys>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;padding:8px 12px;font-size:12px;color:#C4CBD6;border-radius:12px}
.pt-keys>summary::-webkit-details-marker{display:none}
.pt-keys>summary:hover{background:#222731}
.pt-keys>summary span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.pt-keys .pt-more{margin-left:auto;display:inline-flex;align-items:center;gap:5px;color:#E8ECF2;white-space:nowrap}
.pt-keys .pt-more svg{transition:transform .15s}.pt-keys[open] .pt-more svg{transform:rotate(180deg)}
.pt-keys .pt-help{padding:2px 10px 10px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.pt-head .pt-views .pt-tb.on{background:#fff;color:#0A6CF5;border-color:transparent;box-shadow:0 1px 3px rgba(0,0,0,.15)}
/* vista vertical: imagen completa arriba (nada a los lados), reproductor delgado y el guion debajo */
.pt.pt-v .pt-body{display:flex;flex-direction:column}
.pt.pt-v .pt-split{display:none}
.pt.pt-v .pt-vid{flex:none;overflow:visible;padding:10px 14px 8px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"scr scr" "seek seek" "tc ctl" "mk mk";gap:6px 14px;align-items:center}
.pt.pt-v .pt-screen{grid-area:scr;justify-self:center;height:var(--pt-vh,calc((100vh - 66px) * .5));width:auto;max-width:100%;aspect-ratio:16/9}
html.focus .pt.pt-v .pt-screen{height:var(--pt-vh,50vh)}
.pt.pt-v .pt-seek{grid-area:seek;margin:0}
.pt.pt-v .pt-tcbar{grid-area:tc;gap:8px}
.pt.pt-v .pt-tcbar select[data-fps]{display:none}
.pt.pt-v .pt-tc{font-size:19px;padding:5px 9px;border-width:1.5px}
.pt.pt-v .pt-syncbtn,.pt.pt-v .pt-follow{height:32px}
.pt.pt-v .pt-ctl{grid-area:ctl;display:flex;align-items:center;margin:0;min-width:0}
.pt.pt-v .pt-ctl-l{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:0}
.pt.pt-v .pt-ctl .pt-pad{flex:1 1 360px;max-width:520px}
.pt.pt-v .pt-ctl .pt-pad button{height:34px}
.pt.pt-v .pt-ctl .pt-pad button small,.pt.pt-v .pt-ctl .pt-pad .pk{display:none}
.pt.pt-v .pt-ctl .pt-pad button svg{width:18px;height:18px}
.pt.pt-v .pt-act{flex:1 1 380px}
.pt.pt-v .pt-act button{height:34px;font-size:12.5px}
.pt.pt-v .pt-keys{display:none}
.pt.pt-v .pt-marks{grid-area:mk}
.pt.pt-v .pt-script{flex:1;min-height:0}
@media (max-width:980px){.pt.pt-v .pt-vid{grid-template-columns:minmax(0,1fr);grid-template-areas:"scr" "seek" "tc" "ctl" "mk"}.pt.pt-v .pt-screen{height:auto;width:100%}}

/* v0.73.0 — Auto-TC en segundo plano: avance en la cabecera del pautado, en el piloto, avisos y lista de trabajos */
.pt-atcjob{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border-radius:999px;border:1px solid #BFD4FB;background:#EAF2FF;color:#0A4FC2;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.pt-atcjob:hover{background:#DCE9FF}
.pt-atcjob.off{background:#F3F4F6;border-color:#D1D5DB;color:#4B5563}
.pt-atcspin{width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:atcspin 1s linear infinite;flex:none}
.pt-atcjob.off .pt-atcspin{animation:none;border-right-color:currentColor;opacity:.5}
@keyframes atcspin{to{transform:rotate(360deg)}}
.nav-atc.run{width:auto;height:auto;min-width:16px;padding:1px 6px;border-radius:999px;background:#0A6CF5;color:#fff;font:700 10px/1.4 ui-monospace,Menlo,monospace;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 0 8px rgba(10,108,245,.5);text-align:center}
.dx-atcnote{position:fixed;right:18px;bottom:18px;z-index:9999;max-width:380px;background:#15171C;color:#F3F4F6;border-radius:14px;padding:14px 40px 14px 16px;box-shadow:0 18px 40px rgba(0,0,0,.35);font-size:13.5px;line-height:1.45;transform:translateY(16px);opacity:0;transition:.25s}
.dx-atcnote.in{transform:none;opacity:1}
.dx-atcnote a{color:#93C5FD;font-weight:700}
.dx-atcnote button{position:absolute;top:8px;right:10px;background:none;border:0;color:#9CA3AF;font-size:20px;cursor:pointer;line-height:1}
.atcj-list{display:grid;gap:8px;margin-top:8px}
.atcj{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
.atcj-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.atcj-m b a{color:inherit}
.atcj-bar{height:6px;border-radius:3px;background:#E5E7EB;overflow:hidden;margin-top:3px}.atcj-bar i{display:block;height:100%;background:#0A6CF5;border-radius:3px}
.atcj-st{font-size:12px;font-weight:800;white-space:nowrap;padding:3px 9px;border-radius:999px;background:#F3F4F6;color:#374151}
.atcj.st-procesando .atcj-st,.atcj.st-en-cola .atcj-st{background:#EAF2FF;color:#0A4FC2}
.atcj.st-terminado .atcj-st{background:#DCFCE7;color:#14532D}
.atcj.st-error .atcj-st,.atcj.st-interrumpido .atcj-st{background:#FEE2E2;color:#991B1B}

/* v0.74 — dubXvideo: piloto de la cola en el menú lateral y avisos al terminar (en cualquier página) */
.nav-dxvp{margin-left:auto;display:none;align-items:center;gap:5px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:#0A6CF5;background:#EAF0FD;border-radius:999px;padding:1px 8px 1px 6px;white-space:nowrap}
.nav-dxvp.on{display:inline-flex}
.nav-dxvp.on::before{content:"";width:7px;height:7px;border-radius:50%;background:#0A6CF5;animation:dxvpulse 1.2s ease-in-out infinite}
.nav-dxvp.idle{display:inline-flex;padding:0;background:transparent}
.nav-dxvp.idle::before{content:"";width:7px;height:7px;border-radius:50%;background:#22C55E}
html.dark .nav-dxvp.on,.side:not(.side-light) .nav-dxvp.on{background:rgba(91,155,255,.18);color:#8DB8FF}
@keyframes dxvpulse{50%{opacity:.35}}
.dxvp-toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:10000}
.dxvp-toast{display:flex;align-items:center;gap:10px;background:#1E2533;color:#fff;border-radius:12px;padding:10px 12px 10px 14px;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.25);max-width:420px;border-left:4px solid #22C55E}
.dxvp-toast.err{border-left-color:#EF4444}
.dxvp-toast b{color:#8DB8FF;white-space:nowrap}
.dxvp-toast span{flex:1;min-width:0}
.dxvp-toast a{color:#fff;font-weight:700;text-decoration:none;background:rgba(255,255,255,.14);border-radius:7px;padding:4px 9px}
.dxvp-toast button{border:0;background:none;color:#AAB2C0;font-size:18px;cursor:pointer;line-height:1}
/* v0.84.5 · campos de enlace: botón para abrirlo */
.url-in{display:flex;align-items:center;gap:6px;min-width:0;width:100%}
.url-in input{flex:1;min-width:0}
.url-go{flex:none;display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;border-radius:999px;background:#E8F0FE;color:#0A6CF5!important;font-size:12.5px;font-weight:600;text-decoration:none!important;white-space:nowrap}
.url-go:hover{background:#0A6CF5;color:#fff!important}
td .url-go{height:24px;padding:0 8px}
html.dark .url-go{background:#1C2B45;color:#8AB4FF!important}
.mat-pill{font-size:11.5px;color:#0B3F8C;background:#E8F0FE;border-radius:999px;padding:3px 10px;white-space:nowrap;margin-left:6px}
.mat-open{font-size:12.5px;font-weight:500;color:var(--ink)!important;text-decoration:none!important;border:1px solid #E1E4E9;background:#F6F7F9;border-radius:999px;padding:5px 12px;white-space:nowrap}
.mat-open:hover{border-color:#0A6CF5;background:#fff}
.mat-help{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 16px 16px;border-top:1px solid var(--line,#E6E8EC)}
.mat-help>div{background:var(--soft,#F7F8FA);border:1px solid var(--line,#E6E8EC);border-radius:12px;padding:12px 14px}
.mat-help b{font-size:13px}
.mat-help p{margin:4px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted,#5B6474)}
@media (max-width:900px){.mat-help{grid-template-columns:1fr}.mat-pill{display:none}}
html.dark .mat-pill{background:#1C2B45;color:#8AB4FF}
html.dark .mat-help>div{background:#1E2229;border-color:#33373F}

/* ===== v0.85 · Ficha de la tarea (diseño DubXpro, estilo Apple): chips desplegables, grupos plegables y guardado solo ===== */
.tx{--tx-card:#fff;--tx-line:#E6E8EC;--tx-sep:#EEF0F3;--tx-soft:#F2F3F5;--tx-ink:#1C2230;--tx-mute:#5B6474;--tx-faint:#8A93A3;--tx-blue:#0A6CF5;max-width:1240px;margin:0 auto;padding:28px 40px 56px;gap:18px}
html.dark .tx{--tx-card:#1C222C;--tx-line:#313947;--tx-sep:#2A313D;--tx-soft:#262D38;--tx-ink:#E7EAF0;--tx-mute:#AAB2C0;--tx-faint:#8A93A3}
.tx-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tx-crumb{font-size:13px;color:var(--tx-mute)!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:6px}
.tx-crumb:hover{color:var(--tx-ink)!important}
.tx-crumb i{width:8px;height:8px;border-radius:2px;display:inline-block}
.tx-sl{color:#C3C9D3}
.tx-acts{display:flex;align-items:center;gap:10px}
.tx-saved{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#1F9254;transition:opacity .2s}
.tx-saved i{width:8px;height:8px;border-radius:50%;background:#1F9254}
.tx-saved.ing{color:var(--tx-faint)}.tx-saved.ing i{background:#C3C9D3;animation:txp 1s infinite}
.tx-saved.err{color:#C0362C}.tx-saved.err i{background:#C0362C}
@keyframes txp{50%{opacity:.3}}
.tx-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.tx-main,.tx-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.tx-form{display:flex;flex-direction:column;gap:16px}
.tx-card,.tx-grp{background:var(--tx-card);border:1px solid var(--tx-line);border-radius:16px;box-shadow:0 1px 2px rgba(20,24,31,.04);color:var(--tx-ink)}
.tx-grp{overflow:visible}
.tx-head{padding:22px 22px 18px}
.tx-kick{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--tx-blue);letter-spacing:.3px}
.tx-kic{width:34px;height:34px;border-radius:9px;background:#EAF1FE;display:flex;align-items:center;justify-content:center}
html.dark .tx-kic{background:#1C2B45}
.tx .tx-title{display:block;width:100%;border:0!important;background:transparent!important;padding:2px 0!important;margin:0;font:inherit;font-size:22px!important;line-height:1.3;font-weight:700;letter-spacing:-.3px;color:var(--tx-ink);resize:none;overflow:hidden;word-break:break-word;border-radius:8px;box-shadow:none!important}
.tx .tx-title:focus{outline:2px solid rgba(10,108,245,.35);outline-offset:4px}
.tx-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tx-pop{position:relative;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px 0 12px;border-radius:9px;background:var(--tx-soft);font-size:13.5px;font-weight:500;color:var(--tx-ink);cursor:pointer;transition:filter .12s}
.tx-pop:hover{filter:brightness(.97)}
html.dark .tx-pop:hover{filter:brightness(1.15)}
.tx .tx-pop select.tx-sel{-webkit-appearance:none;appearance:none;border:0!important;background:transparent!important;font:inherit!important;font-size:13.5px!important;color:inherit;padding:0!important;margin:0;height:100%!important;width:auto!important;max-width:none!important;cursor:pointer;box-shadow:none!important;outline:none}
.tx .tx-pop:focus-within{box-shadow:0 0 0 3px rgba(10,108,245,.25)}
.tx-pop .tx-ud{margin-left:-2px}
.tx-ud{color:var(--tx-faint);flex:none}
.tx-dot{width:8px;height:8px;border-radius:50%;flex:none;background:#94A3B8}
.tx-sq{width:9px;height:9px;border-radius:2px;flex:none}
.tx-av{width:20px;height:20px;border-radius:50%;background:#DDE3EC;color:#4A5262;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}
.tx-av.sm{width:26px;height:26px;font-size:10.5px;background:#E8F0FE;color:#0A6CF5}
.tx-av.sm.ev{background:var(--tx-soft);color:var(--tx-mute)}
.tx-dates{padding:0}
.tx-dates summary{list-style:none;display:flex;align-items:center;gap:7px;height:32px;padding:0 10px 0 12px;cursor:pointer;color:var(--tx-ink)}
.tx-dates summary::-webkit-details-marker{display:none}
.tx-dates summary svg:first-child{color:var(--tx-mute)}
.tx-menu{position:absolute;top:38px;left:0;z-index:30;background:color-mix(in srgb,var(--tx-card) 96%,transparent);backdrop-filter:blur(20px);border:1px solid var(--tx-line);border-radius:12px;box-shadow:0 12px 40px rgba(20,24,31,.18),0 2px 6px rgba(20,24,31,.08);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:230px;cursor:default}
.tx-menu label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--tx-faint);letter-spacing:.2px}
.tx-gh{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 18px;font-size:15px;font-weight:600;cursor:pointer;user-select:none;color:var(--tx-ink)}
.tx-gh::-webkit-details-marker{display:none}
.tx-n{font-size:12px;font-weight:500;color:var(--tx-faint)}
.tx-ch{margin-left:auto;color:var(--tx-faint);transition:transform .18s ease;flex:none}
details.tx-grp:not([open]) > .tx-gh .tx-ch{transform:rotate(-90deg)}
.tx-r{display:flex;align-items:center;gap:12px;padding:6px 18px;min-height:46px;border-top:1px solid var(--tx-sep);font-size:14px}
.tx-k{color:var(--tx-mute);width:130px;flex:none}
.tx-v{flex:1;min-width:0;color:var(--tx-ink);overflow-wrap:anywhere}
.tx-v b{font-weight:500}
.tx-mono{font-variant-numeric:tabular-nums}
.tx-help{color:var(--tx-faint);font-size:13px}
.tx .tx-v input:not([type=checkbox]),.tx .tx-v select{width:100%;max-width:420px;height:34px;border:1px solid transparent!important;background:var(--tx-soft)!important;border-radius:9px!important;padding:0 10px!important;font-size:14px!important;color:var(--tx-ink);box-shadow:none!important}
.tx .tx-v input:focus,.tx .tx-v select:focus{border-color:rgba(10,108,245,.45)!important;background:var(--tx-card)!important;outline:none}
.tx-v .url-in{max-width:520px}
.tx-sw{position:relative;width:42px;height:25px;flex:none;cursor:pointer}
.tx-sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.tx-sw i{position:absolute;inset:0;border-radius:999px;background:#DDE1E7;transition:background .2s}
.tx-sw i::after{content:"";position:absolute;left:2px;top:2px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.tx-sw input:checked + i{background:#34C759}
.tx-sw input:checked + i::after{transform:translateX(17px)}
.tx-sw input:disabled + i{opacity:.5}
.tx-shares{margin:0;padding:10px 18px 14px;border:0;border-top:1px solid var(--tx-sep)}
.tx-shares legend{float:left;width:100%;font-size:12px;color:var(--tx-faint);padding:0 0 6px}
.tx-addf{min-height:40px}
.tx-addf a{font-size:13px;color:var(--tx-blue)!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:6px}
.tx-btns{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px;border-top:1px solid var(--tx-sep)}
.tx-b{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border-radius:999px;font:inherit;font-size:13.5px;font-weight:600;border:1px solid var(--tx-line);background:var(--tx-soft);color:var(--tx-ink)!important;text-decoration:none!important;cursor:pointer}
.tx-b:hover{border-color:var(--tx-blue)}
.tx-b.pri{background:var(--tx-blue);border-color:var(--tx-blue);color:#fff!important}
.tx-b.pri:hover{filter:brightness(1.08)}
.tx-pad{padding:4px 18px 18px}
.tx .desc-wrap textarea.tx-desc{width:100%;min-height:96px;border:0!important;border-radius:12px!important;background:var(--tx-soft)!important;padding:12px 14px!important;font-size:14px;line-height:1.5;box-shadow:none!important;resize:vertical}
.tx .desc-wrap .desc-preview{border-radius:12px;background:var(--tx-soft);padding:12px 14px;min-height:60px;cursor:text}
.tx-del{align-self:flex-start;border:0;background:transparent;color:#C0362C;font:inherit;font-size:13px;padding:4px 6px;cursor:pointer;border-radius:8px}
.tx-del:hover{background:#FDECEA}
.tx-tl{list-style:none;margin:0;padding:4px 18px 8px;display:flex;flex-direction:column;gap:12px;max-height:420px;overflow:auto}
.tx-tl li{display:flex;gap:10px;font-size:13px;line-height:1.45;color:var(--tx-mute)}
.tx-tl li b{color:var(--tx-ink);font-weight:500}
.tx-tl small{display:block;color:var(--tx-faint);font-size:11.5px}
.tx-e small{margin-top:1px}
.tx-cb{flex:1;min-width:0;background:var(--tx-soft);border-radius:4px 12px 12px 12px;padding:8px 11px}
.tx-ch{display:flex;align-items:center;gap:8px}
.tx-cb .tx-ch small{display:inline}
.tx-cb .c-del{margin-left:auto}
.tx-cb .c-body{color:var(--tx-ink);margin-top:2px}
.tx-compose{position:relative;margin:4px 18px 16px;border:1px solid var(--tx-line);border-radius:12px;display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;background:var(--tx-card)}
.tx-compose textarea{flex:1;border:0!important;background:transparent!important;box-shadow:none!important;padding:5px 0!important;resize:none;font-size:13.5px;min-height:24px;max-height:180px}
.tx-send{width:30px;height:30px;border-radius:50%;border:0;background:var(--tx-blue);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.tx-note{padding:14px 18px;font-size:12.5px;color:var(--tx-mute);line-height:1.5;display:flex;flex-direction:column;gap:2px}
.tx-note b{color:var(--tx-ink);font-size:13px}
.tx-side .ord-card{border-radius:16px}
.tx-dlg{border:0;border-radius:16px;padding:0;box-shadow:0 20px 60px rgba(0,0,0,.3);width:min(440px,92vw);background:var(--tx-card,#fff);color:var(--tx-ink,#1C2230)}
.tx-dlg::backdrop{background:rgba(20,24,31,.45)}
.tx-dlg-in{padding:20px;display:flex;flex-direction:column;gap:12px}
.tx-dlg-in h3{margin:0;font-size:17px}
.tx-dlg-in label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#6B7382}
.tx-dlg-f{display:flex;justify-content:flex-end;gap:8px}
.tx .tf-drop,.tx .add-row{margin-top:8px}
@media (max-width:1000px){.tx{padding:20px 16px 48px}.tx-layout{grid-template-columns:1fr}.tx-k{width:100px}}
.tx label.tx-pop{flex-direction:row!important;align-items:center!important;margin:0}
.tx .tx-compose textarea{text-align:left}
.tx-v .tx-pop{max-width:100%}
.tx .tx-compose textarea{min-height:24px!important;height:auto;text-align:left!important;width:auto!important;font:inherit;color:var(--tx-ink)}
.tx-compose .drop-hint{position:absolute;left:12px;top:100%;font-size:11.5px}.tx-compose .drop-hint:empty{display:none}
.tx .comment-form.tx-compose{flex-direction:row;align-items:flex-end;gap:8px}

/* v0.86 · Doblajes (maqueta 12): plegada = pestaña con lo esencial y dos «hojas» debajo; desplegada = bandeja hundida */
.dbj-b .dbj-grid{align-items:start}
.dbj-b .dbjc{overflow:visible;position:relative;z-index:0}
.dbj-b .dbjc .dbjc-more{background:var(--d-tray,#F0F2F5);border:1px solid var(--d-line);border-radius:14px;padding:10px;box-shadow:inset 0 1px 2px rgba(16,24,40,.06)}
html.dark .dbj-b .dbjc .dbjc-more{--d-tray:#1B2231}
.dbj-b .dbjc .dbjc-more .dbjc-tabs{background:var(--d-cap)}
.dbjc-peek{display:none;flex-direction:column;align-items:stretch;gap:8px;width:100%;text-align:left;font:inherit;color:var(--d-ink);background:var(--d-tray,#F0F2F5);border:1px dashed #C3CDDC;border-radius:14px;padding:10px 11px;cursor:pointer;transition:border-color .15s,background .15s}
html.dark .dbjc-peek{--d-tray:#1B2231;border-color:#3A465C}
.dbjc-peek:hover{border-color:#0A6CF5}
.dbj-b .dbjc.folded .dbjc-peek{display:flex}
.dbjc-pk-t{display:flex;flex-direction:column;font-size:12.5px;color:var(--d-mut);line-height:1.35}
.dbjc-pk-t b{color:var(--d-ink);font-weight:700}
.dbjc-pk-bar{display:block;height:5px;border-radius:3px;background:var(--d-bar);overflow:hidden}
.dbjc-pk-bar i{display:block;height:100%;background:#0A6CF5;border-radius:3px}
.dbjc-pk-go{display:flex;gap:4px;align-items:center}
.dbjc-pk-go span{flex:1;text-align:center;font-size:11.5px;font-weight:600;color:var(--d-mut);background:var(--d-cap);border-radius:7px;padding:4px 0;opacity:.75}
.dbjc-pk-go b{display:inline-flex;align-items:center;gap:4px;background:#0A6CF5;color:#fff;border-radius:7px;padding:4px 9px;font-size:11.5px;white-space:nowrap}
.dbjc-pk-go b svg{transform:none}
.dbj-b .dbjc.folded::before,.dbj-b .dbjc.folded::after{content:"";position:absolute;left:12px;right:12px;bottom:-6px;height:12px;border-radius:0 0 14px 14px;background:var(--d-card);box-shadow:0 1px 2px rgba(16,24,40,.12);z-index:-1}
.dbj-b .dbjc.folded::after{left:24px;right:24px;bottom:-11px;opacity:.7;z-index:-2}
.dbj-b .dbjc.folded{margin-bottom:11px}
.dbjc-pk-go span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;padding:4px 3px}
@container dbjc (max-width:250px){.dbjc-pk-go span{display:none}.dbjc-pk-go b{flex:1;justify-content:center}}

/* v0.86 · Configurar lista (maqueta 13): estilo Ajustes, cápsulas, interruptor, se guarda sola */
.le{--le-card:#fff;--le-line:#E6E8EC;--le-sep:#EEF0F3;--le-ink:#1C2230;--le-mut:#6B7382;--le-soft:#F2F4F7;--le-in:#F8F9FB;--le-blue:#0A6CF5;max-width:1240px;margin:0 auto;padding:34px 56px 80px!important;color:var(--le-ink)}
html.dark .le{--le-card:#1F2633;--le-line:#2E3646;--le-sep:#2A3242;--le-ink:#EEF1F6;--le-mut:#A3ACBC;--le-soft:#2A3242;--le-in:#232B39;--le-blue:#4C93FF}
.le-crumb{font-size:13px;color:var(--le-mut)}.le-crumb a{color:var(--le-blue);text-decoration:none}.le-crumb a:hover{text-decoration:underline}
.le-head{display:flex;align-items:center;gap:16px;margin:14px 0 30px}
.le-sq{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;color:#fff;flex:none;box-shadow:0 2px 6px rgba(16,24,40,.15)}
.le-ht{min-width:0}.le-ht h1{margin:0;font-size:30px;letter-spacing:-.6px;line-height:1.1;overflow-wrap:anywhere}
.le-ht p{margin:4px 0 0;color:var(--le-mut);font-size:13.5px}
.le-hr{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none}
.le-saved{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#15803D;white-space:nowrap}
.le-saved i{width:8px;height:8px;border-radius:50%;background:#22C55E}
.le-saved.ing{color:var(--le-mut)}.le-saved.ing i{background:#F59E0B}
.le-saved.err{color:#B42318}.le-saved.err i{background:#EF4444}
.le-pill{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:500;color:var(--le-ink);background:var(--le-card);border:1px solid var(--le-line);border-radius:999px;padding:8px 14px;cursor:pointer;white-space:nowrap}
.le-pill:hover{background:var(--le-soft)}
.le-pri{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13.5px;font-weight:600;color:#fff;background:#0A6CF5;border:0;border-radius:999px;padding:9px 16px;cursor:pointer;white-space:nowrap}
.le-pri:hover{background:#0858CC}
.le-body{display:grid;grid-template-columns:210px minmax(0,1fr);gap:36px;align-items:start}
.le-nav{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.le-nav a{display:flex;align-items:center;gap:9px;padding:8px 12px;border-radius:10px;color:var(--le-ink);text-decoration:none}
.le-nav a svg{color:var(--le-mut)}
.le-nav a:hover{background:var(--le-soft)}
.le-nav a.on{background:#E6EEFD;color:#0A6CF5;font-weight:600}.le-nav a.on svg{color:#0A6CF5}
html.dark .le-nav a.on{background:#1E3155;color:#8DBBFF}
.le-nav a.dg{color:#B42318;margin-top:12px}.le-nav a.dg svg{color:#B42318}
.le-col{display:flex;flex-direction:column;gap:34px;min-width:0}
.le-sec{scroll-margin-top:16px}
.le-sec h2{margin:0 0 4px;font-size:17px;letter-spacing:-.2px}
.le-sec h2.le-dg{color:#B42318}
.le-sub{margin:0 0 12px;color:var(--le-mut);font-size:13px;line-height:1.5}
.le-grp{background:var(--le-card);border:1px solid var(--le-line);border-radius:16px;box-shadow:0 1px 2px rgba(20,24,31,.04);overflow:hidden;margin:0}
.le .le-r{display:flex;align-items:center;gap:16px;padding:12px 18px;border-top:1px solid var(--le-sep);min-height:58px;flex-direction:row}
.le .le-r:first-of-type{border-top:0}
.le .le-k{width:230px;flex:none;font-size:14px;font-weight:500;color:var(--le-ink);display:block}
.le .le-k small{display:block;color:var(--le-mut);font-weight:400;font-size:12px;margin-top:2px;line-height:1.35}
.le .le-k a{color:var(--le-blue);text-decoration:none}
.le-muted{color:var(--le-mut)!important;font-weight:400!important;width:auto!important}
.le-v{flex:1;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.le-end{justify-content:flex-end}
.le .le-in{flex:1;min-width:0;height:38px;border-radius:10px;border:1px solid var(--le-line);background:var(--le-in);color:var(--le-ink);padding:0 12px;font:inherit;font-size:14px;box-sizing:border-box}
.le .le-in:focus{outline:none;border-color:#0A6CF5;box-shadow:0 0 0 3px rgba(10,108,245,.15);background:var(--le-card)}
.le .le-short{max-width:280px}
.le-pop{position:relative;display:inline-flex;align-items:center}
.le-pop select{appearance:none;-webkit-appearance:none;font:inherit;font-size:14px;font-weight:500;color:var(--le-ink);background:var(--le-soft);border:0;border-radius:999px;height:36px;padding:0 34px 0 14px;cursor:pointer;max-width:100%}
.le-pop::after{content:"";position:absolute;right:13px;top:50%;width:7px;height:7px;border-right:1.6px solid var(--le-mut);border-bottom:1.6px solid var(--le-mut);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.le-pop select:focus-visible{outline:2px solid #0A6CF5;outline-offset:2px}
.le-pop.le-grow{flex:1;min-width:200px}.le-pop.le-grow select{width:100%}
.le-step{display:inline-flex;align-items:center;border:1px solid var(--le-line);border-radius:10px;overflow:hidden;background:var(--le-in)}
.le-step button{width:34px;height:36px;border:0;background:transparent;color:var(--le-ink);font-size:16px;cursor:pointer}
.le-step button:hover{background:var(--le-soft)}
.le .le-step input{width:46px;height:36px;border:0;border-left:1px solid var(--le-line);border-right:1px solid var(--le-line);text-align:center;font:inherit;font-weight:600;background:var(--le-card);color:var(--le-ink);-moz-appearance:textfield;padding:0}
.le-step input::-webkit-inner-spin-button,.le-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.le-hint{font-size:12.5px;color:var(--le-mut)}
.le .le-sw{position:relative;display:inline-block!important;width:46px;height:28px;flex:none;cursor:pointer}
.le-sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.le-sw i{position:absolute;inset:0;border-radius:14px;background:#D9DDE3;transition:background .18s}
.le-sw i::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s}
.le-sw input:checked+i{background:#34C759}.le-sw input:checked+i::after{transform:translateX(18px)}
.le-sw input:focus-visible+i{box-shadow:0 0 0 3px rgba(10,108,245,.3)}
html.dark .le-sw i{background:#3A4458}
.le-colors .swatches{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.le-colors .swatches label{display:inline-flex!important;position:relative;cursor:pointer}
.le-colors .swatches input[type=radio]{position:absolute;opacity:0}
.le-colors .swatch{width:26px;height:26px;border-radius:50%;display:block;border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.le-colors .swatches input[type=radio]:checked+.swatch{box-shadow:0 0 0 2px var(--le-card),0 0 0 4px var(--le-ink)}
.le-colors .swatches input[type=color]{width:30px;height:30px;border:0;padding:0;background:none;border-radius:8px;cursor:pointer}
/* estados */
.le-st{display:grid;grid-template-columns:18px 22px minmax(0,1fr) auto 70px 30px;gap:12px;align-items:center;padding:9px 18px;border-top:1px solid var(--le-sep);font-size:14px;background:var(--le-card)}
.le-grp>.le-st:first-of-type{border-top:0}
.le-st.drag{opacity:.5;background:var(--le-soft)}
.le-grip{color:#B8BFCA;cursor:grab;font-size:15px;user-select:none}
.le-dot{position:relative;width:16px;height:16px;border-radius:50%;background:var(--c);cursor:pointer;display:block!important;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.le-dot input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;padding:0;border:0}
.le .le-stn{border:1px solid transparent;background:transparent;color:var(--le-ink);font:inherit;font-size:14px;height:34px;padding:0 8px;border-radius:8px;min-width:0;width:100%}
.le .le-stn:hover{border-color:var(--le-line)}.le .le-stn:focus{outline:none;border-color:#0A6CF5;background:var(--le-in)}
.le-cat{position:relative;display:inline-flex;border-radius:999px;justify-self:start}
.le-cat select{appearance:none;-webkit-appearance:none;font:inherit;font-size:12.5px;font-weight:600;border:0;background:transparent;color:inherit;height:28px;padding:0 26px 0 11px;cursor:pointer}
.le-cat::after{content:"";position:absolute;right:10px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none;opacity:.8}
.le-cat.c-todo{background:#F2F4F7;color:#4A5262}.le-cat.c-doing{background:#E6EEFD;color:#1D4ED8}.le-cat.c-rev{background:#FEF3C7;color:#92400E}.le-cat.c-done{background:#DCFCE7;color:#166534}
html.dark .le-cat.c-todo{background:#2A3242;color:#CBD2DC}html.dark .le-cat.c-doing{background:#1E3155;color:#9CC2FF}html.dark .le-cat.c-rev{background:#3B2F12;color:#FCD34D}html.dark .le-cat.c-done{background:#14321F;color:#86EFAC}
.le-n{color:var(--le-mut);font-size:12.5px;text-align:right;white-space:nowrap}
.le-x{border:0;background:none;color:#B8BFCA;font-size:14px;cursor:pointer;border-radius:8px;height:30px}
.le-x:hover{color:#B42318;background:#FEF3F2}
.le-add{border-top:1px solid var(--le-sep);padding:6px 10px}
.le-addb{border:0;background:none;color:#0A6CF5;font:inherit;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:6px;padding:8px;cursor:pointer;border-radius:8px}
.le-addb:hover{background:var(--le-soft)}
.le-addf:not([hidden]){display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:4px 8px 4px 38px}
.le .le-addf .le-stn{border-color:var(--le-line);background:var(--le-in)}
/* columnas */
.le-chips{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px}
.le-chip{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:13px;color:var(--le-ink);background:var(--le-soft);border:0;border-radius:999px;padding:7px 13px;cursor:pointer}
.le-chip:hover{box-shadow:0 0 0 1px var(--le-line) inset;background:var(--le-card)}
.le-chip.off{opacity:.6}.le-chip em{font-style:normal;color:var(--le-mut)}
.le-chip svg{color:var(--le-mut)}
.le-chip-add{background:var(--le-card);border:1px dashed #B9CCEC;color:#0A6CF5;font-weight:600}.le-chip-add svg{color:#0A6CF5}
/* convocatorias */
.le-dub{display:flex;align-items:center;gap:14px;padding:16px 18px}
.le-dubic{width:42px;height:42px;border-radius:12px;background:#EDE9FE;color:#6D28D9;display:grid;place-items:center;flex:none}
html.dark .le-dubic{background:#2E2552;color:#C4B5FD}
.le-dubt{flex:1;font-size:13px;color:var(--le-mut);line-height:1.5}.le-dubt b{display:block;color:var(--le-ink);font-size:14px}
/* otros proyectos */
.le .le-link{flex-wrap:wrap}
.le-chk{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:13px;color:var(--le-mut)}
/* borrar */
.le-danger{border-color:#F7D4D0}
.le-del{font:inherit;font-size:13.5px;font-weight:600;color:#B42318;background:#FEF3F2;border:1px solid #FDD3CF;border-radius:999px;padding:9px 16px;cursor:pointer;white-space:nowrap}
.le-del:hover{background:#FEE4E2}
html.dark .le-danger{border-color:#5A2A27}html.dark .le-del{background:#3A1D1B;border-color:#5A2A27;color:#F9A8A0}
@media (max-width:900px){.le{padding:22px 16px 60px!important}.le-body{grid-template-columns:1fr}.le-nav{position:static;flex-direction:row;flex-wrap:wrap}.le-nav a.dg{margin-top:0}.le .le-r{flex-wrap:wrap}.le .le-k{width:100%}.le-head{flex-wrap:wrap}.le-hr{margin-left:0}.le-st{grid-template-columns:18px 22px minmax(0,1fr) auto 30px}.le-n{display:none}}

/* 0.87 · ficha de tarea: enlace al take de la incidencia, Reservar sala y Chat de la tarea con color */
.tx-take{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:999px;background:#0A6CF5;color:#fff!important;font-size:13.5px;font-weight:600;text-decoration:none!important;box-shadow:0 1px 2px rgba(10,108,245,.3);transition:filter .12s,transform .12s;flex:none;white-space:nowrap}
.tx-take:hover{filter:brightness(1.08)}
.tx-take:active{transform:scale(.98)}
.tx-take svg{flex:none}
.tx-take i{font-style:normal;opacity:.8}
.tx-take::before{content:"";width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.35);flex:none}
.tx-take.st-y::before{background:#FACC15}.tx-take.st-r::before{background:#EF4444}.tx-take.st-b::before{background:#93C5FD}.tx-take.st-g::before{background:#4ADE80}
.tx-hrow{display:flex;align-items:flex-start;gap:14px}
.tx-hrow .tx-title{flex:1;min-width:0}
.tx-hrow .tx-take{margin-top:4px}
@media (max-width:760px){.tx-hrow{flex-wrap:wrap}}
.tx-book{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--tx-soft,#F2F4F7);color:var(--tx-ink,#222A3A)!important;text-decoration:none!important;transition:filter .12s}
.tx-book:hover{filter:brightness(.97)}
html.dark .tx-book:hover{filter:brightness(1.15)}
.tx-book-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#0A6CF5;color:#fff;flex:none}
.tx-book b{display:block;font-size:14px;font-weight:600}
.tx-book small{display:block;font-size:12px;color:var(--tx-mute,#6B7385);margin-top:1px}
.tx-book>span:nth-child(2){flex:1;min-width:0}
.tx-book i{font-style:normal;font-size:20px;color:var(--tx-mute,#6B7385)}
.bk-list+.tx-book{margin-top:10px}
.tx-chat .chat-open-btn{background:#222A3A;color:#fff;border-color:#222A3A;border-radius:999px;font-weight:600;padding-left:14px;padding-right:16px}
.tx-chat .chat-open-btn:hover{background:#0A6CF5;border-color:#0A6CF5;color:#fff}
.tx-chat .chat-open-btn svg{color:#7FB2FF}
.tx-chat .chat-open-btn:hover svg{color:#fff}
.tx-chat .chat-count{background:#0A6CF5;color:#fff}
.tx-chat .chat-count.unread{background:#EF4444}
html.dark .tx-chat .chat-open-btn{background:#0A6CF5;border-color:#0A6CF5}
html.dark .tx-chat .chat-open-btn svg{color:#fff}

/* 0.88 · ficha del locutor (maqueta 16): cabecera con datos para pagar, cifras pequeñas, trabajos, altas y bajas, tarifas */
.af{--af-card:#fff;--af-line:#E6E8EC;--af-sep:#EEF0F3;--af-soft:#F7F8FA;--af-ink:#1C2230;--af-mute:#6B7382;--af-faint:#8A93A3;--af-blue:#0A6CF5;--af-bluebg:#EAF1FE;
  max-width:1240px;margin:0 auto;width:100%;padding:24px 40px 64px;display:flex;flex-direction:column;gap:20px;color:var(--af-ink)}
html.dark .af{--af-card:#1C222C;--af-line:#313947;--af-sep:#2A313D;--af-soft:#232A35;--af-ink:#E7EAF0;--af-mute:#AAB2C0;--af-faint:#8A93A3;--af-bluebg:#16274A}
.af .mono{font-variant-numeric:tabular-nums}
.af-crumb{font-size:13px;color:var(--af-mute)}.af-crumb a{color:var(--af-blue);text-decoration:none}
.af-head{background:var(--af-card);border:1px solid var(--af-line);border-radius:24px;padding:24px 26px 0;box-shadow:0 1px 2px rgba(20,24,31,.04)}
.af-hrow{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.af-av{width:72px;height:72px;border-radius:22px;background:linear-gradient(140deg,#4C93FF,#0A6CF5);display:grid;place-items:center;font-size:26px;font-weight:700;color:#fff;flex:none}
.af-who{min-width:0;flex:1}
.af-who h1{margin:0;font-size:28px;letter-spacing:-.6px;line-height:1.15}
.af-sub{color:var(--af-mute);font-size:14px;margin-top:3px}
.af-acts{display:flex;gap:10px;flex-wrap:wrap}
.af-b{font:inherit;font-size:13.5px;font-weight:600;border:1px solid var(--af-line);background:var(--af-card);border-radius:999px;height:38px;padding:0 16px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--af-ink)!important;text-decoration:none!important;cursor:pointer}
.af-b:hover{filter:brightness(.97)}
.af-b.pri{background:#0A6CF5;border-color:#0A6CF5;color:#fff!important}
.af-pay{display:grid;grid-template-columns:auto repeat(5,minmax(0,1fr));margin-top:18px;background:var(--af-soft);border:1px solid var(--af-sep);border-radius:14px;overflow:hidden}
.af-pay>div{padding:9px 16px;border-left:1px solid var(--af-sep);font-size:13.5px;min-width:0}
.af-pay>div:first-child{border-left:0}
.af-pay span{display:block;font-size:11.5px;color:var(--af-faint)}.af-pay b{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.af-pay .af-pay-h{display:flex;align-items:center;font-size:11.5px;font-weight:700;color:var(--af-mute);letter-spacing:.4px;text-transform:uppercase;background:rgba(0,0,0,.03)}
.af-tabs{display:flex;gap:4px;margin-top:12px;overflow-x:auto}
.af-tabs a{font-size:14px;padding:12px 16px;color:var(--af-mute);border-bottom:2.5px solid transparent;font-weight:500;text-decoration:none;white-space:nowrap}
.af-tabs a.on{color:var(--af-blue);border-color:var(--af-blue);font-weight:600}
.af-tabs em{font-style:normal;font-size:11.5px;background:var(--af-bluebg);color:var(--af-blue);border-radius:999px;padding:1px 7px;margin-left:6px}
.af-tabs em.hot{background:#FFF4E5;color:#9A5B00}
.af-mbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.af-mbar h2{margin:0;font-size:20px;letter-spacing:-.3px}
.af-arr{width:34px;height:34px;border-radius:10px;border:1px solid var(--af-line);background:var(--af-card);display:grid;place-items:center;color:var(--af-mute);text-decoration:none;font-size:18px}
.af-kp{display:flex;gap:6px;flex-wrap:wrap;margin-left:6px}
.af-kp>*{font-size:12.5px;background:var(--af-card);border:1px solid var(--af-line);border-radius:999px;padding:5px 11px;color:var(--af-mute);white-space:nowrap;text-decoration:none}
.af-kp b{color:var(--af-ink);font-weight:700;margin-right:4px}
.af-kp .hl{background:var(--af-bluebg);border-color:#CFE0FD;color:var(--af-blue)}.af-kp .hl b{color:var(--af-blue)}
.af-seg{margin-left:auto;display:inline-flex;background:var(--af-soft);border:1px solid var(--af-line);border-radius:11px;padding:3px}
.af-seg a{font-size:13px;padding:5px 13px;border-radius:8px;color:var(--af-mute);text-decoration:none}
.af-seg a.on{background:var(--af-card);color:var(--af-ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.af-days{display:flex;align-items:center;gap:14px;background:var(--af-card);border:1px solid var(--af-line);border-radius:14px;padding:8px 12px}
.af-days>b{font-size:12px;color:var(--af-mute);font-weight:600;white-space:nowrap}
.af-dgrid{flex:1;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:3px}
.af-dgrid span{height:28px;border-radius:7px;background:var(--af-soft);display:grid;place-items:center;font-size:11px;font-weight:600;color:var(--af-mute)}
.af-dgrid span.w{opacity:.55}
.af-dgrid span.on{background:#0A6CF5;color:#fff;opacity:1}
.af-dgrid span.cv{background:var(--af-bluebg);color:var(--af-blue);box-shadow:inset 0 0 0 1.5px #9CC0FA;opacity:1}
.af-sech{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:4px}
.af-sech h2{margin:0;font-size:22px;letter-spacing:-.4px}.af-sech p{margin:4px 0 0;font-size:13.5px;color:var(--af-mute);max-width:640px;line-height:1.45}
.af-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.af-chip{font:inherit;font-size:13px;border:1px solid var(--af-line);background:var(--af-card);border-radius:999px;padding:7px 13px;font-weight:500;white-space:nowrap;color:var(--af-ink)!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.af-chip.xl{background:#107C41;border-color:#107C41;color:#fff!important;font-weight:600}
.af-tbl{background:var(--af-card);border:1px solid var(--af-line);border-radius:20px;overflow:hidden;box-shadow:0 1px 2px rgba(20,24,31,.04)}
.af-tbl .af-th,.af-tbl .af-tr,.af-tbl .af-tf{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 64px 56px minmax(0,1.5fr) 140px 26px;gap:12px;align-items:center;padding:0 20px}
.af-tbl.money .af-th,.af-tbl.money .af-tr,.af-tbl.money .af-tf{grid-template-columns:minmax(0,1.6fr) minmax(0,1.1fr) 64px 56px minmax(0,1.5fr) 96px 140px 26px}
.af-th{height:42px;background:var(--af-soft);font-size:11.5px;font-weight:600;color:var(--af-mute);text-transform:uppercase;letter-spacing:.3px}
.af .n{text-align:right}.af .c{text-align:center}
.af-tr{min-height:64px;border-top:1px solid var(--af-sep);font-size:14px;padding-top:8px!important;padding-bottom:8px!important;cursor:default}
.af-tbl .af-tr[data-row]{cursor:pointer}
.af-tr.open{background:var(--af-soft)}
.af-tr .n small{display:block;font-size:10.5px;color:var(--af-faint);font-weight:500}
.af-tr .n b{font-size:16px}
.af-pj{display:flex;align-items:center;gap:12px;min-width:0}
.af-pj>i{width:36px;height:36px;border-radius:10px;flex:none;display:grid;place-items:center;font-style:normal;color:#fff;font-weight:700;font-size:13px}
.af-pj>div{min-width:0}
.af-pj b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.af-pj small{display:flex;align-items:center;gap:6px;color:var(--af-faint);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.af-ty{font:inherit;font-size:10.5px!important;font-weight:700;border-radius:5px;padding:1px 5px;border:0;letter-spacing:.2px;flex:none;-webkit-appearance:none;appearance:none;cursor:pointer}
select.af-ty{padding-right:5px}
.af-ty.video{background:var(--af-bluebg);color:#0A6CF5}.af-ty.cine{background:#F1ECFE;color:#6D28D9}.af-ty.spot{background:#FFF4E5;color:#9A5B00}
.af-rl{display:flex;flex-wrap:wrap;gap:5px}.af-rl span{font-size:12px;font-weight:600;background:var(--af-soft);border:1px solid var(--af-sep);border-radius:7px;padding:2px 7px}
.af-cg{width:52px;height:30px;border-radius:8px;border:1px solid transparent;background:transparent;font:inherit;font-size:16px;font-weight:700;text-align:right;color:var(--af-ink);padding:0 6px}
.af-cg:hover,.af-cg:focus{border-color:var(--af-line);background:var(--af-card);outline:none}
.af-cg.own{background:#FFF8EC;border-color:#F6E2BF;color:#9A5B00}
.af-ses{font-size:13px;line-height:1.5}.af-ses small{color:var(--af-faint)}
.af-eur{font-weight:700}.af-eur.est{color:var(--af-faint);font-weight:500}
.af-st{font-size:12px;font-weight:600;padding:5px 10px;border-radius:999px;text-align:center;white-space:nowrap}
.af-st.g{background:#E7F6EC;color:#15803D}.af-st.y{background:#FFF4E5;color:#9A5B00}.af-st.b{background:var(--af-bluebg);color:#0A6CF5}.af-st.v{background:#F1ECFE;color:#6D28D9}.af-st.n{background:var(--af-soft);color:var(--af-mute)}
.af-chev{border:0;background:none;color:var(--af-faint);cursor:pointer;display:grid;place-items:center;padding:4px}
.af-tr.open .af-chev svg{transform:rotate(180deg)}
.af-det{border-top:1px solid var(--af-sep);background:var(--af-soft);padding:6px 20px 16px 68px}
.af-det table{width:100%;border-collapse:collapse;font-size:13px}
.af-det th{text-align:left;font-weight:600;color:var(--af-faint);font-size:11px;text-transform:uppercase;letter-spacing:.3px;padding:8px 10px}
.af-det td{padding:8px 10px;border-top:1px solid var(--af-sep)}
.af-mini{font-size:11px;color:#9A5B00;background:#FFF4E5;border-radius:6px;padding:1px 6px;font-weight:600}
.af-chg{margin-top:10px;font-size:12.5px;color:#9A5B00;background:#FFF8EC;border:1px solid #F6E2BF;border-radius:10px;padding:8px 12px}
.af-detf{display:flex;gap:16px;align-items:center;margin-top:10px;font-size:12.5px}
.af-detf a{color:var(--af-blue);font-weight:600;text-decoration:none}
.af-lnk{border:0;background:none;font:inherit;font-size:12.5px;font-weight:600;color:var(--af-blue);cursor:pointer;padding:2px 4px}
.af-lnk.dg{color:#B42318}
.af-tf{padding-top:13px!important;padding-bottom:13px!important;border-top:1px solid var(--af-line);background:var(--af-soft);font-size:14px;font-weight:600}
.af-empty{padding:28px 20px;color:var(--af-mute);font-size:14px;border-top:1px solid var(--af-sep)}
.af-warn{margin:0;font-size:13px;color:#9A5B00;background:#FFF8EC;border:1px solid #F6E2BF;border-radius:12px;padding:10px 14px}
.af-warn a{color:inherit;font-weight:700}
.af-ss .af-th,.af-ss .af-tr{grid-template-columns:150px 190px minmax(0,1fr) 70px 70px!important}
.af-ss .af-tr.ssok{background:rgba(34,197,94,.07)}
.af-ss input[type=checkbox]{width:20px;height:20px;accent-color:#0A6CF5;cursor:pointer}
.af-card{background:var(--af-card);border:1px solid var(--af-line);border-radius:18px;padding:18px 20px}
.af-card h3{margin:0 0 10px;font-size:13px;color:var(--af-mute);font-weight:600;letter-spacing:.2px;text-transform:uppercase}
.af-card h3 small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--af-faint)}
.af-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.af-kv{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:7px 0;border-top:1px solid var(--af-sep)}
.af-kv:first-of-type{border-top:0}.af-kv>span{color:var(--af-mute)}.af-kv>b{font-weight:500;text-align:right}
.af-priv{align-items:center}.af-priv>b{margin-left:auto}
.af-priv input{width:150px;height:32px;border-radius:9px;border:1px solid var(--af-line);background:var(--af-soft);padding:0 10px;font:inherit;font-size:13px;color:var(--af-ink)}
.af-tarh{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.af-tarh h3{margin:0}.af-tarh .af-b{margin-left:auto}
.af-own{font-size:12px;font-weight:600;color:#9A5B00;background:#FFF4E5;border-radius:999px;padding:4px 10px}
.af-tarrow{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.af-tarrow label,.af-notes,.af-jobf label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--af-mute);font-weight:500}
.af-tarrow select,.af-tarrow input,.af-notes textarea,.af-jobf input,.af-jobf select{height:38px;border-radius:10px;border:1px solid var(--af-line);background:var(--af-soft);padding:0 10px;font:inherit;font-size:14px;color:var(--af-ink);min-width:180px}
.af-notes{margin-top:12px}.af-notes textarea{height:auto;padding:8px 10px}
.af-tg{display:grid;grid-template-columns:150px repeat(2,minmax(0,1fr));border:1px solid var(--af-sep);border-radius:12px;overflow:hidden;font-size:13.5px}
.af-tg>div{padding:8px 12px;border-top:1px solid var(--af-sep);border-left:1px solid var(--af-sep)}
.af-tg>div:nth-child(3n+1){border-left:0;color:var(--af-mute);display:flex;align-items:center}
.af-tg>div:nth-child(-n+3){border-top:0;background:var(--af-soft);font-size:11.5px;font-weight:600;color:var(--af-mute);text-transform:uppercase;letter-spacing:.3px}
.af-tg .span2{grid-column:span 2;color:var(--af-mute)}
.af-tg input{width:100%;max-width:160px;height:34px;border-radius:9px;border:1px solid var(--af-line);background:var(--af-card);padding:0 10px;font:inherit;font-size:14px;font-weight:600;color:var(--af-ink)}
.af-tg small{display:block;font-size:11px;color:var(--af-faint);margin-top:3px}
.af-tg .ov{background:#FFF8EC}.af-tg .ov small{color:#9A5B00}
.af-tnote{font-size:12px;color:var(--af-faint);margin:10px 0 0;line-height:1.45}
.af-row-end{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.af-rates{display:flex;flex-direction:column;gap:14px}
.af-rname{font:inherit;font-size:16px;font-weight:700;border:1px solid transparent;border-radius:9px;padding:4px 8px;background:transparent;color:var(--af-ink)}
.af-rname:hover,.af-rname:focus{border-color:var(--af-line);background:var(--af-soft);outline:none}
.af-addrate{display:flex;gap:10px}.af-addrate input{height:38px;border-radius:10px;border:1px solid var(--af-line);background:var(--af-card);padding:0 12px;font:inherit;min-width:260px;color:var(--af-ink)}
.af-modal{position:fixed;inset:0;z-index:1000;background:rgba(15,20,30,.45);display:grid;place-items:center;padding:20px}
.af-jobf{background:var(--af-card,#fff);color:var(--af-ink,#1C2230);border-radius:20px;padding:22px 24px;width:min(640px,100%);display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
html.dark .af-jobf{background:#1C222C;color:#E7EAF0}
.af-jobf h2{margin:0;font-size:20px}.af-jobf p{margin:-6px 0 0}
.af-g2{display:grid;grid-template-columns:2fr 1fr;gap:12px}.af-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.af-jobf input,.af-jobf select{min-width:0;width:100%}
@media (max-width:900px){
  .af{padding:18px 16px 48px}
  .af-pay{grid-template-columns:repeat(2,minmax(0,1fr))}.af-pay .af-pay-h{grid-column:1/-1}
  .af-tbl .af-th{display:none}
  .af-tbl .af-tr,.af-tbl.money .af-tr,.af-tbl .af-tf,.af-tbl.money .af-tf,.af-ss .af-tr{grid-template-columns:1fr 1fr!important;gap:8px;padding:12px 16px!important}
  .af-det{padding:6px 16px 14px}.af-data{grid-template-columns:1fr}.af-g2,.af-g3{grid-template-columns:1fr}
  .af-days{flex-wrap:wrap}.af-seg{margin-left:0}
}
.ct-full{font-size:13px;font-weight:600;color:#0A6CF5;text-decoration:none;margin-left:10px;vertical-align:middle}
.af select.af-ty{height:auto!important;min-height:0!important;width:auto!important;max-width:none!important;padding:1px 5px!important;border:0!important;border-radius:5px!important;box-shadow:none!important;line-height:1.4!important;background-image:none!important}
.af select.af-ty.video{background:var(--af-bluebg)!important}.af select.af-ty.cine{background:#F1ECFE!important}.af select.af-ty.spot{background:#FFF4E5!important}
.af-modal{--af-card:#fff;--af-line:#E1E4E9;--af-sep:#EEF0F3;--af-soft:#F7F8FA;--af-ink:#1C2230;--af-mute:#6B7382;--af-faint:#8A93A3;--af-blue:#0A6CF5}
html.dark .af-modal{--af-card:#1C222C;--af-line:#313947;--af-sep:#2A313D;--af-soft:#232A35;--af-ink:#E7EAF0;--af-mute:#AAB2C0}

/* 0.88.1 · Contactos: cabecera en cápsulas (maqueta 19) */
.ct-head2{display:flex;flex-direction:column;gap:14px;margin:10px 0 16px}
.ct-hrow{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ct-hrow h1{margin:0;font-size:28px;letter-spacing:-.6px}
.ct-acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.ct-pb{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 15px;border-radius:999px;border:1px solid var(--line,#E1E4E9);background:var(--card,#fff);font:inherit;font-size:13px;font-weight:600;color:var(--ink,#1C2230)!important;text-decoration:none!important;white-space:nowrap;cursor:pointer}
.ct-pb svg{color:#6B7382;flex:none}
.ct-pb:hover{filter:brightness(.97)}
.ct-pb.eur svg{color:#15803D}
.ct-pb.pri{background:#0A6CF5;border-color:#0A6CF5;color:#fff!important}.ct-pb.pri svg{color:#fff}
.ct-seg{display:inline-flex;align-self:flex-start;background:#E9EBEF;border-radius:13px;padding:4px;gap:2px;max-width:100%;overflow-x:auto}
.ct-seg a{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;padding:7px 13px;border-radius:10px;color:#3B4352;font-weight:500;text-decoration:none;white-space:nowrap}
.ct-seg a svg{color:#6B7382}
.ct-seg a em{font-style:normal;font-size:11.5px;color:#8A93A3;font-weight:600}
.ct-seg a.on{background:#fff;color:#1C2230;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.ct-seg a.on svg,.ct-seg a.on em{color:#0A6CF5}
html.dark .ct-seg{background:#232A35}html.dark .ct-seg a{color:#AAB2C0}html.dark .ct-seg a.on{background:#1C222C;color:#E7EAF0}
.ct-pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:999px;background:#F2F4F7;border:0;font:inherit;font-size:13px;font-weight:500;color:#3B4352;cursor:pointer}
.ct-pill input{margin:0}
html.dark .ct-pill{background:#262D38;color:#C9CFDA}
.ct-ini{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#EAF1FE;color:#0A6CF5;font-style:normal;font-size:10.5px;font-weight:700;margin-right:9px;vertical-align:middle;flex:none}
html.dark .ct-ini{background:#16274A}
.ct-lock{font-style:normal;font-size:11px;opacity:.8}
.ct-chkl{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:13px}

/* 0.88.1 · ficha flotante del locutor en el planning (maqueta 19) */
.ct-pop.ct-pop2{padding:0;min-width:340px;max-width:400px;border-radius:16px;overflow:hidden;font-size:14px}
.ct-pop2 .cp-h{display:flex;gap:12px;align-items:center;padding:14px 16px 12px;background:linear-gradient(135deg,#222A3A,#2C3850);color:#fff}
.ct-pop2 .cp-av{width:44px;height:44px;border-radius:14px;background:linear-gradient(140deg,#4C93FF,#0A6CF5);display:grid;place-items:center;font-weight:700;font-size:16px;flex:none}
.ct-pop2 .cp-h b{display:block;font-size:15.5px}.ct-pop2 .cp-h small{color:#AEB8CA;font-size:12px}
.ct-pop2 .cp-here{margin:10px 14px 4px;background:#F2F6FE;border:1px solid #DCE7FD;border-radius:11px;padding:8px 11px;font-size:12.5px;line-height:1.45;color:#1C2230}
.ct-pop2 .cp-here>span:first-child{color:#6B7382}
.ct-pop2 .ct-row{padding:7px 16px;border-bottom:1px solid #F0F2F5;margin:0}
.ct-pop2 .ct-copy{display:grid}
.ct-pop2 .cp-kp{display:flex;gap:6px;flex-wrap:wrap;padding:10px 14px 2px}
.ct-pop2 .cp-kp:empty{display:none}
.ct-pop2 .cp-kp span{font-size:12px;background:#F7F8FA;border:1px solid #E6E8EC;border-radius:999px;padding:3px 9px;color:#6B7382}
.ct-pop2 .cp-kp b{color:#1C2230;margin-right:3px}
.ct-pop2 .cp-kp .hl{background:#FFF4E5;border-color:#F6D7A8;color:#9A5B00}.ct-pop2 .cp-kp .hl b{color:#9A5B00}
.ct-pop2 .cp-act{display:flex;gap:8px;padding:12px 14px 14px}
.ct-pop2 .cp-b{flex:1;display:inline-flex;justify-content:center;align-items:center;height:36px;border-radius:999px;border:1px solid #E1E4E9;background:#fff;color:#1C2230;font-weight:600;font-size:13px;text-decoration:none}
.ct-pop2 .cp-b.pri{background:#0A6CF5;border-color:#0A6CF5;color:#fff}
.ct-pop2:not(.big) .cp-act{display:none}
html.dark .ct-pop2 .cp-here{background:#16274A;border-color:#24406F;color:#E7EAF0}
html.dark .ct-pop2 .ct-row{border-color:#2A313D}
html.dark .ct-pop2 .cp-kp span{background:#232A35;border-color:#313947;color:#AAB2C0}html.dark .ct-pop2 .cp-kp b{color:#E7EAF0}
html.dark .ct-pop2 .cp-b{background:#1C222C;border-color:#313947;color:#E7EAF0}html.dark .ct-pop2 .cp-b.pri{background:#0A6CF5;color:#fff}

/* 0.89 · buscador de todo DubXpro (maquetas 17 y 18) */
header.top form.search{position:relative;cursor:pointer}
header.top form.search input{cursor:pointer}
.gs-kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:inherit;font-size:11px;color:#6B7382;border:1px solid #E1E4E9;border-radius:6px;padding:1px 6px;background:#fff;pointer-events:none}
html.dark .gs-kbd{background:#1C222C;border-color:#313947;color:#AAB2C0}
html.gs-on{overflow:hidden}
.gs-ov{position:fixed;inset:0;z-index:10080;background:rgba(20,26,38,.42);display:flex;justify-content:center;align-items:flex-start;padding:72px 16px 24px;animation:gsIn .12s ease-out}
@keyframes gsIn{from{opacity:0}to{opacity:1}}
.gs{--g-card:#fff;--g-line:#EEF0F3;--g-soft:#F7F8FA;--g-ink:#1C2230;--g-mute:#6B7382;--g-faint:#8A93A3;
  position:relative;width:min(900px,100%);max-height:calc(100vh - 100px);display:flex;flex-direction:column;background:var(--g-card);color:var(--g-ink);border-radius:22px;box-shadow:0 30px 80px rgba(10,15,30,.35);overflow:hidden}
html.dark .gs{--g-card:#1C222C;--g-line:#2A313D;--g-soft:#232A35;--g-ink:#E7EAF0;--g-mute:#AAB2C0;--g-faint:#8A93A3}
.gs-q{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--g-line)}
.gs-q svg{color:var(--g-faint);flex:none}
.gs-q input{flex:1;min-width:0;border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;font:inherit;font-size:19px;color:var(--g-ink);padding:0!important;height:auto!important}
.gs-q input::-webkit-search-cancel-button{display:none}
.gs-q kbd,.gs-foot kbd{font:inherit;font-size:11px;color:var(--g-mute);border:1px solid var(--g-line);border-radius:6px;padding:1px 6px;background:var(--g-soft);margin-right:4px}
.gs-types{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--g-line);flex-wrap:wrap;align-items:center}
.gs-ty{font:inherit;font-size:13px;border:1px solid var(--g-line);background:var(--g-card);border-radius:999px;padding:6px 12px;color:var(--g-ink);display:inline-flex;gap:6px;align-items:center;white-space:nowrap;cursor:pointer}
.gs-ty i{font-style:normal;font-size:12px;opacity:.8}
.gs-ty em{font-style:normal;font-size:11px;color:var(--g-faint);font-weight:600}
.gs-ty.on{background:#0A6CF5;border-color:#0A6CF5;color:#fff;font-weight:600}.gs-ty.on em{color:#CFE0FD}
.gs-ty.flt{background:var(--g-soft);font-weight:600}
.gs-ty.on2{background:#EAF1FE;border-color:#CFE0FD;color:#0A6CF5}
.gs-ty.open{box-shadow:0 0 0 3px rgba(10,108,245,.2)}
.gs-sep{width:1px;height:22px;background:var(--g-line);margin:0 4px}
.gs-act{display:flex;gap:6px;flex-wrap:wrap;padding:8px 16px 0}
.gs-chip{font:inherit;font-size:12px;background:#EAF1FE;color:#0A6CF5;border:0;border-radius:8px;padding:4px 9px;font-weight:600;cursor:pointer}
.gs-chip i{font-style:normal;opacity:.7;margin-left:4px}
html.dark .gs-chip,html.dark .gs-ty.on2{background:#16274A;border-color:#24406F}
.gs-res{overflow-y:auto;padding:4px 8px 10px;min-height:120px}
.gs-gh{font-size:11.5px;font-weight:700;color:var(--g-faint);text-transform:uppercase;letter-spacing:.5px;padding:12px 12px 5px;display:flex;justify-content:space-between;align-items:center}
.gs-lnk{font:inherit;font-size:12.5px;text-transform:none;letter-spacing:0;color:#0A6CF5;font-weight:600;background:none;border:0;cursor:pointer;padding:0}
.gs-it{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;font-size:14px;color:var(--g-ink)!important;text-decoration:none!important}
.gs-it:hover{background:var(--g-soft)}
.gs-it.sel{background:#F2F6FE}
html.dark .gs-it.sel{background:#16274A}
.gs-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;font-size:13px;font-weight:700;color:#fff}
.gs-ic.av{background:linear-gradient(140deg,#4C93FF,#0A6CF5);font-size:11px}
.gs-ic.doc{background:#475569;font-size:9.5px;letter-spacing:.2px}
.gs-t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-t b{font-weight:600}.gs-t small{color:var(--g-faint);margin-left:8px;font-size:12.5px}
.gs-t mark{background:#FFF1B8;color:inherit;border-radius:3px;padding:0 1px}
html.dark .gs-t mark{background:#5A4A0A}
.gs-st{font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)}
.gs-m{font-size:12px;color:var(--g-faint);white-space:nowrap}
.gs-ret{font-size:11px;color:#fff;background:#0A6CF5;border-radius:6px;padding:2px 7px;font-weight:700}
.gs-go{display:flex;gap:6px;padding:2px 12px 8px 54px;flex-wrap:wrap}
.gs-go a{font-size:12px;font-weight:600;color:#0A6CF5;background:#EAF1FE;border-radius:999px;padding:3px 10px;text-decoration:none}
.gs-empty{padding:26px 16px;color:var(--g-mute);font-size:14px;line-height:1.5}
.gs-foot{display:flex;gap:16px;align-items:center;padding:9px 18px;border-top:1px solid var(--g-line);background:var(--g-soft);font-size:12px;color:var(--g-mute);flex-wrap:wrap}
.gs-foot .gs-sp{margin-left:auto}
.gs-pop{--g-card:#fff;--g-line:#E6E8EC;--g-soft:#F7F8FA;--g-ink:#1C2230;--g-faint:#8A93A3;position:fixed;z-index:10090;width:320px;background:var(--g-card);border:1px solid var(--g-line);border-radius:16px;box-shadow:0 18px 50px rgba(10,15,30,.2);padding:8px;max-height:60vh;overflow:auto}
.gs-pop h4{margin:6px 10px 6px;font-size:11.5px;color:var(--g-faint);text-transform:uppercase;letter-spacing:.5px}
.gs-pr{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;font-size:14px;width:100%;background:none;border:0;font-family:inherit;color:var(--g-ink);text-align:left}
.gs-pr>span{flex:1}
.gs-pr select{max-width:160px;border:0!important;background:transparent!important;color:#0A6CF5;font:inherit;font-size:13px;font-weight:600;text-align:right;cursor:pointer;box-shadow:none!important;padding:0!important;height:auto!important}
.gs-pr input[type=checkbox]{width:18px;height:18px;accent-color:#0A6CF5}
.gs-opt{cursor:pointer}.gs-opt:hover{background:var(--g-soft)}.gs-opt.on{color:#0A6CF5;font-weight:600}
.gs-clear{font:inherit;font-size:12.5px;color:#B42318;background:none;border:0;padding:8px 10px;cursor:pointer;font-weight:600}
@media (max-width:700px){.gs-ov{padding:10px}.gs-t small{display:block;margin-left:0}.gs-foot{display:none}}
html.dark .gs-pop{--g-card:#1C222C;--g-line:#313947;--g-soft:#232A35;--g-ink:#E7EAF0}
.gs-pop label.gs-pr{display:flex!important;flex-direction:row!important;align-items:center!important;margin:0!important;font-weight:500}
.gs-pop .gs-pr select{width:auto!important;min-width:0!important}
.gs-pop .gs-pr{padding-top:5px!important;padding-bottom:5px!important}.gs-pop select,.gs-pop input{margin:0!important}
.pt-marks .pt-splitb{margin-left:auto;background:#0A6CF5;color:#fff;border-color:#0A6CF5}
.pt-marks .pt-splitb kbd{background:rgba(255,255,255,.18);color:#fff;border:0;border-radius:4px;padding:0 4px;font-size:11px}
/* v0.92 · proyecto por fases */
.grid thead tr.grp-row th{height:24px;padding:4px 8px 0;font-size:10.5px;font-weight:700;letter-spacing:.8px;color:var(--gc,#6B7382);background:var(--head-bg,#F7F8FA);border-bottom:0;text-align:left;white-space:nowrap}
.grid thead tr.grp-row th[data-grp]{border-left:1px solid var(--line)}
.grid thead tr.grp-row th small{font-size:10px;font-weight:500;letter-spacing:0;color:#8A93A3;margin-left:6px}
.tec-mini{font-style:normal;font-size:9.5px;font-weight:700;color:#0F766E;background:#E6F6F4;border-radius:999px;padding:1px 6px;margin-left:6px;letter-spacing:.3px}
.grid td[data-grp="grabacion"]{background:color-mix(in srgb,#0A6CF5 3%,transparent);font-size:12.5px;white-space:nowrap}
.g-bar{display:inline-block!important;width:46px;min-width:46px;height:6px;border-radius:3px;background:#E6E8EC;vertical-align:middle;margin-right:6px;overflow:hidden}.g-bar i{display:block;height:100%;background:#0A6CF5}
.g-ok{color:#15803D;font-weight:700}
.fz-tabs{display:inline-flex;gap:2px;background:var(--line2,#EEF0F3);border-radius:9px;padding:3px;margin-left:8px}
.fz-tabs button{border:0;background:transparent;border-radius:7px;padding:4px 10px;font:inherit;font-size:12px;color:var(--ink2);cursor:pointer;white-space:nowrap}
.fz-tabs button.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(20,24,31,.12)}
.tec-share{display:inline-flex;margin:0 0 0 8px}
.tec-chip{display:inline-flex;align-items:center;gap:5px;border:1px dashed #9DD3CC;background:transparent;color:#0F766E;border-radius:999px;padding:3px 10px;font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.tec-chip.on{border-style:solid;background:#E6F6F4;letter-spacing:.3px}
.mat-strip{display:inline-flex;align-items:stretch;margin-top:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:color-mix(in srgb,#fff 85%,transparent);text-decoration:none;color:var(--ink);max-width:100%;flex-wrap:wrap}
.mat-strip span{padding:6px 12px;border-right:1px solid var(--line);font-size:12.5px;line-height:1.3}
.mat-strip span:last-child{border-right:0}
.mat-strip small{display:block;font-size:10px;font-weight:700;letter-spacing:.7px;color:#8A93A3}
.mat-strip b{font-weight:600}
.mat-strip .warn{background:#FFF4E5}.mat-strip .warn b{color:#B54708}
.mat-strip .src{display:flex;align-items:center;color:#0A6CF5;font-weight:600;font-size:12px}
/* «Seguimiento por fases» sin montar (v0.95, rediseño) */
.fzs{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0;margin:0 0 18px;background:var(--card);border-radius:20px;box-shadow:0 1px 2px rgba(16,24,40,.06),0 0 0 1px rgba(16,24,40,.06);overflow:hidden}
.fzs-main{padding:22px 24px 20px;min-width:0}
.fzs-hd{display:flex;align-items:center;gap:12px}
.fzs-ic{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#0A6CF5,#6A5AE0);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 4px 10px rgba(10,108,245,.25)}
.fzs-k{display:block;font-size:11px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:#0A6CF5}
.fzs-hd h3{margin:1px 0 0;font-size:20px;letter-spacing:-.4px;color:var(--ink)}
.fzs-lead{margin:12px 0 14px;font-size:14px;line-height:1.55;color:var(--ink2);max-width:720px}
.fzs-ph{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;counter-reset:ph}
.fzs-ph li{position:relative;background:var(--bg);border-radius:12px;padding:10px 11px 10px;counter-increment:ph;min-width:0}
.fzs-ph li::before{content:counter(ph);position:absolute;top:9px;right:10px;font-size:11px;font-weight:700;color:var(--muted)}
.fzs-ph li b{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink)}
.fzs-ph li b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.fzs-ph li span{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-top:3px}
.fzs-also{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted)}
.fzs-also b{color:var(--ink2);font-weight:600}.fzs-also em{font-style:normal;font-weight:600;color:var(--ink2)}
.fzs-ej{display:flex;gap:12px;margin-top:16px}
.fzs-ej button{all:unset;cursor:zoom-in;display:flex;flex-direction:column;gap:6px;flex:0 1 168px;min-width:0}
.fzs-ej img{width:100%;height:76px;object-fit:cover;object-position:left top;border-radius:10px;box-shadow:0 0 0 1px rgba(16,24,40,.08),0 2px 6px rgba(16,24,40,.08);transition:transform .18s,box-shadow .18s;background:#fff}
.fzs-ej button:hover img,.fzs-ej button:focus-visible img{transform:translateY(-2px) scale(1.03);box-shadow:0 0 0 1px rgba(10,108,245,.35),0 8px 18px rgba(16,24,40,.16)}
.fzs-ej span{font-size:12px;font-weight:500;color:var(--ink2)}
.fzs-form{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:22px 22px 20px;background:var(--bg);border-left:1px solid var(--line)}
.fzs-lb{font-size:12px;font-weight:600;color:var(--muted)}
.fzs-seg{display:flex;background:rgba(118,118,128,.12);border-radius:11px;padding:3px;gap:2px}
.fzs-seg label{flex:1;position:relative;cursor:pointer}
.fzs-seg input{position:absolute;opacity:0;pointer-events:none}
.fzs-seg span{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ink2);text-align:center;transition:background .15s,box-shadow .15s}
.fzs-seg span svg{color:var(--muted)}
.fzs-seg input:checked + span{background:var(--card);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.14),0 0 0 .5px rgba(16,24,40,.06)}
.fzs-seg input:checked + span svg{color:#0A6CF5}
.fzs-seg input:focus-visible + span{outline:2px solid #0A6CF5;outline-offset:1px}
.fzs-eps{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.fzs-eps[hidden]{display:none}
.fzs-range{display:flex;gap:10px}
.fzs-range label{display:flex;flex-direction:column;gap:3px;flex:1}
.fzs-range small{font-size:11.5px;color:var(--muted)}
.fzs-step{display:flex;align-items:center;background:var(--card);border-radius:10px;box-shadow:0 0 0 1px var(--line);height:36px;overflow:hidden}
.fzs-step button{all:unset;cursor:pointer;width:30px;height:100%;display:grid;place-items:center;font-size:16px;color:#0A6CF5}
.fzs-step button:hover{background:rgba(10,108,245,.08)}
.fzs-step input{flex:1;min-width:0;width:40px;border:0;background:transparent;text-align:center;font:inherit;font-size:15px;font-weight:600;color:var(--ink);-moz-appearance:textfield}
.fzs-step input::-webkit-inner-spin-button,.fzs-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.fzs-step input:focus{outline:none}
.fzs-step:focus-within{box-shadow:0 0 0 2px #0A6CF5}
.fzs-out{margin:4px 0 0;font-size:12.5px;line-height:1.45;color:var(--ink2);background:var(--card);border-radius:10px;padding:9px 11px;box-shadow:0 0 0 1px var(--line)}
.fzs-out.bad{color:#B42318}
.fzs .fzs-go.btn.primary{margin-top:6px;height:40px;border-radius:11px;font-size:14px;font-weight:600;background:#0A6CF5;border-color:#0A6CF5;color:#fff;justify-content:center}
.fzs .fzs-go.btn.primary:hover{background:#0960DA;border-color:#0960DA}
.fzs-go:disabled{opacity:.45}
.fzs-note{font-size:11.5px;color:var(--muted);text-align:center}
.fzs-dlg{border:0;padding:0;background:transparent;max-width:min(1200px,94vw);overflow:visible}
.fzs-dlg::backdrop{background:rgba(17,21,30,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fzs-dlg[open]{animation:fzsin .18s ease-out}
@keyframes fzsin{from{opacity:0;transform:scale(.96)}}
.fzs-dlg figure{margin:0;background:var(--card);border-radius:16px;padding:10px;box-shadow:0 24px 60px rgba(0,0,0,.35);cursor:zoom-out}
.fzs-dlg img{display:block;max-width:100%;max-height:80vh;border-radius:10px}
.fzs-dlg figcaption{font-size:13px;color:var(--ink2);padding:10px 4px 2px;text-align:center}
.fzs-x{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;border:0;background:#fff;color:#1C2230;font-size:14px;box-shadow:0 4px 12px rgba(0,0,0,.25);cursor:pointer}
@media (max-width:1100px){.fzs{grid-template-columns:1fr}.fzs-form{border-left:0;border-top:1px solid var(--line)}.fzs-ph{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}
/* v0.92 · Proyectos de doblaje (maqueta 21) */
.prj-tabs{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap}
.prj-tabs a{font-size:13.5px;font-weight:600;color:#C9CFDA;padding:7px 15px;border-radius:999px;background:rgba(255,255,255,.08);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.prj-tabs a i{font-style:normal;color:#8C96A8;font-weight:500}
.prj-tabs a.on{background:#fff;color:#1C2230}.prj-tabs a.on i{color:#6B7382}
.prj-tabs a.ghost{background:transparent;border:1px solid rgba(255,255,255,.18)}
.prj-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:20px 40px 0}
.prj-q{width:240px;height:34px;border-radius:10px;border:1px solid var(--d-line,var(--line));background:var(--d-card,#fff);color:var(--d-ink);padding:0 12px;font:inherit;font-size:13px}
.prj-fz{display:flex;gap:3px;background:var(--d-cap,#E7E9ED);border-radius:10px;padding:3px;flex-wrap:wrap}
.prj-fz button{border:0;background:transparent;border-radius:8px;padding:6px 11px;font:inherit;font-size:12.5px;color:var(--d-mut);cursor:pointer;white-space:nowrap}
.prj-fz button em{font-style:normal;color:var(--muted);margin-left:3px}
.prj-fz button.on{background:var(--d-capOn,#fff);color:var(--d-ink);font-weight:600;box-shadow:0 1px 3px rgba(20,24,31,.12)}
.prj-tg{display:inline-flex!important;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:12.5px;background:var(--d-card,#fff);color:var(--d-ink);border:1px solid var(--d-line,var(--line));white-space:nowrap;border-radius:999px;padding:5px 12px 5px 6px;cursor:pointer}
.prj-tg input{position:absolute;opacity:0;pointer-events:none}
.prj-tg .sw{flex:none;display:inline-block;width:30px;height:18px;border-radius:999px;background:#C9CFDA;position:relative;transition:background .15s}
.prj-tg .sw::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}
.prj-tg input:checked+.sw{background:#0A6CF5}.prj-tg input:checked+.sw::after{left:14px}
.prj-tg input:focus-visible+.sw{box-shadow:0 0 0 3px rgba(10,108,245,.3)}
.prj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;padding:20px 40px 48px;align-items:start}
.prj-card{background:var(--d-card,#fff);color:var(--d-ink);border:1px solid var(--d-line,var(--line));border-radius:20px;padding:16px 18px 14px;box-shadow:0 1px 2px rgba(20,24,31,.05)}
.prj-card.serie{grid-column:span 2;border:1.5px solid #B9CCEC;box-shadow:0 6px 20px rgba(10,108,245,.08)}
.prj-card[hidden],.pc-ep[hidden]{display:none}
.pc-sp{font-size:11px;font-weight:700;letter-spacing:.8px;color:#6B7382;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pc-badge{font-size:10.5px;color:#0A6CF5;background:#EAF1FE;border-radius:999px;padding:2px 8px;letter-spacing:.5px}.pc-badge.g{color:#4A5262;background:#F2F4F7}
.prj-card h3{margin:4px 0 0;font-size:19px;letter-spacing:-.3px}.prj-card h3 a{color:inherit;text-decoration:none}
.pc-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:14px}
.pc-strip div{display:flex;flex-direction:column;gap:5px;min-width:0}
.pc-strip i{height:8px;border-radius:4px;background:#E6E8EC;overflow:hidden;display:block}.pc-strip i u{display:block;height:100%;background:var(--c)}
.pc-strip span{font-size:11px;color:#6B7382;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-strip span b{color:var(--d-ink);font-weight:600;display:block;font-size:12px}
.pc-eps{display:grid;grid-template-columns:repeat(auto-fill,minmax(14px,1fr));gap:3px;margin-top:14px}
.pc-eps a{height:16px;border-radius:4px;background:var(--c);display:block}
.pc-eps a:hover{outline:2px solid var(--ink);outline-offset:1px}
.pc-leg{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:#6B7382;margin-top:8px}.pc-leg span{display:inline-flex;align-items:center;gap:5px}.pc-leg i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.pc-open{margin-top:12px}
.pc-open summary{display:inline-flex;align-items:center;height:30px;padding:0 14px;border-radius:999px;background:#0A6CF5;color:#fff;font-size:12.5px;font-weight:600;cursor:pointer;list-style:none}
.pc-open summary::-webkit-details-marker{display:none}
.pc-open[open] summary{background:#EAF1FE;color:#0A6CF5}
.pc-epgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px}
.pc-ep{display:grid;grid-template-columns:40px 1fr;gap:4px 10px;align-items:center;border:1px solid var(--d-line,var(--line));border-radius:14px;padding:10px 12px;text-decoration:none;color:var(--d-ink)}
.pc-ep:hover{border-color:#B9CCEC;background:#FAFCFF}
.pc-ep .ring{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:10.5px;background:conic-gradient(#22C55E var(--p),#E6E8EC 0);position:relative;grid-row:span 2}
.pc-ep .ring::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--d-card,#fff)}.pc-ep .ring span{position:relative;z-index:1}
.pe-t b{display:block;font-size:14px}.pe-t small{color:var(--muted);font-size:11.5px}
.pe-ph{display:flex;gap:3px}.pe-ph i{flex:1;height:5px;border-radius:3px;background:#E6E8EC}.pe-ph i.ok{background:#22C55E}
.pc-ft{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--d-line,#EEF0F3)}
@media (max-width:900px){.prj-card.serie{grid-column:auto}.prj-bar,.prj-grid{padding-left:16px;padding-right:16px}}
/* v0.93 · Convocar a un actor (maqueta 24) */
.cv{padding:28px 40px 48px;max-width:1320px;margin:0 auto}
.cv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.cv-kick{font-size:12px;font-weight:700;letter-spacing:1.2px;color:#0A6CF5}
.cv-head h1{margin:4px 0 4px;font-size:28px;letter-spacing:-.5px}
.cv-head p{margin:0}
.cv-who select{height:38px;min-width:260px;border-radius:10px;border:1px solid var(--line);padding:0 10px;font:inherit;font-size:14px;background:var(--card,#fff)}
.cv-cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:20px;align-items:start}
.cv-list,.cv-ses{padding:16px 18px;border-radius:18px}
.cv-empty{padding:24px}
.cv-whohd{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line2,#EEF0F3)}
.cv-whohd h2{margin:0;font-size:17px}
.cv-av{width:42px;height:42px;border-radius:50%;background:#DCE7FB;color:#0A6CF5;font-weight:700;display:grid;place-items:center;flex:none}
.cv-pj{margin-top:14px}
.cv-ph{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:6px}.cv-ph b{font-size:14px}
.cv-kind{font-size:10px;font-weight:700;letter-spacing:.5px;border-radius:999px;padding:2px 7px;background:#EAF1FE;color:#0A6CF5}
.cv-tot{margin-left:auto;color:var(--muted);font-size:12px}
.cv-it{display:grid;grid-template-columns:22px minmax(0,1.1fr) minmax(0,1.4fr) auto 70px;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:13px;cursor:pointer;margin:0}
.cv-it:nth-child(odd){background:color-mix(in srgb,var(--line) 25%,transparent)}
.cv-it.on{background:#F3F7FF}
.cv-it input{width:16px;height:16px;margin:0;accent-color:#0A6CF5}
.cv-pl{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-ro{color:#7C3AED;font-weight:700;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-st{font-size:11px;font-weight:600;color:#fff;background:var(--c);border-radius:6px;padding:2px 7px;white-space:nowrap}
.cv-tk{text-align:right;line-height:1.1}.cv-tk b{display:block;font-size:14px}.cv-tk small{color:var(--muted);font-size:10.5px}
.cv-w{grid-column:2/-1;font-size:11.5px;color:#B54708}
.cv-it.warn{opacity:.85}
.cv-ses h2{margin:0 0 10px;font-size:16px}
.cv-when{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
.cv-when label,.cv-notes{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted);margin:0}
.cv-when label:first-child{grid-column:1/-1}
.cv-when input,.cv-when select,.cv-notes textarea{height:34px;border:1px solid var(--line);border-radius:9px;padding:0 9px;font:inherit;font-size:13.5px;color:var(--ink);background:var(--card,#fff)}
.cv-notes{margin-top:12px}.cv-notes textarea{height:auto;padding:7px 9px}
.cv-meter{margin-top:14px}
.cv-tr{height:12px;border-radius:6px;background:#E6E8EC;overflow:hidden;display:flex}.cv-tr i{display:block;height:100%}
.cv-tr.over{box-shadow:0 0 0 2px #DC2626}
.cv-lb{display:flex;justify-content:space-between;font-size:12.5px;margin-top:6px}.cv-lb b{font-size:15px}
.cv-lb .ok{color:#15803D;font-weight:600}.cv-lb .bad{color:#B42318;font-weight:600}
.cv-pz{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.cv-pz div{display:grid;grid-template-columns:10px 1fr;gap:2px 8px;align-items:center;font-size:13px;border:1px solid var(--line2,#EEF0F3);border-radius:10px;padding:8px 10px}
.cv-pz u{width:10px;height:10px;border-radius:3px;background:var(--c)}
.cv-pz em{font-style:normal;color:var(--muted)}
.cv-pz small{grid-column:2;color:var(--muted);font-size:11.5px}
.cv-go{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
@media (max-width:980px){.cv{padding:20px 16px}.cv-cols{grid-template-columns:1fr}.cv-it{grid-template-columns:22px 1fr auto}.cv-ro,.cv-st{display:none}}

/* ---- Grabación › Hoy (v0.94, maqueta 20) ---- */
.dbj-b .dbj-conv{margin-top:14px;background:var(--d-heroCap);border:0;color:#F3F5F8;border-radius:11px;font-weight:500;display:inline-flex;align-items:center;gap:7px}
.dbj-b .dbj-conv:hover{background:var(--d-heroOn)}
.dbj-b .dbj-conv svg{color:#AEB6C4}
.dbj-b .dbj-new .dbj-conv{margin-top:0}
.dbj-b .dbj-filter .seg a small{font-weight:500;color:var(--d-mut);margin-left:4px;font-size:11.5px}
.hoy{background:var(--d-card,#fff);color:var(--d-ink,#1C2230);border:0;border-radius:18px;box-shadow:var(--d-card-sh);padding:16px 18px 12px;margin:0 0 20px}
.hoy-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.hoy-hd h2{margin:0;font-size:17px;letter-spacing:-.2px}
.hoy-hd small{font-size:12.5px;color:var(--d-mut)}
.hoy-sp{flex:1}
.hoy-link{font-size:12.5px;font-weight:600;color:#0A6CF5;text-decoration:none;white-space:nowrap}
.hoy-live{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:#B42318;background:#FEF3F2;border-radius:999px;padding:3px 9px;letter-spacing:.3px}
.hoy-live i{width:7px;height:7px;border-radius:50%;background:#E5484D;animation:hoyp 1.6s infinite}
@keyframes hoyp{50%{opacity:.35}}
.hoy-tl{overflow-x:auto}
.hoy-hours,.hoy-lane{display:grid;grid-template-columns:110px minmax(640px,1fr)}
.hoy-hours > div{display:grid;grid-template-columns:repeat(var(--n),1fr);font-size:11px;color:var(--d-mut)}
.hoy-hours > div span{padding-left:3px;border-left:1px solid var(--d-line)}
.hoy-lane{border-top:1px solid var(--d-line);height:calc(70px * var(--nr,1));align-items:center}
.hoy-lane > b{font-size:13px;display:flex;align-items:center;gap:7px;padding-right:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hoy-lane > b i{width:9px;height:9px;border-radius:3px;background:var(--rc);flex:none}
.hoy-track{position:relative;height:100%;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / var(--n) - 1px),var(--d-line) calc(100% / var(--n) - 1px),var(--d-line) calc(100% / var(--n)))}
.hoy-now{position:absolute;top:0;bottom:0;width:2px;background:#E5484D;z-index:2;pointer-events:none}
.hoy-now::before{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:#E5484D}
.hoy-ss{position:absolute;top:calc(var(--r,0) * 70px + 7px);height:56px;border-radius:10px;padding:5px 8px;font-size:11.5px;line-height:1.3;overflow:hidden;border:1px solid #BFD5FB;background:#EEF5FF;color:#1C2230;text-decoration:none;min-width:24px;display:flex;flex-direction:column;transition:box-shadow .12s}
.hoy-ss:hover{box-shadow:0 4px 12px rgba(16,24,40,.15);z-index:3}
.hoy-ss b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hoy-ss span{color:#4A5262;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hoy-ss em{display:block;height:4px;border-radius:2px;background:rgba(0,0,0,.08);margin-top:auto;overflow:hidden}
.hoy-ss em i{display:block;height:100%;background:#22C55E}
.hoy-ss.live{box-shadow:0 0 0 2px #E5484D;background:#FFF7ED;border-color:#F8C99B}
.hoy-ss.full{background:#ECFDF3;border-color:#A7E3BF}
.hoy-ss.past:not(.full){opacity:.75}
.hoy-ss.prov{border-style:dashed}
html.dark .hoy-ss{background:#1D2C47;border-color:#2F4A78;color:#EEF1F6}
html.dark .hoy-ss span{color:#AEB6C4}
html.dark .hoy-ss.live{background:#3A2A1C;border-color:#7A4F25}
html.dark .hoy-ss.full{background:#173326;border-color:#2D6A48}
html.dark .hoy-live{background:#3B1D1D;color:#FCA5A5}
.hoy-help{margin:8px 0 0}
.hoy-empty{padding:6px 0 4px;margin:0}
.dbjc-today{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#B42318;margin-top:3px}
.dbjc-today i{width:7px;height:7px;border-radius:50%;background:#E5484D}
html.dark .dbjc-today{color:#FCA5A5}

/* ---- Reparto de la serie (v0.95, maqueta 23) ---- */
.dbj-b .rp-head{display:block;background:var(--d-hero);padding:28px 40px 24px;color:#F3F5F8}
.rp-crumb{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#5FA2FF;text-decoration:none}
.rp-head h1{margin:6px 0 6px;font-size:34px;letter-spacing:-.7px;color:#F3F5F8}
.rp-head p{margin:0;color:#AEB6C4;font-size:14.5px;max-width:760px;line-height:1.5}
.rp-links{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.rp-links a{background:var(--d-heroCap);color:#E6E9EF;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;text-decoration:none}
.rp-links a:hover{background:var(--d-heroOn)}
.rp-wrap{padding:22px 40px 40px}
.rp-cols{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:22px;align-items:start}
.rp-tb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.dbj-b .rp-tb .seg{display:flex;background:var(--d-cap);border:0;border-radius:11px;padding:3px;gap:2px}
.dbj-b .rp-tb .seg > * + *{border-left:0}
.dbj-b .rp-tb .seg a{color:var(--d-ink);border-radius:8px;padding:6px 12px;font-size:13px;text-decoration:none;white-space:nowrap}
.dbj-b .rp-tb .seg a small{color:var(--d-mut);margin-left:3px;font-size:11.5px}
.dbj-b .rp-tb .seg a.on{background:var(--d-capOn);font-weight:600;box-shadow:var(--d-on-sh)}
.rp-cd{background:var(--d-card);color:var(--d-ink);border:0;border-radius:18px;box-shadow:var(--d-card-sh);padding:4px 0;overflow:hidden}
.rp-ag{padding:12px 18px;border-bottom:1px solid var(--d-line)}
.rp-ag:last-child{border-bottom:0}
.rp-ah{display:flex;align-items:center;gap:12px;margin-bottom:4px}
.rp-ah b{display:block;font-size:15px}
.rp-ah small{color:var(--d-mut);font-size:12px}
.rp-av{width:36px;height:36px;border-radius:50%;background:#DCE7FB;color:#0A6CF5;font-weight:700;font-size:12.5px;display:grid;place-items:center;flex:none}
html.dark .rp-av{background:#1D2C47;color:#7FB2FF}
.rp-r{margin-left:auto;font-size:12.5px;font-weight:600;color:#0A6CF5;text-decoration:none;white-space:nowrap}
.rp-pl{display:grid;grid-template-columns:150px 92px minmax(120px,1fr) 82px;gap:10px;align-items:center;font-size:12.5px;padding:5px 0 5px 48px}
.rp-pl .rp-warn{grid-column:1 / -1}
.rp-rn{font-weight:700;color:var(--c);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rp-ty{font-size:10.5px;font-weight:700;letter-spacing:.3px;border-radius:999px;padding:2px 8px;justify-self:start;white-space:nowrap}
.rp-ty.t-principal{background:#EAF1FE;color:#0A6CF5}.rp-ty.t-secundario{background:var(--d-chip);color:var(--d-mut)}.rp-ty.t-ambiente{background:#FFF7ED;color:#B54708}
.rp-eb{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:2px;height:12px}
.rp-eb u{background:var(--d-bar);border-radius:2px;text-decoration:none}
.rp-eb u.on{background:var(--c)}
.rp-tk{text-align:right;color:var(--d-mut);white-space:nowrap}
.rp-warn{font-size:11.5px;font-weight:600;color:#B54708}
.rp-pr{display:grid;grid-template-columns:130px 112px minmax(70px,1fr) 92px minmax(140px,180px);gap:10px;align-items:center;padding:8px 18px;border-bottom:1px solid var(--d-line);font-size:12.5px}
.rp-pr:last-child{border-bottom:0}
.rp-tyf{margin:0}
.rp .rp-tysel{height:26px;min-height:0;line-height:1;width:auto;box-shadow:none;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;font:inherit;font-size:11.5px;font-weight:700;padding:4px 24px 4px 10px;cursor:pointer;background-repeat:no-repeat;background-position:right 8px center;background-size:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B7382' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.rp-tysel.t-principal{background-color:#EAF1FE;color:#0A6CF5}.rp-tysel.t-secundario{background-color:var(--d-chip);color:var(--d-ink)}.rp-tysel.t-ambiente{background-color:#FFF7ED;color:#B54708}
.rp-acf{display:flex;gap:6px;margin:0}
.rp-acf input{flex:1;min-width:0;height:32px;border:0;border-radius:9px;padding:0 10px;font:inherit;font-size:13px;background:#F6F7F9;color:var(--d-ink);box-shadow:inset 0 0 0 1px var(--d-line)}
.rp-acf input:focus{outline:none;box-shadow:inset 0 0 0 2px #0A6CF5}
.rp-acf .btn{height:32px;border-radius:9px;background:#0A6CF5;border-color:#0A6CF5;color:#fff}
.rp-act{font-weight:600}
.rp-none{padding:18px}
.rp-foot{margin:8px 2px 0}
.rp-new{background:var(--d-card);color:var(--d-ink);border-radius:18px;box-shadow:var(--d-card-sh);padding:16px 16px 16px;border-top:4px solid #F59E0B}
.rp-new h3{margin:0 0 3px;font-size:16px;letter-spacing:-.2px}
.dbj-b .rp-s{margin:0 0 4px;font-size:12.5px;font-weight:400;color:var(--d-mut);line-height:1.45}
.rp-nr{background:#F2F4F7;border-radius:12px;padding:10px 12px;margin-top:10px}
.rp-nt{display:flex;align-items:center;gap:8px}
.rp-nt b{font-size:13.5px}
.rp-nt > span:last-child{margin-left:auto;color:var(--d-mut);font-size:12px}
.rp-sug{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.rp .rp-sug label{white-space:nowrap;text-transform:none;font-weight:500;letter-spacing:0;line-height:1.3;position:relative;display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:5px 11px;font-size:12px;background:var(--d-card);box-shadow:inset 0 0 0 1px var(--d-line);cursor:pointer;transition:background .12s,box-shadow .12s}
.rp-sug label em{font-style:normal;color:var(--d-mut)}
.rp-sug label.best{box-shadow:inset 0 0 0 1px rgba(10,108,245,.45)}
.rp-sug input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.rp-sug label:has(input[type=radio]:checked){background:#0A6CF5;color:#fff;box-shadow:none}
.rp-sug label:has(input[type=radio]:checked) em{color:#DCE7FB}
.rp-sug label.otro{padding:0 4px 0 4px}
.rp-sug label.otro input[type=text]{border:0;background:transparent;font:inherit;font-size:12px;width:120px;height:26px;padding:0 6px;color:inherit;outline:none}
.rp-sug label.otro input[type=text]::placeholder{color:var(--d-mut)}
.rp-sug label.otro:has(input[type=radio]:checked) input::placeholder{color:#DCE7FB}
.rp-go.btn.primary{width:100%;margin-top:14px;height:40px;border-radius:11px;font-weight:600;background:#0A6CF5;border-color:#0A6CF5;justify-content:center}
.rp-go.btn.primary:hover{background:#0960DA}
.rp-ok{background:var(--d-card);border:0;border-radius:18px;box-shadow:var(--d-card-sh);padding:16px;display:flex;flex-direction:column;gap:4px;border-top:4px solid #22C55E}
.rp-how{margin-top:12px;background:var(--d-card);border-radius:14px;padding:12px 14px;font-size:12.5px;line-height:1.5;color:var(--d-mut)}
.rp-how b{color:var(--d-ink)}
.rp .card.empty{background:var(--d-card);border:0;border-radius:18px}
@media (max-width:1100px){.rp-cols{grid-template-columns:1fr}.rp-pr{grid-template-columns:1fr 118px;}.rp-pr .rp-eb,.rp-pr .rp-tk,.rp-pr .rp-acf,.rp-pr .rp-act{grid-column:1 / -1}.rp-pl{grid-template-columns:1fr auto;padding-left:0}.rp-pl .rp-eb{grid-column:1 / -1}}
@media (max-width:700px){.dbj-b .rp-head,.rp-wrap{padding-left:16px;padding-right:16px}}

html.dark .rp-nr{background:var(--d-cap)}
html.dark .rp-acf input{background:var(--d-cap)}
.rp-cols > *{min-width:0}
.dbj-b .rp-tb .seg{max-width:100%;overflow-x:auto;scrollbar-width:none}
.rp .rp-sug label{flex-direction:row}
@media (max-width:700px){.rp-pl .rp-tk{text-align:left}.rp-ah{flex-wrap:wrap}.rp-head h1{font-size:28px}}
.dbj-b .rp-head{position:static;top:auto;z-index:auto}
.rp .rp-sug label.otro input[type=text]{min-height:0;height:24px;box-shadow:none;border-radius:0}
.rp-ok span{font-size:13px;line-height:1.45}

/* ---- Entregas y facturación (v0.96, maqueta 25) ---- */
.ent-new{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#fff;background:#6A5AE0;border-radius:999px;padding:5px 11px;text-decoration:none;white-space:nowrap}
.ent-new:hover{background:#5848D0}
.en-cols{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 300px;gap:18px;align-items:start}
.en-cols > *{min-width:0}
.en-card{background:var(--d-card);color:var(--d-ink);border-radius:18px;box-shadow:var(--d-card-sh);padding:16px 18px 18px}
.en-hd{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:14px}
.en-hd > div{flex:1 1 200px;min-width:0}
.en-hd h2{margin:0;font-size:16px;letter-spacing:-.2px}
.en-hd small{display:block;color:var(--d-mut);font-size:12.5px;line-height:1.4;margin-top:2px}
.en-n{width:26px;height:26px;border-radius:50%;background:#0A6CF5;color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center;flex:none}
.en-sp{display:none}
.en-hd .en-quick{flex:0 0 auto;margin-left:38px}
.en-quick{display:flex;background:var(--d-cap);border-radius:10px;padding:3px;gap:2px;flex:none}
.en-quick button{all:unset;cursor:pointer;font-size:12px;padding:5px 9px;border-radius:7px;color:var(--d-ink)}
.en-quick button:hover{background:var(--d-capOn);box-shadow:var(--d-on-sh)}
.en-eps{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:7px}
.en .en-ep{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 7px;border-radius:12px;background:#F2F4F7;cursor:pointer;text-transform:none;font-weight:400;letter-spacing:0;transition:background .12s,box-shadow .12s,color .12s}
.en-ep input{position:absolute;opacity:0;pointer-events:none}
.en-ep b{font-size:16px;font-weight:700}
.en-dots{display:flex;gap:3px}.en-dots i{width:8px;height:8px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(16,24,40,.12)}
.en-ep small{font-size:10px;color:var(--d-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.en-ep.ready{box-shadow:inset 0 0 0 1.5px rgba(34,197,94,.55)}
.en-ep.used{opacity:.55}
.en-ep.on{background:#0A6CF5;color:#fff;box-shadow:none;opacity:1}
.en-ep.on small{color:#DCE7FB}
.en-ep:focus-within{outline:2px solid #0A6CF5;outline-offset:2px}
.en-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:12px 0 0;font-size:11.5px;color:var(--d-mut)}
.en-legend span{display:inline-flex;align-items:center;gap:5px}
.en-legend i{width:12px;height:12px;border-radius:4px;background:#F2F4F7}
.en-legend .lg-r{box-shadow:inset 0 0 0 1.5px rgba(34,197,94,.7)}.en-legend .lg-u{opacity:.5;box-shadow:inset 0 0 0 1px #CBD2DC}
.en-one{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#F2F4F7;border-radius:12px;padding:12px 14px}
.en-one b{font-size:14px;margin-right:4px}
.en-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:var(--d-card);border-radius:999px;padding:3px 10px}
.en-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.en-empty{margin:0}
.en-dst{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.en-dst button{all:unset;cursor:pointer;font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:999px;background:#F2F4F7;color:var(--d-ink);transition:background .12s}
.en-dst button:hover{background:#E6E9EE}
.en-dst button.sug{box-shadow:inset 0 0 0 1.5px rgba(10,108,245,.45)}
.en-dst button.done{background:#EAF1FE;color:#0A6CF5}
.en .en-ta{display:block;text-transform:none;font-weight:400;letter-spacing:0}
.en-ta textarea{width:100%;box-sizing:border-box;border:0;border-radius:12px;padding:10px 12px;font:inherit;font-size:13px;line-height:1.6;background:#F6F7F9;color:var(--d-ink);box-shadow:inset 0 0 0 1px var(--d-line);resize:vertical;min-height:130px}
.en-ta textarea:focus{outline:none;box-shadow:inset 0 0 0 2px #0A6CF5}
.en-side{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px}
.en-side .en-hd{margin-bottom:2px}
.en .en-f{display:flex;flex-direction:column;gap:5px;text-transform:none;letter-spacing:0;font-weight:400}
.en-f span{font-size:12px;font-weight:600;color:var(--d-mut)}
.en-f input{height:38px;border:0;border-radius:10px;padding:0 12px;font:inherit;font-size:14px;background:#F6F7F9;color:var(--d-ink);box-shadow:inset 0 0 0 1px var(--d-line)}
.en-f input:focus{outline:none;box-shadow:inset 0 0 0 2px #0A6CF5}
.en-sum{font-size:13px;color:var(--d-mut);background:#F6F7F9;border-radius:10px;padding:10px 12px}
.en-sum b{color:var(--d-ink)}
.en .en-go.btn.primary{height:42px;border-radius:11px;font-size:14px;font-weight:600;background:#0A6CF5;border-color:#0A6CF5;justify-content:center}
.en .en-go.btn.primary:hover{background:#0960DA}
.en-cancel{text-align:center;font-size:12.5px;color:var(--d-mut);text-decoration:none}
.en-prev{border-top:1px solid var(--d-line);padding-top:10px;display:flex;flex-direction:column;gap:5px;font-size:12.5px}
.en-prev b{font-size:12px;color:var(--d-mut);font-weight:600}
.en-prev span{display:flex;justify-content:space-between;gap:8px}.en-prev em{font-style:normal;color:var(--d-mut)}
html.dark .en-ep,html.dark .en-one,html.dark .en-dst button{background:var(--d-cap)}
html.dark .en-ta textarea,html.dark .en-f input,html.dark .en-sum{background:var(--d-cap)}
@media (max-width:1180px){.en-cols{grid-template-columns:1fr 1fr}.en-side{grid-column:1 / -1;position:static}}
@media (max-width:760px){.en-cols{grid-template-columns:1fr}}
.fa-cl{margin-bottom:18px}
.fa-cl h2{font-size:15px;margin:0 0 8px 4px;color:var(--d-ink);letter-spacing:-.2px}
.fa-cl h2 small{font-weight:500;color:var(--d-mut);font-size:12.5px;margin-left:6px}
.fa-r{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,1.6fr) 64px 76px 190px;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--d-line);font-size:13px}
.fa-r:last-child{border-bottom:0}
.fa-p{text-decoration:none;color:var(--d-ink);min-width:0}
.fa-p b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-p small,.fa-what small{display:block;color:var(--d-mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-what{min-width:0}
.fa-eps{font-weight:600}
.fa-n{color:var(--d-mut);text-align:right}
.fa-d{color:var(--d-mut);text-align:right;font-variant-numeric:tabular-nums}
.fa-go{margin:0;text-align:right}
.fa .fa-go .btn.primary{background:#0A6CF5;border-color:#0A6CF5;border-radius:10px;height:34px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.fa .fa-go .btn.primary:hover{background:#0960DA}
.fa .fa-xls{border-radius:10px;background:var(--d-card);border:0;box-shadow:var(--d-card-sh);display:inline-flex;align-items:center;gap:6px;font-weight:500}
.fa-empty{max-width:640px}
.fa-how{max-width:900px}
@media (max-width:900px){.fa-r{grid-template-columns:1fr auto}.fa-what{grid-column:1 / -1}.fa-n,.fa-d{text-align:left}.fa-go{grid-column:1 / -1;text-align:left}}

/* ---- Sustituir a un actor (v0.97) ---- */
.su-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);gap:18px;align-items:start}
.su-cols > *{min-width:0}
.su-roles{display:flex;flex-direction:column;gap:8px}
.su .su-role{position:relative;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:4px 10px;padding:11px 14px;border-radius:12px;background:#F2F4F7;cursor:pointer;text-transform:none;font-weight:400;letter-spacing:0;transition:background .12s,box-shadow .12s}
.su-role input{width:18px;height:18px;accent-color:#0A6CF5;margin:0}
.su-role b{font-size:14px}
.su-role > span{font-size:12.5px;color:var(--d-mut);text-align:right}
.su-role > span em{font-style:normal;color:#15803D;font-weight:600}
.su-role small{grid-column:2 / -1;font-size:12px;color:#B54708}
.su-role.on{background:#EAF1FE;box-shadow:inset 0 0 0 1.5px rgba(10,108,245,.4)}
.su-role.full{opacity:.6;cursor:default}
.su-role.full small{color:var(--d-mut)}
.su-ses{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--d-line);font-size:13px}
.su-ses > b{font-size:12px;color:var(--d-mut);font-weight:600}
.su-bk{display:flex;align-items:center;gap:7px;background:#F6F7F9;border-radius:10px;padding:8px 11px}
.su-bk svg{color:#0A6CF5;flex:none}
.su-bk em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:600;color:#15803D}
.su-bk.prov{background:repeating-linear-gradient(135deg,#F6F7F9 0 8px,#EEF0F3 8px 16px)}
.su-bk.prov em{color:#6B7382}
.su-side{position:sticky;top:76px;display:flex;flex-direction:column;gap:12px}
.su-side .en-hd{margin-bottom:2px}
.su-sug{display:flex;flex-wrap:wrap;gap:6px}
.su-sug button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:500;padding:6px 11px;border-radius:999px;background:#F2F4F7;color:var(--d-ink);transition:background .12s}
.su-sug button em{font-style:normal;font-weight:400;color:var(--d-mut);font-size:11.5px}
.su-sug button:hover{background:#E6E9EE}
.su-sug button.on{background:#0A6CF5;color:#fff}.su-sug button.on em{color:#DCE7FB}
.su-out{font-size:13px;line-height:1.5;color:var(--d-ink);background:#F6F7F9;border-radius:10px;padding:10px 12px}
.su .su-chk{flex-direction:row;display:flex;gap:9px;align-items:flex-start;font-size:13px;text-transform:none;font-weight:400;letter-spacing:0;cursor:pointer}
.su-chk input{width:17px;height:17px;accent-color:#0A6CF5;margin:1px 0 0}
.su-chk small{color:var(--d-mut)}
.su .en-go.btn.primary{height:42px;border-radius:11px;font-size:14px;font-weight:600;background:#0A6CF5;border-color:#0A6CF5;justify-content:center}
html.dark .su-role,html.dark .su-bk,html.dark .su-sug button,html.dark .su-out{background:var(--d-cap)}
@media (max-width:900px){.su-cols{grid-template-columns:1fr}.su-side{position:static}}
.rpd-sust{display:inline-flex;align-items:center;gap:6px}
.tx-sust::before{display:none}
.dub-sust{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-size:11.5px;font-weight:600;color:#0A6CF5;text-decoration:none;opacity:0;transition:opacity .12s}
tr:hover .dub-sust,.dub-sust:focus{opacity:1}
@media (hover:none){.dub-sust{opacity:1}}
.su-sh{font-style:normal;font-size:11px;font-weight:600;color:#6A5AE0;background:#EFEDFF;border-radius:999px;padding:2px 8px}
.su-warn{display:block;margin-top:6px;color:#B54708}
.su-orph{display:flex;flex-direction:column;gap:3px;background:#FFF7ED;border-radius:12px;padding:11px 14px;font-size:13px;color:#7C2D12;margin-bottom:4px}
.su-orph b{color:#9A3412}
.su-sug button.now{box-shadow:inset 0 0 0 1.5px rgba(10,108,245,.5)}

/* ---- Mis tareas (v0.98, maqueta 27) ---- */
.myt-kpis{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.myt-kpi{background:var(--d-heroCap);border-radius:14px;padding:10px 16px;min-width:120px;text-decoration:none;color:#F3F5F8;transition:background .12s}
.myt-kpi:hover{background:var(--d-heroOn)}
.myt-kpi b{display:block;font-size:22px;letter-spacing:-.4px;line-height:1.15}.myt-kpi span{font-size:12px;color:#AEB6C4}
.myt-kpi.red b{color:#FF8A8A}.myt-kpi.blue b{color:#7FB2FF}.myt-kpi.green b{color:#7EE2A8}
.myt-bar{display:flex;align-items:center;gap:10px;padding:16px 40px 4px;flex-wrap:wrap}
.dbj-b .myt-bar .seg{display:flex;background:var(--d-cap);border:0;border-radius:11px;padding:3px;gap:2px}
.dbj-b .myt-bar .seg > * + *{border-left:0}
.dbj-b .myt-bar .seg a{color:var(--d-ink);border-radius:8px;padding:6px 12px;font-size:13px;text-decoration:none;white-space:nowrap;background:transparent}
.dbj-b .myt-bar .seg a small{color:var(--d-mut);margin-left:3px;font-size:11.5px}
.dbj-b .myt-bar .seg a.on{background:var(--d-capOn);font-weight:600;box-shadow:var(--d-on-sh)}
.myt .myt-who{display:flex;align-items:center;gap:6px;background:var(--d-card);border-radius:999px;padding:3px 4px 3px 3px;box-shadow:var(--d-card-sh);text-transform:none;font-weight:400;letter-spacing:0}
.myt-av{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;background:#0A6CF5;flex:none}
.myt-who select,.myt-dd select{appearance:none;-webkit-appearance:none;border:0;background:transparent;font:inherit;font-size:13px;color:var(--d-ink);padding:0 22px 0 4px;height:28px;min-height:0;box-shadow:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B7382' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:9px}
.myt .myt-dd{display:inline-flex;align-items:center;height:34px;padding:0 6px 0 8px;border-radius:10px;background:var(--d-card);box-shadow:var(--d-card-sh);text-transform:none;font-weight:400;letter-spacing:0}
.myt-q{flex:1 1 200px;min-width:160px;height:34px;border:0;border-radius:10px;background:var(--d-card);box-shadow:var(--d-card-sh);padding:0 12px;font:inherit;font-size:13px;color:var(--d-ink)}
.myt-q:focus{outline:none;box-shadow:0 0 0 2px #0A6CF5}
.myt-wrap{padding:12px 40px 40px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
.myt-wrap > *{min-width:0}
.myt-grp{margin-bottom:16px}
.myt-gh{display:flex;align-items:center;gap:8px;margin:0 0 8px 4px;font-size:14px;font-weight:700;color:var(--d-ink)}
.myt-gh em{font-style:normal;font-weight:500;color:var(--d-mut);font-size:12.5px}
.myt-gh.red{color:#B42318}
.myt-gh i{width:10px;height:10px;border-radius:3px}
.myt-gh a{color:inherit;text-decoration:none}
.myt-card{background:var(--d-card);border-radius:16px;box-shadow:var(--d-card-sh);overflow:hidden}
.myt-r{display:grid;grid-template-columns:22px minmax(0,1fr) 170px 140px 92px 52px;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--d-line);font-size:13px}
.myt-r:last-child{border-bottom:0}
.myt-ck{all:unset;box-sizing:border-box;width:20px;height:20px;border-radius:50%;border:1.7px solid #C4CAD4;cursor:pointer;display:grid;place-items:center;transition:background .12s,border-color .12s}
.myt-ck:hover{border-color:#22C55E}
.myt-ck.on{background:#22C55E;border-color:#22C55E}
.myt-ck.on::after{content:"";width:8px;height:4px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.myt-ck.ro{cursor:default;opacity:.5}
.myt-ck.err{border-color:#EF4444}
.myt-ck.ses{border:0;background:#EEF5FF;color:#0A6CF5;cursor:default}
.myt-t{text-decoration:none;color:var(--d-ink);min-width:0}
.myt-t b{font-size:13.5px;font-weight:600;margin-right:4px}
.myt-t small{display:block;color:var(--d-mut);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.myt-r.done .myt-t b{text-decoration:line-through;color:var(--d-mut)}
.myt-why{display:inline-flex;font-size:10.5px;font-weight:600;border-radius:999px;padding:1px 7px;margin:0 4px 0 0;vertical-align:1px;white-space:nowrap}
.myt-why.r{background:#EAF1FE;color:#0A6CF5}.myt-why.f{background:#EFEDFF;color:#6A5AE0}.myt-why.s{background:#ECFDF3;color:#15803D}
.myt-pj{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--d-mut);text-decoration:none;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.myt-pj i{width:8px;height:8px;border-radius:3px;flex:none}
.myt-st select.status-select{width:100%;height:28px;min-height:0;font-size:11px}
.myt-st .st-chip{display:inline-flex}
.myt-bk{display:inline-flex;font-size:11px;font-weight:700;color:#15803D;background:#ECFDF3;border-radius:7px;padding:5px 10px}
.myt-bk.prov{color:#6B7382;background:repeating-linear-gradient(135deg,#F2F4F7 0 7px,#E8EBEF 7px 14px)}
.myt-d{font-size:12.5px;color:var(--d-mut);white-space:nowrap}
.myt-d em{display:block;font-style:normal;font-size:10.5px}
.myt-d.late{color:#B42318;font-weight:600}.myt-d.today{color:#0A6CF5;font-weight:600}
.myt-pr{font-size:10.5px;font-weight:700;color:#B54708}
.myt-rail{display:flex;flex-direction:column;gap:12px;position:sticky;top:76px}
.myt-box{background:var(--d-card);border-radius:16px;box-shadow:var(--d-card-sh);padding:14px 16px}
.myt-box h3{margin:0 0 8px;font-size:14px;color:var(--d-ink)}
.myt-wd{display:grid;grid-template-columns:40px 1fr;gap:8px;padding:6px 0;border-top:1px solid var(--d-line);font-size:12px}
.myt-wd:first-of-type{border-top:0}
.myt-wd > b{font-size:11.5px;color:var(--d-mut);padding-top:4px}
.myt-wd small{color:var(--d-mut)}
.myt-we{display:block;background:#F2F4F7;border-radius:8px;padding:4px 8px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.myt-we.room{background:#EEF5FF;color:#0A3E8F}
.myt-chips{display:flex;flex-wrap:wrap;gap:6px}
.myt-chips span,.myt-chips a{display:inline-flex;align-items:center;gap:5px;font-size:12px;background:#F2F4F7;border-radius:999px;padding:4px 10px;color:var(--d-ink);text-decoration:none}
.myt-chips b{font-weight:700}
.myt-chips a.on{background:#0A6CF5;color:#fff}
.myt-chips i{width:8px;height:8px;border-radius:3px}
.myt-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px}
.myt-day{background:var(--d-card);border-radius:14px;box-shadow:var(--d-card-sh);padding:10px;min-height:160px;display:flex;flex-direction:column;gap:6px}
.myt-day.today{box-shadow:0 0 0 2px #0A6CF5,var(--d-card-sh)}
.myt-dh{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--d-mut)}
.myt-dh b{color:var(--d-ink)}.myt-dh span{font-size:18px;font-weight:700;color:var(--d-ink)}
.myt-ev{display:block;font-size:12px;background:#F2F4F7;border-left:3px solid var(--c,#94A3B8);border-radius:7px;padding:5px 7px;text-decoration:none;color:var(--d-ink);line-height:1.3}
.myt-ev small{display:block;color:var(--d-mut);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.myt-ev.room{background:#EEF5FF;border-left-color:#0A6CF5}
.myt-free{font-size:11.5px;color:var(--d-mut);margin-top:auto}
.myt-empty{max-width:640px}
html.dark .myt-we,html.dark .myt-chips span,html.dark .myt-chips a:not(.on),html.dark .myt-ev{background:var(--d-cap)}
@media (max-width:1100px){.myt-wrap{grid-template-columns:1fr}.myt-rail{position:static}.myt-week{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.myt-bar,.myt-wrap{padding-left:16px;padding-right:16px}.myt-r{grid-template-columns:22px minmax(0,1fr) auto;row-gap:4px}.myt-pj{grid-column:2 / -1;grid-row:2}.myt-st{grid-column:2;grid-row:3}.myt-d{grid-column:3;grid-row:1}.myt-pr{display:none}}
.myt .myt-who{flex-direction:row}
.myt .myt-dd{flex-direction:row}
.myt-st select.status-select{height:auto;min-height:26px;line-height:1.2;padding:5px 22px 5px 8px;font-size:10.5px}
.pth.myt label.myt-who,.pth.myt label.myt-dd{display:inline-flex!important;flex-direction:row!important;align-items:center!important}

/* ---- Listas que se ven, Ajustar y fondos (v0.99, maqueta 28) ---- */
.lv{position:relative;display:inline-flex}
.lv-btn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 12px 0 11px;border:0;border-radius:12px;background:var(--card);color:var(--ink);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(16,24,40,.06),0 0 0 1px rgba(16,24,40,.07)}
.lv-btn em{font-style:normal;font-size:11px;font-weight:600;background:#E8EBF0;color:#4A5262;border-radius:999px;padding:1px 7px}
.lv-btn.some{background:#0A6CF5;color:#fff;box-shadow:0 2px 6px rgba(10,108,245,.3)}
.lv-btn.some em{background:rgba(255,255,255,.25);color:#fff}
.lv-btn:hover{filter:brightness(.98)}
.lv-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:300;width:330px;max-height:70vh;overflow:auto;background:var(--card);border-radius:16px;box-shadow:0 18px 50px rgba(16,24,40,.22),0 0 0 1px rgba(16,24,40,.06);padding:12px}
.lv-pop[hidden]{display:none}
.lv-h{display:flex;justify-content:space-between;align-items:center;margin:2px 4px 8px}
.lv-h b{font-size:13.5px;color:var(--ink)}
.lv-h button,.lv-f button{all:unset;cursor:pointer;font-size:12px;font-weight:500;color:#0A6CF5}
.lv .lv-i{display:grid;grid-template-columns:10px 1fr 38px;gap:10px;align-items:center;padding:8px 6px;border-radius:9px;font-size:13px;color:var(--ink);cursor:pointer;text-transform:none;font-weight:400;letter-spacing:0;flex-direction:row}
.lv-i:hover{background:var(--bg)}
.lv-i i{width:10px;height:10px;border-radius:3px}
.lv-i span:nth-of-type(1){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lv-i.off span:nth-of-type(1){color:var(--muted)}
.lv-i input{position:absolute;opacity:0;pointer-events:none}
.lv-sw{position:relative;width:34px;height:20px;border-radius:999px;background:#34C759;transition:background .15s}
.lv-sw::after{content:"";position:absolute;top:2px;left:16px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.lv-i.off .lv-sw{background:#E1E4E9}.lv-i.off .lv-sw::after{left:2px}
.lv-i input:focus-visible + .lv-sw{outline:2px solid #0A6CF5;outline-offset:2px}
.lv-f{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}
.lv-f button{color:var(--ink);background:var(--bg);border-radius:999px;padding:5px 11px}
.lv-f button:hover{background:#EAF1FE;color:#0A6CF5}
.lv-n{margin:8px 4px 2px;font-size:11.5px;color:var(--muted)}
.sheet-zoom .sz-fit{font-weight:500;white-space:nowrap}
.sheet-zoom .sz-fit.on{background:#EAF1FE;color:#0A6CF5;font-weight:600;border-radius:8px}
.pm-bgsec{display:flex;flex-direction:column;gap:6px}
.pm-bglab{font-size:10.5px;font-weight:700;letter-spacing:.6px;color:var(--muted);margin-top:4px}
.pm-bgsec .pm-bgs{grid-template-columns:repeat(6,1fr);gap:7px}
.pm-bgsec .pm-bg{height:36px;border-radius:10px;border:0;box-shadow:inset 0 0 0 1px rgba(16,24,40,.1)}
.pm-bgsec .pm-bg:hover{box-shadow:0 0 0 2px #fff,0 0 0 4px #0A6CF5}
.pm-bgother{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;margin-top:6px;font-size:12.5px;color:var(--ink);cursor:pointer}
.pm-bgpick{width:30px;height:30px;padding:0;border:0;border-radius:8px;background:none;cursor:pointer}
html.dark .lv-btn em{background:#2D3648;color:#C3CAD6}

/* ---- Tareas desde Materiales de entrada (v0.99, maqueta 29) ---- */
.mtk-add{all:unset;cursor:pointer;display:inline-flex;margin-left:8px;font-size:11.5px;font-weight:600;color:#0A6CF5;border:1.5px dashed rgba(10,108,245,.45);border-radius:999px;padding:1px 9px;vertical-align:1px}
.mtk-add:hover{background:#EAF1FE}
.mtk-env{all:unset;cursor:pointer;margin-left:auto;font-size:12px;font-weight:600;color:#0A6CF5;border:1.5px dashed rgba(10,108,245,.45);border-radius:999px;padding:4px 11px}
.mtk-env:hover{background:#EAF1FE}
.mtk-row{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 9px 14px;margin-top:-3px}
.mtk-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:999px;padding:3px 10px 3px 3px;background:#F2F4F7;color:#1C2230;text-decoration:none;box-shadow:inset 3px 0 0 var(--c)}
.mtk-chip em{font-style:normal;font-weight:500;color:#6B7382}
.mtk-chip.done{background:#ECFDF3}
.mtk-av{width:20px;height:20px;border-radius:50%;background:#0A6CF5;color:#fff;font-size:9.5px;display:grid;place-items:center;font-weight:700}
.mtk-dlg{border:0;padding:0;border-radius:18px;width:min(460px,94vw);box-shadow:0 24px 60px rgba(16,24,40,.28);background:var(--card);color:var(--ink)}
.mtk-dlg::backdrop{background:rgba(17,21,30,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.mtk-f{display:flex;flex-direction:column;gap:6px;padding:18px}
.mtk-hd{display:flex;align-items:flex-start;gap:10px;margin-bottom:4px}
.mtk-hd > div{flex:1;min-width:0}
.mtk-hd h2{margin:0;font-size:17px;letter-spacing:-.2px}
.mtk-hd small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtk-x{all:unset;cursor:pointer;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--muted)}
.mtk-lb{font-size:12px;font-weight:600;color:var(--muted);margin-top:8px;display:block}
.mtk-ch,.mtk-pp{display:flex;flex-wrap:wrap;gap:6px}
.mtk-f .mtk-ch label,.mtk-f .mtk-pp label{display:inline-flex;flex-direction:row;cursor:pointer;margin:0}
.mtk-ch input,.mtk-pp input{position:absolute;opacity:0;pointer-events:none}
.mtk-ch span{font-size:12.5px;background:var(--bg);border-radius:999px;padding:6px 12px;color:var(--ink);transition:background .12s}
.mtk-ch label.on span{background:#0A6CF5;color:#fff;font-weight:600}
.mtk-pp span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;background:var(--bg);border-radius:999px;padding:3px 11px 3px 3px;color:var(--ink)}
.mtk-pp span i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:10px;font-weight:700}
.mtk-pp span em{font-style:normal;font-size:11px;color:var(--muted)}
.mtk-pp label.on span{background:#0A6CF5;color:#fff}.mtk-pp label.on span em{color:#DCE7FB}
.mtk-ch label:focus-within span,.mtk-pp label:focus-within span{outline:2px solid #0A6CF5;outline-offset:1px}
.mtk-in{width:100%;box-sizing:border-box;height:38px;border:0;border-radius:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);padding:0 12px;font:inherit;font-size:13.5px;color:var(--ink);margin-top:6px}
.mtk-in:focus{outline:none;box-shadow:inset 0 0 0 2px #0A6CF5}
.mtk-ta{height:auto;padding:9px 12px;resize:vertical}
.mtk-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mtk-f .mtk-2 label,.mtk-f > label{display:block;margin:0}
.mtk-sum{margin:10px 0 0;background:var(--bg);border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.5}
.mtk-go{margin-top:10px;height:42px;border:0;border-radius:11px;background:#0A6CF5;color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.mtk-go:hover{background:#0960DA}
.mt-fn .mtk-add{display:flex;width:max-content;margin:4px 0 0}

/* ===== v0.100 · Fases y trabajos del episodio (maqueta 31) y selectores en cápsula ===== */
.dxp-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;overflow:hidden}
.dxp-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;max-width:100%;border-radius:999px}
.dxp-btn:focus-visible{outline:2px solid var(--tx-blue,#0A6CF5);outline-offset:2px}
.dxp-who{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px 0 4px;border-radius:999px;background:var(--tx-soft,#F2F4F7);font-size:12.5px;font-weight:500;color:var(--tx-ink,#1E2533);white-space:nowrap;max-width:100%;overflow:hidden}
.dxp-who i,.fzx-who i,.dxp-it i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:10px;font-weight:700;flex:none}
.dxp-who u,.dxp-st u,.dxp-pl u{text-decoration:none;opacity:.55;font-size:9.5px;margin-left:2px}
.dxp-who.empty{background:transparent;box-shadow:inset 0 0 0 1.5px #D5DAE1;color:#8A93A3;padding:0 11px}
.dxp-btn:hover .dxp-who,.dxp-btn:hover .dxp-st{filter:brightness(.96)}
.dxp-st{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.3px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.dxp-st.none{background:var(--tx-soft,#F2F4F7);color:#8A93A3}
.dxp-pl{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:9px;background:var(--tx-soft,#F2F4F7);font-size:13px}
.dxp-pop{position:absolute;z-index:1200;background:color-mix(in srgb,var(--tx-card,#fff) 97%,transparent);backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 18px 50px rgba(16,24,40,.22),0 0 0 1px rgba(16,24,40,.07);padding:6px;max-height:340px;display:flex;flex-direction:column;gap:4px}
.dxp-q{height:32px;border-radius:9px;border:0;background:var(--tx-soft,#F2F4F7);padding:0 10px;font:inherit;font-size:13px;outline:none;color:inherit}
.dxp-list{overflow:auto;display:flex;flex-direction:column;gap:1px}
.dxp-it{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:9px;font-size:13px;color:var(--tx-ink,#1E2533)}
.dxp-it:hover{background:var(--tx-soft,#F2F4F7)}
.dxp-it.on{background:#EAF1FE;color:#0A6CF5;font-weight:600}
.dxp-it i.none{background:#E1E4E9;color:#8A93A3}
.tx-grp[data-grp=campos] .dxp-btn{margin:2px 0}

.fzx-chipph{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px;border-radius:9px;background:color-mix(in srgb,var(--pc,#0A6CF5) 12%,transparent);color:var(--pc,#0A6CF5);font-size:13px;font-weight:600}
.fzx-chipph i{width:8px;height:8px;border-radius:50%;background:var(--pc,#0A6CF5)}
.fzx-chipph.done{--pc:#16A34A}
.fzx-range>summary{display:inline-flex;align-items:stretch;gap:0;height:38px;padding:0!important;list-style:none;cursor:pointer}
.fzx-range>summary::-webkit-details-marker{display:none}
.fzx-range{height:auto!important;padding:0!important}
.fzx-range>summary>span{display:flex;flex-direction:column;justify-content:center;padding:0 12px;line-height:1.15}
.fzx-range>summary small{font-size:9.5px;font-weight:700;letter-spacing:.5px;color:var(--tx-faint,#8A93A3)}
.fzx-range>summary b{font-size:13px;font-weight:600}
.fzx-range>summary em{font-style:normal;align-self:center;color:var(--tx-faint,#8A93A3);font-size:11.5px;padding:0 4px;border-left:1px solid var(--tx-line,#E1E4E9);border-right:1px solid var(--tx-line,#E1E4E9);height:22px;display:flex;align-items:center}
.fzx-range .tx-menu{top:44px}
@media (max-width:700px){.fzx-range .tx-menu{left:auto;right:-60px}}
.fzx-now{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 6px 0 12px;border-radius:9px;background:var(--tx-soft,#F2F4F7);font-size:12px;color:var(--tx-faint,#8A93A3)}
.fzx-who{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px 0 3px;border-radius:999px;background:var(--tx-card,#fff);font-size:12.5px;font-weight:600;color:var(--tx-ink,#1E2533);white-space:nowrap}
.fzx-who i{width:18px;height:18px;font-size:9px}
.fzx-who.empty{padding:0 9px;color:#8A93A3;font-weight:500}
.fzx-who.inh{background:var(--tx-soft,#F2F4F7);height:30px;padding:0 10px 0 4px;font-weight:500;opacity:.85}
.fzx-who.inh i{width:22px;height:22px;font-size:10px}

.fzx{padding:0 0 10px;overflow:visible}
.fzx-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--tx-sep,#EEF0F3)}
.fzx-h b{font-size:15px}.fzx-h small{color:var(--tx-faint,#8A93A3);font-size:12px}
.fzx-sp{flex:1}
.fzx-lnk{font-size:12.5px;font-weight:600;color:var(--tx-blue,#0A6CF5)!important;text-decoration:none!important}
.fzx-hint{margin:12px 18px;font-size:13px;color:var(--tx-mute,#6B7382);background:var(--tx-soft,#F2F4F7);border-radius:10px;padding:10px 12px}
.fzx-gantt{position:relative;padding:12px 18px 8px}
.fzx-gl{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px;align-items:center;margin-bottom:4px;font-size:11px;font-weight:600;color:var(--tx-mute,#6B7382)}
.fzx-scale{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));font-size:10px;color:#9AA2AF;text-align:center}
.fzx-scale .we{color:#C9CED6}
.fzx-bar{position:relative;height:22px;background:var(--tx-soft,#F4F5F7);border-radius:7px}
.fzx-seg{position:absolute;top:2px;height:18px;border-radius:5px;font-size:10px;font-weight:700;font-style:normal;color:#fff;display:flex;align-items:center;padding:0 5px;white-space:nowrap;overflow:hidden;box-sizing:border-box;border:1px solid rgba(255,255,255,.6)}
.fzx-seg.done{opacity:.45}
.fzx-out{position:absolute;top:2px;font-style:normal;font-size:13px;color:#334155;transform:translateX(2px)}
.fzx-today{position:absolute;top:28px;bottom:6px;width:2px;background:#E5484D;border-radius:2px;left:calc(18px + 84px + 8px + (100% - 36px - 92px) * (var(--p) + .5) / var(--n));pointer-events:none}
.fzx-ph{margin:10px 12px 0;border-radius:14px;box-shadow:inset 0 0 0 1px var(--tx-line,#E8EBEF);overflow:visible}
.fzx-ph.cur{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--pc) 45%,transparent)}
.fzx-phh{list-style:none;display:grid;grid-template-columns:12px minmax(0,1fr) auto auto auto auto 14px;gap:14px;align-items:center;padding:10px 14px;cursor:pointer;border-radius:14px;background:var(--tx-soft2,#FAFBFC)}
.fzx-phh::-webkit-details-marker{display:none}
.fzx-ph[open]>.fzx-phh{border-radius:14px 14px 0 0}
.fzx-dot{width:12px;height:12px;border-radius:4px;background:var(--pc)}
.fzx-phh b{font-size:14.5px;line-height:1.2}.fzx-phh b small{display:block;font-weight:500;font-size:11.5px;color:var(--tx-faint,#8A93A3)}
.fzx-prog{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tx-mute,#6B7382);white-space:nowrap}
.fzx-prog>span{flex:0 0 56px;height:6px;border-radius:99px;background:#E8EBEF;overflow:hidden}
.fzx-prog u{display:block;height:100%;background:var(--pc);border-radius:99px}
.fzx-win{font-size:12.5px;font-weight:600;color:var(--tx-ink,#4A5262);white-space:nowrap}
.fzx-phwho{display:flex;align-items:center;gap:6px}
.fzx-phwho small{font-size:10.5px;color:var(--tx-faint,#8A93A3);white-space:nowrap;line-height:1.1;text-align:right}
.fzx-st{justify-self:end;font-size:10.5px;font-weight:700;letter-spacing:.3px;border-radius:7px;padding:5px 9px;background:#E9ECF0;color:#8A93A3;white-space:nowrap}
.fzx-st.on{background:#0A6CF5;color:#fff}.fzx-st.ok{background:#22C55E;color:#fff}
.fzx-chev{color:#9AA2AF;transition:transform .15s}
.fzx-ph:not([open]) .fzx-chev{transform:rotate(-90deg)}
.fzx-job{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(120px,1fr) minmax(120px,1fr) 150px minmax(130px,1fr);gap:10px;align-items:center;padding:8px 14px 8px 40px;border-top:1px solid var(--tx-sep,#F0F2F5);font-size:13px}
.fzx-job.now{background:color-mix(in srgb,var(--pc) 6%,transparent)}
.fzx-job.done .fzx-jn{color:var(--tx-faint,#8A93A3)}
.fzx-jn{font-size:13px;font-weight:600}
.fzx-jn small{display:flex;flex-wrap:wrap;gap:6px;font-weight:500;font-size:11px;color:var(--tx-faint,#8A93A3);margin-top:3px}
.fzx-data{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.tx .fzx .fzx-data input{min-height:0!important;width:64px!important;height:24px!important;font-size:12px!important;border-radius:6px!important;border:1px solid var(--tx-line,#E1E4E9)!important;background:var(--tx-card,#fff)!important;padding:0 6px!important}
.fzx-day{position:relative;display:flex;align-items:center;gap:4px}
.fzx-date{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:9px;background:var(--tx-soft,#F2F4F7);font-size:12.5px;white-space:nowrap}
.fzx-date.auto{background:var(--tx-card,#fff);box-shadow:inset 0 0 0 1px var(--tx-line,#E1E4E9);color:var(--tx-mute,#5B6372)}
.fzx-date.sala{background:#EEF5FF;color:#0A4FB5}
.fzx-date em{font-style:normal;font-size:9.5px;font-weight:700;color:#8A93A3;background:var(--tx-soft,#F2F4F7);border-radius:5px;padding:1px 5px}
.fzx-date:hover{filter:brightness(.97)}
.fzx-dval{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
.fzx-x{all:unset;cursor:pointer;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#8A93A3;font-size:14px}
.fzx-x:hover{background:var(--tx-soft,#F2F4F7);color:#C0362C}
.fzx-rbtn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:9px;font-size:12px;font-weight:600;color:#0A6CF5;box-shadow:inset 0 0 0 1.5px rgba(10,108,245,.22);white-space:nowrap;opacity:.75}
.fzx-job:hover .fzx-rbtn,.fzx-rbtn:focus-visible{opacity:1;box-shadow:inset 0 0 0 1.5px rgba(10,108,245,.4)}
.fzx-rbtn:hover{background:#EEF5FF}
.fzx-bk{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 10px 0 5px;border-radius:9px;background:#EEF5FF;color:#0A4FB5!important;font-size:12px;font-weight:600;text-decoration:none!important;white-space:nowrap;max-width:100%;overflow:hidden}
.fzx-bk i{font-style:normal;background:#0A6CF5;color:#fff;border-radius:6px;font-size:10px;padding:2px 6px}
.fzx-grab{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 14px 10px 40px;border-top:1px solid var(--tx-sep,#F0F2F5);font-size:12.5px;color:var(--tx-mute,#4A5262)}
.fzx-grab a{color:var(--tx-blue,#0A6CF5)!important;font-weight:600;text-decoration:none!important;margin-left:auto}
.fzx-xtra{display:flex;align-items:center;gap:12px;padding:6px 14px 6px 40px;border-top:1px solid var(--tx-sep,#F0F2F5);font-size:13px}
.fzx-xtra .tx-k{width:120px}
.fzx-ready{display:flex;align-items:center;gap:12px;padding:10px 14px 10px 40px;border-top:1px solid var(--tx-sep,#F0F2F5);background:#F5F3FF;color:#5B3FD1;font-size:12.5px;border-radius:0 0 14px 14px}
.fzx-ready span{flex:1}
.fzx-ready.on{background:#ECFDF3;color:#15803D}
.fzx-ent{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:9px;background:#6A5AE0;color:#fff!important;font-weight:600;text-decoration:none!important;white-space:nowrap}
.fzx-loose{margin:10px 12px 0;border-radius:14px;box-shadow:inset 0 0 0 1px var(--tx-line,#E8EBEF);overflow:hidden}
.fzx-lh{padding:10px 14px;font-weight:700;font-size:13.5px;background:var(--tx-soft2,#FAFBFC)}
.fzx-loose .fzx-xtra{padding-left:14px}
.fzx-legend{margin:12px 14px 4px;background:#FFF6D6;border:1px solid #F0D98A;color:#5C4A00;font-size:12px;line-height:1.5;padding:9px 12px;border-radius:12px}
.fzx-legend em{font-style:normal;font-weight:700;font-size:10px;background:#fff;border-radius:4px;padding:0 4px}
.fzx-dlg{border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px rgba(16,24,40,.3);width:min(420px,calc(100vw - 32px));background:var(--tx-card,#fff);color:var(--tx-ink,#1E2533)}
.fzx-dlg::backdrop{background:rgba(16,24,40,.35);backdrop-filter:blur(2px)}
.fzx-dlg .fzx-dlgin{padding:20px 22px!important;margin:0;display:flex;flex-direction:column;gap:2px}
.fzx-dlgin h3{margin:0;font-size:17px}
.fzx-s{margin:2px 0 6px;font-size:12.5px;color:var(--tx-mute,#6B7382)}
.fzx-lb{display:block;font-size:11.5px;font-weight:600;color:var(--tx-mute,#6B7382);margin:10px 0 6px}
.fzx-chips{display:flex;flex-wrap:wrap;gap:6px}
.fzx-chips button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;background:var(--tx-soft,#F2F4F7);border-radius:999px;padding:5px 12px}
.fzx-chips button i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:9px;font-weight:700;margin-left:-7px}
.fzx-chips button.on{background:#0A6CF5;color:#fff;font-weight:600}
.fzx-row2{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}
.fzx-row2 input{width:100%;box-sizing:border-box;height:36px;border-radius:10px;border:0;background:var(--tx-soft,#F2F4F7);padding:0 10px;font:inherit;font-size:13px;color:inherit}
.fzx-busy{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow:auto}
.fzx-oc{font-size:12px;background:#FBECEC;color:#B42318;border-radius:8px;padding:5px 9px}
.fzx-free{font-size:12px;background:#ECFDF3;color:#15803D;border-radius:8px;padding:5px 9px}
.fzx-err{margin:8px 0 0;font-size:12.5px;color:#C0362C}
.fzx-dlgf{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
@media (max-width:1100px){
  .fzx-phh{grid-template-columns:12px minmax(0,1fr) auto auto 14px;row-gap:6px}
  .fzx-prog,.fzx-win,.fzx-phwho small{display:none}
  .fzx-gantt .fzx-scale span:nth-child(even){visibility:hidden}
  .fzx-job{grid-template-columns:1fr 1fr;padding-left:14px}
}

/* ===== v0.100 · Editor de columnas (maqueta 32): vista Tabla y vista Diseño ===== */
.cx{max-width:1240px;margin:0 auto;padding:24px 32px 60px;color:var(--tx-ink,#1E2533)}
.cx-back{font-size:13px;color:var(--tx-mute,#6B7382)!important;text-decoration:none!important}
.cx h1{margin:8px 0 2px;font-size:28px;letter-spacing:-.6px}
.cx-sub{margin:0 0 16px;color:var(--tx-mute,#6B7382);font-size:13.5px}
.cx-bar{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.cx-sp{flex:1}
.cx-seg{display:inline-flex;background:#E2E5EA;border-radius:11px;padding:3px;gap:2px}
.cx-seg button{all:unset;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;border-radius:8px}
.cx-seg button.on{background:#fff;font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.cx-btn{all:unset;box-sizing:border-box;cursor:pointer;height:34px;padding:0 14px;border-radius:10px;background:#fff;color:#1E2533!important;box-shadow:0 0 0 1px #E1E4E9;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:6px;text-decoration:none!important}
.cx-btn.pri{background:#0A6CF5;color:#fff!important;box-shadow:none}
.cx-legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.cx-legend>div{background:#FFF6D6;border:1px solid #F0D98A;color:#5C4A00;font-size:12.5px;line-height:1.45;padding:10px 12px;border-radius:12px}
.cx-card{background:#fff;border-radius:18px;box-shadow:0 2px 6px rgba(16,24,40,.08);overflow:hidden}
.cx-load{padding:20px;color:#8A93A3}
.cx-tr{display:grid;grid-template-columns:20px minmax(150px,1.4fr) 150px 150px 130px minmax(120px,1.4fr) 44px 30px;gap:10px;align-items:center;padding:7px 16px;border-top:1px solid #F0F2F5;font-size:13px;background:#fff}
[data-fases="0"] .cx-tr{grid-template-columns:20px minmax(150px,1.4fr) 170px minmax(120px,1.6fr) 44px 30px}
.cx-th{border-top:0;background:#FAFBFC;font-size:11px;font-weight:700;color:#6B7382;letter-spacing:.4px}
.cx-grip{color:#B4BAC4;cursor:grab;font-size:12px;user-select:none}
.cx-in{height:30px;border-radius:8px;background:#F6F7F9;border:0;box-shadow:inset 0 0 0 1px #E6E9EE;padding:0 10px;font:inherit;font-size:13px;font-weight:500;color:inherit;min-width:0;width:100%;box-sizing:border-box}
.cx-in:focus{outline:none;background:#fff;box-shadow:0 0 0 2px #0A6CF5}
.cx-pill{all:unset;box-sizing:border-box;cursor:pointer;height:30px;border-radius:8px;background:#F2F4F7;display:flex;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;white-space:nowrap;overflow:hidden;min-width:0}
.cx-pill u{text-decoration:none;color:#9AA2AF;font-size:10px;margin-left:auto}
.cx-ti,.cx-types i{font-style:normal;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:11px;color:#fff;flex:none}
.cx-role{font-size:12px;color:#4A5262}
.cx-opts-p{all:unset;cursor:pointer;display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden;min-height:22px;min-width:0;mask-image:linear-gradient(90deg,#000 85%,transparent)}
.cx-opts-p span{font-size:10px;font-weight:700;border-radius:5px;padding:3px 6px;color:#fff;white-space:nowrap}
.cx-opts-p em{font-style:normal;font-size:11px;color:#8A93A3}
.cx-sw{all:unset;cursor:pointer;width:34px;height:20px;border-radius:999px;background:#E1E4E9;position:relative}
.cx-sw::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.cx-sw.on{background:#34C759}.cx-sw.on::after{left:16px}
.cx-more{all:unset;cursor:pointer;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#6B7382;font-size:16px}
.cx-more:hover{background:#F2F4F7}
.cx-grp{display:flex;align-items:center;gap:8px;padding:9px 16px;background:#F7F8FA;border-top:1px solid #EEF0F3;font-size:12px;font-weight:700}
.cx-grp i{width:10px;height:10px;border-radius:3px}
.cx-grp em{font-style:normal;font-weight:500;color:#8A93A3}
.cx-gadd{all:unset;cursor:pointer;margin-left:auto;font-size:12px;font-weight:600;color:#0A6CF5}
.cx-tadd{all:unset;cursor:pointer;display:block;padding:12px 16px 14px 46px;border-top:1px solid #F0F2F5;color:#0A6CF5;font-weight:600;font-size:13px}
.cx-drag{opacity:.4}
.cx-over{box-shadow:inset 0 0 0 2px #0A6CF5!important}
.cx-board{display:grid;grid-template-columns:repeat(6,minmax(170px,1fr));gap:12px;background:#fff;border-radius:18px;box-shadow:0 2px 6px rgba(16,24,40,.08);padding:16px;overflow-x:auto}
.cx-col{background:#F4F5F7;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.cx-col h4{margin:2px 4px 2px;font-size:13.5px;display:flex;align-items:center;gap:7px}
.cx-col h4 i{width:10px;height:10px;border-radius:3px;background:var(--pc,#94A3B8)}
.cx-whole{border:1.5px dashed #D5DAE1;border-radius:11px;padding:7px;display:flex;flex-wrap:wrap;gap:4px;min-height:34px}
.cx-whole small{width:100%;font-size:10.5px;font-weight:700;color:#8A93A3;letter-spacing:.3px}
.cx-whole em{font-style:normal;font-size:11px;color:#9AA2AF}
.cx-job{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(16,24,40,.08);padding:9px 10px;cursor:grab}
.cx-job.ro{cursor:default;display:flex;flex-direction:column;gap:6px}
.cx-job.ro small{font-size:11px;color:#8A93A3}
.cx-job b{font-size:12.5px;display:flex;justify-content:space-between;gap:6px}
.cx-job b u{text-decoration:none;color:#B4BAC4}
.cx-job b .cx-in{height:26px;font-size:12.5px}
.cx-fc{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.cx-chip{font-size:11px;border-radius:999px;padding:3px 9px;background:#F2F4F7;display:inline-flex;gap:5px;align-items:center;cursor:grab;user-select:none}
.cx-chip i{font-style:normal;font-size:10px}
.cx-chip:hover{background:#EAF1FE}
.cx-rule{all:unset;cursor:pointer;margin-top:7px;font-size:11px;color:#5B6372;background:#F6F7F9;border-radius:7px;padding:3px 7px;display:inline-block}
.cx-rule:hover{background:#EAF1FE;color:#0A6CF5}
.cx-rpop{background:#fff;border-radius:12px;box-shadow:0 12px 34px rgba(16,24,40,.2),0 0 0 1px rgba(16,24,40,.06);padding:10px;margin-top:6px;display:flex;flex-direction:column;gap:8px;cursor:default}
.cx-rpop label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:#6B7382}
.cx-rpop select,.cx-rpop input{height:30px;border-radius:8px;border:0;background:#F2F4F7;padding:0 8px;font:inherit;font-size:12.5px}
.cx-rpop .cx-btn{height:30px;justify-content:center}
.cx-auto{font-size:11.5px;color:#7C3AED;background:#F3EFFF;border-radius:10px;padding:8px 9px;line-height:1.4}
.cx-jadd{all:unset;cursor:pointer;font-size:12px;font-weight:600;color:#0A6CF5;border:1.5px dashed rgba(10,108,245,.4);border-radius:10px;padding:7px;text-align:center}
.cx-col.loose{background:#FAFBFC}
.cx-dlg{border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px rgba(16,24,40,.3);width:min(460px,calc(100vw - 32px))}
.cx-dlg::backdrop{background:rgba(16,24,40,.35);backdrop-filter:blur(2px)}
.cx-dlg .cx-dlgin{padding:20px 22px!important;margin:0;display:flex;flex-direction:column;gap:4px}
.cx-dlgin h3{margin:0 0 6px;font-size:17px}
.cx-lb{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;color:#6B7382;margin-top:8px}
.cx-lb small{font-weight:500;color:#9AA2AF}
.cx-lb input,.cx-lb select{height:36px;border-radius:10px;border:0;background:#F2F4F7;padding:0 10px;font:inherit;font-size:13.5px;color:#1E2533;font-weight:500}
.cx-lb input:focus,.cx-lb select:focus{outline:none;box-shadow:0 0 0 2px #0A6CF5;background:#fff}
.cx-types{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.cx-types button{all:unset;cursor:pointer;font-size:12px;border-radius:9px;padding:7px 8px;background:#F2F4F7;display:flex;gap:6px;align-items:center;overflow:hidden;white-space:nowrap}
.cx-types button.on{background:#EAF1FE;color:#0A6CF5;font-weight:600;box-shadow:inset 0 0 0 1.5px #0A6CF5}
.cx-warn{margin:8px 0 0;font-size:12px;background:#FFF7E6;color:#8A5A00;border-radius:9px;padding:8px 10px;line-height:1.45}
.cx-opts{display:flex;flex-direction:column;gap:5px;max-height:220px;overflow:auto}
.cx-opt{display:grid;grid-template-columns:12px 24px 1fr 24px;gap:7px;align-items:center}
.cx-sw8{position:relative;width:22px;height:22px;border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.1)}
.cx-sw8 input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.cx-x{all:unset;cursor:pointer;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#9AA2AF}
.cx-x:hover{background:#FBECEC;color:#C0362C}
.cx-addopt{all:unset;cursor:pointer;margin-top:6px;font-size:12.5px;font-weight:600;color:#0A6CF5}
.cx-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cx-chk{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:12px}
.cx-err{color:#C0362C;font-size:12.5px;margin:6px 0 0}
.cx-dlgf{display:flex;align-items:center;gap:8px;margin-top:16px}
.cx-del{all:unset;cursor:pointer;font-size:12.5px;color:#C0362C}
@media (max-width:900px){.cx{padding:16px}.cx-tr{grid-template-columns:20px 1fr 120px 30px}.cx-tr>*:nth-child(n+4):not(:last-child){display:none}.cx-board{grid-template-columns:repeat(6,200px)}}

/* ===== v0.101 · Planificación técnica (maqueta 33) ===== */
.pl{padding:22px 28px 60px;color:var(--tx-ink,#1E2533)}
.pl-head{display:flex;align-items:flex-end;gap:16px;margin-bottom:14px}
.pl-head>div{flex:1}
.pl-crumb{font-size:12px;font-weight:700;letter-spacing:1.2px;color:#0A6CF5;text-transform:uppercase}
.pl-head h1{margin:4px 0 2px;font-size:28px;letter-spacing:-.6px}
.pl-head p{margin:0;color:#6B7382;font-size:13.5px}
.pl-btn{all:unset;box-sizing:border-box;cursor:pointer;height:34px;padding:0 14px;border-radius:10px;background:#fff;color:#1E2533!important;box-shadow:0 0 0 1px #E1E4E9;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none!important}
.pl-btn.pri{background:#0A6CF5;color:#fff!important;box-shadow:none}
.pl-btn.sm{height:30px;padding:0 10px;font-size:12px}
.pl-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.pl-seg{display:inline-flex;background:#E2E5EA;border-radius:11px;padding:3px;gap:2px}
.pl-seg a{font-size:12.5px;font-weight:500;padding:6px 12px;border-radius:8px;color:#1E2533!important;text-decoration:none!important;white-space:nowrap}
.pl-seg a.on{background:#fff;font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.pl-nav{display:inline-flex;align-items:center;gap:8px}
.pl-nav b{font-size:15px;min-width:150px;text-align:center}
.pl-nav a{width:30px;height:30px;border-radius:9px;background:#fff;box-shadow:0 0 0 1px #E1E4E9;display:grid;place-items:center;color:#1E2533!important;text-decoration:none!important}
.pl-nav a.pl-today{width:auto;padding:0 10px;font-size:12.5px;font-weight:600}
.pl-sp{flex:1}
.pl-pj{display:flex;gap:6px;flex-wrap:wrap}
.pl-pj a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px #E1E4E9;font-size:12px;color:#1E2533!important;text-decoration:none!important;opacity:.7}
.pl-pj a.on{opacity:1;box-shadow:0 0 0 1.5px #0A6CF5;font-weight:600}
.pl-pj a i{width:8px;height:8px;border-radius:3px}
.pl-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}
.pl-grid.noinbox{grid-template-columns:minmax(0,1fr)}
.pl-inbox{background:#fff;border-radius:18px;box-shadow:0 2px 6px rgba(16,24,40,.08);overflow:hidden;position:sticky;top:12px;max-height:calc(100vh - 24px);display:flex;flex-direction:column}
.pl-ih{padding:12px 14px 6px;display:flex;align-items:center;gap:8px}
.pl-ih b{font-size:15px}.pl-ih em{font-style:normal;font-size:11.5px;background:#E8EBF0;border-radius:999px;padding:1px 8px;color:#4A5262}
.pl-flt{display:flex;gap:5px;padding:4px 14px 8px;flex-wrap:wrap}
.pl-flt button{all:unset;cursor:pointer;font-size:11.5px;background:#F2F4F7;border-radius:999px;padding:4px 9px}
.pl-flt button.on{background:#0A6CF5;color:#fff}
.pl-q{margin:0 14px 8px;height:32px;border-radius:9px;border:0;background:#F2F4F7;padding:0 10px;font:inherit;font-size:13px}
.pl-items{overflow:auto;border-top:1px solid #EEF0F3;flex:1}
.pl-it{padding:9px 12px;border-bottom:1px solid #F2F4F7;display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:12.5px;cursor:grab;background:#fff}
.pl-it>i{width:4px;height:32px;border-radius:3px;background:var(--c)}
.pl-it b{display:block;font-size:12.5px;line-height:1.3}
.pl-it small{color:#6B7382;font-size:11px}
.pl-it:hover{background:#F7FAFF}
.pl-it.planned{opacity:.6}
.pl-d{font-size:11px;font-weight:600;color:#4A5262;white-space:nowrap}
.pl-d.late{color:#B42318}
.pl-hint{margin:0;padding:10px 14px;font-size:11.5px;color:#6B7382;border-top:1px solid #EEF0F3}
.pl-empty{padding:16px;color:#8A93A3;font-size:13px}
.pl-drag{opacity:.4}
.pl-main{background:#fff;border-radius:18px;box-shadow:0 2px 6px rgba(16,24,40,.08);overflow:auto}
.pl-tab{min-width:calc(160px + var(--n) * 118px)}
.pl-tr{display:grid;grid-template-columns:160px repeat(var(--n),minmax(118px,1fr));border-bottom:1px solid #F0F2F5}
.pl-th{font-size:12px;font-weight:700;color:#4A5262;background:#FAFBFC;position:sticky;top:0;z-index:2}
.pl-th>div{padding:10px 8px;border-left:1px solid #F0F2F5}
.pl-th>div:first-child{border-left:0}
.pl-th .today{color:#0A6CF5}.pl-th small{display:block;font-weight:500;font-size:10.5px}
.pl-th .we{color:#9AA2AF}
.pl-sec{padding:7px 12px;font-size:10.5px;font-weight:700;color:#8A93A3;letter-spacing:.6px;background:#FAFBFC;border-bottom:1px solid #EEF0F3}
.pl-who{padding:10px 12px;display:flex;flex-direction:column;gap:4px;justify-content:center}
.pl-who b{display:flex;align-items:center;gap:8px;font-size:13px}
.pl-who b i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:10.5px;flex:none}
.pl-who small{font-size:11px;color:#6B7382}
.pl-cell{border-left:1px solid #F0F2F5;padding:6px;display:flex;flex-direction:column;gap:4px;min-height:92px;position:relative}
.pl-cell.we{background:#FAFBFC}
.pl-cell.today{background:#F7FAFF}
.pl-cell.abs{background:repeating-linear-gradient(45deg,#F6F7F9,#F6F7F9 8px,#EEF0F3 8px,#EEF0F3 16px)}
.pl-cell.pl-over{box-shadow:inset 0 0 0 2px #0A6CF5;background:#EEF5FF}
.pl-abs{font-size:11.5px;font-weight:700;color:#6B7382;background:#fff;border-radius:7px;padding:4px 7px;align-self:flex-start}
.pl-load{height:5px;border-radius:99px;background:#EEF0F3;overflow:hidden}
.pl-load u{display:block;height:100%;border-radius:99px;background:#22C55E}
.pl-load.hi u{background:#F59E0B}.pl-load.ov u{background:#E5484D}
.pl-lt{font-size:10px;color:#8A93A3}.pl-lt.ov{color:#E5484D;font-weight:700}
.pl-bk{display:block;border-radius:8px;padding:5px 7px;font-size:11px;color:#fff!important;line-height:1.3;background:var(--c);cursor:pointer;text-decoration:none!important}
.pl-bk b{display:block;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pl-bk small{opacity:.9;font-size:10.5px}
.pl-bk.room{box-shadow:inset 3px 0 0 rgba(0,0,0,.28)}
.pl-bk.done{opacity:.5}
.pl-bk.ag{background:#F2F4F7;color:#4A5262!important}
.pl-bk:hover{filter:brightness(1.06)}
.pl-add{all:unset;cursor:pointer;align-self:flex-start;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#9AA2AF;opacity:0;transition:opacity .12s}
.pl-cell:hover .pl-add{opacity:1}
.pl-add:hover{background:#EAF1FE;color:#0A6CF5}
.pl-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.pl-ch{padding:8px 10px;font-size:11.5px;font-weight:700;color:#6B7382;background:#FAFBFC;border-bottom:1px solid #EEF0F3}
.pl-cd{min-height:118px;border-right:1px solid #F0F2F5;border-bottom:1px solid #F0F2F5;padding:6px;display:flex;flex-direction:column;gap:3px;min-width:0}
.pl-cal.wk .pl-cd{min-height:420px}
.pl-cd.out{background:#FAFBFC}.pl-cd.out .pl-cn{color:#C3C9D3}
.pl-cd.today .pl-cn{background:#0A6CF5;color:#fff}
.pl-cn{font-size:12px;font-weight:700;width:24px;height:24px;border-radius:50%;display:grid;place-items:center}
.pl-ev{display:flex;align-items:center;gap:4px;font-size:11px;border-radius:6px;padding:3px 6px;background:color-mix(in srgb,var(--c) 14%,#fff);color:#1E2533!important;text-decoration:none!important;border-left:3px solid var(--c);white-space:nowrap;overflow:hidden}
.pl-ev em{font-style:normal;font-weight:700;color:#4A5262}
.pl-ev i{margin-left:auto;width:16px;height:16px;border-radius:50%;font-style:normal;font-size:9px;color:#fff;display:grid;place-items:center;flex:none}
.pl-ev.unp{background:#fff;border:1px dashed var(--c);border-left:3px dashed var(--c);color:#5B6372!important}
.pl-ev.done{opacity:.5;text-decoration:line-through!important}
.pl-more{font-size:11px;color:#0A6CF5!important;font-weight:600}
.pl-leg{display:flex;gap:16px;padding:10px 14px;font-size:11.5px;color:#6B7382;margin:0;flex-wrap:wrap}
.pl-leg i{display:inline-block;width:14px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.pl-leg i.a{background:#EDE9FE;border-left:3px solid #7C3AED}.pl-leg i.b{border:1px dashed #7C3AED}
.pl-year{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:16px}
.pl-ym a{color:#1E2533!important;text-decoration:none!important}
.pl-ym b{font-size:13.5px}
.pl-ymg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px}
.pl-ymg span{font-size:10px;text-align:center;border-radius:5px;padding:3px 0;background:rgba(124,58,237,calc(var(--k,0)))}
.pl-ymg span.h{color:#9AA2AF;font-weight:700;background:none}
.pl-ymg span.out{background:none}
.pl-ymg span.today{box-shadow:inset 0 0 0 1.5px #0A6CF5}
.pl-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.pl-legend>div{background:#FFF6D6;border:1px solid #F0D98A;color:#5C4A00;font-size:12.5px;line-height:1.45;padding:10px 12px;border-radius:12px}
.pl-dlg{border:0;border-radius:18px;padding:0;box-shadow:0 30px 80px rgba(16,24,40,.3);width:min(480px,calc(100vw - 32px));background:#fff;color:#1E2533}
.pl-dlg.wide{width:min(900px,calc(100vw - 32px))}
.pl-dlg::backdrop{background:rgba(16,24,40,.35);backdrop-filter:blur(2px)}
.pl-dlg .pl-dlgin{padding:20px 22px!important;margin:0;display:flex;flex-direction:column;gap:2px}
.pl-dlgin h3{margin:0;font-size:17px}
.pl-dlgin h4{margin:16px 0 6px;font-size:14px}
.pl-s{margin:2px 0 6px;font-size:12.5px;color:#6B7382}
.pl-lb{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:600;color:#6B7382;margin-top:10px}
.pl-lb input,.pl-lb textarea{border-radius:10px;border:0;background:#F2F4F7;padding:8px 10px;font:inherit;font-size:13px;color:#1E2533;font-weight:500}
.pl-lb input{height:36px;padding:0 10px;box-sizing:border-box}
.pl-row3{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}
.pl-chips{display:flex;flex-wrap:wrap;gap:6px}
.pl-chips button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;background:#F2F4F7;border-radius:999px;padding:5px 12px}
.pl-chips button i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:9px;font-weight:700;margin-left:-7px}
.pl-chips button em{font-style:normal;font-size:9.5px;font-weight:700;color:#7C3AED}
.pl-chips button.on{background:#0A6CF5;color:#fff;font-weight:600}
.pl-chips button.on em{color:#fff}
.pl-quick{margin-top:6px}.pl-quick button{font-size:11.5px;padding:4px 10px}
.pl-busy{display:flex;flex-direction:column;gap:3px;margin-top:6px}
.pl-busy .oc{font-size:12px;background:#FBECEC;color:#B42318;border-radius:8px;padding:5px 9px}
.pl-busy .free{font-size:12px;background:#ECFDF3;color:#15803D;border-radius:8px;padding:5px 9px}
.pl-warn{margin:8px 0 0;font-size:12px;background:#FFF7E6;color:#8A5A00;border-radius:9px;padding:7px 10px}
.pl-err{color:#C0362C;font-size:12.5px;margin:6px 0 0}
.pl-chk{display:flex;align-items:center;gap:8px;font-size:13px;margin-top:10px}
.pl-dlgf{display:flex;align-items:center;gap:8px;margin-top:16px}
.pl-del{all:unset;cursor:pointer;font-size:12.5px;color:#C0362C}
.pl-open{font-size:12.5px;color:#0A6CF5!important;font-weight:600}
.pl-pt{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.pl-pr{display:grid;grid-template-columns:1.2fr 1.2fr 100px 70px 1.1fr 46px 80px;gap:8px;align-items:center}
.pl-pr.h{font-size:11px;font-weight:700;color:#6B7382}
.pl-pr input,.pl-pr select{height:32px;border-radius:9px;border:0;background:#F2F4F7;padding:0 9px;font:inherit;font-size:12.5px;min-width:0;box-sizing:border-box;width:100%}
.pl-pr.new{border-top:1px dashed #E1E4E9;padding-top:8px}
.pl-sw{position:relative;width:38px;height:22px;cursor:pointer}
.pl-sw input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.pl-sw i{position:absolute;inset:0;border-radius:999px;background:#DDE1E7}
.pl-sw i::after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.pl-sw input:checked+i{background:#34C759}.pl-sw input:checked+i::after{transform:translateX(16px)}
.pl-abs-list{display:flex;flex-wrap:wrap;gap:6px}
.pl-abi{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:#F2F4F7;border-radius:999px;padding:4px 6px 4px 11px}
.pl-abi button{all:unset;cursor:pointer;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#9AA2AF}
.pl-absnew{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pl-absnew select,.pl-absnew input{height:32px;border-radius:9px;border:0;background:#F2F4F7;padding:0 9px;font:inherit;font-size:12.5px}
@media (max-width:1000px){.pl{padding:16px}.pl-grid{grid-template-columns:1fr}.pl-inbox{position:static;max-height:360px}.pl-legend{grid-template-columns:1fr}.pl-pr{grid-template-columns:1fr 1fr}.pl-pr.h{display:none}.pl-year{grid-template-columns:repeat(2,1fr)}}

.pl-chk{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;font-size:13px;margin-top:12px;line-height:1.4}
.pl-chk .pl-sw{flex:none}
.pl-pr select,.pl-absnew select{appearance:none;-webkit-appearance:none;padding-right:28px!important;background:#F2F4F7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239AA2AF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 9 5-5 5 5M7 15l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 9px center!important;cursor:pointer}
.pl-pr input:focus,.pl-pr select:focus,.pl-absnew input:focus,.pl-absnew select:focus{outline:none;box-shadow:0 0 0 2px #0A6CF5;background-color:#fff!important}

/* v0.101.1 · Mis tareas › Mi semana: los nombres largos se cortan con «…» dentro de la tarjeta */
.myt-wd>div{min-width:0}
.myt-we{display:block!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}
.myt-wd{grid-template-columns:40px minmax(0,1fr)!important}

/* ===== v0.102 · Planificación: selector de proyectos por espacio y «Por planificar» agrupada (maqueta 34) ===== */
.pl-psel{position:relative}
.pl-pbtn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 8px;border-radius:11px;background:#fff;box-shadow:0 0 0 1.5px #0A6CF5;font-size:13px;font-weight:600;color:#1E2533}
.pl-pbtn i{width:22px;height:22px;border-radius:7px;background:#EAF1FE;color:#0A6CF5;display:grid;place-items:center}
.pl-pbtn em{font-style:normal;font-weight:500;color:#6B7382;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-pbtn u{text-decoration:none;color:#9AA2AF;font-size:10px}
.pl-ppop{position:absolute;left:0;top:44px;width:380px;max-width:calc(100vw - 32px);background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(16,24,40,.22),0 0 0 1px rgba(16,24,40,.06);z-index:30;overflow:hidden;display:flex;flex-direction:column;max-height:70vh}
.pl-ppop[hidden]{display:none}
.pl-pq{margin:12px;height:36px;border-radius:10px;border:0;background:#F2F4F7;padding:0 12px;font:inherit;font-size:13px}
.pl-plist{overflow:auto;flex:1}
.pl-ps{border-top:1px solid #EEF0F3}
.pl-ps>summary{list-style:none;display:grid;grid-template-columns:18px 22px 1fr auto;gap:8px;align-items:center;padding:9px 14px;font-size:13px;cursor:pointer;background:#FAFBFC}
.pl-ps>summary::-webkit-details-marker{display:none}
.pl-ps>summary i{width:22px;height:22px;border-radius:7px;color:#fff;font-style:normal;font-size:11px;font-weight:700;display:grid;place-items:center}
.pl-ps>summary em{font-style:normal;font-size:11.5px;color:#8A93A3}
.pl-ck{width:16px;height:16px;border-radius:5px;box-shadow:inset 0 0 0 1.6px #C4CAD4;display:grid;place-items:center;cursor:pointer;position:relative}
.pl-ck.on,.pl-pr2 input:checked+.pl-ck{background:#0A6CF5;box-shadow:none}
.pl-ck.on::after,.pl-pr2 input:checked+.pl-ck::after{content:"✓";color:#fff;font-size:10px;font-weight:700}
.pl-ck.half{background:#0A6CF5;box-shadow:none}.pl-ck.half::after{content:"–";color:#fff;font-size:12px;font-weight:700}
.pl-pr2{display:grid!important;grid-template-columns:18px 10px 1fr auto;gap:8px;align-items:center;padding:7px 14px 7px 44px;font-size:12.5px;cursor:pointer;flex-direction:row!important}
.pl-pr2:hover{background:#F7FAFF}
.pl-pr2 input{position:absolute;opacity:0;pointer-events:none}
.pl-pr2 i{width:8px;height:8px;border-radius:3px}
.pl-pr2 em{font-style:normal;font-size:11px;color:#8A93A3}
.pl-pf{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #EEF0F3;font-size:11px;color:#8A93A3}
.pl-pf span{flex:1}
.pl-flt.ph button{background:#fff;box-shadow:inset 0 0 0 1px #E1E4E9}
.pl-flt.ph button.on{background:#EAF1FE;color:#0A6CF5;box-shadow:inset 0 0 0 1.5px #0A6CF5;font-weight:600}
.pl-flt.ph button i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}
.pl-sec2{border-top:1px solid #EEF0F3}
.pl-sec2>summary{list-style:none;cursor:pointer;padding:8px 14px;font-size:11px;font-weight:700;letter-spacing:.5px;color:#8A93A3;background:#FAFBFC}
.pl-sec2>summary::-webkit-details-marker{display:none}
.pl-sec2.s-venc>summary{color:#B42318}
.pl-pjh{display:flex;align-items:center;gap:8px;padding:8px 14px 4px;font-size:12px;font-weight:700}
.pl-pjh i{width:8px;height:8px;border-radius:3px}
.pl-ep{margin:4px 10px 6px;border-radius:12px;box-shadow:inset 0 0 0 1px #E8EBEF;overflow:hidden;background:#fff}
.pl-ep>summary{list-style:none;display:grid;grid-template-columns:12px minmax(0,1fr) auto 12px;gap:8px;align-items:center;padding:8px 10px;cursor:grab;border-left:3px solid var(--c)}
.pl-ep>summary::-webkit-details-marker{display:none}
.pl-ep>summary b{font-size:12.5px;display:block}
.pl-ep>summary small{display:block;color:#6B7382;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-ep>summary .g{color:#B4BAC4;font-size:11px}
.pl-ep>summary .ch{color:#9AA2AF;transition:transform .15s}
.pl-ep[open]>summary .ch{transform:rotate(90deg)}
.pl-ep .pl-it{padding:6px 10px 6px 26px;border-bottom:0;border-top:1px solid #F2F4F7}
.pl-ep .pl-it>i{height:22px}
.pl-bk.masked{background:#E9ECF0;color:#8A93A3!important;cursor:default}
.pl-jobs{display:flex;flex-direction:column;gap:4px;margin:4px 0 6px;background:#F7F8FA;border-radius:10px;padding:8px 10px}
.pl-jl{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:13px;padding:3px 0!important;min-height:0!important;margin:0!important}
.pl-jl input{width:16px!important;height:16px!important;margin:0!important;flex:none}
.pl-jl em{margin-left:auto;font-style:normal;font-size:11px;color:#8A93A3}
.pl-col{position:relative;width:28px;height:28px;border-radius:8px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.pl-col input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.pl-col input:disabled{cursor:default}
.pl-pr{grid-template-columns:30px 1.1fr 1.1fr 92px 64px 1fr 46px 80px!important}

/* ===== v0.103 · Listas que se planifican, fases a medida y copiar estructura (maqueta 35) ===== */
.pl-hbtns{display:flex;gap:8px;flex-wrap:wrap}
.pl-llist{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:6px;margin-top:4px}
.pl-lp{display:flex;align-items:center;gap:8px;font-size:12px;color:#6B7382;margin:10px 2px 2px}
.pl-lp i{width:8px;height:8px;border-radius:3px}
.pl-lr{display:grid;grid-template-columns:28px minmax(0,1fr) auto 40px;gap:10px;align-items:center;background:#fff;border-radius:12px;box-shadow:inset 0 0 0 1px #E8EBEF;padding:8px 12px;font-size:13px}
.pl-lr>i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;font-style:normal;font-size:12px;font-weight:700}
.pl-lr b{display:block}.pl-lr small{color:#6B7382;font-size:11.5px}
.pl-lb2{font-size:10.5px;font-weight:700;border-radius:999px;padding:3px 9px;background:#EAF1FE;color:#0A6CF5;white-space:nowrap}
.pl-lb2.off{background:#F2F4F7;color:#8A93A3}
.cx-pmenu{position:absolute;z-index:40;background:#fff;border-radius:14px;box-shadow:0 18px 50px rgba(16,24,40,.22),0 0 0 1px rgba(16,24,40,.06);padding:8px;width:250px;font-size:12.5px;display:flex;flex-direction:column;gap:2px}
.cx-pmenu button{all:unset;cursor:pointer;padding:7px 9px;border-radius:8px;display:flex;align-items:center;gap:8px}
.cx-pmenu button:hover{background:#F2F4F7}
.cx-pmenu .del{color:#C0362C}
.cx-pmenu input.cx-in{margin:2px 0 4px}
.cx-sws{display:flex;gap:5px;padding:6px 9px;flex-wrap:wrap}
.cx-sws i{width:18px;height:18px;border-radius:6px;cursor:pointer}
.cx-sws i.on{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #0A6CF5}
.cx-col h4 .cx-pm{all:unset;cursor:pointer;margin-left:auto;color:#9AA2AF;padding:0 4px;border-radius:6px}
.cx-col h4 .cx-pm:hover{background:#fff;color:#1E2533}
.cx-col h4 small{font-size:9.5px;font-weight:700;color:#15803D;background:#ECFDF3;border-radius:5px;padding:1px 5px}
.cx-addph{all:unset;box-sizing:border-box;align-self:start;cursor:pointer;border:1.5px dashed rgba(10,108,245,.45);border-radius:14px;display:grid;place-items:center;color:#0A6CF5;font-weight:600;font-size:13px;min-height:140px}
.cx-plan{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;box-shadow:0 2px 6px rgba(16,24,40,.08);padding:10px 14px;font-size:13px;margin-bottom:12px}
.cx-plan b{font-weight:600}.cx-plan small{color:#6B7382}
.cx-plan .pl-sw{margin-left:auto}
.cx-make{background:#fff;border-radius:16px;box-shadow:0 2px 6px rgba(16,24,40,.08);padding:16px 18px;margin-bottom:12px;display:flex;align-items:center;gap:14px;font-size:13px}
.cx-make div{flex:1}.cx-make b{display:block;font-size:14.5px;margin-bottom:2px}
.cx-tps{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto}
.cx-tp{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;box-shadow:inset 0 0 0 1px #E8EBEF;font-size:13px}
.cx-tp.on{box-shadow:inset 0 0 0 2px #0A6CF5;background:#F7FAFF}
.cx-tp i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:700}
.cx-tp b{display:block}.cx-tp small{display:block;color:#6B7382;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cx-tseg{display:inline-flex;background:#E2E5EA;border-radius:11px;padding:3px;gap:2px;margin:4px 0 10px}
.cx-tseg button{all:unset;cursor:pointer;font-size:12.5px;padding:6px 12px;border-radius:8px}
.cx-tseg button.on{background:#fff;font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.cx-chk2{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:12.5px;margin-top:8px}
.cx-chk2 input{width:16px!important;height:16px!important;margin:0!important}
.cx-s{font-size:13px;color:#4A5468;line-height:1.5;margin:0 0 6px}
.cx-board{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr)}
.cx-board>.cx-addph{width:auto;min-height:120px;padding:0 10px}
.cx-sws{gap:4px!important;padding:4px 6px!important}.cx-sws i{width:17px!important;height:17px!important}
.cx-pmenu .del{display:block!important}.cx-pmenu .del small{display:block;color:#9AA2AF;font-size:11px}

/* ===== v0.104 · Módulos con licencia (maqueta 36) ===== */
.nav-locked{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:3px;margin:8px 10px 0;padding:9px 11px!important;border-radius:14px;background:rgba(127,127,127,.12);color:inherit;opacity:.78;text-decoration:none;height:auto!important}
.nav-locked:hover{opacity:1}
.nav-locked .nl-h{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}
.nav-locked small{font-size:11px;line-height:1.35;opacity:.8;white-space:normal}
.nav-locked u{text-decoration:none;background:#0A6CF5;color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;margin-top:3px}
.lic-pg{max-width:1180px}
.lic-k{font-size:11px;font-weight:700;letter-spacing:1.2px;color:#0A6CF5;margin:0 0 4px}
.lic-pg h1{margin:0 0 6px;font-size:28px;letter-spacing:-.6px}
.lic-sub{color:#4A5468;font-size:14px;line-height:1.5;margin:0 0 16px;max-width:820px}
.lic-note{background:#EAF1FE;color:#1E3A6E;border-radius:14px;padding:11px 14px;font-size:13px;line-height:1.45;margin-bottom:12px}
.lic-note.warn{background:#FFF6D6;color:#5C4A00}.lic-note.err{background:#FDECEC;color:#8A1C1C}
.lic-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;align-items:start}
.lic-card{background:var(--card,#fff);border-radius:18px;box-shadow:0 2px 6px rgba(16,24,40,.08);padding:18px}
.lic-kv{display:grid;grid-template-columns:110px 1fr;gap:8px 12px;margin:0;font-size:13.5px}.lic-kv dt{color:#6B7382}.lic-kv dd{margin:0;font-weight:600}
.lic-bad{color:#C0362C}
.lic-key{margin-top:12px;background:rgba(127,127,127,.1);border-radius:11px;padding:10px 12px;font:12px ui-monospace,Menlo,monospace;color:#4A5468;word-break:break-all}
.lic-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.lic-sw{display:flex;align-items:center;gap:10px;margin-top:16px;font-size:13px}.lic-sw small{color:#6B7382}
.lic-rm{margin-top:14px;font-size:12.5px;color:#6B7382}.lic-rm summary{cursor:pointer}.lic-rm form{margin-top:8px}.lic-rm input{width:120px}
.lic-mods{display:flex;flex-direction:column;gap:8px}
.lic-mo{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(127,127,127,.2);padding:11px 14px}
.lic-mo>i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;font-style:normal;font-weight:800;font-size:15px}
.lic-mo b{display:block;font-size:14px}.lic-mo small{display:block;color:#6B7382;font-size:12px;line-height:1.4}
.lic-mo.off>i{filter:grayscale(1);opacity:.5}
.lic-mo.hl{box-shadow:inset 0 0 0 2px #0A6CF5}
.lic-need{color:#B45309!important}.lic-ws{margin-top:2px}
.lic-tag{font-size:10.5px;font-weight:700;border-radius:999px;padding:3px 9px;background:rgba(127,127,127,.14);color:#8A93A3;white-space:nowrap}
.lic-tag.on{background:#DCF5E5;color:#15803D}
.lic-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
.howto-y{background:#FFF6D6;border:1px solid #F0D98A;color:#5C4A00;font-size:12.5px;line-height:1.45;padding:10px 12px;border-radius:12px}.howto-y b{color:#3D3100}
.lic-mini{font-size:11px;color:#B45309;margin-left:6px}
@media (max-width:900px){.lic-grid,.lic-legend{grid-template-columns:1fr}}
.ordp{margin:12px 0;background:rgba(127,127,127,.06);border-radius:14px;padding:12px}
.ordp-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;margin-bottom:10px}
.ordp-ro{font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 8px;background:#FFF1D6;color:#8A5A00}
.ordp-now{margin-left:auto;font-size:12px;font-weight:600;color:#0A6CF5}.ordp-now.ok{color:#15803D}
.ordp-ph{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.ordp.compact .ordp-ph{grid-template-columns:1fr}
.ordp-c{background:var(--card,#fff);border-radius:11px;padding:8px 9px;box-shadow:0 1px 3px rgba(16,24,40,.06)}
.ordp-pn{display:flex;align-items:center;gap:6px;font-weight:700;font-size:12.5px;margin-bottom:5px}.ordp-pn i{width:10px;height:10px;border-radius:3px}.ordp-pn small{margin-left:auto;color:#8A93A3;font-weight:600}
.ordp-j{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;align-items:center;font-size:12px;padding:4px 0;border-top:1px solid rgba(127,127,127,.12)}
.ordp-j small{grid-column:1/-1;color:#8A93A3;font-size:11px}
.ordp-jn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ordp-st{font-size:10px;font-weight:700;border-radius:6px;padding:2px 6px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.ordp-st.none{background:rgba(127,127,127,.12);color:#8A93A3}

/* v0.104.1 · explorador de archivos propio como diálogo modal (encima de otros diálogos) y zona para soltar el guion */
dialog.dx-files{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;border:0;padding:16px;background:rgba(15,23,42,.45);display:grid;place-items:center}
dialog.dx-files:not([open]){display:none}
dialog.dx-files::backdrop{background:transparent}
.dz-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:2px dashed rgba(10,108,245,.4);border-radius:14px;padding:18px 14px;background:rgba(10,108,245,.04);color:var(--d-ink,#1E2533);cursor:pointer;transition:background .15s,border-color .15s}
.dz-drop b{font-size:14.5px}.dz-drop small{color:var(--d-mut,#5B6474);font-size:12.5px}
.dz-drop .dz-ic{font-size:26px;line-height:1}
.dz-drop.over{background:rgba(10,108,245,.12);border-color:#0A6CF5}
.dz-drop.has{border-style:solid;border-color:#1C9A5B;background:rgba(28,154,91,.07)}
.dz-drop.has .dz-ic{color:#1C9A5B}
.dz-drop.bad{border-color:#C0362C;background:rgba(192,54,44,.06)}
.dz-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dz-drop{position:relative}
.dz-lb{display:block;font-size:13px;font-weight:500;margin:0 0 6px;color:var(--d-ink,#1E2533)}
.apx-note{margin:-2px 0 8px;font-size:12px;color:var(--d-mut,#6B7382)}

/* ===== v0.106 · Reparto por personaje y estadillo resumido (maqueta 37) ===== */
:root{--rp-card:#fff;--rp-ink:#1E2533;--rp-mut:#6B7382;--rp-line:#EEF0F3;--rp-soft:#F4F5F7;--rp-chip:#F2F4F7;--rp-track:#EEF0F3;--rp-sh:0 2px 6px rgba(16,24,40,.08);--rp-hl:#141B2D;--rp-open:#F7FAFF;--rp-pay:#6D28D9}
html.dark{--rp-card:#222A3A;--rp-ink:#EEF1F6;--rp-mut:#A3ACBC;--rp-line:#323C50;--rp-soft:#2D3648;--rp-chip:#2D3648;--rp-track:#323C50;--rp-sh:0 8px 24px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.05);--rp-hl:#0E121A;--rp-open:#26324A;--rp-pay:#B794F6}
.rp-kpis{display:grid;grid-template-columns:1.25fr 1.25fr 1fr 1fr 1fr 1fr;gap:10px;flex:1 1 100%;min-width:0}
.rp-kp{background:var(--rp-card);color:var(--rp-ink);border-radius:16px;box-shadow:var(--rp-sh);padding:11px 14px;display:flex;flex-direction:column;gap:1px;min-width:0}
.rp-kp span{font-size:12px;color:var(--rp-mut)}.rp-kp b{font-size:26px;letter-spacing:-.8px;line-height:1.12;font-variant-numeric:tabular-nums}
.rp-kp small{font-size:11px;color:var(--rp-mut);line-height:1.35}.rp-kp small strong{color:var(--rp-ink)}
.rp-kp.hl{background:var(--rp-hl);color:#fff}.rp-kp.hl span{color:#C3CCDC}.rp-kp.hl small{color:#8FA0BD}
.rp-kp.pay{box-shadow:inset 0 0 0 2px #7C3AED,var(--rp-sh)}.rp-kp.pay b{color:var(--rp-pay)}
.rp-kp.warn b{color:#B45309}.rp-kp.ok b{color:#15803D}.rp-kp.skip b{color:#B42318}
html.dark .rp-kp.warn b{color:#FBBF24}html.dark .rp-kp.ok b{color:#34C17A}
.rp-kbar{display:block;height:6px;border-radius:3px;background:var(--rp-track);margin-top:6px;overflow:hidden}.rp-kbar i{display:block;height:100%;background:#F59E0B;border-radius:3px}
.dub-kpis-top{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
.dub-kpis-top .dub-kpis-r{margin-left:auto}
@media (max-width:1100px){.rp-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.rp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rp-pane{background:transparent!important;box-shadow:none!important;border:0!important;padding:0!important;color:var(--rp-ink)}
.rp-sum{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:12px}
@media (max-width:900px){.rp-sum{grid-template-columns:1fr}}
.rp-card{background:var(--rp-card);border-radius:18px;box-shadow:var(--rp-sh);padding:14px 16px}
.rp-card h3{margin:0 0 2px;font-size:15px}.rp-card p{margin:0 0 10px;font-size:12px;color:var(--rp-mut);line-height:1.4}
.rp-bars{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}
.rp-hb{display:grid;grid-template-columns:86px 1fr 34px;gap:8px;align-items:center;font-size:12px;margin:5px 0}
.rp-hb b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-hb em{font-style:normal;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.rp-t{height:10px;border-radius:5px;background:var(--rp-chip);overflow:hidden}.rp-t i{display:block;height:100%;border-radius:5px}
.rp-tot{display:flex;justify-content:space-between;border-top:1px solid var(--rp-line);margin-top:10px;padding-top:10px;font-size:12.5px}.rp-tot b{font-size:15px;font-variant-numeric:tabular-nums}
.rp-tot.sub{border:0;margin-top:0;padding-top:4px}.rp-tot.big b{color:var(--rp-pay)}.rp-tot.big span{font-weight:700}
.rp-foot{margin:10px 0 0!important}
.rp-ring{display:flex;align-items:center;gap:14px}.rp-ring svg{flex:none;color:var(--rp-ink)}
.rp-ring div{font-size:12.5px;line-height:1.7}.rp-ring i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px}
.rp-btn{display:inline-flex;align-items:center;gap:6px;height:34px;border-radius:10px;padding:0 12px;font-size:12.5px;font-weight:600;box-shadow:inset 0 0 0 1px var(--line,#DDE1E7);background:var(--rp-card);color:var(--rp-ink);white-space:nowrap;cursor:pointer;border:0;text-decoration:none;margin-top:10px}
.rp-btn.pri{background:#0A6CF5;color:#fff;box-shadow:none}.rp-btn.pri.disabled{opacity:.5;cursor:default}
.rp-btn.warn{color:#B45309}.rp-btn.ghost{box-shadow:none;background:transparent;color:var(--rp-mut)}
.rp-table{background:var(--rp-card);border-radius:18px;box-shadow:var(--rp-sh);overflow:hidden;position:relative}
.rp-bar1{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--rp-line);flex-wrap:wrap}
.rp-bar1 .rp-btn{margin:0}
.rp-seg{display:inline-flex;background:var(--rp-chip);border-radius:11px;padding:3px;gap:2px}
.rp-seg button{all:unset;cursor:pointer;white-space:nowrap;font-size:12.5px;padding:6px 11px;border-radius:8px;display:flex;gap:6px;align-items:center;color:var(--rp-ink)}
.rp-seg button.on{background:var(--rp-card);font-weight:600;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.rp-seg em{font-style:normal;font-size:10.5px;font-weight:700;background:#FFF1D6;color:#8A5A00;border-radius:999px;padding:1px 6px}
.rp-srch{flex:1;min-width:180px;height:34px;border-radius:10px;background:var(--rp-soft);display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--rp-mut)}
.rp-srch input{all:unset;flex:1;font-size:12.5px;color:var(--rp-ink)}
.rp-sort select{appearance:none;-webkit-appearance:none;height:34px;border-radius:10px;border:0;box-shadow:inset 0 0 0 1px var(--line,#DDE1E7);background:var(--rp-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238A93A3' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 11px center;padding:0 30px 0 12px;font-size:12.5px;font-weight:600;color:var(--rp-ink);cursor:pointer}
.rp-bulk{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#EAF1FE;border-bottom:1px solid #CFE0FC;font-size:12.5px;color:#0B3E8A;flex-wrap:wrap}
html.dark .rp-bulk{background:#1C2B47;border-color:#2B4471;color:#BFD6FF}
.rp-bulk .rp-btn{margin:0;height:30px}.rp-bulk-in{height:30px;border-radius:9px;border:0;box-shadow:inset 0 0 0 1px #BFD8FF;background:var(--rp-card);color:var(--rp-ink);padding:0 10px;font-size:12.5px;width:200px}
.rp-th,.rp-tr{display:grid;grid-template-columns:20px 170px 130px 230px minmax(0,1fr) 34px;gap:12px;align-items:center;padding:0 14px}
.rp-th{height:34px;font-size:10.5px;font-weight:700;letter-spacing:.6px;color:var(--rp-mut);background:var(--rp-soft);border-bottom:1px solid var(--rp-line)}
.rp-tr{height:52px;border-bottom:1px solid var(--rp-line);font-size:13px;cursor:pointer}
.rp-tr:hover{background:color-mix(in srgb,var(--rp-open) 60%,transparent)}
.rp-tr.open{height:auto;padding-top:10px;padding-bottom:12px;background:var(--rp-open);align-items:start}
.rp-tr.sel{background:color-mix(in srgb,#0A6CF5 7%,var(--rp-card))}
.rp-tr.nn{opacity:.62}
.rp-ck{width:16px;height:16px;margin:0;accent-color:#0A6CF5;cursor:pointer}
.rp-nm{display:flex;align-items:center;gap:9px;min-width:0}.rp-nm>i{flex:none;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;color:#fff;font-style:normal;font-size:11px;font-weight:800}
.rp-nm b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-nm small{display:block;color:var(--rp-mut);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-nm>div{min-width:0}
.rp-tk{display:flex;flex-direction:column;gap:4px}.rp-tk b{font-size:14px;font-variant-numeric:tabular-nums}
.rp-mb{height:5px;border-radius:3px;background:var(--rp-chip);overflow:hidden}.rp-mb i{display:block;height:100%;border-radius:3px}
.rp-act{height:34px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line,#DDE1E7);display:flex;align-items:center;gap:6px;padding:0 10px;color:var(--rp-mut);font-size:12.5px;background:var(--rp-card);cursor:text}
.rp-act input{all:unset;flex:1;min-width:0;font-size:12.5px;color:var(--rp-ink)}
.rp-act input::placeholder{color:var(--rp-mut)}
.rp-act:focus-within{box-shadow:inset 0 0 0 2px #0A6CF5}
.rp-act.ok{box-shadow:inset 0 0 0 1px #BFD8FF;background:#F3F8FF}html.dark .rp-act.ok{background:#1C2B47;box-shadow:inset 0 0 0 1px #2B4471}
.rp-av{flex:none;width:20px;height:20px;border-radius:50%;background:#0A6CF5;color:#fff;font-style:normal;font-size:9.5px;font-weight:700;display:grid;place-items:center}
.rp-act u{text-decoration:none;color:#9AA2AF;font-size:11px}
.rp-chips{display:flex;gap:4px;overflow:hidden;white-space:nowrap;align-items:center;min-width:0}
.rp-chips span{font-size:11.5px;font-weight:600;background:var(--rp-chip);border-radius:6px;padding:2px 6px;color:var(--rp-ink)}
.rp-chips span.more{display:none}
.rp-chips em{font-style:normal;font-size:11.5px;font-weight:700;color:#0A6CF5;margin-left:4px;white-space:nowrap}
.rp-tr.open .rp-chips{flex-wrap:wrap;white-space:normal}.rp-tr.open .rp-chips span.more{display:inline}.rp-tr.open .rp-chips em{display:none}
.rp-dots{position:relative}
.rp-dbtn{all:unset;cursor:pointer;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--rp-mut);font-weight:700}
.rp-dbtn:hover{background:var(--rp-chip);color:var(--rp-ink)}
.rp-menu,.rp-pick{position:absolute;right:0;top:34px;z-index:20;background:var(--rp-card);border-radius:12px;box-shadow:0 18px 50px rgba(16,24,40,.22),0 0 0 1px rgba(16,24,40,.06);padding:6px;width:230px;font-size:12.5px;display:flex;flex-direction:column}
.rp-menu[hidden]{display:none}
.rp-menu button,.rp-pick button{all:unset;cursor:pointer;padding:7px 9px;border-radius:8px;color:var(--rp-ink)}
.rp-menu button:hover,.rp-pick button:hover{background:var(--rp-chip)}.rp-menu .no{color:#B45309}
.rp-pick{max-height:300px;overflow:auto}.rp-pick p{margin:4px 8px 6px;font-size:11.5px;color:var(--rp-mut)}
.rp-pick button{display:flex;justify-content:space-between;gap:8px}.rp-pick span{color:var(--rp-mut)}
.rp-grp{border-bottom:1px solid var(--rp-line)}
.rp-grp>summary{list-style:none;display:flex;align-items:center;gap:8px;padding:10px 14px;background:#FFFBEB;font-size:12.5px;color:#5C4A00;cursor:pointer;flex-wrap:wrap}
.rp-grp>summary::-webkit-details-marker{display:none}
html.dark .rp-grp>summary{background:#3A3017;color:#F5DE9C}
.rp-grp b{color:#3D3100}html.dark .rp-grp b{color:#FFE7A3}
.rp-gchev{display:inline-block;transition:transform .15s}.rp-grp[open] .rp-gchev{transform:rotate(90deg)}
.rp-gnames{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.rp-gnote{color:#8A6A00}
.rp-gacts{margin-left:auto;display:flex;gap:8px}.rp-gacts .rp-btn{margin:0;height:30px}
.rp-empty{padding:18px;text-align:center;color:var(--rp-mut);margin:0}
.rp-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
@media (max-width:900px){.rp-legend{grid-template-columns:1fr}.rp-th,.rp-tr{grid-template-columns:20px 1fr 70px 34px}.rp-th>*:nth-child(4),.rp-th>*:nth-child(5),.rp-tr>.rp-act,.rp-tr>.rp-chips{display:none}}
.rp-act,.rp-srch,.rp-sort{flex-direction:row!important;gap:6px}
.rp-act{align-items:center!important}.rp-act input{display:block;height:32px;line-height:32px}
.rp-tk{align-items:stretch;text-align:left}.rp-tk b{text-align:left}
.rp-srch svg{flex:none}

/* ===== v0.107 · Altas y trabajos (maqueta 38) ===== */
.al{max-width:1400px;color:var(--rp-ink)}
.al-k{font-size:11px;font-weight:700;letter-spacing:1.2px;color:#0A6CF5;margin:0 0 4px}
.al h1{margin:0 0 6px;font-size:28px;letter-spacing:-.6px}
.al-sub{color:var(--rp-mut);font-size:14px;line-height:1.5;margin:0 0 16px;max-width:860px}
.al-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.al-seg{display:inline-flex;background:var(--rp-chip);border-radius:12px;padding:3px;gap:2px}
.al-seg a{font-size:13px;padding:7px 14px;border-radius:9px;color:var(--rp-ink);text-decoration:none;white-space:nowrap}
.al-seg a.on{background:var(--rp-card);font-weight:700;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.al-btn{height:36px;border-radius:10px;padding:0 13px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;box-shadow:inset 0 0 0 1px var(--line,#DDE1E7);background:var(--rp-card);color:var(--rp-ink);white-space:nowrap;text-decoration:none;border:0;cursor:pointer}
.al-btn.pri{background:#0A6CF5;color:#fff;box-shadow:none}.al-btn.dk{background:#141B2D;color:#fff;box-shadow:none}.al-btn[disabled]{opacity:.5;cursor:default}
.al-per{cursor:default}
.al-sp{flex:1}
.al-filt{display:flex;gap:8px}
.al-filt select{appearance:none;-webkit-appearance:none;height:36px;border-radius:10px;border:0;box-shadow:inset 0 0 0 1px var(--line,#DDE1E7);background:var(--rp-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238A93A3' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 11px center;padding:0 30px 0 12px;font-size:12.5px;font-weight:600;color:var(--rp-ink);cursor:pointer}
.al-q{height:36px;border-radius:10px;background:var(--rp-soft);display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:0 12px;color:var(--rp-mut);min-width:180px}
.al-q input{all:unset;font-size:12.5px;color:var(--rp-ink);flex:1}
.al-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}
.al-kp{background:var(--rp-card);border-radius:16px;box-shadow:var(--rp-sh);padding:12px 14px}
.al-kp span{font-size:12px;color:var(--rp-mut);display:block}.al-kp b{font-size:26px;letter-spacing:-.8px;line-height:1.15;display:block;font-variant-numeric:tabular-nums}.al-kp small{font-size:11px;color:var(--rp-mut)}
.al-kp.hl{background:var(--rp-hl);color:#fff}.al-kp.hl span,.al-kp.hl small{color:#C3CCDC}
.al-kp.red{box-shadow:inset 0 0 0 2px #F4B4AE,var(--rp-sh)}.al-kp.red b{color:#C0362C}
@media (max-width:1000px){.al-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.al-card{background:var(--rp-card);border-radius:18px;box-shadow:var(--rp-sh);overflow:hidden}
.al-alert{display:flex;gap:10px;align-items:flex-start;padding:10px 16px;background:#FEF2F2;border-bottom:1px solid #FBD5D1;font-size:12.5px;color:#8A1C1C;line-height:1.5}
html.dark .al-alert{background:#3A1C1C;border-color:#5A2A2A;color:#FFB4AB}
.al-th,.al-pr{display:grid;grid-template-columns:240px 150px 160px 80px 160px minmax(0,1fr) 30px;gap:12px;align-items:center;padding:0 16px}
.al-th{height:34px;font-size:10.5px;font-weight:700;letter-spacing:.6px;color:var(--rp-mut);background:var(--rp-soft);border-bottom:1px solid var(--rp-line)}
.al-pr{min-height:58px;border-bottom:1px solid var(--rp-line);font-size:13px}
.al-pr.open{background:var(--rp-open);border-bottom:0}
.al-who{display:flex;align-items:center;gap:10px;min-width:0}.al-who i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-style:normal;font-size:12px;font-weight:800;flex:none}
.al-who b{display:block;font-size:13.5px}.al-who a{color:inherit;text-decoration:none}.al-who small{display:block;color:var(--rp-mut);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-who>div{min-width:0}
.al-tag{display:inline-block;font-size:10.5px;font-weight:700;border-radius:999px;padding:2px 8px;margin:1px 4px 1px 0}
.t-pen{background:#EDE9FE;color:#6D28D9}.t-men{background:#FFF1D6;color:#8A5A00}.t-fac{background:#E0F2FE;color:#0369A1}.t-dob{background:#ECFDF3;color:#15803D}.t-ant{background:#FDECEC;color:#B42318}
.al-ok{color:#15803D;font-weight:600;font-size:12px}.al-warn{color:#C0362C;font-weight:700;font-size:12px}
html.dark .al-ok{color:#34C17A}html.dark .al-warn{color:#FF8A80}
.al-num{font-weight:700;font-variant-numeric:tabular-nums}
.al-days{display:flex;gap:4px}.al-days span{min-width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:10.5px;font-weight:700;background:var(--rp-chip);color:#9AA2AF}
.al-days span.on{background:#0A6CF5;color:#fff}.al-days span.wide{padding:0 8px}
.al-exp{all:unset;cursor:pointer;color:#9AA2AF;font-weight:700;width:26px;height:26px;display:grid;place-items:center;border-radius:8px}.al-exp:hover{background:var(--rp-chip)}
.al-sub2{background:var(--rp-open);border-bottom:1px solid var(--rp-line);padding:2px 16px 12px 60px}
.al-dr{display:grid;grid-template-columns:100px 170px minmax(0,1fr) 210px 70px 80px 130px;gap:12px;align-items:center;font-size:12.5px;padding:8px 12px;background:var(--rp-card);border-radius:10px;margin-top:6px;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.al-dr small,.al-mut{color:var(--rp-mut);font-size:12px}
.al-room{display:inline-flex;align-items:center;gap:6px}.al-room i{width:10px;height:10px;border-radius:3px;flex:none}
.al-empty{padding:20px;text-align:center;color:var(--rp-mut);margin:0}
.al-ch{padding:12px 16px;border-bottom:1px solid var(--rp-line);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.al-ch h3{margin:0;font-size:15px}.al-ch small{color:var(--rp-mut);font-size:12px}
.al-closed{margin-left:auto;font-size:12px;font-weight:700;color:#15803D;background:#ECFDF3;border-radius:999px;padding:3px 10px}
.al-hr{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--rp-line);font-size:13px}
.al-hr small{display:block;color:var(--rp-mut);font-size:11.5px;margin-top:2px}.al-hr small.al-warn{color:#C0362C}
.al-swl{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:11.5px;color:var(--rp-mut);white-space:nowrap}
.al-ct,.al-cr{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,1fr) 56px 56px 50px 110px 100px 200px;gap:10px;align-items:center;padding:0 16px}
.al-ct{height:32px;font-size:10.5px;font-weight:700;letter-spacing:.6px;color:var(--rp-mut);background:var(--rp-soft);border-bottom:1px solid var(--rp-line)}
.al-cr{min-height:52px;border-bottom:1px solid var(--rp-line);font-size:12.5px}
.al-st{font-size:10.5px;font-weight:700;border-radius:6px;padding:3px 8px;color:#fff;justify-self:start;white-space:nowrap}
.al-ab{display:flex;gap:12px}
.al-foot{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--rp-soft)}.al-foot small{color:var(--rp-mut);font-size:12px}
.al-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
@media (max-width:1100px){.al-legend{grid-template-columns:1fr 1fr}.al-th{display:none}.al-pr{grid-template-columns:1fr auto;padding:10px 16px}.al-pr>*:nth-child(n+3):not(.al-exp){grid-column:1/-1}.al-dr{grid-template-columns:1fr 1fr}.al-ct{display:none}.al-cr{grid-template-columns:1fr 1fr;padding:10px 16px}}
.af-lab{margin-top:14px}.af-lock{margin-left:auto;font-size:11.5px;color:var(--rp-mut);display:inline-flex;align-items:center;gap:4px}
.af-labrow{display:flex;align-items:center;gap:12px;margin:8px 0}.af-labrow>span{width:130px;font-size:12.5px;color:var(--rp-mut)}
.af-seg{display:inline-flex;background:var(--rp-chip);border-radius:10px;padding:3px;gap:2px}
.af-seg label{display:block!important;cursor:pointer}.af-seg input{position:absolute;opacity:0;pointer-events:none}
.af-seg span{display:block;font-size:12.5px;padding:6px 11px;border-radius:8px;color:var(--rp-ink)}
.af-seg input:checked+span{background:var(--rp-card);font-weight:700;box-shadow:0 1px 3px rgba(16,24,40,.12)}
.af-lab2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.af-lab2 small{color:var(--rp-mut);font-size:11.5px}
.af-chk{flex-direction:row!important;align-items:center;gap:8px}
.af-labrow{justify-content:flex-start!important}.af-labrow .af-seg{margin-right:auto}

/* ===== v0.108 · Contratación y pagos (maqueta 39) ===== */
.al-btn.dk,.al-btn.dk:visited,.al-btn.dk:hover,.al-btn.dk:focus{color:#fff!important}
.al-btn.pri,.al-btn.pri:visited,.al-btn.pri:hover{color:#fff!important}
.al-btn.on{box-shadow:inset 0 0 0 2px #0A6CF5}
.al-btn.ghost{background:transparent;color:#C3CCDC;box-shadow:inset 0 0 0 1px #3A4458}
.al-car{color:var(--rp-mut);font-size:10px}
.al-dsel{position:relative}
.al-pop{position:absolute;top:44px;left:0;z-index:40;background:var(--rp-card);border-radius:16px;box-shadow:0 12px 40px rgba(16,24,40,.22),0 0 0 1px var(--rp-line);padding:12px 14px 14px;width:580px;color:var(--rp-ink)}
.al-calh{display:flex;align-items:center;margin-bottom:-26px;position:relative;z-index:1}
.al-cn{all:unset;cursor:pointer;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-weight:700;color:var(--rp-mut)}.al-cn:hover{background:var(--rp-chip)}
.al-ms{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.al-cal h5{margin:4px 0 8px;font-size:13px;text-align:center}
.al-cg{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 0;font-size:12px;text-align:center}
.al-cg span.h{font-size:10.5px;color:var(--rp-mut);font-weight:700;height:22px;display:grid;place-items:center}
.al-cg button{all:unset;cursor:pointer;height:30px;display:grid;place-items:center;border-radius:8px;font-variant-numeric:tabular-nums}
.al-cg button:hover{background:var(--rp-chip)}
.al-cg button.in{background:#E8F1FF;border-radius:0;color:#0A3E8C}
.al-cg button.a{background:#0A6CF5;color:#fff;font-weight:700;border-radius:8px 0 0 8px}.al-cg button.z{background:#0A6CF5;color:#fff;font-weight:700;border-radius:0 8px 8px 0}.al-cg button.a.z{border-radius:8px}
.al-cg button.a:not(.z):last-child,.al-cg button.a:only-child{border-radius:8px}
.al-cg button.t{box-shadow:inset 0 0 0 1.5px #0A6CF5;font-weight:700}
html.dark .al-cg button.in{background:#1C3355;color:#BBD5FF}
.al-pf{display:flex;gap:6px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--rp-line);flex-wrap:wrap}
.al-rg{font-size:12.5px;color:var(--rp-mut)}.al-rg b{color:var(--rp-ink)}
.al-chip{all:unset;cursor:pointer;font-size:11.5px;font-weight:600;border-radius:999px;padding:5px 10px;background:var(--rp-chip);color:var(--rp-ink);white-space:nowrap}.al-chip:hover{background:var(--rp-line)}
.al-filt select[name="tb"]{max-width:200px}
.al-kp b .al-of{font-size:15px;color:var(--rp-mut);letter-spacing:0;display:inline}
.al-kp.amb{box-shadow:inset 0 0 0 2px #F5C97A,var(--rp-sh)}.al-kp.amb b{color:#B45309}
.al-bulk{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#141B2D;color:#fff;font-size:13px;flex-wrap:wrap;position:sticky;top:0;z-index:5}
.al-bulk .al-swl{color:#C3CCDC}.al-bulk .al-btn{height:30px}.al-dot{color:#8A93A3}.al-bh{color:#8A93A3;font-size:11.5px}
.al-cb{width:18px;height:18px;border-radius:5px;display:inline-grid;place-items:center;font-size:13px;color:#fff;font-weight:900;background:#0A6CF5;line-height:1}
.al-cbx{display:inline-flex!important;flex-direction:row!important;position:relative;cursor:pointer;width:18px;height:18px}
.al-cbx input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.al-cbx i{width:18px;height:18px;border-radius:5px;box-shadow:inset 0 0 0 1.5px #C3C9D2;background:var(--rp-card);display:grid;place-items:center}
.al-cbx input:checked+i{background:#0A6CF5;box-shadow:none}.al-cbx input:checked+i:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.al-cbx input:disabled+i{opacity:.35;cursor:not-allowed}
.al-cbx input:focus-visible+i{outline:2px solid #0A6CF5;outline-offset:2px}
.al-sw{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;position:relative;cursor:pointer}
.al-sw input{position:absolute;opacity:0;width:40px;height:24px;margin:0;cursor:pointer}
.al-sw i{width:40px;height:24px;border-radius:999px;background:#E2E5EA;position:relative;transition:background .15s;flex:none}
.al-sw i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.al-sw input:checked+i{background:#22C55E}.al-sw input:checked+i:after{left:19px}
.al-sw.part input:checked+i{background:#86EFAC}
.al-sw input:focus-visible+i{outline:2px solid #0A6CF5;outline-offset:2px}
.al-sw input:disabled+i{opacity:.4}
.al-sw small{font-size:10.5px;color:var(--rp-mut);font-weight:700}
.al-sw.dk i{background:#3A4458}
html.dark .al-sw i{background:#3A4458}
.al-colh{line-height:1.15}.al-colh small{display:block;font-weight:600;letter-spacing:0;color:#A3ABB8;font-size:9.5px}
.al-th2,.al-pr2{display:grid;grid-template-columns:18px minmax(160px,1.3fr) minmax(140px,1fr) 150px 110px minmax(120px,1.3fr) 96px 66px 66px;gap:10px;align-items:center;padding:0 16px}
.al-th2,.al-ct2{height:36px;font-size:10.5px;font-weight:700;letter-spacing:.6px;color:var(--rp-mut);background:var(--rp-soft);border-bottom:1px solid var(--rp-line)}
.al-pr2{min-height:58px;padding-top:6px;padding-bottom:6px;border-bottom:1px solid var(--rp-line);font-size:13px}
.al-pr2.sel,.al-cr2.sel{background:var(--rp-open)}
.al-ct2,.al-cr2{display:grid;grid-template-columns:18px 64px minmax(170px,1.6fr) minmax(120px,1fr) 44px 44px 40px 100px 84px 72px 72px 84px;gap:10px;align-items:center;padding:0 16px}
.al-cr2{min-height:52px;padding-top:6px;padding-bottom:6px;border-bottom:1px solid var(--rp-line);font-size:12.5px}
.al-cr2.cl>b:nth-child(2){color:#6D28D9}
.al-lk{color:#6D28D9;vertical-align:-1px}
.al-nm b{font-size:13px}.al-nm small{display:block;font-size:11px;margin-top:2px}
.al-ses{color:var(--rp-mut);font-size:12px}
.al-span2{grid-column:span 2}.al-span3{grid-column:span 3}
.al-dat small{display:block;font-size:11px;margin-top:2px}
.al-inf{color:#6D28D9;font-weight:600}.al-trm{color:#0A6CF5;font-weight:600}
html.dark .al-trm{color:#7FB1FF}html.dark .al-inf{color:#B9A6FF}
.al-stg{font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);white-space:nowrap;justify-self:start}
.t-m75{background:#F3E8FF;color:#7E22CE}.t-mes{background:#E0F2FE;color:#075985}.t-ped{background:#FEF3C7;color:#92400E}.t-dir{background:#E0E7FF;color:#3730A3}.t-tec{background:#F1F5F9;color:#334155}.t-doc{background:#CCFBF1;color:#0F766E}
.al-reo{display:inline}
.af-unit{height:34px;border-radius:9px;border:1px solid var(--af-line,#DDE1E7);background:var(--af-soft,#fff);font:inherit;font-size:13px;padding:0 8px;color:var(--af-ink,inherit)}
.af-flat{align-self:center;font-size:12.5px;color:var(--af-mute,#6B7382)}
@media (max-width:1250px){.al-th2,.al-ct2{display:none}.al-pr2,.al-cr2{grid-template-columns:18px 1fr 1fr;padding:10px 16px}.al-pr2>*:nth-child(n+3),.al-cr2>*:nth-child(n+3){grid-column:2/-1}.al-span2,.al-span3{grid-column:2/-1}}
@media (max-width:700px){.al-pop{width:calc(100vw - 32px);position:fixed;left:16px;top:120px}.al-ms{grid-template-columns:1fr}.al-ms>.al-cal:last-child{display:none}}
.al-filt{flex-wrap:wrap}@media (max-width:700px){.al-filt select{max-width:100%}.al-q{min-width:0;flex:1}}

/* ===== v0.108.1 · dirección por rollo, técnicos por hora y alta en otra fecha (maqueta 40) ===== */
button.al-trm{all:unset;cursor:pointer;display:block;color:#0A6CF5;font-weight:600;font-size:11px;margin-top:2px;line-height:1.35}
button.al-trm:hover{text-decoration:underline}
html.dark button.al-trm{color:#7FB1FF}
.al-otra{display:block;color:#B45309;font-weight:700;font-size:11px}
html.dark .al-otra{color:#F5B54B}
.al-obt{all:unset;cursor:pointer;display:inline-block;margin-left:6px;font-size:11px;font-weight:700;color:#0A6CF5;background:#EAF1FE;border-radius:999px;padding:1px 8px;white-space:nowrap}
html.dark .al-obt{background:#1C3355;color:#BBD5FF}
.al-sm{font-size:12px}
.al-obras{background:var(--rp-open);border-bottom:1px solid var(--rp-line);padding:4px 16px 12px 58px}
.al-ob{display:grid;grid-template-columns:minmax(200px,1.6fr) 150px 120px 150px 90px 100px;gap:10px;align-items:center;padding:9px 12px;background:var(--rp-card);border-radius:10px;margin-top:6px;box-shadow:0 1px 2px rgba(16,24,40,.06);font-size:12.5px}
.al-ob.h{background:transparent;box-shadow:none;font-size:10.5px;font-weight:700;color:var(--rp-mut);letter-spacing:.5px;padding:2px 12px}
.al-ob select,.al-ob input{height:30px;border-radius:8px;border:0;box-shadow:inset 0 0 0 1px var(--line,#DDE1E7);background:var(--rp-card);color:var(--rp-ink);font:inherit;font-size:12.5px;font-weight:600;padding:0 8px;min-width:0;width:100%;box-sizing:border-box}
.al-ob input[data-of="rollos"]{width:56px;box-shadow:inset 0 0 0 1.5px #0A6CF5;text-align:center}
.al-of{display:flex!important;flex-direction:column!important;gap:2px;align-items:flex-start}
.al-of small{font-size:10.5px;color:var(--rp-mut)}
.al-ofr{display:flex;align-items:center;gap:6px}
.al-ed{font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;background:#FEF3C7;color:#92400E}
.al-onote{margin-top:3px;font-weight:500!important;font-size:11.5px!important;height:26px!important}
.al-obh{margin:8px 2px 0;font-size:11.5px;color:var(--rp-mut)}
.al-tdlg .cx-dlgin{width:min(460px,calc(100vw - 32px))}
.al-tf{display:flex;flex-direction:column;gap:5px;margin:4px 0 10px;font-size:12.5px;color:var(--rp-mut)}
.al-t2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.af-lines{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.af-lg h4{margin:0;font-size:14px}.af-lg p{margin:2px 0 8px;font-size:12px;color:var(--af-mute,#6B7382)}
.af-lr{display:grid;grid-template-columns:1.3fr 100px 1.2fr;gap:8px;margin-bottom:6px}
.af-lr.h{font-size:10.5px;font-weight:700;letter-spacing:.5px;color:var(--af-mute,#6B7382);text-transform:uppercase}
.af-lr input{height:34px;border-radius:9px;border:1px solid var(--af-line,#DDE1E7);background:var(--af-soft,#fff);font:inherit;font-size:13px;padding:0 9px;color:var(--af-ink,inherit);min-width:0}
.af-lr input:nth-child(2):not([type=hidden]),.af-lr input:first-child:not([type=hidden]){font-weight:600}
.af-lr.add input:first-child{color:#0A6CF5}
.af-tg3{grid-template-columns:minmax(150px,1.2fr) 150px minmax(0,1fr)!important}
@media (max-width:1000px){.af-lines{grid-template-columns:1fr}.al-ob{grid-template-columns:1fr 1fr}}
.al-kp b small.al-of{display:inline!important;white-space:nowrap}
.al-tf .af-seg{align-self:flex-start}

/* v0.108.2: cada línea de tarifa dice cómo se paga */
.af-lr{grid-template-columns:1.3fr 90px 130px 1.2fr}
.af-lr select{height:34px;border-radius:9px;border:1px solid var(--af-line,#DDE1E7);background:var(--af-soft,#fff);font:inherit;font-size:12.5px;padding:0 6px;color:var(--af-ink,inherit);min-width:0}
.af-lines{grid-template-columns:1fr 1fr}

/* v0.108.3: quitar trabajos de Auto-TC de la lista */
.atcj-h{display:flex;align-items:center;gap:10px}.atcj-h h2{margin:0;flex:1}
.atcj-x{all:unset;cursor:pointer;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:18px;line-height:1;color:#8A93A3;flex:none}
.atcj-x:hover{background:#F2F4F7;color:#C0362C}
.atcj-x:focus-visible{outline:2px solid #0A6CF5;outline-offset:2px}
.atcj-x[disabled]{opacity:.4}
html.dark .atcj-x:hover{background:#2A3142}
/* v0.108.3: la caja de buscar de Contratación y pagos se distingue del fondo, como los desplegables */
.al-q{background:var(--rp-card)!important;box-shadow:inset 0 0 0 1px var(--line,#DDE1E7)}
.al-q:focus-within{box-shadow:inset 0 0 0 2px #0A6CF5}

/* ===== v0.109 · eliminar un proyecto (maqueta 41) ===== */
dialog.pdel{border:0;padding:0;border-radius:20px;width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);box-shadow:0 24px 70px rgba(16,24,40,.35);background:var(--card,#fff);color:var(--ink,#1E2533)}
dialog.pdel::backdrop{background:rgba(20,27,45,.45)}
.pdel form{padding:22px 24px 18px}
.pdel h3{margin:0;font-size:19px;letter-spacing:-.3px}.pdel-lead{margin:4px 0 14px;color:#6B7382;font-size:13px}
.pdel-pj{display:flex;align-items:center;gap:12px;background:#F7F8FA;border-radius:14px;padding:10px 12px;margin-bottom:14px}
.pdel-pj i{width:38px;height:38px;border-radius:10px;background:#7C3AED;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:800;flex:none}
.pdel-pj b{display:block;font-size:14px}.pdel-pj small{color:#6B7382;font-size:12px}
.pdel-ops{display:grid;gap:8px}
.pdel-op{display:grid!important;grid-template-columns:22px 1fr;gap:10px;padding:12px 14px;border-radius:14px;box-shadow:inset 0 0 0 1px #DDE1E7;font-size:13px;cursor:pointer;position:relative}
.pdel-op input{position:absolute;opacity:0;pointer-events:none}
.pdel-op.on{box-shadow:inset 0 0 0 2px #0A6CF5;background:#F5F9FF}.pdel-op.red.on{box-shadow:inset 0 0 0 2px #DC2626;background:#FEF6F6}
.pdel-op .r{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #C3C9D2;margin-top:1px}
.pdel-op.on .r{box-shadow:inset 0 0 0 5px #0A6CF5}.pdel-op.red.on .r{box-shadow:inset 0 0 0 5px #DC2626}
.pdel-op b{display:block;font-size:13.5px}.pdel-op small{color:#6B7382;font-size:12px;line-height:1.4}
.pdel-op:has(input:focus-visible){outline:2px solid #0A6CF5;outline-offset:2px}
.pdel-what{margin-top:14px;border-radius:14px;box-shadow:inset 0 0 0 1px #EEF0F3;overflow:hidden}
.pdel-what .h,.pdel-what .r{display:grid;grid-template-columns:1fr 160px 110px;gap:8px;align-items:center;padding:8px 14px}
.pdel-what .h{font-size:10.5px;font-weight:700;letter-spacing:.6px;color:#8A93A3;background:#FAFBFC}
.pdel-what .r{border-top:1px solid #F1F3F5;font-size:12.5px}.pdel-what .r span:nth-child(2){font-weight:700}
.pdel-what .go{font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;justify-self:start}
.pdel-what .go.del{background:#FDECEC;color:#B42318}.pdel-what .go.keep{background:#ECFDF3;color:#15803D}
.pdel-conf{margin-top:14px;display:grid;gap:10px;font-size:12.5px}
.pdel-chk{display:flex!important;flex-direction:row!important;gap:8px;align-items:flex-start;cursor:pointer}.pdel-chk input{accent-color:#DC2626;width:16px;height:16px;margin:1px 0 0}
.pdel-typ{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}
.pdel-typ input{height:36px;border-radius:10px;border:0;box-shadow:inset 0 0 0 1.5px #DC2626;padding:0 12px;font:inherit;font-weight:700;letter-spacing:1px;width:180px}
.pdel-ft{display:flex;align-items:center;gap:10px;margin-top:16px}.pdel-ft small{color:#6B7382;font-size:12px}.pdel-ft .sp{flex:1}
.pdel-b{height:38px;border-radius:11px;padding:0 15px;font:inherit;font-size:13px;font-weight:600;border:0;box-shadow:inset 0 0 0 1px #DDE1E7;background:#fff;cursor:pointer;color:inherit}
.pdel-b.dg{background:#DC2626;color:#fff;box-shadow:none}.pdel-b[disabled]{opacity:.6}
html.dark .pdel-pj{background:#232A3A}html.dark .pdel-what .h{background:#1E2433}html.dark .pdel-b{background:#2A3142}html.dark .pdel-b.dg{background:#DC2626}
html.dark .pdel-op.on{background:#16233A}html.dark .pdel-op.red.on{background:#3A1C1C}
@media (max-width:640px){.pdel-what .h,.pdel-what .r{grid-template-columns:1fr 90px}.pdel-what .h span:nth-child(2),.pdel-what .r span:nth-child(2){display:none}}

/* v0.109.1: ocultar «Seguimiento por fases» en proyectos que no son de doblaje */
.fzs-hide{all:unset;cursor:pointer;margin-top:10px;font-size:12px;color:#6B7382;text-decoration:underline;text-underline-offset:2px;align-self:center}
.fzs-hide:hover{color:#1E2533}.fzs-hide:focus-visible{outline:2px solid #0A6CF5;outline-offset:2px;border-radius:4px}

/* ===== v0.110 · Ficha de la tarea como ClickUp (maqueta 43): panel con pestañas, ↑↓, archivos con visor, campos vacíos y descripción con formato ===== */
.tx-nav{display:inline-flex;gap:2px;background:var(--tx-soft);border-radius:10px;padding:2px}
.tx-nb{width:28px;height:26px;border-radius:8px;display:grid;place-items:center;color:var(--tx-mute)!important;text-decoration:none!important}
.tx-nb:hover{background:var(--tx-card);color:var(--tx-ink)!important;box-shadow:0 1px 2px rgba(20,24,31,.08)}
.tx-nb.off{opacity:.35}
.tx-copy{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--tx-mute);padding:5px 10px;border-radius:9px}
.tx-copy:hover{background:var(--tx-soft);color:var(--tx-ink)}.tx-copy:focus-visible,.tx-nb:focus-visible{outline:2px solid var(--tx-blue);outline-offset:1px}
@media (max-width:700px){.tx-copy span{display:none}}
/* portada «en la ficha» */
.tx-cover{position:relative;margin:0;border-radius:16px;overflow:hidden;background:var(--tx-soft);border:1px solid var(--tx-line)}
.tx-cov-img{all:unset;display:block;width:100%;cursor:zoom-in}
.tx-cov-img img{display:block;width:100%;max-height:260px;object-fit:cover}
.tx-cov-x{position:absolute;right:10px;bottom:10px;border:0;border-radius:9px;padding:6px 11px;font:inherit;font-size:12px;font-weight:600;background:rgba(20,24,31,.62);color:#fff;cursor:pointer;opacity:0;transition:opacity .15s;backdrop-filter:blur(8px)}
.tx-cover:hover .tx-cov-x,.tx-cov-x:focus-visible{opacity:1}
/* archivos */
.tf-bar{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.tf-seg{display:inline-flex;background:var(--tx-soft);border-radius:9px;padding:2px}
.tf-seg button{all:unset;cursor:pointer;width:30px;height:24px;display:grid;place-items:center;border-radius:7px;color:var(--tx-faint)}
.tf-seg button[aria-pressed=true]{background:var(--tx-card);color:var(--tx-ink);box-shadow:0 1px 2px rgba(20,24,31,.1)}
.tf-tip{font-size:12px;color:var(--tx-faint)}.tf-tip kbd{font:inherit;font-size:11px;background:var(--tx-soft);border-radius:5px;padding:1px 5px}
.tf-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.tf-it{position:relative;display:flex;flex-direction:column;border:1px solid var(--tx-line);border-radius:12px;overflow:hidden;background:var(--tx-card);min-width:0}
.tf-it.is-cover{box-shadow:0 0 0 2px var(--tx-blue)}
.tf-th{all:unset;cursor:zoom-in;display:block;position:relative;height:104px;background:var(--tx-soft)}
.tf-th img{width:100%;height:100%;object-fit:cover;display:block}
.tf-ext{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--tx-mute);font-size:20px}
.tf-ext b{font-size:11px;letter-spacing:.6px;background:var(--tx-card);border-radius:6px;padding:2px 7px;color:var(--tx-ink)}
.k-pdf .tf-ext b{background:#E5484D;color:#fff}.k-video .tf-ext b{background:#7C3AED;color:#fff}.k-audio .tf-ext b{background:#0EA5A4;color:#fff}.k-text .tf-ext b{background:#5B6474;color:#fff}
.tf-badge{position:absolute;left:8px;top:8px;background:var(--tx-blue);color:#fff;font-size:10.5px;font-weight:700;border-radius:6px;padding:2px 7px}
.tf-main{padding:8px 10px 9px;display:flex;flex-direction:column;gap:2px;min-width:0}
.tf-nm{all:unset;cursor:pointer;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tx-ink)}
.tf-nm:hover{color:var(--tx-blue)}
.tf-mt{font-size:11.5px;color:var(--tx-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tf-mt.from-mail{color:#B45309}.tf-mt.from-com{color:#7C3AED}
.tf-ren{font:inherit;font-size:13px;padding:2px 6px;border-radius:6px;border:1px solid var(--tx-blue);min-width:0}
.tf-acts{position:absolute;left:0;right:0;top:0;height:104px;display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:8px;background:linear-gradient(transparent 40%,rgba(20,24,31,.55));opacity:0;transition:opacity .15s;pointer-events:none}
.tf-it:hover .tf-acts,.tf-it:focus-within .tf-acts{opacity:1}
.tf-acts .tf-a{pointer-events:auto}
.tf-a{all:unset;cursor:pointer;font-size:12px;font-weight:600;background:rgba(255,255,255,.94);color:#1C2230;border-radius:8px;padding:4px 9px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.tf-a:hover{background:#fff}.tf-a:focus-visible{outline:2px solid var(--tx-blue)}
.tf-more{padding:4px 8px;letter-spacing:1px}
.tf-items.is-list{display:flex;flex-direction:column;gap:0}
.tf-items.is-list .tf-it{flex-direction:row;align-items:center;border:0;border-bottom:1px solid var(--tx-sep);border-radius:0;gap:10px;padding:6px 0;overflow:visible}
.tf-items.is-list .tf-it.is-cover{box-shadow:none}
.tf-items.is-list .tf-th{width:40px;height:40px;border-radius:8px;overflow:hidden;flex:none}
.tf-items.is-list .tf-ext{font-size:0}.tf-items.is-list .tf-ext b{font-size:9.5px;padding:2px 4px}
.tf-items.is-list .tf-badge{display:none}
.tf-items.is-list .tf-main{flex:1;padding:0}
.tf-items.is-list .tf-it.is-cover .tf-nm::after{content:'En la ficha';margin-left:8px;font-size:10.5px;font-weight:700;color:var(--tx-blue)}
.tf-items.is-list .tf-acts{position:static;height:auto;background:none;opacity:1;pointer-events:auto;padding:0;gap:4px}
.tf-items.is-list .tf-a{background:transparent;box-shadow:none;color:var(--tx-mute);font-weight:500}
.tf-items.is-list .tf-a:hover{background:var(--tx-soft);color:var(--tx-ink)}
.tf-items.is-list .tf-it .tf-acts .tf-a:not(.tf-more){opacity:0}.tf-items.is-list .tf-it:hover .tf-acts .tf-a{opacity:1}
.tf-pad.over{outline:2px dashed var(--tx-blue);outline-offset:-4px;border-radius:12px;background:rgba(10,108,245,.04)}
.tf-pad.busy{opacity:.7}
.tf-up{display:block;margin-top:6px;font-size:12px;color:var(--tx-mute)}
.tf-menu{position:absolute;z-index:1400;min-width:200px;background:#fff;border-radius:12px;padding:5px;box-shadow:0 12px 34px rgba(20,24,31,.22),0 0 0 1px rgba(20,24,31,.06);display:flex;flex-direction:column}
.tf-menu button,.tf-menu a{all:unset;cursor:pointer;padding:7px 10px;border-radius:8px;font-size:13px;color:#1C2230}
.tf-menu button:hover,.tf-menu a:hover,.tf-menu :focus-visible{background:#F2F3F5}
.tf-menu .danger{color:#C0362C}.tf-menu hr{border:0;border-top:1px solid #EEF0F3;margin:4px 2px}
html.dark .tf-menu{background:#232A36;box-shadow:0 12px 34px rgba(0,0,0,.5),0 0 0 1px #313947}html.dark .tf-menu button,html.dark .tf-menu a{color:#E7EAF0}
html.dark .tf-menu button:hover,html.dark .tf-menu a:hover{background:#2E3644}html.dark .tf-menu hr{border-color:#313947}
/* visor flotante */
dialog.lb{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(14,17,23,.94);color:#fff;display:none;flex-direction:column;outline:none}
dialog.lb[open]{display:flex}
dialog.lb::backdrop{background:rgba(0,0,0,.4)}
.lb-top{display:flex;align-items:center;gap:16px;padding:12px 16px 12px 22px;flex:none}
.lb-tt{flex:1;min-width:0;display:flex;flex-direction:column}
.lb-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-meta{font-size:12px;color:#A9B0BD}
.lb-tools{display:flex;align-items:center;gap:4px}
.lb-b{all:unset;cursor:pointer;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#E7EAF0}
.lb-b:hover{background:rgba(255,255,255,.12)}.lb-b:focus-visible{outline:2px solid #5FA2FF}
.lb-b[hidden]{display:none}
.lb-z{font-size:12px;color:#A9B0BD;min-width:46px;text-align:center}
dialog.lb:not(.can-zoom) [data-lb=zi],dialog.lb:not(.can-zoom) [data-lb=zo],dialog.lb:not(.can-zoom) .lb-z{display:none}
.lb-x{margin-left:6px;background:rgba(255,255,255,.1)}
.lb-stage{flex:1;min-height:0;display:flex;align-items:center;gap:8px;padding:0 12px}
.lb-view{flex:1;height:100%;min-width:0;display:flex;align-items:center;justify-content:center;overflow:auto}
.lb-view img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.4)}
dialog.lb.zoomed .lb-view{display:block;text-align:center}dialog.lb.zoomed .lb-view img{cursor:zoom-out}
.lb-view video{max-width:100%;max-height:100%;border-radius:8px;background:#000}
.lb-view.k-audio{flex-direction:column;gap:18px}.lb-aud b{font-size:64px;color:#5FA2FF}.lb-view audio{width:min(520px,90%)}
.lb-view iframe{width:min(1100px,100%);aspect-ratio:16/9;max-height:calc(100% - 40px);border:0;border-radius:10px;background:#000}
.lb-view.k-yt{flex-direction:column;gap:8px}
.lb-note{font-size:12px;color:#A9B0BD;margin:8px 0;text-align:center}.lb-note a{color:#8AB4FF}
.lb-view.k-pdf,.lb-view.k-text{align-items:flex-start}
.lb-pdf{display:flex;flex-direction:column;align-items:center;gap:14px;padding:6px 0 24px;width:100%}
.lb-pdf canvas{background:#fff;border-radius:3px;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.lb-wait{color:#A9B0BD;margin-top:20vh}
.lb-txt{background:#fff;color:#1C2230;border-radius:8px;padding:18px 22px;margin:0 auto 24px;width:min(900px,100%);white-space:pre-wrap;font:12.5px/1.55 ui-monospace,Menlo,monospace;box-sizing:border-box}
.lb-none{text-align:center;color:#C9CED8}.lb-ext{display:inline-block;font-weight:800;font-size:20px;letter-spacing:1px;background:rgba(255,255,255,.1);border-radius:12px;padding:16px 20px;margin-bottom:6px}
.lb-nav{all:unset;cursor:pointer;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;flex:none}
.lb-nav:hover{background:rgba(255,255,255,.2)}.lb-nav[hidden]{visibility:hidden;display:grid}.lb-nav:focus-visible{outline:2px solid #5FA2FF}
.lb-strip{flex:none;display:flex;gap:8px;justify-content:center;padding:12px 16px 16px;overflow-x:auto}
.lb-strip[hidden]{display:none}
.lb-th{all:unset;cursor:pointer;width:64px;height:46px;border-radius:8px;overflow:hidden;flex:none;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:10.5px;font-weight:700;opacity:.55;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.lb-th img{width:100%;height:100%;object-fit:cover}.lb-th:hover{opacity:.85}.lb-th.on{opacity:1;box-shadow:0 0 0 2px #5FA2FF}
/* panel de la derecha con pestañas */
.tx-side{position:sticky;top:64px}
.tx-panel{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100vh - 110px)}
.txp-tabs{display:flex;gap:2px;padding:8px 10px 0;border-bottom:1px solid var(--tx-sep);flex:none;overflow-x:auto}
.txp-tabs button{all:unset;cursor:pointer;font-size:13px;font-weight:500;color:var(--tx-mute);padding:8px 9px 9px;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:inline-flex;gap:5px;align-items:center}
.txp-tabs button span{font-size:11px;font-weight:700;background:var(--tx-soft);border-radius:999px;padding:1px 6px;color:var(--tx-mute)}
.txp-tabs button[aria-selected=true]{color:var(--tx-ink);border-bottom-color:var(--tx-blue);font-weight:600}
.txp-tabs button:focus-visible{outline:2px solid var(--tx-blue);border-radius:6px}
.txp-pane{min-height:0;overflow:auto}
.txp-talk{display:flex;flex-direction:column;overflow:hidden;flex:1}
.txp-talk .tx-tl{max-height:none;flex:1;min-height:120px;padding-top:12px}
.tx-panel.mode-com .tx-tl .tx-e{display:none}
.tx-panel.mode-act .tx-tl .tx-none{display:none}
.tx-panel .te-list li{padding:8px 0}
.tx-flash{animation:txfl 1.6s}@keyframes txfl{0%,40%{background:rgba(10,108,245,.12)}100%{background:transparent}}
@media (max-width:1000px){.tx-side{position:static}.tx-panel{max-height:none}}
/* campos: buscar y ocultar vacíos */
.tx-fbar{display:flex;align-items:center;gap:10px;padding:0 18px 8px}
.tx-fsearch{display:flex;align-items:center;gap:6px;flex:1;max-width:240px;background:var(--tx-soft);border-radius:9px;padding:0 10px;color:var(--tx-faint)}
.tx-fsearch input{all:unset;flex:1;font-size:13px;height:28px;color:var(--tx-ink)}
.tx-fempty{all:unset;cursor:pointer;margin-left:auto;font-size:12.5px;color:var(--tx-blue);font-weight:500}
.tx-fempty:hover{text-decoration:underline}.tx-fempty:focus-visible{outline:2px solid var(--tx-blue);border-radius:4px}
.tx-r[hidden]{display:none!important}
/* descripción con formato */
.tx .desc-wrap{position:relative}
.rt-bar{display:none;align-items:center;gap:2px;flex-wrap:wrap;padding:3px;background:var(--tx-soft);border-radius:10px}
.desc-wrap.editing .rt-bar{display:flex}
.rt-bar button{all:unset;cursor:pointer;min-width:28px;height:26px;padding:0 4px;box-sizing:border-box;border-radius:7px;display:grid;place-items:center;font-size:13px;color:var(--tx-mute)}
.rt-bar button:hover{background:var(--tx-card);color:var(--tx-ink)}.rt-bar button:focus-visible{outline:2px solid var(--tx-blue)}
.rt-sep{width:1px;height:16px;background:var(--tx-line);margin:0 3px}.rt-fill{flex:1}
.rt-bar .rt-done{background:var(--tx-blue);color:#fff!important;font-weight:600;font-size:12px;padding:0 12px}
.rt-bar .rt-done:hover{background:#0858C9}
.desc-wrap.drop-on .desc-preview{outline:2px dashed var(--tx-blue);outline-offset:2px}
.desc-exp{all:unset;cursor:pointer;position:absolute;right:8px;top:8px;font-size:11.5px;font-weight:600;color:var(--tx-mute);background:var(--tx-card);border-radius:7px;padding:3px 8px;box-shadow:0 0 0 1px var(--tx-line);opacity:0;transition:opacity .15s;z-index:2}
.desc-wrap:hover .desc-exp,.desc-exp:focus-visible,.desc-wrap.big .desc-exp{opacity:1}
.desc-wrap.editing:not(.big) .desc-exp{display:none}
.desc-wrap:not(.has-desc):not(.big) .desc-exp{display:none}
.desc-more{display:none}
.desc-wrap.clamped:not(.editing) .desc-preview{max-height:300px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.desc-wrap.clamped:not(.editing) .desc-more{display:block;text-align:center;margin-top:-6px}
.desc-more button{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--tx-blue);padding:4px 10px;border-radius:8px}
.desc-more button:hover{background:var(--tx-soft)}
.desc-wrap.big{position:fixed;z-index:1250;inset:6vh max(16px,calc(50vw - 460px));background:var(--tx-card);border-radius:18px;padding:44px 26px 22px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:auto}
.desc-wrap.big .desc-preview{min-height:40vh;font-size:15px}.desc-wrap.big textarea.tx-desc{min-height:60vh!important}
.desc-wrap.big .desc-exp{top:12px;right:14px}.desc-wrap.big.editing .desc-exp{top:12px}
.desc-shade{position:fixed;inset:0;z-index:1240;background:rgba(14,17,23,.45)}
html.desc-big-on{overflow:hidden}
.desc p,.c-body p{margin:0 0 .55em}.desc p:last-child,.c-body p:last-child{margin-bottom:0}
.desc ul,.desc ol,.c-body ul,.c-body ol{margin:.2em 0 .6em;padding-left:1.4em}.desc li,.c-body li{margin:.15em 0}
.desc .rt-h,.c-body .rt-h{margin:.6em 0 .3em;font-size:15px;font-weight:700}.desc h5.rt-h{font-size:14px}.desc h6.rt-h{font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--tx-mute)}
.desc blockquote,.c-body blockquote{margin:.4em 0;padding:2px 12px;border-left:3px solid var(--tx-line);color:var(--tx-mute)}
.desc code,.c-body code{font:12.5px ui-monospace,Menlo,monospace;background:var(--tx-soft,#F2F3F5);border-radius:5px;padding:1px 5px}
.desc li.rt-chk,.c-body li.rt-chk{list-style:none;margin-left:-1.3em;display:flex;gap:8px;align-items:baseline}
.rt-chk i{width:13px;height:13px;border-radius:4px;box-shadow:inset 0 0 0 1.5px #B9C0CB;flex:none;transform:translateY(2px)}
.rt-chk.on i{background:#1F9254;box-shadow:none;position:relative}.rt-chk.on i::after{content:'';position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.rt-chk.on{color:var(--tx-faint);text-decoration:line-through}
.desc-vid{display:flex!important;align-items:center;gap:12px;max-width:440px;margin:.5em 0;padding:10px 12px;border-radius:12px;background:var(--tx-card,#fff);box-shadow:0 0 0 1px var(--tx-line,#E6E8EC);text-decoration:none!important;color:inherit!important}
.desc-vid:hover{box-shadow:0 0 0 1px var(--tx-blue,#0A6CF5),0 4px 14px rgba(10,108,245,.1)}
.dv-play{width:46px;height:34px;border-radius:9px;background:#E5484D;color:#fff;display:grid;place-items:center;flex:none}
.desc-vid[data-vid^="vm"] .dv-play{background:#1AB7EA}
.dv-t{display:flex;flex-direction:column;min-width:0}.dv-t b{font-size:13.5px;font-weight:600;color:var(--tx-ink,#1C2230);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dv-t small{font-size:11.5px;color:var(--tx-faint,#8A93A3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desc a.desc-img,.c-body a.desc-img{cursor:zoom-in}
.tf-it .tf-ext{position:absolute;inset:0;height:auto;min-width:0;border-radius:0;background:transparent;font-size:20px;font-weight:400}
.tf-items.is-list .tf-it .tf-ext{font-size:0}
.tx .tx-fsearch input{all:unset;flex:1;min-width:0;font-size:13px;height:30px;line-height:30px;color:var(--tx-ink);background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.tx .tx-fsearch{height:30px;flex-direction:row}
/* v0.110.1: imágenes de la descripción a un tamaño cómodo (en grande, con el visor) */
.desc a.desc-img{display:inline-block;max-width:100%}
.desc a.desc-img img{max-width:100%;max-height:340px;width:auto;height:auto;border-radius:10px;display:block}

/* ===== v0.111 · Ficha de la tarea estilo DubXpro / Apple (maqueta 44): una hoja limpia con todas las opciones ===== */
.txs{--tx-blue:#0A6CF5;max-width:1320px;padding-top:18px}
.txs-top{flex-wrap:nowrap;gap:12px}
.txs-top .tx-crumb{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txs-top .tx-crumb b{color:var(--tx-ink);font-weight:600}
.txs-id{all:unset;cursor:pointer;font:600 11.5px ui-monospace,Menlo,monospace;color:var(--tx-mute);background:var(--tx-soft);border-radius:7px;padding:4px 8px;white-space:nowrap}
.txs-id:hover{color:var(--tx-ink)}.txs-id:focus-visible{outline:2px solid var(--tx-blue)}
.txs-sp{flex:1}
.txs-more{all:unset;cursor:pointer;width:32px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--tx-mute);font-size:16px;letter-spacing:1px}
.txs-more:hover,.txs-more[aria-expanded=true]{background:var(--tx-soft);color:var(--tx-ink)}.txs-more:focus-visible{outline:2px solid var(--tx-blue)}
.txs-parent{margin:-4px 0 0;font-size:12.5px;color:var(--tx-mute)}
.txs-layout{grid-template-columns:minmax(0,1fr) 400px!important;gap:22px!important}
.txs-sheet{background:var(--tx-card);border-radius:22px;box-shadow:0 1px 2px rgba(20,24,31,.04),0 8px 30px rgba(20,24,31,.06);padding:26px 36px 34px;gap:0!important;border:1px solid var(--tx-line)}
.txs-sheet .tx-cover{margin-bottom:18px}
.txs-sheet .tx-kick{margin-bottom:8px}
.txs-tline{display:flex;align-items:flex-start;gap:12px}
.txs-done{all:unset;cursor:pointer;flex:none;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 2px #C3C9D3;display:grid;place-items:center;color:transparent;margin-top:5px;transition:all .15s}
.txs-done:hover{box-shadow:inset 0 0 0 2px #22A06B;color:#22A06B}
.txs-done.on{background:#22A06B;box-shadow:none;color:#fff}
.txs-done:focus-visible{outline:2px solid var(--tx-blue);outline-offset:2px}
.txs .txs-title{font-size:30px!important;font-weight:700!important;letter-spacing:-.6px;line-height:1.2!important;padding:2px 0!important;flex:1;min-width:0}
.txs-sub{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--tx-faint);margin:2px 0 16px 42px}
.txs-sub svg{vertical-align:-2px}
/* propiedades */
.txs-props{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.txs-pr{display:flex;align-items:center;min-height:42px;border-bottom:1px solid var(--tx-sep);font-size:13px;min-width:0}
.txs-pr .k{width:118px;flex:none;color:var(--tx-mute);display:flex;gap:9px;align-items:center}
.txs-pr .k svg{color:var(--tx-faint);flex:none}
.txs-pr .v{display:flex;gap:6px;align-items:center;flex-wrap:wrap;min-width:0;flex:1;padding:4px 0}
.txs-props:not(.show-empty) .txs-pr.is-empty{display:none}
.txs-pr.is-empty .v .xa-add{opacity:1}
.txs .txs-pr .tx-pop{height:28px;background:transparent;box-shadow:none;padding:0 8px;margin-left:-8px;border-radius:8px}
.txs .txs-pr .tx-pop:hover{background:var(--tx-soft)}
.txs .txs-st{background:transparent}
.txs .txs-st .tx-sel{font-weight:700;font-size:11.5px;letter-spacing:.3px;text-transform:uppercase}
.txs-prio{color:var(--pc)}.txs-prio .tx-sel{color:var(--tx-ink)}
.txs .txs-dates summary{display:flex;align-items:center;gap:6px;font-weight:500}
.txs-due{font-size:11.5px;font-weight:600;border-radius:7px;padding:2px 8px;background:var(--tx-soft);color:var(--tx-mute)}
.txs-due.warn{background:#FFF4E5;color:#B45309}.txs-due.late{background:#FDECEC;color:#B42318}
.xas{display:inline-flex;align-items:center}
.xa{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-size:9.5px;font-weight:700;box-shadow:0 0 0 2px var(--tx-card);flex:none;background:#8A93A3;letter-spacing:.2px}
.xas .xa+.xa{margin-left:-7px}
.xas.sm .xa{width:20px;height:20px;font-size:8.5px}
.xa-n{margin-left:8px;font-weight:500}
.xa-add{all:unset;cursor:pointer;width:22px;height:22px;border-radius:50%;border:1.5px dashed #C3C9D3;display:inline-grid;place-items:center;color:var(--tx-faint);font-size:14px;line-height:1;box-sizing:border-box;flex:none}
.xa-add:hover{border-color:var(--tx-blue);color:var(--tx-blue)}.xa-add:focus-visible{outline:2px solid var(--tx-blue);outline-offset:1px}
.txs-tag{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;border-radius:999px;padding:3px 4px 3px 10px;background:color-mix(in srgb,var(--tc) 14%,transparent);color:color-mix(in srgb,var(--tc) 75%,#000)}
html.dark .txs-tag{color:color-mix(in srgb,var(--tc) 70%,#fff)}
.txs-tag button{all:unset;cursor:pointer;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;opacity:.5;font-size:13px}.txs-tag button:hover{opacity:1;background:rgba(0,0,0,.08)}
.txs-inline{border:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important;font-size:13px!important;padding:4px 8px!important;margin-left:-8px;border-radius:8px!important;width:auto!important;min-width:0;color:var(--tx-ink)}
.txs-inline:hover{background:var(--tx-soft)!important}.txs-inline:focus{background:var(--tx-soft)!important;outline:2px solid var(--tx-blue)}
.txs-timer{all:unset;cursor:pointer;font-size:12px;font-weight:600;background:var(--tx-soft);border-radius:8px;padding:4px 10px;color:var(--tx-ink)}
.txs-timer:hover{background:#E7F6EC;color:#15803D}.txs-timer.run{background:#FDECEC;color:#B42318}
.txs-timer:focus-visible,.txs-ttot:focus-visible{outline:2px solid var(--tx-blue)}
.txs-ttot{all:unset;cursor:pointer;font-size:12.5px;color:var(--tx-mute);padding:3px 6px;border-radius:7px}.txs-ttot:hover{background:var(--tx-soft);color:var(--tx-ink)}
.txs-prog{display:inline-block;width:90px;height:6px;border-radius:99px;background:var(--tx-sep);overflow:hidden;flex:none}
.txs-prog i{display:block;height:100%;background:#22A06B;border-radius:99px}.txs-prog.over i{background:#E5484D}
.txs-lk{display:inline-flex;align-items:center;gap:6px;font-size:12px;border-radius:8px;padding:3px 4px 3px 8px;background:var(--tx-soft);max-width:100%}
.txs-lk em{font-style:normal;font-weight:600;color:var(--tx-mute);white-space:nowrap}.txs-lk a{max-width:220px}
.txs-lk.k-waits{background:#FFF4E5}.txs-lk.k-waits em{color:#B45309}.txs-lk.k-blocks{background:#FDECEC}.txs-lk.k-blocks em{color:#B42318}
.txs-lk a{color:var(--tx-ink)!important;text-decoration:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txs-lk.done a{text-decoration:line-through!important;color:var(--tx-faint)!important}
.txs-lk button,.txs-rem button{all:unset;cursor:pointer;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;opacity:.5}.txs-lk button:hover,.txs-rem button:hover{opacity:1;background:rgba(0,0,0,.08)}
.txs-rem{display:inline-flex;gap:6px;align-items:center;font-size:12px;background:#EFEDFF;color:#5B3FD9;border-radius:8px;padding:3px 4px 3px 8px;font-weight:600}
.txs-lst{max-width:100%}
.txs .tx-shares{margin:10px 0 0}
.txs-morep{margin:6px 0 0}
.txs-morep button{all:unset;cursor:pointer;font-size:12px;color:var(--tx-blue);font-weight:500;padding:3px 0}.txs-morep button:hover{text-decoration:underline}
/* secciones de la hoja */
.txs-sec{margin-top:26px}
.txs-sec.is-empty:not(.reveal){display:none}
.txs-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.txs-h h3{margin:0;font-size:15.5px;font-weight:700;color:var(--tx-ink);letter-spacing:-.2px}
.txs-h .n{font-size:12px;color:var(--tx-faint)}
.txs-ha{all:unset;cursor:pointer;font-size:12px;color:var(--tx-mute);padding:4px 8px;border-radius:8px}.txs-ha:hover{background:var(--tx-soft);color:var(--tx-ink)}.txs-ha.danger:hover{color:#C0362C;background:#FDECEC}
.txs-ha:focus-visible{outline:2px solid var(--tx-blue)}
/* los grupos de antes (Material, Campos, Archivos) dentro de la hoja: sin tarjeta */
.txs-sheet .tx-grp{border:0;box-shadow:none;background:transparent;border-radius:0}
.txs-sheet .tx-grp>.tx-gh{padding:0 0 8px;font-size:15.5px;letter-spacing:-.2px}
.txs-sheet .tx-grp .tx-pad,.txs-sheet .tx-grp .tx-r{padding-left:0;padding-right:0}
.txs-sheet .tx-grp .tx-r{border-color:var(--tx-sep)}
.txs-sheet .tx-fbar{padding:0 0 8px}
.txs-sheet section.txs-sec>.tx-grp{margin:0}
.txs-desc .tx-pad{padding:0!important}
/* descripción sin caja: se escribe encima */
.txs .desc-wrap .desc-preview{background:transparent!important;padding:2px 0!important;min-height:0!important;border:0!important;font-size:14px;line-height:1.65}
.txs .desc-wrap:not(.has-desc):not(.editing) .desc-preview:empty::before{content:'Añade una descripción, pega una captura o escribe «/»…';color:var(--tx-faint)}
.txs .desc-wrap textarea.tx-desc{background:transparent!important;padding:2px 0!important;border-radius:0!important;min-height:44px!important;resize:none;font-size:14px!important;line-height:1.65!important;outline:none}
.txs .desc-wrap.editing textarea.tx-desc:focus{box-shadow:none!important}
.txs .rt-bar{background:#1C2230;border-radius:11px;padding:4px;width:max-content;max-width:100%;box-shadow:0 8px 24px rgba(0,0,0,.18);margin-bottom:6px}
.txs .rt-bar button{color:#E7EAF0}.txs .rt-bar button:hover{background:#3A4152;color:#fff}.txs .rt-bar .rt-sep{background:#3A4152}
.txs .rt-bar .rt-fill{flex:0 0 6px}
.txs .desc-exp{top:-34px;right:0;opacity:1;box-shadow:none;background:transparent;color:var(--tx-mute)}
.txs .desc-exp:hover{background:var(--tx-soft)}
.txs .desc-wrap.big .desc-exp{top:12px;right:14px}
.txs .desc-wrap.big{background:var(--tx-card)}
.txs .desc-wrap.big textarea.tx-desc{min-height:62vh!important}
/* «/» en la descripción */
.txs-slash{position:absolute;z-index:1300;min-width:220px}
/* subtareas y listas de control */
.txs-items{list-style:none;margin:0;padding:0}
.txs-items li{display:flex;align-items:center;gap:10px;padding:8px 2px;border-bottom:1px solid var(--tx-sep);font-size:13.5px;min-height:24px}
.txs-items li .tt{flex:1;min-width:0;color:var(--tx-ink)!important;text-decoration:none!important;outline:none;border-radius:5px;overflow-wrap:anywhere}
.txs-items li .tt[contenteditable]:focus{background:var(--tx-soft);box-shadow:0 0 0 4px var(--tx-soft)}
.txs-items li.is-done .tt{color:var(--tx-faint)!important;text-decoration:line-through!important}
.txs-items li .r{display:flex;gap:8px;align-items:center;flex:none}
.txs-items li .r .status-chip,.txs-items li .r .st-chip{transform:scale(.88);transform-origin:right center}
.txs-ck{all:unset;cursor:pointer;flex:none;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #B9C0CB;display:grid;place-items:center;position:relative;box-sizing:border-box}
.txs-ck.sq{border-radius:5px}
.txs-ck:hover{box-shadow:inset 0 0 0 1.5px #22A06B}
.txs-ck.on{background:#22A06B;box-shadow:none}
.txs-ck.on::after{content:'';width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.txs-ck:focus-visible{outline:2px solid var(--tx-blue);outline-offset:2px}.txs-ck[disabled]{cursor:default}
.txs-chip{font-size:11.5px;font-weight:600;border-radius:7px;padding:2px 7px;background:var(--tx-soft);color:var(--tx-mute)}
.txs-chip.warn{background:#FFF4E5;color:#B45309}.txs-chip.late{background:#FDECEC;color:#B42318}
.txs-ia{all:unset;cursor:pointer;width:24px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--tx-faint);opacity:0}
.txs-items li:hover .txs-ia,.txs-ia:focus-visible{opacity:1}.txs-ia:hover{background:var(--tx-soft);color:var(--tx-ink)}
.txs-add{display:flex;align-items:center;gap:10px;padding:6px 2px;margin:0}
.txs-add .plus{width:18px;text-align:center;color:var(--tx-faint);flex:none}
.txs .txs-add input{all:unset;flex:1;font-size:13.5px;padding:4px 0;color:var(--tx-ink)}
.txs .txs-add input::placeholder{color:var(--tx-faint)}
.txs-cl{border:1px solid var(--tx-sep);border-radius:14px;padding:4px 14px 6px;margin-bottom:10px}
.txs-clh{display:flex;align-items:center;gap:10px;padding:8px 0 4px}
.txs-clh b{font-size:13.5px;outline:none;border-radius:5px;padding:0 2px}.txs-clh b:focus{background:var(--tx-soft)}
.txs-clh small{font-size:12px;color:var(--tx-faint)}
.txs-clh .txs-prog{width:70px}
.txs-cl.hide-done li.is-done{display:none}
/* archivos dentro de la hoja */
.txs-sheet .task-files .tx-gh{padding-bottom:10px}
/* barra «Añadir a la tarea» */
.txs-addbar{margin-top:30px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:12px 14px;border-radius:16px;background:var(--tx-soft)}
.txs-addbar .lbl{font-size:12.5px;color:var(--tx-faint);margin-right:2px}
.txs-addbar button{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;color:var(--tx-ink);background:var(--tx-card);border-radius:10px;padding:7px 11px;box-shadow:0 0 0 1px var(--tx-line)}
.txs-addbar button:hover{box-shadow:0 0 0 1px var(--tx-blue);color:var(--tx-blue)}.txs-addbar button:focus-visible{outline:2px solid var(--tx-blue)}
/* menús y ventanitas */
.txs-pop{position:absolute;z-index:1400;background:#fff;border-radius:14px;padding:6px;box-shadow:0 14px 40px rgba(20,24,31,.22),0 0 0 1px rgba(20,24,31,.06);min-width:220px;max-width:340px;color:#1C2230;font-size:13px}
html.dark .txs-pop{background:#232A36;color:#E7EAF0;box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 0 1px #313947}
.txs-menu{display:flex;flex-direction:column}
.txs-menu button,.txs-pop .it{all:unset;cursor:pointer;padding:7px 10px;border-radius:8px;display:flex;gap:10px;align-items:center;box-sizing:border-box}
.txs-menu button:hover,.txs-pop .it:hover,.txs-pop .it.act,.txs-menu button:focus-visible{background:#F2F3F5}
html.dark .txs-menu button:hover,html.dark .txs-pop .it:hover,html.dark .txs-pop .it.act{background:#2E3644}
.txs-menu kbd{margin-left:auto;font:11px ui-monospace,Menlo,monospace;color:#8A93A3;background:none;border:0}
.txs-menu hr,.txs-pop hr{border:0;border-top:1px solid #EEF0F3;margin:4px 2px}html.dark .txs-pop hr{border-color:#313947}
.txs-menu .danger{color:#C0362C}
.txs-pop .srch{all:unset;box-sizing:border-box;width:100%;padding:8px 10px;border-radius:9px;background:#F2F3F5;font-size:13px;margin-bottom:4px}
html.dark .txs-pop .srch{background:#2E3644}
.txs-pop .lst{max-height:260px;overflow:auto;display:flex;flex-direction:column}
.txs-pop .it .xa{width:22px;height:22px;font-size:9px;box-shadow:none}
.txs-pop .it .ck{margin-left:auto;color:#0A6CF5;font-weight:700}
.txs-pop .it small{color:#8A93A3;font-size:11.5px;margin-left:auto;white-space:nowrap}
.txs-pop .hd{font-size:11px;font-weight:700;letter-spacing:.5px;color:#8A93A3;padding:6px 10px 2px}
.txs-pop .row{display:flex;gap:8px;align-items:center;padding:6px 4px}
.txs-pop .row input,.txs-pop .row select{flex:1;min-width:0;font:inherit;font-size:13px;padding:6px 8px;border-radius:8px;border:1px solid #DDE1E7;background:#fff;color:inherit}
html.dark .txs-pop .row input,html.dark .txs-pop .row select{background:#1C222C;border-color:#313947}
.txs-pop .go{all:unset;cursor:pointer;background:#0A6CF5;color:#fff;font-weight:600;font-size:12.5px;border-radius:9px;padding:7px 12px}
.txs-pop .note{font-size:11.5px;color:#8A93A3;padding:2px 10px 6px;line-height:1.4}
.txs-pop .emo{display:flex;gap:2px;padding:2px}.txs-pop .emo button{all:unset;cursor:pointer;font-size:18px;width:34px;height:34px;display:grid;place-items:center;border-radius:9px}.txs-pop .emo button:hover{background:#F2F3F5}
.txs-pop .seg2{display:flex;gap:4px;padding:2px 2px 6px}.txs-pop .seg2 button{all:unset;cursor:pointer;flex:1;text-align:center;font-size:12px;font-weight:600;padding:6px;border-radius:8px;background:#F2F3F5;color:#5B6474}.txs-pop .seg2 button.on{background:#0A6CF5;color:#fff}
.txs-pop .tlog{max-height:180px;overflow:auto;margin:0 0 4px}.txs-pop .tlog div{display:flex;gap:8px;padding:5px 10px;font-size:12.5px}.txs-pop .tlog b{margin-left:auto}.txs-pop .tlog button{all:unset;cursor:pointer;color:#8A93A3}
/* panel de la derecha */
.txs-side{top:64px}
.txs-panel{border-radius:20px;max-height:calc(100vh - 96px)}
.txs-seg{display:flex!important;gap:0!important;margin:12px 12px 0;padding:3px!important;border:0!important;background:var(--tx-soft);border-radius:11px;overflow:hidden!important}
.txs-seg button{flex:1;justify-content:center;padding:6px 4px!important;margin:0!important;border:0!important;border-radius:9px;font-size:12.5px!important;font-weight:600!important;color:var(--tx-mute)!important;min-width:0}
.txs-seg button[aria-selected=true]{background:var(--tx-card);color:var(--tx-ink)!important;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.txs-seg button span{background:transparent!important;padding:0!important;font-size:10.5px!important;color:var(--tx-faint)!important}
.txs-flw{display:flex;align-items:center;gap:8px;padding:10px 16px 6px;font-size:12px;color:var(--tx-mute)}
.txs-flwt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txs-bell{all:unset;cursor:pointer;font-size:12px;padding:4px 8px;border-radius:8px;white-space:nowrap}.txs-bell:hover{background:var(--tx-soft)}.txs-bell.on{color:var(--tx-ink);font-weight:600}
.txs-asgf{all:unset;cursor:pointer;font-size:11.5px;font-weight:700;color:#B45309;background:#FFF4E5;border-radius:8px;padding:3px 8px;white-space:nowrap}.txs-asgf.on{background:#B45309;color:#fff}
.txs-panel.only-asg .txs-tl>li:not(.txc.asg){display:none}
.txs-tl{padding:4px 16px 10px!important;gap:12px!important}
.txs-day{display:flex!important;align-items:center;gap:10px;font-size:10.5px!important;font-weight:700;letter-spacing:.5px;color:var(--tx-faint)!important;margin:4px 0}
.txs-day::before,.txs-day::after{content:'';flex:1;height:1px;background:var(--tx-sep)}
.txs-day span{white-space:nowrap}
.tx-panel.mode-com .txs-tl .txs-mail{display:none}
.tx-panel.mode-com .txs-tl .txs-day{display:none!important}
.txc{display:flex!important;gap:9px;align-items:flex-start}
.txc>.xa{margin-top:2px}
.txc-b{flex:1;min-width:0;background:var(--tx-card);border-radius:14px;padding:9px 12px 8px;box-shadow:0 0 0 1px var(--tx-sep)}
.txc.asg>.txc-b{box-shadow:0 0 0 1.5px #F5C27A}
.txc-h{display:flex;align-items:baseline;gap:8px;font-size:12.5px}.txc-h b{font-weight:700;color:var(--tx-ink)}.txc-h small{font-size:11px;color:var(--tx-faint)}
.txc-acts{margin-left:auto;display:flex;gap:2px;opacity:0;transition:opacity .12s}
.txc-b:hover>.txc-h .txc-acts,.txc-acts:focus-within{opacity:1}
.txc-acts button{all:unset;cursor:pointer;width:24px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--tx-mute);font-size:13px}.txc-acts button:hover{background:var(--tx-soft);color:var(--tx-ink)}
.txc .c-body{font-size:13px;line-height:1.5;color:var(--tx-ink);margin-top:3px;overflow-wrap:anywhere}
.txc .c-body img{max-width:100%;max-height:220px;border-radius:9px;display:block;margin:4px 0}
.tx-men{color:#0A6CF5;font-weight:600;background:#E8F0FE;border-radius:5px;padding:0 4px}.tx-men.tx-me{background:#0A6CF5;color:#fff}
html.dark .tx-men{background:#1C2B45;color:#8AB4FF}
.txc-asg{margin-top:7px;font-size:11.5px;font-weight:600;color:#B45309;background:#FFF4E5;border-radius:8px;padding:4px 6px 4px 9px;display:inline-flex;gap:8px;align-items:center}
.txc-asg.ok{color:#15803D;background:#E7F6EC}
.txc-asg button{all:unset;cursor:pointer;background:#fff;border-radius:6px;padding:2px 8px;color:#1C2230;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.txc-rxs{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.txc-rxs:empty{display:none}
.txc-rx{all:unset;cursor:pointer;font-size:12px;background:var(--tx-soft);border-radius:999px;padding:2px 8px}.txc-rx.mine{background:#E8F0FE;box-shadow:0 0 0 1px #9CC0FA}
.txc-reps{list-style:none;margin:8px 0 0;padding:8px 0 0 0;border-top:1px solid var(--tx-sep);display:flex;flex-direction:column;gap:8px}
.txc.rep .txc-b{box-shadow:none;padding:0;background:transparent}
.txc.rep>.xa{width:20px;height:20px;font-size:8.5px}
.txs-mail button{all:unset;cursor:pointer;display:block;width:100%;box-sizing:border-box;background:var(--tx-card);border-radius:14px;padding:9px 12px;box-shadow:0 0 0 1px var(--tx-sep);border-left:3px solid #0A6CF5;font-size:12.5px}
.txs-mail b{display:block;font-size:12.5px}.txs-mail span{display:block;color:var(--tx-ink);margin-top:1px}.txs-mail small{display:block;color:var(--tx-faint);font-size:11.5px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txs-cmp{margin:4px 12px 12px;background:var(--tx-card);border-radius:16px;box-shadow:0 0 0 1px var(--tx-line),0 6px 18px rgba(16,24,40,.06);display:block!important;position:relative;padding:0!important}
.txs-cmp-mode{display:flex;gap:4px;padding:8px 10px 0;align-items:center}
.txs-cmp-mode button{all:unset;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--tx-mute);padding:4px 9px;border-radius:8px}.txs-cmp-mode button.on{background:var(--tx-soft);color:var(--tx-ink)}
.txs-cmp-ctx{font-size:11.5px;color:#0A6CF5;font-weight:600;display:inline-flex;gap:6px;align-items:center;white-space:nowrap;overflow:hidden}
.txs-cmp-ctx button{all:unset;cursor:pointer;color:var(--tx-faint)}
.txs .txs-cmp textarea{display:block;width:100%!important;box-sizing:border-box;border:0!important;background:transparent!important;box-shadow:none!important;padding:8px 14px!important;font-size:13.5px!important;min-height:44px!important;max-height:240px;resize:none;color:var(--tx-ink);text-align:left!important}
.txs-cmp .drop-hint{padding:0 14px;font-size:11.5px}.txs-cmp .drop-hint:empty{display:none}
.txs-cmp-tb{display:flex;align-items:center;gap:2px;padding:4px 8px 8px}
.txs-cmp-tb>button:not(.txs-send){all:unset;cursor:pointer;width:28px;height:26px;display:grid;place-items:center;border-radius:7px;color:var(--tx-mute);font-size:13px}
.txs-cmp-tb>button:not(.txs-send):hover,.txs-cmp-tb>button.on{background:var(--tx-soft);color:var(--tx-ink)}
.txs-cmp-hint{font-size:11px;color:var(--tx-faint);margin-right:6px}
.txs .txs-send{position:static!important;width:32px!important;height:32px!important}
.txs-mailf{padding:6px 12px 0;display:flex;flex-direction:column;gap:4px}
.txs-mailf label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;border-bottom:1px solid var(--tx-sep);font-size:12.5px}
.txs-mailf label span{width:50px;color:var(--tx-faint);flex:none}
.txs .txs-mailf input:not([type=checkbox]){all:unset;flex:1;padding:6px 0;font-size:13px;color:var(--tx-ink)}
.txs-matt{display:flex;gap:6px 10px;flex-wrap:wrap;font-size:12px;color:var(--tx-mute);padding:6px 0 0}.txs-matt label{border:0!important;gap:4px!important}
.txs-cmp.mode-m{box-shadow:0 0 0 1.5px #0A6CF5,0 6px 18px rgba(16,24,40,.08)}
.txs-newmail{all:unset;cursor:pointer;display:block;text-align:center;font-size:13px;font-weight:600;color:#0A6CF5;background:#E8F0FE;border-radius:11px;padding:9px;margin-bottom:12px}
html.dark .txs-newmail{background:#1C2B45;color:#8AB4FF}
.txs-toast{position:fixed;right:20px;bottom:88px;z-index:1500;background:#1C2230;color:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 18px 50px rgba(0,0,0,.35);width:320px;font-size:13px;display:flex;flex-direction:column;gap:6px}
.txs-toast b{font-size:13.5px}.txs-toast a{color:#8AB4FF!important;font-weight:600}.txs-toast button{all:unset;cursor:pointer;position:absolute;right:10px;top:8px;color:#A9B0BD}
@media (max-width:1100px){.txs-layout{grid-template-columns:1fr!important}.txs-side{position:static}.txs-panel{max-height:none}.txs-props{grid-template-columns:1fr}}
@media (max-width:700px){.txs-sheet{padding:18px 16px}.txs .txs-title{font-size:24px!important}.txs-sub{margin-left:0}.txs-pr .k{width:104px}.txs-top .esc-hint,.txs-top .tx-copy span{display:none}}
@media print{
  #side,.topbar,.txs-top .tx-acts,.txs-side,.txs-addbar,.txs-add,.xa-add,.rt-bar,.desc-exp,.txs-ia,.txs-ha,.tx-cov-x,.txs-morep,.tf-bar,.tf-drop,.tf-acts{display:none!important}
  .txs-layout{display:block!important}.txs-sheet{box-shadow:none;border:0;padding:0}.txs{padding:0}
  .txs-props .txs-pr.is-empty{display:none!important}.txs-sec.is-empty{display:none!important}
}

.txs .desc-wrap.editing:not(.big) .rt-bar{display:none}
.txs .desc-wrap.editing:focus-within .rt-bar{display:flex}
.txs .txc .c-body{margin:3px 0 0!important;padding:0!important}
.txs .txc .c-body img{max-height:160px}
/* campos en la hoja: sin cajas grises hasta pasar por encima */
.txs-sheet .tx-r .tx-v>input:not([type=checkbox]),.txs-sheet .tx-r .tx-v>select,.txs-sheet .tx-r .tx-v>textarea,.txs-sheet .tx-r .tx-v .field-input{background:transparent!important;box-shadow:none!important;border-color:transparent!important;transition:background .12s}
.txs-sheet .tx-r .tx-v>input:not([type=checkbox]):hover,.txs-sheet .tx-r .tx-v>select:hover,.txs-sheet .tx-r .tx-v>textarea:hover{background:var(--tx-soft)!important}
.txs-sheet .tx-r .tx-v>input:not([type=checkbox]):focus,.txs-sheet .tx-r .tx-v>textarea:focus{background:var(--tx-soft)!important;outline:2px solid var(--tx-blue)}
.txs-sheet .tx-r .tx-v>input::placeholder{color:var(--tx-faint)}
.txs .txs-mailf .txs-matt input[type=checkbox]{all:revert;margin:0;accent-color:#0A6CF5}
.txs-panel{max-height:calc(100vh - 160px)}
html.dark .txs-lk.k-waits,html.dark .txs-due.warn,html.dark .txs-chip.warn,html.dark .txc-asg,html.dark .txs-asgf{background:#3A2A12;color:#F5B35C}
html.dark .txs-lk.k-blocks,html.dark .txs-due.late,html.dark .txs-chip.late{background:#3A1C1C;color:#F28B82}
html.dark .txs-rem{background:#2A2450;color:#B4A5FF}
html.dark .txc-asg.ok{background:#173322;color:#6FD39A}
html.dark .txc-asg button{background:#2E3644;color:#E7EAF0}
html.dark .txs-timer:hover{background:#173322}html.dark .txs-timer.run{background:#3A1C1C;color:#F28B82}
html.dark .txc-rx.mine{background:#1C2B45;box-shadow:0 0 0 1px #3B6FC4}

/* ===== v0.112 · Copias: comprobar, recuento y aviso ===== */
.bk-ver{border-left:4px solid #22C55E;margin:0 0 14px}.bk-ver.bad{border-left-color:#DC2626;background:#FEF2F2}
html.dark .bk-ver.bad{background:#2A1717}
.bk-ver h2{margin:0 0 8px;font-size:16px}
.bk-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.bk-checks li{display:flex;gap:10px;align-items:flex-start}
.bk-checks i{font-style:normal;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;background:#22C55E;flex:none}
.bk-checks li.bad i{background:#DC2626}
.bk-count{margin:0 0 16px}
.bk-count-h{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.bk-count-h h2{margin:0;font-size:16px}
.bk-ct{width:100%;border-collapse:collapse;font-size:13px}
.bk-ct th{text-align:left;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-weight:700;padding:6px 8px;border-bottom:1px solid var(--line)}
.bk-ct td{padding:6px 8px;border-bottom:1px solid var(--line2,#F1F3F5)}
.bk-ct td:nth-child(n+2),.bk-ct th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.bk-ct tr.diff td{background:#FEF2F2;color:#B42318;font-weight:600}
html.dark .bk-ct tr.diff td{background:#2A1717;color:#F28B82}
.bk-verdict{font-weight:700;margin:10px 0 4px}.bk-verdict.ok{color:#15803D}.bk-verdict.bad{color:#B42318}
.bk-miss{margin:4px 0 0;padding-left:18px}
.bk-verify-f{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bk-alert{display:flex;gap:10px;align-items:center;background:#FFF4E5;color:#7A4A00;border:1px solid #F5C27A;border-radius:12px;padding:10px 14px;margin:10px 24px 0;font-size:13px}
.bk-alert a{font-weight:700;color:#7A4A00!important}
html.dark .bk-alert{background:#3A2A12;color:#F5B35C;border-color:#6B4A1A}html.dark .bk-alert a{color:#F5B35C!important}

/* ---------------- v0.113 · Buscador de proyectos (DXProjPick) ---------------- */
.pp-pop{position:fixed;z-index:9600;background:#fff;color:#1C2230;border-radius:16px;box-shadow:0 24px 60px rgba(16,24,40,.25),0 0 0 1px rgba(16,24,40,.07);overflow:hidden;font-size:13px;display:flex;flex-direction:column}
.pp-q{display:flex;gap:8px;align-items:center;padding:4px 14px;border-bottom:1px solid #EEF0F3;color:#8A93A3}
.pp-q input{flex:1;border:0!important;outline:none;background:transparent!important;box-shadow:none!important;font:inherit;font-size:14px;color:inherit;padding:10px 0!important;min-width:0}
.pp-pop .pp-q input{color:#1C2230}
.pp-list{max-height:340px;overflow:auto;padding-bottom:4px}.pp-list.pp-tall{max-height:min(60vh,520px)}
.pp-list h6{margin:0;padding:10px 14px 4px;font-size:10.5px;letter-spacing:1px;color:#8A93A3;font-weight:700}
.pp-it{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;font:inherit;color:inherit;padding:8px 14px;text-align:left;cursor:pointer}
.pp-it.on{background:#E8F0FE}
.pp-it.cur .pp-n{font-weight:700}
.pp-n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pp-it small{color:#8A93A3;font-size:11.5px;white-space:nowrap}
.pp-tag{width:32px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:10px;font-weight:800;color:#fff;flex:none;letter-spacing:.3px}
.pp-tag-none{background:#C3C9D3}
.pp-none .pp-n{color:#B42318;font-weight:600}
.pp-pop mark{background:#FFE58F;color:inherit;border-radius:3px;padding:0 1px}
.pp-ft{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid #EEF0F3;font-size:12.5px}
.pp-link{border:0;background:transparent;color:#0A6CF5;font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:none}
.pp-link:hover{text-decoration:underline}
.pp-keys{color:#8A93A3}.pp-keys kbd{font:600 10.5px ui-monospace,Menlo,monospace;background:#F2F3F5;border-radius:5px;padding:2px 5px;color:#5B6474;margin-right:2px}
.pp-empty{padding:14px;color:#8A93A3;margin:0}
html.dark .pp-pop{background:#1C222C;color:#E7EAF0;box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px #313947}
html.dark .pp-pop .pp-q input{color:#E7EAF0}html.dark .pp-q,html.dark .pp-ft{border-color:#313947}
html.dark .pp-it.on{background:#1C2B45}html.dark .pp-keys kbd{background:#2A3240;color:#AEB6C6}
html.dark .pp-pop mark{background:#6B5A12;color:#fff}

/* ---------------- v0.114 · Visor flotante de archivos (DXVisor) · v0.120.5: prefijo dxfv (antes chocaba con dubXvideo) ---------------- */
.dxfv{position:fixed;inset:0;z-index:9700}
.dxfv[hidden]{display:none}
html.dxfv-open{overflow:hidden}
.dxfv-back{position:absolute;inset:0;background:rgba(10,14,22,.72);backdrop-filter:blur(3px)}
.dxfv-win{position:absolute;inset:24px;background:#141922;color:#E7EAF0;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.5);display:flex;flex-direction:column;overflow:hidden}
.dxfv-top{display:flex;align-items:center;gap:14px;padding:10px 12px 10px 20px;background:#0F131A;flex:none}
.dxfv-tt{flex:1;min-width:0;display:flex;flex-direction:column}.dxfv-name{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dxfv-meta{font-size:12px;color:#A9B0BD}
.dxfv-tools{display:flex;align-items:center;gap:4px}.dxfv-pos{font-size:12px;color:#A9B0BD;margin-right:6px;white-space:nowrap}
.dxfv-tools button,.dxfv-tools a{all:unset;cursor:pointer;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#E7EAF0}
.dxfv-tools button:hover,.dxfv-tools a:hover{background:rgba(255,255,255,.1)}
.dxfv-tools button:focus-visible,.dxfv-tools a:focus-visible{outline:2px solid #5B9BFF}
.dxfv-tools [hidden]{display:none}
.dxfv .dxfv-z{display:none}.dxfv.can-zoom:not(.mini) .dxfv-z{display:grid}
.dxfv .dxfv-tobig{display:none}.dxfv.mini .dxfv-tobig{display:grid}.dxfv.mini .dxfv-tomini{display:none}
.dxfv-stage{flex:1;min-height:0;overflow:auto;display:flex}
.dxfv-view{margin:auto;padding:18px;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%;box-sizing:border-box}
.dxfv-view.k-img img{max-width:100%;max-height:calc(100vh - 190px);border-radius:8px;cursor:zoom-in;display:block}
.dxfv.zoomed .dxfv-view.k-img img{cursor:zoom-out}
.dxfv-view video{max-width:100%;max-height:calc(100vh - 190px);border-radius:10px;background:#000}
.dxfv-view audio{width:min(520px,90vw)}.dxfv-aud{font-size:64px;color:#5B9BFF}
.dxfv-view.k-pdf,.dxfv-view.k-text,.dxfv-view.k-office{width:min(1100px,100%);margin:0 auto}
.dxfv-pdf{display:flex;flex-direction:column;gap:14px;width:100%;align-items:center}.dxfv-pdf canvas{background:#fff;border-radius:4px;box-shadow:0 4px 18px rgba(0,0,0,.4)}
.dxfv-txt{background:#fff;color:#1C2230;font:13px/1.6 ui-monospace,Menlo,Consolas,monospace;border-radius:10px;padding:18px 20px;white-space:pre-wrap;word-break:break-word;width:100%;box-sizing:border-box;margin:0;tab-size:4}
.dxfv-wait,.dxfv-note{color:#A9B0BD;font-size:13px;margin:0}.dxfv-note.top{align-self:flex-start}
.dxfv-none{text-align:center;padding:40px}.dxfv-ext{display:inline-grid;place-items:center;width:72px;height:88px;border-radius:12px;background:#2A3240;font-weight:800;font-size:16px}
.dxfv-dlbig{display:inline-block;margin-top:8px;background:#0A6CF5;color:#fff;border-radius:10px;padding:9px 16px;font-weight:600;text-decoration:none}
.dxfv-strip{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;background:#0F131A;flex:none}.dxfv-strip[hidden]{display:none}
.dxfv-th{all:unset;cursor:pointer;width:52px;height:40px;border-radius:7px;overflow:hidden;background:#2A3240;display:grid;place-items:center;font-size:10px;font-weight:700;flex:none;opacity:.6}
.dxfv-th img{width:100%;height:100%;object-fit:cover}.dxfv-th.on{opacity:1;box-shadow:0 0 0 2px #5B9BFF}
/* ventanita */
.dxfv.mini{inset:auto;width:0;height:0}
.dxfv.mini .dxfv-back{display:none}
.dxfv.mini .dxfv-win{position:fixed;inset:auto 20px 20px auto;width:min(380px,calc(100vw - 40px));height:300px;border-radius:14px;resize:both}
.dxfv.mini .dxfv-top{cursor:move;padding:6px 6px 6px 12px}.dxfv.mini .dxfv-tools button,.dxfv.mini .dxfv-tools a{width:28px;height:28px}
.dxfv.mini .dxfv-pos,.dxfv.mini .dxfv-meta,.dxfv.mini .dxfv-strip{display:none}
.dxfv.mini .dxfv-view{padding:8px}.dxfv.mini .dxfv-view.k-img img,.dxfv.mini .dxfv-view video{max-height:220px}
.dxfv.mini .dxfv-txt{font-size:11px;padding:10px}
@media (max-width:640px){.dxfv-win{inset:0;border-radius:0}.dxfv-pos{display:none}}

/* v0.114 · Materiales: botones y etiquetas cuadrados (como VÍDEO), no pastillas redondas */
.mtk-add,.mtk-env{border:0!important;border-radius:7px!important;background:#E8F0FE;color:#0A5BD3!important;font-weight:700!important;font-size:11.5px!important;padding:5px 9px!important;white-space:nowrap;margin-left:0}
.mtk-add:hover,.mtk-env:hover{background:#D6E4FD}
.mtk-env{margin-left:auto}
.mtk-chip{border-radius:7px!important;padding:3px 9px 3px 3px!important}
.mtk-chip .mtk-av{border-radius:5px!important}
.mtk-ch span{border-radius:8px!important;padding:7px 12px!important}
.mtk-pp span{border-radius:8px!important}
.mtk-pp span i{border-radius:6px!important}
html.dark .mtk-add,html.dark .mtk-env{background:#1C2B45;color:#9CC0FF!important}
.dxfv.mini .dxfv-note{display:none}

/* v0.114.1: cabecera de cada lista con fondo (gris suave por defecto, más marcado que la fila de columnas) */
.sheet > .sheet-head{background:#ECEEF2}
.sheet[data-hb="none"] > .sheet-head{background:#fff}
.sheet[data-hb="c"] > .sheet-head{background:color-mix(in srgb,var(--hb) 16%,#fff)}
.sheet > .sheet-head .sheet-count{background:rgba(255,255,255,.75)}
.le-colors .hb-sw{background:color-mix(in srgb,var(--hb) 18%,#fff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--hb) 55%,#fff)}
.le-colors .hb-plain{box-shadow:inset 0 0 0 1px rgba(0,0,0,.14)}
.hb-swatches .hb-sep{width:1px;height:22px;background:var(--line);margin:0 3px}

/* v0.115 (maqueta 48): ¿dónde se hace Auto-TC? — en este ordenador o en un equipo de la red */
.atcw h2{margin-bottom:4px}
.atcw-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.atcw-opt{border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s}
.atcw-opt.on{border-color:#0A6CF5;box-shadow:0 0 0 3px #E3EEFF}
.atcw-opt.dis{opacity:.7}
.atcw-h{display:flex;align-items:center;gap:10px;font-size:16px;cursor:pointer;margin:0}
.atcw-h input{width:18px;height:18px;accent-color:#0A6CF5;margin:0}
.atcw-p{margin:0 0 0 28px;color:var(--muted,#6B7382);font-size:13px;line-height:1.45}
.atcw-opt .atc-engine,.atcw-opt .atcb-caps,.atcw-steps,.atcw-nodes,.atcw-add,.atcw-found{margin-left:28px}
.atcw-opt .atcb-caps{display:flex;flex-wrap:wrap;gap:8px}
.atcw-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.atcw-steps div{background:#F7F8FA;border-radius:12px;padding:10px 12px;font-size:12.5px;color:#5B6474;line-height:1.4}
.atcw-steps b{display:block;color:var(--ink,#1C2230);font-size:13px;margin-bottom:2px}
.atcw-nodes{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.atcw-node{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #F1F3F5;font-size:13px;cursor:pointer;margin:0;font-weight:400}
.atcw-node:last-child{border-bottom:0}
.atcw-node.sel{background:#F4F8FF}
.atcw-node input{width:16px;height:16px;accent-color:#0A6CF5;margin:0;flex:none}
.atcw-ic{width:30px;height:30px;border-radius:8px;background:#F2F3F5;display:grid;place-items:center;font-size:14px;flex:none}
.atcw-n{flex:1;min-width:0;display:flex;flex-direction:column}
.atcw-n b{color:var(--ink,#1C2230);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atcw-n small{color:#8A93A3;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atcw-s{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#8A93A3;white-space:nowrap}
.atcw-s i{width:8px;height:8px;border-radius:50%;background:#C3C9D3}
.atcw-s.ok{color:#15803D}.atcw-s.ok i{background:#22A06B}
.atcw-s.busy{color:#B45309}.atcw-s.busy i{background:#E8A23F}
.atcw-s.ko{color:#B42318}.atcw-s.ko i{background:#E5484D}
.atcw-x{border:0;background:none;color:#A0A7B4;font-size:18px;line-height:1;padding:2px 4px;cursor:pointer;border-radius:6px}
.atcw-x:hover{background:#F2F3F5;color:#B42318}
.atcw-empty{margin:0;padding:12px}
.atcw-add{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}
.atcw-add label,.atcw-f{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:#8A93A3;letter-spacing:.3px;margin:0}
.atcw-add input,.atcw-f input{height:34px;border:1px solid var(--line);border-radius:9px;padding:0 10px;font-size:13px;min-width:0}
.atcw-add label:first-child{flex:1 1 200px}.atcw-add label:nth-child(2){width:150px}
.atcw-found .atcw-node{border:1px dashed var(--line);border-radius:12px;margin-top:8px}
.atcw-share{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:16px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:#FAFBFC}
.atcw-st{flex:1 1 280px;display:flex;flex-direction:column;gap:2px;font-size:13px}
.atcw-st b{font-size:14px}
.atcw-f input{width:180px}.atcw-f input[type=password]{width:170px}
.atcw-sw{position:relative;width:38px;height:22px;flex:none;margin:0;cursor:pointer}
.atcw-sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.atcw-sw i{position:absolute;inset:0;border-radius:999px;background:#D7DBE2;transition:background .15s}
.atcw-sw i:after{content:'';position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.atcw-sw input:checked + i{background:#22A06B}.atcw-sw input:checked + i:after{left:18px}
@media (max-width:700px){.atcw-steps{grid-template-columns:1fr}.atcw-opt .atc-engine,.atcw-opt .atcb-caps,.atcw-steps,.atcw-nodes,.atcw-add,.atcw-found,.atcw-p{margin-left:0}}
/* en la ventana de Auto-TC del pautado */
.atc-where{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#F4F8FF;border:1px solid #D6E4FF;margin:10px 0 4px;font-size:13px}
.atc-where>div{flex:1;min-width:0;line-height:1.35}.atc-where small{color:#6B7382}
.atc-where .atc-dot.on{background:#22A06B}
.atc-where-s{position:relative;display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 1px #DDE1E7;font-weight:600;font-size:12.5px;margin:0;cursor:pointer}
.atc-where-s span:after{content:' ▾'}
.atc-where-s select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.atcw{text-align:left}
.atcw label.atcw-h,.atcw label.atcw-node{flex-direction:row;align-items:center;text-align:left}
.atcw label.atcw-h{gap:10px;font-size:16px;color:var(--ink,#1C2230)}
.atcw label.atcw-node{gap:10px;color:var(--ink2)}
.atcw label.atcw-sw{display:block}
.atcw .atcb-caps{margin-top:0}
.atcw .atcb-caps .btn.primary{background:#0A6CF5;color:#fff}
.atcw .atcb-caps .btn.primary:hover{background:#0B5ED7;color:#fff}
.atcw .atcw-opt .atc-engine{font-weight:600;font-size:13.5px;line-height:1.4}

/* v0.115.2 (maqueta 49): Administración con pestañas, grupos por espacio y ventanas laterales */
.adm{max-width:1280px}
.adm-hd{display:flex;align-items:flex-end;gap:16px;margin-bottom:6px}
.adm-hd h1{margin:0;font-size:26px;letter-spacing:-.6px}.adm-hd p{margin:4px 0 0}
.adm-hd .btn{margin-left:auto}
.adm-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:10px 0 16px;position:sticky;top:var(--top-h,56px);background:var(--bg,#F4F5F7);z-index:5;overflow-x:auto}
.adm-tabs button{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border:0;background:none;font:inherit;font-weight:600;font-size:14px;color:#5B6474;border-bottom:2.5px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}
.adm-tabs button.on{color:#0A6CF5;border-color:#0A6CF5}
.adm-tabs i{font-style:normal;background:#E9ECF0;color:#5B6474;border-radius:6px;font-size:11px;padding:1px 6px;font-weight:700}
.adm-tabs button.on i{background:#E3EEFF;color:#0A6CF5}
.adm-tabs i.warn{background:#FDECEC;color:#B42318}
.adm-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.adm-srch{flex:1 1 260px;max-width:440px;height:38px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:0 12px;color:#8A93A3}
.adm-srch input{border:0!important;outline:0;background:none;flex:1;font-size:14px;height:100%;padding:0;box-shadow:none!important}
.adm-seg{display:inline-flex;background:#E9ECF0;border-radius:10px;padding:3px;gap:2px}
.adm-seg button,.adm-seg label{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;padding:6px 11px;border:0;border-radius:8px;font:inherit;font-size:12.5px;font-weight:600;color:#5B6474;background:none;cursor:pointer;margin:0}
.adm-seg button.on,.adm-seg label:has(input:checked){background:#fff;color:#1C2230;box-shadow:0 1px 2px rgba(0,0,0,.1)}
.adm-seg i{font-style:normal;color:#8A93A3;font-weight:600}
.adm-seg input{position:absolute;opacity:0;pointer-events:none}
.adm-sp{flex:1}
.adm-grp{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px}
.adm-gh{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:#F7F8FA;border:0;font:inherit;font-weight:700;font-size:14px;color:var(--ink,#1C2230);cursor:pointer;text-align:left}
.adm-gh small{color:#8A93A3;font-weight:600;font-size:12px}
.adm-chev{margin-left:auto;color:#8A93A3;font-size:12px;font-weight:600}
.adm-sq{width:22px;height:22px;border-radius:6px;display:inline-grid;place-items:center;font-size:11px;font-weight:800;flex:none}
.adm-sq.lg{width:38px;height:38px;border-radius:10px;font-size:15px}
table.adm-tb{width:100%;border-collapse:collapse;font-size:13.5px}
.adm-tb th{font-size:10.5px;color:#8A93A3;text-align:left;padding:8px 14px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;border-bottom:1px solid #F1F3F5;background:#fff}
.adm-tb td{padding:9px 14px;border-bottom:1px solid #F1F3F5}
.adm-tb tr:last-child td{border-bottom:0}
.adm-tb tbody tr:hover td{background:#FAFBFC}
.adm-tb .w-n{width:80px}.adm-tb .w-a{width:120px;white-space:nowrap}.adm-tb .w-s{width:120px}.adm-tb .w-x{width:44px;text-align:right}
.adm-tb.flat{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;border-collapse:separate;border-spacing:0}
.adm-st{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:10.5px;font-weight:700;letter-spacing:.3px}
.adm-st.ac{background:#E7F6EC;color:#15803D}.adm-st.ar{background:#F2F3F5;color:#8A93A3}.adm-st.tp{background:#EFEDFF;color:#5B3FD9}
.adm-mn{width:30px;height:30px;border-radius:8px;border:0;background:#F2F3F5;color:#5B6474;font-weight:800;cursor:pointer}
.adm-mn:hover{background:#E3E6EB}
.adm-more{display:block;width:100%;text-align:left;padding:10px 14px;border:0;border-top:1px solid #F1F3F5;background:#fff;color:#0A6CF5;font:inherit;font-weight:600;font-size:12.5px;cursor:pointer}
.adm-pop{position:absolute;z-index:80;background:#fff;border-radius:12px;box-shadow:0 12px 36px rgba(16,24,40,.18);padding:5px;min-width:150px;display:flex;flex-direction:column}
.adm-pop a,.adm-pop button{padding:8px 12px;border-radius:8px;text-align:left;border:0;background:none;font:inherit;font-size:13.5px;color:var(--ink,#1C2230);text-decoration:none;cursor:pointer}
.adm-pop a:hover,.adm-pop button:hover{background:#F2F3F5}
.adm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.adm-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;text-align:left;cursor:pointer}
.adm-card:hover{box-shadow:0 4px 14px rgba(16,24,40,.08)}
.adm-card b{display:block;font-size:15px;color:var(--ink,#1C2230)}.adm-card small{color:#8A93A3;font-size:12.5px}
.adm-card.add{border-style:dashed;justify-content:center;color:#0A6CF5;font-weight:600}
.adm-tplh{display:flex;align-items:center;gap:16px;margin-bottom:14px}.adm-tplh .btn{flex:none}
.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.adm-kpis>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.adm-kpis small{display:block;color:#8A93A3;font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.adm-kpis b{display:block;font-size:17px;margin:4px 0 2px}.adm-kpis b.ok{color:#15803D}.adm-kpis b.ko{color:#B42318}
.adm-kpis span{color:#6B7382;font-size:12.5px}
.adm-bkb{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.adm-bkb form{margin:0}
.adm-back{position:fixed;inset:0;background:rgba(16,24,40,.28);z-index:90}
.adm-sheet{position:fixed;top:12px;right:12px;bottom:12px;width:min(440px,calc(100vw - 24px));z-index:91;background:#fff;border-radius:18px;box-shadow:0 20px 60px rgba(16,24,40,.25);display:flex}
.adm-sheet-in{display:flex;flex-direction:column;width:100%;margin:0}
.adm-sh{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);font-size:16px}
.adm-x{margin-left:auto;border:0;background:#F2F3F5;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:#5B6474;cursor:pointer;text-decoration:none}
.adm-sb{flex:1;overflow:auto;padding:16px 20px;display:grid;gap:12px;align-content:start}
.adm-sb label{font-size:11.5px;font-weight:700;color:#8A93A3;letter-spacing:.3px}
.adm-sb input:not([type=radio]):not([type=color]),.adm-sb select{height:36px;border-radius:9px;font-size:14px;color:var(--ink,#1C2230);font-weight:500}
.adm-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.adm-lbl{display:block;font-size:11.5px;font-weight:700;color:#8A93A3;letter-spacing:.3px;margin-bottom:6px}
.adm-sf{display:flex;gap:8px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line)}
html.adm-lock{overflow:hidden}
@media (max-width:700px){.adm-hd{flex-wrap:wrap}.adm-tb .w-a,.adm-tb .w-n{display:none}.adm-tplh{flex-direction:column;align-items:flex-start}.adm-two{grid-template-columns:1fr}}
.adm-tb a.strong{color:var(--ink,#1C2230);text-decoration:none;font-weight:600}.adm-tb a.strong:hover{color:#0A6CF5}

/* v0.115.3: historial del guion */
.pt-save-b{cursor:pointer;border-radius:6px;padding:2px 6px}.pt-save-b:hover{background:#EEF2F7;color:var(--ink,#1C2230)}
.pt-save-b:after{content:' · historial';opacity:.7}
.pt-hist{max-width:560px;width:100%}
.pt-hist-l{max-height:min(52vh,420px);overflow:auto;border:1px solid var(--line);border-radius:12px;margin:10px 0}
.pt-hist-r{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid #F1F3F5}.pt-hist-r:last-child{border-bottom:0}
.pt-hist-r>div{flex:1;min-width:0}.pt-hist-r small{display:block;color:#8A93A3}
.pt-hist-now{font-size:10.5px;font-weight:700;background:#E7F6EC;color:#15803D;border-radius:6px;padding:1px 6px;margin-left:4px}
.pt-hist-f code{font-size:11.5px;word-break:break-all}
/* v0.116: atril del actor en «Tablets de sala» */
.sl-page .sl-card .sl-atril{grid-column:1/-1;grid-row:auto;display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;border-top:1px dashed var(--d-ring,#DDE1E7);padding-top:10px;min-width:0}
.sl-page .sl-atril>.sl-qr{grid-row:auto;flex:none;width:64px;height:64px}
.sl-page .sl-atril>.sl-main{flex:1 1 180px;grid-row:auto;grid-column:auto;min-width:0}
.sl-page .sl-atril>.sl-acts{flex:1 1 100%;grid-row:auto;grid-column:auto}
.sl-page .sl-at{font-size:13px}
.sl-page .sl-atril .sl-none{font-size:12px;line-height:1.4}
.sl-page .sl-atril .sl-noqr{display:grid;place-items:center;font-size:24px;color:#8A93A3;cursor:default}

/* v0.117 (maqueta 52) · Pautado de una serie: saltar de episodio arriba, en una cápsula Diseño DubXpro */
.pt-head .pt-eps{display:inline-flex;align-items:center;gap:2px;background:#E2E5EA;border-radius:11px;padding:3px;flex:none}
.pt-head .pt-ep-b,.pt-head .pt-ep-all{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:8px;color:#1E2533;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}
.pt-head .pt-ep-b:hover,.pt-head .pt-ep-all:hover{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06)}
.pt-head .pt-ep-b.off{color:#A3ABB8;cursor:default}.pt-head .pt-ep-b.off:hover{background:transparent;box-shadow:none}
.pt-head .pt-ep-all{color:#0A6CF5;font-weight:600}
.pt-head .pt-ep-now select{height:30px;border:0;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06);padding:0 26px 0 10px;font:700 13px/1 'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:#1E2533;cursor:pointer}
html.dark .pt-head .pt-eps{background:#2D3648}
html.dark .pt-head .pt-ep-b,html.dark .pt-head .pt-ep-all{color:#EEF1F6}
html.dark .pt-head .pt-ep-all{color:#7DB4FF}
html.dark .pt-head .pt-ep-b:hover,html.dark .pt-head .pt-ep-all:hover{background:#46516A;box-shadow:none}
html.dark .pt-head .pt-ep-now select{background:#46516A;color:#EEF1F6;box-shadow:none}

/* v0.117 (maqueta 52) · Convocar: varias series y películas en una sesión — fichas por episodio y barra de tiempo */
.cvx{--x-card:#F6F7F9;--x-ink:#1E2533;--x-mut:#5B6474;--x-line:#E1E4E9;--x-cap:#E2E5EA;--x-field:#FFFFFF;display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}
html.dark .cvx{--x-card:#222A3A;--x-ink:#EEF1F6;--x-mut:#A3ACBC;--x-line:#323C50;--x-cap:#2D3648;--x-field:#2D3648}
.cvx-list{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}
.cvx-who{display:flex;align-items:center;gap:14px;padding:4px 2px 2px}
.cvx-who h2{margin:0;font-size:24px;letter-spacing:-.4px}
.cvx-who small{color:var(--x-mut);font-size:13px}
.cvx-av{width:52px;height:52px;border-radius:50%;background:#FDF0E8;color:#9A3412;display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
.cvx-pj{background:var(--x-card);color:var(--x-ink);border-radius:16px;box-shadow:0 2px 6px rgba(16,24,40,.08);padding:16px 18px}
.cvx-pj header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cvx-pic{width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--pc) 13%,transparent);color:var(--pc);display:grid;place-items:center;flex:none}
.cvx-pt{flex:1;min-width:0}
.cvx-pt > div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cvx-pt > div b{font-size:16px}
.cvx-pt small{display:block;font-size:12.5px;color:var(--x-mut);margin-top:2px}.cvx-pt small b{color:var(--x-ink)}
.cvx-kind{font-size:11px;font-weight:700;letter-spacing:.6px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--pc) 13%,transparent);color:var(--pc)}
.cvx-sel{font-size:12.5px;color:var(--x-mut)}.cvx-sel b{color:var(--x-ink)}
.cvx-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.cvx-it{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:96px;padding:9px 12px;border-radius:12px;background:var(--x-field);color:var(--x-ink);box-shadow:0 0 0 1px var(--x-line);cursor:pointer;transition:background .12s,box-shadow .12s,transform .08s}
.cvx-it:hover{transform:translateY(-1px)}
.cvx-it input{position:absolute;opacity:0;pointer-events:none}
.cvx-it:focus-within{outline:2px solid #0A6CF5;outline-offset:2px}
.cvx-l{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700}
.cvx-l i::before{content:"+"}
.cvx-it small{font-size:11.5px;opacity:.85}
.cvx-it.on{background:var(--pc);color:#fff;box-shadow:0 4px 12px rgba(16,24,40,.18)}
.cvx-it.on .cvx-l i::before{content:"✓"}
.cvx-w{font-style:normal;width:16px;height:16px;border-radius:5px;background:#FFE4B0;color:#7A4B00;display:grid;place-items:center;font-size:11px}
.cvx-warn{margin:10px 0 0;font-size:12px;color:#7A4B00;background:#FFF6E5;border-radius:10px;padding:7px 10px}
html.dark .cvx-warn{background:#3A2E14;color:#F6D58F}
.cvx-ses{flex:1 1 380px;max-width:440px;background:var(--x-card);color:var(--x-ink);border-radius:16px;box-shadow:0 12px 30px rgba(16,24,40,.16);padding:18px;position:sticky;top:16px}
.cvx-k{display:block;font-size:11px;font-weight:700;letter-spacing:.9px;color:#0A6CF5}
.cvx-k2{margin-top:16px;color:var(--x-mut)}
.cvx-ses h2{margin:2px 0 12px;font-size:19px;letter-spacing:-.3px}
.cvx-when{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cvx-when label,.cvx-notes{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;color:var(--x-mut)}
.cvx-span2{grid-column:1 / -1}
.cvx-when input,.cvx-when select,.cvx-notes textarea{height:34px;border:0;border-radius:9px;background:var(--x-field);box-shadow:0 0 0 1px var(--x-line);padding:0 10px;font:600 14px 'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--x-ink);box-sizing:border-box;width:100%}
.cvx-notes{margin-top:14px}.cvx-notes textarea{height:auto;padding:8px 10px;font-weight:400}
.cvx-total{margin-top:16px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cvx-total b{font-size:26px;letter-spacing:-.5px}.cvx-total span{font-size:13px;color:var(--x-mut)}
.cvx-tl{display:flex;gap:2px;height:34px;margin-top:8px;border-radius:10px;overflow:hidden;background:var(--x-cap)}
.cvx-tl.over{box-shadow:0 0 0 2px #E8A33A}
.cvx-seg{min-width:4px;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.cvx-free{display:grid;place-items:center;font-size:11px;color:var(--x-mut)}
.cvx-axis{display:flex;justify-content:space-between;font-size:11.5px;color:var(--x-mut);margin-top:5px}
.cvx-fit{display:flex;gap:10px;align-items:flex-start;margin-top:12px;border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.45;color:var(--x-mut);background:var(--x-cap)}
.cvx-fit.bad{background:#FFF6E5;box-shadow:0 0 0 1px #F3DDB0;color:#7A4B00}
.cvx-fit.ok{background:#E4F4EC;color:#145C3A}
html.dark .cvx-fit.bad{background:#3A2E14;color:#F6D58F;box-shadow:none}html.dark .cvx-fit.ok{background:#143222;color:#86EFAC}
.cvx-fi{flex:none;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.6)}
.cvx-ord{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.cvx-ord li{display:flex;align-items:center;gap:10px;background:var(--x-field);border-radius:10px;padding:8px 10px;box-shadow:0 0 0 1px var(--x-line);font-size:13px}
.cvx-ord li i{width:10px;height:10px;border-radius:3px;flex:none}
.cvx-on{flex:1;min-width:0}
.cvx-ord small{color:var(--x-mut);font-size:12px;white-space:nowrap}
.cvx-go{display:flex;gap:8px;margin-top:16px}
.cvx-b,.cvx-pri{flex:1;height:42px;border:0;border-radius:11px;font:600 14px/1 'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;cursor:pointer}
.cvx-b{background:var(--x-cap);color:var(--x-ink)}.cvx-pri{background:#0A6CF5;color:#fff}.cvx-pri:hover{background:#0960DA}
.cvx-foot{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--x-mut)}
@media (max-width:900px){.cvx-ses{position:static;max-width:none}}

/* v0.118: campos de Tiempo (hh:mm:ss) */
.c-time input[data-time]{font-variant-numeric:tabular-nums;letter-spacing:.2px}
.sheet-sum{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:12px;font-weight:600;color:#4B5563;white-space:nowrap}
.sheet-sum b{color:#4F46E5;font-weight:700;font-variant-numeric:tabular-nums}
.sheet-sum[hidden]{display:none}
.mat-sc{display:inline-flex;flex-direction:column;justify-content:center;gap:0;margin:10px 0 0 8px;padding:6px 12px;line-height:1.3;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,#fff 85%,transparent);vertical-align:top;cursor:text}
.mat-sc small{display:block;font-size:10px;font-weight:700;letter-spacing:.7px;color:#8A93A3}
.mat-sc b,.mat-sc input{font:600 12.5px/1.3 inherit;font-variant-numeric:tabular-nums;color:var(--ink)}
.mat-sc input{width:84px;height:17px;border:0;padding:0;margin:0;background:transparent;outline:0;box-shadow:none}
.mat-sc input::placeholder{color:#B4BBC7;font-weight:500}
.mat-sc.empty{border-style:dashed;border-color:#F59E0B;background:#FFFBEB}
.mat-sc:focus-within{border-color:#4F46E5;box-shadow:0 0 0 3px rgba(79,70,229,.15)}

/* v0.119.0 · Conexión segura (maqueta 53) */
.cs-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:14px;display:flex;flex-direction:column;gap:4px}
.cs-t{font-size:16px;font-weight:700}.cs-t small{font-weight:500;margin-left:6px}
.cs-st{display:flex;gap:14px;align-items:center}.cs-grow{flex:1;min-width:0}.cs-st .cs-grow{display:flex;flex-direction:column}
.cs-lock{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#FFF1D6;color:#7A4B00;flex:0 0 44px}.cs-lock.on{background:#E4F4EC;color:#145C3A}
.cs-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11.5px;font-weight:700;letter-spacing:.2px;white-space:nowrap}
.cs-tag.ok{background:#E4F4EC;color:#145C3A}.cs-tag.w{background:#FFF1D6;color:#7A4B00}.cs-tag.g{background:#EEF0F3;color:#3D424C}
.cs-kv{display:grid;grid-template-columns:210px 1fr;gap:9px 18px;margin:14px 0 0}.cs-kv dt{color:#6B7382}.cs-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.cs-note{color:#6B7382;font-size:12.5px;margin:10px 0 0}
.cs-edit{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cs-edit label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:13px}.cs-edit small{font-weight:400;color:#6B7382}
.cs-edit input:not([type=checkbox]){padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400}
.cs-edit .cs-chk{flex-direction:row;align-items:center;gap:8px;grid-column:1/-1;font-weight:500}.cs-edit .adm-bkb{grid-column:1/-1;margin:0}
.cs-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}
.cs-dl>div{border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.cs-dl span{color:#6B7382;font-size:12.5px;flex:1}
.cs-qr{display:flex;gap:14px;align-items:center;margin-top:12px}.cs-qr img{width:180px;height:180px;image-rendering:pixelated;border:1px solid var(--line);border-radius:8px}
.cs-bar{display:flex;align-items:center;gap:12px;background:#FFF1D6;border:1px solid #F2D9A6;color:#7A4B00;border-radius:10px;padding:10px 14px;margin:12px 24px 0}
.cs-bar span{flex:1}
.cs-mw{position:fixed;inset:0;background:rgba(20,25,35,.4);display:grid;place-items:center;z-index:9000;padding:16px}
.cs-m{position:relative;width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#1F2430;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);padding:24px 26px}
.cs-m h3{margin:0 0 4px;font-size:20px}.cs-m .muted{margin:0;overflow-wrap:anywhere}
.cs-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:22px;cursor:pointer;color:#6B7382}
.cs-os{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 8px}.cs-os button{padding:6px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;font-weight:600;font-size:13px;cursor:pointer}
.cs-os button.on{border-color:var(--accent,#2E6AED);background:#EAF0FD;color:var(--accent,#2E6AED)}
.cs-steps{list-style:none;margin:0;padding:0;counter-reset:s}.cs-steps li{counter-increment:s;display:flex;gap:12px;padding:10px 0;border-top:1px solid #EEF0F3}
.cs-steps li:before{content:counter(s);flex:0 0 26px;height:26px;border-radius:50%;background:#EAF0FD;color:#2E6AED;font-weight:700;display:grid;place-items:center}
.cs-big{display:block;text-align:center;padding:12px;font-size:15px;margin-top:12px}
.cs-row{display:flex;align-items:center;gap:12px;margin-top:12px}.cs-msg{flex:1;font-size:13px;color:#6B7382}.cs-msg.ok{color:#145C3A;font-weight:600}.cs-msg.ko{color:#8A1C1C}
@media (max-width:700px){.cs-kv{grid-template-columns:1fr}.cs-edit{grid-template-columns:1fr}.cs-bar{flex-wrap:wrap;margin:10px 12px 0}}
html.dark .cs-card,html.dark .cs-m,html.dark .cs-os button{background:#1E2430;color:#E7E9EE}
.cs-bb{display:flex;gap:8px;margin:0}

/* ── v0.120.0 · marca dubXpro en la cabecera (maqueta 55) ── */
.top .dx-brand{margin:0 auto;display:inline-flex;align-items:center;gap:9px;padding:5px 10px;border-radius:12px;text-decoration:none;color:#1E2633;flex:none;transition:background .15s}
.top .dx-brand:hover{background:rgba(22,103,255,.06)}
.top .dx-brand img{height:28px;width:auto;display:block}
.top .dx-wm{display:block;height:23px;color:#1E2633}
.top .dx-wm svg{height:100%;width:auto;display:block}
.top .dx-ver{font-size:11.5px;font-weight:600;color:#6B7486;background:#EEF1F5;border-radius:6px;padding:3px 8px;white-space:nowrap}
.top .me{margin-left:0}
html.dark .top .dx-brand,html.dark .top .dx-wm{color:#F1F4FA}
html.dark .top .dx-ver{background:rgba(255,255,255,.08);color:#AEB8CC}
html.dark .top .dx-brand:hover{background:rgba(255,255,255,.06)}
@media (max-width:900px){.top .dx-ver{display:none}}
@media (max-width:640px){.top .dx-wm{display:none}.top .dx-brand{padding:4px}}

/* ── v0.120.0 · entrada animada (maqueta 54) ── */
.dx-intro{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:#fff;animation:dxiBack 4.6s ease forwards}
.dx-intro[hidden]{display:none}
.dx-intro-card{position:relative;width:min(560px,86vw);aspect-ratio:1.18;background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(16,24,48,.28),0 0 0 1px rgba(16,24,48,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;overflow:hidden;animation:dxiCard 4.6s cubic-bezier(.2,.7,.2,1) forwards}
.dx-intro-sym{width:46%;height:auto;opacity:0;filter:blur(14px) saturate(.2) brightness(1.6);transform:scale(.9) translateY(8px);animation:dxiSym 1.6s .35s cubic-bezier(.2,.7,.2,1) forwards}
.dx-intro-wm{height:clamp(44px,9.6vw,70px);color:#1E2633}
.dx-intro-wm svg{height:100%;width:auto;display:block;overflow:visible}
.dx-intro-wm .dx-wm-a{opacity:0;transform-box:fill-box;transform:translateY(6%);animation:dxiL .9s calc(1.35s + var(--i) * .08s) cubic-bezier(.2,.7,.2,1) forwards}
.dx-intro-wm .dx-wm-x{opacity:0;transform-box:fill-box;transform-origin:50% 60%;transform:scale(1.35);animation:dxiX .9s 1.6s cubic-bezier(.2,.7,.2,1) forwards}
.dx-intro-ver{font-size:13px;font-weight:600;color:#8A93A5;letter-spacing:.02em;opacity:0;animation:dxiF .8s 2.7s ease forwards}
.dx-intro-shine{position:absolute;inset:-20%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.85) 50%,transparent 60%);transform:translateX(-120%);animation:dxiShine 1.1s 2.5s ease-in-out forwards;pointer-events:none}
.dx-intro-skip{position:absolute;bottom:16px;font-size:12px;color:#A3ABBB;opacity:0;animation:dxiF .6s 1s ease forwards}
.dx-intro-skip kbd{font:600 11px system-ui;border:1px solid #D8DDE6;border-bottom-width:2px;border-radius:5px;padding:1px 6px;color:#6B7486;background:#F7F8FA}
.dx-intro.out{animation:dxiOut .25s ease forwards}
.dx-intro.done{display:none}
@keyframes dxiBack{0%{background:#fff}10%{background:rgba(255,255,255,.55);backdrop-filter:blur(10px)}86%{background:rgba(255,255,255,.55);backdrop-filter:blur(10px)}100%{background:rgba(255,255,255,0);backdrop-filter:none}}
@keyframes dxiCard{0%{transform:scale(.97)}10%{transform:scale(1)}86%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.03)}}
@keyframes dxiSym{to{opacity:1;filter:none;transform:none}}
@keyframes dxiL{to{opacity:1;transform:none}}
@keyframes dxiX{to{opacity:1;transform:none}}
@keyframes dxiF{to{opacity:1}}
@keyframes dxiShine{to{transform:translateX(120%)}}
@keyframes dxiOut{to{opacity:0}}
@media (prefers-reduced-motion:reduce){.dx-intro,.dx-intro *{animation-duration:.01s!important;animation-delay:0s!important}}

/* ── v0.120.0 · gráfico del doblaje encima de todo (maqueta 56) ── */
.dx-gf-ov{position:fixed;inset:0;z-index:9000;background:#fff;animation:dxgfIn .18s ease}
.dx-gf-ov iframe{width:100%;height:100%;border:0;display:block}
html.dark .dx-gf-ov{background:#0F1524}
@keyframes dxgfIn{from{opacity:0;transform:scale(.99)}to{opacity:1;transform:none}}
.dx-gf-open{display:inline-flex;align-items:center;gap:7px}

/* ── v0.120.2 · Mis tareas: seleccionar varias y actuar en bloque ── */
.myt-r{grid-template-columns:18px 22px minmax(0,1fr) 170px 140px 92px 52px}
.myt-sel{position:relative;width:18px;height:18px;display:block;cursor:pointer}
.myt-sel.no{cursor:default}
.myt-sel input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.myt-sel i{display:block;width:16px;height:16px;border-radius:4px;border:1.6px solid #C4CAD4;background:#fff;opacity:0;transition:opacity .12s,background .12s,border-color .12s}
.myt-r:hover .myt-sel i,.myt-selecting .myt-sel i,.myt-sel input:focus-visible+i{opacity:1}
.myt-sel input:focus-visible+i{outline:2px solid #1667FF;outline-offset:2px}
.myt-sel input:checked+i{background:#1667FF;border-color:#1667FF;opacity:1}
.myt-sel input:checked+i::after{content:"";display:block;width:8px;height:4px;margin:4px 0 0 3px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg)}
.myt-r.sel{background:#F1F6FF}
.myt-selbar{position:fixed;left:0;right:0;margin:0 auto;width:max-content;bottom:22px;z-index:60;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#141B2D;color:#fff;border-radius:14px;padding:8px 10px 8px 16px;box-shadow:0 14px 40px rgba(16,24,48,.35);max-width:calc(100vw - 32px)}
.myt-selbar[hidden]{display:none}
.myt-selbar.busy{opacity:.6;pointer-events:none}
.myt-selbar b{font-size:13.5px;margin-right:4px;white-space:nowrap}
.myt-sb{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;color:#E6EAF2;white-space:nowrap}
.myt-sb:hover{background:rgba(255,255,255,.1)}
.myt-sb:focus-visible{outline:2px solid #7EA8FF}
.myt-sb.ok{color:#86EFAC}.myt-sb.warn{color:#FCD34D}.myt-sb.del{color:#FCA5A5}
.myt-sbsep{width:1px;height:22px;background:rgba(255,255,255,.18)}
.myt-sbx{all:unset;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;font-size:20px;cursor:pointer;color:#AEB8CC}
.myt-sbx:hover{background:rgba(255,255,255,.1);color:#fff}
html.dark .myt-r.sel{background:rgba(22,103,255,.14)}
html.dark .myt-sel i{background:transparent;border-color:#4A5672}
@media (max-width:760px){.myt-r{grid-template-columns:18px 22px minmax(0,1fr) auto}.myt-pj{grid-column:3 / -1}.myt-st{grid-column:3}.myt-d{grid-column:4}.myt-sel i{opacity:1}}

/* ── v0.120.4 · ficha del usuario (maqueta 59) ── */
.ue{max-width:900px;margin:0 auto;padding:22px 24px 60px}
.ue-crumb{color:#6B7486;font-size:13px;text-decoration:none}.ue-crumb:hover{color:#1667FF}
.ue-head{display:flex;align-items:center;gap:16px;margin:10px 0 20px;flex-wrap:wrap}
.ue-av{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#12B8FF,#0046DC);color:#fff;display:grid;place-items:center;font-weight:800;font-size:21px;flex:none}
.ue-hd{min-width:0}.ue-hd h1{margin:0;font-size:27px;letter-spacing:-.6px}
.ue-sub{color:#6B7486;font-size:13px;display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:3px}
.ue-tag{font-size:10.5px;font-weight:700;letter-spacing:.04em;border-radius:4px;padding:3px 7px;background:#EAF1FF;color:#1667FF;white-space:nowrap}
.ue-tag.g{background:#E8F7EF;color:#067647}.ue-tag.r{background:#FDECEC;color:#B42318}.ue-tag.p{background:#F1ECFF;color:#5B3CC4}
.ue-sp{flex:1}
.ue-card{background:#fff;border:1px solid #E3E7EE;border-radius:16px;padding:20px 22px;margin-bottom:16px}
.ue-card h2{margin:0 0 3px;font-size:16px;letter-spacing:-.2px}
.ue-d{color:#6B7486;font-size:13px;margin:0 0 14px}
.ue-small{font-size:12.5px;color:#4A5262;margin:0}
.ue-g2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ue-f{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#4A5262}
.ue-f em{font-style:normal;font-weight:500;color:#8A93A5}
.ue-f input,.ue-pwin input,.ue-pick input,.ue-delf input{height:42px;border:1px solid #DCE1EA;border-radius:10px;padding:0 12px;font:inherit;font-size:14px;font-weight:500;color:#1E2633;background:#fff;width:100%;box-sizing:border-box}
.ue-f input:focus,.ue-pick input:focus,.ue-pwin input:focus{outline:none;border-color:#1667FF;box-shadow:0 0 0 3px rgba(22,103,255,.12)}
.ue-pw{height:42px;border:1px solid #DCE1EA;border-radius:10px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#1E2633}
.ue-lnk{all:unset;color:#1667FF;font-weight:600;font-size:13px;cursor:pointer}
.ue-warn{color:#B45309;font-weight:500}
.ue-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.ue-role{position:relative;border:1.5px solid #E3E7EE;border-radius:12px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.ue-role input{position:absolute;opacity:0;pointer-events:none}
.ue-role b{font-size:14px}.ue-role span{color:#6B7486;font-size:12.5px;line-height:1.4}
.ue-role:has(input:checked){border-color:#1667FF;background:#F3F7FF;box-shadow:0 0 0 3px rgba(22,103,255,.12)}
.ue-role:has(input:focus-visible){outline:2px solid #1667FF;outline-offset:2px}
.ue-sub2{font-size:11px;font-weight:700;letter-spacing:.06em;color:#8A93A5;text-transform:uppercase;margin:18px 0 8px}
.ue-seg{display:inline-flex;background:#F1F3F7;border-radius:10px;padding:3px;flex-wrap:wrap}
.ue-seg label{cursor:pointer}.ue-seg input{position:absolute;opacity:0;pointer-events:none}
.ue-seg span{display:block;padding:8px 14px;border-radius:8px;font-weight:600;font-size:13px;color:#4A5262}
.ue-seg input:checked+span{background:#fff;color:#1E2633;box-shadow:0 1px 3px rgba(16,24,48,.14)}
.ue-seg input:focus-visible+span{outline:2px solid #1667FF}
.ue-tg{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #EEF1F5;cursor:pointer;position:relative}
.ue-card h2+.ue-d+.ue-tg{border-top:0}
.ue-tg>span{flex:1;display:flex;flex-direction:column}.ue-tg b{font-size:14px}.ue-tg small{color:#6B7486;font-size:12.5px}
.ue-tg input{position:absolute;opacity:0;pointer-events:none}
.ue-tg i{width:44px;height:26px;border-radius:13px;background:#D5DAE3;position:relative;flex:none;transition:background .15s}
.ue-tg i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
.ue-tg input:checked+i{background:#22C55E}.ue-tg input:checked+i::after{left:21px}
.ue-tg input:focus-visible+i{outline:2px solid #1667FF;outline-offset:2px}
.ue-tg.off{opacity:.45;cursor:not-allowed}
.ue-chips{display:flex;flex-wrap:wrap;gap:8px}
.ue-chip{cursor:pointer}.ue-chip input{position:absolute;opacity:0;pointer-events:none}
.ue-chip span{display:block;border:1.5px solid #DCE1EA;border-radius:6px;padding:6px 11px;font-weight:600;font-size:13px;color:#4A5262;background:#fff}
.ue-chip input:checked+span{border-color:#1667FF;background:#1667FF;color:#fff}
.ue-chip input:focus-visible+span{outline:2px solid #1667FF;outline-offset:2px}
.ue-pick{position:relative}
.ue-dd{position:absolute;top:48px;left:0;right:0;max-height:340px;overflow:auto;background:#fff;border:1px solid #DCE1EA;border-radius:12px;box-shadow:0 18px 40px rgba(16,24,48,.18);padding:6px;z-index:20}
.ue-gh{font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#8A93A5;padding:8px 10px 4px;display:flex;align-items:center}
.ue-gh button{all:unset;margin-left:auto;color:#1667FF;letter-spacing:0;font-size:11.5px;cursor:pointer}
.ue-it{all:unset;box-sizing:border-box;width:100%;padding:8px 10px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer}
.ue-it:hover,.ue-it:focus-visible{background:#F1F6FF}.ue-it.on{opacity:.5;cursor:default}
.ue-it i,.ue-r i{width:9px;height:9px;border-radius:2px;flex:none}.ue-it small{margin-left:auto;color:#8A93A5}
.ue-sel{margin-top:12px;border:1px solid #EEF1F5;border-radius:12px}
.ue-r{display:flex;align-items:center;gap:10px;padding:9px 12px 9px 14px;border-top:1px solid #EEF1F5;font-size:13.5px}.ue-r:first-child{border-top:0}
.ue-r small{color:#8A93A5}
.ue-x{all:unset;margin-left:auto;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;color:#8A93A5;font-size:18px;cursor:pointer}.ue-x:hover{background:#FDECEC;color:#B42318}
.ue-none{color:#8A93A5;font-size:13px;padding:10px 14px;margin:0}
.ue-danger{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.ue-danger>div:first-child{flex:1;min-width:260px}
.ue-dact{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ue-dact form{margin:0}
.ue-red{color:#B42318;border-color:#F3C7C2}
.ue-delf{display:flex;gap:8px}.ue-delf input{width:170px}
html.dark .ue-card{background:#141B2D;border-color:#25304A}
html.dark .ue-f input,html.dark .ue-pwin input,html.dark .ue-pick input,html.dark .ue-pw,html.dark .ue-chip span,html.dark .ue-delf input{background:#1A2338;border-color:#2C3852;color:#E6EAF2}
html.dark .ue-role{border-color:#2C3852}html.dark .ue-role:has(input:checked){background:rgba(22,103,255,.14)}
html.dark .ue-seg{background:#1A2338}html.dark .ue-seg input:checked+span{background:#2C3852;color:#fff}
html.dark .ue-tg,html.dark .ue-r,html.dark .ue-sel{border-color:#25304A}html.dark .ue-dd{background:#141B2D;border-color:#2C3852}
@media (max-width:640px){.ue-g2{grid-template-columns:1fr}.ue-head .btn{flex:1}}
.ue label.ue-tg{flex-direction:row;align-items:center;text-align:left;font-size:inherit;color:inherit;gap:14px}
.ue label.ue-role,.ue label.ue-seg-l{text-align:left}
.ue .ue-seg label,.ue label.ue-chip{display:block;gap:0}
.ue label.ue-role{gap:2px;font-size:inherit;color:inherit}
.ue .ue-pwbox{display:flex;flex-direction:column;gap:10px}.ue .ue-pwbox[hidden]{display:none}
.ue .ue-pwbox .pw-repeat{font-weight:600;font-size:12px;color:#4A5262}

/* v0.121 · dubXtitle en el menú: su color propio (verde agua), como en la maqueta 63 */
.nav-dxt .dubx-word b{color:#2DD4BF}
html.side-light .nav-dxt .dubx-word b{color:#0D9488}
.nav-dxt .nav-group a.on{background:#0D9488}
html.side-light .nav-dxt .nav-group a.on{background:#E3F4F1;color:#0B7F75}
html.side-light .nav-dxt .nav-group a.on svg{color:#0D9488}
.nav-dxt .mod-dot{background:#14B8A6}
/* ficha del usuario: interruptores de módulos */
.ue-modw{font-weight:700}.ue-modw b{color:#2E6AED}
.ue-mod-dxt .ue-modw b{color:#0D9488}

/* v0.124 · Auto-TC: conexiones de otros equipos (en el Mac que procesa) */
.atcw-conx{margin-top:12px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}
.atcw-conx-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid #F1F3F5}
.atcw-conx-h b{font-size:13.5px;color:var(--ink,#1C2230)}
.atcw-cx{cursor:default}
.cs-eq .cs-dl > div.cs-mine{border-color:#0A6CF5;box-shadow:0 0 0 3px rgba(10,108,245,.12)}
.cs-eq .cs-note{margin:12px 0}

/* ───────── v0.125 · Copias de seguridad (maqueta 71) y elegir carpeta estilo Finder ───────── */
.bx{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
.bx [hidden]{display:none!important}
.bx-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.bx-title{display:flex;flex-direction:column;gap:6px;max-width:740px}
.bx-kick{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#0A6CF5}
.bx-title h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-.5px;color:#15171C}
.bx-title p{margin:0;font-size:14px;line-height:1.5;color:#5B6474}
.bx-acts{display:flex;gap:8px;flex-wrap:wrap}.bx-acts form{margin:0}
.bx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 15px;border:0;border-radius:10px;font-family:inherit;font-weight:600;font-size:13.5px;line-height:1;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,box-shadow .15s}
.bx-btn.pri{background:#0A6CF5;color:#fff}.bx-btn.pri:hover{background:#0960DA}
.bx-btn.sec{background:#E2E5EA;color:#1E2533}.bx-btn.sec:hover{background:#D7DBE1}
.bx-btn.sm{height:30px;padding:0 11px;font-size:12.5px;border-radius:8px}
.bx-btn:disabled{opacity:.5;cursor:default}
.bx-ghost{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#5B6474;cursor:pointer;list-style:none}
.bx-ghost::-webkit-details-marker{display:none}.bx-ghost:hover{background:#EEF0F3;color:#1E2533}.bx-ghost:disabled{opacity:.35;cursor:default;background:transparent}
.bx-card{background:#fff;border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 0 0 1px rgba(16,24,40,.06)}
.bx-lbl{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#5B6474}
.bx-state{display:flex;flex-wrap:wrap;align-items:center;gap:22px;padding:20px 24px}
.bx-shield{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;flex:none}
.bx-shield.ok{background:#E4F4EC;color:#15803D}.bx-shield.bad{background:#FEF3F2;color:#B42318}.bx-shield.g{background:#EEF0F3;color:#5B6474}
.bx-st-t{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:4px}
.bx-st-t b{font-size:18px;color:#15171C}.bx-st-t span{font-size:13.5px;color:#5B6474}
.bx-kpis{display:flex;gap:28px;flex-wrap:wrap}
.bx-kpis>div{display:flex;flex-direction:column;gap:4px}.bx-kpis b{font-size:15px;font-weight:600;color:#15171C}
.bx-diskk{min-width:150px}
.bx-bar{display:block;height:6px;border-radius:3px;background:#EEF0F3;overflow:hidden}.bx-bar i{display:block;height:100%;background:#0A6CF5;border-radius:3px}
.bx-alert{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;border-radius:14px;background:#FEF3F2;box-shadow:0 0 0 1px #FDD8D3;color:#B42318}
.bx-alert>div{flex:1 1 340px;display:flex;flex-direction:column;gap:2px}.bx-alert b{font-size:14px;color:#912018}.bx-alert span{font-size:13px;color:#7A271A}
.bx-alert form{margin:0}.bx-alert .bx-btn.sec{background:#fff}
.bx-cols{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start}
.bx-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}
.bx-form{display:flex;flex-direction:column;gap:18px;margin:0}
.bx-ch{padding:18px 18px 14px;display:flex;flex-direction:column;gap:4px}
.bx-ch b{font-size:16px;color:#15171C}.bx-ch span{font-size:13px;color:#5B6474}
.bx-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid #EEF0F3;margin:0;font-weight:400}
.bx-row form{margin:0}
.bx-rt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bx-rt b{font-size:13.5px;color:#15171C}.bx-rt small{font-size:12.5px;color:#5B6474;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bx-chk{cursor:pointer}.bx-chk input,.bx-mini input,.bx-owners input{width:18px;height:18px;accent-color:#0A6CF5;margin:0;flex:none}
.bx-chk .bx-rt small{white-space:normal}
.bx-mini{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#3D424C;margin-top:6px;font-weight:400;cursor:pointer}.bx-mini input{width:15px;height:15px}
.bx-ic{width:36px;height:36px;border-radius:10px;background:#F2F3F5;color:#3D424C;display:grid;place-items:center;flex:none}
.bx-ic.b{background:#EAF2FF;color:#0A6CF5}.bx-ic.auto{background:#EAF2FF;color:#0A6CF5}.bx-ic.ant{background:#FFF7E8;color:#B45309}.bx-ic.man{background:#F2F3F5;color:#3D424C}
.bx-tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:600;white-space:nowrap;flex:none}
.bx-tag i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.8}
.bx-tag.ok{background:#E4F4EC;color:#145C3A}.bx-tag.bad{background:#FEF3F2;color:#B42318}.bx-tag.g{background:#EEF0F3;color:#3D424C}.bx-tag.w{background:#FFF1D6;color:#7A4B00}
.bx-tag.auto{background:#EAF2FF;color:#0A4FC4}.bx-tag.ant{background:#FFF1D6;color:#7A4B00}.bx-tag.man{background:#EEF0F3;color:#3D424C}
.bx-cap{display:inline-flex;align-items:center;gap:2px;background:#E2E5EA;border-radius:11px;padding:3px;flex-wrap:wrap}
.bx-cap label,.bx-cap>button{margin:0;position:relative}
.bx-cap label input{position:absolute;opacity:0;pointer-events:none}
.bx-cap label span,.bx-cap>button{display:inline-flex;align-items:center;height:30px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#1E2533;font-family:inherit;font-weight:500;font-size:13px;line-height:1;white-space:nowrap;cursor:pointer}
.bx-cap label input:checked+span,.bx-cap>button.on{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06);font-weight:600}
.bx-cap label input:focus-visible+span{outline:2px solid #0A6CF5;outline-offset:1px}
.bx-when{flex-wrap:wrap;gap:16px 24px;align-items:flex-end}
.bx-f{display:flex;flex-direction:column;gap:6px}
.bx-sel{height:36px;border:0;border-radius:10px;background:#EEF0F3;padding:0 32px 0 12px;font-family:inherit;font-weight:600;font-size:13px;color:#1E2533;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#5B6474 50%),linear-gradient(135deg,#5B6474 50%,transparent 50%);background-position:calc(100% - 16px) 16px,calc(100% - 11px) 16px;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
.bx-step>button{width:30px;justify-content:center;padding:0;font-size:16px}
.bx-step input{width:44px;height:30px;border:0;background:transparent;text-align:center;font-family:inherit;font-weight:600;font-size:13px;color:#1E2533;-moz-appearance:textfield}
.bx-step input::-webkit-inner-spin-button,.bx-step input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.bx-step>span{font-size:12.5px;color:#5B6474;padding-right:6px}
.bx-sugg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0 18px 12px 66px;margin-top:-4px}
.bx-pill{height:26px;padding:0 10px;border:1px solid #E2E5EA;border-radius:7px;background:#fff;color:#3D424C;font-family:inherit;font-weight:500;font-size:12px;cursor:pointer}
.bx-pill:hover{border-color:#0A6CF5;color:#0A6CF5}.bx-pill.no{color:#A0A7B4}
.bx-save{display:flex;align-items:center;justify-content:flex-end;gap:12px}.bx-save span{font-size:12.5px;color:#B45309;font-weight:600}
.bx-save.in{padding:12px 18px;border-top:1px solid #EEF0F3}
.bx-rec>summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none}
.bx-rec>summary::-webkit-details-marker{display:none}
.bx-rec>summary .bx-rt small{white-space:normal}
.bx-more{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#0A6CF5;flex:none}
.bx-more svg{color:#5B6474;transition:transform .2s}.bx-more .c{display:none}
.bx-rec[open]>summary .bx-more .o{display:none}.bx-rec[open]>summary .bx-more .c{display:inline}.bx-rec[open]>summary .bx-more svg{transform:rotate(180deg)}
.bx-stats{padding:4px 18px 14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.bx-stat{background:#F7F8FA;border-radius:12px;padding:11px 13px;display:flex;flex-direction:column;gap:3px}
.bx-stat span{font-size:12px;color:#5B6474}.bx-stat b{font-size:18px;color:#15171C;font-variant-numeric:tabular-nums}.bx-stat small{font-size:11.5px;color:#15803D}
.bx-stat.diff{background:#FEF3F2}.bx-stat.diff small{color:#B42318}
.bx-note{margin:0 18px 10px;font-size:12.5px}.bx-note.ok{color:#15803D}.bx-note.bad{color:#B42318}
.bx-miss{margin:0 18px 12px;padding-left:18px;font-size:12.5px}.bx-miss span{color:#5B6474}
.bx-sub{margin:0 18px 16px}.bx-sub summary{font-size:12.5px;color:#0A6CF5;cursor:pointer}
.bx-tb{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.bx-tb td{padding:4px 8px;border-top:1px solid #EEF0F3}.bx-tb tr.diff td{color:#B42318}
.bx-owners{margin:0}
.bx-help{padding:0 18px 16px;font-size:13px;color:#3D424C}.bx-help p{margin:0 0 8px}
.bx-help pre{background:#F2F3F5;border-radius:8px;padding:8px 10px;font-size:12px;overflow-x:auto;margin:0 0 10px}
.bx-ver{padding-bottom:6px}.bx-ver.ok .bx-ch b{color:#15803D}.bx-ver.bad .bx-ch b{color:#B42318}
.bx-checks{list-style:none;margin:0;padding:0 18px 12px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.bx-checks li{display:flex;gap:8px}.bx-checks i{font-style:normal;font-weight:700}.bx-checks .ok i{color:#15803D}.bx-checks .bad i{color:#B42318}
.bx-list{flex:1 1 400px;min-width:0;overflow:hidden}
.bx-lh{padding:18px 18px 12px;display:flex;flex-direction:column;gap:12px}
.bx-lt{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.bx-lt b{font-size:16px}.bx-lt span{font-size:12.5px;color:#5B6474}
.bx-filt>button{height:28px;padding:0 10px;font-size:12.5px}
.bx-day{padding:9px 18px 6px;background:#F7F8FA;border-top:1px solid #EEF0F3;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#5B6474}
.bx-item{gap:10px}.bx-item .bx-ic{width:34px;height:34px;border-radius:9px}
.bx-l1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bx-l1 b{font-size:14px;font-variant-numeric:tabular-nums}
.bx-empty{padding:0 18px 18px;font-size:13px;color:#5B6474;margin:0}
.bx-menu{position:relative}.bx-menu>summary{list-style:none}
.bx-pop{position:absolute;right:0;top:34px;z-index:30;min-width:220px;background:#fff;border-radius:12px;padding:6px;box-shadow:0 12px 32px rgba(16,24,40,.16),0 0 0 1px rgba(16,24,40,.08);display:flex;flex-direction:column}
.bx-pop form{margin:0}
.bx-pop a,.bx-pop button{display:flex;align-items:center;gap:9px;width:100%;height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#1E2533;font-family:inherit;font-weight:500;font-size:13px;text-decoration:none;cursor:pointer;text-align:left}
.bx-pop a:hover,.bx-pop button:hover{background:#F2F3F5}.bx-pop .bad{color:#B42318}
.bx-restore{border-top:1px solid #EEF0F3}
.bx-restore>summary{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;list-style:none;font-size:12.5px;color:#5B6474}
.bx-restore>summary::-webkit-details-marker{display:none}.bx-restore>summary>span:first-child{flex:1}
.bx-rbody{padding:0 18px 16px;font-size:12.5px;color:#3D424C}.bx-rbody p{margin:0 0 10px}
.bx-up{display:flex;flex-direction:column;gap:8px;margin:0}.bx-up input[type=file]{font-size:12.5px}
.bx-up-b{display:flex;gap:8px;flex-wrap:wrap}
/* elegir carpeta */
.fx{position:fixed;inset:0;z-index:1000;background:rgba(16,20,30,.38);display:grid;place-items:center;padding:16px}
.fx[hidden]{display:none}
.fx-card{width:min(920px,100%);height:min(620px,calc(100vh - 32px));background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(16,24,40,.28);display:flex;flex-direction:column;overflow:hidden}
.fx-top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid #EEF0F3;background:#FAFBFC}
.fx-top>b{font-size:14px;white-space:nowrap}
.fx-nav{display:flex;gap:2px}
.fx-crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:2px;overflow-x:auto;white-space:nowrap}
.fx-crumbs button{border:0;background:transparent;font-family:inherit;font-weight:500;font-size:13px;color:#5B6474;padding:4px 6px;border-radius:6px;cursor:pointer}
.fx-crumbs button:hover{background:#EEF0F3;color:#1E2533}.fx-crumbs button.on{color:#15171C;font-weight:600}
.fx-crumbs i{font-style:normal;color:#A0A7B4}
.fx-search{display:flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:8px;background:#EEF0F3;color:#5B6474;width:180px}
.fx-search input{border:0;background:transparent;outline:0;font-family:inherit;font-size:13px;width:100%;color:#1E2533}
.fx-body{flex:1;min-height:0;display:flex}
.fx-side{width:210px;flex:none;border-right:1px solid #EEF0F3;background:#F7F8FA;overflow-y:auto;padding:10px 8px}
.fx-g{display:flex;flex-direction:column;gap:1px;margin-bottom:12px}
.fx-g>span{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#8A93A3;padding:4px 8px}
.fx-g button{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border:0;border-radius:7px;background:transparent;color:#1E2533;font-family:inherit;font-weight:500;font-size:13px;cursor:pointer;text-align:left}
.fx-g button svg{color:#0A6CF5;flex:none}.fx-g button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-g button:hover{background:#E9ECF0}.fx-g button.on{background:#E2E8F3;font-weight:600}
.fx-main{flex:1;min-width:0;overflow-y:auto}
.fx-list{display:flex;flex-direction:column;padding:6px}
.fx-it{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 6px 0 10px;border-radius:8px;cursor:pointer;user-select:none}
.fx-it:hover{background:#F4F6F9}.fx-it.sel{background:#0A6CF5;color:#fff}.fx-it.sel .fx-fi,.fx-it.sel .fx-ro,.fx-it.sel .fx-go{color:#fff}
.fx-it:focus-visible{outline:2px solid #0A6CF5;outline-offset:-2px}
.fx-fi{color:#3B8BFF;display:grid}.fx-n{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fx-ro{font-size:11.5px;color:#8A93A3}
.fx-go{border:0;background:transparent;color:#8A93A3;font-size:18px;width:28px;height:28px;border-radius:6px;cursor:pointer}.fx-go:hover{background:rgba(0,0,0,.06)}
.fx-empty{padding:24px;text-align:center;color:#5B6474;font-size:13px;margin:0}
.fx-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid #EEF0F3}
.fx-new{display:flex;gap:6px;align-items:center}.fx-new input{height:30px;border:1px solid #D7DBE1;border-radius:8px;padding:0 10px;font-family:inherit;font-size:13px;width:180px}
.fx-w{font-size:12.5px;font-weight:600}.fx-w .ok{color:#15803D}.fx-w .bad{color:#B42318}.fx-sp{flex:1}
@media (max-width:700px){.fx-side{display:none}.fx-search{width:120px}.bx-sugg{padding-left:18px}.bx-state{padding:18px}}

/* ───────── v0.126 · Inicio (maqueta 72): Fichas / Lista / Compacta y colores ───────── */
.hm-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin:4px 0 14px}
.hm-sum{margin-right:auto;font-size:13px;color:#5B6474}
.hm-cap{display:inline-flex;align-items:center;gap:2px;background:#E2E5EA;border-radius:11px;padding:3px}
.hm-cap button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#1E2533;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}
.hm-cap button.on{background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.12),0 0 0 .5px rgba(16,24,40,.06);font-weight:600}
.hm .hm-lista,.hm .hm-compacta{display:none}
.hm[data-view=lista] .hm-fichas,.hm[data-view=compacta] .hm-fichas{display:none}
.hm[data-view=lista] .hm-lista{display:block}.hm[data-view=compacta] .hm-compacta{display:flex}
.hm [hidden]{display:none!important}
.hm .space-title{display:flex;align-items:center;gap:10px}
.hm-line{flex:1;height:2px;border-radius:1px;background:var(--sc);opacity:.25;margin-left:4px}
.hm-open{font-size:12.5px;font-weight:500;color:#5B6474;white-space:nowrap}
.hm .proj-card{position:relative;overflow:hidden}
.hm-top{position:absolute;left:0;right:0;top:0;height:4px;background:var(--pc);z-index:2}
.hm-dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--pc);margin-right:8px;vertical-align:1px;flex:none}
.hm-bar1{display:block;height:5px;border-radius:3px;background:#EEF0F3;overflow:hidden;margin-top:6px}
.hm-bar1 i{display:block;height:100%;background:var(--pc);border-radius:3px}
.hm-lista{background:#fff;border-radius:14px;box-shadow:0 1px 2px rgba(16,24,40,.05),0 0 0 1px rgba(16,24,40,.06);border-left:4px solid var(--sc);overflow-x:auto}
.hm-lista table{width:100%;border-collapse:collapse}
.hm-lista th{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#5B6474;text-align:left;padding:10px 14px;white-space:nowrap}
.hm-lista td{padding:10px 14px;border-top:1px solid #EEF0F3;font-size:13.5px;white-space:nowrap}
.hm-lista td a{color:#15171C;font-weight:600;text-decoration:none;display:inline-flex;align-items:center}.hm-lista td a:hover{color:#0A6CF5}
.hm-lista tr:hover td{background:#FAFBFC}
.hm-pc{width:220px}.hm-pcw{display:flex;align-items:center;gap:10px}.hm-pcw .hm-bar1{flex:1;margin:0}.hm-pcw span.muted{width:38px;text-align:right;font-size:12px}
.hm-many{color:#B45309}
.hm-compacta{flex-wrap:wrap;gap:8px}
.hm-compacta a{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 10px 0 0;border-radius:10px;background:#fff;box-shadow:0 0 0 1px rgba(16,24,40,.08);color:#15171C;font-size:13px;font-weight:600;text-decoration:none;overflow:hidden}
.hm-compacta a::before{content:"";width:4px;align-self:stretch;background:var(--pc);margin-right:2px}
.hm-compacta a:hover{box-shadow:0 0 0 1px #0A6CF5}
.hm-compacta b{font-size:11.5px;background:#F2F3F5;border-radius:6px;padding:2px 6px}
.pm-sw-none{background:repeating-linear-gradient(135deg,#fff 0 5px,#E2E5EA 5px 10px)}

/* ───────── v0.127 · Identidad de los módulos (maqueta 73): dubXpro azul, dubXvideo violeta, dubXtitle verde ───────── */
.dubx-mark.dxv{filter:hue-rotate(52deg) saturate(1.05)}
.dubx-mark.dxt{filter:hue-rotate(-58deg) saturate(1.1)}
.nav-dxv .dubx-word b{color:#A78BFA}html.side-light .nav-dxv .dubx-word b{color:#7C3AED}
.nav-dxv .nav-group a.on{background:#7C3AED;color:#fff}
html.side-light .nav-dxv .nav-group a.on{background:#F1ECFE;color:#6D28D9}html.side-light .nav-dxv .nav-group a.on svg{color:#7C3AED}
.nav-dxv .mod-dot{background:#8B5CF6}
.nav-dxt .dubx-word b{color:#34D399}html.side-light .nav-dxt .dubx-word b{color:#059669}
.nav-dxt .nav-group a.on{background:#059669;color:#fff}
html.side-light .nav-dxt .nav-group a.on{background:#E3F6EE;color:#047857}html.side-light .nav-dxt .nav-group a.on svg{color:#059669}
.nav-dxt .mod-dot{background:#10B981}
html.mod-dxv .nav-dxv{box-shadow:0 0 0 2px #A78BFA;border-radius:14px}
html.mod-dxt .nav-dxt{box-shadow:0 0 0 2px #34D399;border-radius:14px}
html.mod-dxv{--accent:#7C3AED;--accent-soft:#F1ECFE;--brand:#7C3AED;--link:#6D28D9;--bg:#F5F3FB}
html.mod-dxv:not(.side-light){--side:#231C36;--side-on:#3A2D5C}
html.mod-dxv.side-light{--side:#F4F1FB;--side-on:#ECE5FD}
html.mod-dxt{--accent:#059669;--accent-soft:#E3F6EE;--brand:#059669;--link:#047857;--bg:#F2F8F5}
html.mod-dxt:not(.side-light){--side:#14271F;--side-on:#1F3D31}
html.mod-dxt.side-light{--side:#F0F7F3;--side-on:#DDF2E8}
html.mod-dxv .top .dx-brand img{filter:hue-rotate(52deg) saturate(1.05)}
html.mod-dxt .top .dx-brand img{filter:hue-rotate(-58deg) saturate(1.1)}
html.mod-dxv #dxg-top stop:nth-child(1){stop-color:#C4B5FD}html.mod-dxv #dxg-top stop:nth-child(2){stop-color:#8B5CF6}html.mod-dxv #dxg-top stop:nth-child(3){stop-color:#6D28D9}
html.mod-dxt #dxg-top stop:nth-child(1){stop-color:#6EE7B7}html.mod-dxt #dxg-top stop:nth-child(2){stop-color:#10B981}html.mod-dxt #dxg-top stop:nth-child(3){stop-color:#047857}
html.mod-dxv .btn.primary{background:#7C3AED;border-color:#7C3AED}html.mod-dxv .btn.primary:hover{background:#6D28D9}
html.mod-dxt .btn.primary{background:#059669;border-color:#059669}html.mod-dxt .btn.primary:hover{background:#047857}

/* ───────── v0.129 · dubXbox, igual que la maqueta 74 / 74b ───────── */
html.mod-dxb{--accent:#D97706;--accent-soft:#FFF4E0;--brand:#D97706;--link:#B45309;--bg:#F7F4EE}
html.mod-dxb:not(.side-light){--side:#2B2318;--side-on:#44361F}
html.mod-dxb.side-light{--side:#F7F2EA;--side-on:#F6E7CB}
html.mod-dxb .top .dx-brand img,.dubx-mark.dxb{filter:hue-rotate(-178deg) saturate(1.4) brightness(1.05)}
html.mod-dxb #dxg-top stop:nth-child(1){stop-color:#FCD34D}html.mod-dxb #dxg-top stop:nth-child(2){stop-color:#F59E0B}html.mod-dxb #dxg-top stop:nth-child(3){stop-color:#B45309}
html.mod-dxb .btn.primary{background:#D97706;border-color:#D97706}html.mod-dxb .btn.primary:hover{background:#B45309}
.nav-dxb .dubx-word b{color:#FBBF24}html.side-light .nav-dxb .dubx-word b{color:#D97706}
.nav-dxb .nav-group a svg{color:#FBBF24}html.side-light .nav-dxb .nav-group a svg{color:#D97706}
.nav-dxb .nav-group a.on{background:#D97706;color:#fff}.nav-dxb .nav-group a.on svg{color:#fff}
html.side-light .nav-dxb .nav-group a.on{background:#FFF4E0;color:#92400E}html.side-light .nav-dxb .nav-group a.on svg{color:#D97706}
.nav-dxb .mod-dot{background:#F59E0B}
html.mod-dxb .nav-dxb{box-shadow:0 0 0 2px #FBBF24;border-radius:14px}
/* página */
.xb{display:flex;height:calc(100vh - 60px);min-height:540px;background:#F7F4EE;color:#2A2418;font-size:13px}
.xb [hidden]{display:none!important}
/* barra de lugares: oscura y cálida, como la maqueta */
.xb-side{width:240px;flex:none;overflow-y:auto;padding:8px 10px 16px;background:#2B2318;color:#E8E1D6;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#4A3D2A transparent}
.xb-sg{margin:0}.xb-sg>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none}
.xb-sg>summary::-webkit-details-marker,.xb-sp>summary::-webkit-details-marker,.xb-spg>summary::-webkit-details-marker{display:none}
.xb-sl{font-size:10.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;color:#9C917F;padding:12px 10px 4px;border-radius:6px}
.xb-sl:hover{color:#E8E1D6}.xb-sl svg{transition:transform .15s;opacity:.7}.xb-sg:not([open])>.xb-sl svg{transform:rotate(-90deg)}
.xb-sb{display:flex;align-items:center;gap:9px;min-height:30px;padding:0 10px;border-radius:8px;color:#E8E1D6;text-decoration:none;font-size:13px;font-weight:500}
.xb-sb svg{color:#FBBF24;flex:none}.xb-sb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
.xb-sb b{font-weight:500;font-size:11px;color:#9C917F;flex:none}
.xb-sb i{width:9px;height:9px;border-radius:3px;flex:none}
.xb-sb:hover{background:rgba(255,255,255,.06);color:#fff}.xb-sb.on{background:rgba(251,191,36,.18);color:#fff;font-weight:600}.xb-sb.on b{color:#FCD34D}
.xb-sub{padding-left:26px}.xb-more span{color:#FCD34D;font-size:12px}
.xb-pf{display:flex;flex-direction:row;align-items:center;gap:6px;height:28px;margin:4px 4px 4px;padding:0 9px;border-radius:8px;background:rgba(255,255,255,.07);color:#9C917F}
.xb .xb-pf input[type=search],.xb .xb-pf input[type=search]:focus{border:0;background:transparent;outline:0;box-shadow:none;color:#fff;font:inherit;font-size:12.5px;width:100%;min-width:0;height:auto;min-height:0;padding:0;margin:0;-webkit-appearance:none;appearance:none}.xb-pf input::placeholder{color:#8A7F6C}
.xb-pf:focus-within{box-shadow:0 0 0 1.5px #FBBF24}
.xb-sp{margin:1px 0}.xb-sp>summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:28px;padding:0 8px;border-radius:8px;cursor:pointer;color:#C9C1B3;font-size:12px;font-weight:600;user-select:none}
.xb-sp>summary:hover{background:rgba(255,255,255,.05);color:#fff}
.xb-sp>summary svg{flex:none;transition:transform .15s;opacity:.8}.xb-sp[open]>summary svg{transform:rotate(90deg)}
.xb-sp>summary i{width:8px;height:8px;border-radius:50%;flex:none}.xb-sp>summary span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xb-sp>summary b{font-size:11px;font-weight:500;color:#8A7F6C}
.xb-pj{padding-left:24px;min-height:28px;font-size:12.5px}.xb-pj.zero{color:#A99E8B}.xb-pj.zero i{opacity:.55}
.xb-pnone{margin:6px 10px;font-size:12px;color:#9C917F}
.xb-soon{color:#C9C1B3;cursor:default}.xb-soon:hover{background:transparent;color:#C9C1B3}.xb-soon em{font-style:normal;font-size:10.5px;color:#9C917F;background:rgba(255,255,255,.08);border-radius:5px;padding:1px 6px}
.xb-tags{display:flex;gap:8px;flex-wrap:wrap;padding:6px 10px 2px}
.xb-tags a{width:15px;height:15px;border-radius:50%;box-shadow:0 0 0 2px #2B2318;transition:transform .12s}.xb-tags a:hover{transform:scale(1.2)}
.xb-tags a.on{box-shadow:0 0 0 2px #2B2318,0 0 0 4px #FCD34D}.xb-tags a.empty{opacity:.45}
.xb-taghint{display:block;padding:4px 10px 0;font-size:11px;color:#8A7F6C}
.xb-use{margin-top:auto;padding:18px 10px 0;display:flex;flex-direction:column;gap:6px;font-size:11.5px;color:#C9C1B3}
.xb-ubar{height:5px;border-radius:3px;background:rgba(255,255,255,.1);overflow:hidden;display:block}.xb-ubar span{display:block;height:100%;background:#FBBF24;border-radius:3px}
/* barra de arriba */
.xb-main{flex:1;min-width:0;display:flex;flex-direction:column}
.xb-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border-bottom:1px solid #EFE9DF;flex-wrap:wrap}
.xb-ghost{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#6B6152;cursor:pointer}.xb-ghost:hover{background:#EFEAE1}
.xb-crumbs{flex:1;min-width:180px;display:flex;align-items:center;gap:2px;overflow:hidden;white-space:nowrap}
.xb-crumbs a{color:#2A2418;text-decoration:none;font-size:13.5px;font-weight:500;padding:4px 6px;border-radius:6px;overflow:hidden;text-overflow:ellipsis}.xb-crumbs a:hover{background:#F3EDE2;color:#2A2418}.xb-crumbs a.on{font-weight:700}
.xb-crumbs i{font-style:normal;color:#B5AA98;flex:none}.xb-crumbs a{flex:none;white-space:nowrap}.xb-crumbs a:last-child{flex:0 1 auto;min-width:0}.xb-crumbs a:not(:last-child){max-width:220px}
.xb-search{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:9px;background:#F1ECE3;color:#7A6F5E;width:200px;margin:0}
.xb-search:focus-within{box-shadow:0 0 0 2px #FBBF24}
.xb .xb-search input[type=search],.xb .xb-search input[type=search]:focus{border:0;background:transparent;outline:0;font:inherit;font-size:13px;width:100%;color:#2A2418;padding:0;margin:0;box-shadow:none;height:auto;min-height:0;-webkit-appearance:none;appearance:none}
.xb-cap{display:inline-flex;align-items:center;gap:2px;background:#E7E2D9;border-radius:10px;padding:3px}
.xb-cap button,.xb-cap a{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#2A2418;font-family:inherit;font-size:12.5px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}
.xb-cap button:hover,.xb-cap a:hover{color:#2A2418;background:rgba(255,255,255,.5)}
.xb-cap .on,.xb-cap .on:hover{background:#fff;box-shadow:0 1px 3px rgba(40,30,10,.14);font-weight:600}
.xb-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:32px;padding:0 13px;border:0;border-radius:9px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}
.xb-btn.pri{background:#D97706;color:#fff}.xb-btn.pri:hover{background:#B45309;color:#fff}.xb-btn[disabled]{opacity:.45;cursor:not-allowed}.xb-btn.pri[disabled]:hover{background:#D97706}
.xb-btn.sec{background:#EDE7DC;color:#2A2418}.xb-btn.sec:hover{background:#E4DCCD;color:#2A2418}
.xb-btn.ghostw{background:rgba(255,255,255,.14);color:#fff}.xb-btn.ghostw:hover{background:rgba(255,255,255,.24);color:#fff}
.xb-btn.sm{height:30px;font-size:12.5px;padding:0 11px}.xb-btn.xs{height:26px;font-size:11.5px;padding:0 8px;border-radius:7px}
.xb-btn.bad{color:#B42318}.xb-btn.soon{color:#9C917F;cursor:default}
.xb-body{flex:1;min-height:0;display:flex}
.xb-content{flex:1;min-width:0;overflow:auto;padding:18px 18px 40px}
.xb-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.xb-hic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none}
.xb-ht{display:flex;flex-direction:column;min-width:0}.xb-ht b{font-size:18px;letter-spacing:-.2px}.xb-ht small{font-size:12.5px;color:#7A6F5E}
.xb-drophint{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:#FFF7E6;color:#92400E;font-size:12.5px}
/* cabecera de proyecto (74b) */
.xb-hero{display:flex;align-items:flex-end;gap:14px;padding:18px 20px;border-radius:14px;background:linear-gradient(120deg,#222A3A,#2E3A52);color:#fff;margin-bottom:12px}
.xb-hero-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.xb-hero-t small{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.xb-hero-t b{font-size:21px;letter-spacing:-.3px;line-height:1.2}.xb-hero-t span{font-size:12.5px;color:#C7CEDA}
.xb-epbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.xb-eps{flex-wrap:wrap}
.xb-ephint{margin-left:auto;font-size:12px;color:#7A6F5E}
.xb-sel{position:relative;display:inline-flex}
.xb-sel select{appearance:none;-webkit-appearance:none;height:34px;min-height:0;padding:0 30px 0 12px;border:0;border-radius:9px;background:#E7E2D9;color:#2A2418;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}
.xb-sel::after{content:"";position:absolute;right:12px;top:50%;width:7px;height:7px;border-right:2px solid #6B6152;border-bottom:2px solid #6B6152;transform:translateY(-70%) rotate(45deg);pointer-events:none}
/* iconos */
.xb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:6px}
.xb-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;border:0;border-radius:12px;background:transparent;cursor:pointer;font-family:inherit;color:#2A2418;min-width:0;text-decoration:none}
.xb-tile:hover{background:#F3EEE5;color:#2A2418}.xb-tile.sel{background:#FDECC8;box-shadow:inset 0 0 0 1.5px #F59E0B}
.xb-tile:focus-visible,.xb-card:focus-visible{outline:2px solid #D97706;outline-offset:1px}
.xb-tile.zero svg{opacity:.5}.xb-tile.zero small{color:#B5AA98}
.xb-n{font-size:12.5px;font-weight:500;text-align:center;line-height:1.3;max-width:120px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.xb-tile small{font-size:11px;color:#9C917F;text-align:center}
.xb-doc{position:relative;width:46px;height:56px;border-radius:6px;background:#fff;box-shadow:0 1px 3px rgba(40,30,10,.18),0 0 0 1px #EDE6DA;display:grid;place-items:end center;padding-bottom:6px;box-sizing:border-box}
.xb-doc em{font-style:normal;color:#fff;font-size:9.5px;font-weight:700;border-radius:4px;padding:1px 5px;line-height:14px}
.xb-doc i{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;border:2px solid #fff}
/* carpetas del proyecto (74b) */
.xb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.xb-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:0;border-radius:12px;background:#FBF8F3;box-shadow:0 0 0 1px #F0E9DD;cursor:pointer;font-family:inherit;color:#2A2418;text-align:left}
.xb-card:hover{background:#fff;box-shadow:0 0 0 1px #E9DFCD,0 4px 12px rgba(40,30,10,.07)}
.xb-card.sel{background:#FDECC8;box-shadow:inset 0 0 0 1.5px #F59E0B}
.xb-card b{font-size:13.5px}.xb-card span{font-size:12px;color:#7A6F5E}.xb-card.zero svg{opacity:.5}
/* proyectos por espacios */
.xb-spg{margin:0 0 10px}.xb-spg>summary{list-style:none;display:flex;align-items:center;gap:8px;padding:6px 4px;cursor:pointer;user-select:none}
.xb-spg>summary svg{transition:transform .15s;color:#7A6F5E}.xb-spg[open]>summary svg{transform:rotate(90deg)}
.xb-spg>summary i{width:10px;height:10px;border-radius:3px}.xb-spg>summary b{font-size:14px}.xb-spg>summary small{font-size:12px;color:#7A6F5E}
/* lista */
.xb-table{display:none;background:#fff;border-radius:12px;box-shadow:0 0 0 1px #EDE6DA;overflow-x:auto}
.xb-table table{width:100%;border-collapse:collapse}
.xb-table th{font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#7A6F5E;text-align:left;padding:9px 12px;white-space:nowrap}
.xb-table td{padding:9px 12px;border-top:1px solid #F0EBE2;font-size:13px;white-space:nowrap}.xb-table .m{color:#7A6F5E}.xb-table .r{text-align:right}
.xb-table tr[data-item]{cursor:pointer}.xb-table tr[data-item]:hover td{background:#FBF8F3}.xb-table tr.sel td{background:#FDECC8}
.xb-nm{display:inline-flex;align-items:center;gap:10px}.xb-nm b{font-weight:600}.xb-nm em{font-style:normal;width:22px;height:18px;border-radius:4px;color:#fff;font-size:8.5px;font-weight:700;display:grid;place-items:center}
.xb-dot{width:8px;height:8px;border-radius:50%}
.xb-star{color:#F59E0B}
/* columnas */
.xb-cols{display:none;background:#fff;border-radius:12px;box-shadow:0 0 0 1px #EDE6DA;height:calc(100vh - 230px);min-height:380px;overflow:hidden}
.xb-col{width:230px;flex:none;border-right:1px solid #EFE9DF;overflow:auto;padding:6px}.xb-col.wide{flex:1;border-right:0}
.xb-ci{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border:0;border-radius:7px;background:transparent;width:100%;font:500 13px/1 inherit;font-family:inherit;color:#2A2418;cursor:pointer;text-align:left;text-decoration:none;box-sizing:border-box}
.xb-ci span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.xb-ci em{font-style:normal;opacity:.6}.xb-ci>i{width:9px;height:9px;border-radius:3px;flex:none}
.xb-ci:hover{background:#F3EEE5;color:#2A2418}.xb-ci.on,.xb-ci.sel{background:#F59E0B;color:#fff}.xb-ci.on:hover,.xb-ci.sel:hover{color:#fff}
.xb-ce{width:20px!important;height:16px;border-radius:4px;display:grid;place-items:center;color:#fff;font-size:8px!important;font-weight:700;flex:none;opacity:1!important}
.xb-cnone{margin:14px 10px;color:#9C917F;font-size:12.5px}
.xb[data-view=lista] .xb-grid,.xb[data-view=lista] .xb-cards,.xb[data-view=columnas] .xb-grid,.xb[data-view=columnas] .xb-cards,.xb[data-view=columnas] .xb-table,.xb[data-view=columnas] .xb-spg{display:none}
.xb[data-view=lista] .xb-table{display:block}.xb[data-view=columnas] .xb-cols{display:flex}
.xb[data-view=lista] .xb-spg .xb-grid{display:grid}
.xb-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:60px 20px;text-align:center;color:#7A6F5E}.xb-empty b{color:#2A2418;font-size:16px}
/* panel de la derecha */
.xb-insp{width:320px;flex:none;background:#fff;border-left:1px solid #EFE9DF;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:16px}
.xb-ie{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:30px 10px;color:#7A6F5E;font-size:12.5px}.xb-ie b{color:#2A2418;font-size:14px}
.xb-iload{padding:30px;text-align:center;color:#7A6F5E;font-size:13px}
.xb-ip{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border-radius:14px;background:#FBF8F3;text-align:center}
.xb-ip>b{font-size:14.5px;word-break:break-word}.xb-ip>small{font-size:12px;color:#7A6F5E}
.xb-pimg{max-width:100%;max-height:200px;border-radius:8px;box-shadow:0 2px 8px rgba(40,30,10,.12)}
.xb-paper{width:150px;height:190px;background:#fff;border-radius:6px;box-shadow:0 4px 14px rgba(40,30,10,.12),0 0 0 1px #EDE6DA;padding:14px 12px;box-sizing:border-box;display:flex;flex-direction:column;gap:6px;position:relative;text-align:left}
.xb-paper b{font-size:8px;line-height:1.2;max-height:20px;overflow:hidden;color:#2A2418}
.xb-paper i{height:3px;border-radius:2px;background:#EFE9DF;display:block}.xb-paper i:first-of-type{width:70%;background:#E7E0D4}
.xb-paper em{position:absolute;bottom:10px;right:10px;font-style:normal;font-size:9px;font-weight:700;color:#fff;border-radius:4px;padding:1px 5px}
.xb-ib{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.xb-ib.wrap{justify-content:flex-start}
.xb-is{display:flex;flex-direction:column;gap:8px}
.xb-il{font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#7A6F5E}
.xb-sws{display:flex;gap:7px;flex-wrap:wrap}
.xb-sw{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #DDD5C7;cursor:pointer;padding:0}
.xb-sw.on{box-shadow:0 0 0 2px #2A2418}.xb-sw.none{background:repeating-linear-gradient(135deg,#fff 0 4px,#E7E0D4 4px 8px)}
.xb-swn{font-size:11.5px;color:#7A6F5E}
.xb-info{display:flex;flex-direction:column;font-size:12.5px}
.xb-info div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid #F3EEE5}.xb-info div span{color:#7A6F5E}.xb-info div b{font-weight:600;text-align:right;word-break:break-word}
.xb-vers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.xb-vers li{display:flex;align-items:flex-start;gap:10px}
.xb-vl{display:flex;flex-direction:column;align-items:center;padding-top:3px;align-self:stretch}.xb-vd{width:10px;height:10px;border-radius:50%;background:#C9C1B3;flex:none}.xb-vl i{width:2px;flex:1;min-height:22px;background:#EFE9DF;margin:2px 0}
.xb-vers li:last-child .xb-vl i{display:none}.xb-vers li.cur .xb-vd{background:#F59E0B}
.xb-vt{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;min-width:0;padding-bottom:10px}.xb-vt b{font-size:13px}.xb-vt small{width:100%;font-size:11.5px;color:#7A6F5E}
.xb-tag{display:inline-flex;align-items:center;height:20px;font-size:11px;font-weight:600;border-radius:6px;padding:0 7px;background:#F1ECE3;color:#6B6152}
.xb-tag.cur{background:#FDECC8;color:#92400E}.xb-tag.paut{background:#EAF2FF;color:#0A4FC4}
.xb-uso{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:6px 8px;border-radius:8px;background:#FBF8F3;color:#2A2418;text-decoration:none}
.xb-uso i{width:8px;height:8px;border-radius:2px;flex:none}.xb-uso span{margin-left:auto;color:#B45309}.xb-uso:hover{background:#F3EDE2;color:#2A2418}
.xb-note{margin:0;font-size:12px;color:#7A6F5E}
.xb-dropfx{position:fixed;inset:0;z-index:900;background:rgba(217,119,6,.12);display:grid;place-items:center;pointer-events:none}
.xb-dropfx>div{background:#fff;border-radius:18px;padding:28px 40px;box-shadow:0 20px 60px rgba(40,30,10,.25),0 0 0 3px #F59E0B;display:flex;flex-direction:column;align-items:center;gap:8px;color:#D97706}
.xb-dropfx b{color:#2A2418;font-size:16px}.xb-dropfx span{color:#7A6F5E;font-size:13px}
.xb-dlg{border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(40,30,10,.3);width:380px;max-width:calc(100vw - 32px);color:#2A2418}
.xb-dlg::backdrop{background:rgba(30,22,10,.35)}
.xb-dlg form{display:flex;flex-direction:column;gap:12px;padding:20px}.xb-dlg form>b{font-size:16px}
.xb-dlg label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:#6B6152}.xb-dlg label small{font-weight:400}
.xb-dlg .xb-sel select{width:100%;height:36px}.xb-dlg .xb-sel{display:flex}
.xb-dlg input{height:36px;min-height:0;border:0;border-radius:9px;background:#F1ECE3;padding:0 12px;font:inherit;font-size:13px;color:#2A2418}
.xb-dlg .xb-ib{justify-content:flex-end;margin-top:4px}
@media (max-width:1180px){.xb-insp{width:280px}}
@media (max-width:1020px){.xb-insp{display:none}}
@media (max-width:760px){.xb-side{display:none}.xb{height:auto}.xb-search{width:100%}}

/* v0.129.1 · dubXbox: hoja con el texto real del archivo y aviso de vista rápida (Espacio) */
.xb-paper.real{width:190px;height:230px;gap:4px;overflow:hidden}
.xb-paper.real pre{margin:0;font:7.2px/1.45 ui-monospace,Menlo,Consolas,monospace;color:#3B3428;white-space:pre-wrap;word-break:break-word;tab-size:3;overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
.xb-qk{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#7A6F5E}
.xb-qk kbd{font:600 10.5px/1 -apple-system,BlinkMacSystemFont,'SF Pro Text',sans-serif;padding:3px 7px;border-radius:5px;background:#fff;border:1px solid #E2D9CA;box-shadow:0 1px 0 #E2D9CA;color:#4A4234}

/* v0.130 · scriptcleaner en el menú: etiqueta EXTRA (licencia extra) */
.nav-extra{margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.04em;color:#6D4AFF;background:#F1EDFF;border-radius:4px;padding:1px 5px;line-height:15px}
html.dark .nav-extra{color:#C9B8FF;background:#2E2650}
.nav-scl.is-lock{opacity:.7}
.scl-hintbox{margin:8px 0 0;font-size:12.5px;color:#4A3F7A;background:#F4F1FF;border:1px solid #E1D9FF;border-radius:10px;padding:8px 12px}
.scl-hintbox a{color:#5B3CC4;font-weight:600}
html.dark .scl-hintbox{background:#2E2650;border-color:#463B7A;color:#D9CCFF}html.dark .scl-hintbox a{color:#C9B8FF}

/* v0.131.4 · botón «Gráfico» del planning junto a «Revisión de takes», siempre con su nombre */
.dub-tool.t-gf{background:linear-gradient(135deg,#0A6CF5,#1E3A8A)}
.dub-tb .dub-tool.t-gf{background:transparent;color:#222A3A;text-shadow:none;box-shadow:none;font-weight:500;font-size:13.5px;height:30px;min-height:30px;padding:0 11px}
.dub-kpis-r .dub-goto a.qa-gf{font-size:13px!important;gap:6px!important;padding:6px 11px!important;color:#0A6CF5!important;font-weight:600!important}
/* v0.132 (maqueta 77) · Sustituir guion: el guion nuevo ya viene pautado */
.pt-rpnew{margin:0 0 10px;font-size:13.5px;line-height:1.45;background:#E7F0FF;color:#1E3A8A;border-radius:10px;padding:9px 12px}
html.dark .pt-rpnew{background:#1B2C45;color:#BFD6FF}
.pt-rpo-tx b em.new{background:#1C9A5B!important;color:#fff!important}

/* ===== v0.132 (maqueta 76) · Herramientas › Auto-TC en tres pasos ===== */
.pt-pop.pt-atcwide{width:440px;max-width:calc(100vw - 24px);padding:0;overflow:hidden;border-radius:16px}
.pt-atc3{display:flex;flex-direction:column}
.pt-atc3[hidden]{display:none}
.pt-atchd{background:#222A3A;color:#F3F5F8;padding:12px 14px;display:grid;gap:9px}
.pt-atctop{display:flex;align-items:center;gap:10px}
.pt-pop .pt-atctop a.pt-atcback{display:inline-flex!important;gap:4px;padding:6px 9px;border-radius:8px;background:#2F384A;color:#C9CFDA;font-size:12.5px;font-weight:600;white-space:nowrap}
.pt-pop .pt-atctop a.pt-atcback:hover{background:#3A465C;color:#fff}.pt-pop .pt-atctop a.pt-atcback svg{color:inherit}
.pt-atcmark{width:30px;height:30px;border-radius:9px;background:linear-gradient(180deg,#5FA2FF,#0A6CF5);display:grid;place-items:center;color:#fff;flex:none}
.pt-atcmark svg{color:#fff}
.pt-atctop b{font-size:16px}
.pt-atcstate{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.35;color:#C9CFDA;background:#2F384A;border-radius:9px;padding:7px 10px}
.pt-atcstate b{color:#fff}.pt-atcstate em{font-style:normal;font-family:ui-monospace,Menlo,monospace;font-size:11px;color:#AAB3C0;margin-left:4px}
.pt-atcdot{width:8px;height:8px;border-radius:50%;background:#8A93A3;flex:none}
.pt-atcstate.ok .pt-atcdot{background:#43C37B}.pt-atcstate.warn .pt-atcdot{background:#F0A636}
.pt-atcstate.work .pt-atcdot{background:#5FA2FF;animation:ptAtcPulse 1s ease-in-out infinite}
@keyframes ptAtcPulse{50%{opacity:.35}}
.pt-atcb{padding:10px;display:grid;gap:10px}
.pt-atcstep{display:grid;gap:4px}
.pt-atcsh{display:flex;align-items:center;gap:8px;margin:0 4px 2px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6B7382}
.pt-atcsh i{font-style:normal;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#EEF0F3;color:#4A4F59;font-size:10.5px;letter-spacing:0}
.pt-atcstep.done .pt-atcsh i{background:#1C9A5B;color:#fff;font-size:0}.pt-atcstep.done .pt-atcsh i::after{content:"✓";font-size:11px}
.pt-pop .pt-atc3 .pt-atci{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 9px;border-radius:11px;color:#15171C;white-space:normal;cursor:pointer;text-decoration:none;font-size:13.5px}
.pt-pop .pt-atc3 .pt-atci:hover{background:#F2F4F7}
.pt-atcic{width:34px;height:34px;border-radius:10px;background:#E7F0FF;color:#0A6CF5;display:grid;place-items:center}
.pt-pop .pt-atc3 .pt-atcic svg{color:#0A6CF5}
.pt-atctx{display:flex;flex-direction:column;min-width:0;line-height:1.3}
.pt-atctx b{font-size:13.5px;font-weight:600}
.pt-atctx small{font-size:12px;color:#6B7382}
.pt-pop .pt-atc3 .pt-atci.main{background:#0A6CF5;color:#fff}
.pt-pop .pt-atc3 .pt-atci.main:hover{background:#0960DA}
.pt-pop .pt-atc3 .pt-atci.main .pt-atcic{background:rgba(255,255,255,.18)}.pt-pop .pt-atc3 .pt-atci.main .pt-atcic svg{color:#fff}
.pt-pop .pt-atc3 .pt-atci.main small{color:#DBE8FF}
.pt-pop .pt-atc3 .pt-atci.off{opacity:.45;cursor:default;pointer-events:none}
.pt-atctag{font-size:11.5px;font-weight:700;border-radius:6px;padding:3px 8px;white-space:nowrap;background:#E4F4EC;color:#1C9A5B}
.pt-atctag.amb{background:#FFF3D6;color:#B7791F}.pt-atctag.blue{background:#E7F0FF;color:#0A6CF5}
.pt-atctag[hidden]{display:none}
.pt-atcsw{-webkit-appearance:none;appearance:none;width:38px;height:22px;border-radius:99px;background:#D7DBE2;position:relative;margin:0;cursor:pointer;flex:none;transition:background .15s}
.pt-atcsw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.pt-atcsw:checked{background:#0A6CF5}.pt-atcsw:checked::after{left:19px}
.pt-atcsw:focus-visible{outline:2px solid #0A6CF5;outline-offset:2px}
.pt-atcmore{border-top:1px solid #E6E9EE;padding:6px 10px 10px;display:grid;gap:2px}
.pt-pop .pt-atc3 .pt-atci.sm{grid-template-columns:30px minmax(0,1fr) auto;padding:6px 9px}
.pt-pop .pt-atc3 .pt-atci.sm .pt-atcic{width:30px;height:30px;background:#F2F4F7}.pt-pop .pt-atc3 .pt-atci.sm .pt-atcic svg{color:#4A4F59}
.pt-pop .pt-atc3 .pt-atci.red{color:#D92D20}.pt-pop .pt-atc3 .pt-atci.red .pt-atcic{background:#FDECEC}.pt-pop .pt-atc3 .pt-atci.red .pt-atcic svg{color:#D92D20}
html.dark .pt-pop .pt-atc3 .pt-atci{color:#EEF1F6}
html.dark .pt-pop .pt-atc3 .pt-atci:hover{background:#262D39}
html.dark .pt-atcsh i{background:#2D3648;color:#C3CAD6}
html.dark .pt-atctx small{color:#A3ACBC}
html.dark .pt-atcic{background:#1B2C45}
html.dark .pt-atcmore{border-color:#313947}
html.dark .pt-pop .pt-atc3 .pt-atci.sm .pt-atcic{background:#262D39}
@media (prefers-reduced-motion:reduce){.pt-atcstate.work .pt-atcdot{animation:none}}
.pt-pop .pt-atc3 input.pt-atcsw{width:38px!important;height:22px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:99px!important;box-shadow:none!important}
.pt-pop.pt-atcwide{background:#fff!important;backdrop-filter:none!important}
html.dark .pt-pop.pt-atcwide{background:#1C222C!important}

/* v0.132 · lista de actores: la elegida (flechas o ratón) en azul, como en el Mac */
.ac-pop button:hover{background:transparent}
.ac-pop button.on{background:#0A6CF5;color:#fff}
.ac-pop button.on small{color:#DBE8FF}
html.dark .ac-pop button:hover{background:transparent}
html.dark .ac-pop button.on{background:#0A6CF5;color:#fff}

/* v0.132 · Reparto por personaje: el menú ⋯ ya no queda tapado (la tabla no recorta y, si no cabe abajo, se abre hacia arriba);
   el grupo de pequeños dice claramente «Ver los N» */
.rp-table{overflow:visible}
.rp-table > :first-child{border-radius:18px 18px 0 0}
.rp-menu.up{top:auto;bottom:34px}
.rp-gopen{margin-left:8px;font-weight:700;color:#0A6CF5;white-space:nowrap}
.rp-gopen .o2,.rp-grp[open] .rp-gopen .o1{display:none}.rp-grp[open] .rp-gopen .o2{display:inline}
.rp-grp > summary{cursor:pointer}
/* v0.132 · casillas y botones de opción: sin el óvalo azul al pulsarlos con el ratón (solo con teclado, y redondo) */
input[type=radio]:focus,input[type=checkbox]:focus{outline:none}
input[type=radio]:focus-visible{outline:2px solid #0A6CF5;outline-offset:2px;border-radius:50%}
input[type=checkbox]:focus-visible{outline:2px solid #0A6CF5;outline-offset:2px}
/* v0.132.6 · dubXbox › Proyectos en vista Lista: una fila por proyecto (antes seguía en iconos) */
.xb[data-view=lista] .xb-spg .xb-grid{display:flex;flex-direction:column;gap:0;background:#fff;border-radius:12px;box-shadow:0 0 0 1px rgba(16,24,40,.06);overflow:hidden;margin-bottom:8px}
.xb[data-view=lista] .xb-spg .xb-tile{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;width:100%;padding:8px 14px;border-radius:0;border-bottom:1px solid #F1EEE6;text-align:left}
.xb[data-view=lista] .xb-spg .xb-tile:last-child{border-bottom:0}
.xb[data-view=lista] .xb-spg .xb-tile svg{width:26px;height:26px;flex:none}
.xb[data-view=lista] .xb-spg .xb-tile .xb-n{flex:1;min-width:0;font-weight:600;-webkit-line-clamp:1}
.xb[data-view=lista] .xb-spg .xb-tile small{margin-left:auto;white-space:nowrap}
html.dark .xb[data-view=lista] .xb-spg .xb-grid{background:#1C222C;box-shadow:0 0 0 1px #2A313D}
html.dark .xb[data-view=lista] .xb-spg .xb-tile{border-bottom-color:#2A313D}
/* v0.133.1 · botón Gráfico sin nada pautado */
.seg-view a.off{opacity:.38;cursor:default;pointer-events:auto}
.seg-view a.off:hover{background:none}
/* v0.134 · pestañas Prepautado / Pautado en el pautado de una película */
.pt-head .pt-prtabs .pt-ep-now.on{background:#fff;color:#15171C;font-weight:600;border-radius:8px;padding:5px 11px;box-shadow:0 1px 3px rgba(16,24,40,.12);font-size:12.5px}
html.dark .pt-head .pt-prtabs .pt-ep-now.on{background:#46516A;color:#fff;box-shadow:none}
/* v0.134 · ficha del actor: condiciones en cada serie (solo administración) */
.af-cond{margin-top:16px}
.af-ctbl{border:1px solid var(--af-sep);border-radius:12px;overflow:hidden;font-size:13.5px}
.af-cth,.af-ctr{display:grid;grid-template-columns:minmax(0,1.4fr) 100px minmax(0,1.3fr) 100px minmax(0,1fr);gap:10px;padding:9px 14px;align-items:center}
.af-cth{font-size:11.5px;font-weight:700;color:var(--af-mute,#5B6474);background:var(--af-soft,#F2F3F5)}
.af-ctr{border-top:1px solid var(--af-sep)}
.af-ctr a{font-weight:700;color:#0A6CF5;text-decoration:none}
.af-cth .n,.af-ctr .n{text-align:right}
/* v0.134 (maqueta 81) · Auto-TC por bloques: TC provisionales, cambiados por el repaso y panel de progreso */
.pt-atb.prov{color:#92400E;background:#FFFBEB;border:1px dashed #F59E0B;opacity:1}
.pt-atb.chg{color:#92400E;background:#FEF3C7;border-color:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.28);opacity:1;font-weight:800}
.pt-atb em.was{color:#B45309;font-weight:600}
.pt-atcjob.ring .pt-atcspin{animation:none;border:0;width:14px;height:14px;background:conic-gradient(currentColor calc(var(--p,0) * 1%),rgba(10,79,194,.18) 0);-webkit-mask:radial-gradient(circle,transparent 3.5px,#000 4px);mask:radial-gradient(circle,transparent 3.5px,#000 4px)}
.pt-atcjob.fin{background:#E8F7EF;border-color:#A7E3C3;color:#067647}
.pt-atcjob.fin .pt-atcspin{animation:none;border:0;width:auto;height:auto}
.pt-atcjob.fin .pt-atcspin::before{content:'✓'}
.atcp{position:fixed;z-index:9990;width:370px;max-width:calc(100vw - 20px);background:#fff;color:#1E2633;border:1px solid #E4E8EF;border-radius:16px;box-shadow:0 24px 60px rgba(16,24,48,.22);font-size:13px;overflow:hidden}
.atcp-h{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid #EEF1F5}
.atcp-h b{font-size:14.5px}
.atcp-h small{color:#6B7486;flex:1}
.atcp-dot{width:9px;height:9px;border-radius:50%;background:#0A6CF5;box-shadow:0 0 0 4px rgba(10,108,245,.15)}
.atcp-x{border:0;background:#F1F3F7;border-radius:8px;width:28px;height:28px;cursor:pointer;color:#4A5262}
.atcp-b{padding:12px 14px;display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto}
.atcp-tl{display:flex;gap:3px}
.atcp-bl{flex:1;height:26px;border-radius:6px;background:#EEF1F5;display:flex;align-items:center;justify-content:center;font:700 10.5px system-ui;color:#6B7486;position:relative;overflow:hidden}
.atcp-bl.audio{background:#EAF1FF;color:#0A6CF5}
.atcp-bl.escuchando{background:linear-gradient(90deg,#CFE0FF,#EAF1FF,#CFE0FF);background-size:200% 100%;animation:atcpw 1.4s linear infinite}
@keyframes atcpw{to{background-position:-200% 0}}
.atcp-bl.hecho{background:#0A6CF5;color:#fff}
.atcp-bl.fin{background:#16A34A;color:#fff}
.atcp-ax{display:flex;font-size:10.5px;color:#8A93A5;margin-top:-6px}
.atcp-ax span{flex:1}
.atcp-bar{height:8px;border-radius:5px;background:#EEF1F5;overflow:hidden}
.atcp-bar i{display:block;height:100%;background:#0A6CF5}
.atcp-steps{display:flex;flex-direction:column;gap:6px}
.atcp-st{display:flex;gap:9px;align-items:flex-start;color:#8A93A5}
.atcp-st i{flex:none;width:20px;height:20px;border-radius:50%;background:#EEF1F5;display:inline-flex;align-items:center;justify-content:center;font:800 11px system-ui;font-style:normal}
.atcp-st span{display:flex;flex-direction:column}
.atcp-st b{font-size:12.5px}
.atcp-st small{font-size:11.5px}
.atcp-st.on{color:#1E2633}.atcp-st.on i{background:#0A6CF5;color:#fff}
.atcp-st.ok{color:#1E2633}.atcp-st.ok i{background:#16A34A;color:#fff}
.atcp-ready{background:#F7F8FA;border-radius:10px;padding:9px 11px;color:#4A5262}
.atcp-ready.on{background:#EAF1FF;color:#1E2633}
.atcp-chg{display:flex;flex-direction:column;gap:3px}
.atcp-chg b{font-size:12px;color:#B45309}
.atcp-chg button{text-align:left;border:1px solid #FCD34D;background:#FFFBEB;border-radius:8px;padding:5px 8px;font:600 12px ui-monospace,Menlo,monospace;color:#92400E;cursor:pointer}
.atcp-chg button small{font-weight:500;opacity:.8}
.atcp-leg{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;padding:8px 14px;border-top:1px solid #EEF1F5;font-size:11px;color:#6B7486}
.atcp-leg .pt-atb{margin:0;cursor:default}
.atcp-f{display:flex;justify-content:flex-end;padding:8px 14px 12px}
html.dark .pt-atb.prov{color:#FCD34D;background:#3A2A12;border-color:#D97706}
html.dark .pt-atb.chg{color:#FDE68A;background:#4A3410;border-color:#F59E0B}
html.dark .pt-atcjob.fin{background:#12321F;border-color:#1F5C3A;color:#4ADE80}
html.dark .atcp{background:#1C222C;color:#EEF1F6;border-color:#313947}
html.dark .atcp-h,html.dark .atcp-leg{border-color:#2A313D}
html.dark .atcp-x{background:#262D38;color:#C3CAD6}
html.dark .atcp-bl{background:#262D38;color:#A3ACBC}
html.dark .atcp-bl.audio{background:#1B2C47;color:#7FA8FF}
html.dark .atcp-bl.escuchando{background:linear-gradient(90deg,#203A6A,#1B2C47,#203A6A);background-size:200% 100%}
html.dark .atcp-bar{background:#262D38}
html.dark .atcp-st.on,html.dark .atcp-st.ok{color:#EEF1F6}
html.dark .atcp-st i{background:#262D38}
html.dark .atcp-ready{background:#262D38;color:#C3CAD6}
html.dark .atcp-ready.on{background:#1B2C47;color:#EEF1F6}
html.dark .atcp-chg button{background:#3A2A12;border-color:#92400E;color:#FCD34D}
/* v0.134.1 · convocar: pieza que ya tiene sesión en la Agenda (no se puede volver a convocar) */
.cvx-it.booked{text-decoration:none;background:repeating-linear-gradient(135deg,rgba(148,163,184,.12) 0 6px,transparent 6px 12px),var(--x-field);border:1px dashed #94A3B8;opacity:.85;cursor:pointer}
.cvx-it.booked .cvx-l i{font-style:normal;font-size:11px}
.cvx-it.booked small{color:#B45309;font-weight:600}
.cvx-it.booked:hover{opacity:1;border-color:#0A6CF5}
/* v0.134.1 · AutoPautado: cómo cuentan los gestos solos */
.apx-gest{height:38px;border:1px solid var(--line);border-radius:10px;padding:0 10px;font-family:inherit;font-weight:600;font-size:13.5px;background:var(--card,#fff);color:inherit;flex:none;max-width:210px}
/* v0.134.2 · Pautajes: pautados y prepautados */
.pth-seg{display:inline-flex;gap:2px;background:#161922;border:1px solid #262B36;border-radius:12px;padding:3px;margin:4px 40px 14px}
.pth-seg a{padding:7px 14px;border-radius:9px;color:#9CA3AF;text-decoration:none;font-weight:600;font-size:13.5px}
.pth-seg a small{color:#6B7280;margin-left:3px}
.pth-seg a:hover{color:#fff}
.pth-seg a.on{background:#FBBF24;color:#15171C}.pth-seg a.on small{color:#4A3A0B}
.pth-tag{display:inline-block;align-self:flex-start;font:800 10px system-ui;letter-spacing:.08em;padding:2px 7px;border-radius:5px;background:rgba(10,108,245,.18);color:#7FB0FF;margin-bottom:4px}
.pth-card.pth-pre:hover{border-color:#3B82F6}
.pth-newpre .pth-plus{color:#7FB0FF}
.pth-preform{display:flex;flex-direction:column;gap:12px;padding:16px 18px 18px}
.pth-preform label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}
.pth-preform select{height:40px;border-radius:10px;padding:0 10px;font:inherit}
@media (max-width:700px){.pth-seg{margin:4px 16px 12px}}
.pth-tag.pau{background:rgba(251,191,36,.16);color:#FBBF24}
/* v0.134.2 · reparto del Pautado: «No se hace» (se coge de soundtrack) */
.pt-rr-st{flex:none;height:30px;min-width:38px;border-radius:8px;border:1px solid #E5C77A;background:#FFF8E6;color:#8A5A00;font:800 11px system-ui;cursor:pointer}
.pt-rr-st:hover{border-color:#D97706}
.pt-rr-st.on{background:#F59E0B;border-color:#F59E0B;color:#fff}
.pt-rr.skip .pt-rr-a{border-color:#E5C77A;background:#FFFBEB}
html.dark .pt-rr-st{background:#3A2A12;border-color:#92400E;color:#FCD34D}
html.dark .pt-rr-st.on{background:#D97706;color:#fff}
html.dark .pt-rr.skip .pt-rr-a{background:#2A2214;border-color:#92400E}
/* v0.135.0 (maqueta 84) · cuadrante de episodios */
.scq{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.scq-ep{position:relative;height:84px;border-radius:14px;border:1.5px solid var(--line,#E4E8EF);background:var(--card2,#F7F8FA);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:inherit;text-decoration:none;transition:transform .12s,box-shadow .12s}
.scq-ep:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(16,24,48,.12)}
.scq-ep b{font-size:27px;line-height:1;letter-spacing:-.03em}
.scq-ep small{font-size:10px;font-weight:700;color:#6B7486;text-transform:uppercase;letter-spacing:.04em}
.scq-bar{position:absolute;left:10px;right:10px;bottom:8px;height:4px;border-radius:3px;background:rgba(0,0,0,.08);overflow:hidden}
.scq-bar span{display:block;height:100%;background:currentColor}
.scq-ep.none{opacity:.55;border-style:dashed}
.scq-ep.pau{background:#EEF4FF;border-color:#C9DBFF;color:#1D4ED8}
.scq-ep.plan{background:#1667FF;border-color:#1667FF;color:#fff}.scq-ep.plan small{color:rgba(255,255,255,.85)}
.scq-ep.rec{background:#FFF4E5;border-color:#F5B54B;color:#B45309}.scq-ep.rec small{color:#B45309}
.scq-ep.fin{background:#E8F7EF;border-color:#86D3A9;color:#067647}.scq-ep.fin small{color:#067647}
.scq-ep.on{outline:3px solid #F59E0B;outline-offset:2px}
.scq-live{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:#DC2626;box-shadow:0 0 0 3px rgba(220,38,38,.2)}
.scq.mini{display:flex;flex-wrap:wrap;gap:5px}
.scq.mini .scq-ep{width:34px;height:34px;border-radius:9px}
.scq.mini .scq-ep b{font-size:13px}
.scq.mini .scq-live{top:2px;right:2px;width:6px;height:6px;box-shadow:none}
.scq.mini .scq-ep.on{outline-width:2px;outline-offset:1px}
.scq-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;position:relative;flex-basis:100%;width:100%}
.scq-lbl{font-size:11px;font-weight:700;color:#6B7486;text-transform:uppercase;letter-spacing:.06em}
.scq-big summary{list-style:none;cursor:pointer;height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;border:1px solid var(--line,#E4E8EF);font-weight:600;font-size:13px;background:var(--card,#fff)}
.scq-big summary::-webkit-details-marker{display:none}
.scq-pop{position:absolute;left:0;right:0;top:44px;z-index:40;background:var(--card,#fff);border:1px solid var(--line,#E4E8EF);border-radius:16px;padding:16px;box-shadow:0 20px 50px rgba(16,24,48,.2)}
.scq-ley{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:#4A5262;margin-top:12px}
.scq-ley i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.scq-ley i.none{border:1px dashed #C3C8D1}.scq-ley i.pau{background:#C9DBFF}.scq-ley i.plan{background:#1667FF}.scq-ley i.rec{background:#F5B54B}.scq-ley i.fin{background:#86D3A9}.scq-ley i.live{background:#DC2626;border-radius:50%}
.scq-tip{font-size:12px;color:#6B7486;margin:8px 0 0}
html.dark .scq-ep{background:#21252B;border-color:#323741}
html.dark .scq-ep.pau{background:#1B2C47;border-color:#2A5296;color:#93B4FF}
html.dark .scq-ep.plan{background:#1667FF;border-color:#1667FF;color:#fff}
html.dark .scq-ep.rec{background:#3A2A12;border-color:#92400E;color:#FBBF24}html.dark .scq-ep.rec small{color:#FBBF24}
html.dark .scq-ep.fin{background:#12321F;border-color:#1F5C3A;color:#4ADE80}html.dark .scq-ep.fin small{color:#4ADE80}
html.dark .scq-big summary,html.dark .scq-pop{background:#1A1D22;border-color:#323741}
html.dark .scq-ley{color:#C3C8D1}
/* v0.136 (maqueta 85): Auto-TC se pone al día solo · aviso y botón «Actualizar» */
.atc-upd{display:flex;align-items:center;gap:12px;margin:10px 0 0;padding:12px 14px;border-radius:12px;background:#FFF4E0;border:1px solid #F5C26B;flex-wrap:wrap}
.atc-upd .atc-upd-t{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px;line-height:1.35}
.atc-upd .atc-upd-t b{font-size:14px;color:#7A4B00}.atc-upd .atc-upd-t small{color:#7A5B2A;font-size:12.5px}
.atc-upd.run{background:#E8F0FF;border-color:#A9C6FF}.atc-upd.run b{color:#0A4FB8}.atc-upd.run small{color:#3A5A8C}
.atc-upd.ok{background:#E8F7EF;border-color:#9FDDB9}.atc-upd.ok b{color:#067647}.atc-upd.ok small{color:#2F6B4A}
.atc-upd.err{background:#FDECEC;border-color:#F3B4B4}.atc-upd.err b{color:#B42318}.atc-upd.err small{color:#7A2E2E}
.atc-upd-bar{display:block;height:6px;border-radius:4px;background:rgba(10,108,245,.15);overflow:hidden;margin-top:7px}
.atc-upd-bar i{display:block;height:100%;background:#0A6CF5;border-radius:4px;transition:width .4s}
.atc-upd-bar i.ind{animation:atcupd 1.2s ease-in-out infinite alternate}@keyframes atcupd{from{margin-left:0}to{margin-left:70%}}
.atcw-upd{font-size:12px;font-weight:600;color:#0A4FB8;background:#E8F0FF;border-radius:999px;padding:3px 9px;white-space:nowrap}.atcw-upd.err{color:#B42318;background:#FDECEC}
/* v0.136.4 · piloto de Auto-TC más claro: verde vivo = en marcha; círculo vacío gris = apagado (en claro y oscuro) */
.nav-atc.on{background:#16A34A;box-shadow:0 0 0 2px rgba(22,163,74,.22),0 0 8px rgba(22,163,74,.6)}
.nav-atc.off{background:transparent;box-shadow:inset 0 0 0 2px #94A3B8}
.side:not(.side-light) .nav-atc.on{background:#22C55E;box-shadow:0 0 0 2px rgba(34,197,94,.28),0 0 9px rgba(34,197,94,.75)}
.side:not(.side-light) .nav-atc.off{box-shadow:inset 0 0 0 2px #5B6474}

/* v0.137.0 · ficha de la reserva (maqueta 86 · A) */
.rp-modal.rd{--rd-pg:#fff;--rd-soft:#f6f7f9;--rd-soft2:#eff1f5;--rd-line:#e3e7ee;--rd-ink:#1d2430;--rd-ink2:#4a5262;--rd-mut:#6b7486;--rd-az:#0a6cf5;--rd-azs:#e8f0ff;--rd-ok:#067647;--rd-oks:#e6f6ee;--rd-okb:#16a34a;--rd-amb:#9a5b00;--rd-ambs:#fff4e0;--rd-ambl:#f5c26b;--rd-red:#c0362c;--rd-reds:#fdecec;
  width:min(900px,100%);padding:0;border-radius:20px;overflow:hidden;background:var(--rd-pg);color:var(--rd-ink);box-shadow:0 30px 80px rgba(16,24,48,.22),0 0 0 1px rgba(16,24,48,.06);font-size:14px;line-height:1.45}
.rd .rd-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:0;background:var(--rd-soft2);color:var(--rd-ink2);font-size:18px;cursor:pointer;line-height:1}
.rd .rd-hd{display:flex;gap:14px;align-items:center;padding:20px 60px 14px 22px}
.rd .rd-hd h2{margin:0;font-size:21px;letter-spacing:-.02em}
.rd .rd-s{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;align-items:center}
.rd .rd-av{width:46px;height:46px;border-radius:14px;background:var(--rd-azs);color:var(--rd-az);display:grid;place-items:center;font-weight:700;font-size:16px;flex:none}
.rd .rd-pill{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;border-radius:999px;padding:4px 10px}
.rd .rd-pill.prov{background:repeating-linear-gradient(135deg,var(--rd-soft2),var(--rd-soft2) 5px,var(--rd-pg) 5px,var(--rd-pg) 10px);color:var(--rd-ink2);border:1px solid var(--rd-line)}
.rd .rd-pill.conf{background:var(--rd-oks);color:var(--rd-ok)}
.rd .rd-pill.cancel{background:var(--rd-reds);color:var(--rd-red)}
.rd .rd-bd{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;padding:0 22px 22px}
.rd .rd-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.rd .rd-side{display:flex;flex-direction:column;gap:6px}
.rd .rd-lbl{font-weight:700;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--rd-mut);margin:0 0 6px}
.rd .rd-mut{color:var(--rd-mut)} .rd p.rd-mut{margin:8px 0 0;font-size:13px}
.rd .rd-card{border:1px solid var(--rd-line);border-radius:14px;padding:14px}
.rd .rd-when{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline}
.rd .rd-when .rd-t{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rd .rd-when .rd-d{color:var(--rd-ink2);font-weight:600}
.rd .rd-sala{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;border-radius:999px;padding:4px 10px;background:var(--rc,#d92d20);color:#fff;align-self:center}
.rd .rd-warn{display:flex;gap:12px;align-items:flex-start;background:var(--rd-ambs);border:1px solid var(--rd-ambl);border-radius:12px;padding:11px 14px;color:var(--rd-ink)}
.rd .rd-warn svg{flex:none;width:20px;height:20px;color:var(--rd-amb)}
.rd .rd-warn > div{flex:1;min-width:0}
.rd .rd-warn b{color:var(--rd-amb)}
.rd .rd-warn small{display:block;color:var(--rd-ink2);font-size:12.5px;margin-top:2px}
.rd .rd-warn a{color:var(--rd-az);font-weight:600;white-space:nowrap;text-decoration:none}
.rd .rd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.rd .rd-chip{display:inline-flex;align-items:center;gap:6px;background:var(--rd-soft2);border-radius:8px;padding:4px 9px;font-weight:600;font-size:13px}
.rd .rd-chip b{color:var(--rd-az)}
.rd .rd-takes{display:flex;flex-wrap:wrap;gap:4px}
.rd .rd-takes span{font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums;min-width:30px;text-align:center;padding:3px 5px;border-radius:6px;background:var(--rd-soft2);color:var(--rd-ink2)}
.rd .rd-stats{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--rd-line);border-radius:12px;overflow:hidden}
.rd .rd-stats div{padding:9px 10px;border-left:1px solid var(--rd-line)} .rd .rd-stats div:first-child{border-left:0}
.rd .rd-stats b{display:block;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rd .rd-stats small{color:var(--rd-mut);font-size:11.5px}
.rd .rd-stats .hi b{color:var(--rd-az)}
.rd .rd-mats{display:grid;gap:6px}
.rd .rd-mat{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--rd-soft)}
.rd .rd-mat i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:11px}
.rd .rd-mat i.y,.rd .rd-mat em.y{background:var(--rd-oks);color:var(--rd-ok)} .rd .rd-mat i.n,.rd .rd-mat em.n{background:var(--rd-reds);color:var(--rd-red)}
.rd .rd-mat span{min-width:0} .rd .rd-mat span small{display:block;color:var(--rd-mut);font-size:12px}
.rd .rd-mat em{font-style:normal;font-weight:700;font-size:11px;letter-spacing:.04em;border-radius:6px;padding:3px 7px;text-transform:uppercase}
.rd .rd-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 16px}
.rd .rd-fields > div > span{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rd-mut)}
.rd .rd-notes{white-space:pre-wrap;background:var(--rd-soft);border-radius:10px;padding:10px 12px;font-size:13.5px}
.rd .rd-b{font-family:inherit;font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;height:38px;padding:0 12px;border-radius:10px;border:0;background:var(--rd-soft2);color:var(--rd-ink);cursor:pointer;text-decoration:none;width:100%;box-sizing:border-box}
.rd .rd-b svg{flex:none;opacity:.85}
.rd .rd-b:hover{background:color-mix(in srgb,var(--rd-soft2) 70%,var(--rd-az) 12%);color:var(--rd-ink)}
.rd .rd-b.pri{background:var(--rd-okb);color:#fff;justify-content:center;height:42px;font-size:14px;box-shadow:0 4px 14px rgba(22,163,74,.28)}
.rd .rd-b.blue{background:var(--rd-az);color:#fff;justify-content:center;box-shadow:0 4px 12px rgba(10,108,245,.25)}
.rd .rd-b.prov{justify-content:center}
.rd .rd-b.del{background:transparent;color:var(--rd-red);justify-content:center}
.rd .rd-b.del:hover{background:var(--rd-reds)}
.rd .rd-b .chev{margin-left:auto;opacity:.5}
.rd .rd-b:focus-visible{outline:2px solid var(--rd-az);outline-offset:2px}
.rd .rd-gt{font-weight:700;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--rd-mut);margin:8px 2px 2px}
.rd .rd-sep{height:1px;background:var(--rd-line);margin:4px 0}
.rd .rd-date{display:flex;gap:6px}
.rd .rd-date input{flex:1;min-width:0;height:38px;border-radius:10px;border:1px solid var(--rd-line);background:var(--rd-pg);color:var(--rd-ink);font-family:inherit;font-weight:600;font-size:13.5px;padding:0 10px}
.rd .rd-date .rd-b{width:auto}
.rd .rd-foot{font-size:12px;color:var(--rd-mut);padding:10px 22px;border-top:1px solid var(--rd-line);background:var(--rd-soft)}
@media (max-width:820px){.rd .rd-bd{grid-template-columns:1fr}.rd .rd-stats{grid-template-columns:repeat(3,1fr)}.rd .rd-stats div:nth-child(4){border-left:0}}
/* «!» en el bloque de la Agenda cuando al episodio le falta material */
.rb-mat{display:inline-grid;place-items:center;flex:none;width:15px;height:15px;border-radius:50%;background:#d97706;color:#fff;font-size:10px;font-weight:800;margin-right:4px;vertical-align:-2px}
/* v0.137.3 · reserva con varios episodios */
.rd .rd-eps{display:grid;gap:8px}
.rd .rd-ep{border:1px solid var(--rd-line);border-radius:12px;padding:10px 12px}
.rd .rd-eph{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.rd .rd-eph .rd-mut{font-size:12.5px}
.rd .rd-epl{display:inline-flex;align-items:center;font-weight:700;font-size:12px;letter-spacing:.04em;background:var(--rd-azs);color:var(--rd-az);border-radius:7px;padding:3px 8px;margin:0}
.rd p.rd-epl{margin:0 0 6px}
.rd .rd-epw{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#d97706;color:#fff;font-size:10.5px;font-weight:800}
.rd .rd-epa{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--rd-az);text-decoration:none}
.rd .rd-ep .rd-chips{margin-bottom:6px}
.rd .rd-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.rd .rd-mgrid .rd-mat{grid-template-columns:20px 1fr auto;padding:7px 9px}

/* v0.138.0 · Estadillo (maqueta 87 · B en pantalla + C en el PDF) */
.dub-pane.est{--e-pg:#fff;--e-soft:#f6f7f9;--e-soft2:#eff1f5;--e-line:#e3e7ee;--e-line2:#eef1f5;--e-ink:#1d2430;--e-ink2:#4a5262;--e-mut:#6b7486;--e-az:#0a6cf5;--e-azs:#e8f0ff;
  padding:0;overflow:hidden;background:var(--e-pg);color:var(--e-ink)}
.est-hd{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;padding:18px 20px}
.est-tt h2{margin:0;font-size:22px;letter-spacing:-.02em}
.est-meta{color:var(--e-mut);font-size:13px;margin-top:2px}
.est-tools{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.est-tools form.inline{margin:0}
.est-b{font:inherit;font-weight:600;font-size:13px;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:9px;border:0;background:var(--e-soft2);color:var(--e-ink);cursor:pointer;white-space:nowrap}
.est-b:hover{background:color-mix(in srgb,var(--e-soft2) 70%,var(--e-az) 12%)}
.est-b.blue{background:var(--e-az);color:#fff}.est-b.blue:hover{background:color-mix(in srgb,var(--e-az) 88%,#000)}
.est-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 20px 18px}
.est-kpis > div{background:var(--e-soft);border-radius:14px;padding:12px 14px}
.est-kpis b{display:block;font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.est-kpis small{color:var(--e-mut);font-size:12.5px}
.est-ed{display:inline-flex;align-items:center;gap:4px;margin-left:4px;font:inherit;font-weight:600;font-size:12px;color:var(--e-az);background:var(--e-azs);border:0;border-radius:6px;padding:1px 6px;cursor:pointer}
.est-tphf{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:-6px 20px 16px;padding:12px;border-radius:12px;background:var(--e-soft)}
.est-tphf label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--e-mut);font-weight:600}
.est-tphf input{height:34px;border-radius:8px;border:1px solid var(--e-line);background:var(--e-pg);color:var(--e-ink);padding:0 10px;font:inherit}
.est-tphf input[type=number]{width:90px}
.est-legend{display:flex;gap:18px;flex-wrap:wrap;padding:0 20px 12px;font-size:12.5px;color:var(--e-mut);align-items:center}
.est-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:6px;background:var(--e-line2)}
.est-legend i.y{background:var(--e-az)}
.est-mapw{overflow-x:auto;padding:0 20px 16px}
.est-map{display:grid;gap:2px}
.est-map .h{font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--e-mut);text-align:center;white-space:nowrap;overflow:visible}
.est-map .n{font-weight:700;font-size:12.5px;white-space:nowrap;padding-right:10px;display:flex;justify-content:space-between;gap:8px;align-items:center;min-width:0;position:sticky;left:0;background:var(--e-pg);z-index:1}
.est-map .n span{overflow:hidden;text-overflow:ellipsis}
.est-map .n.hd{color:var(--e-mut);font-weight:600}
.est-map .n em{font-style:normal;color:var(--e-az);font-variant-numeric:tabular-nums}
.est-map i{height:18px;border-radius:4px;background:var(--e-line2)}
.est-map i.y{background:var(--e-az)}
.est-map i:hover,.est-map .dens:hover{outline:2px solid var(--e-ink);outline-offset:-1px}
.est-map .dens{height:20px;border-radius:4px;display:grid;place-items:center;font:700 10px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--e-ink2);background:color-mix(in srgb,var(--e-az) var(--a,0%),var(--e-pg))}
.est-sel{margin:0 20px 18px;padding:12px 14px;border-radius:12px;background:var(--e-azs);color:var(--e-ink);font-size:13.5px}
.est-sel b{color:var(--e-az)}
.est-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;background:var(--e-soft);font-size:12.5px;color:var(--e-mut)}
.est-foot .link-btn{color:var(--e-az);font-weight:600}
.dub-pane.est .dub-src{border-top:1px solid var(--e-line)}
.est-doc,.est-print{display:none}
@media print{html.est-printing .est-print{display:block}}
@media (max-width:760px){.est-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* PDF: solo la hoja (maqueta 87 · C) */
@media print{
  html.est-printing body > *:not(.est-print){display:none!important}
  html.est-printing .est-print .est-doc{display:block;color:#1d2430;background:#fff;font:13px/1.45 'Instrument Sans',system-ui,sans-serif}
  @page{margin:16mm 14mm}
}
.est-doc .ed-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:2px solid #1d2430;padding-bottom:12px}
.est-doc .ed-logo{font-weight:700;font-size:14px}.est-doc .ed-logo b{color:#0a6cf5}
.est-doc h3{margin:6px 0 0;font-size:24px;letter-spacing:-.02em}
.est-doc .ed-top .ed-r{text-align:right;color:#6b7486;font-size:12px}.est-doc .ed-top .ed-r b{color:#1d2430}
.est-doc .ed-facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e3e7ee;margin-bottom:6px}
.est-doc .ed-facts div{padding:10px 0}.est-doc .ed-facts b{display:block;font-size:19px}
.est-doc .ed-facts small{color:#6b7486;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.est-doc table{width:100%;border-collapse:collapse;font-size:12.5px}
.est-doc th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b7486;padding:9px 8px 5px;border-bottom:1px solid #e3e7ee}
.est-doc td{height:auto;line-height:1.45;padding:7px 8px;border-bottom:1px solid #eef1f5;vertical-align:top}
.est-doc tr{break-inside:avoid}
.est-doc td.ed-n{font-weight:700;white-space:nowrap}
.est-doc .ed-c{text-align:right;width:46px}.est-doc td.ed-c{font-weight:700;color:#0a6cf5}
.est-doc td.ed-t{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:#4a5262;line-height:1.7;word-spacing:4px}
.est-doc .ed-lbl{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#6b7486;margin:16px 0 4px}
.est-doc .ed-small{columns:2;column-gap:28px;font-size:12px}
.est-doc .ed-small div{break-inside:avoid;padding:4px 0;border-bottom:1px dotted #e3e7ee}
.est-doc .ed-small span{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#6b7486;margin-left:6px}
.est-doc .ed-pie{margin-top:18px;font-size:11px;color:#6b7486;display:flex;justify-content:space-between}
.dub-pane.est .est-tools label.est-b{display:inline-flex;flex-direction:row;align-items:center;margin:0;height:34px;font-size:13px;color:var(--e-ink)}
/* v0.139 (maqueta 88) · episodios con los takes marcados y nota para el técnico */
.rp-modal.rd{--rd-yel:#ca8a04;--rd-yels:#fef6d8}
.rd .rd-whath{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.rd .rd-leg{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--rd-mut);align-items:center}
.rd .rd-leg i{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;margin-right:5px;background:var(--rd-soft2);outline:1px solid var(--rd-line)}
.rd .rd-leg i.done{background:var(--rd-oks);outline-color:var(--rd-ok)}.rd .rd-leg i.skip{background:var(--rd-yels);outline-color:var(--rd-yel)}.rd .rd-leg i.inc{background:var(--rd-reds);outline-color:var(--rd-red)}
.rd .rd-eph h4{margin:0;font-size:15.5px;letter-spacing:-.01em}
.rd .rd-eph{margin-bottom:2px}
.rd .rd-eps2{display:flex;align-items:center;gap:12px;margin:2px 0 10px;flex-wrap:wrap}
.rd .rd-eps2 b{font-size:14px}.rd .rd-eps2 .rd-mut{font-size:12.5px}
.rd .rd-epbar{flex:1;min-width:110px;height:6px;border-radius:3px;background:var(--rd-line);overflow:hidden;display:flex}
.rd .rd-epbar i{display:block;height:100%}
.rd .rd-takes span.done{background:var(--rd-oks);color:var(--rd-ok);text-decoration:line-through;text-decoration-thickness:1.5px}
.rd .rd-takes span.skip,.rd .rd-takes span.ok{background:var(--rd-yels);color:var(--rd-yel);text-decoration:line-through}
.rd .rd-takes span.inc{background:var(--rd-reds);color:var(--rd-red)}
.rd .rd-note{border:1px solid var(--rd-ambl);background:var(--rd-ambs);border-radius:12px;padding:10px 12px;font-size:13px;white-space:pre-wrap;color:var(--rd-ink)}
.rd .rd-note small{display:block;margin-top:6px;color:var(--rd-mut);font-size:11.5px;white-space:normal}
.rd .rd-note b.ok{color:var(--rd-ok)}
/* v0.139 (maqueta 88) · Reservar en la Agenda */
.rp-modal.rd.re-modal{width:min(1000px,100%)}
.re-modal .re-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 60px 14px 22px;border-bottom:1px solid var(--rd-line)}
.re-modal .re-top h2{margin:0 auto 0 0;font-size:20px;letter-spacing:-.02em}
.re-modal .re-seg{display:inline-flex;background:var(--rd-soft2);border-radius:11px;padding:3px;gap:2px;flex-wrap:wrap}
.re-modal .re-seg button{font:inherit;font-weight:600;font-size:13px;border:0;background:transparent;color:var(--rd-ink2);padding:7px 13px;border-radius:9px;cursor:pointer}
.re-modal .re-seg button[aria-pressed=true]{background:var(--rd-pg);color:var(--rd-ink);box-shadow:0 1px 3px rgba(16,24,48,.15)}
.re-modal form.re{margin:0;padding:0;display:block}
.re-modal .re-bd{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:460px}
.re-modal .re-l{padding:18px 22px;display:flex;flex-direction:column;gap:14px;min-width:0;border-right:1px solid var(--rd-line)}
.re-modal .re-r{padding:18px 22px;display:flex;flex-direction:column;gap:14px;background:var(--rd-soft)}
.re-modal .re-lbl{font-weight:700;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--rd-mut);margin:0 0 6px}
.re-modal .re-fld{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--rd-mut);margin:0}
.re-modal .re-in,.re-modal .re-dets input,.re-modal .re-dets select,.re-modal .re-dets textarea,.re-modal .re-tms select,.re-modal .re-tms input{height:40px;border:1px solid var(--rd-line);border-radius:10px;background:var(--rd-pg);color:var(--rd-ink);font:inherit;font-weight:600;font-size:14px;padding:0 10px;width:100%;box-sizing:border-box}
.re-modal .re-dets textarea{height:auto;min-height:70px;padding:8px 10px}
.re-modal .re-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px}
.re-modal .re-in{min-width:0}
.re-modal .re-ed{margin-top:8px}
.re-modal .re-hint{margin:6px 0 0;font-size:12.5px;color:var(--rd-mut)}
.re-modal .re-lnk{font:inherit;font-weight:600;font-size:12.5px;color:var(--rd-az);background:none;border:0;padding:0;cursor:pointer}
.re-modal .re-more{margin-top:8px;font-size:12.5px}
.re-modal .re-more summary{cursor:pointer;color:var(--rd-az);font-weight:600}
.re-modal .re-more .rpe-ress{margin-top:8px;border:0;padding:0}
.re-modal .re-team{display:flex;flex-direction:column;gap:6px}
.re-modal .re-tm{display:grid;grid-template-columns:24px 1fr auto;gap:4px 10px;align-items:center;background:var(--rd-pg);border:1px solid var(--rd-line);border-radius:10px;padding:8px 10px}
.re-modal .re-tm .i{width:24px;height:24px;border-radius:7px;background:var(--rd-azs);color:var(--rd-az);display:grid;place-items:center;font-weight:700;font-size:11px}
.re-modal .re-tmt b{display:block;font-size:13px;font-weight:600}.re-modal .re-tmt small{color:var(--rd-mut);font-size:11.5px}
.re-modal .re-tm.own .re-tmt b::after{content:" · a mano";color:var(--rd-mut);font-weight:500}
.re-modal .re-tms{grid-column:1/-1}.re-modal .re-tms label{display:flex;flex-direction:column;gap:4px;font-size:0;margin:0}
.re-modal .re-note{border:2px solid var(--rd-az);border-radius:14px;background:var(--rd-pg);overflow:hidden}
.re-modal .re-nh{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--rd-azs);font-weight:700;font-size:13px;color:var(--rd-az)}
.re-modal .re-note textarea{display:block;width:100%;min-height:92px;border:0;background:transparent;color:var(--rd-ink);font:inherit;font-weight:500;font-size:14px;line-height:1.5;padding:10px 12px;resize:vertical;outline:none;box-sizing:border-box}
.re-modal .re-nf{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--rd-line);font-size:12px;font-weight:500;color:var(--rd-mut);cursor:pointer;flex-direction:row;margin:0}
.re-modal .re-nf input{position:absolute;opacity:0;width:1px;height:1px}
.re-modal .re-sw{width:34px;height:20px;border-radius:999px;background:var(--rd-line);position:relative;flex:none;transition:background .15s}
.re-modal .re-sw::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}
.re-modal .re-nf input:checked + .re-sw{background:var(--rd-okb)}.re-modal .re-nf input:checked + .re-sw::after{left:16px}
.re-modal .re-nf input:focus-visible + .re-sw{outline:2px solid var(--rd-az);outline-offset:2px}
.re-modal .re-st{display:grid;grid-template-columns:repeat(3,1fr)}
.re-modal .re-foot{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:12px 22px;border-top:1px solid var(--rd-line)}
.re-modal .re-foot .rd-b{width:auto;padding:0 16px}
.re-modal .re-foot .rd-b.blue:disabled{opacity:.45;cursor:not-allowed}
.re-modal .re-ctx{margin-right:auto;font-size:12.5px;color:var(--rd-mut)}
.re-modal .re-search{display:flex;align-items:center;gap:8px;height:42px;border:1px solid var(--rd-line);border-radius:11px;padding:0 12px;background:var(--rd-pg);color:var(--rd-mut)}
.re-modal .re-search input{border:0;background:transparent;font:inherit;font-weight:500;font-size:14px;color:var(--rd-ink);flex:1;min-width:0;outline:none;height:auto;padding:0}
.re-modal .re-res{display:flex;flex-direction:column;gap:4px;max-height:340px;overflow:auto;margin-top:8px}
.re-modal .re-ri{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border-radius:11px;cursor:pointer;border:1px solid transparent;background:none;text-align:left;font:inherit;color:var(--rd-ink)}
.re-modal .re-ri:hover{background:var(--rd-soft)}
.re-modal .re-ri.no{opacity:.62}
.re-modal .re-ri .a{width:34px;height:34px;border-radius:10px;background:var(--rd-soft2);color:var(--rd-ink2);display:grid;place-items:center;font-weight:700;font-size:12px}
.re-modal .re-rt{min-width:0}.re-modal .re-rt b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.re-modal .re-rt small{color:var(--rd-mut);font-size:12px}
.re-modal .re-tag{font-weight:700;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:3px 7px;white-space:nowrap}
.re-modal .re-tag.ok{background:var(--rd-oks);color:var(--rd-ok)}.re-modal .re-tag.no{background:var(--rd-reds);color:var(--rd-red)}.re-modal .re-tag.cont{background:var(--rd-azs);color:var(--rd-az)}
.re-modal .re-chosen{margin:0}
.re-modal .re-card{display:flex;flex-direction:column;gap:12px}
.re-modal .re-task{border:1px solid var(--rd-line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:12px}
.re-modal .re-th{display:flex;gap:12px;align-items:center}
.re-modal .re-th h3{margin:0;font-size:16.5px;letter-spacing:-.01em}
.re-modal .re-mini{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--rd-line);border-radius:11px;overflow:hidden}
.re-modal .re-mini div{padding:7px 10px;border-left:1px solid var(--rd-line)}.re-modal .re-mini div:first-child{border-left:0}
.re-modal .re-mini b{display:block;font-size:17px;font-variant-numeric:tabular-nums}.re-modal .re-mini small{color:var(--rd-mut);font-size:11.5px}
.re-modal .re-mats{display:flex;gap:6px;flex-wrap:wrap}
.re-modal .re-mats span{font-weight:600;font-size:12px;border-radius:8px;padding:4px 9px}
.re-modal .re-mats .y{background:var(--rd-oks);color:var(--rd-ok)}.re-modal .re-mats .n{background:var(--rd-reds);color:var(--rd-red)}
.re-modal .re-stop,.re-modal .re-cont{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:12px 14px}
.re-modal .re-stop{background:var(--rd-reds);border:1px solid color-mix(in srgb,var(--rd-red) 40%,transparent)}
.re-modal .re-stop svg{flex:none;color:var(--rd-red)}.re-modal .re-stop b{color:var(--rd-red)}
.re-modal .re-cont{background:var(--rd-azs);border:1px solid color-mix(in srgb,var(--rd-az) 35%,transparent)}
.re-modal .re-cont svg{flex:none;color:var(--rd-az)}.re-modal .re-cont b{color:var(--rd-az)}
.re-modal .re-stop > div,.re-modal .re-cont > div{flex:1;min-width:0}
.re-modal .re-stop small,.re-modal .re-cont small{display:block;color:var(--rd-ink2);font-size:12.5px;margin-top:2px}
.re-modal .re-free{display:flex;flex-direction:column;gap:12px}
.re-modal .re-dets{border:1px solid var(--rd-line);border-radius:14px;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.re-modal .re-dets > label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--rd-mut);margin:0}
.re-modal .re-dets > label.span2{grid-column:1/-1}
.re-modal .rpe-warn{margin:0;font-size:12.5px;color:var(--rd-amb)}
@media (max-width:860px){.re-modal .re-bd{grid-template-columns:1fr}.re-modal .re-l{border-right:0;border-bottom:1px solid var(--rd-line)}.re-modal .re-mini{grid-template-columns:repeat(2,1fr)}}
