@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{--ink:#172c35;--muted:#7a8b92;--teal:#087e76;--line:#e6ecec;--bg:#f5f8f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#102d32;color:#b0c6c8;padding:32px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:white;font-family:Manrope,sans-serif;font-size:21px;font-weight:800;letter-spacing:-.8px}.brandmark{background:#4cd4bc;color:#102d32;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;font-size:29px}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#a1b8b9;margin-top:2px}.navlabel{font-size:10px;letter-spacing:1.7px;margin:36px 14px 13px;color:#6d9297}nav{display:grid;gap:4px}nav a{padding:12px 14px;border-radius:8px;display:flex;gap:13px;align-items:center;font-size:13px}nav a:hover{background:#1a3c41;color:white}nav a.active{background:#22605d;color:#8ef0d9}nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}.asidefoot{margin-top:auto;border-top:1px solid #29494c;padding:20px 10px 0;font-size:12px}.asidefoot strong{color:#fff;display:block;margin:8px 0}.main{margin-left:240px}header{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb strong{color:var(--ink);font-weight:500}.profile{display:flex;align-items:center;gap:12px}.avatar{width:36px;height:36px;background:#e6f2ed;color:var(--teal);display:grid;place-items:center;border-radius:50%;font-weight:700}.profile small{color:var(--muted);display:block;font-size:11px}.plain{border:0;background:none;color:var(--muted);padding:6px}main{padding:32px 38px;max-width:1700px;margin:auto}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}h1,h2,h3{font-family:Manrope,sans-serif;margin:0;letter-spacing:-.6px}h1{font-size:27px;font-weight:800}h2{font-size:16px}h3{font-size:14px}.subtitle{color:var(--muted);margin:9px 0 0;font-size:13px}.eyebrow{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--teal);font-weight:700;margin-bottom:9px}.actions{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:white;padding:11px 16px;border-radius:8px;font-weight:600;font-size:12px;white-space:nowrap}.btn.primary{background:var(--teal);border-color:var(--teal);color:white;box-shadow:0 4px 8px #087e7612}.btn.danger{color:#bc4b4b}.btn:hover{filter:brightness(.96)}.welcome{background:#e9f3ee;border:1px solid #dcece3;border-radius:12px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;overflow:hidden}.welcome h2{font-size:19px}.welcome p{color:#688179;margin:9px 0 0;max-width:600px;line-height:1.6}.welcome .seal{font-size:40px;color:#147a65;padding:15px 30px;border-left:1px solid #ccdfd5}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{border:1px solid var(--line);border-radius:12px;background:white;padding:21px 22px}.stat .label{color:#697f85;font-size:12px;display:flex;justify-content:space-between;align-items:center}.stat .value{font-family:Manrope,sans-serif;font-size:28px;font-weight:800;margin-top:16px;letter-spacing:-1px}.stat small{font-size:11px;color:var(--muted);display:block;margin-top:9px}.stat-icon{width:29px;height:29px;background:#edf6f2;border-radius:8px;color:var(--teal);display:grid;place-items:center}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px;margin-bottom:24px}.card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.cardhead{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.cardhead p{margin:6px 0 0;color:var(--muted);font-size:11px}.cardbody{padding:24px}.badge{display:inline-flex;border-radius:5px;padding:5px 8px;font-size:10px;font-weight:600;background:#e8f5ef;color:#278569;white-space:nowrap}.badge.warn{color:#ba8431;background:#fff4dc}.badge.red{color:#c25c5c;background:#fceeee}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:10px;color:#819197;font-weight:600;letter-spacing:.5px;text-transform:uppercase;background:#fcfdfd}td,th{padding:16px 23px;border-bottom:1px solid #f0f3f3}td{font-size:12px}td strong{font-weight:600}td small{display:block;color:var(--muted);margin-top:4px;font-size:10px}tbody tr:hover{background:#fbfdfc}tbody tr:last-child td{border-bottom:0}.empty{padding:45px 24px;text-align:center;color:var(--muted);line-height:1.8}.empty strong{color:var(--ink);display:block}.link{color:var(--teal);font-size:12px;font-weight:600}.chart{height:210px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;padding:20px 10px 25px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,#fff 0px,#fff 48px,#eff3f2 49px,#fff 50px)}.chartcol{height:100%;flex:1;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;position:relative;gap:6px}.bar{width:65%;max-width:42px;background:#5cb4a3;border-radius:5px 5px 0 0;min-height:2px}.chartcol:last-child .bar{background:#087e76}.chartcol small{position:absolute;bottom:-21px;color:var(--muted);font-size:10px}.chartcol span{font-size:9px;color:#65847b}.listrow{display:flex;align-items:center;justify-content:space-between;padding:17px 24px;border-bottom:1px solid #f0f3f3}.listrow small{color:var(--muted);font-size:11px;display:block;margin-top:4px}.dot{width:8px;height:8px;background:#58ad97;border-radius:50%;display:inline-block;margin-right:6px}.filter{display:flex;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}input,select,textarea{border:1px solid #dfe7e7;border-radius:7px;padding:11px 12px;background:white;color:var(--ink);width:100%;font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:2px solid #087e7618}label{font-size:11px;font-weight:600;display:block;margin-bottom:7px;color:#62777e}.filter input{width:260px}.filter select{width:170px}.filter label{margin-bottom:5px}.notice{padding:14px 18px;border-radius:8px;background:#e9f6ef;color:#287e60;margin-bottom:20px}.notice.error{color:#ab4141;background:#fff0f0}.notice ul{margin:5px 0;padding-left:20px}dialog{border:1px solid var(--line);border-radius:14px;width:660px;max-width:95vw;padding:0;box-shadow:0 30px 100px #001b3033}dialog::backdrop{background:#0d2b3c66;backdrop-filter:blur(3px)}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}.dialogfoot{display:flex;justify-content:flex-end;gap:10px;padding:20px 24px;border-top:1px solid var(--line)}.check{display:flex;align-items:center;gap:10px;padding:9px 0}.check input{width:auto}.pagination{padding:20px}.pagination svg{width:18px}.pagination nav{display:flex;gap:10px;justify-content:space-between}.posgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px}.product{border:1px solid var(--line);border-radius:10px;padding:17px;text-align:left;background:white;min-height:158px;display:flex;flex-direction:column;gap:8px}.product:hover{border-color:var(--teal);box-shadow:0 5px 15px #163c3210}.pill-icon{width:33px;height:33px;background:#edf6f2;color:#389780;border-radius:8px;display:grid;place-items:center;font-size:20px}.product strong{font-size:12px}.product small{color:var(--muted);font-size:10px}.product .price{color:var(--teal);font-weight:700;margin-top:auto}.cartline{display:flex;justify-content:space-between;gap:10px;margin-bottom:16px}.cartline input{width:65px}.cartline small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.totalrow{display:flex;justify-content:space-between;padding:10px 0;color:#698087;font-size:12px}.grand{font-size:22px;color:var(--ink);font-weight:800;border-top:1px dashed #d9e3df;margin:14px 0;padding-top:20px}.loginpage{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.loginart{background:#102f34;color:white;padding:70px;display:flex;flex-direction:column;justify-content:space-between}.loginart h1{font-size:48px;line-height:1.2;max-width:480px}.loginart p{color:#a6c6c5;line-height:1.8;max-width:400px}.loginform{display:flex;align-items:center;justify-content:center;padding:40px}.loginform form{width:360px}.loginform input{margin-bottom:20px}.loginform .btn{width:100%;margin-top:12px}.mobiletoggle{display:none}.reporttable td{white-space:normal}.invoice{max-width:850px;margin:30px auto;background:white;padding:48px}.invoice h1{font-size:30px}.invoicehead{display:flex;justify-content:space-between;margin-bottom:40px}.invoice .summary{margin:30px 0 0 auto;max-width:300px}.permissions{display:grid;grid-template-columns:1fr 1fr}.pagefoot{color:#92a1a5;font-size:10px;display:flex;justify-content:space-between;margin:28px 0 5px}
@media(max-width:1200px){aside{width:205px;padding:25px 14px}.main{margin-left:205px}main{padding:25px}header{padding:0 25px}.stats{gap:12px}.stat{padding:17px}.stat .value{font-size:24px}.products{grid-template-columns:1fr 1fr}.posgrid{grid-template-columns:1.1fr 1fr}}
@media(max-width:850px){aside{transform:translateX(-100%)}aside.open{transform:none}.main{margin-left:0}.mobiletoggle{display:block}header{height:70px}.stats{grid-template-columns:1fr 1fr}.grid,.posgrid{grid-template-columns:1fr}.heading{align-items:flex-start}.welcome .seal{display:none}.profile .username{display:none}main{padding:22px 16px}.heading h1{font-size:23px}.heading .actions{flex-wrap:wrap;justify-content:flex-end}.loginpage{grid-template-columns:1fr}.loginart{display:none}.formgrid{grid-template-columns:1fr}.products{grid-template-columns:repeat(2,1fr)}}
@media print{aside,header,.noprint,.pagefoot{display:none!important}.main{margin:0}main{padding:0}.invoice{margin:0;padding:20px;max-width:none}.card{border:0}body{background:white}}
