/* SIGHH v2 — componentes próprios. Prefixo sg- para não colidir com app.css. */
.sg{
  color-scheme:light;
  --pg:#E7E9ED; --surf:#fff; --surf2:#f7f8fa; --ink:#202020; --mut:#5c5c5c; --line:#D5D9DF; --ctl:#8A8F98;
  --red:#F23030; --red-btn:#C81E1E; --red-d:#951212; --red-l:#fde8e8; --sel:#fbd0d0; --sel-tx:#7a1010;
  --ok:#0B6B3A; --ok-bg:#e3f4ea; --wr:#8A5600; --wr-bg:#fdf1db; --bl:#1B5FBF; --bl-bg:#e8f0fb; --bl-tx:#123f80;
  --gy:#474747; --gy-bg:#e4e6ea; --lock:#5E5E5E; --lock-bg:#ECECEC; --hover:#f3f4f6; --dis-bg:#e4e4e4; --dis:#555;
  --r:24px; --r2:18px; --r3:14px; --sh:0 12px 30px rgba(0,0,0,.06);
  background:var(--pg); color:var(--ink); border-radius:26px; padding:22px; font-size:15px; line-height:1.5;
}
[data-theme="dark"] .sg{
  color-scheme:dark;
  --pg:#121214; --surf:#1d1d20; --surf2:#26262a; --ink:#f2f2f2; --mut:#b9b9bf; --line:#3a3a40; --ctl:#8d8d97;
  --red-l:#3d1414; --red-d:#ffb3b3; --sel:#4a1717; --sel-tx:#ffd9d9;
  --ok:#7fe0a7; --ok-bg:#12301f; --wr:#ffd07a; --wr-bg:#3a2a08; --bl:#a9c9ff; --bl-bg:#132540; --bl-tx:#d3e3ff;
  --gy:#e0e0e4; --gy-bg:#303036; --lock:#c4c4ca; --lock-bg:#2a2a2f; --hover:#2a2a2f; --dis-bg:#2e2e33; --dis:#bdbdc4;
  --sh:0 12px 30px rgba(0,0,0,.35);
}
.sg *{box-sizing:border-box}
.sg [hidden]{display:none!important}
.sg h1,.sg h2,.sg h3,.sg h4{margin:0;font-weight:900;letter-spacing:-.3px;color:var(--ink)}
.sg a{color:inherit}
.sg p{margin:0}
.sg button{font-family:inherit;color:var(--ink);cursor:pointer}
.sg option,.sg optgroup{color:#111;background:#fff}
[data-theme="dark"] .sg option,[data-theme="dark"] .sg optgroup{color:#f2f2f2;background:#1d1d20}

.sg-ttl{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:18px}
.sg-ttl>div:first-child{flex:1;min-width:240px}
.sg-ttl h1{font-size:26px}
.sg-ttl p{margin-top:5px;color:var(--mut);font-weight:700;font-size:14px}
.sg-eyebrow{display:inline-block;font-size:11.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--mut);margin-bottom:4px}

.sg-card{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:22px}
.sg-card+.sg-card,.sg-card+form,.sg form+.sg-card{margin-top:16px}
.sg-grid>.sg-card,.sg-grid>form.sg-card{margin-top:0}
.sg-card h2{font-size:19px;margin-bottom:6px}
.sg-card .sg-sub{color:var(--mut);font-weight:700;font-size:13.5px;margin-bottom:14px}
.sg-grid{display:grid;gap:16px}
.sg-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-g3{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.sg-g2,.sg-g3,.sg-g4{grid-template-columns:1fr}}
.sg hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.sg-muted{color:var(--mut);font-weight:700}
.sg-mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700}
.sg-right{text-align:right}
.sg-mt{margin-top:16px}

.sg-note{background:var(--bl-bg);color:var(--bl-tx);border-radius:var(--r3);padding:12px 16px;font-weight:800;font-size:13.5px;margin-bottom:16px}
.sg-note.warn{background:var(--wr-bg);color:var(--wr)}
.sg-note.err{background:var(--red-l);color:var(--red-d)}
.sg-locked{background:var(--surf2);border:1.5px dashed var(--ctl);border-radius:var(--r2);padding:16px;color:var(--mut);font-weight:800;font-size:13.5px}
.sg-new{background:var(--red-btn);color:#fff;font-size:10.5px;font-weight:900;padding:2px 9px;border-radius:20px;vertical-align:middle;margin-left:8px;letter-spacing:.3px}

/* KPIs */
.sg-kpi{background:var(--surf);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh);padding:16px 18px}
.sg-kpi span{display:block;color:var(--mut);font-weight:900;font-size:12px}
.sg-kpi strong{display:block;font-size:30px;font-weight:900;letter-spacing:-1px;margin:4px 0 2px}

/* abas */
.sg-subtabs{display:flex;gap:8px;background:var(--surf);border:1px solid var(--line);border-radius:var(--r2);padding:7px;box-shadow:var(--sh);margin-bottom:18px}
.sg-subtabs a,.sg-subtabs button{flex:1;border:0;background:transparent;color:var(--mut);font-weight:900;font-size:15px;padding:14px;border-radius:var(--r3);display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none}
.sg-subtabs a:hover{background:var(--hover);color:var(--ink)}
.sg-subtabs a.on{background:var(--ink);color:var(--surf)}
.sg-ct{background:var(--gy-bg);color:var(--gy);border-radius:20px;padding:1px 10px;font-size:12.5px}
.sg-subtabs a.on .sg-ct{background:var(--red-btn);color:#fff}
@media(max-width:700px){.sg-subtabs{flex-direction:column}}

/* cartão de OS */
.sg-os{background:var(--surf);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:20px 22px;margin-bottom:14px}
.sg-os-h{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.sg-os-h h3{font-size:19px}
.sg-os-h h3 a{text-decoration:none}
.sg-os-h h3 a:hover{text-decoration:underline}
.sg-os-h .sg-cli{color:var(--mut);font-weight:800;font-size:13.5px;margin-top:2px}
.sg-os-h .sg-st{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.sg-itm{border:1px solid var(--line);border-radius:var(--r2);padding:14px 16px;margin-top:12px;background:var(--surf2)}
.sg-itm-h{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.sg-itm-h b{font-size:15.5px}
.sg-cod{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--ink);color:var(--surf);border-radius:8px;padding:2px 8px;font-size:12.5px;font-weight:700}
.sg-itm-h .sg-kg{margin-left:auto;font-weight:900}
.sg-spec{color:var(--mut);font-weight:700;font-size:12.5px;margin-top:4px}

.sg-trail{display:flex;gap:6px;margin-top:13px;flex-wrap:wrap}
.sg-et{flex:1;min-width:84px;border-radius:12px;padding:8px 10px;font-size:12px;font-weight:900;text-align:center;border:1.5px solid transparent;text-decoration:none}
.sg-et .n{display:block;font-size:10.5px;font-weight:800;opacity:.8;margin-bottom:1px}
.sg-et.concluida{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}
.sg-et.em_curso{background:var(--red-btn);color:#fff}
.sg-et.liberada{background:var(--bl-bg);color:var(--bl);border-color:var(--bl)}
.sg-et.bloqueada{background:var(--lock-bg);color:var(--lock);border-style:dashed;border-color:var(--ctl)}

.sg-bar{height:9px;border-radius:20px;background:var(--gy-bg);overflow:hidden;margin-top:13px}
.sg-bar i{display:block;height:100%;background:var(--red-btn);border-radius:20px}
.sg-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px;color:var(--mut);font-weight:800;font-size:13px}
.sg-meta b{color:var(--ink)}
.sg-acts{display:flex;gap:9px;margin-top:15px;flex-wrap:wrap;align-items:center}
.sg-acts form{display:inline}

.sg-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:20px;font-size:12px;font-weight:900;white-space:nowrap}
.sg-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.sg-c-ok{background:var(--ok-bg);color:var(--ok)}.sg-c-red{background:var(--red-l);color:var(--red-d)}
.sg-c-wr{background:var(--wr-bg);color:var(--wr)}.sg-c-bl{background:var(--bl-bg);color:var(--bl)}.sg-c-gy{background:var(--gy-bg);color:var(--gy)}
.sg-flag{display:inline-block;background:var(--wr-bg);color:var(--wr);border-radius:10px;padding:4px 11px;font-size:12px;font-weight:900;margin:8px 8px 0 0}

/* botões */
.sg-b{border:0;border-radius:var(--r3);padding:12px 20px;font-size:14.5px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1.2}
.sg-b:active{transform:translateY(1px)}
.sg-b-r{background:var(--red-btn);color:#fff!important}.sg-b-r:hover{background:#951212}
.sg-b-d{background:var(--ink);color:var(--surf)!important}.sg-b-d:hover{opacity:.9}
.sg-b-g{background:var(--gy-bg);color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--ctl)}.sg-b-g:hover{filter:brightness(.95)}
.sg-b-o{background:var(--surf);color:var(--ink)!important;border:1.5px solid var(--ctl)}.sg-b-o:hover{background:var(--hover)}
.sg-b-ok{background:#0B6B3A;color:#fff!important}.sg-b-ok:hover{background:#08552e}
.sg-b:disabled,.sg-b[aria-disabled="true"]{background:var(--dis-bg);color:var(--dis)!important;box-shadow:none;border-color:var(--dis-bg);cursor:not-allowed}
.sg-b-lg{width:100%;padding:18px;font-size:17px;border-radius:var(--r2)}
.sg-b-sm{padding:7px 13px;font-size:12.5px;border-radius:11px}

/* formulários */
.sg label.sg-f,.sg .sg-f{display:block;font-weight:900;font-size:13.5px;margin:14px 0 6px;color:var(--ink)}
.sg .sg-f em{font-style:normal;color:var(--mut);font-weight:800}
.sg input:not([type=checkbox]):not([type=radio]),.sg select,.sg textarea{width:100%;padding:13px 14px;border:1.5px solid var(--ctl);border-radius:13px;font-size:16px;font-weight:700;background:var(--surf);color:var(--ink);font-family:inherit}
.sg input:focus,.sg select:focus,.sg textarea:focus{outline:0;border-color:var(--red-btn);box-shadow:0 0 0 4px var(--sel)}
.sg input::placeholder,.sg textarea::placeholder{color:var(--mut);opacity:1}
.sg input[readonly]{background:var(--surf2);color:var(--mut);border-style:dashed}
.sg select:disabled,.sg input:disabled{background:var(--dis-bg);color:var(--dis);border-style:dashed}
.sg-row{display:flex;gap:14px;flex-wrap:wrap}.sg-row>div{flex:1;min-width:140px}
.sg-num{width:48px;height:48px;border-radius:var(--r3);background:var(--ink);color:var(--surf);display:grid;place-items:center;font-weight:900;font-size:18px;margin:18px 0 -6px}
.sg-num:first-child{margin-top:0}
.sg-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sg-inline input,.sg-inline select{width:auto!important;min-width:90px;padding:9px 11px!important;font-size:14px!important}
.sg-check{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14px}
.sg-check input{width:20px;height:20px;accent-color:var(--red-btn)}

/* busca de produtos */
.sg-sres{border:1.5px solid var(--ctl);border-top:0;border-radius:0 0 13px 13px;overflow:hidden;background:var(--surf)}
.sg-sres a,.sg-sres div{display:flex;gap:12px;align-items:center;padding:12px 15px;border-bottom:1px solid var(--line);font-weight:800;text-decoration:none;color:var(--ink)}
.sg-sres a:hover,.sg-sres a:focus{background:var(--sel);color:var(--sel-tx);outline:0}
.sg-sres small{margin-left:auto;color:var(--mut);font-weight:800}
.sg-sbox input{border-radius:13px 13px 0 0!important}
.sg-attrs{border:1.5px dashed var(--ctl);border-radius:var(--r2);padding:4px 18px 18px;margin-top:14px;background:var(--surf2)}
.sg-agrp{font-size:12px;font-weight:900;color:var(--mut);margin:18px 0 -4px;padding-bottom:7px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.4px}
.sg-calc{background:var(--bl-bg);border-radius:13px;padding:12px 16px;margin-top:14px;font-weight:900;color:var(--bl-tx);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* tabela */
.sg-tw{overflow-x:auto}
.sg table{width:100%;border-collapse:collapse;background:transparent}
.sg th{text-align:left;font-size:11px;letter-spacing:.4px;color:var(--mut);font-weight:900;padding:11px 12px;border-bottom:2px solid var(--line);text-transform:uppercase;background:transparent;white-space:nowrap}
.sg td{padding:12px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700;color:var(--ink);background:transparent;vertical-align:middle}
.sg tr:last-child td{border-bottom:0}
.sg tbody tr:hover td{background:var(--hover)}
.sg td.num,.sg th.num{text-align:right;font-variant-numeric:tabular-nums}
.sg .up{color:var(--red-btn)}[data-theme="dark"] .sg .up{color:#ff9d9d}
.sg .dn{color:var(--ok)}

/* planejado × realizado */
.sg-pvr{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;margin:16px 0}
@media(max-width:700px){.sg-pvr{grid-template-columns:repeat(2,1fr)}}
.sg-pvr div{background:var(--surf);padding:15px}
.sg-pvr span{display:block;color:var(--mut);font-weight:900;font-size:11.5px;margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.sg-pvr strong{font-size:22px;font-weight:900;letter-spacing:-.6px}
.sg-pvr .dv{font-size:12.5px;font-weight:900;margin-top:3px;color:var(--mut)}

/* seletores grandes (radio / checkbox reais) */
.sg-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sg-pick.two{grid-template-columns:1fr 1fr}
@media(max-width:760px){.sg-pick{grid-template-columns:repeat(2,1fr)}}
.sg-pick label,.sg-slot,.sg-crew label,.sg-modebar label{position:relative;border:1.5px solid var(--ctl);background:var(--surf);border-radius:var(--r2);font-weight:900;cursor:pointer;color:var(--ink)}
.sg-pick label{padding:17px 10px;font-size:14.5px;display:grid;gap:6px;justify-items:center;text-align:center}
.sg-pick .ic{font-size:24px;line-height:1}
.sg-pick input,.sg-slot input,.sg-crew input,.sg-modebar input{position:absolute;opacity:0;pointer-events:none}
.sg-pick label:hover,.sg-slot:hover,.sg-crew label:hover,.sg-modebar label:hover{border-color:var(--ink);background:var(--hover)}
.sg-pick label.on,.sg-slot.on,.sg-crew label.on,.sg-modebar label.on{border:2.5px solid var(--red-btn);background:var(--sel);color:var(--sel-tx)}
.sg-pick label:focus-within,.sg-slot:focus-within,.sg-crew label:focus-within{outline:3px solid var(--bl);outline-offset:2px}

.sg-slot{display:flex;align-items:center;gap:13px;padding:14px 16px;margin-bottom:9px;width:100%;text-align:left}
.sg-slot small{display:block;color:var(--mut);font-weight:800;font-size:12.5px;margin-top:2px}
.sg-slot.on small{color:var(--sel-tx)}
.sg-slot .sq{width:36px;height:36px;border-radius:11px;background:var(--gy-bg);color:var(--ink);display:grid;place-items:center;font-weight:900;flex-shrink:0;font-size:14px}
.sg-slot.on .sq{background:var(--red-btn);color:#fff}
.sg-slot.off{cursor:not-allowed;border-style:dashed;background:var(--lock-bg);color:var(--lock)}
.sg-slot.off small{color:var(--lock)}
.sg-slot.off:hover{border-color:var(--ctl);background:var(--lock-bg)}

.sg-crew{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:760px){.sg-crew{grid-template-columns:1fr}}
.sg-crew label{padding:13px 14px;display:flex;align-items:center;gap:12px;text-align:left}
.sg-crew small{display:block;color:var(--mut);font-weight:800;font-size:12px;margin-top:1px}
.sg-crew label.on small{color:var(--sel-tx)}
.sg-crew .bx{width:26px;height:26px;border-radius:9px;border:2px solid var(--ctl);flex-shrink:0;display:grid;place-items:center;font-size:14px;color:transparent;background:var(--surf)}
.sg-crew label.on .bx{background:var(--red-btn);border-color:var(--red-btn);color:#fff}
.sg-crew label.busy{border-style:dashed;background:var(--lock-bg);color:var(--lock);cursor:not-allowed}
.sg-crew label.busy small{color:var(--lock)}
.sg-filter{margin-bottom:10px}

.sg-modebar{display:flex;gap:10px;flex-wrap:wrap}
.sg-modebar label{flex:1;min-width:200px;padding:14px 16px;text-align:left}
.sg-modebar small{display:block;color:var(--mut);font-weight:800;font-size:12px;margin-top:3px}
.sg-modebar label.on small{color:var(--sel-tx)}

.sg-prow{display:flex;align-items:center;gap:13px;border:1.5px solid var(--ctl);border-radius:var(--r3);padding:12px 15px;margin-bottom:9px;flex-wrap:wrap;background:var(--surf);cursor:pointer}
.sg-prow.on{border:2.5px solid var(--red-btn);background:var(--sel);color:var(--sel-tx)}
.sg-prow input{width:22px;height:22px;accent-color:var(--red-btn)}
.sg-prow small{display:block;color:var(--mut);font-weight:800;font-size:12px}
.sg-prow.on small{color:var(--sel-tx)}
.sg-prow .hh{margin-left:auto;font-weight:900;font-size:16px}

.sg-kv{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-weight:800;gap:14px}
.sg-kv:last-child{border:0}
.sg-kv span{color:var(--mut)}

.sg-empty{text-align:center;padding:48px 20px;color:var(--mut);font-weight:800}
.sg-empty h3{margin:10px 0 6px;font-size:18px}

.sg details.sg-det{border:1.5px solid var(--line);border-radius:var(--r3);padding:0;margin-top:10px;background:var(--surf)}
.sg details.sg-det>summary{cursor:pointer;padding:11px 14px;font-weight:900;list-style:none}
.sg details.sg-det>summary::-webkit-details-marker{display:none}
.sg details.sg-det>summary::after{content:" ▾";color:var(--mut)}
.sg details.sg-det[open]>summary{border-bottom:1px solid var(--line)}
.sg details.sg-det>div{padding:14px}

.sg-lst{display:block;border:1.5px solid var(--ctl);border-radius:var(--r3);padding:13px 15px;background:var(--surf);text-decoration:none;color:var(--ink)}
.sg-lst:hover{border-color:var(--ink);background:var(--hover)}
.sg-lst.on{border:2.5px solid var(--red-btn);background:var(--sel);color:var(--sel-tx)}
.sg-lst b{display:block;font-size:15px}
.sg-lst small{color:var(--mut);font-weight:800;font-size:12px}
.sg-lst.on small{color:var(--sel-tx)}

.sg-dep{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:var(--r3);padding:11px 14px;margin-bottom:9px;flex-wrap:wrap;font-weight:800;background:var(--surf)}
.sg-dep .ar{color:var(--mut);font-weight:900}
.sg-dep .tol{margin-left:auto;display:flex;gap:8px;align-items:center}
.sg-dep .tol input[type=text]{width:78px!important;text-align:center}

/* fotos e ocupação */
.sg-galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
.sg-foto{margin:0;border:1.5px solid var(--line);border-radius:var(--r3);overflow:hidden;background:var(--surf2);display:grid;gap:6px;padding-bottom:8px;justify-items:center}
.sg-foto img{width:100%;height:120px;object-fit:cover;display:block}
.sg-foto a{display:block;width:100%}
.sg-upload{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;border:2px dashed var(--ctl);border-radius:var(--r2);padding:18px;font-weight:900;cursor:pointer;background:var(--surf)}
.sg-upload:hover{border-color:var(--ink);background:var(--hover)}
.sg-upload input{position:absolute;opacity:0;pointer-events:none;width:1px}
.sg-oc td.cel{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
.sg-oc .baixo{background:var(--red-l);color:var(--red-d)}
.sg-oc .ok{background:var(--ok-bg);color:var(--ok)}
.sg-oc .acima{background:var(--wr-bg);color:var(--wr)}
.sg-oc .folga{color:var(--mut)}
@media print{.sg{background:#fff;padding:0}.sg-acts,.sg-subtabs{display:none}}
