:root{--bg:#f5f6f8;--card:#fff;--ink:#15171b;--muted:#707683;--line:#e4e7eb;--ok:#16864b;--warn:#b7791f;--bad:#c83d3d;--radius:16px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,textarea,select{font:inherit}.topbar{height:58px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.topbar span{color:#bbb}.top-actions{display:flex;gap:12px;align-items:center}.shell{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - 58px)}.sidebar{padding:18px 12px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:6px}.navbtn{border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer}.navbtn:hover,.navbtn.active{background:#eff1f3;font-weight:750}.content{padding:26px;max-width:1550px;width:100%}.tab{display:none}.tab.active{display:block}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.section-title h2{margin:0 0 5px;font-size:27px}.section-title p{margin:0;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:12px;margin-bottom:16px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.card .k{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800;letter-spacing:.04em}.card .v{font-size:29px;font-weight:850;margin-top:6px}.card.bad .v{color:var(--bad)}.card.ok .v{color:var(--ok)}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.panel{margin-bottom:14px}.panel h3{margin:0 0 14px}.row{display:flex;align-items:center}.gap{gap:8px;flex-wrap:wrap}button,.filebtn{border:1px solid var(--line);padding:10px 14px;border-radius:10px;cursor:pointer;background:#fff;display:inline-flex;align-items:center;justify-content:center}button.primary{background:#111;color:#fff;border-color:#111;font-weight:750}button.ghost{background:transparent}button.danger{background:#fff1f1;color:#a11;border-color:#efcaca}.topbar .ghost{color:#fff;border-color:#444}.linkbtn{border:0;background:transparent;text-decoration:underline;color:var(--muted);padding-left:0}.wide{width:100%}.filebtn input{display:none}label{display:block;font-size:13px;font-weight:700;margin:10px 0}input,textarea,select{width:100%;border:1px solid #d6dae0;border-radius:10px;padding:11px 12px;margin-top:6px;background:#fff}select{height:42px}.compact{width:auto;min-width:150px;margin:0}.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.formgrid.two{grid-template-columns:1fr 1fr}.check{display:flex;align-items:center;gap:8px;font-weight:600}.check input{width:auto;margin:0}.muted{color:var(--muted)}.small{font-size:12px}.message{min-height:20px;font-size:13px;margin-top:10px}.message.ok{color:var(--ok)}.message.warn{color:var(--warn)}.message.bad{color:var(--bad)}.table-wrap{overflow:auto;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 9px;white-space:nowrap;vertical-align:top}th{font-size:11px;text-transform:uppercase;color:var(--muted);background:#fafafa;position:sticky;top:0}.pii{max-width:280px;white-space:normal}.status{display:inline-flex;padding:3px 8px;border-radius:99px;font-size:11px;font-weight:750}.status.ok{background:#e9f8ef;color:#126c3c}.status.warn{background:#fff4df;color:#986413}.status.bad{background:#fdeaea;color:#aa3030}.bars{display:flex;flex-direction:column;gap:9px}.barrow{display:grid;grid-template-columns:minmax(90px,1.3fr) 2fr 80px;gap:8px;align-items:center;font-size:12px}.bartrack{height:8px;background:#eceef1;border-radius:99px;overflow:hidden}.barfill{height:100%;background:#222;border-radius:99px}.barvalue{text-align:right}.aging-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.aging-cell{border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}.aging-cell strong{font-size:24px;display:block}.mini-summary{font-weight:750;margin-bottom:10px}.overlay{position:fixed;inset:0;background:rgba(15,18,24,.76);display:flex;align-items:center;justify-content:center;z-index:100}.overlay.hidden{display:none}.modal{width:min(440px,calc(100% - 30px));background:#fff;border-radius:20px;padding:27px;box-shadow:0 20px 70px rgba(0,0,0,.3)}.modal h1{margin:8px 0 2px}.brandmark{width:44px;height:44px;border-radius:13px;background:#111;color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px}.toast{position:fixed;right:20px;bottom:20px;background:#111;color:#fff;border-radius:10px;padding:12px 16px;opacity:0;pointer-events:none;transition:.2s;z-index:200}.toast.show{opacity:1}.labels{display:grid;grid-template-columns:repeat(auto-fill,50mm);gap:5mm;align-items:start}.label-card{width:50mm;height:30mm;background:#fff;border:1px dashed #aaa;padding:2mm;display:grid;grid-template-columns:23mm 1fr;gap:1.5mm;overflow:hidden}.label-card .qr{width:22mm;height:22mm}.label-card .qr img,.label-card .qr canvas{width:22mm!important;height:22mm!important}.label-info{font-size:7.3pt;line-height:1.15;overflow:hidden}.label-info .brand{font-size:10pt;font-weight:900}.label-info .code{font-size:7pt;font-weight:800;word-break:break-all;margin:1mm 0}.driver-list-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:9px 0}.no-print{display:block}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:58px;z-index:10;flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.navbtn{white-space:nowrap}.content{padding:16px}.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr 1fr}.section-title{flex-direction:column}}@media(max-width:520px){.cards,.formgrid,.formgrid.two{grid-template-columns:1fr}.compact{width:100%}}@media print{@page{size:50mm 30mm;margin:0}body{background:#fff}.topbar,.sidebar,.no-print,.section-title,.tab:not(#tab-labels){display:none!important}.shell,.content,#tab-labels{display:block!important;padding:0!important;margin:0!important}.labels{display:block}.label-card{border:0;margin:0;page-break-after:always}.label-card:last-child{page-break-after:auto}}

/* v2.2 · PWA iPhone/iPad + multi-marca */
body{padding-bottom:env(safe-area-inset-bottom)}
.topbar{padding-top:env(safe-area-inset-top);height:calc(58px + env(safe-area-inset-top))}
.brand-selector{width:auto;min-width:105px;margin:0;padding:7px 9px;background:#222;color:#fff;border-color:#444;height:auto}
.brand-permissions{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}.brand-permissions>strong{display:block;margin-bottom:8px}
.scanner-shell{max-width:620px;margin:0 auto}.scanner-shell #iosReader{width:100%;background:#111;border-radius:18px;overflow:hidden;min-height:260px}.scanner-shell #iosReader video{object-fit:cover}.scan-status{margin-top:14px;border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);background:#fff}.scan-status.ok{background:#e9f8ef;border-color:#b7e3c7}.scan-status.warn{background:#fff4df;border-color:#efd7a4}.scan-status.bad{background:#fdeaea;border-color:#efbcbc}.scan-status.neutral{background:#fff}.scan-status strong{font-size:18px}.scan-counts{display:flex;justify-content:space-between;padding:12px 2px;color:var(--muted)}
@media(max-width:720px){.topbar{padding-left:14px;padding-right:12px}.topbar .top-actions{gap:7px}.topbar #userBadge{display:none}.topbar .ghost{padding:8px 10px}.brand-selector{min-width:92px}.sidebar{top:calc(58px + env(safe-area-inset-top));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.content{padding-left:max(13px,env(safe-area-inset-left));padding-right:max(13px,env(safe-area-inset-right));padding-bottom:calc(28px + env(safe-area-inset-bottom))}.section-title h2{font-size:24px}.scanner-shell #iosReader{min-height:230px}}
