*{box-sizing:border-box;margin:0;padding:0}
:root{
  /* marca Zero Pontos */
  --navy-900:#0A1828;--navy-800:#0D1F35;--navy-700:#162B47;--navy-600:#1E3A5C;
  --gold:#C9A84C;--gold-deep:#B8942A;--gold-soft:#F3EAD0;
  --sidebar-bg:var(--navy-900);--accent:var(--gold);
  /* tokens claros (+ aliases dos nomes antigos) */
  --bg:#F2F0EA;--surface:#FAFAF8;--surface-2:#ECEAE2;
  --bg2:var(--surface);--bg3:var(--surface-2);
  --border:#E2DFD6;--line:#E2DFD6;--border2:#CFC9BB;--line-strong:#CFC9BB;
  --text:#16202C;--text2:#5A6472;--text3:#8A93A1;
  --blue:#1E3A5C;--blue2:#152A43;--blue-bg:#E7ECF2;
  --green:#2F8F5B;--green-bg:#E4F0E8;
  --amber:#B8942A;--amber-bg:#F6EDD4;
  --red:#C0483D;--red-bg:#F6E1DD;
  --radius:8px;--radius-lg:12px;
  --font:'Sora',sans-serif;--mono:'DM Mono',monospace;
}
:root[data-theme="dark"]{
  --navy-900:#070F18;--navy-800:#0C1826;--navy-700:#16283C;--navy-600:#22405E;
  --sidebar-bg:var(--navy-900);
  --gold-soft:#2E2714;
  --bg:#0B1420;--surface:#111C2B;--surface-2:#16273A;
  --bg2:var(--surface);--bg3:var(--surface-2);
  --border:#1E2E42;--line:#1E2E42;--border2:#2C3F58;--line-strong:#2C3F58;
  --text:#E7ECF3;--text2:#AEBACB;--text3:#8595AB;
  --blue:#7FB3C4;--blue2:#5F94A6;--blue-bg:#16283C;
  --green:#5FBE86;--green-bg:#123123;
  --amber:#D9A85D;--amber-bg:#33280F;
  --red:#E0857A;--red-bg:#361C19;
}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;min-height:100vh}
/* SIDEBAR */
#sidebar{width:220px;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;z-index:100;overflow-y:auto}
#sidebar .logo{padding:24px 20px 20px;border-bottom:1px solid var(--border)}
#sidebar .logo h1{font-size:16px;font-weight:600}
#sidebar .logo span{font-size:11px;color:var(--text3);font-family:var(--mono)}
#sidebar nav{padding:12px 0;flex:1}
#sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 20px;color:var(--text2);text-decoration:none;font-size:13px;cursor:pointer;border-left:2px solid transparent;transition:all .15s}
#sidebar nav a:hover{color:var(--text);background:var(--bg3)}
#sidebar nav a.active{color:var(--blue);background:var(--blue-bg);border-left-color:var(--blue)}
#sidebar nav a svg{width:16px;height:16px;flex-shrink:0}
#sidebar .stats{padding:16px 20px;border-top:1px solid var(--border);font-size:11px;color:var(--text3);font-family:var(--mono);line-height:2;white-space:pre-line}
#sidebar .user-bar{padding:12px 20px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}
#sidebar .user-email{font-size:11px;color:var(--text3);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* MAIN */
#main{margin-left:220px;min-height:100vh}
.page{display:none;padding:28px 32px;animation:fadeIn .2s ease}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}
.page-title{font-size:20px;font-weight:600}
.page-sub{font-size:13px;color:var(--text3);margin-top:2px}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .15s;font-family:var(--font)}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue2)}
.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border2)}.btn-ghost:hover{color:var(--text);border-color:var(--text3)}
.btn-sm{padding:5px 12px;font-size:12px}
/* SEARCH */
.search-box{position:relative;margin-bottom:16px}
.search-box svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3);width:16px;height:16px;pointer-events:none}
.search-box input{width:100%;padding:10px 12px 10px 38px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:13px;outline:none;transition:border .15s}
.search-box input:focus{border-color:var(--blue)}
.search-box input::placeholder{color:var(--text3)}
/* TABLE */
.tbl-wrap{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
table{width:100%;border-collapse:collapse;table-layout:fixed}
thead th{padding:10px 14px;text-align:left;font-size:11px;color:var(--text3);font-family:var(--mono);border-bottom:1px solid var(--border);background:var(--bg3);overflow:hidden;text-overflow:ellipsis}
tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .1s}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:var(--bg3)}
tbody td{padding:10px 14px;font-size:13px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
tbody td.bold{color:var(--text);font-weight:500}
/* BADGES */
.badge{display:inline-flex;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:500;font-family:var(--mono);white-space:nowrap}
.b-wait{background:var(--amber-bg);color:var(--amber)}
.b-ok{background:var(--green-bg);color:var(--green)}
.b-no{background:var(--red-bg);color:var(--red)}
.b-na{background:var(--bg3);color:var(--text3)}
.b-blue{background:var(--blue-bg);color:var(--blue)}
/* FILTERS */
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.fbtn{padding:5px 12px;border-radius:20px;font-size:12px;cursor:pointer;border:1px solid var(--border);background:var(--bg3);color:var(--text2);font-family:var(--mono);transition:all .15s}
.fbtn:hover{color:var(--text)}
.fbtn.on{background:var(--blue-bg);border-color:var(--blue);color:var(--blue)}
/* METRICS */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.metric{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}
.metric-label{font-size:11px;color:var(--text3);font-family:var(--mono);margin-bottom:6px}
.metric-val{font-size:24px;font-weight:600}
.metric-sub{font-size:11px;color:var(--text3);margin-top:2px}
/* GRID */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
/* KANBAN */
.kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.kcol{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}
.kcol-title{font-size:12px;font-weight:500;font-family:var(--mono);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.kcol-title .cnt{background:var(--bg3);padding:2px 7px;border-radius:20px;font-size:11px}
.kcol.urgent .kcol-title{color:var(--red)}
.kcol.warn .kcol-title{color:var(--amber)}
.kcol.ok .kcol-title{color:var(--green)}
.kcard{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.kcard:hover{border-color:var(--border2)}
.kcard:last-child{margin-bottom:0}
.kcard-ait{font-size:11px;font-family:var(--mono);color:var(--text2);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kcard-name{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}
.kcard-placa{font-size:11px;color:var(--text3);font-family:var(--mono)}
.kcard-foot{margin-top:8px;display:flex;align-items:center;justify-content:space-between}
.kcard-days{font-size:11px;color:var(--text3)}
/* PAGER */
.pager{display:flex;align-items:center;gap:6px;margin-top:14px;justify-content:flex-end}
.pager button{padding:5px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text2);font-size:12px;cursor:pointer;font-family:var(--mono)}
.pager button:hover{border-color:var(--border2);color:var(--text)}
.pager button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.pager .info{font-size:12px;color:var(--text3);font-family:var(--mono);margin:0 4px}
/* CARD */
.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}
.section-title{font-size:11px;color:var(--text3);font-family:var(--mono);letter-spacing:.05em;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.field{background:var(--bg3);border-radius:var(--radius);padding:10px 12px}
.field-label{font-size:11px;color:var(--text3);font-family:var(--mono);margin-bottom:3px}
.field-val{font-size:13px;color:var(--text);word-break:break-word}
.field-val.mono{font-family:var(--mono);font-size:12px}
/* ETAPAS */
.etapas{display:flex;gap:8px}
.etapa{flex:1;background:var(--bg3);border-radius:var(--radius);padding:12px;border-left:3px solid var(--border)}
.etapa.wait{border-left-color:var(--amber)}.etapa.ok{border-left-color:var(--green)}.etapa.no{border-left-color:var(--red)}.etapa.na{border-left-color:var(--border)}
.etapa-label{font-size:11px;color:var(--text3);font-family:var(--mono);margin-bottom:6px}
.etapa-val{font-size:13px;font-weight:500}
.etapa.wait .etapa-val{color:var(--amber)}.etapa.ok .etapa-val{color:var(--green)}.etapa.no .etapa-val{color:var(--red)}.etapa.na .etapa-val{color:var(--text3)}
/* FORM */
.form-group{margin-bottom:12px}
.form-label{font-size:12px;color:var(--text3);font-family:var(--mono);margin-bottom:5px;display:block}
.form-ctrl{width:100%;padding:9px 12px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:13px;outline:none;transition:border .15s}
.form-ctrl:focus{border-color:var(--blue)}
.form-ctrl::placeholder{color:var(--text3)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
/* AUTOCOMPLETE */
.ac-wrap{position:relative}
.ac-list{position:absolute;top:100%;left:0;right:0;background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);z-index:600;max-height:200px;overflow-y:auto;display:none;margin-top:2px;box-shadow:0 4px 20px rgba(0,0,0,.4)}
.ac-list.open{display:block}
.ac-item{padding:9px 12px;font-size:13px;color:var(--text2);cursor:pointer;border-bottom:1px solid var(--border)}
.ac-item:last-child{border-bottom:none}
.ac-item:hover{background:var(--bg3);color:var(--text)}
.ac-item mark{background:none;color:var(--blue);font-weight:600}
/* MODAL */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:500;overflow-y:auto;padding:40px 20px}
.modal-bg.open{display:block}
.modal-box{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-lg);width:100%;max-width:680px;margin:0 auto;padding:28px;position:relative}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text3);cursor:pointer;font-size:22px;line-height:1;padding:4px}
.modal-close:hover{color:var(--text)}
.modal-title{font-size:17px;font-weight:600;margin-bottom:3px}
.modal-sub{font-size:12px;color:var(--text3);font-family:var(--mono);margin-bottom:18px}
.info-box.blue{background:var(--blue-bg);border:1px solid var(--border2);color:var(--blue);padding:12px 14px;border-radius:var(--radius);font-size:13px}
/* NOTIF */
.notif{position:fixed;bottom:24px;right:24px;background:var(--green-bg);border:1px solid var(--green);color:var(--green);padding:10px 16px;border-radius:var(--radius);font-size:13px;z-index:9999}
.notif-error{background:var(--red-bg);border-color:var(--red);color:var(--red)}
/* LOADING */
#loading-overlay{display:none;position:fixed;inset:0;background:rgba(15,17,23,.85);z-index:9000;align-items:center;justify-content:center;flex-direction:column;gap:12px}
#loading-overlay.show{display:flex}
.spinner{width:32px;height:32px;border:3px solid var(--border2);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* LOGIN */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}
.login-box{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:380px}
.login-logo{font-size:22px;font-weight:600;margin-bottom:4px}
.login-sub{font-size:13px;color:var(--text3);margin-bottom:28px}
.login-error{background:var(--red-bg);border:1px solid var(--red);color:var(--red);padding:10px 12px;border-radius:var(--radius);font-size:13px;margin-bottom:14px;display:none}

/* COMERCIAL */
.btn-danger{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bg)}.btn-danger:hover{border-color:var(--red)}

/* ===== REDESIGN navy+gold — overrides (cascata ganha no fim) ===== */
#sidebar{background:var(--sidebar-bg);border-right-color:rgba(255,255,255,.06)}
#sidebar .logo h1{color:#fff}
#sidebar .logo span{color:var(--gold)}
#sidebar .navsec{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#56637A;padding:14px 20px 6px}
#sidebar nav a{color:#AEB9C9}
#sidebar nav a:hover{color:#fff;background:rgba(255,255,255,.05)}
#sidebar nav a.active{color:#fff;background:linear-gradient(90deg,rgba(201,168,76,.16),transparent);border-left-color:var(--gold)}
#sidebar .stats,#sidebar .user-email{color:#7A879B}
#sidebar .user-bar,#sidebar .stats,#sidebar .logo{border-color:rgba(255,255,255,.07)}
.btn-primary{background:var(--gold);color:var(--navy-900);font-weight:600}
.btn-primary:hover{background:var(--gold-deep)}
/* TOPBAR */
#topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;padding:12px 22px;background:var(--surface);border-bottom:1px solid var(--line)}
#topbar .gsearch{position:relative;flex:1;max-width:460px}
#topbar .gsearch input{width:100%;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:13px;outline:none}
#topbar .gsearch input:focus{border-color:var(--gold)}
#global-results{position:absolute;top:44px;left:0;right:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 8px 30px rgba(10,24,40,.18);max-height:60vh;overflow:auto;display:none;z-index:60}
#global-results.open{display:block}
.gr-sec{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);padding:8px 12px 4px;font-family:var(--mono)}
.gr-item{padding:8px 12px;font-size:13px;cursor:pointer;border-top:1px solid var(--line)}
.gr-item:hover{background:var(--surface-2)}
/* DETALHE COM ABAS */
.detail .tabs{display:flex;gap:2px;border-bottom:1.5px solid var(--line);margin:18px 0 0;flex-wrap:wrap}
.detail .tab{padding:10px 16px;font-size:13px;font-weight:600;color:var(--text2);border-bottom:2.5px solid transparent;margin-bottom:-1.5px;cursor:pointer}
.detail .tab:hover{color:var(--text)}
.detail .tab.on{color:var(--text);border-bottom-color:var(--gold)}
.detail .tab .cnt{font-family:var(--mono);font-size:10px;background:var(--surface-2);border:1px solid var(--line);padding:0 6px;border-radius:10px}
.detail .panel{padding:20px 2px}
.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.step{border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface)}
.step.done{border-color:var(--green);background:var(--green-bg)}
.step.now{border-color:var(--gold);background:var(--gold-soft);box-shadow:0 0 0 3px rgba(201,168,76,.12)}
.step .sl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text2)}
.step .sv{font-weight:700;font-size:14px;margin-top:5px}
.step .sd{font-size:11px;color:var(--text2);margin-top:3px;font-family:var(--mono)}
.modal-box{max-width:760px}
/* HOME HOJE */
.page-head{margin-bottom:8px}
.hoje-grupo{margin-bottom:22px}
.hoje-gt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:6px 10px;border-radius:6px;display:inline-block;margin-bottom:8px}
.hoje-gt.g0{background:var(--red-bg);color:var(--red)}
.hoje-gt.g1{background:var(--amber-bg);color:var(--amber)}
.hoje-gt.g2{background:var(--blue-bg);color:var(--blue)}
.hoje-gt.g3{background:var(--surface-2);color:var(--text3)}
/* editavel inline */
[data-edit]{cursor:text;border-bottom:1px dashed transparent}
[data-edit]:hover{border-bottom-color:var(--gold)}
/* DOCUMENTOS */
.doc-tipo-sel{min-width:96px;padding:3px 6px;font-size:11px;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--line-strong);border-radius:6px;color:var(--text);cursor:pointer}
.doc-tipo-sel:focus{outline:none;border-color:var(--gold)}
.doc-act{cursor:pointer;color:var(--text3);font-size:13px;padding:2px 6px;border-radius:4px}
.doc-act:hover{color:var(--gold);background:var(--surface-2)}
/* CALENDARIO */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-head{margin-bottom:6px}
.cal-dow{font-size:11px;font-family:var(--mono);color:var(--text3);text-transform:uppercase;letter-spacing:.05em;text-align:center;padding:4px}
.cal-cell{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:96px;padding:6px;cursor:pointer;overflow:hidden}
.cal-cell:hover{border-color:var(--line-strong)}
.cal-empty{background:transparent;border:none;cursor:default}
.cal-today{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,168,76,.15)}
.cal-num{font-size:12px;font-weight:600;color:var(--text2);margin-bottom:4px}
.cal-evt{font-size:10.5px;padding:2px 5px;border-radius:4px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-family:var(--mono)}
.cal-more{font-size:10px;color:var(--text3);padding:0 4px}
