:root{
  --blue:#1565C0;--blue-dark:#0D47A1;--blue-light:#E3F2FD;
  --yellow:#F9A825;--ygreen:#AEEA00;--green:#43A047;
  --white:#FFFFFF;--bg:#F4F7FB;--text:#1A1A2E;
  --soft:#5C6B82;--border:#DDE3EC;--card:#FFFFFF;
  --shadow:0 2px 12px rgba(21,101,192,.10);
  --shadow-lg:0 8px 32px rgba(21,101,192,.15);
  --radius:14px;--radius-sm:8px;
  --font:'Nunito',sans-serif;--mono:'JetBrains Mono',monospace;
  --nav-h:58px;--bot-h:62px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;width:100%;font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;}
a{color:var(--blue);text-decoration:none;}
button,input,select,textarea{font-family:var(--font);}
button{cursor:pointer;border:none;outline:none;}
input,select,textarea{outline:none;}

/* Splash */
#splash{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--blue);flex-direction:column;gap:20px;}
#splash img{width:90px;filter:brightness(10);}
.spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* Top Nav */
.top-nav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:var(--blue);z-index:100;display:flex;align-items:center;padding:0 14px;gap:10px;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.top-nav .logo{display:flex;align-items:center;gap:8px;}
.top-nav .logo img{height:30px;filter:brightness(10);}
.top-nav .logo span{color:#fff;font-weight:900;font-size:17px;}
.top-nav .spacer{flex:1;}
.top-nav .pg-title{color:#fff;font-weight:700;font-size:15px;flex:1;}
.top-nav .nbtn{background:rgba(255,255,255,.15);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:14px;font-weight:700;transition:background .2s;}
.top-nav .nbtn:hover{background:rgba(255,255,255,.25);}

/* Bottom Nav */
.bot-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bot-h);background:#fff;border-top:1px solid var(--border);display:flex;z-index:100;box-shadow:0 -2px 10px rgba(0,0,0,.05);}
.bot-nav .ni{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;color:var(--soft);font-size:10px;font-weight:700;padding:4px 0 6px;transition:color .2s;}
.bot-nav .ni .ic{font-size:8px;font-weight:900;background:var(--border);border-radius:4px;padding:3px 6px;margin-bottom:1px;letter-spacing:.5px;text-transform:uppercase;transition:all .2s;}
.bot-nav .ni.on{color:var(--blue);}
.bot-nav .ni.on .ic{background:var(--blue-light);color:var(--blue);}
.bot-nav .fab-wrap{position:relative;}
.fab{width:52px;height:52px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;font-weight:300;box-shadow:0 4px 14px rgba(21,101,192,.4);margin-top:-20px;border:3px solid var(--bg);transition:transform .2s,box-shadow .2s;cursor:pointer;}
.fab:hover{transform:scale(1.06);box-shadow:0 6px 20px rgba(21,101,192,.5);}

/* FAB Menu */
.fab-menu{position:fixed;bottom:72px;right:14px;z-index:200;display:none;flex-direction:column;align-items:flex-end;gap:10px;}
.fab-menu.open{display:flex;}
.fmi{display:flex;align-items:center;gap:10px;animation:popIn .2s ease both;}
.fmi .lbl{background:var(--text);color:#fff;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap;}
.fmi .fbtn{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#fff;box-shadow:var(--shadow);font-family:var(--font);letter-spacing:.3px;}
@keyframes popIn{from{opacity:0;transform:scale(.7);}to{opacity:1;transform:scale(1);}}

/* Main */
.main{padding-top:calc(var(--nav-h) + 14px);padding-bottom:calc(var(--bot-h) + 16px);padding-left:12px;padding-right:12px;min-height:100vh;}
.page{display:none;animation:fadeIn .22s ease;}
.page.on{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* Auth */
.auth-wrap{min-height:100vh;width:100%;background:var(--blue);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;}
.auth-card{background:#fff;border-radius:20px;padding:26px 20px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);}
.auth-logo{text-align:center;margin-bottom:22px;}
.auth-logo img{height:52px;}
.auth-logo h1{font-size:21px;font-weight:900;color:var(--blue);margin-top:8px;}
.auth-logo p{color:var(--soft);font-size:13px;}
.auth-tabs{display:flex;background:var(--bg);border-radius:var(--radius-sm);padding:3px;margin-bottom:18px;}
.at{flex:1;padding:8px;border-radius:6px;text-align:center;cursor:pointer;font-weight:700;font-size:13px;color:var(--soft);transition:all .2s;}
.at.on{background:var(--blue);color:#fff;box-shadow:0 2px 8px rgba(21,101,192,.3);}

/* Form */
.fg{margin-bottom:13px;}
.fl{display:block;font-weight:700;font-size:11px;color:var(--soft);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;}
.fi{width:100%;border:2px solid var(--border);border-radius:var(--radius-sm);padding:10px 13px;font-size:14px;transition:border .2s;background:#fff;color:var(--text);}
.fi:focus{border-color:var(--blue);background:var(--blue-light);}
.fi.err{border-color:var(--red);}
.fi-sel{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M5 6L0 0h10z' fill='%235C6B82'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:var(--radius-sm);font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;border:none;}
.btn-p{background:var(--blue);color:#fff;box-shadow:0 3px 10px rgba(21,101,192,.3);}
.btn-p:hover{background:var(--blue-dark);transform:translateY(-1px);}
.btn-s{background:var(--blue-light);color:var(--blue);}
.btn-s:hover{background:#BBDEFB;}
.btn-g{background:var(--green);color:#fff;}
.btn-w{background:var(--yellow);color:#1a1a1a;}
.btn-d{background:#E53935;color:#fff;}
.btn-o{background:transparent;border:2px solid var(--blue);color:var(--blue);}
.btn-blk{width:100%;display:flex;}
.btn-sm{padding:6px 12px;font-size:12px;border-radius:6px;}
.btn-lg{padding:14px 26px;font-size:15px;border-radius:11px;}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;}

/* Cards */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:15px;margin-bottom:12px;}
.card-title{font-weight:800;font-size:14px;margin-bottom:12px;}

/* Stats */
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.stat-card{background:var(--card);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.stat-card.c-blue::before{background:var(--blue);}
.stat-card.c-yellow::before{background:var(--yellow);}
.stat-card.c-green::before{background:var(--green);}
.stat-card.c-yg::before{background:var(--ygreen);}
.stat-lbl{font-size:10px;color:var(--soft);font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.stat-val{font-size:22px;font-weight:900;margin:3px 0 1px;font-family:var(--mono);}
.stat-sub{font-size:11px;color:var(--soft);}

/* Sub banner */
.sub-banner{border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;color:#fff;background:var(--blue);}
.sub-banner.warn{background:linear-gradient(135deg,var(--yellow),#F57F17);color:#1a1a1a;}
.sub-banner.exp{background:#E53935;}
.sub-banner h3{font-weight:900;font-size:14px;margin-bottom:3px;}
.sub-banner p{font-size:12px;opacity:.9;}

/* List items */
.li{display:flex;align-items:center;gap:11px;padding:12px;background:var(--card);border-radius:var(--radius-sm);margin-bottom:7px;box-shadow:0 1px 4px rgba(0,0,0,.05);cursor:pointer;transition:box-shadow .2s;}
.li:hover{box-shadow:var(--shadow);}
.li .av{width:40px;height:40px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--blue);font-size:14px;flex-shrink:0;}
.li .inf{flex:1;min-width:0;}
.li .nm{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.li .sb{font-size:12px;color:var(--soft);}
.li .rt{text-align:right;flex-shrink:0;}

/* Badge */
.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;}
.badge-blue{background:var(--blue-light);color:var(--blue);}
.badge-green{background:#E8F5E9;color:#2E7D32;}
.badge-yellow{background:#FFF8E1;color:#E65100;}
.badge-red{background:#FFEBEE;color:#C62828;}
.badge-gray{background:#F5F5F5;color:#757575;}

/* Doc card */
.doc-card{background:#fff;border-radius:var(--radius);border-left:4px solid var(--blue);padding:13px;margin-bottom:9px;box-shadow:var(--shadow);cursor:pointer;transition:box-shadow .2s;}
.doc-card:hover{box-shadow:var(--shadow-lg);}
.doc-card.quotation{border-left-color:var(--yellow);}
.doc-card.proforma{border-left-color:var(--ygreen);}
.doc-num{font-weight:800;font-size:12px;color:var(--blue);font-family:var(--mono);}
.doc-client{font-size:14px;font-weight:700;margin:2px 0;}
.doc-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:5px;}

/* Totals */
.totals-box{background:var(--blue-light);border-radius:var(--radius-sm);padding:12px;margin-top:9px;}
.total-row{display:flex;justify-content:space-between;padding:3px 0;font-size:13px;}
.total-grand{font-weight:900;font-size:17px;color:var(--blue);border-top:2px solid #BBDEFB;padding-top:7px;margin-top:3px;font-family:var(--mono);}

/* Items table */
.items-hdr{display:grid;grid-template-columns:1fr 55px 75px 65px 26px;gap:5px;padding:5px 0;border-bottom:2px solid var(--border);font-size:10px;font-weight:700;color:var(--soft);text-transform:uppercase;}
.item-row{display:grid;grid-template-columns:1fr 55px 75px 65px 26px;gap:5px;padding:5px 0;border-bottom:1px solid var(--border);align-items:center;}
.ii{border:1.5px solid var(--border);border-radius:6px;padding:6px 7px;font-size:12px;font-family:var(--font);width:100%;background:#fff;}
.ii:focus{border-color:var(--blue);outline:none;}
.del-btn{background:none;border:none;color:#ccc;cursor:pointer;font-size:16px;padding:3px;transition:color .15s;}
.del-btn:hover{color:#E53935;}
.add-item-btn{background:none;border:1.5px dashed var(--border);border-radius:7px;padding:8px;width:100%;text-align:center;font-size:13px;font-weight:700;color:var(--soft);cursor:pointer;margin-top:7px;transition:border-color .15s,color .15s;}
.add-item-btn:hover{border-color:var(--blue);color:var(--blue);}

/* QR */
.qr-box{text-align:center;background:#fff;border:2px dashed var(--border);border-radius:var(--radius);padding:18px;}
.qr-box img{max-width:180px;width:100%;}
.qr-amount{font-size:22px;font-weight:900;color:var(--blue);font-family:var(--mono);margin-top:8px;}
.qr-upi{font-size:12px;color:var(--soft);margin-top:3px;}

/* Toast */
.toast-wrap{position:fixed;top:66px;left:50%;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:7px;width:calc(100% - 24px);max-width:340px;}
.toast{padding:11px 15px;border-radius:var(--radius-sm);font-weight:700;font-size:13px;box-shadow:var(--shadow-lg);animation:slideDown .25s ease;display:flex;align-items:center;gap:7px;}
.toast-success{background:var(--green);color:#fff;}
.toast-error{background:#E53935;color:#fff;}
.toast-info{background:var(--blue);color:#fff;}
@keyframes slideDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:none;}}

/* Modal */
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:500;display:none;align-items:flex-end;justify-content:center;}
.modal-ov.on{display:flex;animation:fadeIn .2s;}
.modal-box{background:#fff;border-radius:18px 18px 0 0;padding:18px;width:100%;max-height:88vh;overflow-y:auto;animation:slideUp .28s ease;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:none;}}
.modal-handle{width:38px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 14px;}
.modal-title{font-weight:900;font-size:16px;margin-bottom:13px;}

/* Chips */
.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:11px;}
.chip{flex-shrink:0;padding:6px 13px;border-radius:20px;background:#fff;border:2px solid var(--border);font-size:12px;font-weight:700;cursor:pointer;color:var(--soft);transition:all .2s;}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff;}

/* Search */
.search-bar{display:flex;align-items:center;background:#fff;border:2px solid var(--border);border-radius:30px;padding:7px 13px;gap:7px;margin-bottom:11px;}
.search-bar input{flex:1;border:none;outline:none;font-size:14px;font-family:var(--font);}
.search-bar .icon{color:var(--soft);font-size:13px;font-weight:700;}

/* Section header */
.sec-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.sec-title{font-weight:800;font-size:15px;}

/* Profile */
.prof-hdr{background:var(--blue);border-radius:var(--radius);padding:18px;color:#fff;text-align:center;margin-bottom:13px;}
.prof-av{width:68px;height:68px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;margin:0 auto 9px;overflow:hidden;}
.prof-av img{width:100%;height:100%;object-fit:cover;}

/* Subscription */
.sub-plan{border:3px solid var(--blue);border-radius:var(--radius);padding:18px;text-align:center;background:#fff;margin-bottom:14px;}
.sub-price{font-size:38px;font-weight:900;color:var(--blue);font-family:var(--mono);}
.sub-price .cur{font-size:18px;font-weight:700;vertical-align:super;}
.sub-price .per{font-size:16px;font-weight:600;color:var(--soft);}
.sub-features{list-style:none;text-align:left;margin:14px 0;}
.sub-features li{padding:5px 0;font-size:13px;display:flex;gap:7px;align-items:center;border-bottom:1px solid var(--border);}
.sub-features li::before{content:'OK';font-size:10px;font-weight:900;background:var(--green);color:#fff;padding:1px 5px;border-radius:4px;flex-shrink:0;}
.pay-note{font-size:11px;color:var(--soft);text-align:center;margin-top:8px;}
.pay-tbl{width:100%;border-collapse:collapse;}
.pay-tbl th{text-align:left;font-size:11px;font-weight:700;color:var(--soft);text-transform:uppercase;padding:7px 0;border-bottom:2px solid var(--border);}
.pay-tbl td{padding:9px 0;font-size:13px;border-bottom:1px solid var(--border);}

/* Doc type tabs */
.doc-type-tabs{display:flex;gap:7px;margin-bottom:14px;overflow-x:auto;}
.dtt{flex-shrink:0;padding:7px 15px;border-radius:20px;font-weight:700;font-size:12px;cursor:pointer;border:2px solid var(--border);color:var(--soft);background:#fff;transition:all .2s;}
.dtt.on{background:var(--blue);border-color:var(--blue);color:#fff;}

/* Empty state */
.empty{text-align:center;padding:36px 18px;}
.empty .ei{font-size:14px;font-weight:900;color:var(--border);margin-bottom:10px;background:var(--border);border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.empty h3{font-weight:800;font-size:16px;margin-bottom:5px;}
.empty p{color:var(--soft);font-size:13px;}

/* Divider */
.divider{height:1px;background:var(--border);margin:13px 0;}
.or-div{display:flex;align-items:center;gap:10px;margin:12px 0;color:var(--soft);font-size:12px;font-weight:600;}
.or-div::before,.or-div::after{content:'';flex:1;height:1px;background:var(--border);}

/* Voice Invoice */
.vi-hero{background:var(--blue);border-radius:var(--radius);padding:26px 18px 22px;text-align:center;margin-bottom:14px;position:relative;overflow:hidden;}
.vi-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 0%,rgba(255,255,255,.07) 0%,transparent 70%);pointer-events:none;}
.vi-hero-title{color:#fff;font-size:16px;font-weight:900;margin-bottom:3px;}
.vi-hero-sub{color:rgba(255,255,255,.7);font-size:12px;margin-bottom:20px;}
.vi-mic-btn{width:74px;height:74px;border-radius:50%;background:#fff;border:none;cursor:pointer;font-size:12px;font-weight:800;color:var(--blue);font-family:var(--font);box-shadow:0 4px 20px rgba(0,0,0,.2);transition:transform .15s,box-shadow .15s;position:relative;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;}
.vi-mic-btn:hover{transform:scale(1.05);}
.vi-mic-btn.listening{color:#E53935;animation:vi-pulse 1.4s ease-in-out infinite;}
.vi-mic-btn.listening::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:3px solid rgba(255,255,255,.4);animation:vi-ring 1.4s ease-in-out infinite;}
.vi-mic-btn.processing{opacity:.6;cursor:not-allowed;}
@keyframes vi-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.07);}}
@keyframes vi-ring{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.5);opacity:0;}}
.vi-wave{display:none;align-items:flex-end;justify-content:center;gap:3px;height:26px;margin-bottom:10px;}
.vi-wave-bar{width:4px;background:rgba(255,255,255,.7);border-radius:2px;animation:vi-bar .9s ease-in-out infinite alternate;}
.vi-wave-bar:nth-child(1){animation-delay:.0s;height:7px;}.vi-wave-bar:nth-child(2){animation-delay:.1s;height:14px;}.vi-wave-bar:nth-child(3){animation-delay:.2s;height:22px;}.vi-wave-bar:nth-child(4){animation-delay:.3s;height:16px;}.vi-wave-bar:nth-child(5){animation-delay:.4s;height:10px;}.vi-wave-bar:nth-child(6){animation-delay:.3s;height:18px;}.vi-wave-bar:nth-child(7){animation-delay:.2s;height:22px;}.vi-wave-bar:nth-child(8){animation-delay:.1s;height:13px;}.vi-wave-bar:nth-child(9){animation-delay:.0s;height:7px;}
@keyframes vi-bar{from{transform:scaleY(.3);opacity:.5;}to{transform:scaleY(1);opacity:1;}}
.vi-status{color:rgba(255,255,255,.8);font-size:12px;font-weight:600;margin-top:3px;}
.vi-live-tx{background:rgba(255,255,255,.12);border-radius:8px;padding:9px 12px;font-size:12px;color:#fff;margin-top:12px;min-height:34px;font-style:italic;text-align:left;word-break:break-word;}
.vi-examples{background:var(--card);border-radius:var(--radius);padding:13px 15px;margin-bottom:13px;}
.vi-examples-title{font-size:11px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:9px;}
.vi-chip{background:var(--blue-light);color:var(--blue);border:1px solid #BBDEFB;border-radius:7px;padding:8px 11px;font-size:12px;margin-bottom:6px;cursor:pointer;transition:background .15s;font-family:var(--font);width:100%;text-align:left;font-weight:600;line-height:1.4;}
.vi-chip:hover{background:#BBDEFB;}
.vi-err{background:#FFEBEE;color:#C62828;border-radius:7px;padding:9px 13px;font-size:12px;font-weight:600;margin-bottom:9px;display:none;}
.vi-card{background:var(--card);border-radius:var(--radius);padding:15px;box-shadow:var(--shadow);margin-bottom:13px;}
.vi-conf-bar{display:flex;align-items:center;gap:9px;margin-bottom:11px;}
.vi-conf-lbl{font-size:10px;color:var(--soft);font-weight:700;white-space:nowrap;}
.vi-conf-track{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden;}
.vi-conf-fill{height:100%;border-radius:3px;transition:width .4s;}
.vi-conf-pct{font-size:11px;font-weight:800;font-family:var(--mono);white-space:nowrap;}
.vi-summary{background:var(--blue-light);color:var(--blue);border-radius:7px;padding:8px 11px;font-size:12px;font-weight:700;margin-bottom:13px;}
.vi-sec-lbl{font-size:10px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 7px;}
.vi-row2{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.vi-field{margin-bottom:9px;}
.vi-lbl{display:block;font-size:10px;font-weight:700;color:var(--soft);margin-bottom:3px;}
.vi-input{width:100%;border:1.5px solid var(--border);border-radius:6px;padding:7px 9px;font-size:12px;font-family:var(--font);outline:none;background:#fff;}
.vi-input:focus{border-color:var(--blue);}
.vi-items-hdr{display:grid;grid-template-columns:2fr 50px 55px 70px 85px 24px;gap:4px;font-size:9px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.3px;padding-bottom:5px;border-bottom:2px solid var(--border);margin-bottom:3px;}
.vi-item-row{display:grid;grid-template-columns:2fr 50px 55px 70px 85px 24px;gap:4px;padding:4px 0;border-bottom:1px solid var(--border);align-items:center;}
.vi-amt{font-size:11px;font-weight:700;font-family:var(--mono);}
.vi-del{background:none;border:none;color:#ccc;cursor:pointer;font-size:13px;padding:3px;transition:color .15s;}
.vi-del:hover{color:#E53935;}
.vi-add{background:none;border:1.5px dashed var(--border);border-radius:6px;padding:7px;width:100%;text-align:center;font-size:12px;font-weight:700;color:var(--soft);cursor:pointer;margin-top:7px;font-family:var(--font);transition:all .15s;}
.vi-add:hover{border-color:var(--blue);color:var(--blue);}
.vi-totals{background:var(--blue-light);border-radius:7px;padding:11px;margin-top:11px;}
.vi-trow{display:flex;justify-content:space-between;font-size:12px;padding:2px 0;}
.vi-grand{font-weight:900;font-size:16px;color:var(--blue);border-top:2px solid #BBDEFB;padding-top:7px;margin-top:3px;font-family:var(--mono);}
.vi-actions{display:flex;gap:9px;margin-top:14px;}
.vi-actions .btn{flex:1;}
.vi-tx-box{margin-top:13px;background:var(--bg);border-radius:7px;padding:9px 11px;}
.vi-tx-lbl{font-size:9px;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;}
.vi-tx-txt{font-size:11px;color:var(--soft);font-style:italic;line-height:1.5;}

/* Scrollbar */
::-webkit-scrollbar{width:3px;height:3px;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}

/* Responsive */
@media(min-width:480px){.stats-grid{grid-template-columns:repeat(2,1fr);}
.main{padding-left:16px;padding-right:16px;}}
@media(min-width:768px){.stats-grid{grid-template-columns:repeat(4,1fr);}
.main,.bot-nav,.top-nav{max-width:780px;margin-left:auto;margin-right:auto;}
.bot-nav,.top-nav{left:50%;transform:translateX(-50%);}}

/* ---- Auth layout fix ---- */
html, body { width: 100%; min-height: 100vh; }
#auth-screen { width: 100%; min-height: 100vh; display: flex; }
.auth-wrap {
    width: 100%;
    min-height: 100vh;
    background: var(--blue);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.auth-card {
    background: #fff;
    border-radius: 20px;
    padding: 26px 22px;
    width: 100%;
    max-width: 400px;
    box-shadow: var(--shadow-lg);
    margin: 0 auto;
}
#app-screen {
    width: 100%;
    min-height: 100vh;
}
.main {
    padding-top: calc(var(--nav-h) + 14px);
    padding-bottom: calc(var(--bot-h) + 16px);
    padding-left: 12px;
    padding-right: 12px;
    min-height: 100vh;
    width: 100%;
    max-width: 100%;
}

/* ---- Trial Banner ---- */
.trial-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: linear-gradient(135deg, #1565C0, #0D47A1);
    color: #fff;
    border-radius: var(--radius);
    padding: 12px 14px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}
.trial-banner.trial-expired {
    background: linear-gradient(135deg, #E53935, #B71C1C);
}
.trial-banner-text {
    font-size: 13px;
    line-height: 1.4;
    flex: 1;
}
.trial-banner-text strong {
    font-weight: 900;
}
