
:root{
  --navy:#092f50; --navy2:#0b3a61; --teal:#10a9b4; --teal2:#16c0c7;
  --green:#16a56d; --blue:#3697e9; --indigo:#596ee8; --orange:#f5a524;
  --red:#ef5555; --bg:#f4f7fb; --card:#fff; --text:#0c2542; --muted:#6b7f95;
  --line:#e3eaf1; --shadow:0 12px 30px rgba(30,59,91,.08); --radius:22px;
}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}
button,input{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.toast{position:fixed;top:max(18px,env(safe-area-inset-top));left:50%;transform:translate(-50%,-20px);z-index:9999;background:#0b2f4f;color:#fff;padding:12px 18px;border-radius:14px;box-shadow:0 10px 30px #0003;opacity:0;pointer-events:none;transition:.25s;max-width:88%;font-size:14px}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast.error{background:#a92835}
.login-view{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:
 radial-gradient(circle at 15% 10%,#dff8f6 0,transparent 28%),
 radial-gradient(circle at 90% 20%,#e8f3ff 0,transparent 32%),var(--bg)}
.login-shell{width:min(440px,100%)}
.brand{display:flex;align-items:center;gap:14px}
.brand-login{justify-content:center;margin-bottom:24px}
.brand-bars{height:43px;width:45px;display:flex;align-items:flex-end;gap:5px}
.brand-bars i{display:block;width:9px;background:linear-gradient(180deg,#1ac4d3,#168caf);border-radius:5px 5px 2px 2px}
.brand-bars i:nth-child(1){height:20px}.brand-bars i:nth-child(2){height:31px}.brand-bars i:nth-child(3){height:42px}
.brand-bars.small{width:35px;height:34px;gap:4px}.brand-bars.small i{width:7px}.brand-bars.small i:nth-child(1){height:16px}.brand-bars.small i:nth-child(2){height:25px}.brand-bars.small i:nth-child(3){height:33px}
.brand-title{font-size:32px;font-weight:850;letter-spacing:-1.2px}.brand-title span{font-weight:500;color:#168fb4}.small-title{font-size:25px}
.brand-sub{font-size:13px;color:#8291a3;margin-top:1px}
.login-card{background:#fff;border:1px solid #e3eaf1;border-radius:28px;padding:30px 26px;box-shadow:0 18px 60px rgba(33,62,98,.12)}
.login-icon{width:66px;height:66px;border-radius:20px;background:#e4f7f5;display:grid;place-items:center;font-size:31px;margin:0 auto 15px}
.login-card h1{text-align:center;margin:0;font-size:25px}.login-card>p{text-align:center;color:var(--muted);font-size:14px;line-height:1.5;margin:8px 0 24px}
label{display:block;font-size:13px;font-weight:700;color:#52697f;margin:14px 0 7px}
input{width:100%;border:1.5px solid #dce5ed;background:#fbfdff;border-radius:14px;padding:14px 15px;outline:none;color:var(--text);transition:.2s}
input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #11a8b318}
.password-wrap{position:relative}.password-wrap input{padding-right:78px}.text-button{position:absolute;right:8px;top:7px;border:0;background:#eef5f8;color:var(--navy);border-radius:9px;padding:8px 10px;font-size:12px;font-weight:800}
.primary-btn{width:100%;border:0;border-radius:15px;background:linear-gradient(135deg,#0d8fa3,#12b6aa);color:#fff;font-weight:850;padding:15px 17px;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 18px #0ba0a42a}
.secure-note{text-align:center;font-size:12px;color:#8193a5;margin-top:17px}.secure-note span{color:#24b979}
.login-foot{text-align:center;color:#93a2b3;font-size:12px;margin-top:18px}
.app-view{min-height:100vh;padding-bottom:88px}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:max(13px,env(safe-area-inset-top)) 18px 13px;border-bottom:1px solid #edf1f5}
.top-actions{display:flex;gap:8px}.icon-btn,.avatar-btn{border:0;border-radius:50%;width:42px;height:42px;background:#f0f5f8;color:var(--navy);font-size:21px;font-weight:800}.avatar-btn{background:#e8f5f8;color:#157a9b}
#mainContent{max-width:760px;margin:auto;padding:14px 14px 26px}
.page{display:none;animation:fadeIn .2s ease}.page.active{display:block}@keyframes fadeIn{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
.card,.section-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
.market-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#154b78,#0a355b 70%,#096d77);color:#fff;display:flex;align-items:center;gap:13px;padding:18px}
.market-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-65px;top:-95px;background:#fff1}
.market-icon{width:54px;height:54px;border-radius:18px;background:#ffffff18;display:grid;place-items:center;font-size:27px;flex:0 0 auto}
.market-copy{min-width:0;flex:1}.market-name-row{display:flex;align-items:center;gap:9px}.market-name-row h2{font-size:20px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chev{font-size:28px;opacity:.9}.cloud-state{color:#5cf1b4;font-weight:750;font-size:13px;margin-top:5px}.cloud-state i{display:inline-block;width:9px;height:9px;background:#3ee299;border-radius:50%;margin-right:6px}.market-hint{font-size:11px;color:#d9e8f3;margin-top:4px}.cloud-badge{text-align:center;font-size:26px;line-height:1;opacity:.95;position:relative;z-index:1}.cloud-badge small{font-size:8px;display:block;margin-top:5px;letter-spacing:.7px}
.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 5px 13px}.welcome-row h1{font-size:25px;letter-spacing:-.5px;margin:0}.welcome-row p{color:var(--muted);font-size:13px;margin:4px 0 0}.date-chip{background:#edf3f7;border-radius:17px;padding:10px 12px;display:flex;gap:7px;align-items:center;color:#567087;font-size:11px;white-space:nowrap}.date-chip b{font-weight:700}
.metric-grid{display:grid;gap:10px}.metric-grid.big{grid-template-columns:1fr 1fr}.metric-grid.three{grid-template-columns:repeat(3,1fr);margin-top:10px}
.metric-card{min-height:116px;border:1px solid var(--line);border-radius:20px;padding:17px 15px;display:flex;align-items:center;gap:12px;background:#fff;box-shadow:0 8px 22px #2c496b09}.metric-card.mint{background:linear-gradient(135deg,#f2fffb,#effcf7)}.metric-card.blue{background:linear-gradient(135deg,#f5fbff,#eef7ff)}
.metric-icon,.mini-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:21px;font-weight:900;flex:0 0 auto;color:#fff}.metric-icon.green,.mini-icon.green{background:linear-gradient(135deg,#22bf8b,#179b72)}.metric-icon.sky,.mini-icon.sky{background:linear-gradient(135deg,#4ea9fa,#258be3)}.metric-icon.teal{background:linear-gradient(135deg,#15bfb5,#0f9ea8)}.mini-icon.indigo{background:linear-gradient(135deg,#7689f4,#5867d8)}
.metric-card span,.mini-card span,.sale-count-card span{display:block;color:#46617a;font-size:12px;font-weight:700}.metric-card strong{display:block;margin-top:7px;font-size:24px;letter-spacing:-.7px}.mini-card{background:#fff;border:1px solid var(--line);border-radius:17px;min-height:88px;padding:14px 10px;display:flex;align-items:center;gap:9px;box-shadow:0 7px 18px #20426208}.mini-icon{width:38px;height:38px;border-radius:12px;font-size:16px}.mini-card strong{display:block;font-size:15px;margin-top:4px;white-space:nowrap}
.sale-count-card{margin-top:10px;background:linear-gradient(135deg,#f1fffb,#eefaf8);border:1px solid #dcefe9;border-radius:19px;padding:14px;display:flex;align-items:center;gap:12px}.sale-count-card strong{font-size:21px}.right-note{margin-left:auto;color:#5a907f;font-size:12px}
.section-card{padding:16px;margin-top:13px;box-shadow:0 7px 25px #1c3b5d08}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-head h3{margin:0;font-size:18px}.section-icon{color:#244e76;margin-right:5px}.link-btn{border:0;background:transparent;color:#5f7890;font-size:12px;font-weight:700}
.stock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stock-card{border:1px solid var(--line);border-radius:15px;padding:12px 8px;text-align:center;background:#fbfdff}.stock-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;margin:0 auto 7px;color:#fff;font-weight:900}.cube{background:#16aa80}.warn{background:#f3a529}.danger{background:#ed5353}.stock-card small{display:block;font-size:10px;color:#6b7f95}.stock-card b{display:block;font-size:18px;margin-top:3px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-btn{border:0;color:#fff;min-height:88px;border-radius:16px;padding:10px 5px;box-shadow:0 7px 15px #0d4f7f1c}.quick-btn span{display:block;font-size:24px;margin-bottom:6px}.quick-btn b{font-size:11px}.q1{background:linear-gradient(145deg,#265c9e,#1f4c87)}.q2{background:linear-gradient(145deg,#17b8a6,#10a99d)}.q3{background:linear-gradient(145deg,#389fe9,#267ac4)}.q4{background:linear-gradient(145deg,#247b9a,#1a6785)}
.status-list{display:grid;gap:8px}.status-row{display:flex;align-items:center;gap:11px;border:1px solid #e7edf3;border-radius:14px;padding:10px}.status-dot{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:#e9f8f4;color:#159871;font-weight:900}.status-row .copy{flex:1}.status-row b{display:block;font-size:12px}.status-row small{display:block;color:#8091a2;margin-top:3px;font-size:10px}.status-row time{font-size:10px;color:#7d91a4}
.page-title-row{display:flex;align-items:center;justify-content:space-between;padding:10px 2px 14px}.page-title-row h1{font-size:27px;margin:0}.page-title-row p{color:var(--muted);font-size:12px;margin:4px 0 0}.circle-action{width:43px;height:43px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);font-size:20px}
.search-box{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid #dce5ed;border-radius:16px;padding:0 12px;box-shadow:0 6px 18px #22415f08}.search-box span{font-size:23px}.search-box input{border:0;box-shadow:none;background:transparent;padding:14px 4px}.search-box button{border:0;background:#eef3f7;color:#5e758b;width:30px;height:30px;border-radius:9px}
.filter-row{display:flex;gap:8px;overflow:auto;padding:12px 0 4px}.filter-chip{white-space:nowrap;border:1px solid #dce5ed;background:#fff;color:#547087;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:750}.filter-chip.active{background:#0d8d99;color:#fff;border-color:#0d8d99}
.products-list{display:grid;gap:9px;margin-top:10px}.product-row{background:#fff;border:1px solid var(--line);border-radius:17px;padding:13px;display:flex;align-items:center;gap:11px}.product-box{width:43px;height:43px;border-radius:13px;background:#e8f7f4;display:grid;place-items:center;color:#14a780;font-size:20px}.product-main{min-width:0;flex:1}.product-main b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-main small{display:block;color:#8798a8;font-size:10px;margin-top:4px}.product-side{text-align:right}.product-side b{display:block;font-size:14px}.stock-badge{display:inline-block;font-size:9px;margin-top:4px;padding:3px 7px;border-radius:999px;background:#eaf8f3;color:#12855f}.stock-badge.low{background:#fff2d9;color:#9b6600}.stock-badge.out{background:#ffe6e6;color:#b52f3d}
.secondary-btn{width:100%;border:1px solid #d9e4eb;background:#fff;color:#244b6d;border-radius:14px;padding:13px;font-weight:800;margin-top:11px}
.empty-state{text-align:center;padding:42px 12px;color:#71869a}.empty-state .empty-icon{font-size:45px;opacity:.55}.empty-state b{display:block;color:#234766;font-size:17px;margin:10px 0 4px}
.barcode-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px 18px;text-align:center;box-shadow:var(--shadow)}.barcode-visual{display:flex;justify-content:center;align-items:center;gap:4px;height:70px;margin:3px auto 10px}.barcode-visual i{display:block;width:5px;background:#0d496b;border-radius:2px}.barcode-visual i:nth-child(odd){height:52px}.barcode-visual i:nth-child(even){height:36px}.barcode-card h2{margin:5px 0}.barcode-card p{color:var(--muted);font-size:12px;line-height:1.5;max-width:450px;margin:7px auto 18px}.barcode-input-row{display:flex;gap:8px}.barcode-input-row button,.report-picker button{border:0;background:linear-gradient(135deg,#0c91a0,#14b3a8);color:#fff;font-weight:800;border-radius:13px;padding:0 20px}.camera-btn{width:100%;margin-top:10px;border:1px solid #dbe5ec;background:#f6fafc;color:#224d6c;border-radius:14px;padding:12px;font-weight:800}.camera-video{width:100%;border-radius:15px;margin-top:12px;background:#081c2a;max-height:420px}
#barcodeResult{margin-top:13px}.barcode-result-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:17px}.barcode-result-card h3{margin:0 0 6px}.barcode-result-card p{margin:3px 0;color:#60758a;font-size:12px}.result-price{font-size:23px;font-weight:900;color:#0c8c76;margin-top:13px}
.report-picker{padding:15px;display:flex;align-items:flex-end;gap:10px}.report-picker label{margin:0;flex:1}.report-picker button{height:47px}.report-content{margin-top:13px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.report-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:14px}.report-card small{color:#73879a}.report-card b{display:block;font-size:20px;margin-top:6px}.report-card.wide{grid-column:1/-1}
.settings-profile{padding:16px;display:flex;align-items:center;gap:13px}.settings-avatar{width:55px;height:55px;border-radius:18px;background:linear-gradient(145deg,#1494b0,#23669d);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}.settings-profile h2{margin:0}.settings-profile p{margin:4px 0 0;color:var(--muted);font-size:12px}.settings-list{overflow:hidden;margin-top:12px}.settings-list button{width:100%;border:0;border-bottom:1px solid #edf1f4;background:#fff;display:flex;align-items:center;gap:12px;text-align:left;padding:15px}.settings-list button:last-child{border-bottom:0}.settings-list button>span{width:38px;height:38px;border-radius:12px;background:#eef6f8;display:grid;place-items:center}.settings-list button>div{flex:1}.settings-list b{display:block;color:#23445f}.settings-list small{display:block;color:#8495a5;font-size:10px;margin-top:3px}.settings-list i{font-style:normal;color:#8fa0af;font-size:23px}.danger-row b{color:#c93b49!important}.about-box{text-align:center;color:#718496;font-size:12px;padding:28px}.about-box small{font-size:10px}
.bottom-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid #dfe7ee;padding:8px 7px max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -8px 28px #153a5b0b}.nav-item{border:0;background:transparent;color:#72869a;display:grid;place-items:center;gap:3px;padding:5px 2px}.nav-item span{font-size:23px}.nav-item b{font-size:9px}.nav-item.active{color:#0a99b0}.barcode-nav span{width:43px;height:43px;border-radius:50%;background:#e8f7f8;color:#0b9eaa;display:grid;place-items:center;margin-top:-19px;border:1px solid #c7ecef}.barcode-nav.active span{background:#0ea6b1;color:#fff}
.modal-backdrop{position:fixed;z-index:100;inset:0;background:#071b2b99;backdrop-filter:blur(4px);display:grid;place-items:center;padding:18px}.modal-card{width:min(440px,100%);background:#fff;border-radius:25px;padding:25px;position:relative;box-shadow:0 24px 80px #0004}.modal-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border:0;border-radius:12px;background:#eef3f7;color:#3d5870;font-size:22px}.modal-icon{width:58px;height:58px;border-radius:18px;background:#e9f8f5;display:grid;place-items:center;font-size:27px}.modal-card h2{margin:14px 0 3px}.modal-card>p{margin:0;color:var(--muted);font-size:12px}
@media (max-width:520px){
  .small-title{font-size:22px}.brand-sub{font-size:10px}
  .metric-card{min-height:104px;padding:14px 11px}.metric-card strong{font-size:19px}.metric-icon{width:40px;height:40px;border-radius:13px}
  .metric-grid.three{grid-template-columns:1fr 1fr}.metric-grid.three .mini-card:last-child{grid-column:1/-1}
  .quick-grid{grid-template-columns:repeat(2,1fr)}.quick-btn{min-height:78px}
  .welcome-row h1{font-size:22px}.date-chip{padding:8px 9px}
}
@media (min-width:780px){.bottom-nav{left:50%;right:auto;width:760px;transform:translateX(-50%);border-left:1px solid #e3eaf1;border-right:1px solid #e3eaf1}}
