:root{--accent: #7052b6;--accent-soft: #7052b612;--accent-line: #7052b630;--background: #f6f5f8;--surface: #fff;--ink: #28242e;--muted: #736c7d;--line: #e9e6ed;--radius: 12px;--space: 8px;--control-height: 44px;--control-radius: 8px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-noto),Arial,sans-serif;color:var(--ink);font-size:13px;background:var(--background);line-height:1.55}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--control-radius);padding:10px 15px;min-height:var(--control-height);background:var(--accent);color:#fff;font-weight:600;text-decoration:none;cursor:pointer;transition:background .16s,opacity .16s}button:hover,.button:hover{filter:brightness(.97)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary,.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}button.danger{background:#fff1f2;color:#9f3048;border-color:#ebc6ce}button.text-button,button.icon-button{background:transparent;color:var(--muted);border:0;font-weight:400}button.text-button{padding:7px 0;justify-content:flex-start;color:var(--accent)}button.icon-button{padding:10px;min-width:42px}.icon-button:hover{background:var(--accent-soft)}input,select,textarea{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--control-radius);padding:10px 12px;min-height:var(--control-height);max-width:100%;width:100%;outline-offset:3px}textarea{min-height:90px;resize:vertical}input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:var(--accent)}input[type=color]{height:45px;padding:5px;width:90px}input[type=range]{padding:0}select{cursor:pointer}.field input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){height:var(--control-height)}.field select:not([multiple]){appearance:none;height:var(--control-height);padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23736c7d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable]:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-1px;font-weight:600;line-height:1.3;margin-bottom:9px}h2{font-size:16px;letter-spacing:-.25px;font-weight:600;margin-bottom:7px}h3{font-size:14px;font-weight:600;margin-bottom:10px}p{margin-bottom:16px}small{display:block;color:var(--muted);font-size:11px;line-height:1.6}hr{border:0;border-top:1px solid var(--line);margin:20px 0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.4px;color:var(--muted);display:block;margin-bottom:10px}.app{min-height:100vh;background:var(--background);color:var(--ink)}.app.dark{--background: #1c1a20;--surface: #242129;--ink: #eeebf2;--muted: #b0a9bc;--line: #39333f}.sidebar{position:fixed;top:0;bottom:0;left:0;width:236px;background:var(--surface);border-right:1px solid var(--line);padding:29px 19px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;font-size:21px;letter-spacing:-.6px}.brand-mark{height:31px;width:31px;display:grid;place-items:center;background:var(--accent);border-radius:8px;color:#fff;font-size:20px;font-weight:600}.workspace-label{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin:29px 9px 10px}.entity-control{display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--background);border:1px solid var(--line);border-radius:8px;margin-bottom:29px}.entity-control select{background:transparent;border:0;padding-left:0;font-size:12px;font-weight:600}.entity-control svg{color:var(--muted);flex:none}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav a{display:flex;align-items:center;gap:12px;min-height:43px;padding:10px 12px;color:#77717f;border-radius:7px;text-decoration:none;font-size:12px}.sidebar nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.sidebar nav a:hover{background:var(--background)}.sidebar nav a small{margin-left:auto;font-size:9px;opacity:.7}.sidebar-footer{margin-top:auto;padding-top:35px}.help-link{font-size:11px;text-decoration:none;color:var(--muted);display:block;padding:10px}.profile{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:17px;margin-top:10px}.profile strong{display:block;font-size:11px}.profile small{font-size:10px}.profile .icon-button{margin-left:auto;min-width:32px;padding:7px}.avatar{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:600}.main-area{margin-left:236px}.topbar{min-height:81px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--surface);padding:16px 36px;gap:16px;position:sticky;top:0;z-index:20}.global-search{border:0;background:none;color:var(--muted);font-weight:400;padding-left:0;gap:10px}.global-search kbd{font-size:10px;border:1px solid var(--line);border-radius:4px;padding:1px 5px;margin-left:65px;background:var(--background)}.top-actions{display:flex;align-items:center;gap:14px}.top-actions select{width:auto;max-width:170px;font-size:11px;min-height:37px}.top-actions input{width:140px}.notification-button{position:relative}.notification-button i{position:absolute;right:9px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.quick-create{position:relative}.quick-create>button{min-height:38px;font-size:12px}.dropdown{position:absolute;right:0;top:46px;min-width:160px;border:1px solid var(--line);padding:5px;background:var(--surface);border-radius:9px;box-shadow:0 7px 25px #27232e15}.dropdown button{width:100%;background:none;color:var(--ink);justify-content:flex-start;font-weight:400}.dropdown button:hover{background:var(--accent-soft)}.main-content{padding:35px 36px 45px;max-width:1720px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.page-heading p{font-size:12px;color:var(--muted);margin-bottom:0}.page-heading h1 .status{vertical-align:middle;font-size:11px;letter-spacing:0;margin-left:10px}.page-heading .field{max-width:260px;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:25px}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 23px}.metric>span{display:block;font-size:11px;color:var(--muted);margin-bottom:14px}.metric>strong{font-size:24px;font-weight:500;letter-spacing:-.75px;display:block;font-variant-numeric:tabular-nums;line-height:1.2}.metric>small{margin-top:12px;font-size:9px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;min-width:0}.panel.padded{padding:24px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 24px 17px}.section-head p{font-size:10px;color:var(--muted);margin:0}.section-head h2{margin-bottom:4px}.padded .section-head{padding:0 0 20px}.dashboard-grid{display:grid;grid-template-columns:1.85fr 1fr;gap:22px}.chart{padding:10px 22px 16px}.chart-key{font-size:9px;color:var(--muted);display:flex;gap:6px;align-items:center;white-space:nowrap}.chart-key i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.chart-key i.muted{background:#95929c;margin-left:8px}.age-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 24px;border-top:1px solid var(--line);font-size:11px}.padded .age-row{padding:16px 0}.age-row strong,.age-row b{font-weight:500;font-variant-numeric:tabular-nums}.quiet{padding:15px 24px;color:var(--muted);font-size:12px}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{padding:13px 20px;text-align:left;font-weight:400;background:var(--background);color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table tr:hover td{background:var(--accent-soft)}.data-table td small{margin-top:3px;font-size:10px}.data-table .numeric{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.strong{font-weight:600}.row-link{background:transparent;border:0;padding:0;min-height:25px;font-size:11px;color:var(--ink);font-weight:600;justify-content:flex-start}.row-link svg{color:var(--muted)}.status{padding:4px 8px;border-radius:5px;border:1px solid var(--line);background:var(--background);font-size:9px;font-weight:500;text-transform:capitalize;display:inline-block;white-space:nowrap;line-height:1.35}.status.paid,.status.accepted{color:#246547;background:#eff8f2;border-color:#d7e9de}.status.partially-paid{color:#85591d;background:#fcf6e9;border-color:#efdfbd}.status.overdue,.status.void,.status.cancelled,.status.reversed{color:#a03950;background:#fff1f3;border-color:#f1dce1}.status.sent,.status.finalised{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.filters{display:flex;align-items:center;gap:10px;padding:20px 23px;flex-wrap:wrap}.filters>input{width:210px}.filters>input[type=date]{width:135px}.filters>select{width:155px}.filters .button{font-size:inherit;margin-left:auto}.search-field{display:flex;align-items:center;gap:9px;flex:1;min-width:200px}.search-field input{border:0;background:transparent;outline-offset:0}.pagination{display:flex;align-items:center;gap:9px;padding:16px 24px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.pagination>span{margin-right:auto}.pagination button{min-height:32px;padding:6px 12px;font-size:10px}.activity-row{display:flex;gap:12px;margin:0 24px;padding:13px 0;border-top:1px solid var(--line)}.activity-row strong{font-size:11px;display:block;font-weight:500}.activity-row small{font-size:9px;margin-top:4px}.timeline-dot{width:7px;height:7px;border:2px solid var(--accent);border-radius:50%;margin-top:6px;flex:none}.empty{padding:32px 20px;text-align:center;max-width:450px;margin:auto}.empty-mark{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:9px;color:var(--muted);margin-bottom:12px;font-size:20px}.empty h3{font-size:13px;margin-bottom:6px}.empty p{color:var(--muted);font-size:11px}.empty button{font-size:11px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0}.field>span,.field>label{font-size:11px;color:var(--ink);font-weight:500}.field small{font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.check{display:flex;align-items:center;gap:8px;font-size:11px;min-height:34px;font-weight:400}.actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:24px}.actions.compact{margin:0}.actions.wrap{flex-wrap:wrap}.hint{color:var(--muted);font-size:11px}.error{background:#fff1f3;color:#973046;border:1px solid #f1d4dd;border-radius:7px;padding:12px;font-size:12px}.success{color:#287347;background:#eff8f2;padding:12px;border-radius:7px;font-size:12px}.warning{padding:18px;border:1px solid #e6d4a9;background:#fff8e9;border-radius:9px;margin-bottom:20px;color:#785726}.warning .field{margin:12px 0 0}.save-state{font-size:11px;color:var(--muted)}.tabbar{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto;max-width:100%}.tabbar button{white-space:nowrap;background:none;color:var(--muted);border-radius:0;padding:12px 0;border-bottom:2px solid transparent;font-size:11px;font-weight:500}.tabbar button.active{color:var(--accent);border-bottom-color:var(--accent)}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start}.editor-fields{padding:25px}.editor-fields h2{margin-bottom:23px}.preview-pane{position:sticky;top:105px;min-width:0}.preview-caption{color:var(--muted);font-size:10px;display:flex;gap:8px;align-items:center;margin-bottom:13px}.preview-caption span{margin-left:auto;font-size:9px;border:1px solid var(--line);border-radius:4px;padding:1px 5px}.paper{background:#fff;color:#2c2832;min-height:620px;border:1px solid #ded9e4;padding:35px 34px;font-size:10px;box-shadow:0 3px 10px #25202f05;overflow-wrap:anywhere}.paper h2{font-size:18px;color:var(--invoice-accent, var(--accent))}.paper h3{font-size:16px}.paper p{font-size:10px;line-height:1.7;margin-bottom:8px;color:#6f6776}.paper small{font-size:8px}.paper img{object-fit:contain;margin-bottom:10px;max-width:100%}.paper footer{font-size:8px;color:#817988;border-top:1px solid #e8e3ed;padding-top:12px;margin-top:30px;text-align:center}.invoice-label{display:flex;justify-content:space-between;margin:25px 0 18px;border-top:1px solid #e8e3ed;padding-top:20px}.invoice-label h3{text-transform:uppercase;letter-spacing:1.4px;font-size:16px}.invoice-label span{font-size:9px;color:#82798b}.preview-customer{margin-bottom:20px}.preview-customer strong{display:block;font-size:11px}.paper table{border-collapse:collapse;width:100%;font-size:9px}.paper th{padding:9px 3px;border-bottom:1px solid #d9d3e1;text-align:left;color:#807887;font-weight:400}.paper td{padding:12px 3px;border-bottom:1px solid #eeeaf2}.paper .numeric{text-align:right;white-space:nowrap}.professional th{background:#f2eef7;padding:9px}.modern th{background:var(--invoice-accent, var(--accent));color:#fff;padding:9px}.preview-totals{margin:20px 0 15px 35%}.preview-totals p{display:flex;justify-content:space-between;gap:8px}.preview-totals b{font-weight:400;color:#39333f}.preview-totals .grand-total{font-size:15px;border-top:1px solid #e5dfed;padding-top:12px;margin-top:12px;color:var(--invoice-accent, var(--accent))}.preview-totals .grand-total b{color:inherit;font-weight:600}.line-editor{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.line-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px}.summary-strip{display:flex;justify-content:space-between;padding:20px;background:var(--accent-soft);border-radius:8px}.summary-strip strong{font-size:24px;font-weight:500}details{margin-bottom:16px}summary{cursor:pointer;font-size:11px;color:var(--accent);min-height:35px;padding-top:5px}details[open]>summary{margin-bottom:10px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--background);padding:15px;font-size:10px;max-height:350px;overflow:auto}.detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.detail-actions button{font-size:11px}.more-menu{margin:0}.more-menu summary{padding:10px}.payment-row,.user-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0;gap:15px}.payment-row strong{font-size:16px}.note{border-top:1px solid var(--line);padding:16px 0}.note p{font-size:12px;white-space:pre-wrap;margin-bottom:8px}.customer-grid,.document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:24px;gap:20px}.customer-card{display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:20px;font-weight:400}.customer-card strong{font-size:13px;margin-top:7px}.customer-card>span:not(.avatar){font-size:11px;color:var(--muted)}.customer-card{text-align:left;gap:var(--space);min-width:0}.customer-card:hover,.customer-card:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.customer-card strong,.customer-card small{overflow-wrap:anywhere}.customer-avatar.avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;padding:var(--space);overflow:hidden;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);color:var(--accent)}.customer-avatar-image{width:100%;height:100%;object-fit:contain}.customer-avatar-monogram{font-size:20px;font-weight:600;letter-spacing:.03em}.customer-logo-editor{display:grid;grid-template-columns:64px minmax(0,1fr);gap:calc(var(--space) * 2);align-items:start;margin-block:calc(var(--space) * 2) calc(var(--space) * 3);padding:calc(var(--space) * 2);border:1px solid var(--line);border-radius:var(--control-radius)}.customer-logo-editor .field{margin:0}.customer-logo-editor .upload,.customer-logo-editor input[type=file]{min-width:0}.customer-logo-editor .hint{display:block;margin-top:var(--space)}.customer-schedule-heading,.customer-schedule-identity,.customer-schedule-toolbar{display:flex;align-items:center;gap:calc(var(--space) * 2)}.customer-schedule-heading{justify-content:space-between;flex-wrap:wrap;margin-block:calc(var(--space) * 2)}.customer-schedule-identity{min-width:0}.customer-schedule-identity h2{margin:0;overflow-wrap:anywhere}.customer-schedule-toolbar{justify-content:space-between;flex-wrap:wrap;padding:calc(var(--space) * 3);border-bottom:1px solid var(--line)}.customer-schedule-toolbar h3{margin:0 0 4px}.customer-schedule-toolbar p{margin:0;max-width:68ch;color:var(--muted)}.customer-schedule-year{display:grid;gap:4px;width:112px;flex:none}.customer-schedule-records{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space);padding:calc(var(--space) * 2) calc(var(--space) * 3);color:var(--muted)}.data-table.customer-schedule-table{min-width:720px;width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.data-table.customer-schedule-table th{padding:12px 24px;background:var(--background);text-align:left;font-weight:600;color:var(--muted);border-block:1px solid var(--line)}.data-table.customer-schedule-table th:last-child{width:40%}.data-table.customer-schedule-table td{padding:16px 24px;vertical-align:middle;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.data-table.customer-schedule-table tbody tr:last-child td{border-bottom:0}.data-table.customer-schedule-table tbody tr:hover{background:var(--accent-soft)}.customer-schedule-period,.customer-schedule-pay-date{white-space:nowrap}.customer-schedule-period{font-weight:600}.customer-schedule-actions,.customer-schedule-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space)}.customer-schedule-links{flex-direction:column;align-items:flex-start}.customer-schedule-invoice{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space)}.customer-schedule-actions>button{white-space:nowrap}@media(max-width:600px){.customer-logo-editor{grid-template-columns:minmax(0,1fr)}.customer-schedule-heading{align-items:flex-start}.customer-schedule-toolbar,.customer-schedule-records{padding:calc(var(--space) * 2)}.data-table.customer-schedule-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.data-table.customer-schedule-table,.data-table.customer-schedule-table tbody{min-width:0;display:block}.data-table.customer-schedule-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px;padding:calc(var(--space) * 2);border-bottom:1px solid var(--line)}.data-table.customer-schedule-table td{display:block;padding:0;border:0}.data-table.customer-schedule-table td:before{content:attr(data-label);display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:400}.data-table.customer-schedule-table td:last-child{grid-column:1 / -1}.customer-schedule-period,.customer-schedule-pay-date{white-space:normal}}.document-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:transparent;color:var(--ink);padding:0;border:0;gap:10px}.document-thumbnail{aspect-ratio:1.4;width:100%;background:var(--background);border:1px solid var(--line);padding:24px;font-size:9px}.document-thumbnail strong{color:var(--accent);font-size:11px}.document-thumbnail hr{margin:9px 0}.document-thumbnail i,.mini-paper i{display:block;width:80%;height:2px;background:var(--line);margin-top:8px}.document-thumbnail i:nth-last-child(1){width:40%}.document-card>strong{font-size:12px;font-weight:500}.document-card small{font-size:10px}.rich-editor{min-height:350px;max-height:700px;overflow:auto;padding:20px;border:1px solid var(--line);border-top:0;margin-bottom:20px;outline-offset:4px;font-size:13px;background:var(--surface)}.rich-editor table,.rich-preview table{border-collapse:collapse;width:100%;table-layout:fixed}.rich-editor td,.rich-editor th,.rich-preview td,.rich-preview th{border:1px solid var(--line);padding:8px}.editor-toolbar{display:flex;align-items:center;gap:1px;flex-wrap:wrap;padding:5px;border:1px solid var(--line);background:var(--background)}.editor-toolbar select{width:120px;font-size:10px;padding:7px}.editor-toolbar .icon-button{min-width:33px;padding:7px;min-height:34px}.rich-preview{font-size:11px;line-height:1.8}.rich-preview p{font-size:11px}.setup header{margin-bottom:30px}.setup header p{color:var(--muted)}.setup-layout{display:grid;grid-template-columns:200px minmax(0,600px);gap:35px}.steps{margin:0;padding:0;list-style:none}.steps li{margin-bottom:6px}.steps button{color:var(--muted);gap:10px;min-height:40px;font-size:12px}.steps span{height:25px;width:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px}.steps .active button{color:var(--accent);font-weight:600}.steps .active span{background:var(--accent);border-color:var(--accent);color:#fff}.setup-form{padding:32px;min-height:350px}.number-preview{font-size:21px;margin:15px 0 20px;letter-spacing:.5px;color:var(--accent)}.template-choices{display:flex;gap:14px;margin-top:20px}.template-choice{display:flex;flex-direction:column;border:1px solid var(--line);background:transparent;color:var(--ink);width:33%;padding:10px;font-size:10px;font-weight:400}.template-choice.selected{border-color:var(--accent)}.mini-paper{height:140px;width:100%;background:#fff;padding:10px;text-align:left;font-size:7px;color:#39303e}.mini-paper span{display:block;font-size:8px;margin-top:13px}.mini-paper hr{margin:8px 0}.mini-paper.modern span{background:var(--accent);color:#fff;padding:4px}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 15px;margin-bottom:20px}.settings-tabs{gap:22px}.narrow{max-width:600px}.colour-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.colour-choice{color:var(--ink);background:var(--surface);border:1px solid var(--line);font-size:11px;justify-content:flex-start;padding:9px}.colour-choice.selected{border-color:var(--accent)}.colour-choice i{height:11px;width:11px;flex:none;border-radius:50%}.upload{display:flex;align-items:center;gap:8px}.upload input{padding:10px;font-size:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:80;background:var(--ink);color:var(--surface);border-radius:10px;padding:12px 16px;display:flex;gap:15px;align-items:center;font-size:12px;max-width:90%;box-shadow:0 6px 30px #0002}.toast .icon-button{color:inherit;padding:5px;min-width:25px;min-height:25px}.offline{padding:10px 25px;background:#fff4db;color:#805d25;text-align:center;font-size:11px}.back{margin-bottom:15px}.search-result,.entity-choice{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);border-radius:0;padding:15px 5px;text-align:left;font-size:12px;font-weight:400}.search-result small{text-transform:capitalize;margin-bottom:3px}.search-result strong{font-weight:500}.full-width{width:100%}dialog{border:1px solid var(--line);border-radius:14px;padding:25px;background:var(--surface);color:var(--ink);width:min(680px,92vw);max-height:90vh;box-shadow:0 18px 60px #30253922}dialog::backdrop{background:#24212c66}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{font-size:18px;margin-bottom:0}.modal-head .icon-button{margin:-5px -6px 0 0}.auth-page{min-height:100vh;display:grid;place-items:center;background:#f5f3f8;padding:24px}.auth-card{width:100%;max-width:430px;padding:40px;background:#fff;border:1px solid #e7e1ee;border-radius:14px;box-shadow:0 5px 30px #37303f04}.auth-card .brand{margin-bottom:38px;font-size:20px}.auth-card h1{font-size:26px}.auth-card p{font-size:12px;color:var(--muted)}.auth-card .field{margin-bottom:18px}.auth-card .full-width{margin-top:6px;justify-content:space-between}.auth-footer{margin:35px 0 0!important;font-size:10px!important}.auth-card .text-button{margin-top:10px;font-size:11px}.skip-link{position:absolute;top:-100px;z-index:100;background:var(--surface);padding:10px;left:20px}.skip-link:focus{top:10px}.loading{display:grid;gap:15px;padding:25px;min-width:240px}.loading div{height:55px;border-radius:8px;background:var(--line);animation:pulse 1.5s infinite}.loading div:nth-child(2){width:85%}.loading div:nth-child(3){width:65%}@keyframes pulse{50%{opacity:.5}}.mobile-menu,.mobile-preview,.mobile-records,.bottom-nav{display:none}.dark .sidebar nav a{color:#b4adbf}.dark input,.dark select,.dark textarea{border-color:var(--line)}.dark .status:not(.paid):not(.overdue):not(.partially-paid){background:var(--background)}@media(min-width:1500px){.main-content{padding:45px 50px}.metric>strong{font-size:29px}.paper{min-height:750px;padding:45px}}@media(max-width:1180px){.sidebar{width:210px;padding-left:13px;padding-right:13px}.main-area{margin-left:210px}.topbar{padding:16px 24px}.main-content{padding:28px 24px}.metric{padding:19px 16px}.metric>strong{font-size:20px}.global-search kbd{margin-left:15px}.dashboard-grid{grid-template-columns:1.5fr 1fr}.editor-layout{gap:20px}.paper{padding:25px}.data-table th,.data-table td{padding:13px 12px}.chart-key{display:none}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.editor-layout{grid-template-columns:1fr}.preview-pane{display:none}.preview-pane.show-mobile{display:block;position:static}.mobile-preview{display:inline-flex}.customer-grid,.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-actions{gap:5px}.global-search span,.global-search kbd{display:none}.global-search{padding:10px}.setup-layout{grid-template-columns:1fr}.steps{display:flex;overflow:auto;gap:15px}.steps li{flex:none}.steps button{font-size:10px}.table-wrap{overflow:auto}.data-table th,.data-table td{white-space:normal}.paper{min-height:700px}}@media(max-width:700px){.sidebar{transform:translate(-100%);width:245px;transition:transform .2s}.drawer-close{position:absolute;right:12px;top:14px}.sidebar.open{transform:none}.drawer-backdrop{position:fixed;inset:0 0 0 245px;background:#28233066;z-index:29;border:0;border-radius:0}.main-area{margin-left:0}.topbar{min-height:66px;padding:12px 15px;gap:7px}.mobile-menu{display:inline-flex}.global-search{margin-right:auto;min-width:44px;min-height:44px}.top-actions select{font-size:11px;width:115px;padding:8px;min-height:44px}.top-actions input{width:110px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px}.notification-button{min-width:44px!important;padding:8px!important}.quick-create>button{padding:9px;gap:4px}.quick-create>button span{display:none}.main-content{padding:25px 17px 90px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:23px}.page-heading h1{font-size:25px}.page-heading p,.page-heading .eyebrow{font-size:11px}.page-heading>button,.page-heading>.button{font-size:11px;padding:9px;min-height:44px;flex:none}.metric-grid{gap:10px;margin-bottom:18px}.metric{padding:18px 14px;border-radius:9px}.metric>span{font-size:11px;margin-bottom:11px}.metric>strong{font-size:21px;letter-spacing:-.8px}.metric>small{font-size:11px;margin-top:9px}.metric-grid.three{grid-template-columns:1fr}.metric-grid.three .metric{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px}.metric-grid.three .metric>span{margin-bottom:0}.dashboard-grid{gap:0}.panel{border-radius:9px;margin-bottom:18px}.section-head{padding:19px 16px 13px}.section-head h2{font-size:14px}.section-head .secondary{font-size:11px;padding:6px 9px;min-height:44px}.section-head p{font-size:11px}.chart{padding:8px 10px}.empty{padding:28px 15px}.age-row{padding:14px 17px}.table-wrap>.data-table{display:none}.mobile-records{display:block}.mobile-record{width:100%;display:flex;justify-content:space-between;gap:12px;border-radius:0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);padding:16px;font-size:11px;text-align:left;font-weight:400;min-height:90px}.mobile-record>div{display:flex;flex-direction:column;gap:4px}.mobile-record>div:last-child{align-items:flex-end;text-align:right;flex:none}.mobile-record strong{font-size:11px;font-weight:600}.mobile-record b{font-size:14px;font-weight:500}.mobile-record span:not(.status){font-size:11px;color:var(--muted)}.mobile-record small{font-size:11px}.filters{padding:15px;gap:8px}.filters>input,.filters>select{width:calc(50% - 5px);font-size:11px;padding:8px}.search-field{min-width:100%;border:1px solid var(--line);border-radius:7px;padding:0 8px}.filters .button{margin-left:0}.pagination{padding:13px 15px}.pagination button{font-size:11px}.pagination>span{font-size:11px}.customer-grid,.document-grid{grid-template-columns:1fr;padding:18px;gap:15px}.customer-card{min-height:135px}.document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-thumbnail{height:130px;padding:15px;aspect-ratio:auto}.document-thumbnail strong{font-size:11px}.document-card>strong{font-size:11px}.document-card small{font-size:11px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;padding:8px 5px max(9px,env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:25}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--muted);text-decoration:none;min-width:62px;font-size:11px}.bottom-nav a.active{color:var(--accent)}.padded.panel,.editor-fields{padding:20px 17px}.form-grid,.form-grid.three{grid-template-columns:1fr 1fr;gap:0 10px}.field{margin-bottom:15px}.field>span,.field>label{font-size:11px}.field input,.field select,.field textarea{font-size:12px}.actions{flex-wrap:wrap;gap:7px;margin-top:22px}.actions button,.actions .button{font-size:11px;padding:9px 11px}.actions.compact{justify-content:flex-end;max-width:140px}.page-heading:has(.compact){flex-wrap:wrap}.page-heading .compact{max-width:none;width:100%;justify-content:flex-start}.detail-actions{gap:6px}.detail-actions button{font-size:11px;padding:8px 9px;min-height:36px}.tabbar{gap:20px}.tabbar button{font-size:11px}.toast{bottom:80px;min-width:85%;font-size:11px}.setup-form{padding:23px 18px}.setup-layout,.steps{gap:12px}.steps button{gap:6px}.setup h1{font-size:24px}.setup p{font-size:12px}.template-choices{gap:7px}.template-choice{padding:6px}.mini-paper{padding:7px;font-size:5px;height:130px}.colour-presets{grid-template-columns:1fr 1fr}.toggle-grid{gap:2px 7px}.check{font-size:11px}.editor-toolbar{gap:3px}.editor-toolbar select{width:112px}.rich-editor{padding:15px;font-size:13px}.paper{padding:24px 22px;min-height:550px}.auth-card{padding:31px 24px}.auth-card h1{font-size:24px}dialog{padding:21px 17px;max-height:88vh}.modal-head h2{font-size:16px}.payment-row{align-items:flex-start}.payment-row .secondary{font-size:11px;padding:8px}.upload{flex-wrap:wrap}.settings-tabs{gap:20px}.activity-row{margin:0 17px}.user-row{align-items:flex-start;flex-wrap:wrap}}@media(max-width:700px){button,.button{min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--accent: #087f98;--accent-soft: #087f9812;--accent-line: #087f9830;--background: #f0f2f3;--line: #dfe4e7;--radius: 6px}.suite-header{position:fixed;inset:0 0 auto;height:64px;display:flex;align-items:center;background:#475f69;color:#f5f8fa;z-index:45;gap:26px;box-shadow:0 1px 3px #23333b18}.suite-brand{width:220px;flex:none;align-self:stretch;display:flex;align-items:center;gap:12px;padding:0 22px;background:#5c6d73;color:#f5f8fa;text-decoration:none;font-size:23px;font-weight:600}.suite-brand .brand-mark{background:#e8f6f8;color:#087f98;border-radius:50%}.suite-header nav{display:flex;align-items:center;gap:26px;flex:1}.suite-header nav a{display:inline-flex;align-items:center;gap:8px;color:#f5f8fa;text-decoration:none;padding:19px 0;font-size:13px}.suite-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.suite-profile{display:flex;align-items:center;gap:10px;padding-right:16px}.suite-profile .avatar{background:#e2eef0;color:#34525e}.suite-profile .icon-button{color:#f5f8fa}.suite-section{position:fixed;inset:64px 0 auto;height:52px;z-index:40;background:var(--accent);color:#fff;display:flex;align-items:center;gap:10px;padding:0 24px;font-weight:600}.section-context{margin-left:auto;font-size:12px;font-weight:400}.suite-current{font-size:14px;font-weight:600;margin-right:18px;white-space:nowrap}.app .sidebar{top:116px;width:220px;padding:22px 16px}.app .sidebar>.brand{display:none}.app .workspace-label{margin-top:0}.app .sidebar nav a{border-radius:3px;min-height:45px}.app .main-area{margin-left:220px;padding-top:116px}.app .topbar{position:fixed;top:64px;left:0;right:0;height:52px;min-height:52px;padding:0 22px;background:var(--accent);border:0;color:#fff;z-index:40;gap:12px}.app .topbar .global-search{margin-right:auto;color:inherit;border:1px solid currentColor;border-radius:15px;padding:8px 12px;min-height:44px;background:#ffffff14}.app .topbar .global-search:hover{background:#ffffff26}.app .topbar .global-search kbd{border-color:currentColor;background:#ffffff26;color:#fff}.app .topbar .notification-button{color:#fff}.app .topbar .period-select{min-height:36px;padding-top:6px;padding-bottom:6px;font-size:12px}.app .main-content{padding:28px 30px 50px;max-width:1600px}.app .metric,.app .panel{border-radius:5px;box-shadow:0 1px 3px #24374008}.app .metric{padding:22px}.feed-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;margin-bottom:24px}.feed-grid .panel{margin:0}.feed-grid .panel:first-child{order:2}.feed-grid .panel:last-child{order:1}.feed-grid .panel:first-child .section-head{background:var(--accent);color:#fff}.feed-grid .activity-row{border:1px solid var(--line);padding:16px;margin:14px 18px;background:var(--surface);border-radius:3px;align-items:flex-start}.feed-avatar{height:32px;width:32px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent);border-radius:50%;font-weight:600}.saas-shell{min-height:100vh;background:var(--background)}.saas-content{padding:145px 34px 50px;max-width:1500px;margin:0 auto}.portal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.access-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.access-steps>div{display:flex;gap:10px;align-items:center;color:var(--muted)}.access-steps .complete{color:#207052}.access-steps svg{flex:none}.account-notice{background:#edf6f8;border-left:3px solid #087f98;padding:16px 20px;margin:16px 0}.request-history{border-top:1px solid var(--line);padding:15px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.request-history p{width:100%;margin:0}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.plan-card{border:1px solid var(--line);padding:24px;border-radius:5px;display:flex;flex-direction:column;align-items:flex-start}.plan-card p{flex:1}.plan-price{font-size:25px}.plan-price small{font-size:12px;font-weight:400;color:var(--muted)}.plan-card ul{padding-left:18px;line-height:2}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;border-bottom:1px solid var(--line)}.admin-row h3{margin:0 0 7px;font-size:16px}.admin-row p{margin:4px 0;color:var(--muted);overflow-wrap:anywhere}.admin-row .actions{flex-wrap:wrap;justify-content:flex-end}.platform-tabs{overflow:auto;padding:0 20px;white-space:nowrap}.platform-tabs button{flex:none}.saas-content .panel{border-radius:5px}.saas-content .page-heading p{max-width:750px}.saas-content .metric{border-radius:5px}.saas-content dialog .check{margin:16px 0}@media(max-width:1050px){.suite-header{gap:16px}.suite-header nav{gap:16px}.suite-header nav a{font-size:11px}.suite-profile>span:not(.avatar){display:none}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:950px){.feed-grid{grid-template-columns:1fr}.feed-grid .panel:first-child{order:2}.suite-brand{width:190px}.suite-header nav a:nth-child(2){display:none}.app .sidebar{width:190px}.app .main-area{margin-left:190px}.portal-grid{grid-template-columns:1fr}.access-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.suite-header{height:58px;gap:4px}.suite-brand{width:auto;padding:0 15px;font-size:19px;background:transparent}.suite-brand .brand-mark{height:29px;width:29px}.suite-header nav{gap:6px;justify-content:flex-end}.suite-header nav a{display:none}.suite-header nav a:last-child{display:inline-flex;font-size:11px;padding:9px}.suite-profile{padding-right:6px;gap:2px}.suite-profile .avatar{display:none}.suite-section{top:58px;padding:0 16px;height:54px}.section-context,.suite-current{display:none}.app .topbar{top:58px;height:54px;min-height:54px;padding:0 12px;gap:6px}.app .topbar .period-select{font-size:11px;width:112px;min-height:44px}.app .sidebar{top:112px;width:245px;padding:28px 17px}.app .main-area{margin-left:0;padding-top:112px}.app .main-content{padding:24px 17px 100px}.suite-header .suite-profile .icon-button{min-width:40px;padding:8px}.saas-content{padding:137px 17px 35px}.plan-grid{grid-template-columns:1fr}.plan-card{padding:20px}.access-steps{gap:18px;font-size:12px}.admin-row{align-items:flex-start;flex-direction:column;padding:20px 17px;gap:12px}.admin-row .actions{justify-content:flex-start}.saas-content .page-heading{flex-direction:column}.feed-grid{gap:18px}.portal-grid{gap:0}.app .metric>small{font-size:11px}.app .drawer-backdrop{top:112px}.saas-content .metric>strong{font-size:25px}.platform-tabs{gap:18px;padding:0 16px}.suite-header nav a:last-child{max-width:124px;line-height:1.3}.app .bottom-nav{z-index:42}}.customer-balance-visual{display:grid;gap:8px;width:min(45%,180px);text-align:right}.customer-balance-visual meter{width:100%;height:12px;accent-color:var(--accent)}.customer-balance-visual meter::-webkit-meter-optimum-value{background:var(--accent)}.customer-balance-visual meter::-moz-meter-bar{background:var(--accent)}.invoice-status-filter{position:relative;width:160px}.invoice-status-filter select{appearance:none;width:100%;height:var(--control-height);min-height:var(--control-height);padding:10px 36px 10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.invoice-status-filter>svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.invoice-date-filter{display:flex;align-items:center;gap:8px;width:190px;min-width:0;height:var(--control-height);padding:0 10px;border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface)}.invoice-date-filter>span{flex:none;color:var(--muted);font-size:12px}.invoice-date-filter input{width:100%;min-width:0;min-height:0;height:calc(var(--control-height) - 2px);padding:0;border:0;border-radius:0;background:transparent;font:inherit;font-variant-numeric:tabular-nums}.filters .search-field{height:var(--control-height);padding:0 12px;border:1px solid var(--line);border-radius:var(--control-radius)}.filters .search-field input{min-height:0;height:calc(var(--control-height) - 2px);padding:0}.filters .button,.invoice-status-filter select{min-height:var(--control-height);border-radius:var(--control-radius)}.invoice-date-filter:focus-within{outline:2px solid var(--accent);outline-offset:2px}.invoice-additional-filters{padding:0 23px 16px}.invoice-additional-filters>summary{display:flex;align-items:center;gap:8px;padding:8px 0;min-height:44px;list-style:none;font-size:13px}.invoice-additional-filters>summary::-webkit-details-marker{display:none}.invoice-additional-filters>summary svg{transform:rotate(-90deg);flex-shrink:0}.invoice-additional-filters[open]>summary svg{transform:rotate(0)}@media(max-width:700px){.invoice-status-filter,.invoice-date-filter,.filters .button{width:100%}.invoice-additional-filters{padding:0 15px 16px}}.invoice-account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.invoice-account-summary section{padding:16px;border:1px solid var(--line);border-radius:8px;overflow-wrap:anywhere}.invoice-account-summary h3{margin:0 0 8px;font-size:13px;color:var(--muted)}.invoice-account-summary p{margin:6px 0;font-size:13px}.invoice-account-summary small{color:var(--muted)}@media(max-width:700px){.invoice-account-summary{grid-template-columns:1fr}}.invoice-click-row{cursor:pointer}.invoice-click-row:hover,.invoice-click-row:focus-within{background:var(--accent-soft)}.invoice-click-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.invoice-row-edit{min-height:44px;margin-top:6px;font-size:12px}.loading-caption{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:loading-turn .8s linear infinite}@keyframes loading-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading-spinner,.loading div{animation:none}}@media(max-width:700px){.app .main-content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.app .main-area,.app .main-content,.panel,.editor-layout>div,.form-grid>*{min-width:0}.app input:not([type=checkbox]):not([type=color]):not([type=range]),.app select,.app textarea,.auth-card input{font-size:16px}.app button,.app .button,.app summary,.app .bottom-nav a{min-height:44px}.app .icon-button{min-width:44px}.app .detail-actions button,.app .actions button{min-height:44px;font-size:13px}.app .field>span,.app .field>label,.app .page-heading p{font-size:13px}.app .mobile-record,.app .mobile-record strong,.app .mobile-record span:not(.status),.app .mobile-record small{font-size:13px}.app .mobile-record>div:first-child{min-width:0;overflow-wrap:anywhere}.app .actions.compact{max-width:none;justify-content:flex-start}.app .tabbar{overflow-x:auto;gap:12px}.app .tabbar button{flex-shrink:0;font-size:13px}.app .invoice-date-filter input{font-size:16px}.loading{min-width:0;width:100%}.app .toast{bottom:calc(80px + env(safe-area-inset-bottom))}}@media(max-width:420px){.app .form-grid,.app .form-grid.three{grid-template-columns:1fr}.app .page-heading{flex-wrap:wrap;gap:12px}.app .page-heading>div{min-width:0}.app .metric>strong{font-size:20px;overflow-wrap:anywhere}}.setup-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--accent-line);background:var(--accent-soft);border-radius:8px;margin-bottom:20px}.setup-notice p{margin:6px 0 0;font-size:13px;line-height:1.6}.setup-notice button{flex-shrink:0}.purchase-record{display:flex;width:100%;justify-content:space-between;padding:16px;background:var(--surface);color:var(--ink);border:0;border-bottom:1px solid var(--line);text-align:left}.purchase-record>div{display:grid;gap:6px}.purchase-record>div:last-child{text-align:right}.purchase-summary{display:flex;gap:24px;flex-wrap:wrap;padding:16px 24px}.purchase-summary span{display:grid;gap:8px;color:var(--muted);font-size:13px}.purchase-summary strong{font-size:20px;color:var(--ink)}@media(max-width:700px){.setup-notice{align-items:stretch;flex-direction:column}.purchase-summary{gap:16px;padding:16px}}.platform-email{max-width:760px}.platform-email form{margin-top:24px}.platform-email h2,.platform-email h3{margin-bottom:16px}.platform-email input{min-height:44px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:6px}.ledger-logo{display:block;width:160px;max-width:100%;height:auto;object-fit:contain}.suite-brand{background:#faf8ef}.auth-card .ledger-logo{width:190px}.invoice-preview-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}.editor-layout.preview-collapsed{grid-template-columns:minmax(0,1fr)}.line-editor .form-grid>*{min-width:0}.line-editor textarea{min-height:72px;resize:vertical}@media(min-width:1100px){.preview-collapsed .line-editor{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(300px,1fr);column-gap:24px}.preview-collapsed .line-editor .line-heading{grid-column:1 / -1}.preview-collapsed .line-editor>.actions{grid-column:1 / -1}}.inline-items-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.inline-items-scroll{overflow-x:auto}.inline-items-table{min-width:880px}.inline-items-table th:first-child{width:34%}.inline-items-table input{min-width:80px;width:100%;min-height:44px;padding:8px}.inline-items-table input[inputmode=decimal]{text-align:right}.inline-items-table textarea{min-width:220px;min-height:60px;width:100%;resize:vertical}.inline-items-table td{vertical-align:top;padding:12px}.dashboard-grid:has(.inline-items-table input){grid-template-columns:minmax(0,1fr)}.catalogue-picker{margin:16px 0}.catalogue-options{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:8px;background:var(--surface)}.catalogue-results{display:grid;gap:8px;max-height:320px;overflow-y:auto}.catalogue-results button{justify-content:space-between;text-align:left;gap:16px;flex-wrap:wrap}.catalogue-results small{color:var(--muted)}.customer-catalogue{margin-block:16px;padding-block:12px;border-block:1px solid var(--line)}.customer-catalogue h3{margin-block:0 8px}.customer-catalogue-results{max-height:none;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.customer-catalogue-results button{display:flex;align-items:flex-start;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.catalogue-description{min-width:0}.catalogue-description-popup{top:calc(100% - 4px);max-width:100%}.catalogue-description-results{overscroll-behavior:contain}.catalogue-description-popup .catalogue-description-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px}.catalogue-description-option small{color:var(--muted);font-size:12px}.inline-items-table .catalogue-description-popup{position:static;margin-top:4px}.auth-card .text-button{display:block;min-height:44px}dialog:has(.customer-profile){width:min(960px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}.customer-profile{min-width:0;overflow-wrap:anywhere}.customer-profile-contact{margin-bottom:24px}.customer-profile-contact p{margin-bottom:4px}.customer-profile .actions{flex-wrap:wrap;justify-content:flex-start;margin:0 0 24px}.customer-profile .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.customer-profile .metric{min-width:0;padding:16px}.customer-profile .metric>span{text-transform:capitalize;margin-bottom:8px}.customer-profile .metric>strong{font-size:24px;overflow-wrap:anywhere}.customer-profile h3{margin:24px 0 12px}.customer-profile .table-wrap{max-width:100%;overflow-x:auto}.customer-profile table{min-width:680px}@media(min-width:1000px){.customer-profile .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){dialog:has(.customer-profile){padding:16px}.customer-profile .actions>*{flex:1 1 100%}.customer-profile .metric{padding:12px}.customer-profile .metric>strong{font-size:18px;letter-spacing:-.25px}}.invoice-paper{position:relative;isolation:isolate}.invoice-watermark{position:absolute;inset:0;z-index:-1;display:grid;place-items:center;pointer-events:none;overflow:hidden}.invoice-watermark img{width:55%;max-width:300px;height:auto;object-fit:contain}.invoice-watermark span{transform:rotate(-30deg);font-size:36px;font-weight:700;text-align:center;width:85%;color:#48434f}.app .sidebar{overflow:hidden}.app .sidebar>.workspace-label,.app .sidebar>.entity-control{flex-shrink:0}.app .sidebar nav{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.app .sidebar nav a{flex-shrink:0}.app .sidebar-footer{flex:0 0 auto;padding-top:12px}.app .sidebar .profile>div{min-width:0;overflow-wrap:anywhere}.app .sidebar .profile>.avatar,.app .sidebar .profile>button{flex-shrink:0}.save-catalogue-items{margin-block:12px;min-width:0}.save-catalogue-options{padding:16px;margin-top:8px;border:1px solid var(--line);border-radius:8px}.save-catalogue-list{max-height:280px;overflow-y:auto;margin-block:12px}.save-catalogue-options label{display:flex;align-items:center;gap:12px;min-height:44px;padding-block:6px;overflow-wrap:anywhere}.save-catalogue-options input{flex:0 0 auto}.save-catalogue-options small{display:block}.customer-select{position:relative}.customer-select-trigger{width:100%;min-height:var(--control-height);justify-content:space-between;text-align:left;font-weight:400}.customer-select-trigger span{min-width:0;overflow-wrap:anywhere}.customer-select-trigger svg{flex-shrink:0}.customer-select-popup{position:absolute;top:100%;inset-inline:0;z-index:10;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--control-radius);box-shadow:0 4px 12px #00000014}.customer-select-popup p{padding:8px;margin:0}.customer-select-popup [role=listbox]{max-height:264px;overflow-y:auto}.customer-select-popup [role=option]{width:100%;min-height:44px;justify-content:flex-start;text-align:left;overflow-wrap:anywhere;color:var(--ink);background:transparent;border:0;font-weight:400}.customer-select-popup [role=option]:hover,.customer-select-popup [role=option].active,.customer-select-popup [role=option][aria-selected=true]{background:var(--accent-soft)}.line-editor.invoice-item-editor{margin-bottom:0;padding:12px 0;gap:8px 16px}.invoice-item-editor .line-heading{gap:8px;flex-wrap:wrap;margin-bottom:8px;font-size:13px}.invoice-item-editor .line-item-total{margin-left:auto;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.invoice-item-editor .line-item-actions{display:flex;align-items:center;gap:4px}.invoice-item-editor .line-item-actions button{width:44px;height:44px;min-width:44px;padding:10px}.invoice-item-editor>.field,.invoice-item-editor>.form-grid{margin-bottom:8px}.invoice-item-editor textarea{min-height:64px}.invoice-item-editor>details{grid-column:1 / -1;margin:0}.invoice-item-editor>details summary{padding:8px 0}@media(max-width:599px){.invoice-item-editor .line-heading{display:grid;grid-template-columns:1fr auto}.invoice-item-editor .line-item-actions{grid-column:1 / -1;justify-content:flex-end}.invoice-item-editor>.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.invoice-item-editor>.form-grid.three input{padding-inline:8px}}.invoice-item-editor .line-item-values{grid-template-columns:minmax(140px,1.4fr) repeat(4,minmax(0,1fr));gap:8px}.line-item-date{min-width:0}.inline-items-table .line-date-column{min-width:150px}.invoice-item-editor .line-unit-hint{grid-column:1 / -1;margin:0}@media(min-width:1100px){.preview-collapsed .line-editor.invoice-item-editor{grid-template-columns:minmax(220px,1.25fr) minmax(480px,1fr)}}@media(max-width:599px){.invoice-item-editor .line-item-values{grid-template-columns:repeat(2,minmax(0,1fr))}.invoice-item-editor .line-item-date{grid-column:1 / -1}}.invoice-schedule{margin-block:1rem;padding:1rem}.invoice-schedule>summary{cursor:pointer;min-height:44px;font-weight:600}.invoice-schedule>summary .hint{display:block;font-weight:400;margin-top:.35rem}.schedule-body{padding-top:1rem;max-width:960px}.schedule-result{border:1px solid var(--line);border-radius:var(--control-radius);padding:1rem;margin-block:1rem}.schedule-result p{overflow-wrap:anywhere}@media(max-width:600px){.invoice-schedule .actions{flex-wrap:wrap}.invoice-schedule .actions button{min-height:44px}}.invoice-schedule input[aria-invalid=true]{border-color:#b4233b;outline-color:#b4233b}.party-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space)}.party-heading h2{margin-block:0}.party-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space)}.party-fields .field:first-child,.party-fields .field:nth-child(2){grid-column:1 / -1}@media(max-width:600px){.party-fields{grid-template-columns:minmax(0,1fr)}}.ledger-loading-mark{display:inline-flex;flex:0 0 32px;width:32px;height:32px;animation:ledger-loading-breathe 1.2s ease-in-out infinite}.ledger-loading-mark img{width:100%;height:100%;object-fit:contain}@keyframes ledger-loading-breathe{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ledger-loading-mark{animation:none}}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{width:100%;min-width:640px}@media(max-height:500px){.app .sidebar{overflow-y:auto;overscroll-behavior:contain}.app .sidebar nav{flex:0 0 auto;overflow-y:visible}}.platform-history{padding:calc(var(--space) * 3)}.history-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);gap:calc(var(--space) * 2)}.history-table{width:100%;table-layout:fixed}.history-table th,.history-table td{vertical-align:top;overflow-wrap:anywhere;padding:calc(var(--space) * 2)}.history-table small{display:block;color:var(--muted);margin-top:4px}.history-table p{margin:0 0 var(--space)}@media(max-width:700px){.platform-history{padding:calc(var(--space) * 2)}.history-filters{grid-template-columns:minmax(0,1fr)}.history-table,.history-table tbody,.history-table tr,.history-table td{display:block;width:100%}.history-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.history-table tr{border-bottom:1px solid var(--line);padding:var(--space) 0}.history-table td{border:0;padding:var(--space) 0}.history-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:4px}}.platform-users-wrap{max-width:100%;overflow-x:auto}.platform-users-table{width:100%;min-width:0;table-layout:fixed;font-size:13px}.platform-users-table .user-account-column{width:23%}.platform-users-table .user-workspace-column{width:15%}.platform-users-table .user-status-column{width:17%}.platform-users-table .user-role-column{width:13%}.platform-users-table .user-actions-column{width:32%}.platform-users-table th,.platform-users-table td{padding:calc(var(--space) * 1.5);vertical-align:middle;overflow-wrap:anywhere}.platform-users-table tbody th{background:transparent;color:var(--ink);text-align:left;font-weight:400;white-space:normal;border-bottom:1px solid var(--line)}.platform-users-table h3{margin:0;font-size:14px;font-weight:600}.platform-users-table .user-email{display:block;margin-top:calc(var(--space) / 2);color:var(--muted);font-size:13px}.user-statuses,.user-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space)}.user-statuses{flex-direction:column;align-items:flex-start;gap:calc(var(--space) / 2)}.user-actions button{padding-inline:var(--space);white-space:nowrap}@media(max-width:960px){.platform-users-table{min-width:0}.platform-users-table,.platform-users-table tbody{display:block}.platform-users-table colgroup{display:none}.platform-users-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.platform-users-table .platform-user-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:calc(var(--space) * 2);padding:calc(var(--space) * 2);border-bottom:1px solid var(--line)}.platform-users-table .platform-user-row>th,.platform-users-table .platform-user-row>td{padding:0;border:0;min-width:0}.platform-users-table .user-account,.platform-users-table td:last-child{grid-column:1 / -1}.platform-users-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:12px;margin-bottom:calc(var(--space) / 2)}.platform-users-table td:last-child:before{display:none}.platform-users-table h3{font-size:16px}.user-statuses{flex-direction:row}.user-actions{gap:var(--space)}}.platform-users-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.email-history-summary{font-size:13px}.email-history-summary .email-history-subject,.email-history-details{margin-top:var(--space)}.email-history-details summary{color:var(--accent);cursor:pointer;min-height:var(--control-height);display:list-item;align-content:center}.email-history-details dl{margin:var(--space) 0}.email-history-details dt{color:var(--muted);font-size:12px}.email-history-details dd{margin:0 0 var(--space);overflow-wrap:anywhere}.email-message-body{margin:var(--space) 0;padding:calc(var(--space) * 1.5);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--background);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:320px;overflow:auto}.app .topbar .global-search kbd{color:inherit;border-color:currentColor}.ui-colour-control{display:flex;align-items:center;gap:var(--space);flex-shrink:0}.ui-colour-control select{min-height:var(--control-height);max-width:112px}.ui-colour-control>span{white-space:nowrap}@media(max-width:600px){.app .topbar{display:grid;grid-template-columns:44px 44px minmax(0,1fr);grid-template-rows:44px 44px;height:106px;padding:6px 12px}.ui-colour-control{justify-content:flex-end}.app .topbar .global-search{margin-right:0}.ui-colour-control select{width:112px}.app .topbar .top-actions{grid-column:1 / -1;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;min-width:0}.app .topbar .top-actions>*{flex-shrink:0}.app .main-area{padding-top:164px}.app .sidebar{top:164px}}.app .topbar .mobile-menu{color:inherit}.invoice-quick-preview{position:fixed;z-index:150;inset:auto 16px 16px auto;width:min(560px,45vw);max-height:min(820px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 28px #0002;overflow:hidden;text-align:left}.invoice-quick-preview>header,.invoice-quick-preview>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex-shrink:0}.invoice-quick-preview>header{border-bottom:1px solid var(--line)}.invoice-quick-preview>header small{display:block;color:var(--muted)}.invoice-quick-preview>footer{border-top:1px solid var(--line)}.invoice-quick-preview-content{overflow:auto;min-height:0;overscroll-behavior:contain}.invoice-quick-preview .paper{box-shadow:none;border:0;padding:24px}.invoice-row-preview,.invoice-mobile-preview{min-height:var(--control-height)}.mobile-record-with-preview{border-bottom:1px solid var(--line)}.invoice-mobile-preview{margin:0 12px 8px}@media(max-width:700px){.invoice-quick-preview{inset:auto 8px 8px;width:auto;max-height:calc(100dvh - 16px)}}.invoice-row-preview{margin-right:12px}.invoice-quick-preview>header .icon-button{width:44px;min-height:44px;flex-shrink:0}.structured-invoice .structured-items{table-layout:auto;width:100%;border-collapse:collapse}.structured-invoice .structured-items th,.structured-invoice .structured-items td{padding:10px 8px;overflow-wrap:normal;vertical-align:top;white-space:pre-wrap}.structured-invoice .structured-items td:first-child:not(.numeric){overflow-wrap:anywhere}.structured-invoice .structured-items .numeric{white-space:nowrap}.structured-invoice .structured-items th{color:var(--invoice-accent);background:var(--background);font-weight:700}.structured-invoice.table-grid .structured-items th,.structured-invoice.table-grid .structured-items td{border:1px solid var(--line)}.structured-invoice.table-striped .structured-items tbody tr:nth-child(2n){background:var(--background)}.structured-invoice.table-rules .structured-items th{border-top:2px solid var(--invoice-accent);border-bottom:2px solid var(--invoice-accent)}.structured-invoice .preview-customer{border:1px solid var(--line);padding:12px;margin:12px 0}.structured-invoice .invoice-label{border-top:2px solid var(--invoice-accent);margin-top:16px;padding-top:12px}.structured-invoice.compact-document h2{margin:0 0 8px}.structured-invoice.compact-document p{margin:5px 0}.structured-invoice.compact-document .invoice-label{margin-top:12px;padding-top:8px}.structured-invoice.compact-document .structured-items th,.structured-invoice.compact-document .structured-items td{padding:7px 6px}.document-custom-section{margin:16px 0;break-inside:avoid}.document-custom-section h4{margin:0 0 6px}.document-custom-section p{white-space:pre-wrap;overflow-wrap:anywhere}.document-table-preview{container-type:inline-size;min-width:0}.paper .document-table-hint{display:none;margin:0 0 8px;font-size:12px}.document-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.document-table-scroll:focus-visible{outline:2px solid var(--invoice-accent, var(--accent));outline-offset:3px}.document-table-scroll>table{min-width:max(640px,calc(var(--document-column-count, 4) * 96px))}@container (max-width: 640px){.paper .document-table-hint{display:block}.paper .document-table-scroll>table{font-size:14px}}.invoice-layout-editor{margin-bottom:20px}.invoice-layout-editor fieldset{min-width:0;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:var(--radius)}.invoice-layout-editor legend{font-weight:600;padding:0 6px}.invoice-layout-editor input,.invoice-layout-editor select,.invoice-layout-editor textarea{max-width:100%}.invoice-layout-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:12px 0}.invoice-layout-choice{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;gap:6px;background:var(--surface);color:var(--ink);border:1px solid var(--line);padding:10px}.invoice-layout-choice.selected{border:2px solid var(--accent);padding:9px;background:var(--accent-soft)}.invoice-layout-choice strong{font-size:12px}.invoice-layout-choice small{font-size:11px;color:var(--muted);font-weight:400;line-height:1.4}.layout-miniature{height:85px;display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);padding:6px;background:var(--surface);color:var(--ink)}.layout-miniature-heading{height:5px;width:55%;background:var(--accent)}.layout-miniature-parties{display:flex;gap:8px;height:12px}.layout-miniature-parties>span{width:40%;border:1px solid var(--line)}.layout-miniature-table{display:flex;flex-direction:column;gap:0}.layout-miniature-header,.layout-miniature-row{display:flex}.layout-miniature-header{background:var(--background);font-size:4px;line-height:1.4}.layout-miniature-header>span{min-width:0;overflow:hidden;white-space:nowrap}.layout-miniature-row>span{height:7px;border-bottom:1px solid var(--line)}.layout-miniature-grid .layout-miniature-row>span{border:1px solid var(--line)}.layout-miniature-striped .layout-miniature-row:nth-child(2n){background:var(--background)}.layout-miniature-total{height:4px;width:30%;margin-left:auto;background:var(--accent-line)}.layout-legacy-preview{height:85px;display:grid;place-items:center;background:var(--background);font-size:24px}.invoice-layout-column{display:grid;grid-template-columns:minmax(120px,2fr) minmax(85px,1fr) minmax(90px,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0}.invoice-layout-column-kind{display:flex;flex-direction:column}.invoice-layout-column-kind small{color:var(--muted)}.invoice-layout-actions,.invoice-layout-add,.invoice-layout-section-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.invoice-layout-section-heading{justify-content:space-between}.invoice-layout-add{align-items:end;margin:12px 0}.invoice-layout-actions button{min-width:44px;min-height:44px}.invoice-layout-custom-values input{min-width:130px}.invoice-layout-custom-values th{overflow-wrap:anywhere}.invoice-layout-editor .grid.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:700px){.invoice-layout-column{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.invoice-layout-editor .grid.two{grid-template-columns:minmax(0,1fr)}.invoice-layout-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.structured-items{font-size:9px}}@font-face{font-family:Ledger Noto;src:url(/Ledger/fonts/NotoSans-Regular.ttf) format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--font-noto: "Ledger Noto"}
