/* Ficha tecnica de fabrica: lista das pecas a esquerda, foto com cotas e as medidas para conferir a direita (mesmo visual do prototipo aprovado em 13/11) */
:root{--bg:#f3f4f2;--card:#ffffff;--fg:#1d2124;--muted:#626a70;--line:#dde1de;--accent:#b4462f;--ok:#1f7a4a;--okbg:#e5f3ea;--warn:#a3620a;--warnbg:#fbf0dc;--chip:#eef0ee;
--f-zh:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif;--f-ui:"Inter",system-ui,-apple-system,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#15181a;--card:#1d2124;--fg:#e8ebe9;--muted:#9aa3a8;--line:#30363a;--accent:#e07a5f;--ok:#5cc58a;--okbg:#17321f;--warn:#e0a650;--warnbg:#33270f;--chip:#262b2e;color-scheme:dark}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:var(--f-ui)}
.app{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
@media (max-width:900px){.app{grid-template-columns:1fr}.lado{position:static!important;height:auto!important;max-height:40vh}}
.lado{position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid var(--line);background:var(--card);padding:14px 12px}
.lado h2{font-family:var(--f-zh);font-size:16px;margin:0 0 4px}
.lado .geral{font-size:13px;color:var(--muted);margin-bottom:10px;font-variant-numeric:tabular-nums}
.lado input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);font:inherit;margin-bottom:8px}
.filtros{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.filtros button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:3px 10px;font-size:12px;font-family:var(--f-zh)}
.filtros button[aria-pressed="true"]{border-color:var(--fg);color:var(--fg)}
.itens{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.itens button{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;background:transparent;color:var(--fg);padding:7px 8px;border-radius:6px;font:inherit;font-variant-numeric:tabular-nums}
.itens button:hover{background:var(--chip)}
.itens button[aria-current="true"]{background:var(--chip);font-weight:600}
.itens .st{font-size:11px;font-family:var(--f-zh);color:var(--muted)}
.itens .st.ok{color:var(--ok)}.itens .st.dv{color:var(--warn)}
main{padding:20px max(16px,3vw) 40px;min-width:0}
.wrap{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;border-bottom:2px solid var(--fg);padding-bottom:12px}
h1{font-family:var(--f-zh);font-size:clamp(22px,3vw,30px);margin:0;letter-spacing:.02em}
h1 small{font-family:var(--f-ui);font-weight:500;color:var(--muted);font-size:.55em;margin-left:8px}
.model{font-weight:600;font-size:clamp(28px,4vw,40px);font-variant-numeric:tabular-nums}
.cat{color:var(--muted);font-family:var(--f-zh);font-size:15px}
.intro{font-family:var(--f-zh);font-size:15px;line-height:1.7;max-width:75ch;margin:0}
.intro span{display:block;color:var(--muted);font-family:var(--f-ui);font-size:13px;line-height:1.5}
.grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:20px;align-items:start}
@media (max-width:1100px){.grid{grid-template-columns:1fr}}
figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px}
@media (min-width:1101px){figure{position:sticky;top:12px}}
figure img{width:100%;height:auto;display:block;border-radius:4px;background:#d9d9dc}
figcaption{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5;font-family:var(--f-zh)}
.lista{display:flex;flex-direction:column;gap:10px}
.linha{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center}
.linha.ok{border-color:var(--ok);background:var(--okbg)}
.linha.novo{border-color:var(--warn);background:var(--warnbg)}
.nome{font-family:var(--f-zh);font-weight:700;font-size:16px}
.nome span{display:block;font-family:var(--f-ui);font-weight:400;font-size:12px;color:var(--muted)}
.nome em{display:inline-block;font-style:normal;font-size:11px;font-weight:600;color:var(--warn);background:var(--warnbg);border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:2px}
.fontes{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.chip{background:var(--chip);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.chip b{color:var(--fg);font-weight:600}
.chip.deng b{color:var(--accent)}
.prop{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;text-align:right;white-space:nowrap}
.prop small{font-size:13px;color:var(--muted);font-weight:500;margin-left:2px}
.acoes{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
button{font:inherit;cursor:pointer}
.bok{border:1px solid var(--ok);color:var(--ok);background:transparent;border-radius:6px;padding:7px 14px;font-weight:600;font-family:var(--f-zh)}
.linha.ok .bok{background:var(--ok);color:var(--card)}
.campo{display:flex;align-items:center;gap:6px;font-family:var(--f-zh);font-size:13px;color:var(--muted)}
.campo input{width:110px;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);font:inherit;font-variant-numeric:tabular-nums}
input:focus,.bok:focus-visible,.enviar:focus-visible,textarea:focus,.itens button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.outros{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:var(--f-zh);font-size:14px}
.outros h2,.fim h2{font-size:15px;margin:0 0 6px;font-family:var(--f-zh)}
.outros ul{margin:0;padding-left:18px;color:var(--muted)}
.fim{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:10px}
textarea{width:100%;min-height:80px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);font:inherit}
.barra{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.progresso{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}
.enviar{background:var(--accent);color:#fff;border:0;border-radius:6px;padding:10px 22px;font-weight:600;font-family:var(--f-zh);font-size:15px}
.enviar:disabled{opacity:.45;cursor:not-allowed}
.feito{color:var(--ok);font-weight:600;font-family:var(--f-zh)}
.erro{color:var(--accent);font-weight:600;font-family:var(--f-zh)}
.sem{font-family:var(--f-zh);color:var(--muted);padding:40px 0}
@media (prefers-reduced-motion:no-preference){.linha{transition:background .15s,border-color .15s}}
