:root{--ink:#183229;--muted:#6b7b74;--line:#dfe9e3;--bg:#f4f7f2;--card:#fff;--primary:#174c3c;--primary2:#2f7d5b;--accent:#f59e42;--red:#b84040;--shadow:0 12px 30px rgba(26,67,51,.08)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#fbfcf8 0,var(--bg) 28rem);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}a{color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(115deg,#123c31,#174c3c 60%,#28674f);color:#fff;box-shadow:0 7px 24px rgba(23,76,60,.18)}.topbar-main{min-height:68px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:165px}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#ffd18c,var(--accent));color:#173d31;font-weight:900}.brand span:last-child{display:flex;flex-direction:column}.brand small{opacity:.78}.nav-links{border-top:1px solid rgba(255,255,255,.1);background:rgba(8,42,32,.24)}.nav-links-inner{min-height:46px;display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:thin}.nav-links a,.userbox a{padding:9px 10px;border-radius:8px;text-decoration:none;font-size:13px;white-space:nowrap}.nav-links a:hover,.nav-links a.active,.userbox a:hover{background:rgba(255,255,255,.14)}.nav-links a.active{box-shadow:inset 0 -2px 0 var(--accent)}.userbox{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px}.userbox>span{display:flex;flex-direction:column;align-items:flex-end;margin-right:4px}.userbox small{opacity:.72}.menu-toggle{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.25);border-radius:9px;padding:8px 10px;background:transparent;color:#fff;cursor:pointer}.menu-toggle span{display:block;width:20px;height:2px;margin:3px 0;background:#fff}.menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.page{padding:30px 0 48px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px}.page-head h1{margin:3px 0 2px;font-size:clamp(26px,4vw,40px)}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--primary2);font-weight:800}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.stat span{display:block;color:var(--muted);font-size:13px}.stat strong{display:block;font-size:28px;margin-top:8px}.stat small{color:var(--muted)}.accent-top{border-top:4px solid var(--accent)}.positive{color:#176b4e}.danger{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:10px 14px;background:var(--primary);color:#fff;text-decoration:none;cursor:pointer;font-weight:700}.btn:hover{background:#103d30}.btn.secondary{background:#edf5f0;color:var(--primary);border:1px solid #d2e4da}.btn.accent{background:var(--accent);color:#3a2a12}.btn.danger{background:var(--red)}.btn-block{width:100%}.actions{display:flex;gap:10px;flex-wrap:wrap}.table-wrap{overflow:auto}.table-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.table-head .section-title{margin-bottom:2px}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#607169}td.amount,th.amount{text-align:right}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf4ee;color:#236047;font-size:12px;font-weight:700}.badge.off{background:#f4e7e7;color:#8d3d3d}.badge.role-admin{background:#fff1dc;color:#79501c}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field-help{color:var(--muted);font-size:12px}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto}label{font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #cddbd3;background:#fff;border-radius:10px;padding:11px 12px;color:var(--ink)}input:disabled{background:#f1f4f2;color:#58665f}input:focus,select:focus,textarea:focus{outline:2px solid rgba(47,125,91,.15);border-color:var(--primary2)}textarea{min-height:90px;resize:vertical}.alert{padding:12px 14px;border-radius:10px;margin-bottom:18px;border:1px solid}.alert ul{margin:8px 0 0;padding-left:20px}.alert.success{background:#ecf8f1;border-color:#bfe4ce;color:#1b6547}.alert.error{background:#fff0f0;border-color:#ecc1c1;color:#8c3131}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.quick a{padding:18px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;font-weight:800}.quick a:hover{border-color:#b8d1c3;transform:translateY(-1px)}.quick small{display:block;color:var(--muted);font-weight:500;margin-top:5px}.login-shell{min-height:calc(100vh - 190px);display:grid;place-items:center}.login-card{width:min(440px,100%)}.login-card h1{margin:3px 0 6px}.line-items input,.line-items select{min-width:90px}.summary-box{background:#eff6f2;border:1px solid #d6e6dd;padding:15px;border-radius:12px}.kpi-list{display:grid;gap:10px}.kpi-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.kpi-row:last-child{border-bottom:0}.footer{padding:24px 0;color:var(--muted);font-size:13px}.section-title{margin:0 0 14px}.stock-low{color:var(--red);font-weight:700}@media(max-width:900px){.userbox>span{display:none}.col-3,.col-4,.col-6,.col-8{grid-column:span 12}.quick{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.topbar-main{min-height:64px}.userbox{display:none}.menu-toggle{display:block}.nav-links{display:none}.nav-links.open{display:block}.nav-links-inner{padding:8px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.nav-links a{padding:11px 12px}.nav-links a.active{box-shadow:inset 3px 0 0 var(--accent)}.container{width:min(100% - 20px,1180px)}.page{padding-top:20px}.page-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.quick{grid-template-columns:1fr}th{display:none}table.mobile-table,table.mobile-table tbody,table.mobile-table tr,table.mobile-table td{display:block;width:100%}table.mobile-table tr{padding:10px 0;border-bottom:1px solid var(--line)}table.mobile-table td{border:0;padding:5px 0}table.mobile-table td:before{content:attr(data-label);display:block;font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.mobile-table td.amount{text-align:left}.card{padding:16px}}@media(max-width:420px){.nav-links-inner{grid-template-columns:1fr}.brand{min-width:0}}
/* Restricted fresh-start screen */
.danger-zone{border-color:#ecc1c1;border-top:4px solid var(--red)}
.reset-summary{margin:18px 0;background:#fff7f7;border-color:#ecc1c1}
/* Installable mobile app prompt */
.pwa-install-card{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:12px;width:min(410px,calc(100% - 28px));padding:14px 42px 14px 14px;border:1px solid #cbded3;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(10,43,33,.22)}
.pwa-install-card[hidden]{display:none}
.pwa-install-card img{flex:0 0 54px;border-radius:13px}
.pwa-install-card strong,.pwa-install-card span{display:block}
.pwa-install-card span{margin-top:2px;color:var(--muted);font-size:13px;line-height:1.35}
.pwa-install-action{margin-top:9px;padding:8px 12px}
.pwa-install-close{position:absolute;top:5px;right:8px;border:0;background:transparent;color:#66756e;font-size:25px;line-height:1;cursor:pointer}
@media(max-width:720px){.pwa-install-card{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));left:14px;width:auto}}
@media(display-mode:standalone){body{padding-bottom:env(safe-area-inset-bottom)}.pwa-install-card{display:none!important}}

/* Distribution Manager logo in the top navigation */
.brand-mark{overflow:hidden;flex:0 0 40px;background:transparent;color:inherit}
.brand-mark img{display:block;width:100%;height:100%;object-fit:cover}

/* Product and developer credit */
.footer{text-align:center}
.footer a{color:var(--primary2);font-weight:800;text-decoration:none}
.footer a:hover,.footer a:focus{text-decoration:underline}
