:root{font-family:"Segoe UI",Arial,sans-serif;color:#172b3a;background:#f3f5f7;font-synthesis:none;--navy:#102b40;--blue:#147cc0;--cyan:#1daada;--muted:#627685;--line:#dce3e9;--green:#188263;--red:#b54145}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button,a{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--blue)}button{border:1px solid #cad7e0;border-radius:8px;background:white;padding:10px 17px;font-weight:600;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px}button:hover{background:#edf4fa}button.primary,.button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#086aa7}button.danger{color:var(--red)}button.quiet{background:transparent;border-color:transparent;padding:8px}button.small{padding:7px 12px;min-height:34px;font-size:13px}.button{text-decoration:none;border-radius:8px;padding:11px 17px;display:inline-flex;align-items:center;gap:8px;font-weight:600}svg{flex-shrink:0}input,select,textarea{width:100%;padding:11px 12px;color:#172b3a;border:1px solid #bdcbd6;border-radius:7px;background:white;min-height:43px}input:focus,select:focus,textarea:focus{outline:2px solid #76bfe9;outline-offset:1px}label{display:block;font-size:13px;font-weight:650;margin:0 0 6px}small,.muted{color:var(--muted)}small{font-size:12px}.loading{padding:80px;text-align:center}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-story{background:var(--navy);color:white;padding:58px 10%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand{display:flex;align-items:center;gap:18px;font-size:24px;font-weight:750}.login-brand img{width:52px;height:60px;object-fit:contain}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700}.login-story h1{font-size:clamp(36px,4vw,60px);line-height:1.12;letter-spacing:-2px;max-width:600px;margin:25px 0}.login-story h1 em{font-style:normal;color:#63c9ec}.login-story p{color:#b5ccdb;font-size:17px;line-height:1.7;max-width:440px}.login-bottom{font-size:12px;color:#8eafc4;margin-top:50px}.login-form{display:flex;align-items:center;justify-content:center;padding:50px 28px;background:#fff}.login-form form{width:100%;max-width:370px}.login-form h2{font-size:30px;margin:12px 0;letter-spacing:-.8px}.login-form p{line-height:1.6;color:var(--muted);margin-bottom:34px}.login-form .field{margin-bottom:22px}.login-form button{width:100%;margin-top:8px}.login-detail{display:flex;gap:14px;align-items:center;margin-top:35px;padding-top:22px;border-top:1px solid #dfebf2;color:var(--muted);font-size:12px;line-height:1.6}.form-error{color:var(--red);font-size:13px;min-height:20px}.shell{min-height:100vh;display:grid;grid-template-columns:226px minmax(0,1fr)}.sidebar{background:var(--navy);color:white;padding:30px 16px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 15px 27px;border-bottom:1px solid #29465b}.brand img{width:40px;height:48px;object-fit:contain}.brand strong{display:block;font-size:21px;letter-spacing:-.5px}.brand span{font-size:10px;letter-spacing:1.3px;color:#8fb6cf}.sidebar .eyebrow{color:#8aaec5;padding:30px 15px 10px;font-size:9px}.sidebar nav{display:flex;flex-direction:column;gap:7px}.sidebar nav button{justify-content:flex-start;border:0;background:transparent;color:#bdd0de;font-size:13px;padding:13px 15px;min-height:45px;font-weight:500}.sidebar nav button:hover{background:#1b3e57;color:white}.sidebar nav button.active{background:#205273;color:#fff;border-left:3px solid #63c9ec;padding-left:12px}.side-foot{margin-top:auto;padding:20px 14px 0;border-top:1px solid #29465b}.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#d7eaf5;color:#224a65;font-weight:750;font-size:12px}.identity{display:flex;align-items:center;gap:10px}.identity strong{display:block;font-size:12px}.identity small{font-size:10px;color:#8fb0c5}.side-foot button{color:#9ab9cc;font-size:11px;padding:12px 0 0}.main{min-width:0}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 40px;border-bottom:1px solid var(--line);background:white;gap:16px}.topbar strong{font-size:15px;display:block}.topbar small{display:block;margin-top:4px}.topbar .select{max-width:220px}.topbar select{font-size:12px;min-height:35px;padding:7px 32px 7px 10px}.workspace{padding:30px 40px 42px;max-width:1580px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.heading h1{font-size:29px;letter-spacing:-1px;margin:0 0 7px}.heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.period{display:flex;align-items:center;gap:10px}.period input{width:160px;font-size:13px}.period select{width:130px;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:24px;padding:25px 0}.metric{padding:0 24px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:28px;letter-spacing:-1px;margin:12px 0 7px;white-space:nowrap}.metric small{font-size:11px}.metric.feature strong{color:#087db1}.columns{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:23px}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:24px}.panel-head{padding:20px 23px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #e7edf2}.panel-head h2{font-size:15px;margin:0}.panel-head small{display:block;margin-top:5px}.panel-body{padding:22px}.chart{width:100%;height:210px;display:block}.chart .gridline{stroke:#e7edf2;stroke-width:1}.chart .bar{fill:#168abe}.chart .bar:hover{fill:#43b4d8}.chart text{font-family:"Segoe UI",sans-serif;font-size:10px;fill:#6d8292}.chart-caption{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);padding:0 22px 19px}.legend{width:8px;height:8px;border-radius:2px;background:#168abe}.sync-row{padding:19px 21px;border-bottom:1px solid #e7edf2}.sync-row:last-child{border:0}.sync-row strong{display:block;font-size:13px;margin-bottom:8px}.sync-row small{display:block;margin-top:9px;line-height:1.5}.pill{display:inline-flex;align-items:center;gap:5px;background:#edf3f7;color:#4c677b;font-size:10px;line-height:1.4;border-radius:20px;padding:5px 9px;font-weight:650;white-space:nowrap}.pill.ok{background:#e7f4ef;color:#147451}.pill.wait{background:#fff4da;color:#93600a}.pill.error{background:#fce9e9;color:#ad333b}.dot{height:6px;width:6px;border-radius:50%;background:currentColor}.note{font-size:12px;line-height:1.7;color:var(--muted);padding:18px 20px;background:#edf4f8;border-radius:9px}.note.warn{background:#fff4dc;color:#876219}.note.error{background:#fae9e9;color:#a4353b}.toolbar{padding:16px 21px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);flex-wrap:wrap}.toolbar .search{max-width:330px}.toolbar select{max-width:220px}.search{position:relative;width:100%}.search input{padding-left:37px;font-size:12px;background:#f7f9fb}.search svg{position:absolute;left:12px;top:13px;color:#6d8394}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:10px;letter-spacing:.6px;text-transform:uppercase;font-weight:700;color:#6c8293;background:#f8fafb;padding:13px 22px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:15px 22px;border-bottom:1px solid #edf1f5}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfd}td strong{font-size:12px;display:block}td small{font-size:10px;display:block;margin-top:4px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.row-action{border:0;background:transparent;min-height:32px;padding:6px;color:#426982}.tabs{display:flex;gap:24px;padding:0 23px;border-bottom:1px solid var(--line);overflow:auto}.tabs button{border:0;border-radius:0;padding:15px 0;font-size:12px;white-space:nowrap;background:transparent;color:var(--muted);border-bottom:2px solid transparent}.tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.empty{text-align:center;padding:55px 22px;color:var(--muted);line-height:1.8}.empty strong{display:block;color:var(--navy);font-size:17px;margin-bottom:8px}.footer-note{font-size:10px;color:#8293a0;margin-top:22px;line-height:1.6}.stock-name{display:flex;align-items:center;gap:13px}.product-symbol{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#eaf3f8;color:#2476a6;flex-shrink:0}.receipt-settings{max-width:660px;padding:25px}.receipt-settings .field{margin-bottom:18px}.device-card{padding:22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.device-card:last-child{border:0}.device-card h3{margin:0 0 10px;font-size:15px}.device-card p{font-size:12px;color:var(--muted);margin:7px 0;line-height:1.6}.badge-count{font-size:10px;color:var(--muted);padding-left:10px}dialog{width:min(650px,calc(100vw - 30px));padding:0;border:0;border-radius:14px;box-shadow:0 24px 100px #0b213b42;max-height:90vh;color:var(--navy)}dialog::backdrop{background:#10283e88;backdrop-filter:blur(3px)}.modal-head{padding:23px 27px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{font-size:20px;margin:0}.modal-body{padding:25px 27px;max-height:70vh;overflow:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 27px;border-top:1px solid var(--line);background:#f8fafb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field.full{grid-column:1/-1}.field .help{font-size:11px;line-height:1.6;color:var(--muted);margin-top:7px}.icon-choices{display:flex;gap:7px;flex-wrap:wrap}.icon-choices button{width:56px;min-height:47px;padding:8px}.icon-choices button.active{background:#d9eef9;border-color:#309bcc}.modal-body pre{white-space:pre-wrap;font-size:12px;line-height:1.7}.pair-code{font-size:32px;letter-spacing:5px;font-weight:750;padding:25px 0;text-align:center}.url{overflow-wrap:anywhere;background:#edf3f7;padding:12px;border-radius:8px;font-size:13px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#123b51;color:white;border-radius:9px;padding:14px 22px;box-shadow:0 8px 32px #123b5130;font-size:13px;z-index:10;display:none;max-width:90vw}#notice.visible{display:block}#notice.error{background:#9f303a}.mobile-menu{display:none}.warning-bar{margin:0 0 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.warning-bar p{margin:0}.subhead{font-size:12px;margin:22px 0 12px;color:var(--muted)}@media(min-width:1550px){.workspace{padding-top:38px}.columns{grid-template-columns:minmax(0,1fr) 330px}.chart{height:250px}}@media(max-width:1100px){.workspace{padding:25px}.topbar{padding:0 25px}.columns{grid-template-columns:1fr}.aside-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px}.metric{padding:0 17px}.metric strong{font-size:24px}.shell{grid-template-columns:200px minmax(0,1fr)}.heading{align-items:flex-start}.period{flex-wrap:wrap;justify-content:flex-end}.period input{width:145px}}@media(max-width:760px){.shell{display:block}.sidebar{display:none;position:fixed;width:235px;z-index:5}.shell.menu-open .sidebar{display:flex;box-shadow:30px 0 100px #102b4060}.mobile-menu{display:inline-flex;padding:5px;min-height:30px}.topbar{height:73px;padding:0 18px}.topbar .company-label{flex:1}.topbar .company-label small{display:none}.topbar select{max-width:140px}.workspace{padding:24px 16px}.heading{display:block}.heading h1{font-size:25px}.heading .actions,.period{margin-top:18px;justify-content:flex-start}.metrics{grid-template-columns:1fr 1fr;padding:0}.metric{padding:20px}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric strong{font-size:24px}.columns,.aside-panels{display:block}.panel-head{padding:18px}.toolbar{padding:14px}.tabs{gap:20px;padding:0 18px}th,td{padding:13px 16px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-body{padding:20px}.device-card{display:block}.device-card .actions{margin-top:17px}.login{display:block}.login-story{padding:28px}.login-story h1{font-size:35px;letter-spacing:-1px;margin-bottom:10px}.login-story p,.login-bottom{display:none}.login-story .eyebrow{display:none}.login-brand{font-size:20px}.login-brand img{width:35px;height:40px}.login-form{padding:34px 24px}.warning-bar{align-items:flex-start;flex-direction:column}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.modal-body .metrics{grid-template-columns:1fr 1fr;padding:0}.modal-body .metric{padding:14px}.modal-body .metric strong{font-size:21px}.modal-body .metric:nth-child(2){border:0}

.chart .bar.negative{fill:#c35962}

/* Supplier-only administration. Customer portal navigation keeps its normal layout. */
.admin-label{display:flex;align-items:center;gap:14px;color:#28718f;font-size:11px;font-weight:700;letter-spacing:1.5px;margin-bottom:20px}.admin-label span{font-size:10px;background:#e7f0f5;border:1px solid #c6dce7;border-radius:20px;padding:4px 10px;letter-spacing:.4px}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:white;border:1px solid #d5e2eb;border-radius:10px;margin-bottom:28px}.admin-metrics>div{padding:22px;border-right:1px solid #e0e8ed;display:flex;flex-direction:column;gap:10px}.admin-metrics>div:last-child{border-right:0}.admin-metrics small{font-size:12px;color:#617c8c}.admin-metrics strong{font-size:30px;color:#183e55}.admin-search{display:flex;align-items:center;gap:18px;margin:20px 0}.admin-search label{font-size:13px;color:#4e6b7e}.admin-search input{max-width:400px;flex:1;min-width:0}.admin-hide-device{display:none!important}.admin-order-modal{width:min(960px,95vw)!important;max-width:960px!important}.admin-order-line{display:grid;grid-template-columns:2fr .6fr 1.2fr 1fr auto;gap:12px;align-items:end;padding:15px 0;border-bottom:1px solid #dce5eb}.admin-order-line .field{min-width:0}.admin-order-line input,.admin-order-line select{width:100%;min-width:0}.admin-order-line label{font-size:11px}.admin-audit-json{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;padding:16px;background:#f1f6f8;border:1px solid #dce5eb;border-radius:8px}.form-grid .full{grid-column:1/-1}textarea{font:inherit;color:inherit;border:1px solid #b9cbd8;border-radius:5px;padding:12px;width:100%;resize:vertical}.sidebar nav [data-view^="admin-"]{border-left:2px solid #5aa1c3}.sidebar nav [data-view="admin-customers"]{margin-top:20px}.sidebar{overflow-y:auto}.admin-search+section td small{display:block;color:#617e90;font-size:11px;margin-top:5px}.admin-search+section .actions{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:1050px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-metrics>div{border-bottom:1px solid #e0e8ed}.admin-order-line{grid-template-columns:2fr 1fr}.admin-order-line>button{grid-column:1/-1;justify-self:end}}
@media(max-width:600px){.admin-search{display:block}.admin-search label{display:block;margin-bottom:8px}.admin-search input{width:100%;max-width:none}.admin-metrics>div{padding:16px}.admin-metrics strong{font-size:25px}.admin-label{flex-wrap:wrap;gap:8px}.admin-order-line{grid-template-columns:1fr 1fr}.admin-order-line>.field:first-child{grid-column:1/-1}}

.field[hidden]{display:none!important}
.web-order-head{padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center}.web-order-head h3{margin:0 0 6px}.web-order-head p{font-size:12px;color:var(--muted);margin:0}.web-orders-title{padding:20px;margin:0;border-top:1px solid #dde5ea}.web-request-details{margin:0}.web-request-details>div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #e0e7eb}.web-request-details dt{font-size:12px;color:#627986}.web-request-details dd{font-size:13px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:600px){.web-order-head{align-items:flex-start;flex-direction:column}.web-request-details>div{grid-template-columns:1fr;gap:4px}}
