@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f6f2;--card:#fff;--ink:#172c26;--muted:#7b8780;--line:#e4e9e4;--green:#126b55;--soft:#e9f2ec;--orange:#b4773c;--shadow:0 12px 40px #213e2410}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'Manrope',system-ui,sans-serif}body.dark{--bg:#12221c;--card:#1b3027;--ink:#e7f2eb;--muted:#a0b2a6;--line:#32473c;--green:#6fd8b0;--soft:#294739;--shadow:none}button,input,select,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green)}button:disabled{opacity:.5;cursor:wait}button,.button{border:0;background:var(--green);color:white;padding:12px 18px;border-radius:11px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}body.dark button{color:#10281b}.secondary{background:var(--card);border:1px solid var(--line);color:var(--ink)}.ghost{background:transparent;color:var(--muted);padding:8px 10px}.danger{color:#b74136;background:#fff0ed}.small{font-size:12px;padding:8px 10px}.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.side{padding:30px 19px;background:var(--card);border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:19px;letter-spacing:-.8px;font-weight:800;margin:0 10px 38px}.brand img{width:36px}.brand small{display:block;font-size:9px;font-weight:600;color:var(--muted);letter-spacing:1.5px;margin-top:3px}.navlabel{text-transform:uppercase;font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:0 13px 13px}.side nav{display:grid;gap:5px}.nav{width:100%;justify-content:flex-start;background:transparent;color:var(--muted);font-size:13px;padding:13px 15px}.nav span{font-size:18px;width:22px;font-weight:500}.nav.active{background:var(--soft);color:var(--green)}.sidefoot{margin-top:auto;padding:22px 10px 0}.avatar{display:inline-grid;place-items:center;background:var(--soft);color:var(--green);width:36px;height:36px;border-radius:12px;font-weight:800}.account{display:flex;gap:10px;align-items:center}.account strong{display:block;font-size:12px;max-width:136px;overflow:hidden;text-overflow:ellipsis}.account small{color:var(--muted);font-size:10px}.workspace{min-width:0}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:10px}.crumb{font-size:12px;color:var(--muted)}.crumb b{color:var(--ink);font-weight:600}.topactions{display:flex;align-items:center;gap:12px}.badge{display:inline-block;background:var(--soft);color:var(--green);border-radius:30px;padding:6px 10px;font-size:10px;font-weight:700}.content{max-width:1350px;padding:36px 40px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:var(--green);font-weight:800;margin-bottom:10px}h1{font-size:30px;letter-spacing:-1.1px;margin:0 0 8px;line-height:1.2}h2{font-size:17px;letter-spacing:-.4px;margin:0 0 7px}h3{font-size:14px;margin:0 0 10px}.muted,.subtitle{color:var(--muted);line-height:1.6}.subtitle{margin:0;font-size:12px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px}.actions{display:flex;gap:9px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:25px 0}.stat{background:var(--card);border:1px solid var(--line);padding:20px;border-radius:15px;min-height:140px}.stat.featured{background:#126b55;color:#fff;border-color:#126b55}.stat .label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.stat.featured .label,.stat.featured small{color:#c5ded2}.stat strong{display:block;font-size:27px;letter-spacing:-1px;margin:19px 0 7px;white-space:nowrap}.stat small{font-size:10px;color:var(--muted)}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:23px;margin-bottom:20px}.cardhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.chart{display:flex;height:180px;gap:18px;align-items:flex-end;border-bottom:1px solid var(--line);padding:0 10px 25px;margin-top:25px}.month{flex:1;height:100%;display:flex;align-items:flex-end;gap:5px;position:relative;justify-content:center}.bar{width:16px;min-height:3px;background:var(--green);border-radius:5px 5px 0 0}.bar.exp{background:#d9c49b}.month small{position:absolute;bottom:-22px;font-size:10px;color:var(--muted)}.legend{display:flex;gap:18px;font-size:10px;color:var(--muted)}.dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:var(--green);margin-right:5px}.dot.gold{background:#d9c49b}.scan-card{background:#edf2e8;color:#24382c;border:1px solid #dfe7d7;position:relative;overflow:hidden}.scan-art{height:110px;display:grid;place-items:center}.paper{width:90px;background:#fff;padding:15px;box-shadow:0 8px 16px #17342212;transform:rotate(-9deg);border-radius:4px;border-bottom:3px dashed #dae3d5}.paper i{display:block;height:4px;background:#dce5da;margin:6px 0}.paper i:last-child{background:#126b55;width:65%}.scan-card p{font-size:12px;color:#6d7f68;line-height:1.8}.scan-card button{width:100%}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700;padding:12px 10px;background:var(--bg)}td{padding:15px 10px;border-bottom:1px solid var(--line)}tr:last-child td{border:0}.tablewrap{overflow:auto}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:13px}.empty .symbol{font-size:30px;color:#9db8a8;margin-bottom:12px}.toolbar{display:flex;gap:12px;margin-bottom:18px;align-items:center;flex-wrap:wrap}.toolbar input{max-width:340px}.toolbar select{width:auto}.tag{font-size:10px;border-radius:6px;padding:5px 8px;background:var(--soft);color:var(--green)}.tag.expense{background:#f6efe1;color:#a37a39}.notice{padding:14px 18px;background:var(--soft);border-radius:12px;font-size:12px;line-height:1.7;margin:14px 0}.notice.warn{background:#fff4dc;color:#775622}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field>span,label{font-size:11px;font-weight:700;color:var(--muted)}input,select,textarea{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:11px 12px;min-width:0;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #41826315}textarea{resize:vertical}input[type=checkbox]{width:auto}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px;background:var(--soft);border-radius:12px;margin:12px 0}.totals .field{margin:0}.totals input{font-size:18px;font-weight:700}.totals .grand input{color:var(--green)}dialog{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:20px;padding:28px;width:760px;max-width:calc(100vw - 24px);max-height:92dvh;box-shadow:var(--shadow)}dialog::backdrop{background:#10271e88;backdrop-filter:blur(4px)}.dialoghead{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.dialoghead h2{font-size:22px}.dialogactions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.uploadbox{border:1.5px dashed #9fbca9;border-radius:13px;background:var(--soft);padding:20px;margin-bottom:23px}.uploadbox h3{color:var(--green)}.uploadbox p{font-size:11px;color:var(--muted)}.attachments{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.attachment{padding:8px;background:var(--card);border:1px solid var(--line);border-radius:9px;font-size:11px;display:flex;align-items:center;gap:6px}.attachment img{width:46px;height:46px;object-fit:cover;border-radius:5px}.lineitem{display:grid;grid-template-columns:2fr .65fr 1fr .65fr 32px;gap:7px;margin:7px 0}.lineitem input{padding:10px 7px;font-size:12px}.vatrow{display:grid;grid-template-columns:.6fr 1fr 1fr 32px;gap:8px;margin:8px 0}.auth{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.authaside{background:#126b55;color:#fff;padding:55px 10%;display:flex;flex-direction:column;justify-content:center}.authaside .brand{margin:0 0 70px}.authaside h1{font-size:48px;max-width:470px;line-height:1.15;letter-spacing:-2px}.authaside p{color:#c4dccf;max-width:400px;line-height:1.9}.authaside .mock{margin:40px 0;background:#ffffff12;border:1px solid #ffffff30;border-radius:18px;padding:25px;max-width:400px}.mock strong{display:block;font-size:30px;margin-top:14px}.authmain{display:grid;place-items:center;padding:35px}.authform{width:100%;max-width:370px}.authform h2{font-size:25px}.authform .subtitle{margin-bottom:25px}.authform form>button{width:100%;margin-top:7px}.authlinks{display:flex;justify-content:space-between;font-size:11px;margin-top:20px}.authlinks button{font-size:11px;padding:5px;background:none;color:var(--green)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:15px 24px;background:#203c2f;color:#fff;border-radius:12px;box-shadow:var(--shadow);z-index:100;display:none;max-width:90vw;font-size:13px}.loading{text-align:center;padding-top:30vh;line-height:3;font-weight:800;letter-spacing:2px}.loading small{font-weight:400;letter-spacing:0}.receipt{background:white;color:#17251d;padding:30px}.receipt header{display:flex;justify-content:space-between;gap:20px;margin-bottom:35px}.receipt p{font-size:12px;line-height:1.8}.receipt th{background:#f3f5f2;color:#64766b}.receipt td{border-color:#ddd}.summaryline{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.planprice{font-size:30px;font-weight:800;margin:20px 0}.phoneonly{display:none}.footer-note{font-size:10px;color:var(--muted);margin:20px 0}.recoverycode{word-break:break-all;background:var(--bg);padding:16px;font-family:monospace}.error{color:#b74136;font-size:12px;line-height:1.6}.pending{opacity:.6}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
@media(max-width:1100px){.side{padding:24px 12px}.shell{grid-template-columns:205px minmax(0,1fr)}.content{padding:28px 24px}.topbar{padding:0 24px}.stats{gap:10px}.stat{padding:16px}.stat strong{font-size:22px}.grid{grid-template-columns:1.4fr 1fr}}
@media(max-width:760px){.shell{display:block}.side{position:fixed;top:auto;bottom:0;height:auto;width:100%;z-index:20;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:var(--card)}.side .brand,.navlabel,.sidefoot{display:none}.side nav{display:flex;overflow-x:auto;gap:0}.nav{flex:1;min-width:62px;flex-direction:column;gap:3px;font-size:9px;padding:8px 4px;border-radius:10px}.nav span{font-size:18px}.nav[data-tab=proforma],.nav[data-tab=reports]{display:none}.topbar{height:65px;padding:0 18px}.crumb{font-size:11px}.topactions{gap:4px}.topactions .badge{display:none}.content{padding:25px 16px 110px}.heading{align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}h1{font-size:27px}.heading .actions{width:100%}.heading .actions button{flex:1;padding:12px}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.stat{min-height:125px;padding:16px}.stat strong{font-size:24px}.grid{grid-template-columns:1fr}.card{padding:18px}.scan-card .scan-art{float:right;width:100px}.scan-card button{width:auto}.fields{grid-template-columns:1fr}.totals{gap:7px;padding:12px}.totals input{font-size:15px;padding:10px 6px}.totals label{font-size:9px}.auth{grid-template-columns:1fr}.authaside{padding:30px 25px}.authaside .brand{margin:0 0 25px}.authaside h1{font-size:31px;letter-spacing:-1px}.authaside p,.authaside .mock{display:none}.authmain{padding:30px 25px}.authform{max-width:420px}dialog{padding:20px 16px}.dialoghead h2{font-size:20px}.lineitem{grid-template-columns:1.5fr .6fr .9fr .65fr 24px;gap:4px}.lineitem input{font-size:11px}.phoneonly{display:block}.report-grid{grid-template-columns:1fr}.toolbar input{max-width:none}.receipt{padding:10px}.receipt header{flex-direction:column}.chart{gap:10px}}
@media print{body>*{display:none!important}body>#printarea{display:block!important;background:#fff;color:#111;padding:20px}#printarea .actions{display:none}#printarea table{font-size:11px}#printarea .card{border:0}}

.expense-products{margin:20px 0}.expense-product{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0;background:var(--bg)}.product-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;font-size:12px}.product-fields{display:grid;grid-template-columns:1fr .7fr 1fr .7fr;gap:10px}.product-fields .field{margin-bottom:10px}.product-totals{display:flex;justify-content:space-between;gap:8px;font-size:11px;border-top:1px solid var(--line);padding-top:12px}.product-totals b{display:block;margin-top:4px;font-size:13px}.expense-products #itemsummary{margin:12px 0}.saved-products{min-width:620px}@media(max-width:600px){.product-fields{grid-template-columns:1fr 1fr}.expense-product{padding:12px}.product-totals{font-size:10px}}@media print{.saved-products{min-width:0;font-size:9px}}
