*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:#f3f7fa;color:#102a43}a{text-decoration:none;color:inherit}.app{min-height:100vh;display:flex}aside{width:245px;background:#06283d;color:#dff8ff;padding:24px 16px;display:flex;flex-direction:column}.sidebrand{padding:4px 8px 30px}.sidebrand .brand-logo{width:190px;height:auto;background:white;border-radius:10px;padding:8px}.sidefoot{margin-top:auto;color:#8fb3c2;font-size:12px;line-height:1.8;padding:12px 8px}nav{display:grid;gap:8px}nav a{padding:13px 14px;border-radius:10px;color:#c8e3ed;font-weight:650}nav a.active,nav a:hover{background:#0b4863;color:#fff}main{flex:1;padding:32px;max-width:1450px;margin:auto;width:100%}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:11px;letter-spacing:2px;color:#0891b2;font-weight:800}h1{margin:4px 0 0;font-size:29px}h2{font-size:38px;line-height:1.08;margin:14px 0}.hero{background:linear-gradient(135deg,#06283d,#0a4f68);color:white;border-radius:22px;padding:38px;display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center}.hero p{max-width:650px;color:#c7e8f0;line-height:1.7}.pill{display:inline-block;border:1px solid #42d7e9;border-radius:999px;padding:7px 12px;font-size:12px;color:#75e7f3}.hero-card{background:#fff;color:#123247;border-radius:17px;padding:25px;box-shadow:0 20px 50px #001a2638}.hero-card strong,.hero-card span{display:block}.hero-card strong{font-size:22px;margin:7px 0}.hero-card span{color:#607d8b}.hero-card hr{border:0;border-top:1px solid #e5eef2;margin:20px 0}.btn{display:inline-block;border:1px solid #d5e3e9;background:#fff;padding:11px 17px;border-radius:9px;font-weight:750;cursor:pointer}.btn.primary{background:#0797b8;color:#fff;border-color:#0797b8}.btn.light{margin-top:10px;background:#fff;color:#06334a;border:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.stats>div{background:#fff;border:1px solid #e2edf1;border-radius:15px;padding:20px}.stats span{display:block;color:#718795;font-size:13px}.stats b{display:block;font-size:22px;margin-top:7px}.panel{background:#fff;border:1px solid #e1ebef;border-radius:16px;padding:20px;margin-top:18px}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.panelhead h3{margin:0}.panelhead a{color:#0789aa;font-weight:700}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid #edf2f4;font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#718795}.smallbtn{display:inline-block;background:#edf8fb;color:#067f9f;padding:7px 10px;border-radius:7px;font-size:12px;font-weight:750}.dangerlink{color:#c24141;font-size:12px;margin-left:8px}.status{display:inline-block;padding:5px 9px;border-radius:999px;background:#eef4f6;font-size:11px;font-weight:800}.status.paid{background:#def7ec;color:#087443}.status.unpaid{background:#fff2d8;color:#8a5a00}.status.partial{background:#e5efff;color:#2459a6}.status.cancelled{background:#ffe4e4;color:#a22}.empty{text-align:center;color:#8296a1;padding:35px}.formpanel{max-width:1050px;margin:auto}.formgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.formgrid .wide{grid-column:1/-1}label{display:block;font-size:12px;font-weight:800;color:#5b7180}input,textarea,select{width:100%;margin-top:7px;border:1px solid #d8e4e8;border-radius:9px;padding:12px;font:inherit;color:#17384a;background:#fbfdfe}h3{margin:24px 0 13px}.items{border:1px solid #e0eaee;border-radius:12px;padding:10px}.itemrow{display:grid;grid-template-columns:1fr 100px 140px 120px 35px;gap:8px;align-items:center;margin-bottom:8px}.itemrow input{margin:0}.itemrow output{font-weight:750;text-align:right}.itemrow button{border:0;background:#fff0f0;color:#b33;padding:9px;border-radius:7px;cursor:pointer}.itemrow.head{font-size:10px;text-transform:uppercase;color:#7b8f99;padding:5px}.addline{border:0;background:#edf8fb;color:#0787a7;padding:9px 12px;border-radius:8px;font-weight:750;cursor:pointer}.totals{display:flex;justify-content:flex-end;gap:15px;align-items:end;margin:20px 0}.totals label{width:170px}.grand{min-width:220px;background:#062f46;color:#fff;padding:15px;border-radius:10px}.grand span{display:block;font-size:11px;color:#a9d4df}.grand b{font-size:22px}.grand i{font-style:normal}.actions,.invoice-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.invoice-actions{max-width:900px;margin:0 auto 15px}.invoice{background:#fff;max-width:900px;margin:auto;padding:48px;border-radius:4px;box-shadow:0 10px 30px #082f4914}.invtop{display:flex;justify-content:space-between;border-bottom:2px solid #0a7896;padding-bottom:25px}.invtop .brand-logo{width:300px;height:auto;max-height:90px;object-fit:contain;object-position:left}.invtop p{color:#607884;line-height:1.6;font-size:12px}.invtitle{text-align:right}.invtitle span{display:block;color:#0b8daa;font-size:12px;letter-spacing:2px;font-weight:900}.invtitle strong{display:block;font-size:27px;margin:5px 0}.invtitle small{color:#667b86}.bill{display:flex;justify-content:space-between;padding:28px 0}.bill div{display:grid;gap:4px}.bill small{color:#8497a0;font-size:10px;font-weight:900;letter-spacing:1px}.bill strong{font-size:18px}.bill span{font-size:12px;color:#627984}.invtable th{background:#f1f8fa}.invbottom{display:grid;grid-template-columns:1fr 280px;gap:30px;margin-top:25px}.paybox{background:#f2f8fa;border-radius:10px;padding:17px;display:grid;gap:7px;font-size:12px}.paybox>b{color:#087d99;font-size:11px;letter-spacing:1px;margin-bottom:3px}.summary div{display:flex;justify-content:space-between;padding:8px 0;color:#617782;font-size:13px}.summary .total{border-top:2px solid #0a7896;color:#12384a;font-size:18px;font-weight:800;margin-top:7px;padding-top:13px}.invnote{margin-top:30px;padding-top:20px;border-top:1px solid #e1eaed;color:#6a7e88;font-size:11px;line-height:1.6}.invoice footer{text-align:center;margin-top:28px;color:#82959e;font-size:10px}.brand-logo{max-width:100%;display:block}@media(max-width:850px){aside{width:76px;padding:18px 8px}.sidebrand .brand-logo{width:60px;height:60px;object-fit:cover;padding:5px}.sidefoot{display:none}nav a{font-size:0;text-align:center}nav a:first-letter{font-size:18px}main{padding:18px}.hero{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.itemrow{grid-template-columns:1fr 70px 100px 90px 30px}.itemrow.head{display:none}.invoice{padding:25px}.invtop{flex-direction:column;gap:20px}.invtitle{text-align:left}.invbottom{grid-template-columns:1fr}.invoice-actions{justify-content:space-between}}
@media print{body{background:white}.app>aside,main>header,.invoice-actions{display:none!important}main{padding:0}.invoice{box-shadow:none;margin:0;max-width:none;padding:25mm 15mm;border:0}.invoice .status{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.alert{padding:12px 15px;border-radius:10px;background:#fff0f0;color:#9b3030;border:1px solid #ffd1d1;margin:0 0 18px}.alert.success{background:#eafaf3;color:#087443;border-color:#c9eedc}.muted{color:#718795;font-size:13px;line-height:1.6}.loginbody{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#06283d,#0b637d);padding:20px}.loginbox{width:min(440px,100%);background:#fff;border-radius:20px;padding:38px;box-shadow:0 25px 80px #001b2c66}.loginbox .brand-logo{width:230px;max-height:90px;object-fit:contain;object-position:left;margin-bottom:22px}.loginbox h1{margin:8px 0}.loginbox p{color:#718795;margin-bottom:24px}.loginbox form{display:grid;gap:15px}.full{width:100%;text-align:center;margin-top:4px}.loginbox small{display:block;color:#82939d;margin-top:18px;line-height:1.6}.inlineform{display:grid;grid-template-columns:100px 150px 145px auto;gap:6px;min-width:500px}.inlineform input,.inlineform select{margin:0;padding:8px;font-size:12px}.sidebrand b{display:block;color:#fff;margin-top:10px;font-size:15px}.sidebrand small{display:block;color:#7fb5c6;font-size:10px;letter-spacing:.8px;margin-top:3px}.sidefoot a{color:#d7edf3;font-weight:700}.sidebrand .brand-logo{max-height:80px;object-fit:contain;object-position:left}.invoice .brand-logo{max-width:300px}.hero-card .brand-logo{max-width:220px;max-height:70px;object-fit:contain;object-position:left}
@media(max-width:850px){.inlineform{grid-template-columns:1fr;min-width:0}.inlineform input,.inlineform select{width:100%}}
