
:root{
 --nav:#08192f;--nav2:#102a4c;--primary:#1e73ff;--primary2:#00a7ff;
 --bg:#eef3f8;--card:#fff;--txt:#0f1f33;--muted:#6b7a90;--bd:#dde6f0;
 --green:#0fbf7f;--green2:#00a86b;--blue:#2878ff;--orange:#ff7a1a;--purple:#7b4df8;
 --danger:#ef3d4f;--shadow:0 10px 30px rgba(15,31,51,.08);
}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--txt)}
a{text-decoration:none;color:inherit}.layout{display:grid;grid-template-columns:252px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,var(--nav),#0a203b 65%,#09182c);color:#d8e4f0;padding:18px 12px;position:sticky;top:0;height:100vh;overflow:auto;border-right:1px solid rgba(255,255,255,.05)}
.brand{padding:0 10px 15px}.brandrow{display:flex;align-items:center;gap:12px}.brand-badge{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#1e73ff,#19c0ff);display:grid;place-items:center;color:white;font-weight:900;font-size:22px;box-shadow:0 8px 18px rgba(30,115,255,.35)}
.brand h1{font-size:19px;margin:0;color:#fff;line-height:1.05}.brand h1 span{color:#22c9ff}.brand small{color:#9cb2c9}
.menusearch{margin:4px 7px 12px;position:relative}.menusearch input{background:#122d4d;border:1px solid #1d416b;color:#fff;padding:10px 12px 10px 36px;border-radius:9px}.menusearch:before{content:'⌕';position:absolute;left:13px;top:8px;color:#9fb5ca;font-size:20px}
.nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;margin:2px 0;color:#dce8f4;font-size:14px}
.nav a:hover{background:#102e51}.nav a.active{background:linear-gradient(90deg,#0d6dfd,#128cff);color:white;box-shadow:0 6px 18px rgba(17,118,255,.28)}
.sidefoot{margin-top:18px;padding:12px;border-radius:10px;background:#0f2b4a;font-size:12px;border:1px solid #183b61;color:#b8cbe0}
.main{min-width:0}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:10;box-shadow:0 2px 12px rgba(15,31,51,.04)}
.top-left{display:flex;align-items:center;gap:20px}.hamb{font-size:24px;color:#45566d}.product-title{font-weight:800;font-size:21px}.product-sub{font-size:12px;color:var(--muted);margin-left:12px}
.top-search{width:330px;position:relative}.top-search input{background:#f8fafc;border:1px solid var(--bd);padding-left:34px}.top-search:before{content:'⌕';position:absolute;left:11px;top:8px;color:#8292a8;font-size:19px}
.top-user{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#16243a,#4b668b);color:white;display:grid;place-items:center;font-weight:800}
.content{padding:18px}.breadcrumb{font-size:12px;color:#7c8aa0;margin-bottom:10px}
h2{margin:0 0 4px}.muted{color:var(--muted)}.grid{display:grid;gap:12px}.cards{grid-template-columns:repeat(4,minmax(180px,1fr));margin-bottom:12px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:15px;box-shadow:var(--shadow)}
.kpi{color:#fff;min-height:96px;position:relative;overflow:hidden}.kpi:after{content:'';position:absolute;width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.15);right:-15px;bottom:-18px}
.kpi.green{background:linear-gradient(135deg,#10c98a,#00a96d)}.kpi.blue{background:linear-gradient(135deg,#196cf4,#3189ff)}.kpi.orange{background:linear-gradient(135deg,#ff6b15,#ff922e)}.kpi.purple{background:linear-gradient(135deg,#6d42e8,#955bf8)}
.kpi .label{font-size:13px;opacity:.92}.kpi .value{font-size:28px;font-weight:900;margin-top:7px}.kpi .trend{font-size:12px;margin-top:5px;opacity:.9}
.summary-list{display:grid;gap:8px}.summary-row{display:flex;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid #edf2f7}.summary-row:last-child{border-bottom:0}.summary-row .name{display:flex;gap:9px;align-items:center}.ico{width:26px;height:26px;border-radius:8px;background:#eef4ff;display:grid;place-items:center;color:#276cff;font-weight:800}
.two{grid-template-columns:2fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}
.chartbox{height:230px;position:relative}.chart-svg{width:100%;height:100%}.legend{display:flex;gap:12px;font-size:12px;color:#64748b}.legend i{width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:4px}
.donut{width:150px;height:150px;border-radius:50%;background:conic-gradient(#2878ff 0 42%,#784df8 42% 80%,#10bf7c 80% 92%,#ff7a1a 92% 100%);position:relative;margin:auto}.donut:after{content:'';position:absolute;inset:28px;background:white;border-radius:50%}
.btn{border:0;border-radius:8px;padding:9px 13px;font-weight:700;cursor:pointer;background:#edf2f7;color:var(--txt)}.btn.primary{background:#176cff;color:white}.btn.ok{background:#0bb874;color:white}.btn.warn{background:#ff7a1a;color:white}.btn.purple{background:#7048e8;color:white}.btn.danger{background:#ef3d4f;color:white}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid #ccd7e5;border-radius:8px;background:#fff;font:inherit}label{font-size:12px;color:#53627a;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .full{grid-column:1/-1}
table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:9px 8px;border-bottom:1px solid #edf2f7;text-align:left}th{color:#53627a;background:#fbfcfe;font-size:12px;position:sticky;top:0}tr:hover td{background:#fbfdff}.table-wrap{overflow:auto;max-height:62vh}
.flash{padding:11px 13px;border-radius:9px;margin-bottom:12px;background:#eaf2ff;color:#244b8a}.flash.error{background:#fff0f0;color:#8f1d1d}
.pos{display:grid;grid-template-columns:1fr 365px;gap:12px}.product-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:10px}.product-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px}.product-card{background:white;border:1px solid var(--bd);border-radius:10px;padding:10px;cursor:pointer;transition:.15s;min-height:128px}.product-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,31,51,.10);border-color:#a9c7ff}.prod-img{height:64px;border-radius:8px;background:linear-gradient(135deg,#f0f4f8,#dce6f0);display:grid;place-items:center;font-size:28px}.prod-name{font-size:12px;font-weight:700;margin-top:7px}.prod-price{font-size:12px;font-weight:800;color:#1a5fd0;margin-top:4px}
.cart-side{position:sticky;top:92px;height:fit-content}.cart-title{display:flex;justify-content:space-between;align-items:center}.total{font-size:33px;font-weight:900}.pay-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.pay-grid .btn{padding:13px 8px}.complete{width:100%;margin-top:8px;padding:14px;font-size:15px}
.pill{display:inline-block;border-radius:999px;padding:4px 8px;background:#eef4ff;color:#1e73ff;font-size:11px;font-weight:800}.badge-danger{background:#ffe9ec;color:#c6293c}.badge-ok{background:#e8fff5;color:#0e8a60}
.login-page,.install-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top left,#1d4775,#071629 55%)}.login-card,.install-card{width:min(520px,92vw);background:#fff;border-radius:18px;padding:28px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.install-card{width:min(760px,94vw)}.logo-row{display:flex;gap:14px;align-items:center;margin-bottom:20px}.logo-big{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,#1e73ff,#19c0ff);color:white;display:grid;place-items:center;font-size:28px;font-weight:900}
.mobile-bottom{display:none}
@media(max-width:1200px){.cards{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:220px 1fr}.product-grid{grid-template-columns:repeat(4,1fr)}.pos{grid-template-columns:1fr}.cart-side{position:relative;top:auto}}
@media(max-width:760px){.layout{display:block}.sidebar{display:none}.topbar{position:relative}.top-search{display:none}.content{padding:10px}.cards,.two,.three,.four{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:repeat(2,1fr)}.mobile-bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--bd);z-index:30;justify-content:space-around;padding:7px 2px}.mobile-bottom a{font-size:11px;color:#4d5f78}.content{padding-bottom:70px}}
