:root{--bg:#f5f7f4;--ink:#142c30;--muted:#66767a;--line:#dce5df;--card:#fff;--accent:#caff67;--deep:#102c30;--teal:#117e70;--amber:#b8621c;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
.snapshot-link{display:inline-block;margin-top:9px;color:var(--accent);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.snapshot-link[hidden]{display:none}
.supplier-section,.audit-section{margin:26px 0}.supplier-section h2,.audit-section h2{font-size:24px;letter-spacing:-.03em;margin:7px 0 15px}.supplier-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.supplier-card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:20px 22px}.supplier-card-name{font-size:15px;font-weight:800}.supplier-card-stats{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:7px;margin:16px 0;color:var(--muted);font-size:11px}.supplier-card-stats strong{font-size:25px;color:var(--ink)}.supplier-card-actions{display:flex;gap:10px;align-items:center}.supplier-card-actions button,.supplier-card-actions a{font-size:11px;font-weight:700;color:var(--teal);border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px}.supplier-card-actions .disabled{opacity:.4;pointer-events:none}.audit-list{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 20px;color:var(--muted);font-size:12px}.audit-item{display:grid;grid-template-columns:95px 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.audit-item:last-child{border-bottom:0}.audit-item time{font-size:10px;color:var(--muted)}.audit-item strong{color:var(--ink);margin-right:8px}.audit-item span{font-size:11px}.audit-item p{margin:5px 0 0;color:var(--ink)}@media(max-width:850px){.supplier-cards{grid-template-columns:1fr}}@media(max-width:540px){.supplier-card-stats{grid-template-columns:auto 1fr}.audit-item{grid-template-columns:1fr;gap:3px}}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}.shell{max-width:1540px;margin:auto;padding:0 36px}.topbar{height:76px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe2dc}.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:800;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;background:var(--deep);color:var(--accent);width:34px;height:34px;border-radius:9px;font-size:19px}.brand-sub{color:#9aa9a7;font-weight:500}.topbar-note{font-size:13px;color:#73817c}.hero{background:var(--deep);border-radius:24px;color:#fff;margin-top:28px;min-height:290px;padding:46px 52px;display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:42px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:470px;height:470px;border:1px solid #31555a;border-radius:50%;right:110px;top:-300px;box-shadow:0 0 0 60px #15383b,0 0 0 61px #31555a;opacity:.62;pointer-events:none}.hero>div{position:relative;z-index:1}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.18em;font-weight:800;color:#a9bdb1}.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 0 4px #caff6722}.hero h1{font-size:clamp(34px,3.4vw,52px);line-height:1.08;letter-spacing:-.045em;margin:21px 0 18px;font-weight:720}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{max-width:650px;color:#b8c9c5;font-size:14px;line-height:1.65;margin:0}.snapshot{align-self:center;background:#fff1;border:1px solid #ffffff26;border-radius:17px;padding:23px 24px;backdrop-filter:blur(8px)}.snapshot-label{text-transform:uppercase;letter-spacing:.16em;font-weight:750;font-size:10px;color:#a5bcb6}.snapshot strong{display:block;font-size:34px;letter-spacing:-.04em;margin:8px 0 2px}.source-mode{font-size:12px;color:var(--accent)}.snapshot-line{display:block;height:1px;background:#ffffff29;margin:19px 0 15px}.snapshot-foot{font-size:11px;line-height:1.5;color:#bbcdc7}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0 28px}.stat{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:20px 22px;min-height:126px}.stat span,.stat small{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;margin:8px 0 3px;font-size:31px;letter-spacing:-.04em}.stat-attention strong{color:var(--amber)}.warnings{padding:16px 19px;margin-bottom:24px;border:1px solid #ead9be;background:#fffaf0;border-radius:13px;color:#875820;font-size:12px;line-height:1.6}.warnings strong{display:block;margin-bottom:4px}.warnings ul{margin:4px 0 0;padding-left:18px}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 7px 35px #173c2910}.panel-header{padding:28px 30px 20px;display:flex;justify-content:space-between;gap:24px}.section-kicker{color:var(--teal)}.panel h2{font-size:27px;letter-spacing:-.035em;margin:6px 0 5px}.panel-header p{font-size:12px;color:var(--muted);margin:0}.approved-box{display:grid;grid-template-columns:auto auto;column-gap:12px;align-items:center;color:var(--muted);font-size:12px}.approved-box strong{font-size:21px;color:var(--ink)}.approved-box .button{grid-column:1/3;margin-top:5px}.button{border-radius:9px;min-height:36px;padding:8px 15px;border:1px solid transparent;text-decoration:none;font-size:12px;font-weight:750;display:inline-flex;justify-content:center;align-items:center;gap:12px}.button-outline{border-color:#cdd9d4;background:white;color:var(--ink)}.button-outline:hover{background:#f3f8f3}.button-outline.disabled{opacity:.45;pointer-events:none}.button-primary{background:var(--accent);color:#183126}.button-primary:hover:not(:disabled){background:#b6f24a}.filters{display:flex;gap:15px;align-items:end;padding:18px 30px;background:#f9fbf9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filters label{font-size:11px;font-weight:700;color:#586d69;display:grid;gap:7px}.filters select,.filters input[type=search]{height:39px;min-width:175px;padding:0 12px;background:#fff;border:1px solid #d7e1db;border-radius:8px;color:var(--ink);outline:none}.filters select:focus,.filters input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #117e7017}.search-label{flex:1}.search-label input{width:100%}.filters .toggle{display:flex;align-items:center;gap:8px;align-self:center;white-space:nowrap;font-size:12px;color:var(--ink);padding-top:13px}.toggle input{accent-color:var(--teal)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:950px}th{text-align:left;background:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#82918d;padding:15px 16px;border-bottom:1px solid var(--line);white-space:nowrap}th small{font-size:9px;letter-spacing:0;text-transform:none;font-weight:500}.check-col{width:46px}td{padding:15px 16px;border-bottom:1px solid #edf1ed;font-size:12px;vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr:hover{background:#fbfdfb}.item-name{font-weight:700;max-width:365px;line-height:1.35}.item-code{display:block;font-size:10px;color:#85948f;margin-top:4px;font-weight:500}.supplier-tag{display:inline-block;border-radius:5px;background:#eaf4ef;color:#306755;font-size:10px;font-weight:800;padding:5px 7px;white-space:nowrap}.qty-input{width:94px;height:36px;border:1px solid #bad3c5;border-radius:8px;padding:0 9px;font-weight:800;background:#f9fff6;color:#1e5546}.qty-input:focus{outline:2px solid #a4e574}.badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:750;white-space:nowrap}.badge-high{background:#fff0e3;color:#ab561b}.badge-normal{background:#ecf6f1;color:#398267}.badge-missing{background:#f2f3f2;color:#7b8985}.reason{color:#5e716b;font-size:11px;line-height:1.5;margin-top:8px;max-width:570px}.flag{color:#a26320;font-size:10px;display:block;margin-top:4px}.empty{text-align:center;padding:48px;color:var(--muted)}.panel-footer{padding:14px 30px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}.pager{display:flex;gap:8px}.pager button{width:30px;height:30px;background:white;border:1px solid var(--line);border-radius:7px}.action-bar{position:sticky;bottom:18px;z-index:5;background:var(--deep);color:white;margin:20px 0 22px;border-radius:15px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 28px #0d272a26}.action-bar div{display:grid;gap:4px}.action-bar span{font-size:13px;font-weight:750}.action-bar small{font-size:10px;color:#9cb4ad}.action-bar .button span{font-size:16px}.notice{position:fixed;right:25px;bottom:100px;padding:14px 18px;background:#173f39;color:white;border-radius:10px;box-shadow:0 10px 24px #0002;z-index:10;font-size:12px}.notice.error{background:#934929}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:26px 0 35px;color:#8b9994;font-size:11px}@media(max-width:850px){.shell{padding:0 16px}.hero{grid-template-columns:1fr;padding:30px 26px;gap:22px}.snapshot{max-width:350px}.stats{grid-template-columns:repeat(2,1fr)}.filters{flex-wrap:wrap;padding:16px}.filters label{flex:1}.filters .toggle{flex:none}.panel-header{padding:22px 18px}.action-bar{bottom:10px}footer{gap:12px;flex-direction:column}}@media(max-width:540px){.topbar-note,.brand-sub{display:none}.hero h1{font-size:35px}.stats{gap:8px}.stat{padding:14px;min-height:105px}.stat strong{font-size:25px}.stat span,.stat small{font-size:10px}.panel-header{display:block}.approved-box{display:flex;margin-top:20px;gap:10px}.approved-box .button{margin:0 0 0 auto}.filters select,.filters input[type=search]{min-width:0}.search-label{flex-basis:100%!important}.action-bar{align-items:stretch;gap:10px}.action-bar .button{min-width:150px}.action-bar small{display:none}}
.stock-entry{display:flex;gap:5px;align-items:center}.stock-input{width:88px;height:32px;border:1px solid #d3dfd8;border-radius:7px;padding:0 7px;font-size:11px}.save-stock{height:32px;border:1px solid #cbdcd0;background:#eff8ee;color:#276751;border-radius:7px;font-size:10px;font-weight:750;padding:0 7px}
[hidden]{display:none!important}
:root{--bg:#f4f7f9;--ink:#213b53;--muted:#6d8090;--line:#dce5eb;--accent:#f8c85b;--deep:#1d3d5b;--teal:#326d93;--amber:#b96525}
.topbar{border-bottom-color:#dce5eb}.topbar-actions{display:flex;align-items:center;gap:25px}.customer-brand{display:flex;align-items:center;gap:9px}.customer-label{font-size:11px;color:#8799a7}.customer-brand a{display:grid;gap:1px;text-decoration:none;color:#315a78;line-height:1}.customer-brand small{font-size:9px;letter-spacing:.08em}.customer-brand strong{font-size:14px;letter-spacing:-.035em}.settings{position:relative;z-index:20}.settings summary{list-style:none;cursor:pointer;border:1px solid #cfdce5;border-radius:9px;padding:9px 14px;font-size:12px;font-weight:750;background:#fff;color:#315a78}.settings summary::-webkit-details-marker{display:none}.settings summary:after{content:'⌄';margin-left:8px}.settings[open] summary{border-color:#326d93}.settings-menu{position:absolute;right:0;top:calc(100% + 7px);min-width:250px;background:#fff;border:1px solid #dce5eb;border-radius:12px;box-shadow:0 14px 36px #173d5b26;padding:16px}.settings-menu>span{display:block;font-size:11px;color:#6d8090;font-weight:700;margin-bottom:10px}.language-options{display:flex;gap:6px}.language-options button{border:1px solid #dce5eb;border-radius:7px;background:#fff;color:#315a78;padding:7px 9px;font-size:11px}.language-options button.active{background:#315a78;border-color:#315a78;color:#fff}
.hero:after{border-color:#476786;box-shadow:0 0 0 60px #264a69,0 0 0 61px #476786}.pulse{box-shadow:0 0 0 4px #f8c85b33}.button-primary:hover:not(:disabled){background:#efb944}.supplier-tag{background:#e9f1f6;color:#315f7c}.qty-input{border-color:#b9cad9;background:#f7fbff;color:#235376}.qty-input:focus{outline-color:#82b5d6}.stock-entry .save-stock{border-color:#bfd3df;background:#edf5fa;color:#285d7e}.notice{background:#234d6d}
@media(max-width:700px){.customer-brand{display:none}.topbar-actions{gap:8px}.settings-menu{right:0}}
/* Shared navigation and dedicated pages. */
.brand{text-decoration:none;color:var(--ink)}
.site-header{background:var(--bg)}
.main-nav{display:flex;gap:6px;align-items:center;padding:11px 0 13px;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}
.main-nav a{display:inline-flex;align-items:center;min-height:38px;padding:8px 15px;border-radius:9px;text-decoration:none;font-size:12px;font-weight:750;color:var(--muted)}
.main-nav a:hover{background:#e9f1f6;color:var(--ink)}
.main-nav a[aria-current="page"]{background:var(--deep);color:#fff}
.page-heading{margin:36px 0 22px;max-width:800px}
.page-heading h1{font-size:clamp(30px,3vw,44px);letter-spacing:-.045em;margin:9px 0 9px;color:var(--ink)}
.page-heading p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.page-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 32px}
.page-links a{display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:140px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 22px;text-decoration:none;transition:transform .15s,border-color .15s}
.page-links a:hover{transform:translateY(-2px);border-color:#9ebace}
.page-links span{font-size:12px;color:var(--teal);font-weight:800}
.page-links strong{font-size:18px;line-height:1.3;letter-spacing:-.02em}
.settings-page{background:#fff;border:1px solid var(--line);border-radius:17px;padding:28px 30px;max-width:660px;min-height:250px;margin-bottom:40px}
.settings-page h2{font-size:18px;margin:0 0 18px}
.settings-page .language-options{gap:10px}
.settings-page .language-options button{font-size:14px;padding:11px 19px;border-radius:9px}
.settings-page p{font-size:12px;color:var(--muted);line-height:1.6;margin:24px 0 0}
.panel-caption{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--teal);align-self:center}
body[data-page="suppliers"] .supplier-section,body[data-page="audit"] .audit-section{margin:0 0 36px}
.audit-example-help{font-size:12px;line-height:1.55;color:var(--muted);margin:-4px 0 14px}.audit-sample-badge{display:inline-block;margin-left:10px;padding:3px 7px;border-radius:5px;background:#e9f1f6;color:#315f7c;font-size:10px!important;font-weight:800}
@media(max-width:850px){.page-links{grid-template-columns:1fr}.page-links a{min-height:100px;gap:10px}}
@media(max-width:540px){.main-nav{margin:0 -16px;padding:9px 16px 11px}.main-nav a{padding:8px 11px}.page-heading{margin-top:27px}.settings-page{padding:22px 18px}.topbar{height:68px}}
@media(max-width:540px){.main-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible;white-space:normal}.main-nav a{justify-content:center;text-align:center;font-size:11px;padding:8px 4px}}
.settings-divider{height:1px;background:var(--line);margin:26px 0}.settings-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.settings-fields label{display:grid;gap:8px;font-size:12px;font-weight:700;color:var(--muted)}.settings-fields select{width:100%;min-height:42px;border:1px solid #cfdce5;border-radius:9px;padding:0 12px;background:#fff;color:var(--ink)}.settings-check{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:13px;color:var(--ink)}.settings-check input{width:18px;height:18px;accent-color:var(--teal)}
@media(max-width:700px){.table-wrap{overflow:visible}.table-wrap table,.table-wrap tbody{display:block;width:100%;min-width:0}.table-wrap thead{display:none}.table-wrap tbody{padding:12px}.table-wrap tr[data-key]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;position:relative;box-shadow:0 4px 14px #173d5b0a}.table-wrap tr[data-key]:last-child{margin-bottom:0}.table-wrap tr[data-key] td{display:block;padding:0;border:0;min-width:0;font-size:14px}.table-wrap tr[data-key] td:first-child{position:absolute;right:16px;top:16px}.table-wrap tr[data-key] td:first-child input{width:22px;height:22px;accent-color:var(--teal)}.table-wrap tr[data-key] td:nth-child(2){grid-column:1/-1;padding-right:34px}.table-wrap tr[data-key] td:nth-child(3){grid-column:1/-1}.table-wrap tr[data-key] td[data-label]::before{content:attr(data-label);display:block;margin-bottom:5px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;font-weight:800;color:var(--muted)}.table-wrap .item-name{font-size:14px;max-width:none}.table-wrap .reason{font-size:11px;max-width:none}.table-wrap .supplier-tag{white-space:normal}.table-wrap .qty-input{max-width:100%;height:40px}.table-wrap .stock-entry{flex-wrap:wrap}.table-wrap .stock-input,.table-wrap .save-stock{height:40px}.table-wrap .empty{display:block;padding:32px 14px}.panel-footer{padding:14px 18px}.action-bar{display:grid;gap:12px;bottom:8px}.action-bar .button{width:100%;min-height:44px}.notice{left:16px;right:16px;bottom:78px}.settings-fields{grid-template-columns:1fr}}
.analytics-section{margin:0 0 28px}.analytics-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px}.analytics-heading h2{font-size:26px;letter-spacing:-.035em;margin:5px 0}.analytics-heading p,.analytics-note{font-size:12px;line-height:1.55;color:var(--muted);margin:0}.analytics-heading a{font-size:12px;font-weight:800;color:var(--teal);text-decoration:none;white-space:nowrap;padding-bottom:5px}.analytics-heading a:hover{text-decoration:underline}.analytics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.analytics-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px 22px;min-height:135px}.analytics-card span,.analytics-card small{display:block;font-size:11px;color:var(--muted);line-height:1.45}.analytics-card strong{display:block;font-size:31px;letter-spacing:-.04em;margin:9px 0 3px}.analytics-risk strong{color:var(--amber)}.analytics-note{margin:11px 2px 0}.risk-gap{display:block;font-size:10px;line-height:1.4;color:var(--amber);margin-top:5px;max-width:135px}
@media(max-width:850px){.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.analytics-heading{display:block}.analytics-heading a{display:inline-block;margin-top:9px}.analytics-grid{gap:8px}.analytics-card{padding:14px;min-height:122px}.analytics-card strong{font-size:25px}.analytics-card span,.analytics-card small{font-size:10px}}
