@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-ext-400-normal-CiZNW1ec.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-400-normal-DYBYyMQr.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-ext-500-normal-h0Fp6aX0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-500-normal-CK0UkkKf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-ext-600-normal-BNd8euf0.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-600-normal-BeUwKxhG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-vietnamese-700-normal-Csr0PCuG.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-700-normal-By_5yT39.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-ext-700-normal-C8_gqRu2.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-ext-700-normal-4Hjo2OtD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/be-vietnam-pro-latin-700-normal-DlW1Zbsh.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-700-normal-C2EtzaOi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#17251f;font-synthesis:none;background:#f4f6f5;font-family:Inter,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.login{background:radial-gradient(circle at 15% 10%,#d6efe1,#0000 35%),#0e241b;place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:#fff;border-radius:24px;width:min(430px,100%);padding:42px;box-shadow:0 25px 70px #001b0f66}.brand-row{align-items:center;gap:12px;display:flex}.logo{background:#fff;border:1px solid #d7e4dd;border-radius:12px;flex:0 0 88px;place-items:center;width:88px;height:46px;padding:6px 8px;display:inline-grid;box-shadow:0 8px 24px #082c1c26}.logo img{object-fit:contain;width:100%;height:100%}.brand-name{font-size:16px;line-height:1.25}.card h1{margin:28px 0 8px;font-size:30px}.card>p{color:#66756e}.card form{gap:18px;margin-top:28px;display:grid}label{gap:8px;font-size:14px;font-weight:650;display:grid}input{border:1px solid #ccd7d1;border-radius:10px;outline:none;padding:13px}input:focus{border-color:#1b7a50;box-shadow:0 0 0 3px #1b7a5020}.card button{color:#fff;background:#1b7a50;border:0;border-radius:10px;padding:13px 18px;font-weight:700}.card button:disabled,.refresh:disabled{opacity:.65}.error,.notice{color:#a42a1d;background:#fff0ee;border-radius:10px;padding:13px 16px}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.app-shell aside{color:#fff;background:#102d21;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.app-shell aside nav{gap:7px;margin-top:42px;display:grid;overflow:auto}.app-shell aside nav button{color:#bed1c8;text-align:left;background:0 0;border:0;border-radius:9px;padding:12px 14px}.app-shell aside nav button:hover,.app-shell aside nav button.active{color:#fff;background:#21543e}.profile{border-top:1px solid #ffffff24;gap:5px;margin-top:auto;padding-top:20px;display:grid}.profile small{color:#9fb8ac}.profile button{color:#fff;text-align:left;background:0 0;border:1px solid #ffffff28;border-radius:9px;margin-top:12px;padding:10px}.workspace{min-width:0;padding:44px clamp(24px,5vw,72px)}.workspace header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.workspace h1{margin:4px 0;font-size:34px}.eyebrow{color:#1b7a50;letter-spacing:.16em;margin:0;font-size:11px;font-weight:800}.header-actions{align-items:center;gap:10px;display:flex}.status{color:#21643f;background:#e5f4eb;border-radius:20px;padding:8px 12px;font-size:13px}.status.offline{color:#a42a1d;background:#fff0ee}.refresh{color:#315d49;background:#fff;border:1px solid #cbd8d1;border-radius:9px;padding:8px 12px}.updated{color:#849088;margin:0 0 28px;font-size:12px}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.metric{background:#fff;border:1px solid #e0e7e3;border-radius:18px;gap:13px;padding:24px;display:grid;box-shadow:0 8px 25px #183b2b0a}.metric span,.metric small{color:#718078}.metric strong{font-size:27px}.metric.accent{color:#fff;background:#1b6548}.metric.accent span,.metric.accent small{color:#c2dbcf}.notice{color:#765a08;background:#fff7df;margin-top:20px}.device-report,.inventory-report{margin-top:28px}.device-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.device-metric{background:#fff;border:1px solid #e0e7e3;border-top:4px solid #1b7a50;border-radius:16px;gap:9px;min-width:0;padding:20px;display:grid;box-shadow:0 8px 25px #183b2b0a}.device-metric span,.device-metric small{color:#718078}.device-metric span{min-height:36px;font-size:13px;font-weight:700}.device-metric strong{font-variant-numeric:tabular-nums;font-size:28px}.device-metric small{font-size:11px}.device-metric.danger{background:snow;border-top-color:#c5483d}.device-metric.warning{background:#fffdf8;border-top-color:#d99537}.device-metric.info{background:#f9fcff;border-top-color:#3b82b5}.device-metric.success{background:#f9fdfa;border-top-color:#1b7a50}.device-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.device-breakdown-card{background:#fff;border:1px solid #e0e7e3;border-radius:18px;min-width:0;padding:24px;box-shadow:0 8px 25px #183b2b0a}.device-breakdown-card>header{border-bottom:1px solid #edf1ef;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:17px;display:flex}.device-breakdown-card h3,.device-breakdown-card p{margin:0}.device-breakdown-card h3{font-size:16px}.device-breakdown-card p{color:#718078;margin-top:6px;font-size:12px}.device-breakdown-card>header>strong{color:#1b6548;font-size:25px}.device-type-list{gap:13px;max-height:390px;margin-top:18px;padding-right:8px;display:grid;overflow-y:auto}.device-type-row{gap:6px;display:grid}.device-type-row>div:first-child{justify-content:space-between;gap:14px;font-size:12px;display:flex}.device-type-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-type-row b{font-variant-numeric:tabular-nums}.device-type-track{background:#edf2ef;border-radius:999px;height:7px;overflow:hidden}.device-type-track i{border-radius:inherit;background:linear-gradient(90deg,#1b7a50,#49a477);min-width:3px;height:100%;display:block}.inventory-report-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.inventory-report-heading span{color:#1b7a50;letter-spacing:.16em;font-size:11px;font-weight:800}.inventory-report-heading h2{margin:7px 0 0;font-size:22px}.inventory-report-heading small{color:#7b8982}.distribution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.distribution-card{background:#fff;border:1px solid #e0e7e3;border-radius:18px;padding:24px;box-shadow:0 8px 25px #183b2b0a}.distribution-card>header{border-bottom:1px solid #edf1ef;justify-content:space-between;align-items:end;gap:18px;padding-bottom:18px;display:flex}.distribution-card>header div{gap:7px;display:grid}.distribution-card>header span,.distribution-card>header small,.distribution-copy p,.legend-row small{color:#718078}.distribution-card>header strong{font-size:24px}.distribution-card>header small{text-align:right}.distribution-copy{margin:20px 0 16px}.distribution-copy h3{margin:0 0 6px;font-size:16px}.distribution-copy p{margin:0;font-size:13px}.distribution-content{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:24px;display:grid}.donut-chart{width:170px;height:170px;display:block}.donut-track,.donut-segment{fill:none;stroke-width:18px}.donut-track{stroke:#edf2ef}.donut-segment{transform-origin:60px 60px;transform:rotate(-90deg)}.donut-value{fill:#17251f;font-size:11px;font-weight:800}.donut-label{fill:#718078;font-size:7px}.distribution-legend{gap:12px;display:grid}.legend-row{grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.legend-swatch{border-radius:50%;width:10px;height:10px}.legend-row div{gap:3px;min-width:0;display:grid}.legend-row strong,.legend-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.legend-row strong{font-size:13px}.legend-row small{font-size:11px}.legend-row b{font-variant-numeric:tabular-nums;font-size:13px}.chart-empty{color:#718078;text-align:center;background:#f7f9f8;border-radius:12px;padding:38px 20px}.loading,.empty{color:#718078;text-align:center;background:#fff;border:1px dashed #ccd8d1;border-radius:14px;padding:50px}.table-wrap{background:#fff;border:1px solid #dfe6e2;border-radius:15px;overflow:auto}.table-tools{color:#718078;border-bottom:1px solid #e8eeea;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;font-size:13px;display:flex}.table-tools input{width:min(280px,50%);padding:9px 12px}table{border-collapse:collapse;white-space:nowrap;width:100%}th,td{text-align:left;border-bottom:1px solid #edf1ef;padding:15px 20px}th{color:#597067;text-transform:uppercase;background:#f7f9f8;font-size:12px}td{font-size:14px}tbody tr:hover{background:#f7fbf9}.table-empty{margin:20px;padding:24px}@media (width<=900px){.app-shell{grid-template-columns:1fr}.app-shell aside{height:auto;position:static}.app-shell aside nav{grid-template-columns:repeat(3,1fr);margin-top:24px}.profile{margin-top:24px}.grid{grid-template-columns:repeat(2,1fr)}.device-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-breakdown-grid,.distribution-content{grid-template-columns:1fr}.donut-chart{margin:0 auto}}@media (width<=600px){.card{padding:28px}.app-shell aside nav{grid-template-columns:1fr 1fr}.workspace{padding:28px 18px}.workspace header{align-items:flex-start;gap:16px}.status{display:none}.grid,.device-metric-grid{grid-template-columns:1fr}.inventory-report-heading,.distribution-card>header{flex-direction:column;align-items:flex-start}.inventory-report-heading small,.distribution-card>header small{text-align:left}.distribution-grid{grid-template-columns:1fr}.table-tools{flex-direction:column;align-items:stretch}.table-tools input{width:100%}}.primary{color:#fff;background:#1b7a50;border:0;border-radius:9px;padding:9px 13px;font-weight:700}.primary:disabled{opacity:.65}.success{color:#21643f;background:#e5f4eb;border-radius:10px;margin-bottom:18px;padding:13px 16px}.modal-backdrop{z-index:20;background:#071a12aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:min(680px,100%);max-height:calc(100vh - 40px);padding:28px;overflow:auto;box-shadow:0 30px 80px #001b0f66}.modal-head{justify-content:space-between;align-items:flex-start;display:flex}.modal-head h2{margin:5px 0 20px}.modal-head>button{color:#315d49;background:#edf3ef;border:0;border-radius:50%;width:36px;height:36px;font-size:24px}.modal form{gap:20px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-grid select{background:#fff;border:1px solid #ccd7d1;border-radius:10px;padding:13px}.form-grid .wide{grid-column:1/-1}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.report-toolbar{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:18px;display:flex}.period-tabs{background:#f6f9f7;border:1px solid #dfe7e2;border-radius:12px;gap:6px;padding:5px;display:flex}.period-tabs button{color:#4e5d55;background:0 0;border:0;border-radius:8px;padding:9px 13px;font-weight:650}.period-tabs button.selected{background:var(--aio-yellow);color:#111}.period-tabs.receipt-type-tabs{flex-wrap:wrap;margin-bottom:16px}.period-tabs.receipt-type-tabs button{white-space:normal;flex:180px}.period-fields{flex:1;align-items:flex-end;gap:9px;display:flex}.period-fields label{color:#68776e;flex:1;min-width:150px;font-size:12px}.period-fields input{background:#fff;border:1px solid #ccd7d1;border-radius:9px;width:100%;margin-top:5px;padding:10px;display:block}.report-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.report-cards article{background:#fff;border:1px solid #dfe7e2;border-radius:14px;padding:18px}.report-cards small,.report-cards span{color:#75827b;font-size:12px;display:block}.report-cards strong{margin:8px 0 5px;font-size:22px;display:block}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.report-grid.report-tables{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:#fff;border:1px solid #dfe7e2;border-radius:14px;overflow:hidden}.panel>header{border-bottom:1px solid #edf1ee;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.panel h2{margin:0;font-size:16px}.panel>header span{color:#75827b;font-size:12px}.report-line{border-bottom:1px solid #f0f3f1;justify-content:space-between;align-items:center;gap:14px;padding:12px 18px;display:flex}.report-line:last-child{border-bottom:0}.report-line small{color:#87928c;margin-top:3px;font-size:11px;display:block}.money-in{color:#1b7a50}.money-out{color:#bd4b3e}.report-list{max-height:340px;overflow:auto}.scan-button{color:#594800;background:#fff8d8;border:1px solid #d9bd36;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px;font-weight:700}.scan-results{color:#1b7a50;word-break:break-word;margin-top:5px;font-size:11px;line-height:1.35;display:block}.scanner-modal{width:min(520px,100%)}.scanner-frame{background:#111;border-radius:14px;place-items:center;min-height:230px;display:grid;overflow:hidden}.scanner-frame video{object-fit:cover;width:100%;max-height:340px;display:block}.scanner-help{color:#68776e;margin:10px 0;font-size:13px}.scanner-manual{align-items:end;gap:8px;display:flex}.scanner-manual input{flex:1;min-width:0}@media (width<=1050px){.report-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.report-grid{grid-template-columns:1fr 1fr}}@media (width<=650px){.report-cards,.report-grid,.report-grid.report-tables{grid-template-columns:1fr}.period-fields{width:100%}.period-fields label{min-width:0}}.renewal-period{border:0;min-width:0;margin:0;padding:0}.renewal-period legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:650}.renewal-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.renewal-options button{color:#343a3f;background:#fff;border:1px solid #ccd7d1;border-radius:10px;min-height:44px;padding:9px 10px;font-weight:600}.renewal-options button:hover{background:#fff9df;border-color:#d8ad00}.renewal-options button.selected{border-color:var(--aio-yellow,#f4c400);background:var(--aio-yellow,#f4c400);color:#111}.renewal-end-date input[readonly]{color:#535b62;background:#f5f6f6}.renewal-end-date small{color:#727b83;font-size:11px;font-weight:500}@media (width<=600px){.header-actions{flex-wrap:wrap;justify-content:flex-end}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.renewal-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.checks{align-items:center;gap:18px;display:flex}.checks label{align-items:center;gap:7px;font-weight:500;display:flex}.checks input{accent-color:#1b7a50;width:17px;height:17px;padding:0}.modal-large{width:min(1050px,100%)}.items-head{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.purchase-items{gap:10px;display:grid}.purchase-item{background:#f5f8f6;border-radius:12px;grid-template-columns:2fr repeat(4,1fr) 38px;align-items:end;gap:10px;padding:14px;display:grid}.purchase-item input,.purchase-item select{width:100%;min-width:0;padding:10px}.remove{color:#a42a1d;background:#ffe9e6;border:0;border-radius:9px;width:38px;height:38px;font-size:20px}.remove:disabled{opacity:.35}.order-total{color:#fff;background:#102d21;border-radius:12px;justify-content:flex-end;align-items:center;gap:18px;padding:18px;display:flex}.order-total strong{font-size:22px}@media (width<=900px){.purchase-item{grid-template-columns:1fr 1fr}.purchase-item label:first-child{grid-column:1/-1}}.sale-item{background:#f5f8f6;border-radius:12px;grid-template-columns:2fr repeat(3,1fr) 38px;align-items:end;gap:10px;padding:14px;display:grid}.sale-item input,.sale-item select{width:100%;min-width:0;padding:10px}@media (width<=900px){.sale-item{grid-template-columns:1fr 1fr}.sale-item label:first-child{grid-column:1/-1}}.allocation-list{gap:9px;display:grid}.allocation{border:1px solid #e1e9e4;border-radius:11px;grid-template-columns:none;justify-content:space-between;align-items:center;gap:20px;padding:14px;display:flex}.allocation span{gap:4px;display:grid}.allocation small{color:#718078}.allocation input{text-align:right;width:180px;padding:10px}@media (width<=600px){.allocation{flex-direction:column;align-items:stretch}.allocation input{width:100%}}.table-action{color:#21643f;background:#e5f4eb;border:0;border-radius:8px;padding:7px 10px;font-weight:700}.danger-action{color:#a13c34;background:#fff2f1;border:1px solid #f0c9c6;border-radius:8px;padding:7px 10px;font-weight:700}.import-help{color:#617269;margin:0;font-size:13px;line-height:1.55}.import-results{max-height:380px;margin-bottom:20px}.photo-slots{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.photo-slots>div{background:#f7faf8;border:1px solid #dce6e0;border-radius:10px;gap:7px;padding:14px;display:grid}.photo-slots a{color:#1b7a50;font-weight:700}.photo-slots small{color:#7b8982}.muted-cell{color:#8a9690;font-size:12px}.receive-list{gap:20px;display:grid}.receive-list>section{border:1px solid #e1e9e4;border-radius:12px;padding:16px}.unit-row{grid-template-columns:34px 1fr 1fr;align-items:center;gap:10px;margin-top:10px;display:grid}.unit-row span{color:#718078;font-size:13px}.unit-row input{padding:10px}@media (width<=600px){.unit-row{grid-template-columns:28px 1fr}.unit-row input:last-child{grid-column:2}}.unit-row .non-serial{color:#315d49;background:#edf4f0;border-radius:8px;grid-column:2/-1;padding:11px}.row-actions{gap:7px;display:flex}.detail-action{color:#315d49;background:#fff;border:1px solid #cbd8d1;border-radius:8px;padding:7px 10px}.service-summary-row{cursor:pointer}.service-filter-bar{background:#fbfdfc;border-bottom:1px solid #e8eeea;flex-wrap:wrap;gap:8px;padding:10px 20px;display:flex}.service-filter-bar button{color:#52675d;background:#fff;border:1px solid #d7e1dc;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}.service-filter-bar button.active{color:#175c3b;background:#e5f4eb;border-color:#1f7a50}.service-summary-row.expanded{background:#f3f9f5}.service-statuses{flex-wrap:wrap;gap:6px;display:flex}.service-status{border-radius:999px;align-items:center;min-height:28px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.service-status.unnotified{color:#805f00;background:#fff4d6}.service-status.notified,.service-status.valid{color:#21643f;background:#e5f4eb}.service-status.under-sixty{color:#7a5700;background:#fff0c2}.service-status.expiring{color:#9a4512;background:#ffe4cf}.service-status.overdue{color:#a13c34;font-variant-numeric:tabular-nums;background:#ffe2df;justify-content:center;min-width:42px}.service-detail-row td{background:#fbfdfc;padding:0}.service-detail-grid{white-space:normal;background:#e4ece7;grid-template-columns:repeat(3,minmax(180px,1fr));gap:1px;padding:1px;display:grid}.service-detail-grid>div{background:#fbfdfc;gap:6px;min-height:76px;padding:14px 18px;display:grid}.service-detail-grid span{color:#718078;font-size:12px}.service-detail-grid strong{overflow-wrap:anywhere;color:#15231c}@media (width<=800px){.service-detail-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}}.detail-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.detail-summary>div{background:#f5f8f6;border-radius:11px;gap:7px;padding:15px;display:grid}.detail-summary span{color:#718078;font-size:12px}.detail-table{margin-bottom:20px}@media (width<=700px){.detail-summary{grid-template-columns:1fr 1fr}}:root{color:#111418;background:#fff}body{background:#fff}.app-shell{min-height:100vh;padding:16px;display:block}.app-shell>aside{z-index:15;color:#111418;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border:1px solid #dfe3e6;border-radius:20px 20px 0 0;grid-template-columns:260px minmax(0,1fr) 210px;align-items:center;width:100%;height:72px;padding:0 22px;display:grid;position:sticky;top:0}.app-shell>aside .brand-row{gap:11px}.app-shell>aside .logo{width:52px;height:32px;box-shadow:none;border:0;flex-basis:52px;padding:3px 5px}.app-shell>aside .brand-row:after{content:"AIO Vina";color:#67717b;margin:34px 0 0 63px;font-size:10px;font-weight:500;position:absolute}.app-shell>aside nav{scrollbar-width:none;align-items:center;gap:3px;min-width:0;margin:0;display:flex;overflow:visible}.app-shell>aside nav::-webkit-scrollbar{display:none}.app-shell>aside nav button{color:#66707b;white-space:nowrap;border-radius:10px;flex:none;padding:11px 13px;font-size:12px}.app-shell>aside nav button:hover,.app-shell>aside nav button.active{color:#15181c;background:#fff2c4}.app-shell>aside .nav-group{flex:none;position:relative}.app-shell>aside .nav-group-trigger{align-items:center;gap:6px;display:flex}.app-shell>aside .nav-group-trigger span{color:#9299a1;margin-top:-2px;font-size:12px;transition:transform .18s}.app-shell>aside .nav-group:hover .nav-group-trigger span,.app-shell>aside .nav-group:focus-within .nav-group-trigger span{transform:rotate(180deg)}.app-shell>aside .nav-menu{z-index:30;opacity:0;visibility:hidden;background:#fff;border:1px solid #dfe3e6;border-radius:12px;min-width:205px;padding:7px;transition:opacity .16s,transform .16s,visibility .16s;display:grid;position:absolute;top:100%;left:0;transform:translateY(-5px);box-shadow:0 14px 38px #11141824}.app-shell>aside .nav-group:hover .nav-menu,.app-shell>aside .nav-group:focus-within .nav-menu{opacity:1;visibility:visible;transform:translateY(0)}.app-shell>aside .nav-menu button{text-align:left;width:100%;padding:10px 11px}.app-shell>aside .nav-menu button.active{background:#fff2c4;font-weight:650}.app-shell>aside .profile{text-align:right;border:0;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;min-width:0;margin:0;padding:0;display:grid}.app-shell>aside .profile strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.app-shell>aside .profile small{color:#67717b;font-size:10px}.app-shell>aside .profile button{color:#0000;background:#111418;border:0;border-radius:50%;grid-area:1/2/span 2;width:38px;height:38px;margin:0;padding:0;overflow:hidden}.app-shell>aside .profile button:before{content:"↪";color:#fff;place-items:center;width:100%;height:100%;font-size:16px;display:grid}.workspace{background:#f4f5f6;border:1px solid #dfe3e6;border-top:0;border-radius:0 0 20px 20px;min-width:0;min-height:calc(100vh - 104px);padding:28px 22px 24px}.workspace>header{align-items:flex-start;margin-bottom:4px}.workspace h1{letter-spacing:-.03em;margin:7px 0 0;font-size:30px;font-weight:500}.workspace .eyebrow{color:#8a6e00;letter-spacing:.12em;font-size:10px;font-weight:600}.updated{color:#707982;margin:0 0 22px}.header-actions{padding-top:0}.status{color:#007a57;background:#fff;border:1px solid #dfe3e6;border-radius:10px;padding:11px 13px}.refresh{color:#fff;background:#111418;border-color:#111418;border-radius:10px;padding:11px 15px;font-weight:700}.overview-dashboard{gap:12px;display:grid}.overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.overview-metric{background:#fff;border:1px solid #dfe3e6;border-radius:14px;min-height:132px;padding:16px;display:grid}.overview-metric-head,.overview-metric-foot{justify-content:space-between;align-items:center;gap:14px;display:flex}.overview-metric-head span{color:#66707b;font-size:12px}.overview-metric-head i{color:#69727c;background:#f5f6f6;border-radius:9px;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.overview-metric>strong{letter-spacing:-.03em;align-self:center;font-size:26px;font-weight:500}.overview-metric-foot small{color:#7b838b;font-size:10px}.overview-metric-foot b{color:#00835e;font-size:10px;font-weight:500}.overview-metric.accent{color:#fff;background:#17191c;border-color:#17191c}.overview-metric.accent .overview-metric-head span,.overview-metric.accent .overview-metric-foot small{color:#c8ccd0}.overview-metric.accent .overview-metric-head i{color:#f5bb00;background:#2b2e31}.overview-metric.accent .overview-metric-foot b{color:#fff}.overview-bottom{grid-template-columns:minmax(0,2.2fr) minmax(300px,1fr);gap:12px;display:grid}.service-health,.attention-card{background:#fff;border:1px solid #dfe3e6;border-radius:14px;padding:18px}.service-health>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.service-health h2,.attention-card h2{margin:0;font-size:17px;font-weight:500}.service-health p,.attention-card>p{color:#6d7680;margin:7px 0 0;font-size:10px}.service-health>header>span{color:#00835e;border:1px solid #dfe3e6;border-radius:10px;padding:10px 12px;font-size:11px}.service-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.service-totals>div{background:#f5f5f4;border-radius:10px;gap:8px;padding:13px;display:grid}.service-totals small{color:#66707b;font-size:10px}.service-totals strong{font-size:21px;font-weight:500}.service-totals .expired strong{color:#d1433c}.service-totals .soon strong{color:#e6a500}.service-totals .month strong{color:#2978b9}.service-bars{gap:14px;margin-top:20px;display:grid}.service-bar{grid-template-columns:88px 1fr 34px;align-items:center;gap:12px;font-size:10px;display:grid}.service-bar>div{background:#e2e4e6;border-radius:999px;height:7px;overflow:hidden}.service-bar i{border-radius:inherit;min-width:4px;height:100%;display:block}.service-bar i.valid{background:#f2b600}.service-bar i.soon{background:#377fb8}.service-bar i.expired{background:#ce4842}.service-bar b{text-align:right;font-size:10px;font-weight:500}.attention-list{margin-top:18px;display:grid}.attention-list>div{border-bottom:1px solid #e2e4e6;grid-template-columns:8px 1fr auto;align-items:center;gap:12px;padding:14px 0;display:grid}.attention-list>div:last-child{border-bottom:0}.attention-list i{border-radius:50%;width:8px;height:8px}.attention-list i.expired{background:#cf4842}.attention-list i.soon{background:#eead00}.attention-list i.month{background:#347eb7}.attention-list span{gap:6px;display:grid}.attention-list strong{font-size:11px;font-weight:600}.attention-list small{color:#6f7881;font-size:9px}.attention-list b{font-size:14px;font-weight:500}@media (width<=1100px){.app-shell>aside{grid-template-columns:210px minmax(0,1fr) 180px}.overview-bottom{grid-template-columns:1fr}}@media (width<=800px){.app-shell{padding:0}.app-shell>aside{border-radius:0;grid-template-columns:1fr auto;height:auto;padding:14px 16px;position:static}.app-shell>aside nav{grid-area:2/1/auto/-1;margin-top:12px}.app-shell>aside .profile{grid-area:1/2}.workspace{border-radius:0;padding:24px 16px}.overview-metrics,.service-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.workspace>header{flex-direction:column}.header-actions{justify-content:space-between;width:100%}.overview-metrics{grid-template-columns:1fr}.service-health>header{flex-direction:column}.service-totals{grid-template-columns:1fr 1fr}.service-bar{grid-template-columns:72px 1fr 30px;gap:8px}}:root{color:#111;--aio-black:#111;--aio-white:#fff;--aio-yellow:#f4c400;--aio-yellow-soft:#fff3bd;background:#fff;font-family:Be Vietnam Pro,sans-serif}button,input,select,textarea{font-family:inherit}.login{background:radial-gradient(circle at 18% 12%,#f4c400 0,#b89400 12%,#0000 34%),#111}.card button,.primary{background:var(--aio-yellow);color:var(--aio-black)}input:focus,select:focus,textarea:focus{border-color:var(--aio-yellow);box-shadow:0 0 0 3px #f4c40038}.app-shell>aside nav button:hover,.app-shell>aside nav button.active,.app-shell>aside .nav-menu button.active{background:var(--aio-yellow-soft);color:var(--aio-black)}.workspace .eyebrow,.overview-metric-foot b,.service-health>header>span{color:#8a6e00}.status{color:#6e5900;background:#fff9df;border-color:#ead26a}.refresh,.app-shell>aside .profile button{border-color:var(--aio-black);background:var(--aio-black);color:var(--aio-white)}@media (width<=800px){.app-shell{padding:0}.app-shell>aside{border-radius:0;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:0;padding:12px 14px 10px;position:static}.app-shell>aside .brand-row{min-width:0}.app-shell>aside .brand-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell>aside nav{flex-wrap:wrap;grid-area:2/1/auto/-1;align-items:stretch;gap:5px;width:100%;margin-top:11px;display:flex;overflow:visible}.app-shell>aside nav>button,.app-shell>aside .nav-group{flex:120px;min-width:0}.app-shell>aside nav>button,.app-shell>aside .nav-group-trigger{text-align:center;justify-content:center;width:100%}.app-shell>aside .nav-menu{width:100%;min-width:0;left:0;right:0}.app-shell>aside .profile{border-top:0;grid-area:1/2;margin-top:0;padding-top:0}.app-shell>aside .profile small{display:none}.app-shell>aside .profile button{margin-top:4px;padding:7px 9px;font-size:11px}.workspace{padding:20px 12px 32px}.workspace>header{align-items:flex-start;gap:14px}.workspace h1{font-size:26px;line-height:1.2}.header-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.header-actions .status{order:2;font-size:11px}.header-actions .refresh{order:3}.header-actions .primary{min-height:40px}.table-tools{flex-direction:column;align-items:stretch;padding:12px}.table-tools input{width:100%}.table-wrap{max-width:100%;overflow-x:auto}table{min-width:680px}.report-toolbar{align-items:stretch;gap:10px}.period-tabs{flex-wrap:nowrap;width:100%;overflow-x:auto}.period-tabs button{flex:none;min-height:42px}.period-fields{grid-template-columns:1fr 1fr;width:100%;display:grid}.period-fields label{min-width:0}.period-fields .primary{grid-column:1/-1;width:100%}.report-cards,.report-grid,.report-grid.report-tables{grid-template-columns:1fr;gap:12px}.report-cards article{padding:15px}.report-cards strong{font-size:20px}.panel>header{padding:14px}.report-line{padding:11px 14px}.modal-backdrop{padding:10px}.modal{border-radius:14px;max-height:calc(100vh - 20px);padding:18px}.scanner-manual{flex-direction:column;align-items:stretch}.scanner-manual .primary{width:100%}.scanner-frame{min-height:190px}}@media (width<=420px){.app-shell>aside nav>button,.app-shell>aside .nav-group{flex-basis:105px}.app-shell>aside nav button{padding:10px 7px;font-size:11px}.period-fields{grid-template-columns:1fr}.period-fields .primary{grid-column:auto}}#root *{font-weight:400!important}#root :is(h1,h2),#root :is(h1,h2) *{font-weight:700!important}.overview-metric.accent{border-color:var(--aio-black);background:var(--aio-black)}.overview-metric.accent .overview-metric-head i,.service-bar i.valid,.progress>i{background:var(--aio-yellow)}.user-permissions{border-top:1px solid #dbe4df;margin:22px 0;padding-top:18px}.permission-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.permission-heading h2{margin:0;font-size:19px}.permission-heading span,.permission-help{color:#64716b;font-size:13px;font-weight:400}.permission-help{margin:10px 0;line-height:1.6}.permission-toolbar{gap:10px;margin:14px 0;display:flex}.permission-toolbar input{flex:1;min-width:0}.permission-toolbar button{white-space:nowrap;font-size:13px}.permission-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.permission-groups fieldset{border:1px solid #dbe4df;border-radius:12px;min-width:0;margin:0;padding:12px}.permission-groups legend{padding:0 6px;font-size:14px;font-weight:400}.user-permissions label{cursor:pointer;align-items:flex-start;gap:9px;margin:0;padding:7px 2px;font-size:13px;font-weight:400;line-height:1.5;display:flex}.user-permissions input[type=checkbox]{accent-color:#c99f00;flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:1px 0 0;padding:0}.permission-group-toggle{color:#5d6c64;border-bottom:1px solid #edf1ee;margin-bottom:4px!important}.permission-groups fieldset:disabled label{cursor:default}@media (width<=640px){.permission-groups{grid-template-columns:1fr}.permission-toolbar{flex-direction:column}.permission-toolbar button{width:100%}}
