:root{--violet:#7057D9;--ink:#29243d;--muted:#77738a;--line:#e9e6f0;--bg:#f6f5fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.6}a{color:var(--violet);text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--violet);border-radius:8px;background:var(--violet);color:white;padding:10px 18px;cursor:pointer;font-weight:600}button:disabled{opacity:.6;cursor:wait}.secondary{background:white;border-color:var(--line);color:var(--ink)}.danger{background:#fff0f0;color:#b83245;border-color:#f1c4cd}header{height:84px;background:white;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:15px}.header-right{display:flex;align-items:center;gap:20px}header form{margin:0}main{padding:32px 38px;max-width:1500px;margin:auto}footer{padding:24px 38px;color:var(--muted);font-size:12px}.with-sidebar{margin-left:246px}aside{width:246px;position:fixed;inset:0 auto 0 0;background:white;border-right:1px solid var(--line);overflow:auto;padding:25px 18px}.brand{font-size:25px;font-weight:800;color:var(--ink);letter-spacing:-1px;display:flex;align-items:center;gap:9px}.brand-icon{background:var(--violet);color:white;border-radius:9px;padding:0 10px}.business-name{margin:25px 8px;padding-bottom:20px;border-bottom:1px solid var(--line);font-weight:600}.business-name a{font-size:12px;font-weight:400}nav summary{cursor:pointer;text-transform:uppercase;letter-spacing:1px;font-size:11px;color:var(--muted);padding:15px 12px 7px}nav details{margin:4px 0}.nav-link{display:flex;align-items:center;gap:13px;color:#656078;padding:9px 13px;border-radius:8px}.nav-link span{font-size:19px;min-width:20px;text-align:center}.nav-link:hover,.nav-link.active{background:#f0ecfc;color:var(--violet)}.logout{width:100%;margin-top:28px}.compact{font-size:19px}.mobile{display:none}h1{font-size:29px;margin:0 0 4px;letter-spacing:-.8px}h2{font-size:18px;margin:0 0 15px}p{margin:0 0 18px}.muted{color:var(--muted)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.card{background:white;border:1px solid var(--line);border-radius:13px;padding:25px;margin-bottom:22px;box-shadow:0 3px 10px #29243d03}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:25px 0}.metric{padding:22px;background:white;border:1px solid var(--line);border-radius:12px}.metric strong{font-size:25px;display:block;margin:10px 0}.metric small{color:var(--muted)}label{display:block;font-weight:600;margin:0 0 6px}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #dcd8e7;border-radius:7px;background:white;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:2px solid #7057d940;border-color:var(--violet)}input[type=checkbox]{width:auto;margin-right:7px}.field{margin-bottom:18px}.full{grid-column:1/-1}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);background:#faf9fc;text-align:left;font-weight:600}th,td{padding:14px 17px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}.right{text-align:right}.badge{display:inline-block;font-size:11px;border-radius:20px;padding:4px 10px;background:#f0ecfc;color:var(--violet)}.badge.paid{background:#e9f7f0;color:#29825c}.search{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}.search input{max-width:270px}.empty{text-align:center;padding:45px;color:var(--muted)}.notice,.errors{padding:17px 22px;border-radius:9px;margin-bottom:24px}.notice{background:#eaf5ee;color:#256944}.errors{background:#fff0f1;color:#a73345}.auth-card{max-width:470px;margin:35px auto}.auth-card h1{margin-bottom:8px}.auth-links{display:flex;justify-content:space-between;margin-top:20px;font-size:13px}.hero{max-width:900px;margin:70px auto;text-align:center}.hero h1{font-size:58px;line-height:1.15;margin-bottom:25px}.hero p{font-size:19px;color:var(--muted)}.hero .actions{justify-content:center}.hero-label{color:var(--violet);font-size:12px;letter-spacing:2px;text-transform:uppercase;font-weight:700}.hero-features{margin-top:60px;text-align:left}.pagination{display:flex;justify-content:space-between;padding-top:20px}.line-row{display:grid;grid-template-columns:3fr 1fr 1fr 1fr 1fr 1fr auto;gap:10px;margin-bottom:12px}.line-head{color:var(--muted);font-size:11px;text-transform:uppercase}.totals{margin-left:auto;max-width:330px}.totals div{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line)}.totals .total{font-size:20px;font-weight:700;color:var(--violet)}.tabs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.tabs a{background:white;border:1px solid var(--line);padding:8px 14px;border-radius:7px}details.section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}details.section>summary{font-weight:600;cursor:pointer;margin-bottom:15px}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{width:auto}.inline-form button{padding:7px 12px}nav[role=navigation]{margin-top:18px}nav[role=navigation] svg{width:16px}nav[role=navigation] a,nav[role=navigation] span{padding:5px}pre{white-space:pre-wrap}.break{white-space:normal}.denied{max-width:600px;margin:80px auto}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:22px}@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.with-sidebar{margin-left:210px}aside{width:210px}.header-right{gap:12px}main{padding:24px}.line-row{grid-template-columns:2fr 1fr 1fr}.hero h1{font-size:45px}}@media(max-width:760px){aside{display:none;z-index:10;width:260px;top:70px}.menu-open aside{display:block}.with-sidebar{margin-left:0}.mobile{display:block}header{height:70px;padding:10px 16px}.header-right{gap:10px;font-size:11px}.header-right>a:first-child{display:none}.compact{font-size:16px}main{padding:20px 15px}.grid,.two-col{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:21px}.card{padding:18px}.page-heading{align-items:flex-start}h1{font-size:25px}.hero{margin:35px auto}.hero h1{font-size:36px}.hero p{font-size:16px}.line-row{grid-template-columns:1fr 1fr}.line-row input:first-child{grid-column:1/-1}.line-head{display:none}.header-right button{padding:7px}.auth-card{margin:15px auto}.search input{max-width:200px}}

input,select,textarea{min-width:0}.break{overflow-wrap:anywhere}@media(max-width:760px){.profile-name{display:none}.page-heading{flex-wrap:wrap}.header-right{min-width:0}}

.brand img{display:block;max-width:100%;object-fit:contain;height:auto}@media(max-width:760px){header .brand img{width:108px}}

.party-section>summary{font-weight:700;color:#7057D9;cursor:pointer;margin-bottom:18px}.preserve-lines{white-space:pre-line}.party-section .grid{margin-top:16px}.record-select-search{margin-bottom:8px}
.line-row input[type=hidden]{display:none}.line-row{position:relative;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(70px,1fr)) 70px 90px 85px 40px}.item-options{font-size:12px}.item-options[open]{min-width:190px;background:#fff;border:1px solid #e7e2f1;border-radius:7px;padding:12px}.item-options input,.item-options select{margin-bottom:10px}@media(max-width:760px){.line-row{display:flex;flex-direction:column;align-items:stretch}.line-head{display:none}.item-options[open]{min-width:0}}

.line-field{margin:0;min-width:0}.line-field input,.line-field select{width:100%}.mobile-field-label{display:none}@media(max-width:760px){.mobile-field-label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}}

/* Business selection */
.business-picker{max-width:1120px;margin:22px auto 60px}.business-picker-intro{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#eee9fb;border:1px solid #e3dbf7;border-radius:22px;padding:42px 44px;margin-bottom:38px;overflow:hidden}.business-picker-eyebrow{display:block;color:#6245bb;font-size:11px;font-weight:750;letter-spacing:2px;margin-bottom:12px}.business-picker-intro h1{font-size:38px;line-height:1.2;letter-spacing:-1.3px;margin-bottom:14px}.business-picker-intro p{max-width:540px;color:#655c7b;font-size:15px;margin:0;overflow-wrap:anywhere}.business-picker-admin{display:inline-flex;gap:12px;margin-top:18px;font-size:13px;font-weight:600}.business-picker-art{display:flex;align-items:center;gap:20px;flex-shrink:0;color:#7157b4}.business-picker-art>svg{width:78px;height:78px;stroke-width:1.1;transform:rotate(-9deg)}.business-picker-art>span{font-size:17px;line-height:1.5;font-weight:600}.business-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.business-picker-heading h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0}.business-picker-heading h2 span{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;background:#eae5f8;border-radius:8px;font-size:12px;color:#7057d9}.business-picker-heading p{font-size:13px;color:var(--muted);margin:0}.business-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.business-picker-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 5px 20px #29243d04}.business-picker-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:25px}.business-picker-icon{display:inline-flex;width:50px;height:50px;border-radius:14px;align-items:center;justify-content:center;color:#7057d9;background:#f0ecfc}.business-picker-icon svg{width:26px;height:26px}.business-picker-access{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#36735b}.business-picker-access>span{width:6px;height:6px;border-radius:50%;background:#4a9875}.business-picker-card h3,.business-picker-create h3{font-size:20px;line-height:1.4;letter-spacing:-.35px;margin:0 0 6px;overflow-wrap:anywhere}.business-picker-description{font-size:12px;color:var(--muted);margin-bottom:24px}.business-picker-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--line);margin:0 0 22px}.business-picker-details dt{font-size:11px;color:var(--muted);margin-bottom:5px}.business-picker-details dd{font-size:13px;font-weight:600;margin:0;overflow-wrap:anywhere}.business-picker-card form{margin-top:auto}.business-picker-card button{width:100%;justify-content:space-between;padding:12px 16px;border-radius:10px}.business-picker-create{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;text-align:center;border:1.5px dashed #d6cde9;border-radius:18px;background:#f9f7fd;padding:28px;color:var(--ink);transition:background .18s,border-color .18s}.business-picker-create:hover{background:#f0ebfb;border-color:#9c85d7}.business-picker-plus{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:#eee8fa;color:#7057d9;border-radius:50%;font-size:29px;font-weight:400;margin-bottom:20px}.business-picker-create p{font-size:13px;color:var(--muted);margin:5px 0 22px}.business-picker-create-link{color:#7057d9;font-size:13px;font-weight:600}.business-picker-create-link span{margin-left:10px}.business-picker-footnote{display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin:30px 0 0}.business-picker-footnote svg{width:16px;height:16px;flex-shrink:0}.business-picker-empty{grid-column:1/-1;align-items:center;text-align:center;padding:40px 24px}.business-picker-empty .business-picker-icon{margin-bottom:20px}.business-picker-empty p{color:var(--muted);max-width:380px;margin:8px 0 24px}.business-picker a:focus-visible,.business-picker button:focus-visible{outline:3px solid #a58ce9;outline-offset:4px}@media(max-width:1100px){.business-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-picker-art>span{display:none}}@media(max-width:600px){.business-picker{margin:8px auto 30px}.business-picker-intro{padding:28px 24px;border-radius:16px;margin-bottom:28px}.business-picker-intro h1{font-size:30px}.business-picker-intro p{font-size:14px}.business-picker-art{display:none}.business-picker-heading{align-items:flex-start;flex-direction:column;gap:6px}.business-picker-grid{grid-template-columns:1fr;gap:16px}.business-picker-card{padding:24px}.business-picker-create{min-height:260px}.business-picker-footnote{align-items:flex-start;text-align:center}}

.customer-statement .items{margin-bottom:28px}.customer-statement .ageing-title{margin-top:24px}.customer-statement .ageing{margin-bottom:20px}.customer-statement .ageing th,.customer-statement .ageing td{text-align:center}.customer-statement>.keep-together>p{white-space:normal}

.status-created{background:#eaf0ff;color:#3859a5}.status-unpaid{background:#fff4d6;color:#8b6114}.status-partially-paid{background:#fff0df;color:#a05215}.status-overdue{background:#ffe8ec;color:#b02942}.status-paid{background:#e6f5ec;color:#26704a}.status-cancelled{background:#eeedf1;color:#686273}.invoice-statuses{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.document-preview-modal.invoice-payment-modal{width:min(580px,calc(100% - 24px));height:auto;max-height:90dvh}.invoice-payment-form{padding:24px;max-height:calc(90dvh - 72px);overflow:auto}.invoice-payment-summary{display:flex;justify-content:space-between;gap:16px;background:#f5f1fc;border:1px solid #e8dff5;border-radius:10px;padding:16px;margin-bottom:18px}.invoice-payment-summary span{display:block;font-size:12px;color:var(--muted)}.invoice-payment-summary strong{display:block;margin-top:3px;overflow-wrap:anywhere}.invoice-payment-form .actions{justify-content:flex-end}.invoice-payment-form .errors{margin-bottom:18px}@media(max-width:600px){.invoice-payment-form{padding:18px}.invoice-payment-summary{flex-direction:column;gap:10px}.invoice-payment-form .grid{grid-template-columns:1fr}}

.receipt-view{max-width:900px;margin:0 auto;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.receipt-document{display:block;border:0;width:100%;height:1100px;max-height:80dvh;background:white}@media(max-width:760px){.receipt-document{height:85dvh;max-height:none}}

.totals{max-width:480px}.invoice-summary{white-space:normal}.invoice-summary td{padding:10px;border-bottom:1px solid var(--line)}.invoice-summary td:last-child{white-space:nowrap}.invoice-summary .grand{background:#eee6fa;color:#48256f;font-size:20px;font-weight:700}[data-credit-breakdown]{white-space:pre-line;background:#faf7ff}.status-fully-credited{background:#e6f5ec;color:#26704a}
