/* ERP Luzia & Nair — folha de estilo (identidade: marrom #3B2211, dourado #B98230, oliva #5B5531, creme #FCF2E8) */

:root{
  --red:#3B2211; --red-700:#2A1709; --red-100:#F0E4D2; --maroon:#2A1709; --maroon-900:#1D1006;
  --yellow:#B98230; --yellow-700:#96681F; --yellow-100:#F3E6CC; --orange:#C2762A;
  --cream:#FCF2E8; --cream-2:#F3E7D6; --paper:#FFFBF5; --line:#E8DCC8; --line-2:#D6C6AA;
  --ink:#2E2015; --ink-2:#5C4F42; --muted:#8B7B66; --muted-2:#B7AB9A;
  --ok:#4E7A3A; --ok-bg:#E6EFD9; --warn:#C2762A; --warn-bg:#F5E3CF; --bad:#A93226; --bad-bg:#F3DDD5; --info:#5A6E8A; --info-bg:#E3E8EE; --neutral-bg:#EFE7DA;
  --bg:var(--cream); --surface:var(--paper); --surface-2:#F9F4EA; --nav:var(--maroon); --nav-2:#2A1709; --nav-text:#F3E6CC; --topbar:var(--red);
  --shadow:0 1px 2px rgba(60,20,10,.06),0 6px 20px -12px rgba(60,20,10,.25);
  --r:6px; --r-lg:10px;
  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif; --font-body:"Source Sans 3","Segoe UI",Roboto,Helvetica,Arial,sans-serif; --font-script:"Cormorant Garamond",Georgia,serif; --font-label:"Source Sans 3","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){
  --bg:#1A1410; --surface:#241C15; --surface-2:#2F261C; --line:#40362A; --line-2:#514636; --ink:#F3EADB; --ink-2:#D6CBB8; --muted:#A89B88; --muted-2:#6F655A;
  --red-100:#3F3020; --yellow-100:#4A3A14; --ok-bg:#1E3527; --warn-bg:#3F2616; --bad-bg:#43201F; --info-bg:#1C2E40; --neutral-bg:#332723; --cream-2:#2F261C; --nav:#120C08; --nav-2:#1E1610; --topbar:#3B2211; color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#1A1410; --surface:#241C15; --surface-2:#2F261C; --line:#40362A; --line-2:#514636; --ink:#F3EADB; --ink-2:#D6CBB8; --muted:#A89B88; --muted-2:#6F655A;
  --red-100:#3F3020; --yellow-100:#4A3A14; --ok-bg:#1E3527; --warn-bg:#3F2616; --bad-bg:#43201F; --info-bg:#1C2E40; --neutral-bg:#332723; --cream-2:#2F261C; --nav:#120C08; --nav-2:#1E1610; --topbar:#3B2211; color-scheme:dark;
}
*{box-sizing:border-box} html,body{margin:0;padding:0;overflow-x:hidden} .shell>*{min-width:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:.01em;margin:0;text-wrap:balance;line-height:1.12} h3,h4{font-family:var(--font-label);font-weight:600;margin:0;line-height:1.2}
h1{font-size:32px;text-transform:uppercase;letter-spacing:.05em} h2{font-size:24px;text-transform:none;letter-spacing:.005em} h3{font-size:16px} h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}
p{margin:0} a{color:var(--red);text-decoration:none} a:hover{text-decoration:underline}
button{font-family:inherit;font-size:inherit} input,select,textarea{font-family:inherit;font-size:inherit;color:var(--ink)}
.eyebrow{font-family:var(--font-label);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:600}
.script{font-family:var(--font-script);font-size:22px;color:var(--yellow);font-weight:500;font-style:italic}
.muted{color:var(--muted)} .small{font-size:13.5px} .tiny{font-size:12.5px} .b{font-weight:600} .num{font-variant-numeric:tabular-nums} .mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px}
.right{text-align:right} .center{text-align:center} .nowrap{white-space:nowrap} .hide{display:none!important}
.row{display:flex;gap:12px;align-items:center} .row.wrap{flex-wrap:wrap} .col{display:flex;flex-direction:column;gap:12px} .grow{flex:1;min-width:0} .sb{justify-content:space-between}
.grid{display:grid;gap:14px} .g6{grid-template-columns:repeat(6,minmax(0,1fr))} .g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))} .g5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.g4,.g5,.g6{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.g2,.g3,.g4,.g5{grid-template-columns:1fr}}

/* Shell */
#app{min-height:100vh}
.shell{display:grid;grid-template-columns:248px minmax(0,1fr);height:100vh;overflow:hidden}
.shell.client{display:flex;flex-direction:column;height:100vh;overflow:hidden}
.admin-col{display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}
main.content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.sidenav{background:var(--nav);color:var(--nav-text);display:flex;flex-direction:column;height:100vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
.sidenav::-webkit-scrollbar{width:6px} .sidenav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:3px} .sidenav::-webkit-scrollbar-track{background:transparent}
main.content::-webkit-scrollbar{width:10px} main.content::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px;border:2px solid var(--bg)} main.content::-webkit-scrollbar-track{background:var(--bg)}
.sidenav .brand{padding:18px 18px 12px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidenav .brand img{width:64px;height:auto} .sidenav .brand .t{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.02em} .sidenav .brand .s{font-size:11px;opacity:.7;letter-spacing:.08em;text-transform:uppercase}
.sidenav .sec{padding:14px 18px 4px;font-family:var(--font-label);font-size:11px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;color:var(--yellow);opacity:.9}
.sidenav a.nav{display:flex;align-items:center;gap:10px;padding:8px 18px;color:var(--nav-text);font-size:14px;border-left:3px solid transparent;opacity:.85}
.sidenav a.nav:hover{background:var(--nav-2);text-decoration:none;opacity:1} .sidenav a.nav.active{background:var(--nav-2);border-left-color:var(--yellow);opacity:1;font-weight:600}
.sidenav a.nav .ic{width:18px;display:inline-flex;align-items:center;justify-content:center;opacity:.75}
.ico{vertical-align:-3px;flex-shrink:0} .ib .ico{vertical-align:-4px} .empty .ico{color:var(--muted-2);opacity:1}
.sidenav .badge{margin-left:auto;background:var(--yellow);color:var(--maroon);font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px}
.sidenav .foot{margin-top:auto;padding:14px 18px;font-size:12px;opacity:.75;border-top:1px solid rgba(255,255,255,.08)}
.client-head{position:relative;z-index:20;flex-shrink:0}
.topbar{background:var(--topbar);color:#fff;display:flex;align-items:center;gap:12px;padding:0 22px;height:58px;min-width:0}
.subnav{background:var(--nav);display:flex;align-items:center;gap:2px;padding:0 22px;height:40px;box-shadow:0 2px 0 var(--yellow);overflow-x:auto}
.subnav a{color:var(--nav-text);padding:6px 12px;border-radius:4px;font-size:12.5px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.07em;font-weight:600;white-space:nowrap;opacity:.9}
.subnav a:hover{background:var(--nav-2);text-decoration:none;opacity:1} .subnav a.active{background:var(--nav-2);opacity:1;box-shadow:inset 0 -3px 0 var(--yellow)}
.topbar .brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:#fff;white-space:nowrap}
.topbar .brand img{height:44px;width:auto}
.topbar nav{display:flex;gap:2px;margin-left:8px}
.topbar nav a{color:#fff;padding:8px 11px;border-radius:4px;font-size:13px;opacity:.92;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.topbar nav a:hover{background:rgba(0,0,0,.18);text-decoration:none;opacity:1} .topbar nav a.active{background:rgba(0,0,0,.25);opacity:1;box-shadow:inset 0 -3px 0 var(--yellow)}
.topbar .sp{flex:1} .topbar .ib{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:4px;padding:6px 10px;cursor:pointer;position:relative;font-size:13px;display:flex;align-items:center;gap:6px}
.topbar .ib:hover{background:rgba(0,0,0,.18)} .topbar .ib .dot{position:absolute;top:-6px;right:-6px;background:var(--yellow);color:var(--maroon);font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.cnpj-switch{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:13px;display:flex;flex-direction:column;line-height:1.15;max-width:260px;text-align:left}
.cnpj-switch .l{font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.75} .cnpj-switch .v{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsearch{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:4px;padding:6px 10px;width:240px;font-size:13px} .gsearch::placeholder{color:rgba(255,255,255,.7)}
.admin-top{display:flex;align-items:center;gap:12px;padding:12px 26px;border-bottom:1px solid var(--line);background:var(--surface);position:relative;z-index:15;flex-shrink:0}
.admin-top .gsearch{background:var(--surface-2);color:var(--ink);border-color:var(--line-2)} .admin-top .gsearch::placeholder{color:var(--muted)}
.admin-top .ib{background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink)}
main.content{padding:22px 26px 60px} main.content>.inner{max-width:1440px;width:100%;margin:0 auto}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.page-head .sub{color:var(--muted);margin-top:4px;max-width:70ch}
.crumbs{font-size:12.5px;color:var(--muted);margin-bottom:6px} .crumbs a{color:var(--muted)}
@media (max-width:900px){.shell{grid-template-columns:1fr}.sidenav{position:fixed;top:0;left:-260px;width:250px;z-index:40;transition:left .2s;box-shadow:4px 0 20px rgba(0,0,0,.3)}.sidenav.open{left:0}.burger{display:inline-flex!important} main.content{padding:16px}.subnav{display:none}.gsearch{width:130px}.topbar .brand span{display:none}.cnpj-switch{max-width:150px}.hide-sm{display:none}}
.burger{display:none;background:transparent;border:1px solid var(--line-2);border-radius:4px;padding:6px 9px;cursor:pointer;color:inherit}
.topbar .burger{border-color:rgba(255,255,255,.4);color:#fff}
.mobile-nav{display:none;flex-shrink:0;background:var(--nav);z-index:30;padding:6px 4px;justify-content:space-around;border-top:2px solid var(--yellow)}
.mobile-nav a{color:var(--nav-text);font-size:11px;text-align:center;padding:4px 6px;border-radius:4px;flex:1} .mobile-nav a.active{color:var(--yellow);font-weight:700}
@media (max-width:900px){.client .mobile-nav{display:flex}}

/* Cards, tables, forms */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px}
.card.tight{padding:14px} .card.flat{background:var(--surface-2)} .card > h3, .card > .card-h{margin-bottom:12px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap} .card-h h3{font-size:15px;text-transform:none;letter-spacing:0;font-weight:600}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-height:92px}
.kpi .l{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-family:var(--font-label);font-weight:600} .kpi .v{font-family:var(--font-display);font-size:28px;font-weight:700;line-height:1;color:var(--ink)} .kpi .d{font-size:12.5px;color:var(--muted)}
.kpi.red{background:var(--red);border-color:var(--red);color:#fff} .kpi.red .l{color:var(--yellow)} .kpi.red .v,.kpi.red .d{color:#fff}
.kpi.yellow{background:var(--yellow);border-color:var(--yellow)} .kpi.yellow .l,.kpi.yellow .v,.kpi.yellow .d{color:var(--maroon)}
.kpi .trend{font-size:12px;font-weight:600} .up{color:var(--ok)} .down{color:var(--bad)}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{font-family:var(--font-label);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:10px 12px;color:var(--yellow);background:var(--red);white-space:nowrap;font-weight:600;cursor:pointer;user-select:none}
.tbl th.ns{cursor:default} .tbl th .arr{opacity:.7;font-size:10px;margin-left:4px}
.tbl td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:middle}
.tbl tr:hover td{background:var(--surface-2)} .tbl tr.sel td{background:var(--yellow-100)}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl .link{color:var(--red);font-weight:600;cursor:pointer} .tbl tr.clickable{cursor:pointer}
.tbl-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.tbl-tools .grow{flex:1} .tbl-foot{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line)}
.bulk{background:var(--yellow-100);border:1px solid var(--yellow);padding:8px 12px;border-radius:var(--r);display:flex;gap:8px;align-items:center;font-size:13px}
.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;line-height:1.5}
.pill::before{content:"";width:6px;height:6px;border-radius:3px;background:currentColor;opacity:.8}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.warn{background:var(--warn-bg);color:var(--warn)} .pill.bad{background:var(--bad-bg);color:var(--bad)} .pill.info{background:var(--info-bg);color:var(--info)} .pill.neutral{background:var(--neutral-bg);color:var(--ink-2)} .pill.brand{background:var(--red-100);color:var(--red)} .pill.gold{background:var(--yellow-100);color:#6B4A12}
.tag{display:inline-block;padding:1px 7px;border:1px solid var(--line-2);border-radius:4px;font-size:11.5px;color:var(--ink-2);background:var(--surface-2)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-weight:600;cursor:pointer;line-height:1.2;white-space:nowrap;transition:background .12s,transform .05s}
.btn:hover{background:var(--surface-2)} .btn:active{transform:translateY(1px)} .btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--yellow-700);outline-offset:2px}
.btn.primary{background:var(--red);border-color:var(--red);color:#fff} .btn.primary:hover{background:var(--red-700)}
.btn.gold{background:var(--yellow);border-color:var(--yellow);color:var(--maroon)} .btn.gold:hover{background:#A6731F}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff} .btn.ghost{background:transparent;border-color:transparent;color:var(--red)} .btn.ghost:hover{background:var(--red-100)}
.btn.sm{padding:5px 10px;font-size:13px} .btn.xs{padding:3px 8px;font-size:12px;font-weight:500} .btn.block{width:100%} .btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn.loading{position:relative;color:transparent!important} .btn.loading::after{content:"";position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
.btn:not(.primary):not(.danger).loading::after{border-color:var(--line-2);border-top-color:var(--red)}
@keyframes spin{to{transform:rotate(360deg)}}
.field{display:flex;flex-direction:column;gap:5px;min-width:0} .field label{font-size:12.5px;font-weight:600;color:var(--ink-2)} .field label .req{color:var(--bad)}
.field input,.field select,.field textarea{padding:8px 10px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface);width:100%;min-height:38px}
.field textarea{min-height:80px;resize:vertical} .field .help{font-size:12px;color:var(--muted)} .field.err input,.field.err select{border-color:var(--bad)} .field .errmsg{font-size:12px;color:var(--bad)}
.field input[type=checkbox],.field input[type=radio]{width:auto;min-height:auto}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer} .check input{margin-top:3px}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.alert{padding:11px 14px;border-radius:var(--r);border:1px solid;font-size:14px;display:flex;gap:10px;align-items:flex-start}
.alert.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)} .alert.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)} .alert.bad{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)} .alert.info{background:var(--info-bg);border-color:var(--info);color:var(--info)}
.alert .t{font-weight:700} .alert.warn .t{color:var(--warn)}
.empty{padding:40px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line-2);border-radius:var(--r-lg);background:var(--surface-2)}
.empty .ico{font-size:30px;margin-bottom:8px;opacity:.6} .empty h3{color:var(--ink-2);margin-bottom:6px}
.skel{background:linear-gradient(90deg,var(--surface-2),var(--cream-2),var(--surface-2));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:4px;height:14px}
@keyframes sk{to{background-position:-200% 0}}
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tabs button{background:transparent;border:0;padding:9px 14px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.06em;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;font-weight:500}
.tabs button.active{color:var(--red);border-bottom-color:var(--red)} .tabs button:hover{color:var(--ink)}
.steps{display:flex;gap:0;margin-bottom:20px;overflow-x:auto}
.steps .st{flex:1;display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:3px solid var(--line);font-size:13px;color:var(--muted);white-space:nowrap}
.steps .st .n{width:22px;height:22px;border-radius:11px;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.steps .st.done{border-bottom-color:var(--ok);color:var(--ok)} .steps .st.done .n{background:var(--ok);border-color:var(--ok);color:#fff}
.steps .st.cur{border-bottom-color:var(--red);color:var(--red);font-weight:600} .steps .st.cur .n{border-color:var(--red);color:var(--red)}
.timeline{position:relative;padding-left:26px} .timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--line-2)}
.timeline .ev{position:relative;padding:0 0 16px} .timeline .ev::before{content:"";position:absolute;left:-23px;top:5px;width:12px;height:12px;border-radius:6px;background:var(--surface);border:3px solid var(--muted-2)}
.timeline .ev.done::before{background:var(--ok);border-color:var(--ok)} .timeline .ev.cur::before{background:var(--yellow);border-color:var(--red)} .timeline .ev.bad::before{background:var(--bad);border-color:var(--bad)}
.timeline .ev .t{font-weight:700} .timeline .ev .m{font-size:12.5px;color:var(--muted)} .timeline .ev.future{opacity:.55}
.progress{display:flex;gap:4px} .progress span{flex:1;height:6px;border-radius:3px;background:var(--line)} .progress span.on{background:var(--ok)} .progress span.cur{background:var(--yellow)}
.modal-bg{position:fixed;inset:0;background:rgba(43,26,23,.55);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:620px;max-height:92vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.35);border-top:5px solid var(--red)}
.modal.wide{max-width:900px} .modal .mh{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 10px} .modal .mb{padding:6px 20px 20px} .modal .mf{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}
.x{background:transparent;border:0;font-size:22px;cursor:pointer;color:var(--muted);line-height:1}
#toasts{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:380px}
.toast{background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r);box-shadow:var(--shadow);font-size:14px;border-left:4px solid var(--yellow);animation:tin .2s ease-out}
.toast.ok{border-left-color:#5BC27A} .toast.bad{border-left-color:#FF6B6B} .toast.warn{border-left-color:var(--yellow)}
@keyframes tin{from{transform:translateY(8px);opacity:0}}
.drop{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);width:360px;max-height:70vh;overflow:auto;z-index:50;color:var(--ink);text-align:left}
.drop .it{padding:10px 14px;border-bottom:1px solid var(--line);font-size:13.5px;cursor:pointer} .drop .it:hover{background:var(--surface-2)} .drop .it.unread{background:var(--yellow-100)} .drop .it .t{font-weight:600} .drop .it .m{color:var(--muted);font-size:12px}
.drop .hd{padding:10px 14px;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:600;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:14px} .kv dt{color:var(--muted);white-space:nowrap} .kv dd{margin:0;font-weight:600}
.split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start} @media (max-width:1000px){.split{grid-template-columns:1fr}}
.prod{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column}
.prod .img{aspect-ratio:4/3;background:var(--cream-2);display:flex;align-items:center;justify-content:center;position:relative}
.prod .body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1} .prod .name{font-family:var(--font-body);font-size:15.5px;font-weight:600;line-height:1.2} .prod .price{font-family:var(--font-display);font-size:20px;color:var(--red)} .prod .price small{font-family:var(--font-body);font-size:12px;color:var(--muted)}
.prod .foot{padding:10px 14px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}
.qty{display:inline-flex;border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden} .qty button{background:var(--surface-2);border:0;width:30px;cursor:pointer;font-size:16px;color:var(--ink)} .qty input{width:56px;border:0;text-align:center;background:var(--surface);min-height:32px}
.pkg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:12px}
.pkg svg{max-width:100%;max-height:100%}
.gingham{background-image:repeating-linear-gradient(90deg,var(--yellow) 0 6px,transparent 6px 14px);background-size:14px 3px;background-repeat:repeat-x;background-position:0 50%;background-color:var(--cream-2)}
.login-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(320px,480px) 1fr;background:var(--bg)} @media (max-width:820px){.login-wrap{grid-template-columns:1fr}.login-side{display:none}}
.login-form{padding:48px 56px;display:flex;flex-direction:column;justify-content:center;gap:20px;background:var(--surface);border-right:1px solid var(--line)}
.login-brand{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:6px} .login-brand img{width:240px;display:block} .login-kicker{font-family:var(--font-label);font-weight:600;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--yellow-700)}
.login-title{font-size:24px;letter-spacing:.1em;text-align:center;color:var(--ink-2);font-weight:600}
.login-side{background:linear-gradient(160deg,#3B2211,#2A1709);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:72px 80px} .login-side::before{content:"";position:absolute;inset:18px;border:1px solid rgba(185,130,48,.45);pointer-events:none} .login-side::after{content:"";position:absolute;inset:24px;border:1px solid rgba(185,130,48,.2);pointer-events:none}
.login-side h1{font-size:38px;color:#FCF2E8;max-width:22ch;letter-spacing:.03em;font-weight:700;line-height:1.15} .login-side .script{font-size:30px}
.login-side .stats{display:flex;gap:40px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(185,130,48,.35)} .login-side .stats b{font-family:var(--font-display);font-size:30px;color:var(--yellow);display:block;line-height:1} .login-side .stats span{font-size:12.5px;opacity:.85;text-transform:uppercase;letter-spacing:.06em}
.demo-acc button:hover{border-color:var(--red)} .demo-acc button b{color:var(--red)}
.chip-row{display:flex;flex-wrap:wrap;gap:6px} .chip{padding:4px 10px;border-radius:14px;border:1px solid var(--line-2);background:var(--surface);font-size:12.5px;cursor:pointer} .chip.on{background:var(--red);color:#fff;border-color:var(--red)}
.bar{display:flex;align-items:center;gap:8px;font-size:12.5px} .bar .track{flex:1;height:8px;background:var(--line);border-radius:4px;overflow:hidden} .bar .fill{height:100%;background:var(--red)} .bar .fill.gold{background:var(--yellow)} .bar .fill.ok{background:var(--ok)} .bar .fill.bad{background:var(--bad)}
.doc-preview{background:#fff;color:#111;border:1px solid #ccc;padding:20px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;line-height:1.4;border-radius:4px;max-height:60vh;overflow:auto}
.sim{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 7px;border-radius:4px;background:var(--info-bg);color:var(--info);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.chart{width:100%;height:auto;display:block} .chart text{fill:var(--muted);font-size:11px;font-family:var(--font-body)} .chart .grid line{stroke:var(--line);stroke-width:1} .chart .bar{fill:var(--red)} .chart .bar.gold{fill:var(--yellow)} .chart .bar.mut{fill:var(--line-2)}
.chart .area{fill:var(--red);opacity:.12} .chart .ln{fill:none;stroke:var(--red);stroke-width:2} .chart .pt{fill:var(--yellow);stroke:var(--red);stroke-width:2}
.legend{display:flex;gap:14px;font-size:12.5px;color:var(--muted);flex-wrap:wrap} .legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:middle}
.msg{padding:10px 12px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);max-width:80%} .msg.me{background:var(--yellow-100);margin-left:auto} .msg .who{font-size:12px;color:var(--muted);margin-bottom:3px}
.perm-denied{padding:60px 20px;text-align:center} .perm-denied .ico{font-size:44px}
details.acc{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);margin-bottom:8px} details.acc summary{padding:10px 14px;cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between} details.acc summary::after{content:"+";color:var(--muted)} details.acc[open] summary::after{content:"–"} details.acc .acc-b{padding:0 14px 14px;border-top:1px solid var(--line)}
.sw{display:inline-flex;gap:4px;padding:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:6px} .sw button{border:0;background:transparent;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12.5px;color:var(--muted)} .sw button.on{background:var(--red);color:#fff}
.dz{border:2px dashed var(--line-2);border-radius:var(--r);padding:16px;text-align:center;color:var(--muted);font-size:13px;cursor:pointer;background:var(--surface-2)} .dz:hover{border-color:var(--red)}
.file{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:4px;font-size:13px;background:var(--surface)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.sidenav,.topbar,.admin-top,.mobile-nav,#toasts{display:none!important}.shell,.admin-col,main.content{display:block;height:auto;overflow:visible}}

/* ---------- ERP: elementos adicionais ---------- */
.home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.home-tile{display:flex;flex-direction:column;gap:8px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink);min-height:120px;transition:border-color .12s,transform .08s}
.home-tile:hover{border-color:var(--yellow);text-decoration:none;transform:translateY(-1px)} .home-tile .ico{color:var(--yellow-700)} .home-tile b{font-size:16px} .home-tile span{font-size:13px;color:var(--muted)}
.home-tile.brand{background:var(--red);border-color:var(--red);color:#fff} .home-tile.brand span{color:rgba(255,255,255,.75)} .home-tile.brand .ico{color:var(--yellow)}
.sem{display:inline-block;width:10px;height:10px;border-radius:5px;vertical-align:middle;margin-right:5px} .sem.verde{background:var(--ok)} .sem.amarelo{background:var(--yellow)} .sem.vermelho{background:var(--bad)} .sem.cinza{background:var(--muted-2)}
.lvl-bloqueante{border-left:4px solid var(--bad)} .lvl-critico{border-left:4px solid var(--warn)} .lvl-atencao{border-left:4px solid var(--yellow)} .lvl-informativo{border-left:4px solid var(--info)}
.alerta{padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:center} .alerta .q{font-weight:700} .alerta .m{font-size:12.5px;color:var(--muted)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px} .cal .d{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px;min-height:120px;display:flex;flex-direction:column;gap:6px} .cal .d.hoje{border-color:var(--yellow)} .cal .d .h{font-size:12px;color:var(--muted);display:flex;justify-content:space-between} .cal .d .op{font-size:12.5px;padding:4px 6px;border-radius:4px;background:var(--red-100);color:var(--red);cursor:pointer;line-height:1.25} .cal .d .op.done{background:var(--ok-bg);color:var(--ok)} .cal .d .op.late{background:var(--bad-bg);color:var(--bad)} .cal .d .op.run{background:var(--yellow-100);color:#6B4A12}
@media (max-width:900px){.cal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tree{font-size:14px} .tree ul{list-style:none;margin:0;padding-left:18px;border-left:1px dashed var(--line-2)} .tree li{padding:3px 0 3px 10px;position:relative} .tree li::before{content:"";position:absolute;left:-1px;top:14px;width:9px;height:1px;background:var(--line-2)} .tree .n{font-weight:600}
.stepsv{display:flex;flex-direction:column;gap:6px} .stepsv .s{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)} .stepsv .s .n{width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;background:var(--surface-2);border:1px solid var(--line-2)} .stepsv .s.concluida .n{background:var(--ok);color:#fff;border-color:var(--ok)} .stepsv .s.em_execucao .n,.stepsv .s.pausada .n{background:var(--yellow);color:var(--maroon);border-color:var(--yellow)} .stepsv .s.liberada .n{border-color:var(--red);color:var(--red)} .stepsv .s.bloqueada .n,.stepsv .s.aguardando_aprovacao .n{background:var(--bad);color:#fff;border-color:var(--bad)} .stepsv .s.cancelada{opacity:.45}
.kbd{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:300px;margin:0 auto} .kbd button{font-size:26px;padding:16px 0;border-radius:var(--r-lg);border:1px solid var(--line-2);background:var(--surface);cursor:pointer;font-family:var(--font-display);font-weight:700;color:var(--ink)} .kbd button:active{background:var(--yellow-100)}
.pin-dots{display:flex;gap:12px;justify-content:center;margin:14px 0} .pin-dots i{width:16px;height:16px;border-radius:8px;border:2px solid var(--line-2);display:block} .pin-dots i.on{background:var(--red);border-color:var(--red)}
.who{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px} .who button{padding:12px 10px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;font-size:15px;font-weight:600;text-align:left;line-height:1.2;color:var(--ink)} .who button small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:2px} .who button.on{border-color:var(--red);background:var(--red-100)}
/* Chão de fábrica: tudo maior */
.fab{font-size:17px} .fab .btn{padding:14px 18px;font-size:17px;border-radius:var(--r-lg)} .fab .btn.big{padding:20px;font-size:20px;width:100%} .fab .field input,.fab .field select,.fab .field textarea{font-size:18px;min-height:50px} .fab .field label{font-size:14px}
.fab-top{background:var(--red);color:#fff;display:flex;align-items:center;gap:14px;padding:10px 18px;position:sticky;top:0;z-index:20} .fab-top img{height:40px} .fab-top .t{font-family:var(--font-display);font-size:20px;font-weight:700;text-transform:uppercase;letter-spacing:.03em} .fab-top .s{font-size:13px;opacity:.85} .fab-top .sp{flex:1} .fab-top .st{font-size:12.5px;display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;background:rgba(0,0,0,.2)} .fab-top .st.off{background:var(--bad)} .fab-top .st.pend{background:var(--yellow);color:var(--maroon)}
.fab-main{padding:16px;max-width:1100px;margin:0 auto}
.timer{font-family:var(--font-display);font-size:64px;font-weight:700;line-height:1;text-align:center;color:var(--red);font-variant-numeric:tabular-nums;letter-spacing:.02em} .timer.paused{color:var(--warn)} .timer small{display:block;font-family:var(--font-label);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.tarefa-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer} .tarefa-card:hover{border-color:var(--yellow)} .tarefa-card .op{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--red)} .tarefa-card .m{font-size:14px;color:var(--muted)}
.tarefa-card.atual{border-color:var(--red);border-width:2px} .tarefa-card.bloq{opacity:.7}
.kit-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);align-items:center} .kit-item.ok{border-color:var(--ok);background:var(--ok-bg)} .kit-item.fora{border-color:var(--bad);background:var(--bad-bg)} .kit-item .n{font-size:18px;font-weight:600} .kit-item .alvo{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--red);text-align:right;white-space:nowrap} .kit-item .m{font-size:13px;color:var(--muted)}
.big-num{font-family:var(--font-display);font-size:34px;font-weight:700;color:var(--red);line-height:1}
.motivos{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px} .motivos button{padding:14px 10px;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--surface);cursor:pointer;font-size:15px;font-weight:600;color:var(--ink);line-height:1.2} .motivos button.on{background:var(--red);color:#fff;border-color:var(--red)} .motivos button small{display:block;font-weight:400;font-size:12px;color:var(--muted)} .motivos button.on small{color:rgba(255,255,255,.75)}
.offline-bar{background:var(--bad);color:#fff;text-align:center;padding:6px;font-size:13px}
.param-row{display:grid;grid-template-columns:1fr 140px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)} .param-row .r{font-size:12.5px;color:var(--muted)}
.diff-pos{color:var(--bad)} .diff-neg{color:var(--ok)}
.err-page{max-width:640px;margin:60px auto;text-align:center}
.print-only{display:none} @media print{.print-only{display:block} .no-print{display:none!important}}
.badge-count{display:inline-flex;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;font-weight:700;align-items:center;justify-content:center}
.inline-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap} .inline-form .field{min-width:140px}
.lbl{font-family:var(--font-label);font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}
.fab-top .st{white-space:nowrap} @media (max-width:640px){.fab-top{flex-wrap:wrap;gap:8px;padding:8px 12px} .fab-top .t{font-size:17px} .fab-top .btn{padding:8px 10px;font-size:14px} .fab-top .sp{display:none} .fab-top img{height:32px} .timer{font-size:48px} .fab-main{padding:12px}}
fieldset{min-width:0;max-width:100%}

/* Fotos de produto */
.foto{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--cream-2)} .foto.sem{display:flex;align-items:center;justify-content:center} .foto.sem img{width:38%;opacity:.25;filter:grayscale(1)}
.foto.mini{width:56px;height:56px;aspect-ratio:1;border-radius:6px;object-fit:cover;flex-shrink:0} .foto.sem.mini{width:56px;height:56px} .foto.sem.mini img{width:60%}
.foto.md{max-width:320px;border-radius:var(--r-lg);border:1px solid var(--line)} .foto.sem.md{height:200px}
.prod .img{padding:0;overflow:hidden}

/* ===== Controles de formulário padronizados (inputs, selects, áreas de texto, arquivos, caixas de marcação) ===== */
.ctl, input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]), select, textarea{
  appearance:none;-webkit-appearance:none;font-family:var(--font-body);font-size:14.5px;line-height:1.3;color:var(--ink);background:var(--paper);
  border:1px solid var(--line-2);border-radius:var(--r);padding:8px 11px;min-height:38px;box-sizing:border-box;max-width:100%;
  box-shadow:inset 0 1px 0 rgba(59,34,17,.03);transition:border-color .15s,box-shadow .15s,background .15s;
}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):hover,select:hover,textarea:hover{border-color:var(--yellow)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 3px var(--yellow-100)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}
input::placeholder,textarea::placeholder{color:var(--muted-2,#A99A87);opacity:1;font-style:italic}
input:disabled,select:disabled,textarea:disabled,fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{background:var(--cream-2);color:var(--muted);border-color:var(--line);cursor:not-allowed;box-shadow:none;opacity:.9}
input:read-only:not([type=checkbox]):not([type=radio]){background:var(--cream)}
input[type=number]{text-align:right;font-variant-numeric:tabular-nums} input[type=number]::-webkit-inner-spin-button{opacity:.6}
input[type=date],input[type=month],input[type=time]{font-variant-numeric:tabular-nums} input[type=search]{border-radius:999px}
input:invalid:not(:placeholder-shown):not(:focus),select:invalid:not(:focus){border-color:var(--bad)} .field.err input,.field.err select,.field.err textarea{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)}
select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%233B2211' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}
select:disabled{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23A99A87' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")}
select[multiple],select[size]{background-image:none;padding-right:11px}
textarea{min-height:84px;resize:vertical;line-height:1.45}
input[type=checkbox],input[type=radio]{accent-color:var(--red);width:17px;height:17px;margin:0;vertical-align:middle;cursor:pointer;flex:none}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--yellow-700);outline-offset:2px}
input[type=file]{padding:6px 8px;background:var(--paper);border:1px dashed var(--line-2);border-radius:var(--r);font-size:13.5px;color:var(--ink-2);min-height:38px;max-width:100%}
input[type=file]::file-selector-button{font-family:var(--font-body);font-weight:600;font-size:13px;color:var(--red);background:var(--yellow-100);border:1px solid var(--line-2);border-radius:6px;padding:5px 10px;margin-right:10px;cursor:pointer}
input[type=file]::file-selector-button:hover{background:var(--cream-2)}
.field input,.field select,.field textarea{width:100%} .field input[type=checkbox],.field input[type=radio]{width:17px;min-height:auto}
.field label{display:flex;align-items:center;gap:6px} .field .help{font-size:12px;color:var(--muted);line-height:1.35}
/* Controles dentro de tabelas: compactos e alinhados */
.tbl td input:not([type=checkbox]):not([type=radio]),.tbl td select{min-height:33px;padding:5px 9px;font-size:13.5px} .tbl td select{padding-right:28px;background-position:right 8px center} .tbl td input[type=number]{width:96px}
.tbl td select{max-width:100%;min-width:120px} .tbl td .btn.xs{white-space:nowrap}
/* Grupos e linhas de formulário */
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px 14px;align-items:end}
.inline-form .field{min-width:150px} .inline-form .btn{min-height:38px}
.check{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer;padding:6px 0} .check input{margin:0}
/* Chão de fábrica: maior e com mais contraste */
.fab input:not([type=checkbox]):not([type=radio]),.fab select,.fab textarea{font-size:18px;min-height:50px;padding:10px 14px;border-width:1.5px} .fab select{padding-right:38px;background-position:right 12px center}
.fab input[type=checkbox],.fab input[type=radio]{width:24px;height:24px}
/* Sem autofill amarelo do navegador */
input:-webkit-autofill,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--paper) inset;-webkit-text-fill-color:var(--ink)}

.tbl tr.row-warn td{background:var(--warn-bg)}

.cal .d.over{outline:2px dashed var(--yellow);outline-offset:-2px;background:var(--yellow-100)} .cal .op[draggable=true]{cursor:grab} .cal .op[draggable=true]:active{cursor:grabbing}
.kanban{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));gap:10px;overflow-x:auto} .kanban .col{background:var(--cream-2);border-radius:var(--r-lg);padding:8px;min-height:200px} .kanban .col.over{outline:2px dashed var(--yellow)} .kanban .col h4{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:2px 4px 8px;display:flex;justify-content:space-between} .kanban .kcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:8px 10px;margin-bottom:8px;cursor:grab;font-size:13px} .kanban .kcard b{display:block} .kanban .kcard .m{color:var(--muted);font-size:12px}
@media (max-width:900px){.kanban{grid-template-columns:repeat(6,220px)}}
/* v2.5: fio digital, mapa */
.thread{display:flex;flex-direction:column;gap:0;max-width:900px} .tnode{display:flex;gap:14px;position:relative;padding-bottom:16px} .tnode:before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--line)} .tnode:last-child:before{display:none} .tdot{width:32px;height:32px;border-radius:50%;background:var(--brown,#3B2211);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;font-size:13px} .tbody{flex:1;background:#fff;border:1px solid var(--line);border-radius:var(--r,10px);padding:10px 14px}
.kpi.muted .v{color:var(--muted)} .kpi.warn{border-color:var(--yellow)}
@media print{.sidenav,.admin-top,.page-head .actions,.tabs,.btn{display:none!important} .content{padding:0} body{background:#fff}}
.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-top:8px} .qr-card{display:flex;gap:8px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff;cursor:pointer} .qr-lbl{display:flex;gap:8px;align-items:center} .qr-lbl .qr svg{width:80px;height:80px} .qr-t .mono{font-family:ui-monospace,monospace}
/* navegação: seções recolhíveis, favoritos, filtro */
.sidenav .sec.tog{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;padding-right:14px} .sidenav .sec.tog .chev{opacity:.7;transition:transform .15s;transform:rotate(-90deg)} .sidenav .sec.tog.open .chev{transform:rotate(0)} .sidenav .sec.tog:hover{opacity:1}
.sidenav .navtools{padding:10px 14px 2px} .sidenav .navtools input{width:100%;background:#fff;border:1px solid rgba(255,255,255,.15);color:var(--ink);border-radius:8px;padding:7px 10px;font-size:13px;min-height:0} .sidenav .navtools input::placeholder{color:#8a7f76}
.sidenav a.nav .nl{flex:1} .sidenav a.nav .fav{background:none;border:0;color:rgba(255,255,255,.25);font-size:14px;cursor:pointer;padding:0 2px;line-height:1} .sidenav a.nav:hover .fav{color:rgba(255,255,255,.6)} .sidenav a.nav .fav.on{color:var(--yellow)} .sidenav a.nav.hit{outline:1px dashed var(--yellow)}
