@font-face{font-family:Open Sans;src:url(/brand/OpenSans-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Open Sans;src:url(/brand/OpenSans-Bold.ttf) format("truetype");font-weight:500 900;font-display:swap}@font-face{font-family:Open Sans;src:url(/brand/OpenSans-Italic.ttf) format("truetype");font-style:italic;font-display:swap}:root{font-family:Open Sans,sans-serif;color:#25282d;background:#fff;font-synthesis:none;font-weight:400;font-size:14px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);padding:32px}.login-card .field{margin-bottom:20px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid #d7dce3;background:#fff;color:#3c4656;border-radius:3px;padding:10px 15px;font-weight:550;text-decoration:none;transition:background .15s}button:hover,.button:hover{background:#f0f4fa}button:disabled{opacity:.5;cursor:wait}input,select,textarea{background:#fff;border:1px solid #d7dce3;border-radius:3px;padding:11px 12px;color:#25282d;width:100%;outline:none}input:focus,select:focus,textarea:focus{border-color:#3873b3;box-shadow:0 0 0 3px #3873b31a}button:focus-visible,a:focus-visible{outline:3px solid #3873b3;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:3px;text-transform:uppercase;font-weight:400;margin-bottom:10px}h2{font-size:18px;font-weight:600}h3{font-size:17px}p{line-height:1.6}fieldset{border:0;margin:0;padding:0;min-width:0}.shell{display:flex;min-height:100vh}.sidebar{width:240px;background:#fff;border-right:1px solid #dce0e6;position:fixed;inset:0 auto 0 0;padding:35px 22px;display:flex;flex-direction:column}.brand{display:flex;flex-direction:column;gap:18px;align-items:flex-start;text-decoration:none}.brand-logo{display:block;width:100%;height:auto}.brand small{font-size:9px;letter-spacing:2px;color:#626b78}.login-logo{display:block;width:min(100%,280px);height:auto;margin:0 auto 36px}.workspace-label{font-size:10px;color:#6c7582;letter-spacing:1.5px;margin:62px 10px 16px}nav{display:grid;gap:7px}nav button{display:flex;align-items:center;gap:13px;border:0;background:none;padding:13px;color:#586270;text-align:left}nav button>span{font-size:20px}nav button small{margin-left:auto;border-radius:4px;font-size:11px;color:#3873b3;background:#f0f4fa;padding:3px 5px}nav button.active{color:#2c5d92;background:#edf3fb}nav button.active small{background:#dce8f7}.sidebar-note{margin-top:auto;padding:20px 8px 0;border-top:1px solid #e2e5e9;font-size:12px;color:#46546a}.sidebar-note p{font-size:11px;color:#626b78;margin:10px 0 24px}.sidebar-note small{font-size:10px;color:#737b87}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#3873b3;margin-right:6px}main{margin-left:240px;flex:1;min-width:0;padding:0 46px}.topbar{height:82px;border-bottom:1px solid #dce0e6;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#626b78}.slash{margin:0 12px;color:#9ba2ad}.local-pill{font-size:11px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:42px 0 28px}.page-heading p{color:#626b78;margin:0}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#626b78;margin-bottom:13px;font-weight:600}.primary{background:#3873b3;border:1px solid #3873b3;color:#fff;padding:12px 18px;box-shadow:0 2px 3px #27374d10}.primary:hover{background:#2c5d92}.stats{display:grid;grid-template-columns:repeat(3,1fr) 1.5fr;gap:18px;margin-bottom:30px}.stat{background:#fff;border:1px solid #dce0e6;border-radius:2px;padding:23px 24px;display:flex;flex-direction:column;gap:12px}.stat>span{font-size:12px;color:#626b78}.stat strong{font-size:30px;font-weight:550;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.stat small{font-size:11px;color:#737b87}.stat.totals{background:#f0f4fa;border-color:#d5e0f0}.totals strong{font-size:25px;color:#3f4b6d}.panel{background:#fff;border:1px solid #dce0e6;border-radius:2px;overflow:hidden}.panel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e5e9;padding:0 23px}.tabs{display:flex;gap:23px}.tabs button{border:0;border-radius:0;padding:19px 0;background:none;color:#626b78;font-size:12px}.tabs button.chosen{color:#3873b3;border-bottom:2px solid #3873b3}.quiet{border:0;background:transparent;font-size:12px;color:#586270;padding:9px}.toolbar{display:flex;align-items:center;gap:14px;padding:20px 24px}.toolbar input{max-width:350px;font-size:12px;background:#fafbfd}.toolbar select{width:180px;font-size:12px}.result-count{font-size:11px;color:#626b78;margin-left:auto}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#fff;color:#3873b3;font-size:11px;text-transform:none;letter-spacing:.7px;padding:13px 20px;font-weight:550;border-top:1px solid #515760;border-bottom:1px solid #515760}td{padding:17px 20px;border-bottom:1px solid #e8ebef;font-size:12px;color:#586270}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f7f9fc}.numeric{text-align:right}.amount{color:#25282d;font-weight:600}.amount small{display:block;font-size:9px;margin-top:5px;color:#737b87;font-weight:400}.text-button{padding:0;border:0;background:none;color:#3873b3}.text-button:hover{background:none;text-decoration:underline}.invoice-number{font-size:12px;font-weight:600;color:#3873b3}.client-cell{display:flex;align-items:center;gap:10px;color:#3c4656}.avatar{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#f0f4fa;border:1px solid #dce0e6;color:#586d92;font-size:9px;border-radius:3px;flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:5px;font-size:10px;text-transform:capitalize;font-weight:500}.badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.badge.paid{background:#ecf3e9;color:#638657}.badge.outstanding{background:#fcf3e2;color:#b28a42}.badge.unknown{background:#f0eeee;color:#86716b}.icon{padding:4px 8px;border:0;background:none;color:#586d92;font-size:19px}.review-dot{color:#c89b41}.pagination{border-top:1px solid #dce0e6;display:flex;justify-content:space-between;align-items:center;padding:17px 24px;color:#626b78;font-size:11px}.pagination button{font-size:11px;padding:7px 12px;margin-left:8px}.page-footer{display:flex;justify-content:space-between;color:#737b87;font-size:10px;margin:32px 0 24px}.page-footer span{color:#737b87}.alert{display:flex;justify-content:space-between;align-items:center;gap:15px;border-radius:3px;padding:12px 16px;margin:15px 0;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.alert button{background:none;border:0;color:inherit;padding:0;font-size:20px}.error,.inline-error{background:#fff0ec;color:#a34532}.success{background:#e7f1e6;color:#386b39}.warning{background:#fff6df;color:#8d6e29}.inline-error{font-size:12px;line-height:1.5;border-radius:5px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto}.loading,.empty{text-align:center;padding:70px 20px;color:#626b78}.loading h2{margin-top:20px}.spinner{width:25px;height:25px;border:2px solid #d5e0f0;border-top-color:#3873b3;border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.client-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.client-card{text-align:left;padding:24px;border-color:#dce0e6;border-radius:2px;display:flex;flex-direction:column}.client-card>div{display:flex;justify-content:space-between;align-items:center}.avatar.large{width:40px;height:40px;font-size:12px}.arrow{color:#586d92}.client-card h3{margin:20px 0 9px}.client-card p{font-size:12px;font-weight:400;color:#626b78;margin-bottom:22px;flex:1}.client-card footer{display:flex;justify-content:space-between;font-size:10px;color:#626b78;border-top:1px solid #e2e5e9;padding-top:15px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:25px;align-items:start}.form-main{display:grid;gap:23px}.form-panel{padding:26px}.form-panel h2{display:flex;align-items:center;gap:12px;margin-bottom:25px}.step{background:#edf3fb;border-radius:50%;width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#3873b3}.grid2,.grid3{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid3{grid-template-columns:repeat(3,1fr)}.field{display:flex;flex-direction:column;gap:8px;font-size:12px;min-width:0}.field>span{color:#3873b3;font-size:11px;font-weight:500}.field small{font-size:10px;color:#737b87}.date-presets{display:flex;gap:6px}.date-presets button{padding:6px 9px;font-size:10px}.date-presets .selected{background:#edf3fb;border-color:#7c98c5;color:#2c5d92}.line-item{border-top:1px solid #dce0e6;padding:18px 0}.line-title{font-size:11px;color:#626b78;margin-bottom:15px;display:flex;justify-content:space-between}.line-title button{font-size:10px}.line-fields{display:grid;grid-template-columns:1.1fr 2fr .7fr 1fr;gap:12px}.line-fields input{font-size:12px;padding:10px}.muted{color:#626b78;font-size:12px;line-height:1.6}.small{font-size:11px}.preserve{white-space:pre-line;font-size:12px;color:#586270;line-height:1.7;overflow-wrap:anywhere}.summary{padding:26px;position:sticky;top:20px}.summary h2{font-size:22px;margin-bottom:8px}.summary .field{margin:20px 0}.summary-row{display:flex;justify-content:space-between;margin:16px 0;font-size:12px;color:#626b78}.grand-total{border-top:1px solid #dce0e6;padding:22px 0;margin-top:22px;display:flex;flex-direction:column;gap:12px}.grand-total>span{font-size:12px;color:#3873b3}.grand-total strong{font-size:28px;font-weight:550;letter-spacing:-.7px;color:#3f4b6d}.full{width:100%;margin-top:10px}.summary>.muted{text-align:center;margin-top:17px}.save{background:#3873b3;border-color:#3873b3}.preview-panel{margin-top:25px;padding:25px}.preview-panel iframe,.details iframe{width:100%;height:75vh;border:1px solid #dce0e6;border-radius:5px;background:#f4f6f9}.overlay{position:fixed;inset:0;background:#252e4270;z-index:10;display:flex;align-items:flex-start;justify-content:center;padding:4vh 20px;overflow:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;border-radius:12px;width:min(720px,100%);box-shadow:0 20px 80px #252e4240;max-height:92vh;overflow:auto}.modal.wide{width:min(1100px,100%)}.modal>header{display:flex;justify-content:space-between;align-items:center;padding:23px 28px;border-bottom:1px solid #dce0e6;position:sticky;top:0;background:#fff;z-index:1}.modal>header h2{margin:0}.client-form{padding:25px 28px}.client-form fieldset>.field{padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid #dce0e6}.inherited{padding:20px;background:#f7f9fc;border:1px solid #dce0e6;border-radius:3px;margin-top:25px}.inherited h3{font-size:12px;color:#3873b3}.details{padding:22px 28px}.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.detail-actions>div{display:flex;align-items:center;gap:12px}.detail-actions strong{font-size:19px}.detail-actions span:not(.badge){font-size:12px;color:#626b78}.detail-actions .button,.detail-actions button{font-size:12px}.detail-path{font-size:10px;color:#737b87;margin-top:12px;overflow-wrap:anywhere}.metadata-toggle{font-size:11px;display:block;margin-bottom:18px}.correction{padding:20px;background:#f7f9fc;margin-bottom:20px;border-radius:3px}.correction>.primary{margin-top:18px}@media(min-width:1600px){main{padding-left:65px;padding-right:65px}}@media(max-width:1200px){main{padding:0 24px}.sidebar{width:205px;padding:30px 16px}main{margin-left:205px}.stat{padding:20px 17px}.form-layout{grid-template-columns:minmax(0,1fr) 270px}.line-fields{grid-template-columns:1fr 1fr}.client-grid{grid-template-columns:repeat(2,1fr)}td,th{padding-left:13px;padding-right:13px}.brand{font-size:16px}}@media(max-width:900px){.sidebar{width:170px;padding:25px 13px}.brand{font-size:13px;gap:8px}.brand small{font-size:7px}main{margin-left:170px;padding:0 20px}.stats{grid-template-columns:1fr 1fr;gap:12px}.form-layout{grid-template-columns:1fr}.summary{position:static}.summary .field{display:inline-flex;width:47%;margin-right:3%}.tabs{gap:14px}.toolbar{flex-wrap:wrap}.toolbar .result-count{display:none}.detail-actions,.detail-actions>div{flex-wrap:wrap}}@media(max-width:600px){.shell{display:block}.sidebar{position:static;width:100%;padding:18px 20px;border-right:0;border-bottom:1px solid #dce0e6;flex-direction:row;align-items:center;justify-content:space-between}.brand{width:125px;flex-shrink:0;gap:8px}.brand small,.workspace-label,.sidebar-note{display:none}nav{display:flex;gap:5px}nav button{font-size:11px;padding:8px;gap:4px}nav button>span,nav button small{display:none}main{margin:0;padding:0 16px}.topbar{height:52px;font-size:10px}.page-heading{margin:28px 0 22px;align-items:flex-start;gap:12px}h1{font-size:27px}.eyebrow{font-size:8px}.page-heading p{font-size:12px}.page-heading>.primary{font-size:11px;padding:10px;white-space:nowrap}.stats{gap:10px;margin-bottom:20px}.stat{padding:17px;gap:9px}.stat strong{font-size:25px}.totals strong{font-size:20px}.stat small{font-size:9px}.tabs{gap:12px}.tabs button{font-size:10px;padding:15px 0}.panel-top{padding:0 12px;gap:4px}.panel-top>.quiet{font-size:0}.panel-top>.quiet:first-letter{font-size:16px}.toolbar{padding:14px;gap:8px}.toolbar input{max-width:none}.toolbar select{width:100%}.client-grid{grid-template-columns:1fr}.page-footer span{font-size:8px}.form-panel{padding:20px}.grid2,.grid3{grid-template-columns:1fr}.summary{padding:23px}.overlay{padding:12px 8px}.modal{max-height:calc(100vh - 24px)}.modal>header{padding:17px}.client-form,.details{padding:17px}.detail-actions strong{font-size:16px}.line-fields{gap:12px}.preserve{font-size:11px}}main.login-screen{margin:0;padding:24px}.login-card{border-top:2px solid #3873b3}.stat:not(.totals){border:0;border-top:1px solid #515760;border-bottom:1px solid #dce0e6}.summary{border-top:2px solid #3873b3}.grand-total strong{font-weight:400;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.invoice-insights{margin-bottom:30px}.period-panel{padding:22px 24px;margin-bottom:18px}.period-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.period-heading h2,.invoiced-total h2,.monthly-income h2{margin-bottom:7px;font-size:15px}.period-heading p{margin-bottom:18px}.period-preset{padding:7px 15px;font-size:12px}.period-preset.selected{background:#edf3fb;border-color:#7c98c5;color:#2c5d92}.period-controls{display:flex;align-items:center;gap:32px}.month-range{display:grid;grid-template-columns:1fr 1fr;gap:28px;flex:1;min-width:0}.month-range .field>span{display:flex;justify-content:space-between;gap:12px}.month-range output{color:#25282d;font-variant-numeric:tabular-nums}.month-range input[type=range]{accent-color:#3873b3;padding:0;height:24px;border:0;box-shadow:none;cursor:pointer}.month-range input:focus-visible{outline:2px solid #3873b3;outline-offset:3px}.insights-client{width:220px}.income-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.5fr);gap:18px}.invoiced-total,.monthly-income{padding:24px}.invoiced-total{border-top:2px solid #3873b3}.invoiced-total>strong{display:block;font-size:27px;color:#3f4b6d;font-weight:400;margin:24px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.invoiced-total>strong small{display:block;font-size:10px;letter-spacing:1px;color:#626b78;margin-top:5px}.income-series+.income-series{margin-top:22px;border-top:1px solid #dce0e6;padding-top:16px}.chart-currency{font-size:10px;color:#3873b3;letter-spacing:1px;margin-bottom:8px}.income-chart{display:flex;gap:12px;overflow-x:auto;padding:34px 6px 8px;border-bottom:1px solid #dce0e6}.income-month{flex:1 0 62px;min-width:0;text-align:center}.income-bar-track{display:flex;position:relative;align-items:flex-end;justify-content:center;width:100%;height:125px;padding:0;border:0;border-radius:0;background:linear-gradient(to top,#e8edf4 1px,transparent 1px) 0 0 / 100% 25%}.income-bar-track:hover{background-color:#f0f4fa}.income-bar{width:65%;max-width:52px;min-height:2px;background:#7c98c5;border-radius:2px 2px 0 0}.income-bar-track:hover .income-bar,.income-bar-track:focus-visible .income-bar{background:#3873b3}.income-tooltip{display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%);width:max-content;max-width:160px;z-index:1;padding:5px 8px;background:#252e42;color:#fff;border-radius:3px;font-size:10px;pointer-events:none}.income-bar-track:hover .income-tooltip,.income-bar-track:focus-visible .income-tooltip{display:block}.income-month-label{display:block;font-size:10px;color:#626b78;margin-top:10px;font-variant-numeric:tabular-nums}.chart-scale{display:flex;justify-content:space-between;font-size:10px;color:#626b78;margin-top:10px}.income-empty{display:grid;place-items:center;min-height:185px;color:#626b78;font-size:12px;text-align:center}.insights-note{margin:10px 0 0;font-size:11px}@media(max-width:900px){.income-layout{grid-template-columns:minmax(0,1fr)}.period-controls{gap:20px}.insights-client{width:170px}}@media(max-width:600px){.period-panel,.invoiced-total,.monthly-income{padding:18px}.period-controls{flex-direction:column;align-items:stretch}.month-range{gap:18px}.insights-client{width:100%}.invoiced-total>strong{margin:18px 0}}.vat-totals{margin:22px 0}.vat-totals+.vat-totals{border-top:1px solid #dce0e6;padding-top:18px}.vat-amount{margin-bottom:20px}.vat-amount>span{display:block;font-size:11px;color:#626b78;margin-bottom:8px}.vat-amount>strong{display:block;font-size:26px;color:#3f4b6d;font-weight:400;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.income-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,2fr)}.year-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.year-column{min-width:0}.year-column:first-child{padding-right:16px}.year-column+.year-column{border-left:1px solid #dce0e6;padding-left:16px}.year-column h3{font-size:12px;color:#3873b3;margin-bottom:6px}.year-period{font-size:10px;color:#626b78;margin-bottom:22px;font-variant-numeric:tabular-nums}.year-column .vat-amount{min-height:104px}.year-column .vat-amount>strong{font-size:clamp(17px,1.6vw,24px)}.previous-year h3,.previous-year .vat-amount>strong{color:#85384b}.income-change{display:block;font-size:10px;color:#626b78;margin-top:8px;line-height:1.6}.income-change.above{color:#386b39}.income-change.below{color:#85384b}.chart-legend{display:flex;flex-wrap:wrap;gap:18px;margin:14px 0;font-size:11px;color:#626b78}.chart-legend>span{display:inline-flex;align-items:center;gap:7px}.chart-legend i{width:10px;height:10px;display:inline-block;border-radius:2px}.current-swatch{background:#7c98c5}.previous-swatch{background:#85384b}.income-bar-track{gap:4px}.income-bar{width:35%;max-width:28px}.income-bar.previous-bar{background:#85384b}.income-bar-track:hover .previous-bar,.income-bar-track:focus-visible .previous-bar{background:#652638}.income-tooltip{max-width:235px}@media(max-width:1100px){.income-layout{grid-template-columns:minmax(0,1fr)}}
