:root{
  --adega:#123440;--adega-2:#1B4654;--adega-3:#2C5F70;
  --gelo:#EDF2F3;--espuma:#FFFFFF;--linha:#D3DEE1;
  --chopp:#F2A900;--chopp-escuro:#9A6A00;--etiqueta:#FFC93C;
  --tinta:#16262C;--tinta-2:#51666E;
  --ok:#1C7A5A;--ok-bg:#DDF1E9;--alerta:#BE3A2B;--alerta-bg:#FBE4E0;--atencao:#8F6100;--atencao-bg:#FCEFCB;--info:#20688A;--info-bg:#DCEDF4;--neutro-bg:#E4EBED;
  --titulo:"Bahnschrift","Barlow Condensed","Arial Narrow",sans-serif;
  --texto:"Barlow","Segoe UI",system-ui,sans-serif;
  --r-s:4px;--r-m:8px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--gelo);color:var(--tinta);font:400 15px/1.45 var(--texto)}
h1,h2,h3{font-family:var(--titulo);font-weight:600;line-height:1.15;margin:0}
h1{font-size:28px}h2{font-size:20px}h3{font-size:16px}
a{color:var(--info)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--chopp);outline-offset:2px}
.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
.side{background:var(--adega);color:#E4EEF0;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;gap:10px;align-items:center;padding:16px 16px 12px;color:#fff;text-decoration:none}
.brand img{width:34px;height:34px}.brand b{font:600 20px/1 var(--titulo)}
.side nav{padding:4px 8px 16px;display:flex;flex-direction:column;gap:1px}
.side nav .grp{font-size:12.5px;color:#93B1BA;padding:14px 10px 4px}
.side nav a{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--r-s);color:inherit;text-decoration:none;border-left:3px solid transparent}
.side nav a:hover{background:var(--adega-2)}
.side nav a.on{background:var(--adega-2);border-left-color:var(--chopp);color:#fff;font-weight:600}
.count{background:var(--chopp);color:var(--adega);border-radius:9px;font-size:12px;font-weight:600;padding:0 7px}
.side footer{margin-top:auto;padding:12px 16px;font-size:13px;border-top:1px solid var(--adega-2)}
.side footer button{background:none;border:0;color:#BFD4DA;padding:0;text-decoration:underline;cursor:pointer}
.main{min-width:0;display:flex;flex-direction:column}
.top{display:flex;gap:12px;align-items:center;padding:10px 24px;background:var(--espuma);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:5}
.top .menu-btn{display:none}
.search{position:relative;flex:1;max-width:480px}
.search input{width:100%}
.search .res{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--linha);border-radius:var(--r-m);margin-top:4px;box-shadow:0 8px 24px rgba(18,52,64,.16);z-index:9}
.search .res a{display:flex;gap:8px;padding:8px 12px;text-decoration:none;color:inherit;align-items:baseline}
.search .res a:hover{background:var(--gelo)}.search .res small{color:var(--tinta-2)}
.bell{margin-left:auto;position:relative}
.page{padding:20px 24px 48px;max-width:1360px;width:100%}
.head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}
.head .acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:var(--r-s);border:1px solid var(--linha);background:#fff;cursor:pointer;font-weight:500;text-decoration:none;color:var(--tinta);min-height:38px}
.btn:hover{border-color:var(--adega-3)}
.btn.pri{background:var(--adega);color:#fff;border-color:var(--adega)}.btn.pri:hover{background:var(--adega-2)}
.btn.chopp{background:var(--chopp);border-color:var(--chopp);color:var(--adega);font-weight:600}
.btn.dng{color:var(--alerta);border-color:#E4B5AE}
.btn.sm{padding:4px 10px;min-height:30px;font-size:14px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
input,select,textarea{border:1px solid #B9C8CD;border-radius:var(--r-s);padding:8px 10px;background:#fff;width:100%;min-height:38px}
textarea{min-height:76px;resize:vertical}
label.f{display:flex;flex-direction:column;gap:3px;font-size:13.5px;color:var(--tinta-2);font-weight:500}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.fgrid .wide{grid-column:1/-1}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.filters>*{width:auto;flex:0 1 180px}
.panel{background:#fff;border:1px solid var(--linha);border-radius:var(--r-m);padding:16px;margin-bottom:16px}
.panel>h2{margin-bottom:10px}
.tw{overflow-x:auto;background:#fff;border:1px solid var(--linha);border-radius:var(--r-m)}
table{border-collapse:collapse;width:100%;min-width:560px}
th{font-size:13px;text-align:left;color:var(--tinta-2);font-weight:600;padding:9px 12px;border-bottom:2px solid var(--linha);white-space:nowrap;background:#F7FAFA}
td{padding:9px 12px;border-bottom:1px solid #E6EDEF;vertical-align:middle}
tr.link{cursor:pointer}tr.link:hover td{background:#F4F8F9}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.empty{padding:28px 16px;text-align:center;color:var(--tinta-2)}
.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:13px;font-weight:500;white-space:nowrap;background:var(--neutro-bg)}
.b-ok{background:var(--ok-bg);color:var(--ok)}.b-al{background:var(--alerta-bg);color:var(--alerta)}.b-at{background:var(--atencao-bg);color:var(--atencao)}.b-in{background:var(--info-bg);color:var(--info)}
/* Etiqueta: o mesmo adesivo colado no equipamento, em toda a interface. */
.tag{display:inline-block;font:700 15px/1 var(--titulo);letter-spacing:.03em;background:#fff;color:#000;border:2px solid #000;box-shadow:inset 0 0 0 2px var(--etiqueta);padding:4px 7px;border-radius:3px;white-space:nowrap;text-decoration:none}
.tag.lg{font-size:40px;padding:10px 16px;border-width:3px;box-shadow:inset 0 0 0 5px var(--etiqueta)}
.ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:#fff;border:1px solid var(--linha);border-radius:var(--r-m);margin-bottom:16px}
.ledger section{padding:14px 16px;border-right:1px solid var(--linha);min-width:0}
.ledger section:last-child{border:0}
.ledger h2{font-size:17px;margin-bottom:8px;display:flex;justify-content:space-between}
.ledger h2 a{font:400 13px var(--texto)}
.ledger dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:3px 10px}
.ledger dt{color:var(--tinta-2);font-size:14px}.ledger dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.ledger dd.big{font:600 24px/1.1 var(--titulo)}.ledger dt.big{align-self:center}
.ledger dd.bad{color:var(--alerta)}
.two{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,2fr);gap:16px}
/* Parede de equipamentos */
.rack{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px}
.peg{display:flex;flex-direction:column;gap:5px;padding:7px;border-radius:var(--r-s);border:1px solid var(--linha);border-top:5px solid #8AA0A7;background:#fff;text-decoration:none;color:inherit;min-width:0}
.peg small{font-size:12.5px;color:var(--tinta-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.peg:hover{border-color:var(--adega-3)}
.s-disponivel{border-top-color:var(--ok)}.s-reservado,.s-preparacao{border-top-color:var(--chopp)}.s-transito,.s-instalado{border-top-color:var(--info)}.s-aguardando_retirada,.s-conferencia{border-top-color:#7A5AA6}.s-manutencao,.s-danificado{border-top-color:var(--alerta)}.s-baixado,.s-indisponivel{border-top-color:#8AA0A7;opacity:.65}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--tinta-2);margin-bottom:10px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.cat h2{margin:14px 0 8px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--linha);border-radius:var(--r-m);overflow:hidden;background:var(--linha);gap:1px}
.cal .d{background:#fff;min-height:96px;padding:5px;font-size:13px;min-width:0}
.cal .d.off{background:#F5F8F9;color:#8AA0A7}.cal .d.today{box-shadow:inset 0 3px 0 var(--chopp)}
.cal .wd{background:#F7FAFA;padding:6px;font-size:13px;font-weight:600;color:var(--tinta-2);text-align:center}
.cal a{display:block;text-decoration:none;color:inherit;background:var(--info-bg);border-radius:3px;padding:1px 4px;margin-top:2px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cal a.ret{background:#EBE3F4}.cal a.done{opacity:.55;text-decoration:line-through}
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--linha);margin-bottom:14px;overflow-x:auto}
.tabs button{border:0;background:none;padding:8px 14px;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tabs button.on{border-bottom-color:var(--chopp);font-weight:600}
.tabs a{color:inherit;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap}
.tabs a.on{border-bottom-color:var(--chopp);font-weight:600}
.steps{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none}
.steps li{font-size:13px;padding:2px 8px;border-radius:3px;background:var(--neutro-bg);color:var(--tinta-2)}
.steps li.done{background:var(--ok-bg);color:var(--ok)}.steps li.cur{background:var(--adega);color:#fff}
.tl{list-style:none;margin:0;padding:0}
.tl li{padding:8px 0 8px 14px;border-left:3px solid var(--linha);font-size:14px}
.tl small{color:var(--tinta-2);display:block}
.inbox{display:grid;grid-template-columns:300px minmax(0,1fr) 270px;gap:0;background:#fff;border:1px solid var(--linha);border-radius:var(--r-m);height:calc(100vh - 150px);min-height:440px}
.inbox>div{min-height:0;overflow-y:auto}
.inbox .list{border-right:1px solid var(--linha)}
.inbox .list a{display:block;padding:10px 12px;border-bottom:1px solid #E6EDEF;text-decoration:none;color:inherit}
.inbox .list a.on{background:var(--gelo)}
.inbox .list small{color:var(--tinta-2);display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chat{display:flex;flex-direction:column;overflow:hidden!important}
.msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px;background:#F5F8F9}
.m{max-width:74%;padding:7px 11px;border-radius:var(--r-m);background:#fff;border:1px solid var(--linha);align-self:flex-start;white-space:pre-wrap;overflow-wrap:anywhere}
.m.out{align-self:flex-end;background:#FFF4D2;border-color:#F0DFA6}.m.note{align-self:center;background:var(--neutro-bg);font-size:14px}
.m small{display:block;color:var(--tinta-2);font-size:12px}
.m img{max-width:220px;display:block;border-radius:4px}
.compose{display:flex;gap:8px;padding:10px;border-top:1px solid var(--linha)}
.ctx{border-left:1px solid var(--linha);padding:12px;font-size:14px}
.stop{background:#fff;border:1px solid var(--linha);border-left:6px solid var(--info);border-radius:var(--r-m);padding:14px;margin-bottom:12px}
.stop.ret{border-left-color:#7A5AA6}.stop.done{opacity:.6}
.stop h2{display:flex;gap:8px;align-items:baseline}
.stop .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.stop .acts .btn{flex:1 1 130px;min-height:46px}
.evt{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:14px;background:#fff;border:1px solid var(--linha);border-radius:var(--r-m);margin-bottom:12px}
.evt img{width:150px;height:150px;object-fit:cover;border-radius:4px;background:var(--gelo)}
.rd{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0;border-top:1px solid #E6EDEF}
.rd input,.rd select{width:auto;max-width:130px}
.photos{display:flex;flex-wrap:wrap;gap:8px}.photos img{width:120px;height:120px;object-fit:cover;border-radius:4px}
#map{height:360px;background:var(--gelo);border-radius:var(--r-m);margin-bottom:12px}
.chart svg{width:100%;height:auto;display:block}
.chart text{font:12px var(--texto);fill:var(--tinta-2)}
dialog{border:0;border-radius:var(--r-m);padding:0;width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 32px);box-shadow:0 18px 60px rgba(18,52,64,.35)}
dialog::backdrop{background:rgba(18,52,64,.5)}
.dlg{padding:18px}.dlg h2{margin-bottom:12px}
.dlg footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
.err{color:var(--alerta);margin-top:8px;font-size:14px}
#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;gap:6px;width:min(480px,calc(100vw - 32px))}
#toast div{background:var(--adega);color:#fff;padding:10px 14px;border-radius:var(--r-m);box-shadow:0 8px 24px rgba(0,0,0,.25)}
#toast div.bad{background:var(--alerta)}
.auth{min-height:100vh;display:grid;place-items:center;background:var(--adega);padding:16px}
.auth form{background:#fff;border-radius:var(--r-m);padding:26px;width:min(380px,100%);display:flex;flex-direction:column;gap:12px}
.auth h1{font-size:32px}
.demo{background:var(--chopp);color:var(--adega);text-align:center;padding:3px;font-weight:600;font-size:14px}
.muted{color:var(--tinta-2)}.right{text-align:right}.nowrap{white-space:nowrap}
.alerts{list-style:none;margin:0;padding:0}.alerts li{padding:7px 0;border-bottom:1px solid #E6EDEF;font-size:14px}
.alerts li a{color:inherit;text-decoration:none}
.alerts li.alta{border-left:3px solid var(--alerta);padding-left:8px}
.answer{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.qa{display:flex;gap:8px;max-width:520px}
.item-row{display:grid;grid-template-columns:minmax(0,3fr) 80px 110px 110px 36px;gap:6px;margin-bottom:6px;align-items:center}
.ai{display:flex;flex-direction:column;gap:6px;min-height:320px;max-height:58vh;overflow-y:auto;padding:10px;background:#F5F8F9;border-radius:var(--r-m);margin-bottom:10px}
@media (max-width:1100px){.ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger section:nth-child(2){border-right:0}.ledger section:nth-child(-n+2){border-bottom:1px solid var(--linha)}.two{grid-template-columns:minmax(0,1fr)}.inbox{grid-template-columns:260px minmax(0,1fr)}.ctx{display:none}}
@media (max-width:760px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;inset:0 auto 0 0;width:250px;z-index:30;transform:translateX(-100%);transition:transform .18s}
  .side.open{transform:none;box-shadow:0 0 0 100vmax rgba(18,52,64,.5)}
  .top .menu-btn{display:inline-flex}
  .top{padding:8px 12px}.page{padding:14px 12px 40px}
  .ledger{grid-template-columns:minmax(0,1fr)}.ledger section{border-right:0;border-bottom:1px solid var(--linha)}
  .filters>*{flex:1 1 140px}
  .inbox{grid-template-columns:minmax(0,1fr);height:auto}.inbox .list{max-height:220px;border-right:0;border-bottom:1px solid var(--linha)}.msgs{min-height:320px}
  .evt{grid-template-columns:minmax(0,1fr)}.evt img{width:100%;height:220px}
  .tag.lg{font-size:30px}.cal .d{min-height:64px;font-size:12px;padding:3px}
  .item-row{grid-template-columns:minmax(0,1fr) 70px;}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.two.rep{grid-template-columns:260px minmax(0,1fr)}
@media (max-width:1100px){.two.rep{grid-template-columns:minmax(0,1fr)}}
.sign .contract{max-height:38vh;overflow-y:auto;border:1px solid var(--linha);border-radius:var(--r-s);padding:10px 12px;margin-bottom:12px;font-size:14px;background:#FAFCFC}
.sign .contract table{min-width:0;font-size:13px}.sign .contract .dh{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:8px}
.sign .contract .n{text-align:right}
#pad{display:block;width:100%;height:190px;background:#fff;border:2px dashed #7C949B;border-radius:var(--r-s);touch-action:none}
.sign footer{flex-wrap:wrap}.sign footer .btn{flex:1 1 auto;min-height:44px}

.sign .contract{text-align:left}.sign .contract .cth{text-align:center;font-weight:600}.sign .contract h1{font-size:18px}.sign .contract .logo{max-height:34px;float:left}.sign .contract small{color:var(--tinta-2)}
