*{box-sizing:border-box}html{background:#f3f6fb;scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1b2a43;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}button{cursor:pointer}input,textarea{outline:none}a{text-decoration:none;color:inherit}button:disabled{opacity:.55;cursor:not-allowed}
:root{--ink:#1b2a43;--blue:#3267ec;--navy:#142449;--muted:#76849b;--bg:#f3f6fb;--line:#e4eaf3;--green:#159b7c;--red:#dc5671;--radius:22px;--shadow:0 15px 35px rgba(29,50,97,.055)}
.boot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;height:90dvh;color:#5a6b86;font-size:14px}.bootmark{width:78px;height:78px;display:grid;place-items:center;background:#1f3d7b;color:white;border-radius:24px;font-size:36px;font-weight:900;animation:pulse 1.8s infinite}@keyframes pulse{50%{transform:scale(1.07);filter:brightness(1.15)}}
.shell{min-height:100dvh;padding-bottom:calc(88px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#ecf2ff 0,#f4f7fb 300px,#f4f7fb 100%)}.container{max-width:990px;margin:auto;padding:0 18px}.topbar{height:76px;display:flex;align-items:center;gap:13px;justify-content:space-between}.topbar .heading{flex:1;min-width:0}.topbar h1{font-size:19px;letter-spacing:-.6px;margin:1px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar small{color:var(--muted);font-size:12px;display:block}.brandmark{border-radius:15px;background:#163c88;color:white;width:42px;height:42px;display:grid;place-items:center;font-size:23px;font-weight:900;box-shadow:0 6px 16px #3267ec33}.iconbtn{display:inline-flex;align-items:center;justify-content:center;border:0;background:white;border-radius:15px;width:43px;height:43px;color:var(--navy);box-shadow:0 4px 13px #122b4c12;font-size:21px}.avatar{background:#dde8ff;color:#2247a6;font-weight:800;font-size:15px}.page{animation:enter .26s ease both;padding-bottom:18px}@keyframes enter{from{opacity:.35;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:28px 2px 14px}.sectionhead h2{margin:0;font-size:18px;font-weight:850;letter-spacing:-.5px}.sectionhead small,.muted{color:var(--muted)}.link{background:none;border:none;color:var(--blue);font-weight:800;font-size:13px}.hero{border-radius:28px;color:#fff;background:radial-gradient(circle at 92% 8%,#6989f766,transparent 40%),linear-gradient(133deg,#192b54,#203f81 65%,#3968cb);padding:26px;position:relative;overflow:hidden;box-shadow:0 20px 38px #214c9b2b}.hero:before{content:"";position:absolute;width:230px;height:230px;border:1px solid #ffffff22;border-radius:50%;right:-65px;top:-100px;box-shadow:0 0 0 34px #ffffff07,0 0 0 75px #ffffff06}.hero>*{position:relative}.herolabel{font-size:13px;color:#c9dcff}.heroamount{font-size:clamp(29px,5.2vw,42px);font-weight:850;letter-spacing:-1.4px;margin:10px 0 20px;overflow-wrap:anywhere}.herofoot{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:9px}.herofoot span{font-size:12px;color:#d2e0ff}.herofoot button{border:1px solid #ffffff55;background:#ffffff20;color:#fff;border-radius:13px;padding:9px 13px;font-size:12px;font-weight:750}.statrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.statcard{background:#fff;padding:17px 12px;border-radius:19px;box-shadow:var(--shadow);min-width:0}.statcard .lbl{color:var(--muted);font-size:11px}.statcard strong{display:block;margin-top:7px;font-size:clamp(13px,2vw,18px);letter-spacing:-.4px;overflow-wrap:anywhere}.statcard svg{width:17px;height:17px}.up{color:#149675}.down{color:#db6575}.purp{color:#7861cc}
.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px 8px}.menu-item{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;color:#334563;font-size:12px;font-weight:720;min-width:0}.menu-icon{width:65px;height:65px;border-radius:22px;background:#e8efff;display:grid;place-items:center;color:#4168bd;font-size:26px;transition:.2s}.menu-item:active .menu-icon{transform:scale(.88)}.menu-item:nth-child(4n+2) .menu-icon{background:#e0f6ee;color:#139c79}.menu-item:nth-child(4n+3) .menu-icon{background:#fff0e7;color:#e58c4c}.menu-item:nth-child(4n) .menu-icon{background:#f0eafb;color:#8a66bd}
.card{background:white;border:1px solid #e7edf5;border-radius:22px;padding:17px;box-shadow:var(--shadow);margin-bottom:12px}.card:active{transition:.1s}.rowline{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.cardtitle{font-size:15px;font-weight:790;overflow:hidden;text-overflow:ellipsis}.cardsub{font-size:12px;color:#8390a6;margin-top:5px;line-height:1.5}.cardamount{font-weight:850;font-size:14px;white-space:nowrap}.itemicon{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:15px;background:#eef3ff;color:#315ed1;font-size:21px}.itemicon.green{background:#e6f7ef;color:#149679}.itemicon.red{background:#fff0f1;color:#d9586f}.itemicon.orange{background:#fff1df;color:#d68a35}
.chip{display:inline-flex;align-items:center;border-radius:50px;padding:5px 10px;font-weight:750;font-size:11px;background:#edf2ff;color:#3e62b4}.chip.paid{background:#def7ed;color:#168769}.chip.issued{background:#fff2e0;color:#b67a2a}.chip.partial{background:#e9e6ff;color:#7560bd}.chip.draft{background:#e9edf4;color:#7a8699}
.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fffdfef5;border-top:1px solid #e5ebf5;padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:7px;backdrop-filter:blur(18px);box-shadow:0 -7px 30px #1734550b}.navbtn{border:0;border-radius:16px;padding:9px 30px;display:flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:#8b97ab;font-weight:750;font-size:13px;min-width:140px}.navbtn.active{background:#eaf0ff;color:#2555c7}.navbtn b{font-size:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:16px;background:#3267ec;color:white;font-weight:780;font-size:14px;padding:14px 19px;min-height:48px;box-shadow:0 6px 16px #3267ec2b}.btn:active{transform:scale(.98)}.btn.secondary{background:#edf2ff;color:#2d57b5;box-shadow:none}.btn.light{background:#fff;color:#2a4478;box-shadow:none;border:1px solid #e3e9f2}.btn.danger{background:#fff0f2;color:#d64a63;box-shadow:none}.btn.block{width:100%}.btn.small{min-height:37px;padding:9px 13px;border-radius:12px;font-size:12px}
.formlabel{display:block;font-size:12px;font-weight:800;margin:15px 0 7px;color:#4a5870}.field{width:100%;background:#f8faff;border:1.5px solid #e5eaf3;border-radius:15px;padding:14px 15px;min-height:49px;color:#1c2d45;font-size:15px;transition:border .16s}.field:focus{border-color:#7c9bef;background:white}.field::placeholder{color:#acb8c8}.fieldarea{resize:vertical;min-height:90px}.picker{display:flex;align-items:center;justify-content:space-between;text-align:left}.picker .placeholder{color:#9aa6b8}.hint{font-size:11px;color:#8390a6;margin-top:7px;line-height:1.5}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.formgrid>*{min-width:0}.formactions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.divider{height:1px;background:#e8edf5;margin:16px 0}
.authwrap{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 15%,#dce6ff,#f4f7fc 55%)}.authcard{width:100%;max-width:430px;background:white;border-radius:30px;padding:32px 26px;box-shadow:0 25px 60px #253b731c}.authbrand{width:62px;height:62px;border-radius:19px;background:linear-gradient(145deg,#142959,#416ee3);display:grid;place-items:center;color:#fff;font-size:31px;font-weight:900}.authcard h1{font-size:26px;letter-spacing:-1px;margin:23px 0 7px}.authcard p{font-size:13px;color:var(--muted);line-height:1.65;margin:0 0 18px}
.overlay{position:fixed;inset:0;z-index:80;background:#07152a8a;backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;animation:fadein .18s ease}.sheet{width:100%;max-width:620px;background:#fff;border-radius:27px 27px 0 0;padding:12px 20px calc(25px + env(safe-area-inset-bottom));max-height:90dvh;overflow-y:auto;box-shadow:0 -12px 60px #070d2b25;animation:slideup .28s cubic-bezier(.16,1,.3,1)}.sheet.drag .handle{width:43px;height:5px;border-radius:12px;background:#d8e0ec;margin:0 auto 15px}.sheet h2{margin:4px 0 15px;font-size:20px;letter-spacing:-.5px}.sheetitem{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:14px 9px;border:0;background:white;border-bottom:1px solid #eff2f7;color:#273b55;font-size:14px}.sheetitem:active{background:#edf3ff}.sheetitem .grow{font-weight:710}.sheetitem small{display:block;color:#8592a7;margin-top:3px;font-weight:450}.closex{float:right;background:#f0f3f8;border:0;border-radius:12px;width:34px;height:34px;font-size:22px;color:#77869d}.dialog{border-radius:26px;margin:0 15px 20px;padding:25px;max-height:85dvh}.overlay.center{align-items:center}.selectsearch{margin:2px 0 10px}.toast{position:fixed;bottom:calc(91px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#183252;color:white;border-radius:15px;padding:13px 20px;min-width:200px;max-width:90vw;text-align:center;z-index:150;font-size:13px;font-weight:650;box-shadow:0 13px 30px #152d5060;animation:fadein .2s ease}@keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes slideup{from{transform:translateY(60px);opacity:.4}to{transform:translateY(0);opacity:1}}
.tabrow{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:3px 0 13px}.tab{border:1px solid #e3e9f4;background:#fff;color:#7988a2;border-radius:50px;padding:9px 15px;white-space:nowrap;font-size:12px;font-weight:800}.tab.active{background:#1e3f86;color:#fff;border-color:#1e3f86}.empty{text-align:center;padding:50px 20px;border:1px dashed #cdd9ec;border-radius:24px;background:#ffffffb9;color:#91a0b5}.empty span{display:block;font-size:36px;margin-bottom:12px}.empty strong{display:block;color:#4c5f7b;margin-bottom:5px}.empty small{font-size:12px}
.invoiceitem{border:1px solid #e4eaf4;border-radius:20px;padding:16px;margin-top:15px;background:#fafcff}.invoiceitem header{display:flex;justify-content:space-between;align-items:center;gap:8px}.invoiceitem h3{font-size:14px;margin:0}.preview{background:#edf4ff;border-radius:15px;padding:13px;margin-top:14px;color:#47628f;font-size:12px;line-height:1.9}.preview strong{color:#20395e;font-size:18px}.preview .twocol{display:flex;justify-content:space-between;gap:10px}.footbar{position:sticky;bottom:calc(74px + env(safe-area-inset-bottom));z-index:10;background:#f3f6fbdd;backdrop-filter:blur(10px);border-radius:18px;padding:13px 4px;display:flex;align-items:center;gap:11px}.footbar .grow strong{display:block;font-size:19px}.filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reportbox{background:#e8efff;padding:19px;border-radius:20px}.reportbox small{color:#6078a3}.reportbox strong{display:block;font-size:25px;letter-spacing:-.7px;margin-top:5px;color:#183d88}.minirow{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0}.minirow span{font-size:12px;color:#7988a0}.minirow strong{font-size:13px}.logo-photo{width:64px;height:64px;object-fit:cover;border-radius:15px;background:#f0f3fa}.pillbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media(min-width:680px){.container{padding:0 30px}.hero{padding:36px}.menu-grid{grid-template-columns:repeat(6,1fr)}.maincols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.maincols>section{min-width:0}.bottomnav{width:320px;left:50%;right:auto;transform:translateX(-50%);border:1px solid #e2e8f3;border-radius:22px 22px 0 0}.navbtn{min-width:130px}.sheet{border-radius:25px;margin-bottom:4vh;max-height:87vh}.overlay{align-items:center}.footbar{bottom:90px}}@media(max-width:360px){.statrow{gap:6px}.statcard{padding:13px 8px}.menu-icon{width:58px;height:58px}.navbtn{min-width:120px}.formgrid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.uploadchoose{display:flex;align-items:center;gap:12px;border:1.5px dashed #a9bee8;background:#f0f5ff;color:#3459aa;border-radius:17px;padding:17px;position:relative;overflow:hidden;font-size:13px;font-weight:750;cursor:pointer}.uploadchoose input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.uploadchoose:active{background:#e4ecff}
