/* ════════════════════════════════════════
   TEMA CLARO (padrão)
   ════════════════════════════════════════ */:root{
  --bg:#fff9f1;--surf:#fff;--surf2:#f9f8f5;--surf3:#f2f1ec;
  --bdr:#e6e4dd;--bdr2:#d0cec5;
  --txt:#18170f;--txt2:#6b6a62;--txt3:#a09e96;
  --acc:#1a56db;--acc-bg:#eef3ff;
  --grn:#15803d;--grn-bg:#f0fdf4;--grn-m:#22c55e;--grn-it:#c6e0b4;--grn-it-l:#e5fad7;
  --amb:#b45309;--amb-bg:#fffbeb;--amb-m:#855c16;
  --red:#b91c1c;--red-bg:#fef2f2;
  --pur:#7c3aed;--pur-bg:#f5f3ff;
  --r:8px;--rl:14px;
  --sh:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shl:0 8px 24px rgba(0,0,0,.09);
}/* Tra

nsição suave ao alternar tema */.modal{
  width: 40%;
  height: 90%;
  overflow-y: auto;
  scrollbar-color: var(--txt3) var(--surf);
}/* Ícone de tema — animação de rotação *//* ── LAYOUT ── */.sidebar{width:224px;background:var(--txt);flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}/* ── PAGES ── *//* ── CARDS & GRID ── *//* ─── Ajuste de largura de inputs dentro do modal com calendário ─── */.has-calendar .modal-calendar-left input[type="text"],
.has-calendar .modal-calendar-left input[type="email"],
.has-calendar .modal-calendar-left textarea{
  width:90% !important;
}.has-calendar .modal-calendar-left .date-wrap{
  width:90%;
}/* Cor do ícone do calendário nos inputs type=date */.has-calendar .modal-calendar-left input[type="date"]::-webkit-calendar-picker-indicator{
  filter:invert(40%);                /* ajusta o tom para próximo de var(--txt) */
  cursor:pointer;
  opacity:.7;
}.has-calendar .modal-calendar-left input[type="date"]::-webkit-calendar-picker-indicator:hover{
  opacity:1;
}/* ─── Container de data com dia da semana embutido ─── */.date-wrap{
  position:relative;
  border:1px solid var(--bdr);
  border-radius:var(--r);
  background:var(--surf);
  transition:border-color .15s;
  overflow:hidden;
}.date-wrap:focus-within{ border-color:var(--acc); }.date-wrap input[type="date"]{
  width:100%;
  border:none !important;
  background:transparent !important;
  padding:7px 10px 2px 10px !important;
  font-size:13px;
  font-family:'DM Mono',monospace;
  color:var(--txt);
  outline:none !important;
}.date-wrap .date-dia{
  display:block;
  padding:0 10px 6px 10px;
  font-size:11px;
  color:var(--txt3);
  min-height:14px;
  line-height:1.2;
  font-family:inherit;
}/* ── BADGES & STATUS ── */.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}.st{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 9px;border-radius:20px;white-space:nowrap}/* ── TABS ── *//* ── TABLE ── */.lm{font-weight:500;font-size:13px;cursor:pointer}.rname{max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibtn:hover{background:var(--surf2);color:var(--txt)}/* ── PHASES PANEL ── *//* ── GANTT ── *//* ── CALENDAR ── *//* ── WEEKLY / DAILY ── *//* daily view *//* ── ACCESS / PHASES CONFIG ── *//* ── FORM / MODAL ── */.modal{background:var(--surf);border-radius:var(--rl);border:1px solid var(--bdr);padding:1.5rem;width:420px;max-width:100%;box-shadow:var(--shl);animation:su .18s ease}.modal.wide{width:580px}.f{margin-bottom:11px;}/* Profile switcher *//* filter btns */.nota-msg {
    display: flex;
    gap: 6px;
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 4px;
    background: var(--surf);
    border-radius: 4px;
}.nota-user {
    font-weight: 600;
    color: var(--amb-m);
    white-space: nowrap;
    font-family: 'DM Mono', monospace;
    font-size: 11px;
}/* Layout com sidebar *//* Esconde o header se layout for sidebar *//* ════════════════════════════════════════
   TEMA ESCURO — sobrescreve variáveis
   Aplicado quando <html data-theme="dark">
   ════════════════════════════════════════ */[data-theme="dark"]{
  --bg:#150f0f;--surf:#1a1d24;--surf2:#22262f;--surf3:#2a2f3a;
  --bdr:#2d323d;--bdr2:#3d4350;
  --txt:#e8e6e0;--txt2:#a8a69e;--txt3:#6b6a62;
  --acc:#4c8dff;--acc-bg:rgba(76,141,255,.12);
  --grn:#4ade80;--grn-bg:rgba(74,222,128,.10);--grn-m:#22c55e;--grn-it:#377b09;
  --amb:#fbbf24;--amb-bg:rgba(251,191,36,.10);--amb-m:#f59e0b;
  --red:#f87171;--red-bg:rgba(248,113,113,.12);
  --pur:#a78bfa;--pur-bg:rgba(167,139,250,.12);
  --sh:0 1px 3px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.25);
  --shl:0 8px 24px rgba(0,0,0,.45);
}/* Transição suave ao alternar tema */body, .card, .stat-c, .proj-card, .tcard, .modal, .sidebar, 
.topbar, .group-card, .gantt-wrap, .cal-grid, .gbar-name,
.phases-wrap, input, select, textarea, .btn, .badge, .st, .fbtn{
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}/* Ícone de tema — animação de rotação */.theme-toggle{
  background:none;
  border:1px solid #e6e4dd00;
  border-radius:50%;
  width:34px;
  height:34px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(255, 255, 255, .55);
  transition:all .3s ease;
  padding:0;
}.theme-toggle:hover{background:var(--surf2);color:var(--txt);transform:rotate(360deg)}.theme-toggle svg{width:16px;height:16px;transition:transform .3s ease}/* Ajustes de contraste no dark — algumas cores fixas precisam revisão */[data-theme="dark"] thead th{background:var(--surf2)}[data-theme="dark"] .rm:hover td{background:rgba(255,255,255,.02)}[data-theme="dark"] .rs:hover td{background:rgba(255,255,255,.025)}[data-theme="dark"] .rs3:hover td{background:rgba(255,255,255,.02)}[data-theme="dark"] .rs4:hover td{background:rgba(255,255,255,.025)}[data-theme="dark"] .nota-msg{background:var(--surf2)}/* ── LAYOUT ── */.app{display:flex;min-height:100vh}.sidebar{width:224px;background:var(--txt);flex-shrink:0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto; margin-top: -8px;margin-left: -8px;}.sb-logo{padding:18px 18px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.sb-logo h1{font-size:17px;color:#fff;letter-spacing:-.03em}.sb-logo .sub{font-size:11px;color:rgba(255,255,255,.35);font-family:'DM Sans',sans-serif;font-weight:400}.sb-profile{margin:12px 14px 0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:10px 12px;cursor:pointer;transition:all .15s}.sb-profile:hover{background:rgba(255,255,255,.1)}.sb-profile-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);margin-bottom:5px;font-family:'Syne',sans-serif}.sb-profile-user{display:flex;align-items:center;gap:8px;color:#fff}.sb-profile-name{font-size:12.5px;font-weight:500}.sb-profile-group{font-size:10.5px;color:rgba(255,255,255,.45)}.nav{padding:10px 0;flex:1}.nav-sec{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.25);padding:10px 18px 5px;font-family:'Syne',sans-serif}.nav-item{display:flex;align-items:center;gap:9px;padding:7px 18px;cursor:pointer;color:rgba(255,255,255,.5);font-size:12.5px;transition:all .15s}.nav-item:hover{color:#fff;background:rgba(255,255,255,.05)}.nav-item.active{color:#fff;background:rgba(255,255,255,.1);border-right:2px solid rgba(255,255,255,.8)}.nav-item svg{flex-shrink:0}.sb-bottom{padding:14px 18px;border-top:1px solid rgba(255,255,255,.07)}.content{flex:1;min-width:0;overflow-x:hidden}.topbar{background:var(--surf);border-bottom:1px solid var(--bdr);padding:0 1.75rem;height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:40}.tb-left{display:flex;align-items:center;gap:10px}.back-btn{background:none;border:1px solid var(--bdr);border-radius:var(--r);padding:5px 10px;font-family:inherit;font-size:12px;cursor:pointer;color:var(--txt2);display:flex;align-items:center;gap:5px;transition:all .15s}.back-btn:hover{background:var(--surf2)}.tb-title{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;letter-spacing:-.01em}.tb-right{display:flex;align-items:center;gap:8px}.timer-badge{display:none;align-items:center;gap:6px;background:var(--amb-bg);border:1px solid #fde68a;border-radius:20px;padding:4px 12px;font-size:11.5px;color:var(--amb);font-weight:500}.timer-badge.show{display:flex}.pulse{width:6px;height:6px;border-radius:50%;background:var(--amb-m);animation:pulse 1.2s infinite}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.6)}}/* ── PAGES ── */.page{display:none;padding:1.75rem}.page.active{display:block}.page-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.75rem;flex-wrap:wrap;gap:12px}.page-hd h2{font-size:22px;font-weight:700;letter-spacing:-.02em}.page-hd p{font-size:12.5px;color:var(--txt2);margin-top:2px}/* ── CARDS & GRID ── */.card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:16px 18px;box-shadow:var(--sh)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:1.5rem}.stat-c{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:15px 18px;box-shadow:var(--sh)}.stat-lbl{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--txt3);margin-bottom:5px}.stat-val{font-size:26px;font-weight:700;font-family:'Syne',sans-serif;letter-spacing:-.02em}.stat-sub{font-size:11.5px;color:var(--txt2);margin-top:2px}.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:14px}.proj-card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:18px 20px;cursor:pointer;transition:all .2s;box-shadow:var(--sh);position:relative;overflow:hidden}.proj-card:hover{box-shadow:var(--shl);transform:translateY(-2px);border-color:var(--bdr2)}.proj-card-stripe{position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--rl) var(--rl) 0 0}.pc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.pc-name{font-family:'Syne',sans-serif;font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.3}.pc-meta{font-size:11.5px;color:var(--txt2);margin-bottom:12px;display:flex;flex-direction:column;gap:2px}.pc-phase{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;margin-bottom:10px}.prog-row{display:flex;align-items:center;gap:7px;margin-bottom:10px}.pbar{flex:1;height:4px;background:var(--bdr);border-radius:2px;overflow:hidden}.pfill{height:100%;border-radius:2px;transition:width .5s}.ppct{font-size:11px;font-weight:600;font-family:'DM Mono',monospace;color:var(--txt2);min-width:28px;text-align:right}.pc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--bdr)}.av-stack{display:flex}.av-stack .av{margin-left:-5px;border:2px solid var(--surf)}.av-stack .av:first-child{margin-left:0}.av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-family:'Syne',sans-serif;flex-shrink:0}.av.sm{width:22px;height:22px;font-size:9px}.av.md{width:30px;height:30px;font-size:11px}.av.lg{width:36px;height:36px;font-size:13px}.locked-overlay{position:absolute;inset:0;background:rgba(244,243,239,.85);backdrop-filter:blur(2px);border-radius:var(--rl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:5}.locked-overlay svg{color:var(--txt3)}.locked-overlay span{font-size:12px;color:var(--txt2);font-weight:500;text-align:center;max-width:180px;line-height:1.4}/* ── BADGES & STATUS ── */.badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;white-space:nowrap}.b-editais{background:#dbeafe;color:#1e40af}.b-resultados{background:#dcfce7;color:#166534}.b-juridico{background:#ede9fe;color:#5b21b6}.b-financeiro{background:#fef3c7;color:#92400e}.b-operacional{background:#fce7f3;color:#9d174d}.b-tecnico{background:#e0f2fe;color:#0369a1}.st{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;padding:2px 9px;border-radius:20px;white-space:nowrap}.st::before{content:'';width:5px;height:5px;border-radius:50%;flex-shrink:0}.s-ok{background:var(--grn-bg);color:var(--grn)}.s-ok::before{background:var(--grn)}.s-go{background:var(--amb-bg);color:var(--amb)}.s-go::before{background:var(--amb-m)}.s-no{background:#f3f4f6;color:#6b7280}.s-no::before{background:#9ca3af}.s-pa{background:#e0f2fe;color:#0369a1}.s-pa::before{background:#0369a1}.s-ru{background:var(--amb-bg);color:var(--amb)}.s-ru::before{background:var(--amb-m);animation:pulse 1s infinite}/* ── TABS ── */.tabs{display:flex;gap:2px;margin-bottom:1.25rem;background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:4px;width:fit-content;box-shadow:var(--sh)}.tab{padding:6px 16px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:500;color:var(--txt2);transition:all .15s;border:none;background:none;font-family:'DM Sans',sans-serif}.tab.active{background:var(--txt);color:#fff}.tab:hover:not(.active){background:var(--surf2)}/* ── TABLE ── */.tcard{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh)}.ttb{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--bdr);gap:8px;flex-wrap:wrap}.ttb-l{display:flex;align-items:center;gap:7px;flex-wrap:wrap}table{width:100%;border-collapse:collapse}thead th{padding:8px 11px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--txt3);background:var(--surf2);border-bottom:1px solid var(--bdr);white-space:nowrap}.rm td{padding:9px 11px;border-bottom:1px solid var(--bdr);vertical-align:middle}.rm:hover td{background:#fafaf8}.rs td{padding:7px 11px 7px 30px;border-bottom:1px solid var(--bdr);background:var(--surf2);vertical-align:middle}.rs:hover td{background:#f2f1ec}.rs.isrun td{background:#fffbeb!important}.rs3 td{padding:6px 11px 6px 56px;border-bottom:1px solid var(--bdr);background:var(--surf);vertical-align:middle}.rs3:hover td{background:#fafaf8}.rs4 td{padding:5px 11px 5px 80px;border-bottom:1px solid var(--bdr);background:var(--surf2);vertical-align:middle}.rs4:hover td{background:#f2f1ec}.radd td{padding:4px 11px;border-bottom:1px solid var(--bdr);background:var(--surf2)}.expbtn{background:none;border:none;cursor:pointer;color:var(--txt3);font-size:9px;padding:2px 4px;border-radius:4px;transition:all .15s;display:inline-flex;align-items:center}.expbtn:hover{background:var(--bdr);color:var(--txt)}.expbtn.open{transform:rotate(90deg)}.chwrap{display:flex;align-items:center;gap:7px}input[type=checkbox]{width:13px;height:13px;cursor:pointer;accent-color:var(--acc);flex-shrink:0}.lm{font-weight:500;font-size:15px;cursor:pointer}.ls{font-size:12.5px;cursor:pointer}.ls3{font-size:12px;color:var(--txt2)}.ls3.done{text-decoration:line-through;opacity:.5}.pw{display:flex;align-items:center;gap:5px}.pb{width:52px;height:4px;background:var(--bdr);border-radius:2px;overflow:hidden;flex-shrink:0}.pf{height:100%;border-radius:2px;background:var(--grn-m);transition:width .4s}.pt{font-size:10.5px;font-weight:600;font-family:'DM Mono',monospace;color:var(--txt2);min-width:26px}.dv{font-size:11px;font-family:'DM Mono',monospace;color:var(--txt2);white-space:nowrap}.nv{font-size:10.5px;font-family:'DM Mono',monospace;color:var(--txt3)}.rcell{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--txt2)}.rname{max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}.rbtn{background:none;border:1px dashed var(--bdr2);border-radius:20px;padding:2px 7px;font-size:10.5px;color:var(--txt3);cursor:pointer;white-space:nowrap;transition:all .15s;font-family:inherit}.rbtn:hover{border-color:var(--acc);color:var(--acc);background:var(--acc-bg)}.tmcell{display:flex;align-items:center;gap:4px}.pbtn{width:23px;height:23px;border-radius:50%;border:1.5px solid var(--bdr2);background:var(--surf);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.pbtn:hover{border-color:var(--acc);background:var(--acc-bg);color:var(--acc)}.pbtn.run{background:var(--amb-bg);border-color:var(--amb-m);color:var(--amb)}.pbtn.pau{background:#e0f2fe;border-color:#0369a1;color:#0369a1}.tdsp{font-size:11px;font-weight:500;font-family:'DM Mono',monospace;color:var(--txt2);min-width:50px;letter-spacing:.02em}.tdsp.run{color:var(--amb)}.rstbtn{background:none;border:none;cursor:pointer;color:var(--txt3);padding:1px 3px;border-radius:3px;transition:all .15s;line-height:1;display:inline-flex;align-items:center}.rstbtn:hover{background:var(--red-bg);color:var(--red)}.acts{display:flex;gap:1px;justify-content:flex-end;align-items:center}.ibtn{background:none;border:none;cursor:pointer;color:var(--txt3);font-size:12px;padding:3px 5px;border-radius:4px;transition:all .15s;line-height:1}.ibtn:hover{background:var(--surf2);color:var(--acc)}.ibtn.del:hover{background:var(--red-bg);color:var(--red)}.ninput{font-family:'DM Sans',sans-serif;font-size:11px;border:1px solid transparent;border-radius:4px;padding:2px 6px;width:110px;background:transparent;color:var(--txt2);outline:none;transition:all .15s}.ninput:hover{border-color:var(--bdr);background:var(--surf)}.ninput:focus{border-color:var(--acc);background:var(--surf)}.ninput::placeholder{color:var(--txt3)}.addbtn{background:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11.5px;color:var(--txt3);padding:3px 7px;border-radius:4px;transition:all .15s}.addbtn:hover{color:var(--acc);background:var(--acc-bg)}/* ── PHASES PANEL ── */.phases-wrap{display:flex;gap:0;margin-bottom:1.5rem;background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh)}.phase-step{flex:1;padding:12px 16px;border-right:1px solid var(--bdr);position:relative;cursor:default;transition:background .15s}.phase-step:last-child{border-right:none}.phase-step.active-phase{background:var(--acc-bg)}.phase-step.done-phase{background:var(--grn-bg)}.phase-arrow{position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:20px;height:20px;background:var(--surf);border-right:1px solid var(--bdr);border-top:1px solid var(--bdr);transform:translateY(-50%) rotate(45deg);z-index:2}.phase-num{font-size:10px;font-weight:700;font-family:'Syne',sans-serif;color:var(--txt3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.phase-name{font-size:13px;font-weight:600;font-family:'Syne',sans-serif;margin-bottom:3px}.phase-group{font-size:11px;color:var(--txt2);display:flex;align-items:center;gap:4px}.phase-dates{font-size:10.5px;font-family:'DM Mono',monospace;color:var(--txt3);margin-top:3px}.phase-badge{display:inline-block;font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:20px;margin-top:4px}/* ── GANTT ── */.gantt-wrap{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh)}.gbar-row{display:flex;align-items:center;border-bottom:1px solid var(--bdr);min-height:36px}.gbar-row:hover{background:var(--surf2)}.gbar-name{width:200px;min-width:200px;padding:5px 12px;font-size:12px;border-right:1px solid var(--bdr);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--txt2)}.gbar-name.main{font-weight:600;color:var(--txt);font-family:'Syne',sans-serif;font-size:12.5px}.gbar-name.sub{padding-left:26px}.gbar-tl{flex:1;position:relative;height:36px;overflow:hidden}.gbar{position:absolute;top:7px;height:22px;border-radius:4px;min-width:4px;transition:opacity .15s}.gbar:hover{opacity:.8;cursor:pointer}.gbar-lbl{position:absolute;top:50%;transform:translateY(-50%);left:7px;font-size:9.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;font-family:'Syne',sans-serif}.gmonth-row{display:flex;background:var(--surf2);border-bottom:1px solid var(--bdr)}.gmonth-name{width:200px;min-width:200px;border-right:1px solid var(--bdr);padding:6px 12px;font-size:10px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.06em}.gmonth-cells{flex:1;display:flex}.gmonth-cell{flex:1;text-align:center;padding:6px 0;font-size:9.5px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.04em;border-right:1px solid var(--bdr)}.gmonth-cell:last-child{border-right:none}/* ── CALENDAR ── */.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.cal-nav h3{font-size:16px;font-weight:700;font-family:'Syne',sans-serif}.cal-grid{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;box-shadow:var(--sh)}.cal-weeks-hdr{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--bdr)}.cal-wday{padding:8px;text-align:center;font-size:10.5px;font-weight:700;color:var(--txt3);text-transform:uppercase;letter-spacing:.06em;background:var(--surf2)}.cal-cells{display:grid;grid-template-columns:repeat(7,1fr)}.cal-cell{min-height:90px;padding:6px;border-right:1px solid var(--bdr);border-bottom:1px solid var(--bdr);cursor:pointer;transition:background .1s;vertical-align:top}.cal-cell:nth-child(7n){border-right:none}.cal-cell:hover{background:var(--surf2)}.cal-cell.today{background:var(--acc-bg)}.cal-cell.other-month{opacity:.4}.cal-day{font-size:12px;font-weight:600;font-family:'Syne',sans-serif;margin-bottom:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%}.cal-cell.today .cal-day{background:var(--acc);color:#fff}.cal-ev{font-size:10px;font-weight:500;padding:2px 5px;border-radius:3px;margin-bottom:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cal-ev:hover{opacity:.8}/* ── WEEKLY / DAILY ── */.week-grid{display:grid;grid-template-columns:60px repeat(7,1fr);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;background:var(--surf);box-shadow:var(--sh)}.wk-hdr{padding:8px;text-align:center;border-bottom:1px solid var(--bdr);border-right:1px solid var(--bdr);background:var(--surf2)}.wk-hdr:last-child{border-right:none}.wk-hdr-day{font-size:10.5px;font-weight:700;color:var(--txt3);text-transform:uppercase}.wk-hdr-date{font-size:16px;font-weight:700;font-family:'Syne',sans-serif;line-height:1;margin-top:2px}.wk-hdr.today-col .wk-hdr-date{color:var(--acc)}.wk-timecol{font-size:10px;font-family:'DM Mono',monospace;color:var(--txt3);padding:4px 6px;text-align:right;border-right:1px solid var(--bdr);border-bottom:1px solid var(--bdr)}.wk-cell{border-right:1px solid var(--bdr);border-bottom:1px solid var(--bdr);min-height:44px;padding:2px;position:relative}.wk-cell:last-child{border-right:none}.wk-cell.today-col{background:rgba(26,86,219,.02)}.wk-ev{font-size:10px;padding:3px 6px;border-radius:3px;margin-bottom:2px;cursor:pointer;line-height:1.3;font-weight:500}.wk-ev:hover{opacity:.8}/* daily view */.daily-wrap{display:flex;gap:1.5rem;flex-wrap:wrap}.daily-col{flex:1;min-width:280px}.daily-sec-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--txt3);margin-bottom:10px;font-family:'Syne',sans-serif}.daily-item{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--r);padding:10px 14px;margin-bottom:8px;box-shadow:var(--sh);cursor:pointer;transition:all .15s}.daily-item:hover{box-shadow:var(--shl);border-color:var(--bdr2)}.daily-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.daily-item-name{font-size:13px;font-weight:500}.daily-item-proj{font-size:11px;color:var(--txt2)}.daily-item-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--txt2)}.daily-item.overdue{border-left:3px solid var(--red);padding-left:11px}.daily-item.today-item{border-left:3px solid var(--acc);padding-left:11px}.daily-item.done{opacity:.6}/* ── ACCESS / PHASES CONFIG ── */.group-card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:16px;margin-bottom:12px;box-shadow:var(--sh)}.group-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.group-name{font-size:14px;font-weight:600;font-family:'Syne',sans-serif;display:flex;align-items:center;gap:8px}.group-members{display:flex;flex-wrap:wrap;gap:6px}.phase-config-row{background:var(--surf2);border:1px solid var(--bdr);border-radius:var(--r);padding:12px 14px;margin-bottom:8px}.phase-config-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.access-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:20px}/* ── FORM / MODAL ── */.btn{padding:7px 15px;border:1px solid var(--bdr);border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;cursor:pointer;background:var(--surf);color:var(--txt);transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.btn:hover{background:var(--surf2);border-color:var(--bdr2)}.btn-p{background:var(--acc);color:#fff;border-color:var(--acc)}.btn-p:hover{background:#1746c0}.btn-sm{padding:5px 11px;font-size:12px}.btn-xs{padding:3px 8px;font-size:11px}.btn-icon{padding:5px 8px;border:1px solid var(--bdr);border-radius:var(--r);background:var(--surf);cursor:pointer;color:var(--txt2);transition:all .15s;display:inline-flex;align-items:center;gap:5px;font-family:'DM Sans',sans-serif;font-size:12px}.btn-icon:hover{background:var(--surf2);border-color:var(--bdr2)}.sw{position:relative}.sw input[type=text]{padding:7px 11px 7px 28px;border:1px solid var(--bdr);border-radius:var(--r);font-size:13px;background:var(--surf);color:var(--txt);outline:none;width:200px;transition:all .15s;font-family:inherit}.sw input:focus{border-color:var(--acc)}.sw .si{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--txt3);font-size:12px;pointer-events:none}.modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);backdrop-filter:blur(3px);z-index:200;align-items:center;justify-content:center;padding:1rem}.modal-ov.show{display:flex}.modal{background:var(--surf);border-radius:var(--rl);border:1px solid var(--bdr);padding:1.5rem;width:420px;max-width:100%;box-shadow:var(--shl);animation:su .18s ease}.modal.wide{width:580px; height: 90%; overflow-x: auto;}.modal.xwide{width:700px}@keyframes su{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.mhd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem}.mhd h3{font-size:15px;font-weight:600;font-family:'Syne',sans-serif}.mcl{background:none;border:none;cursor:pointer;font-size:17px;color:var(--txt3);padding:2px 5px;border-radius:3px;line-height:1;transition:color .15s}.mcl:hover{color:var(--txt)}.f{margin-bottom:11px}.f label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--txt3);margin-bottom:4px}.f input,.f select,.f textarea{width:100%;padding:7px 10px;border:1px solid var(--bdr);border-radius:var(--r);font-size:13px;background:var(--surf);color:var(--txt);outline:none;transition:border-color .15s;font-family:'DM Sans',sans-serif}.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--acc)}.f textarea{resize:vertical;min-height:60px}.frow{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mfoot{display:flex;gap:7px;justify-content:flex-end;margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--bdr)}.cpick{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}.cs{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:all .15s}.cs.sel{border-color:var(--txt);transform:scale(1.1)}.rpick{display:flex;flex-direction:column;gap:3px;max-height:220px;overflow-y:auto}.ropt{display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:var(--r);cursor:pointer;transition:background .1s}.ropt:hover{background:var(--surf2)}.ropt.sel{background:var(--acc-bg)}.drop-wrap{position:relative}.drop{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--surf);border:1px solid var(--bdr);border-radius:var(--r);box-shadow:var(--shl);min-width:170px;z-index:100;overflow:hidden}.drop.show{display:block}.di{padding:7px 13px;font-size:12.5px;cursor:pointer;color:var(--txt);display:flex;align-items:center;gap:7px;transition:background .1s}.di:hover{background:var(--surf2)}.di.danger{color:var(--red)}.di.danger:hover{background:var(--red-bg)}.dsep{height:1px;background:var(--bdr);margin:3px 0}.toast{position:fixed;bottom:20px;right:20px;background:var(--txt);color:#fff;padding:9px 16px;border-radius:var(--r);font-size:13px;font-weight:500;z-index:999;opacity:0;transform:translateY(6px);transition:all .22s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.empty-s{padding:2.5rem;text-align:center;color:var(--txt3);font-size:13px}.empty-s .ei{font-size:28px;margin-bottom:8px}/* Profile switcher */.prof-panel{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:20px;box-shadow:var(--sh);margin-bottom:1.5rem}.prof-title{font-size:13px;font-weight:600;font-family:'Syne',sans-serif;margin-bottom:10px}.prof-list{display:flex;flex-wrap:wrap;gap:8px}.prof-opt{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1.5px solid var(--bdr);border-radius:var(--rl);cursor:pointer;transition:all .15s;background:var(--surf)}.prof-opt:hover{border-color:var(--acc);background:var(--acc-bg)}.prof-opt.active{border-color:var(--acc);background:var(--acc-bg)}.prof-opt-name{font-size:13px;font-weight:500}.prof-opt-grp{font-size:11px;color:var(--txt2)}/* filter btns */.fbars{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.fbtn{padding:5px 12px;border:1px solid var(--bdr);border-radius:20px;font-size:12px;cursor:pointer;background:var(--surf);color:var(--txt2);transition:all .15s;font-family:'DM Sans',sans-serif}.fbtn.act{background:var(--txt);color:#fff;border-color:var(--txt)}.fbtn:hover:not(.act){background:var(--surf2)}.nota-feed {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 4px 0;
}.nota-msg {
    display: flex;
    gap: 6px;
    font-size: 12px;
    line-height: 1.4;
    padding: 2px 4px;
    background: var(--surf2);
    border-radius: 4px;
}.nota-txt {
    color: var(--txt);
    word-break: break-word;
}.nota-input-row {
    display: flex;
    gap: 4px;
    margin-top: 4px;
}.nota-input-row .ninput {
    flex: 1;
}/* Layout com sidebar */.layout-sidebar .app {
  flex-direction: row;
}.layout-sidebar .app .sidebar {
  display: flex !important;
  width: 240px;
  flex-shrink: 0;
}.layout-sidebar .app .content {
  padding-top: 0; /* remove espaço do header fixo */
}.layout-sidebar .app .topbar {
  position: sticky;
  top: 0;
}/* Esconde o header se layout for sidebar */.layout-sidebar .app-header {
  display: none;
}/* ════════════════════════════════════════════════════════════
   TEMA ESCURO — DEVE FICAR NO FIM DO ARQUIVO
   Sobrescreve variáveis E cores fixas hardcoded
   ════════════════════════════════════════════════════════════ */[data-theme="dark"]{
  --bg:#0f1115;--surf:#1a1d24;--surf2:#22262f;--surf3:#2a2f3a;
  --bdr:#2d323d;--bdr2:#3d4350;
  --txt:#e8e6e0;--txt2:#a8a69e;--txt3:#6b6a62;
  --acc:#4c8dff;--acc-bg:rgba(76,141,255,.12);
  --grn:#4ade80;--grn-bg:rgba(74,222,128,.10);--grn-m:#22c55e;--grn-it:#377b09;
  --amb:#fbbf24;--amb-bg:rgba(251,191,36,.10);--amb-m:#f59e0b;
  --red:#f87171;--red-bg:rgba(248,113,113,.12);
  --pur:#a78bfa;--pur-bg:rgba(167,139,250,.12);
  --sh:0 1px 3px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.25);
  --shl:0 8px 24px rgba(0,0,0,.45);
}/* ── Aplica background no body/html ── */[data-theme="dark"] body{background:var(--bg);color:var(--txt)}/* ── Badges de setor ── */[data-theme="dark"] .b-editais{background:rgba(59,130,246,.18);color:#93c5fd}[data-theme="dark"] .b-resultados{background:rgba(34,197,94,.18);color:#86efac}[data-theme="dark"] .b-juridico{background:rgba(139,92,246,.18);color:#c4b5fd}[data-theme="dark"] .b-financeiro{background:rgba(245,158,11,.18);color:#fcd34d}[data-theme="dark"] .b-operacional{background:rgba(236,72,153,.18);color:#f9a8d4}[data-theme="dark"] .b-tecnico{background:rgba(56,189,248,.18);color:#7dd3fc}/* ── Status pills ── */[data-theme="dark"] .s-no{background:rgba(156,163,175,.15);color:#9ca3af}[data-theme="dark"] .s-no::before{background:#9ca3af}[data-theme="dark"] .s-pa{background:rgba(56,189,248,.15);color:#7dd3fc}[data-theme="dark"] .s-pa::before{background:#7dd3fc}/* ── Tabela ── */[data-theme="dark"] thead th{background:var(--surf2);color:var(--txt3)}[data-theme="dark"] .rm:hover td{background:rgba(255,255,255,.03)}[data-theme="dark"] .rs td{background:var(--surf2)}[data-theme="dark"] .rs:hover td{background:rgba(255,255,255,.04)}[data-theme="dark"] .rs.isrun td{background:rgba(251,191,36,.08)!important}[data-theme="dark"] .rs3 td{background:var(--surf)}[data-theme="dark"] .rs3:hover td{background:rgba(255,255,255,.03)}[data-theme="dark"] .rs4 td{background:var(--surf2)}[data-theme="dark"] .rs4:hover td{background:rgba(255,255,255,.04)}[data-theme="dark"] .radd td{background:var(--surf2)}/* ── Botão primário hover ── */[data-theme="dark"] .btn-p{background:var(--acc);color:#fff}[data-theme="dark"] .btn-p:hover{background:#3a7bf0}/* ── Overlay bloqueado ── */[data-theme="dark"] .locked-overlay{background:rgba(15,17,21,.85)}/* ── Calendário ── */[data-theme="dark"] .cal-cell:hover{background:var(--surf2)}[data-theme="dark"] .cal-cell.today{background:var(--acc-bg)}[data-theme="dark"] .wk-cell.today-col{background:rgba(76,141,255,.04)}/* ── Toast ── */[data-theme="dark"] .toast{background:#000;color:#fff;border:1px solid var(--bdr)}/* ── Tabs ── */[data-theme="dark"] .tab.active{background:var(--acc);color:#fff}/* ── Filtros (fbtn) ── */[data-theme="dark"] .fbtn.act{background:var(--acc);color:#fff;border-color:var(--acc)}/* ── Modal overlay ── */[data-theme="dark"] .modal-ov{background:rgba(0,0,0,.6)}/* ── Sidebar fica preta absoluta no dark (já que --txt vira claro) ── */[data-theme="dark"] .sidebar{background:#000}/* ── Inputs e selects ── */[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea{background:var(--surf2);color:var(--txt);border-color:var(--bdr)}/* ── Pbar background ── */[data-theme="dark"] .pbar,
[data-theme="dark"] .pb{background:var(--surf3)}/* ── Drop menu ── */[data-theme="dark"] .drop{background:var(--surf);border-color:var(--bdr)}[data-theme="dark"] .di:hover{background:var(--surf2)}/* ── Cores fixas em sb-profile (sidebar) ── */[data-theme="dark"] .sb-profile{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}[data-theme="dark"] .sb-profile:hover{background:rgba(255,255,255,.08)}/* ─── MODAL COM CALENDÁRIO ─── */.modal.has-calendar{ max-width:1100px; width:95vw; }.modal-calendar-wrap{
  display:grid;
  grid-template-columns:minmax(0,420px) 1fr;
  gap:1.5rem;
  align-items:flex-start;
}.modal-calendar-side{
  border-left:1px solid var(--bdr);
  padding-left:1.5rem;
  min-width:0;
}.cal-mode-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
  flex-wrap:wrap;
  gap:8px;
}.cal-mode-bar .cal-title-h{
  font-size:13px;
  font-weight:600;
  font-family:'Syne',sans-serif;
  color:var(--txt);
}.cal-mode-bar .cal-nav-btns{ display:flex; gap:4px; }.cal-mode-bar .cal-nav-btns button{
  width:26px;height:26px;border:1px solid var(--bdr);background:var(--surf);
  border-radius:var(--r);cursor:pointer;font-size:13px;color:var(--txt2);
  display:flex;align-items:center;justify-content:center;
}.cal-mode-bar .cal-nav-btns button:hover{ background:var(--surf2); }.cal-mode-toggle{
  display:flex;gap:4px;background:var(--surf2);border:1px solid var(--bdr);
  border-radius:var(--r);padding:3px;
}.cal-mode-toggle button{
  border:none;background:transparent;color:var(--txt2);
  border-radius:6px;padding:4px 10px;cursor:pointer;font-size:11.5px;
  font-family:inherit;transition:all .15s;
}.cal-mode-toggle button.act{ background:var(--txt);color:var(--surf); }.cal-months-grid{
  display:grid;
  gap:1.5rem;
}.cal-months-grid.cols-1{ grid-template-columns:1fr; }.cal-months-grid.cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }.cal-months-grid.cols-4{ grid-template-columns:repeat(2,minmax(0,1fr)); }.cal-mini{ min-width:0; }.cal-mini-name{
  font-size:18px;font-weight:600;font-family:'Syne',sans-serif;
  color:var(--acc);margin-bottom:6px;text-transform:lowercase;
}.cal-mini-grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:2px;
}.cal-mini-wday{
  font-size:11px;color:var(--acc);font-weight:600;text-align:center;
  padding:4px 0;
}.cal-mini-day{
  font-size:13px;text-align:center;padding:6px 0;cursor:pointer;
  border-radius:6px;color:var(--txt);position:relative;user-select:none;
  transition:background .12s;
}.cal-mini-day:hover{ background:var(--surf2); }.cal-mini-day.other-month{ color:var(--txt3); }.cal-mini-day.weekend{ /* ╔ COR DE FIM DE SEMANA NO CALENDÁRIO — altere abaixo ╗ */
  color:var(--txt2);        /* ← cor do texto sáb/dom (ex: #dc2626 p/ vermelho) */
  /* font-weight:700; */    /* ← descomente para negrito */
}.cal-mini-day.in-range{ background:var(--acc); color:#fff; font-weight:500; }.cal-mini-day.range-start{ border-radius:6px 0 0 6px; }.cal-mini-day.range-end{ border-radius:0 6px 6px 0; }.cal-mini-day.range-single{ border-radius:6px; }/* ════════════════════════════════════════════════════════════
   EDITOR DE INSTRUÇÃO DE TRABALHO (IT)
   ════════════════════════════════════════════════════════════ */.it-editor-ov{
  display:none;position:fixed;inset:0;background:var(--bg);
  z-index:300;overflow-y:auto;
}.it-editor-ov.show{display:block}.it-editor-wrap{
  max-width:900px;
  margin:0 auto;
  padding:24px 32px 80px 100px;  /* 100px à esquerda p/ a barra de botões */
  position:relative;
}/* Barra de botões fixa à esquerda */.it-fix-bar{
  width: 170px;
  position: fixed;
  top: 10%;
  right: 1%;
  display: flex;
  flex-direction: column;
  gap: 15px;
  z-index: 310;
  background-color: #ffffff;
  height: 70%;
  align-items: anchor-center;
  place-content: center;
  border-radius: 10px;
  border: solid #e6e4dd 1px;
}.it-fix-bar button{
  padding:12px 8px;
  border:1px solid var(--bdr);
  background:var(--surf);
  border-radius:var(--rl);
  cursor:pointer;
  font-family:'DM Sans',sans-serif;
  font-size:11.5px;
  font-weight:600;
  color:var(--txt);
  box-shadow:var(--sh);
  transition:all .15s;
  text-align:center;
  line-height:1.2;
  font-size: 10px;

}.it-fix-bar button:hover{
  background:var(--surf2);
  box-shadow:var(--shl);
  transform:translateX(2px);
}.it-fix-bar button.primary{
  background:var(--acc);
  color:#fff;
  border-color:var(--acc);
  position:relative;
}.it-fix-bar button.primary:hover{background:#1746c0}.it-fix-bar button.dirty::after{
  content:'';position:absolute;top:6px;right:6px;
  width:8px;height:8px;border-radius:50%;background:var(--amb-m);
}.it-fix-bar .it-fix-sep{
  height:1px;background:var(--bdr);margin:4px 6px;
}.it-fix-bar .it-fix-close{
  background:transparent;border:1px solid transparent;color:var(--txt2);
}.it-fix-bar .it-fix-close:hover{background:var(--red-bg);color:var(--red);border-color:var(--red-bg)}/* Cabeçalho do editor */.it-edt-hd{margin-bottom:18px}.it-edt-hd h2{
  font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px;
}.it-edt-hd .sub{font-size:12px;color:var(--txt2)}/* Campos do cabeçalho */.it-edt-meta{
  background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);
  padding:16px 18px;margin-bottom:20px;box-shadow:var(--sh);
}.it-edt-meta .frow{grid-template-columns:2fr 1fr 1fr}/* Lista de itens */.it-items-wrap{display:flex;flex-direction:column;gap:10px}.it-item{
  background:var(--surf);
  border:1px solid var(--bdr);
  border-radius:var(--rl);
  padding:12px 14px;
  box-shadow:var(--sh);
  display:grid;
  grid-template-columns:40px 1fr auto;
  gap:10px;
  align-items:flex-start;
  transition:all .15s;
}.it-item.dragging{opacity:.4;transform:scale(.98)}.it-item.drag-over{border-color:var(--acc);background:var(--acc-bg)}.it-item:hover{border-color:var(--bdr2)}/* Número clicável */.it-item-num{
  font-size:18px;font-weight:700;font-family:'Syne',sans-serif;
  color:var(--txt2);cursor:grab;user-select:none;
  text-align:center;padding-top:6px;
}.it-item-num:hover{color:var(--acc)}.it-item-num.editing{cursor:text;color:var(--acc)}.it-item-num input{
  width:38px;font-size:16px;font-weight:700;text-align:center;
  border:1px solid var(--acc);border-radius:var(--r);padding:2px 4px;
  background:var(--surf);color:var(--acc);outline:none;
  font-family:'Syne',sans-serif;
}/* Corpo do item (conteúdo + setor se for tarefa) */.it-item-body{min-width:0}.it-item-body[contenteditable="true"]{
  border:1px solid var(--bdr);
  border-radius:var(--r);
  padding:8px 10px;
  font-size:13px;
  line-height:1.5;
  outline:none;
  min-height:36px;
  transition:border-color .15s;
  background:var(--surf2);
}.it-item-body[contenteditable="true"]:focus{border-color:var(--acc);background:var(--surf)}.it-item-body[contenteditable="true"]:empty::before{
  content:attr(data-placeholder);color:var(--txt3);
}/* Tarefa: checkbox decorativo + texto + setor */.it-item.it-tarefa .it-item-body{
  border:none;background:none;padding:0;
}.it-item.it-tarefa .it-check-deco{
  width:18px;height:18px;border:2px solid var(--bdr2);border-radius:4px;
  margin-top:4px;flex-shrink:0;cursor:default;
}.it-item.it-tarefa .it-tarefa-txt{
  border:1px solid var(--bdr);border-radius:var(--r);padding:7px 10px;
  font-size:13px;line-height:1.4;outline:none;background:var(--surf2);
}.it-item.it-tarefa .it-tarefa-txt:focus{border-color:var(--acc);background:var(--surf)}.it-item.it-tarefa .it-tarefa-txt:empty::before{
  content:attr(data-placeholder);color:var(--txt3);
}.it-item.it-tarefa .it-setor-sel{
  padding:7px 9px;border:1px solid var(--bdr);border-radius:var(--r);
  font-size:12px;background:var(--surf);color:var(--txt);outline:none;
  min-width:130px;cursor:pointer;
}.it-item.it-tarefa .it-setor-sel:focus{border-color:var(--acc)}.it-fmt-bar{
  display: flex;
  gap: 2px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--bdr);
  background: var(--surf2);
  align-items: end;
  padding-top: 4px;
  padding-left: 4px;
  border-radius: 7px;
}.it-fmt-bar button{
  background:none;border:none;cursor:pointer;color:var(--txt2);
  padding:3px 7px;border-radius:4px;font-size:12px;
  font-family:inherit;transition:all .12s;
}/* Texto: barra de formatação */.it-item.it-texto .it-fmt-bar{
  display: flex;
  gap: 2px;
  margin-bottom: 6px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--bdr);
  background: var(--surf2);
  align-items: end;
  padding-top: 4px;
  padding-left: 4px;
  border-radius: 7px;
}.it-item.it-texto .it-fmt-bar button{
  background:none;border:none;cursor:pointer;color:var(--txt2);
  padding:3px 7px;border-radius:4px;font-size:12px;
  font-family:inherit;transition:all .12s;
}.it-item.it-texto .it-fmt-bar button:hover{background:var(--surf2);color:var(--txt)}.it-item.it-texto .it-fmt-bar button.act{background:var(--acc-bg);color:var(--acc)}.it-item.it-texto .it-item-body{min-height:60px}.it-item.it-texto .it-item-body b{font-weight:700}.it-item.it-texto .it-item-body i{font-style:italic}.it-item.it-texto .it-item-body ul,
.it-item.it-texto .it-item-body ol{margin:4px 0 4px 22px}/* Ações por item */.it-item-acts{display:flex;flex-direction:column;gap:3px}.it-item-acts button{
  background:none;border:none;cursor:pointer;color:var(--txt3);
  font-size:13px;padding:4px 6px;border-radius:4px;line-height:1;
  transition:all .12s;
}.it-item-acts button:hover{background:var(--surf2);color:var(--txt)}.it-item-acts button.del:hover{background:var(--red-bg);color:var(--red)}/* Empty state */.it-empty-items{
  border:2px dashed var(--bdr);border-radius:var(--rl);
  padding:32px;text-align:center;color:var(--txt3);
  font-size:13px;
}/* Preview */.it-preview-mode .it-item{cursor:default}.it-preview-mode .it-item-num{cursor:default;color:var(--txt2)}.it-preview-mode .it-item-acts,
.it-preview-mode .it-fmt-bar,
.it-preview-mode .it-setor-sel{display:none}.it-preview-mode .it-item-body[contenteditable="true"],
.it-preview-mode .it-tarefa-txt{
  border:none !important;background:none !important;
  padding:0 !important;pointer-events:none;
}/* Indicador de auto-save */.it-autosave-ind{
  position:fixed;bottom:20px;left:24px;z-index:320;
  background:var(--surf);border:1px solid var(--bdr);border-radius:20px;
  padding:6px 14px;font-size:11.5px;color:var(--txt2);
  box-shadow:var(--sh);opacity:0;transition:opacity .25s;
  pointer-events:none;
}.it-autosave-ind.show{opacity:1}/* Modal de versões dentro do editor */.it-versoes-list{max-height:50vh;overflow-y:auto}/* ════════════════════════════════════════════════════════════
   VÍNCULO IT ↔ ETAPA DA BIBLIOTECA (dentro do modal de etapa)
   ════════════════════════════════════════════════════════════ */.it-step-list{ display:flex; flex-direction:column; gap:6px; margin-bottom:8px; }.it-step-card{
  border:1px solid var(--bdr);
  border-radius:var(--r);
  background:var(--surf);
  transition:border-color .15s;
}.it-step-card:hover{ border-color:var(--bdr2); }.it-step-card.expanded{ border-color:var(--acc); }.it-step-card-hd{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; cursor:pointer; user-select:none;
}.it-step-num{
  font-family:'Syne',sans-serif; font-weight:700;
  font-size:13px; color:var(--txt2); min-width:22px;
}.it-step-nome{ flex:1; font-size:13px; font-weight:500; }.it-step-itens{ font-size:11px; color:var(--txt3); font-family:'DM Mono',monospace; }.it-step-caret{
  font-size:13px; color:var(--txt3); transition:transform .15s;
}.it-step-card.expanded .it-step-caret{ transform:rotate(180deg); }.it-step-card-body{
  padding:8px 12px 12px 12px;
  border-top:1px solid var(--bdr);
  background:var(--surf2);
}.it-step-empty{ font-size:12px; color:var(--txt3); padding:6px 0; }.it-step-itens-list{ display:flex; flex-direction:column; gap:4px; }.it-step-item{
  font-size:12px; padding:4px 8px; border-radius:4px;
}.it-step-item.tarefa{
  display:flex; align-items:center; gap:6px;
  background:var(--surf); border:1px solid var(--bdr);
}.it-step-check{
  width:13px; height:13px; border:1.5px solid var(--bdr2);
  border-radius:3px; flex-shrink:0;
}.it-step-item-txt{ flex:1; }.it-step-setor{
  font-size:10px; padding:1px 6px; border-radius:20px;
  background:var(--acc-bg); color:var(--acc); font-weight:600;
}.it-step-item.texto{
  color:var(--txt2); padding-left:12px;
  border-left:2px solid var(--bdr);
}.it-step-add{
  display:flex; gap:6px; align-items:center;
}.it-step-sel{
  flex:1; padding:6px 9px; border:1px solid var(--bdr);
  border-radius:var(--r); font-size:12px; background:var(--surf);
  color:var(--txt); outline:none;
}.it-step-sel:focus{ border-color:var(--acc); }.adicionar-it{
  text-align: -webkit-center; 
  background-color: #f9f8f5;
  padding: 5px;
  border: solid #e6e4dd 1px;
  border-radius: 8px;
  width: 80%;
}.palavra-it{
  margin-bottom: 5px;
  font-size: 14px;
  color: #a6a49c;
  margin-top: 0px;
}/* ════════════════════════════════════════════════════════════
   ITs RENDERIZADAS NO CHECKLIST DO PROJETO
   ════════════════════════════════════════════════════════════ */.it-proj-wrap{
  display:flex; flex-direction:column; gap:8px;
  padding:8px 14px 10px 30px;
  background:var(--surf2);
  border-top:1px solid var(--bdr);
}.it-proj-inst{
  background:var(--surf);
  border:1px solid var(--bdr);
  border-radius:var(--r);
  padding:8px 12px;
}.it-proj-inst-hd{
  display:flex; align-items:center; gap:8px;
  margin-bottom:6px; padding-bottom:5px;
  border-bottom:1px solid var(--bdr);
}.it-proj-inst-nome{
  font-size:12.5px; font-weight:600; flex:1;
  font-family:'Syne',sans-serif;
}.it-proj-inst-meta{
  font-size:10.5px; color:var(--txt3);
  font-family:'DM Mono',monospace;
}.it-proj-itens{
  display:flex; flex-direction:column; gap:3px;
}.it-proj-item{
  font-size:12px; padding:4px 6px; border-radius:4px;
  line-height:1.4;
}.it-proj-item.tarefa{
  display:flex; align-items:center; gap:7px;
  transition:opacity .15s;
}.it-proj-item.tarefa input[type="checkbox"]{
  flex-shrink:0;
}.it-proj-item.tarefa.done .it-proj-item-txt{
  text-decoration:line-through;
  color:var(--txt3);
}.it-proj-item-txt{ flex:1; }.it-proj-item-setor{
  font-size:10px; padding:1px 6px; border-radius:20px;
  background:var(--acc-bg); color:var(--acc); font-weight:600;
}.it-proj-item.texto{
  color:var(--txt2);
  padding:5px 10px 5px 16px;
  border-left:2px solid var(--bdr);
  background:var(--surf2);
}.it-proj-item.texto b{ font-weight:700; }.it-proj-item.texto i{ font-style:italic; }.it-proj-item.texto ul,
.it-proj-item.texto ol{ margin:3px 0 3px 20px; }/* ════════════════════════════════════════════════════════════
   IT NO CHECKLIST — LINHA-IT (subtarefa diferenciada)
   ════════════════════════════════════════════════════════════ */.rs.is-it td{ background:rgba(76,141,255,.05); }.rs.is-it:hover td{ background:rgba(76,141,255,.10); }[data-theme="dark"] .rs.is-it td{ background:rgba(76,141,255,.07); }[data-theme="dark"] .rs.is-it:hover td{ background:rgba(76,141,255,.12); }.it-row-badge{
  display:inline-block; padding:1px 7px; border-radius:20px;
  background:var(--acc); color:#fff;
  font-size:9.5px; font-weight:700; letter-spacing:.06em;
  font-family:'Syne',sans-serif;
}.is-it-nome{
  font-weight:600;
  color: #000000;
}
.it-row-open{
  margin-left:6px;
  border:1px solid var(--acc); background:var(--surf); color:var(--acc);
  font-size:11px; font-weight:600; padding:2px 9px; border-radius:20px;
  cursor:pointer; font-family:inherit; transition:all .15s;
}.it-row-open:hover{ background:var(--acc); color:#fff; }/* ════════════════════════════════════════════════════════════
   MODAL "FOLHA A4" — IT INSTANCIADA NO PROJETO
   ════════════════════════════════════════════════════════════ */.it-proj-modal-ov{
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.55); backdrop-filter:blur(4px);
  z-index:400; padding:24px;
  overflow-y:auto;
}.it-proj-modal-ov.show{ 
  display:flex; 
  justify-content:center; 
  align-items:flex-start; 
  scrollbar-color: #ff000000 #28282500;
}.it-proj-modal-paper{
  background:var(--surf);
  width:100%; max-width:820px;
  border-radius:var(--rl);
  box-shadow:var(--shl);
  border:1px solid var(--bdr);
  display:flex; flex-direction:column;
  margin:auto;
  animation:su .22s ease;
}.it-paper-hd{
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:28px 36px 16px 36px;
  border-bottom:1px solid var(--bdr);
}.it-paper-eyebrow{
  font-size:10px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--txt3);
  font-family:'Syne',sans-serif; margin-bottom:4px;
}.it-paper-title{
  font-size:22px; font-weight:700; letter-spacing:-.02em;
  font-family:'Syne',sans-serif; line-height:1.2;
}.it-paper-desc{
  font-size:13px; color:var(--txt2); margin-top:6px; line-height:1.5;
}.it-paper-close{
  background:none; border:none; cursor:pointer;
  color:var(--txt3); font-size:18px; padding:4px 8px;
  border-radius:var(--r); transition:all .15s;
}.it-paper-close:hover{ background:var(--surf2); color:var(--txt); }.it-paper-progress{
  padding:12px 36px;
  display:flex; align-items:center; gap:12px;
  background:var(--surf2);
  border-bottom:1px solid var(--bdr);
  width: 78%;
  margin-left: 9px;
  border-radius: 23px;
}.it-paper-prog-bar{
  flex:1; height:6px; background:var(--bdr);
  border-radius:3px; overflow:hidden;
}.it-paper-prog-fill{
  height:100%; background:var(--grn-m);
  transition:width .35s;
}.it-paper-prog-txt{
  font-size:11.5px; color:var(--txt2);
  font-family:'DM Mono',monospace; font-weight:600;
}.it-paper-body{
  padding:24px 36px;
  display:flex; flex-direction:column; gap:14px;
}.it-paper-item{
  display:grid; grid-template-columns:32px 1fr; gap:10px;
}.it-paper-item-num{
  font-size:14px; font-weight:700; font-family:'Syne',sans-serif;
  color:var(--txt3); padding-top:2px;
}.it-paper-item-main{ 
  min-width:0; 
}.it-paper-item.texto .it-paper-item-main{
  font-size:13.5px; line-height:1.65; color:var(--txt);
  padding:4px 0;
}.it-paper-item.texto .it-paper-item-main b{ font-weight:700; }.it-paper-item.texto .it-paper-item-main i{ font-style:italic; }.it-paper-item.texto .it-paper-item-main ul,
.it-paper-item.texto .it-paper-item-main ol{ margin:6px 0 6px 22px; }.it-paper-item.texto .it-paper-item-main li{ margin-bottom:3px; }.it-paper-tarefa{
  display:flex; align-items:flex-start; gap:9px;
  padding:8px 12px;
  /*background:var(--surf2);
  border:1px solid var(--bdr);
  border-radius:var(--r);*/
  cursor:pointer; transition:all .15s;
}.it-paper-tarefa:hover{ border-color:var(--bdr2); }.it-paper-tarefa input[type="checkbox"]{
  margin-top:2px; flex-shrink:0;
  width:16px; height:16px;
}.it-paper-tarefa-txt{
  flex:1; font-size:13.5px; line-height:1.5;
}.it-paper-item.tarefa.done .it-paper-tarefa-txt{
  text-decoration:line-through; color:var(--txt3);
}.it-paper-setor{
  font-size:10px; padding:2px 8px; border-radius:20px;
  background:var(--acc-bg); color:var(--acc);
  font-weight:600; flex-shrink:0;
}.it-paper-coment-btn{
  background:none; border:none; cursor:pointer;
  color:var(--txt3); font-size:13px; padding:4px 6px;
  margin-left:4px; border-radius:4px;
  transition:all .15s;
}.it-paper-coment-btn:hover{ background:var(--surf2); color:var(--txt); }.it-paper-coments{
  margin-top:6px; padding:8px 12px;
  background:var(--surf); border:1px solid var(--bdr);
  border-radius:var(--r);
}.it-paper-coments-list{
  display:flex; flex-direction:column; gap:5px;
  max-height:200px; overflow-y:auto;
  margin-bottom:6px;
}.it-paper-coment-msg{
  display:flex; gap:6px; align-items:baseline;
  font-size:12px; padding:3px 0;
}.it-paper-coment-user{
  font-weight:600; font-size:11px; color:var(--amb-m);
  font-family:'DM Mono',monospace;
}.it-paper-coment-txt{ flex:1; color:var(--txt); }.it-paper-coment-ts{
  font-size:10px; color:var(--txt3);
  font-family:'DM Mono',monospace;
}.it-paper-coment-add{
  display:flex; gap:6px; padding-top:6px;
  border-top:1px solid var(--bdr);
}.it-paper-coment-add input{
  flex:1; padding:5px 9px; border:1px solid var(--bdr);
  border-radius:var(--r); font-size:12px;
  background:var(--surf); color:var(--txt); outline:none;
  font-family:inherit;
}.it-paper-coment-add input:focus{ border-color:var(--acc); }.it-paper-foot{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 36px;
  border-top:1px solid var(--bdr);
  background:var(--surf2);
  border-radius:0 0 var(--rl) var(--rl);
}.marcus{
  background-color: var(--surf3);
  border: 1px solid var(--bdr2);
  border-radius: 8px;
}/* ════════════════════════════════════════════════════════════
   EDITOR DE IT — RÉGUA DE PRAZO POR TAREFA
   ════════════════════════════════════════════════════════════ */.it-rule-bar{
  display:flex; flex-wrap:wrap; gap:6px; align-items:center;
  margin-top:6px; padding:6px 8px;
  background:var(--surf); border:1px dashed var(--bdr);
  border-radius:var(--r);
  font-size:11px;
}.it-rule-bar .it-rule-grp{
  display:flex; align-items:center; gap:4px;
}.it-rule-bar label{
  font-size:10px; color:var(--txt3); font-weight:600;
  text-transform:uppercase; letter-spacing:.05em;
}.it-rule-bar input[type="number"],
.it-rule-bar select{
  padding:3px 6px;
  border:1px solid var(--bdr); border-radius:4px;
  font-size:11.5px; background:var(--surf); color:var(--txt);
  outline:none; font-family:inherit;
}.it-rule-bar input[type="number"]{ 
  width:54px; 
  font-family:'DM Mono',monospace; 
  justify-items: center;
  font-weight: bold;
  border-color: var(--acc);
}.it-rule-bar select{
  max-width:240px; 
  font-weight: bold;
  border-color: var(--acc);
}.it-rule-bar input:focus, .it-rule-bar select:focus{ border-color:var(--acc); }.it-rule-bar .it-rule-hint{
  flex-basis:100%; font-size:10.5px; color:var(--txt3);
  margin-top:2px; font-style:italic;
}/* ════════════════════════════════════════════════════════════
   DATA DA TAREFA-IT NO MODAL "FOLHA A4"
   ════════════════════════════════════════════════════════════ */.it-paper-data{
  font-size:11px;
  color:var(--txt3);
  font-family:'DM Mono',monospace;
  font-weight:500;
  padding:1px 7px;
  background:var(--surf3);
  border-radius:20px;
  flex-shrink:0;
  white-space:nowrap;
}.it-paper-item.tarefa.done .it-paper-data{
  opacity:.5;
}/* ── Sidebar collapse ─────────────────────────────── */:root {
  --sb-w: 240px; /* ajuste para o valor que você usa */
  --sb-collapsed-w: 56px;
  --sb-transition: 0.22s cubic-bezier(.4,0,.2,1);
}.sidebar {
  width: var(--sb-w);
  min-width: var(--sb-w);
  transition: width var(--sb-transition), min-width var(--sb-transition);
  overflow: hidden;
  position: relative;
}.sidebar.sb-collapsed {
  width: var(--sb-collapsed-w);
  min-width: var(--sb-collapsed-w);
}/* Botão de toggle */.sb-toggle-btn {
  position: absolute;
  top: 16px;
  right: -11px;
  width: 22px; height: 22px;
  background: var(--bg2, #0f172a);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  z-index: 20;
  color: rgba(255,255,255,0.5);
  transition: background .15s, color .15s, transform var(--sb-transition);
}.sb-toggle-btn:hover { background: rgba(255,255,255,0.1); color: #fff; }.sidebar.sb-collapsed .sb-toggle-btn { transform: rotate(180deg); }/* Labels somem no modo colapsado */.nav-label {
  transition: opacity var(--sb-transition);
  overflow: hidden;
  white-space: nowrap;
}.sidebar.sb-collapsed .nav-label {
  opacity: 0;
  pointer-events: none;
  width: 0;
}/* Seções de título somem */.sidebar.sb-collapsed .nav-sec {
  opacity: 0;
  pointer-events: none;
}/* Logo: esconde subtítulo e texto */.sidebar.sb-collapsed .sb-logo .sub,
.sidebar.sb-collapsed .sb-logo h1 {
  opacity: 0;
  width: 0;
  overflow: hidden;
}/* Tooltip nos ícones quando colapsado */.nav-tooltip {
  position: absolute;
  left: calc(var(--sb-collapsed-w) + 6px);
  background: #1e293b;
  color: #fff;
  font-size: 12px;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.12);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .14s, transform .14s;
  z-index: 100;
  box-shadow: 0 4px 14px rgba(0,0,0,0.4);
}.sidebar.sb-collapsed .nav-item:hover .nav-tooltip {
  opacity: 1;
  transform: translateX(0);
}/* ════════════════════════════════════════════════════════════
   EDITOR DE IT — BOTÕES DE STATUS POR TAREFA
   ════════════════════════════════════════════════════════════ */.it-btns-bar{
  margin-top:6px;
  padding:8px 10px;
  background:var(--surf);
  border:1px dashed var(--bdr);
  border-radius:var(--r);
  display:flex; flex-direction:column; gap:6px;
}.it-btns-list{
  display:flex; flex-direction:column; gap:5px;
}.it-btn-row{
  display:flex; align-items:center; gap:6px;
}.it-btn-num{
  font-size:11.5px;
  font-weight:600;
  font-family:'Syne',sans-serif;
  color:var(--txt2);
  min-width:38px;
  text-align:right;
}.it-btn-row input[type="text"]{
  flex:1;
  padding:4px 9px;
  border:1px solid var(--bdr);
  border-radius:4px;
  font-size:12px;
  background:var(--surf);
  color:var(--txt);
  outline:none;
  font-family:inherit;
}.it-btn-row input[type="text"]:focus{ border-color:var(--acc); }.it-btn-del{
  background:none; border:none; cursor:pointer;
  color:var(--txt3); font-size:13px;
  padding:2px 6px; border-radius:4px;
  transition:all .12s;
}.it-btn-del:hover{ background:var(--red-bg); color:var(--red); }.it-btn-add{
  align-self:flex-end;
  font-size:11.5px !important;
  padding:4px 12px !important;
}/* ════════════════════════════════════════════════════════════
   BOTÕES DE STATUS NO MODAL "FOLHA A4"
   ════════════════════════════════════════════════════════════ */.it-paper-btns{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 0px;
  padding-left: 40px;
  margin-bottom: 11px;
  padding-right: 40px;

}.it-paper-btn{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px 5px 14px;
  border: 1px solid var(--amb-m);
  background: var(--amb-m);
  border-radius: 20px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  color: var(--bg);
  cursor: pointer;
  transition: all .15s;
}.it-paper-btn:hover{
  border-color:var(--amb-m);
  background:var(--amb-bg);
  color:var(--txt);
}.it-paper-btn.done{
  background:var(--surf2);
  border-color:var(--amb-m);
  padding-right:5px;
}.it-paper-btn.done .it-paper-btn-txt{
  text-decoration:line-through;
  color:var(--txt3);
  border-color: var(--txt3)
  font-weight:500;
  opacity:.75;
}.it-paper-btn.done:hover{
  border-color:var(--bdr2);
  background:var(--surf3);
}.it-paper-btn-av{
  width:20px; height:20px;
  border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:700;
  font-family:'Syne',sans-serif;
  object-fit:cover;
  flex-shrink:0;
  border:1.5px solid var(--surf);
  box-shadow:0 0 0 1px var(--bdr);
}/* ════════════════════════════════════════════════════════════
   EDITOR DE IT — BARRA DE MODELOS
   ════════════════════════════════════════════════════════════ */.it-modelo-chip{
  display:flex; 
  align-items:center; gap:2px;
  background:var(--surf2); 
  border-radius:var(--r); 
  padding:2px;
  transition:border-color .15s;
}.it-modelo-mini{
  background:none; border:none; cursor:pointer;
  font-size:11px; padding:2px 5px; border-radius:3px;
  color:var(--txt3); opacity:0; transition:opacity .12s, color .12s, background .12s;
}/* ════════════════════════════════════════════════════════════
   MODAL DE PREVIEW / EDITOR DE MODELO
   ════════════════════════════════════════════════════════════ */.it-modelo-preview-ov{
  position:fixed; inset:0; z-index:600;
  background:rgba(0,0,0,.55); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  padding:1rem;
  animation:itModFade .18s ease;
}.it-modelo-preview-box{
  background:var(--surf); border-radius:var(--rl);
  border:1px solid var(--bdr); box-shadow:var(--shl);
  width:520px; max-width:100%; max-height:85vh;
  display:flex; flex-direction:column;
  animation:itModSlide .22s ease;
}.it-modelo-preview-hd{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px; border-bottom:1px solid var(--bdr);
}.it-modelo-preview-hd h3{
  margin:0; font-size:15px; font-weight:600;
  font-family:'Syne',sans-serif;
}.it-modelo-preview-close{
  background:none; border:none; cursor:pointer;
  font-size:16px; color:var(--txt3);
  padding:4px 8px; border-radius:4px;
}.it-modelo-preview-body{
  flex:1; overflow-y:auto;
  padding:16px 18px;
  font-size:13.5px; line-height:1.5;
}.it-modelo-preview-foot{
  display:flex; gap:8px; justify-content:flex-end;
  padding:12px 18px; border-top:1px solid var(--bdr);
}.it-mod-editor{
  min-height:160px;
  border:1px solid var(--bdr); border-radius:var(--r);
  padding:10px 12px; background:var(--surf2);
  font-size:13px; line-height:1.5;
  outline:none;
}/* ════════════════════════════════════════════════════════════
   EDITOR DE IT — BARRA DE MODELOS
   ════════════════════════════════════════════════════════════ */.it-modelos-bar{
  display:flex; flex-direction:column; gap:5px;
  margin-bottom:6px;
}.it-modelos-loading,
.it-modelos-empty{
  font-size:11px; color:var(--txt3);
  text-align:center; padding:6px 0; font-style:italic;
}.it-modelo-chip{
  display:flex; align-items:center; gap:2px;
  background:var(--surf2); border:1px solid var(--bdr);
  border-radius:var(--r); padding:2px;
  transition:border-color .15s;
}.it-modelo-chip:hover{ border-color:var(--acc); }.it-modelo-btn{
  flex:1; background:none; border:none;
  padding:4px 8px; font-size:11.5px; font-family:inherit;
  color:var(--txt); cursor:pointer; text-align:left;
  border-radius:4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}.it-modelo-btn:hover{ color:var(--acc); }.it-modelo-mini{
  background:none; border:none; cursor:pointer;
  font-size:11px; padding:2px 5px; border-radius:3px;
  color:var(--txt3); opacity:0;
  transition:opacity .12s, color .12s, background .12s;
}.it-modelo-chip:hover .it-modelo-mini{ opacity:1; }.it-modelo-mini:hover{ background:var(--bdr); color:var(--txt); }.it-modelo-mini.del:hover{ background:var(--red-bg); color:var(--red); }.it-modelo-add-btn{
  background:var(--surf); border:1px dashed var(--bdr);
  padding:5px 10px; font-size:11px; font-family:inherit;
  color:var(--txt2); cursor:pointer; border-radius:var(--r);
  width:100%;
  transition:all .15s;
}.it-modelo-add-btn:hover{
  border-color:var(--acc); color:var(--acc); border-style:solid;
}/* ════════════════════════════════════════════════════════════
   MODAL DE PREVIEW / EDITOR DE MODELO
   ════════════════════════════════════════════════════════════ */.it-modelo-preview-ov{
  position:fixed !important;
  inset:0 !important;
  z-index:9999 !important;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  display:flex !important;
  align-items:center;
  justify-content:center;
  padding:1rem;
  animation:itModFade .18s ease;
}@keyframes itModFade{ from{opacity:0} to{opacity:1} }.it-modelo-preview-box{
  background:var(--surf);
  border-radius:var(--rl);
  border:1px solid var(--bdr);
  box-shadow:var(--shl);
  width:520px; max-width:100%; max-height:85vh;
  display:flex; flex-direction:column;
  animation:itModSlide .22s ease;
  overflow:hidden;
}.it-modelo-preview-box.wide{ width:640px; }@keyframes itModSlide{
  from{ transform:translateY(-12px); opacity:.6 }
  to{ transform:none; opacity:1 }
}.it-modelo-preview-hd{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px;
  border-bottom:1px solid var(--bdr);
  background:var(--surf);
}.it-modelo-preview-hd h3{
  margin:0; font-size:15px; font-weight:600;
  font-family:'Syne',sans-serif;
  color:var(--txt);
}.it-modelo-preview-close{
  background:none; border:none; cursor:pointer;
  font-size:16px; color:var(--txt3);
  padding:4px 8px; border-radius:4px;
  line-height:1;
}.it-modelo-preview-close:hover{ background:var(--bdr); color:var(--txt); }.it-modelo-preview-body{
  flex:1; overflow-y:auto;
  padding:16px 18px;
  font-size:13.5px; line-height:1.5;
  background:var(--surf);
  color:var(--txt);
}.it-modelo-preview-body .f{ margin-bottom:12px; }.it-modelo-preview-body .f label{
  display:block;
  font-size:10.5px; font-weight:700;
  text-transform:uppercase; letter-spacing:.07em;
  color:var(--txt3); margin-bottom:4px;
}.it-modelo-preview-body .f input,
.it-modelo-preview-body .f select{
  width:100%;
  padding:7px 10px;
  border:1px solid var(--bdr);
  border-radius:var(--r);
  font-size:13px;
  background:var(--surf);
  color:var(--txt);
  outline:none;
  font-family:'DM Sans',sans-serif;
}.it-modelo-preview-body .f input:focus,
.it-modelo-preview-body .f select:focus{ border-color:var(--acc); }.it-modelo-preview-foot{
  display:flex; gap:8px; justify-content:flex-end;
  padding:12px 18px;
  border-top:1px solid var(--bdr);
  background:var(--surf);
}.it-mod-editor{
  min-height:160px;
  border:1px solid var(--bdr); border-radius:var(--r);
  padding:10px 12px; background:var(--surf2);
  font-size:13px; line-height:1.5;
  color:var(--txt);
  outline:none;
  overflow-y:auto;
  max-height:300px;
}.it-mod-editor:focus{ border-color:var(--acc); }.it-mod-editor:empty:before{
  content:attr(data-placeholder);
  color:var(--txt3); font-style:italic;
}.it-mod-editor b{ font-weight:700; }.it-mod-editor i{ font-style:italic; }.it-mod-editor u{ text-decoration:underline; }.it-mod-editor ul,
.it-mod-editor ol{ margin:4px 0 4px 22px; }