:root{--ink:#183b43;--muted:#71848a;--teal:#087f80;--dark:#123e47;--line:#dfe8e8;--bg:#f3f7f7;--white:#fff}*{box-sizing:border-box}body{margin:0;font:14px/1.6 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.2;margin-bottom:0}h2{font-size:21px;letter-spacing:-.5px;margin-bottom:12px}h3{font-size:17px}h4{margin-bottom:7px}p{color:#62777d}small,.small{font-size:12px;color:var(--muted)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;background:var(--teal);color:#fff;padding:11px 18px;font:600 13px/1.3 Arial;cursor:pointer;text-decoration:none;white-space:nowrap}button:hover,.button:hover{filter:brightness(.94);text-decoration:none}button:disabled{opacity:.6}.ghost{background:transparent;color:var(--teal);border-color:#b7cfd0}.light{background:#fff;color:var(--teal)}.danger{background:#af4242}.wide{width:100%}input,select,textarea{font:14px Arial;color:var(--ink);background:white;border:1px solid #cad9db;border-radius:7px;min-width:0;width:100%;padding:11px 12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #087f8015}textarea{min-height:100px;resize:vertical}label{display:block;font-size:12px;font-weight:600;margin-bottom:16px;color:#4b6870}label input,label select,label textarea{display:block;margin-top:7px}aside{width:230px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 22px;overflow-y:auto}.logo{display:flex;gap:12px;align-items:center;font-size:20px;color:var(--ink);font-weight:bold;line-height:1.2}.logo small{font-size:9px;letter-spacing:2px}.mark{background:var(--teal);color:white;border-radius:14px;width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:bold;position:relative}.mark span{font-size:19px;color:#a8e2d7;align-self:flex-start;margin-top:3px}.nav-label{font-size:10px;letter-spacing:1.8px;color:#92a4a8;margin:36px 12px 12px}nav a{display:block;padding:11px 14px;margin:3px 0;border-radius:7px;color:#557079}nav a.active{background:#e7f3f1;color:var(--teal);font-weight:bold}nav a:hover{background:#f1f6f6;text-decoration:none}.side-bottom{margin-top:auto;padding-top:30px}.side-bottom p{margin:16px 0 12px}.workspace{margin-left:230px;padding:30px 38px;max-width:1700px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:20px}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px;color:var(--teal);margin-bottom:9px}.top-actions{display:flex;align-items:center;gap:20px;color:var(--muted);font-size:12px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px;margin-bottom:22px}.welcome{background:var(--dark);color:#fff;border-radius:12px;padding:30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.welcome h2{font-size:27px}.welcome p{margin:0;color:#b3d0d2}.welcome .eyebrow{color:#8bd7c7}.grid{display:grid;gap:22px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stats{gap:16px}.stats .card{padding:22px}.stats h2{font-size:23px;margin:12px 0 7px}.muted{color:var(--muted);font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.section-head h2{margin-bottom:0}.section-head p{margin:6px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7c9096;background:#f5f8f8;padding:13px 12px;white-space:nowrap}td{border-bottom:1px solid #edf1f1;padding:16px 12px;vertical-align:top}td a{font-weight:600}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.badge{display:inline-block;background:#eef4f4;color:#607e83;border-radius:5px;padding:4px 9px;font-size:10px;font-weight:bold}.paid{background:#e4f5ed;color:#228058}.unpaid{background:#fff1dc;color:#a56d1e}.partial{background:#e7efff;color:#426dc4}.overdue{background:#fee9e8;color:#b44943}.void{background:#eee;color:#777}.inline,.filters{display:flex;align-items:center;gap:12px}.inline input{width:300px}.filters{align-items:end;margin-bottom:23px;flex-wrap:wrap}.filters>input{max-width:320px}.filters>select{width:180px}.filters label{margin:0}.filters label select{min-width:220px}.empty{padding:40px;text-align:center;color:var(--muted)}.spaced{margin-top:24px}.alert,.success{padding:15px 20px;border-radius:8px;margin-bottom:20px}.alert{background:#fff0ed;color:#a54137;border:1px solid #f1d7d2}.success{background:#e5f4ed;color:#286a50;border:1px solid #c6e5d6}footer{font-size:11px;color:#8ba0a4;padding:20px 0;text-align:center}.line-table input{min-width:90px}.line-table th:first-child{width:50%}.line-table td{padding:10px 5px}.line-table td:first-child{padding-left:0}.line-total{white-space:nowrap;text-align:right;vertical-align:middle}.totals-box{background:#f5f9f8;border-radius:10px;padding:22px}.total-line{display:flex;justify-content:space-between;gap:25px;padding:9px 0}.grand{border-top:2px solid var(--teal);font-size:18px;margin-top:10px;padding:15px 0}.document-actions{display:flex;justify-content:space-between;margin:0 0 20px}.paper{background:white;max-width:980px;margin:0 auto 25px;padding:45px;border:1px solid var(--line);border-radius:10px}.document-head{display:flex;justify-content:space-between;gap:30px;padding-bottom:25px;border-bottom:2px solid var(--teal)}.document-head h2{font-size:22px}.right{text-align:right}.document-meta{padding-top:25px}.document-totals{width:360px;max-width:100%;margin:20px 0 25px auto}.clear{border-top:1px solid var(--line);padding-top:20px}.document-footer{margin-top:40px;border-top:1px solid var(--line);padding-top:15px;font-size:10px;color:var(--muted);text-align:center}.receipt-amount{background:#eaf5f2;padding:25px;margin:25px 0}.receipt-amount h1{font-size:36px;color:var(--teal);margin-top:8px}.statement-stats{background:#f0f7f5;padding:20px;margin:25px 0;font-size:11px}.statement-stats strong{display:block;font-size:17px;margin-top:5px}details summary{cursor:pointer;font-weight:bold}details[open] summary{margin-bottom:20px}.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:white}.login-story{background:var(--dark);padding:80px;display:flex;flex-direction:column;justify-content:center;color:white}.login-story .mark{margin-bottom:65px;background:#267178;width:70px;height:70px;font-size:40px}.login-story h1{font-size:62px;line-height:1.1;letter-spacing:-3px;margin:14px 0 28px}.login-story .eyebrow{color:#85c5bd}.login-story p{color:#b1cdcf;font-size:17px}.login-tag{font-size:10px;letter-spacing:2px;margin-top:65px;color:#80a9ae}.login-form{align-self:center;padding:60px;max-width:560px;width:100%;margin:auto}.login-form h2{font-size:27px}.login-form form{margin-top:30px}.login-form footer{margin-top:50px}.setup{padding:50px 20px}.install{max-width:740px;margin:auto;padding:40px}.install h1{margin-bottom:15px}
@media(max-width:1150px){.four{grid-template-columns:repeat(2,1fr)}.workspace{padding:24px}.login-story{padding:45px}.login-story h1{font-size:48px}}
@media(max-width:760px){aside{position:static;width:100%;padding:16px;display:block}nav{display:flex;flex-wrap:wrap;margin-top:14px}nav a{font-size:12px;padding:8px 10px}.nav-label,.side-bottom{display:none}.workspace{margin-left:0;padding:18px}.topbar{align-items:start}.topbar h1{font-size:24px}.top-actions span{display:none}.top-actions .button{padding:10px}.welcome{display:block}.welcome .button{margin-top:18px}.two,.three{grid-template-columns:1fr}.four{gap:10px}.stats .card{padding:15px}.stats h2{font-size:18px}.card{padding:18px}.section-head{flex-wrap:wrap}.inline{width:100%}.inline input{width:100%}.paper{padding:22px}.document-head{gap:15px}.document-head h2{font-size:17px}.document-meta{grid-template-columns:1fr 1fr}.login{display:block}.login-story{padding:35px}.login-story h1{font-size:40px}.login-story .mark{margin-bottom:25px}.login-story p,.login-tag{display:none}.login-form{padding:35px}.statement-stats{grid-template-columns:repeat(3,1fr);gap:10px}.statement-stats strong{font-size:13px}.install{padding:25px}.filters label{width:100%}.filters label select{width:100%}}
@media print{@page{size:A4;margin:14mm}body{background:white;font-size:11px;color:#182f35}aside,.topbar,.document-actions,.no-print,.workspace>footer,.success,.alert:not(.paper .alert){display:none!important}.workspace{margin:0;padding:0;max-width:none}.paper{border:0;border-radius:0;padding:0;max-width:none;margin:0;box-shadow:none}.paper p{font-size:11px}.paper .grid.two{grid-template-columns:1fr 1fr}.paper .grid.three{grid-template-columns:repeat(3,1fr)}.paper th{background:#f3f5f5}.paper td{padding:10px 7px}.paper table{font-size:10px}tr{break-inside:avoid}thead{display:table-header-group}.document-head,.document-totals,.document-footer{break-inside:avoid}.table-wrap{overflow:visible}.document-footer{margin-top:25px}.paper a{color:inherit}.badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-amount h1{font-size:28px}}
@media screen and (max-width:760px){.side-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line)}.side-bottom>.badge{display:none}.side-bottom p{margin:0;font-size:12px}.side-bottom .ghost{padding:7px 12px}}
