@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#203e35;background:#f6f7f2;font-synthesis:none;--green:#174f42;--muted:#718078}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #ddad52;outline-offset:3px}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid #e5e9e1;padding:32px 20px;display:flex;flex-direction:column;gap:30px}.logo{font-family:Manrope,sans-serif;font-weight:800;display:flex;gap:12px;align-items:center;font-size:19px}.mark{display:grid;place-items:center;background:var(--green);color:#fff;width:44px;height:48px;border-radius:15px;font-size:24px}.logo small{display:block;font-size:10px;color:var(--muted);letter-spacing:2px;margin-top:4px}nav{display:grid;gap:7px}nav button{border:0;background:none;text-align:left;padding:15px;border-radius:10px;color:#6c7b73;font-weight:600}nav button.active{background:#e8f0e9;color:var(--green)}.side-note{margin-top:auto;padding:18px;background:#f7f8f2;border-radius:12px;font-size:13px;line-height:1.7}main{max-width:1340px;width:100%;padding:32px 42px;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #e1e6dd;padding-bottom:24px;margin-bottom:32px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:#78877d}.badge{background:#eef2e7;color:#556d3b;border:1px solid #dce5cb;border-radius:30px;font-size:12px;padding:8px 12px}.top-actions{display:flex;gap:10px;align-items:center}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:32px;letter-spacing:-1.3px;margin:8px 0}h2{font-size:18px;margin:0}p{color:var(--muted);line-height:1.6}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:16px}.btn{border:1px solid #dce3d8;background:#fff;color:var(--green);padding:12px 18px;border-radius:9px;font-weight:700;min-height:46px}.btn.primary{background:var(--green);color:white;border-color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.stat,.panel{background:#fff;border:1px solid #e2e7de;border-radius:15px;padding:22px}.stat .num{font-family:Manrope;font-size:30px;font-weight:800;display:block;margin:13px 0 8px}.stat small{color:var(--muted)}.stat:first-child{background:var(--green);color:white}.stat:first-child small{color:#c0d7cd}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.action{text-align:left;border:1px solid #e0e6db;border-radius:13px;background:white;padding:22px;min-height:135px;color:var(--green)}.action span{display:block;font-size:25px;margin-bottom:15px}.action strong{font-size:17px;display:block}.action small{color:var(--muted);display:block;margin-top:6px}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;color:#819085;text-transform:uppercase;letter-spacing:1px;font-size:10px;padding:14px 10px;border-bottom:1px solid #e5e9e1}td{padding:18px 10px;border-bottom:1px solid #eef0eb;font-size:14px}td small{display:block;color:var(--muted);margin-top:5px}.pill{padding:6px 10px;background:#edf2e8;border-radius:20px;color:#5c784b;font-size:12px}.stock-row{padding:17px 0;border-bottom:1px solid #edf0e8;display:flex;justify-content:space-between;gap:12px}.stock-row strong{font-size:23px}.notice{background:#f4f4e9;padding:14px;border-radius:9px;font-size:12px;color:#7b7e59;line-height:1.6;margin-top:18px}.empty{text-align:center;padding:40px 10px;color:var(--muted)}.foot{font-size:12px;color:#89968b;margin-top:25px}.login{max-width:460px;margin:8vh auto;background:#fff;padding:36px;border:1px solid #dfe6d9;border-radius:20px}.login .logo{margin-bottom:30px}label{display:block;font-size:14px;font-weight:600;margin:18px 0 7px}input,select{width:100%;padding:14px;border:1px solid #d5dfd1;border-radius:9px;background:#fff;color:#203e35;min-height:50px;font-size:17px}input[type=date]{font-size:14px;max-width:165px;padding:9px}dialog{border:0;border-radius:18px;padding:28px;width:min(460px,94vw);color:#203e35;max-height:90vh}dialog::backdrop{background:#102d2680;backdrop-filter:blur(3px)}.dialog-actions{display:flex;gap:12px;margin-top:24px}.dialog-actions button{flex:1}.error{color:#ad3e30;font-size:14px;line-height:1.5}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#174f42;color:white;padding:14px 24px;border-radius:12px;z-index:10;display:none}.list-actions{display:flex;gap:10px;flex-wrap:wrap}.ledger{font-size:13px}.mobile-label{display:none}@media(max-width:1000px){.shell{grid-template-columns:190px 1fr}main{padding:24px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.shell{display:block}aside{padding:16px;gap:14px;border-bottom:1px solid #e1e6dd}.logo{font-size:17px}.mark{width:35px;height:40px}nav{display:flex;overflow:auto;gap:4px}nav button{padding:11px;white-space:nowrap}.side-note{display:none}main{padding:20px 16px}.topbar{margin-bottom:20px;padding-bottom:16px;flex-wrap:wrap}.top-actions{width:100%;justify-content:space-between}.heading{align-items:flex-start}h1{font-size:27px}.stats{gap:10px}.stat{padding:17px}.stat .num{font-size:25px}.action{padding:19px;min-height:130px}.panel{padding:17px}.heading p{font-size:13px}.badge{font-size:10px}.btn{padding:11px 13px}.login{margin:25px 15px;padding:25px}.field .stats{display:none}.field .actions .action{min-height:155px}.field .action strong{font-size:20px}}
.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:15px 0 22px}.filters label{margin:0;min-width:125px;flex:1;font-size:12px}.filters input,.filters select{margin-top:7px;font-size:14px;min-height:44px;padding:10px}.filters input[type=date]{max-width:none}.edit-note{background:#f4f4e9;padding:12px;border-radius:8px;font-size:13px}.audit-change{white-space:normal;min-width:220px;max-width:450px;line-height:1.6}dialog .table-wrap{max-height:55vh}@media(max-width:650px){.filters label{min-width:calc(50% - 12px)}.filters .btn{flex:1}.stock-row strong{font-size:20px}}
.btn.danger{color:#a4362c;background:#fff4f1;border-color:#edc6bc}.btn.danger:hover{background:#ffe6df}

/* Comfortable, touch-first layout. */
:root{--green:#154f42;--muted:#62756c;--line:#dfe8df;--page:#f3f6f0;color-scheme:light}html{scroll-padding-top:90px}body{background:var(--page);-webkit-tap-highlight-color:transparent}button,input,select,summary{touch-action:manipulation}button{transition:background .15s,box-shadow .15s,transform .15s}button:active{transform:translateY(1px)}.shell{min-height:100dvh}main{min-width:0;margin:0 auto;padding:30px 36px 36px}.mobile-brand{display:flex;align-items:center;justify-content:space-between;gap:14px}.menu-toggle,.bottom-nav{display:none}aside{position:sticky;top:0;height:100dvh;padding:30px 18px;overflow:auto}nav button{min-height:48px}nav button.active{box-shadow:inset 3px 0 #245c49}.heading p{margin:10px 0 0}.heading{margin-bottom:22px}h1{line-height:1.2}.panel,.stat{box-shadow:0 5px 20px #1e4f3d04}.panel{min-width:0}.panel-head{gap:12px;flex-wrap:wrap}.stat{min-width:0}.stat .num{font-size:clamp(23px,2.5vw,32px);overflow-wrap:anywhere}.stat:first-child{background:linear-gradient(135deg,#154f42,#256c56)}.action{position:relative;border-radius:18px;box-shadow:0 4px 14px #1b4d3a04}.action span{background:#edf4e9;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;font-size:25px;margin-bottom:15px}.action:hover{border-color:#7da58a;background:#fcfef9}.btn{min-height:48px;line-height:1.3}.btn:hover{box-shadow:0 3px 10px #1e4f3d0a}.btn.primary:hover{background:#246651}.notice{color:#666d3b;font-size:13px;border:1px solid #e8e8cb}.empty{background:#f8faf5;border-radius:12px;margin-top:16px;padding:35px 18px;line-height:1.7}.pill{line-height:1.5}input,select{border-color:#cbdacb;border-radius:12px;min-height:52px;font-size:16px}input:focus,select:focus{outline:3px solid #b8d6bd66;border-color:#5b8d6a}input[type=date]{font-size:16px;min-width:0}dialog input[type=date]{max-width:none}dialog{width:min(600px,94vw);max-height:88dvh;padding:28px;box-shadow:0 20px 100px #102d2633;overscroll-behavior:contain}dialog h2{padding-right:8px;font-size:22px}dialog p{font-size:15px}dialog label{font-size:14px;margin-top:19px}.dialog-actions{position:sticky;bottom:-28px;background:white;padding:16px 0 22px;margin-top:20px;border-top:1px solid #ecf0e8;z-index:2}.dialog-actions button{min-height:52px}.filter-details{border:1px solid var(--line);border-radius:12px;background:#f9fbf6;margin:18px 0 24px}.filter-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:15px 16px;min-height:52px;font-size:14px;font-weight:700}.filter-details summary::-webkit-details-marker{display:none}.filter-details summary::after{content:'+';font-size:20px}.filter-details[open] summary::after{content:'−'}.filter-hint{margin-left:auto;font-size:11px;font-weight:500;color:var(--muted)}.filters{padding:4px 16px 16px}.filters label{font-size:13px}.filters input,.filters select{font-size:16px;min-height:48px}.filters .error{margin:0;flex-basis:100%}td{line-height:1.5}td .btn{font-size:13px;margin:3px 0}table{white-space:normal}td:first-child{min-width:145px}.record-actions{white-space:nowrap}.login{box-shadow:0 15px 60px #1f503b08}.login input{font-size:17px}.login .btn{min-height:54px}.foot{line-height:1.7}#toast{max-width:calc(100vw - 32px);width:max-content;line-height:1.5;text-align:center;box-shadow:0 8px 30px #102d2626}
@media(min-width:761px) and (max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr)}main{padding:24px}.actions{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:minmax(0,1fr)}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .shell{display:block}.shell>aside{height:auto;position:sticky;top:0;z-index:5;padding:12px 18px;background:#fffffff5;backdrop-filter:blur(16px);overflow:visible;border-right:0;border-bottom:1px solid #dde6d9;gap:0}.logo{font-size:17px;gap:10px}.logo small{font-size:9px;letter-spacing:2.5px}.mark{width:38px;height:42px;border-radius:12px;font-size:21px}.menu-toggle{display:flex;gap:8px;align-items:center;border:1px solid #dfe8db;border-radius:11px;padding:10px 13px;background:#f6f9f2;color:var(--green);font-size:17px;min-height:44px}.menu-toggle span{font-size:13px;font-weight:700}#main-navigation{display:none}#main-navigation.menu-open{display:grid;position:absolute;top:calc(100% + 8px);left:12px;right:12px;padding:12px;gap:6px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 45px #183d3026;border-radius:18px;max-height:calc(100dvh - 175px);overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr))}#main-navigation button{font-size:14px;white-space:normal;padding:14px 10px;min-height:52px}.side-note{display:none}main{padding:18px 16px calc(110px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:0}.topbar{order:-6;margin-bottom:20px;padding-bottom:16px;display:block}.topbar>.eyebrow{display:none}.top-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%}.top-actions .badge{grid-column:1 / -1;justify-self:start;padding:6px 10px;font-size:10px}.top-actions input[type=date]{width:100%;max-width:none;min-height:48px;padding:10px 13px;font-weight:600;background:white}.top-actions .btn{min-height:48px;font-size:13px}.heading{order:-5;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:6px}.heading>div{flex:1;min-width:180px}.heading .eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:28px;letter-spacing:-1px;margin-top:8px}.heading p{font-size:14px;line-height:1.6}.heading>.btn{font-size:12px;min-height:42px}.heading+.notice{order:-4;margin-top:15px}.actions{order:-3;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 8px}.action{min-height:148px;padding:18px 14px;border-radius:17px}.action span{width:42px;height:42px;margin-bottom:12px;font-size:24px}.action strong{font-size:18px;line-height:1.3}.action small{font-size:12px;line-height:1.5;margin-top:7px}.field .actions .action{min-height:156px}.field .action strong{font-size:19px}.stats{order:-2;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 22px}.stat{padding:17px 14px;border-radius:14px;font-size:13px;line-height:1.5}.stat .num{font-size:25px;margin:10px 0 5px;line-height:1.2;letter-spacing:-.6px}.stat small{font-size:11px;line-height:1.5}.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.panel{border-radius:17px;padding:18px;margin-bottom:16px}.grid>.panel{margin-bottom:0}.panel h2{font-size:17px;line-height:1.5}.panel-head{gap:10px;margin-bottom:12px}.panel-head>.btn{font-size:12px}.stock-row{align-items:center;padding:16px 0;flex-wrap:wrap}.stock-row>span,.stock-row>div{flex:1;min-width:140px}.stock-row strong{font-size:22px;max-width:100%;overflow-wrap:anywhere}.pill{font-size:11px;padding:5px 9px;white-space:normal}.notice{font-size:12px;padding:13px;line-height:1.65}.list-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.list-actions .btn{padding:12px 10px;white-space:normal;font-size:13px;min-height:52px}.list-actions .btn:last-child:nth-child(odd){grid-column:1 / -1}.filter-details{margin:16px 0 20px;background:#f8faf5}.filter-hint{font-size:10px}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:4px 12px 14px}.filters label{min-width:0;width:100%;font-size:12px}.filters input,.filters select{width:100%;max-width:100%;font-size:16px;min-height:48px;padding:10px 8px}.filters .error{grid-column:1 / -1}.filters .btn{min-height:48px;font-size:13px}.table-wrap{overflow:visible}table,tbody{display:block;width:100%}thead{display:none}tbody{display:grid;gap:12px}tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:16px;background:#f8faf6;border:1px solid #e5ecdf;border-radius:14px;min-width:0}td{display:block;padding:10px 0;border:0;min-width:0!important;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;font-size:14px}td::before{content:attr(data-label);display:block;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#6a7c6b;margin-bottom:6px;font-weight:600}td.record-title{grid-column:1 / -1;font-size:16px;padding-top:0;border-bottom:1px solid #e4ebdd;margin-bottom:4px;padding-bottom:12px}td.record-title::before{display:none}td small{font-size:12px;line-height:1.6}td.record-actions{grid-column:1 / -1;display:flex;gap:10px;padding:12px 0 0;border-top:1px solid #e4ebdd;margin-top:6px}td.record-actions::before{display:none}td.record-actions .btn{flex:1;margin:0;min-height:46px;font-size:13px}.audit-change{min-width:0;max-width:none;grid-column:1 / -1}.bottom-nav{display:flex;position:fixed;z-index:6;bottom:0;left:0;right:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;backdrop-filter:blur(18px);border-top:1px solid #dce6d6;box-shadow:0 -5px 25px #254b3607;gap:5px}.bottom-nav button{flex:1;border:0;border-radius:12px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;color:#6d7e70;font-size:11px;font-weight:600}.bottom-nav button span{font-size:22px;line-height:1}.bottom-nav button.active{color:var(--green);background:#eaf2e4}.bottom-nav button:focus-visible{outline-offset:-3px}dialog{width:100%;max-width:none;max-height:calc(100dvh - 22px);margin:auto 0 0;border-radius:24px 24px 0 0;padding:25px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid #dce6d8}dialog::before{content:'';display:block;width:38px;height:4px;border-radius:4px;background:#d3decf;margin:-12px auto 20px}dialog h2{font-size:21px}dialog input,dialog select{font-size:17px;min-height:54px}dialog .dialog-actions{bottom:calc(-20px - env(safe-area-inset-bottom));padding:14px 0 calc(18px + env(safe-area-inset-bottom));gap:12px;margin-top:22px}dialog .dialog-actions .btn{font-size:15px;min-height:54px}dialog .table-wrap{max-height:none}.login{margin:28px 16px;padding:28px 24px;border-radius:24px;max-width:none}.login h1{font-size:33px}.login .logo{margin-bottom:32px}.login p{font-size:15px}.login .foot{font-size:12px}.foot{font-size:11px;margin-top:20px;overflow-wrap:anywhere}#toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:14px;padding:14px 18px}body:has(dialog[open]){overflow:hidden}
}
@media(max-width:360px){main{padding-left:12px;padding-right:12px}.panel{padding:14px}.action{padding:16px 12px}.action strong{font-size:16px}.field .action strong{font-size:17px}.stat .num{font-size:22px}.filter-hint{display:none}#main-navigation.menu-open{grid-template-columns:1fr}.login{padding:25px 20px}.heading>div{min-width:150px}h1{font-size:25px}tr{padding:12px;gap:0 10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.topbar{flex-wrap:wrap}.top-actions{flex-shrink:0;max-width:100%}.top-actions .btn{white-space:nowrap}.top-actions .badge{flex-shrink:0}.field .stats{display:none}
.distribution-panel{margin:0 0 22px}.brand-plan{padding:16px 0;border-bottom:1px solid #e4ebde}.brand-plan>strong{font-size:15px}.plan-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.plan-counts span{font-size:12px;color:#61776a}.plan-counts b{display:block;margin-top:6px;font-size:25px;color:#174f42}.brand-plan small{display:block;margin-top:12px;color:#806630}.bulk-total{font-weight:700;color:#174f42;background:#edf4e8;border-radius:10px;padding:14px}@media(max-width:760px){.distribution-panel{order:-1;margin-bottom:18px}.plan-counts{gap:8px}.plan-counts span{font-size:11px}.plan-counts b{font-size:24px}}
