:root{--bg: #f6f5f1;--surface: #ffffff;--surface-1: #f1efe8;--border: #e4e1d8;--border-strong: #d3d1c7;--text: #2c2c2a;--text-2: #5f5e5a;--text-muted: #888780;--accent: #185fa5;--accent-bg: #e6f1fb;--accent-border: #378add;--danger: #a32d2d;--danger-bg: #fcebeb;--warning: #854f0b;--warning-bg: #faeeda;--success: #3b6d11;--success-bg: #eaf3de;--radius: 8px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}input,select,textarea{font-family:inherit;font-size:12.5px;padding:7px 9px;border-radius:6px;border:1px solid var(--border-strong);background:#fff;width:100%}button{font-family:inherit;cursor:pointer;border-radius:6px;border:1px solid var(--border-strong);background:#fff;padding:7px 12px;font-size:12.5px;color:var(--text)}button.primary{background:var(--text);color:#fff;border-color:var(--text)}button.accent{background:var(--accent);color:#fff;border-color:var(--accent)}button.ghost{background:transparent;border-color:transparent}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent)}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:6px 8px;font-size:12px}.pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600}.pill.crit-minore{background:var(--success-bg);color:var(--success)}.pill.crit-maggiore{background:var(--warning-bg);color:var(--warning)}.pill.crit-critico{background:var(--danger-bg);color:var(--danger)}header{display:flex;align-items:center;justify-content:space-between;padding:10px 22px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;flex-wrap:wrap;gap:8px}.brand{display:flex;align-items:center;gap:10px;font-weight:600}.brand .logo{width:30px;height:30px;border-radius:6px;background:var(--text);color:#fff;display:flex;align-items:center;justify-content:center;font-family:Bodoni Moda,Georgia,serif;font-weight:700}.brand .company{font-family:Bodoni Moda,Georgia,serif;letter-spacing:.5px;font-size:15px;line-height:1.1}.brand .company small{display:block;font-family:inherit;font-size:10px;color:var(--text-muted);letter-spacing:.3px}nav.tabs{display:flex;gap:2px;margin-left:12px;flex-wrap:wrap}nav.tabs button.tab{border:none;background:transparent;padding:8px 14px;font-size:13px;color:var(--text-2);border-bottom:2px solid transparent;border-radius:0}nav.tabs button.tab.active{color:var(--text);font-weight:600;border-bottom:2px solid var(--accent)}.header-right{display:flex;align-items:center;gap:12px;color:var(--text-2)}.header-right .search{position:relative}.header-right .search input{width:210px;padding-left:28px}.header-right .search i{position:absolute;left:8px;top:8px;color:var(--text-muted)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;cursor:pointer}.menu{position:absolute;right:0;top:40px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 24px #0000001a;padding:8px;min-width:240px;z-index:30}.menu label{font-size:10.5px;color:var(--text-muted);display:block;margin:6px 4px 3px}main{max-width:1280px;margin:0 auto;padding:22px}.workspace{display:flex;gap:24px;align-items:flex-start}.workspace-main{flex:1;min-width:0}.side-nav{width:224px;flex-shrink:0;position:sticky;top:74px;align-self:flex-start}.side-home{width:100%;text-align:left;display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border);color:var(--text-2);font-size:12px;padding:8px 10px;border-radius:8px;margin-bottom:12px}.side-home:hover{background:var(--surface-1);color:var(--text)}.side-modules{display:flex;flex-direction:column;gap:4px}.side-mod-head{width:100%;text-align:left;display:flex;align-items:center;gap:10px;background:transparent;border:none;color:var(--text-2);font-size:13.5px;padding:9px 12px;border-radius:8px}.side-mod-head i{font-size:17px;width:18px;text-align:center}.side-mod-head:hover{background:var(--surface-1);color:var(--text)}.side-mod.active{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding-bottom:6px;box-shadow:0 1px 2px #00000008}.side-mod.active .side-mod-head{color:var(--text);font-weight:600;font-family:Bodoni Moda,Georgia,serif;background:var(--mod-bg, var(--accent-bg));border-left:3px solid var(--mod-c, var(--accent));border-radius:9px 9px 0 0}.side-sections{display:flex;flex-direction:column;padding:4px 6px 2px;gap:1px}.side-section{text-align:left;background:transparent;border:none;color:var(--text-2);font-size:12.5px;padding:7px 12px 7px 26px;border-radius:6px}.side-section:hover{background:var(--surface-1);color:var(--text)}.side-section.active{background:var(--accent-bg);color:var(--accent);font-weight:600}@media(max-width:860px){.workspace{flex-direction:column;gap:12px}.side-nav{position:static;width:100%;display:flex;gap:8px;align-items:stretch;overflow-x:auto;padding-bottom:4px}.side-home{width:auto;flex:0 0 auto;margin-bottom:0;white-space:nowrap}.side-modules{flex-direction:row;flex:1;gap:8px}.side-mod{flex:0 0 auto;display:flex}.side-mod.active{padding-bottom:0;align-items:stretch}.side-mod.active .side-mod-head{border-radius:9px 0 0 9px}.side-mod-head{white-space:nowrap}.side-sections{flex-direction:row;flex-wrap:nowrap;align-items:center;padding:4px 6px;gap:2px}.side-section{white-space:nowrap;padding:7px 10px}}h1,h2,h3{font-family:Bodoni Moda,Georgia,serif}h2{font-size:18px;margin:0 0 12px}h3{font-size:13px;margin:0 0 8px;font-family:inherit;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px 20px}.clickable-card{cursor:pointer}.clickable-card:hover{border-color:var(--accent-border)}.grid2{display:grid;grid-template-columns:1.05fr 1fr;gap:16px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.kpi{background:var(--surface-1);border-radius:var(--radius);padding:14px 16px}.kpi .num{font-size:24px;font-weight:600}.kpi .label{font-size:11.5px;color:var(--text-2)}.field label{display:block;font-size:11px;color:var(--text-2);margin-bottom:3px}.subnav{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.subnav button{border-radius:20px;padding:6px 14px}.subnav button.active{background:var(--text);color:#fff;border-color:var(--text)}.bar-row{display:grid;grid-template-columns:160px 1fr 44px;align-items:center;gap:8px;margin-bottom:7px}.bar-row .lbl{font-size:11px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{background:var(--surface-1);border-radius:4px;height:14px;overflow:hidden}.bar-fill{background:var(--accent);height:100%;border-radius:4px}.bar-fill.warn{background:#ba7517}.bar-row .val{font-size:11px;text-align:right;font-weight:600}.report-note{font-size:11px;color:var(--text-muted);margin:8px 0 0}p.hint{font-size:11.5px;color:var(--text-muted);margin:8px 0 0}.warn-banner{background:var(--warning-bg);color:var(--warning);border:1px solid #eebf7a;border-radius:8px;padding:8px 12px;font-size:12px;margin-bottom:12px}.chart{display:flex;align-items:flex-end;gap:4px;height:150px;padding-top:18px}.chart-bar-col{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}.chart-bar-fill{width:70%;border-radius:3px 3px 0 0;min-height:2px;transition:filter .1s}.chart-bar-col .xlabel{font-size:9px;color:var(--text-muted);margin-top:4px}.chart-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:6px;background:#111;color:#fff;font-size:10.5px;font-weight:600;padding:3px 7px;border-radius:4px;white-space:nowrap;pointer-events:none;z-index:5}.chart-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#111}.chart-bar-col:hover .chart-tooltip{display:block}.chart-bar-col:hover .chart-bar-fill{filter:brightness(1.15)}.brand-tile{padding:16px 16px 14px;border-top:4px solid var(--brand-c);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-top-width:4px;border-radius:10px}.brand-tile .brand-name{font-family:Bodoni Moda,Georgia,serif;font-size:17px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand-c);margin-bottom:12px}.brand-stat{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.brand-stat .lbl{font-size:11px;color:var(--text-2)}.brand-stat .val{font-size:19px;font-weight:700}.brand-stat .val .pct{font-size:11px;font-weight:600;color:var(--text-muted);margin-left:4px}.split-badges{display:flex;gap:8px;margin:6px 0 10px}.split-badge{flex:1;background:var(--surface-1);border-radius:6px;padding:7px 9px;text-align:center}.split-badge .n{font-size:17px;font-weight:700}.split-badge .l{font-size:9.5px;color:var(--text-2)}.scarti-list{max-height:210px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;margin:8px 0 12px}.scarto-row{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:5px 8px;font-size:10.5px;border-bottom:1px solid var(--border);cursor:pointer}.scarto-row:last-child{border-bottom:none}.scarto-row:hover{background:var(--surface-1)}.scarto-row .t{color:var(--text-muted);min-width:32px}.scarto-row .d{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scarto-row .q{font-weight:700;min-width:16px;text-align:right}.scarto-detail{background:var(--surface-1);padding:7px 9px;font-size:10.5px;color:var(--text-2);border-bottom:1px solid var(--border);line-height:1.6}.manovia-block .bar-row{grid-template-columns:120px 1fr 34px}.qc-views{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.table-scroll{overflow-x:auto}.qc-row{cursor:pointer}.qc-row:hover{background:var(--surface-1)}tr.qc-row td{border-top:1px solid var(--border);white-space:nowrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:40;display:flex;justify-content:flex-end}.drawer{width:min(620px,100%);height:100%;background:var(--surface);overflow-y:auto;padding:20px}.detail-tabs{display:flex;gap:16px;font-size:12.5px;color:var(--text-2);border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:12px;flex-wrap:wrap}.detail-tabs span{cursor:pointer}.detail-tabs span.active{color:var(--text);font-weight:600}.idrow{display:grid;grid-template-columns:130px 1fr;font-size:12px;padding:4px 0;border-bottom:1px dashed var(--border)}.idrow .k{color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--surface);border-radius:12px;padding:20px;width:min(680px,100%);max-height:82vh;overflow-y:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.phone-wrap{display:flex;justify-content:center;padding:20px;background:var(--surface-1);border-radius:16px}.phone{width:320px;background:#fff;border-radius:22px;border:1px solid var(--border-strong);overflow:hidden;box-shadow:0 4px 18px #00000014}.phone-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:12px}.phone-body{padding:12px 14px}.choice{background:var(--surface-1);border-radius:8px;padding:10px;font-size:11.5px;text-align:center;cursor:pointer;border:1.5px solid transparent}.choice.selected{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border);font-weight:600}.choice.crit.selected{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:6px}.annot-toolbar{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.annot-tool.active{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.annot-stage{position:relative;background:var(--surface-1);border-radius:8px;overflow:hidden;touch-action:none}.annot-stage canvas{display:block;width:100%}.thumbs{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.thumb{width:46px;height:46px;border-radius:6px;background:var(--surface-1);border:1px solid var(--border);cursor:pointer;object-fit:cover}.thumb.selected{border:2px solid var(--accent-border)}.cam-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px}.cam-modal{background:var(--surface-0, #fff);border-radius:12px;overflow:hidden;max-width:640px;width:100%;box-shadow:0 12px 40px #0006}.cam-video{display:block;width:100%;max-height:70vh;background:#000;object-fit:contain}.defect-select{position:relative}.defect-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.defect-select-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.defect-select-menu{position:absolute;z-index:50;top:calc(100% + 4px);left:0;right:0;background:var(--surface-0, #fff);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000029;padding:6px}.defect-select-menu>input{width:100%;margin-bottom:6px}.defect-select-list{max-height:240px;overflow-y:auto}.defect-select-opt{display:block;width:100%;text-align:left;border:none;background:transparent;padding:7px 8px;border-radius:6px;font-size:12.5px;cursor:pointer}.defect-select-opt:hover{background:var(--surface-1)}.defect-select-opt.selected{background:var(--accent-bg);color:var(--accent)}.defect-select-empty{padding:8px;font-size:12px}.badge-dot{display:inline-block;min-width:16px;height:16px;border-radius:8px;background:var(--danger);color:#fff;font-size:9.5px;font-weight:700;text-align:center;line-height:16px;padding:0 4px}.flex{display:flex}.between{justify-content:space-between}.items-center{align-items:center}.gap8{gap:8px}.gap6{gap:6px}.wrap{flex-wrap:wrap}.muted{color:var(--text-muted)}.mt12{margin-top:12px}.mt16{margin-top:16px}.mb12{margin-bottom:12px}.launcher-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.app-tile{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--app-c);border-radius:14px;padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:box-shadow .12s,transform .12s}.app-tile:hover{box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.app-tile.disabled{opacity:.55;cursor:default}.app-tile.disabled:hover{box-shadow:none;transform:none}.app-tile .app-ico{width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:23px;background:var(--app-bg);color:var(--app-c)}.app-tile h3{font-family:Bodoni Moda,Georgia,serif;font-size:17px;margin:0}.app-chip{display:inline-block;font-size:10px;background:var(--surface-1);color:var(--text-2);border-radius:12px;padding:2px 8px;margin:3px 4px 0 0}.app-open{margin-top:auto;color:var(--app-c);font-size:12px;font-weight:600}.crumb{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px}.crumb .home-btn{cursor:pointer;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px}.crumb .home-btn:hover{background:var(--surface-1)}.crumb .mod-name{font-weight:600;color:var(--text)}@media(max-width:820px){.grid2,.grid3,.grid4,.report-grid{grid-template-columns:1fr}.header-right .search input{width:140px}}@media(pointer:coarse){input,select,textarea{font-size:16px;min-height:44px;padding:10px 12px}button{min-height:44px;font-size:14px;padding:10px 14px}.choice{padding:14px 10px;font-size:13.5px}.subnav button{padding:12px 16px;font-size:13.5px}.side-section,.side-mod-head{font-size:13.5px}.avatar{width:36px;height:36px;font-size:13px}.defect-select-trigger{min-height:44px;font-size:15px}.defect-select-opt{padding:12px 10px;font-size:14px}.annot-toolbar button{min-width:48px}.thumb{width:64px}.table-scroll{-webkit-overflow-scrolling:touch}}@media(max-width:860px){main{padding:12px}header{padding:8px 12px}.header-right{flex:1;justify-content:flex-end}.header-right .search{flex:1;max-width:320px}.header-right .search input{width:100%}.phone-wrap{padding:0;background:transparent;border-radius:0;display:block}.phone{width:100%;border:none;border-radius:0;box-shadow:none;background:transparent}.phone-head{padding:10px 0}.phone-body{padding:4px 0 0}.defect-line{flex-wrap:wrap}.defect-line .defect-select{flex:1 1 100%}.defect-line select{flex:1 1 40%}}@media(max-width:560px){.row3{grid-template-columns:1fr 1fr}}
