@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Montserrat:wght@400;500;600;700;800&display=swap");
:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f2f2f4;background:#101012;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}.muted{color:#96969f}.red{color:#eb4652}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;color:#a0a0a7}.brand-mark{font-size:27px;font-weight:950;letter-spacing:-2.5px;line-height:1}.brand-mark span{color:#eb4652}.brand{display:flex;align-items:center;gap:15px}.brand-copy{font-size:12px;letter-spacing:2px;font-weight:900}.brand-copy small{display:block;color:#96969f;letter-spacing:2px;margin-top:5px;font-size:9px}.btn{appearance:none;border:1px solid #313137;color:#f4f4f6;background:#222226;border-radius:9px;padding:11px 15px;display:inline-flex;justify-content:center;align-items:center;gap:12px;font-weight:700;font-size:12px;transition:background .15s,border-color .15s}.btn:hover:not(:disabled){border-color:#e64652;background:#303034}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:#dd3442;border-color:#dd3442;color:white}.btn.primary:hover:not(:disabled){background:#c52736}.btn.subtle{background:transparent}.btn.danger{border-color:#7c2a2c;background:#351b1e;color:#ffc9ca}.btn.full{width:100%;justify-content:space-between}.login-shell{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at 55% -30%,#542024,#101012 48%)}.login-panel{width:min(100%,435px);border:1px solid #34343a;background:#18181b;border-radius:18px;padding:38px;box-shadow:0 30px 90px #05050780}.login-panel h1{font-size:56px;letter-spacing:-3px;margin:22px 0 2px}.login-panel>p{margin-bottom:26px}.divider-word{text-align:center;color:#86868c;font-size:11px;margin:23px 0}.stack{display:grid;gap:15px}.stack label{display:grid;gap:8px;color:#cfcfd3;font-size:12px}.stack input{width:100%}.login-panel .small{margin:24px 0 0;line-height:1.6}.workspace{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{border-right:1px solid #29292e;background:#151518;min-height:100vh;display:flex;flex-direction:column;padding:29px 17px;position:sticky;top:0;height:100vh}.sidebar .brand{padding:0 10px 48px}.nav-label{font-size:10px;color:#777781;font-weight:800;letter-spacing:1.8px;padding:0 12px 11px}.nav{display:flex;gap:12px;align-items:center;width:100%;padding:14px;border:0;background:transparent;color:#9f9fa7;font-size:14px;font-weight:600;text-align:left;border-radius:9px}.nav:hover,.nav.active{background:#292124;color:#fff}.nav.active:before{content:'';height:19px;width:3px;background:#e03a48;border-radius:3px;position:absolute;left:11px}.sidebar-bottom{margin-top:auto;border-top:1px solid #2d2d32;padding-top:18px}.clip{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 13px 8px}.main{min-width:0}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 38px;border-bottom:1px solid #29292d}.top-title{font-size:24px;font-weight:800;letter-spacing:-1px;margin-top:5px}.top-actions{display:flex;gap:8px}.content{padding:34px 38px;max-width:1600px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.page-heading h1{font-size:32px;letter-spacing:-1.5px;margin:0 0 6px}.page-heading p{margin:0;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat,.panel{border:1px solid #303036;background:#1b1b1f;border-radius:12px}.stat{padding:21px}.stat .metric{font-size:26px;font-weight:800;letter-spacing:-1px;margin-top:14px}.stat .label{font-size:12px;color:#9898a0}.panel{margin-top:22px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:19px 21px;border-bottom:1px solid #323238}.panel-head strong{font-size:15px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.data-table th{font-size:10px;letter-spacing:1px;color:#9d9da7;text-transform:uppercase;background:#202024}.data-table th,.data-table td{padding:16px 19px;border-bottom:1px solid #303036}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#29292d}.money{font-variant-numeric:tabular-nums;text-align:right}.pill{display:inline-block;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;background:#36363c;color:#dedee0}.pill.paid{background:#173c30;color:#8be3ba}.pill.overdue{background:#57242b;color:#ffb0b5}.pill.draft{background:#3a3531;color:#dfc49b}.pill.partial{background:#2f304f;color:#c2c6ff}.pill.void{background:#28282c;color:#8a8a90}.pill.unpaid,.pill.finalized{background:#403122;color:#f4cd91}.muted-row{color:#909099}.empty{padding:46px;text-align:center;color:#9a9aa2;font-size:13px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:19px}.editor-block{padding:24px;border:1px solid #303036;background:#1b1b1f;border-radius:12px;margin-bottom:17px}.editor-block h3{font-size:14px;margin:0 0 19px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#bcbcc5;font-weight:600}.field.wide{grid-column:1/-1}input,textarea,select{background:#121215;border:1px solid #3a3a42;border-radius:8px;padding:11px 12px;color:#f2f2f5;outline:none;min-width:0}input:focus,textarea:focus,select:focus{border-color:#e04450}textarea{resize:vertical;min-height:80px}input[readonly]{background:#252529;color:#aaa}.line-editor{display:grid;grid-template-columns:minmax(140px,1fr) 75px 113px 113px 32px;gap:8px;align-items:center;margin-top:8px}.line-editor input{width:100%;padding:10px}.line-head{font-size:10px;color:#9999a2;font-weight:800;letter-spacing:1px;text-transform:uppercase}.icon-btn{border:1px solid #43434a;border-radius:7px;background:#232327;color:#eee;width:32px;height:37px}.editor-side{position:sticky;top:20px;align-self:start}.editor-side .panel{margin-top:0;padding:23px}.editor-side .panel strong{font-size:13px}.summary-line{display:flex;justify-content:space-between;gap:10px;margin:16px 0;color:#c4c4cb;font-size:12px}.summary-line.total{padding-top:17px;border-top:1px solid #3b3b42;font-size:17px;font-weight:800;color:white}.side-buttons{display:grid;gap:9px;margin-top:20px}.notice{padding:13px 14px;background:#342b21;color:#f9dda6;border:1px solid #806036;border-radius:9px;font-size:12px;line-height:1.5}.notice.error{background:#45252a;border-color:#89414b;color:#ffc7cb}.notice.success{background:#18382e;border-color:#346d57;color:#a9f3cf}.helper{font-size:11px;color:#90909a;line-height:1.6;margin-top:12px}.overlay{position:fixed;inset:0;z-index:30;background:#000b;overflow:auto;padding:30px;display:flex;align-items:flex-start;justify-content:center}.modal{max-width:600px;background:#1c1c20;border:1px solid #3c3c45;border-radius:14px;width:100%;padding:27px;margin:5vh auto}.modal h2{margin:0 0 12px}.modal p{color:#b4b4be;font-size:13px;line-height:1.7}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:23px}.toast{position:fixed;right:22px;bottom:22px;z-index:50;background:#28282e;border:1px solid #595963;border-radius:10px;color:#fff;max-width:400px;padding:15px 19px;font-size:13px;box-shadow:0 10px 40px #0009}.preview-wrap{width:min(940px,100%);margin:0 auto}.preview-controls{display:flex;justify-content:space-between;gap:12px;margin:0 0 15px}.paper{background:#fff;color:#1d1d23;width:100%;padding:54px 58px;min-height:830px;box-shadow:0 22px 65px #0006;overflow-wrap:anywhere}.paper-head{display:flex;justify-content:space-between;gap:35px;border-bottom:3px solid #d93441;padding-bottom:30px}.paper-logo{font-size:18px;font-weight:900;letter-spacing:-1px}.paper-logo span{color:#db3545}.paper-h1{font-size:34px;font-weight:900;letter-spacing:-1.5px;margin:0}.paper-label{font-size:9px;text-transform:uppercase;letter-spacing:1.6px;color:#72727d;font-weight:800;margin-bottom:5px}.paper-meta{text-align:right;font-size:12px;line-height:1.8}.paper-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:34px 0}.paper-address{font-size:12px;white-space:pre-line;line-height:1.7}.paper-table{width:100%;border-collapse:collapse;font-size:12px}.paper-table th{text-transform:uppercase;font-size:9px;color:#6b6b76;letter-spacing:1px;background:#f5f5f7;text-align:left}.paper-table th,.paper-table td{padding:13px 10px;border-bottom:1px solid #e8e8ed}.paper-table .right{text-align:right}.paper-totals{width:min(310px,100%);margin:20px 0 0 auto}.paper-total-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee;font-size:12px}.paper-total-row.grand{font-size:18px;font-weight:900;border-top:2px solid #1d1d22;border-bottom:0;margin-top:5px;padding-top:18px}.paper-notes{margin-top:36px;font-size:11px;line-height:1.7;color:#555560;white-space:pre-line}.paper-footer{border-top:1px solid #e2e2e7;margin-top:50px;padding-top:19px;font-size:10px;color:#77777e;display:flex;justify-content:space-between}.paper .pay-btn{display:inline-block;background:#df3948;color:white;border-radius:7px;padding:11px 17px;font-size:12px;font-weight:800;margin-top:12px}.paper .pay-btn:hover{background:#ba2433}.paper .paper-status{display:inline-block;font-size:10px;background:#f3f3f5;color:#666;padding:7px 10px;border-radius:5px;margin-top:10px;text-transform:uppercase;letter-spacing:1px}.paper .paper-status.draft{color:#b3424a;background:#fff0f1}.public-body{background:#eaeaec;color:#222}.public-header{display:flex;justify-content:space-between;align-items:center;background:#151518;color:#fff;padding:19px max(24px,calc((100vw - 930px)/2));gap:10px}.public-sheet{max-width:860px;margin:34px auto 70px}.public-status{padding:24px;text-align:center;color:#5a5a64;font-size:14px}.public-sheet .paper{box-shadow:0 8px 40px #0001}.public-header .brand-mark{font-size:22px}@media(max-width:980px){.workspace{grid-template-columns:70px 1fr}.sidebar{padding:25px 10px}.sidebar .brand{padding:0 8px 30px}.sidebar .brand-copy,.sidebar .nav span,.sidebar .nav-label,.sidebar-bottom .clip{display:none}.nav{font-size:19px;justify-content:center}.topbar,.content{padding:23px}.editor-grid{grid-template-columns:1fr}.editor-side{position:static}.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{align-items:flex-start;flex-direction:column}.top-actions{width:100%}.top-actions .btn{flex:1}.page-heading{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:13px}.stat .metric{font-size:19px}.content{padding:15px}.editor-block{padding:17px}.form-grid{grid-template-columns:1fr}.line-editor{grid-template-columns:minmax(140px,1fr) 66px 92px 32px}.line-editor .line-total,.line-head .line-total{display:none}.paper{padding:25px 20px;min-height:600px}.paper-head{gap:10px}.paper-h1{font-size:26px}.paper-section{gap:10px}.overlay{padding:10px}.preview-controls{flex-wrap:wrap}.public-header{padding:16px}.public-sheet{margin:12px}.data-table th,.data-table td{padding:12px 10px}}
@media print{@page{size:A4;margin:12mm}html,body{background:white!important;color:black!important;min-height:0}.no-print,.sidebar,.topbar,.content,.overlay>.preview-wrap>.preview-controls,.public-status,.modal,.toast{display:none!important}.workspace,.main{display:block!important}body.print-mode #overlay{display:block!important;position:static!important;padding:0!important;background:white!important;overflow:visible!important}body.print-mode #overlay>.preview-wrap{width:100%!important;margin:0!important;max-width:none!important}.public-sheet{margin:0!important;max-width:none!important}.paper{box-shadow:none!important;padding:0!important;min-height:0!important;font-size:12px!important}.paper .pay-btn{background:white!important;color:#000!important;text-decoration:underline!important;padding:0!important;margin-top:5px}.paper-table tr{break-inside:avoid}.paper-head,.paper-totals,.paper-footer{break-inside:avoid}}

.paper-pay-url{display:none;overflow-wrap:anywhere;font-size:9px;color:#333;margin-top:5px}
@media print{.paper-pay-url{display:block}}

/* Client benefit selection, legal entity billing, and wide itemization */
.benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;border:1px solid #34343b;border-radius:10px;background:#151518}
.benefit-check{display:flex!important;align-items:center;gap:9px;color:#dbdbe0!important;padding:7px;font-weight:600}
.benefit-check input{width:16px;min-width:16px;accent-color:#e04450}
.modal:has(#client-form){max-width:760px}
.line-scroll{overflow-x:auto}
.line-editor{grid-template-columns:160px minmax(170px,1fr) 72px 108px 108px 32px;min-width:690px}
.line-editor select{min-width:0;width:100%;padding:10px 4px;font-size:11px}
.paper-category{display:block;font-size:9px;line-height:1.6;text-transform:uppercase;letter-spacing:.8px;color:#a43843;font-weight:800;margin-bottom:4px}
@media(max-width:700px){.benefit-grid{grid-template-columns:1fr}.line-editor{grid-template-columns:155px minmax(165px,1fr) 72px 105px 95px 32px}.line-editor .line-total{display:block}}
@media print{.paper-category{color:#222}.paper a{color:inherit}}
.paper-ref-table{margin:24px 0;border-top:1px solid #e3e3e6;border-bottom:1px solid #e3e3e6;padding:13px 0;font-size:11px;line-height:1.8;color:#393943}
.paper-ref-table strong{color:#131317}


/* 2026-10-17: Official Kim Paolo visual identity. Keep the favicon image distinct from the website signature logo. */
.brand-logo{display:block;object-fit:contain;object-position:left center;flex-shrink:0;max-width:100%;height:auto}
.brand-logo-login{width:225px;height:64px;margin:0 0 12px}
.brand-logo-sidebar{width:101px;height:36px}
.brand-logo-public{width:132px;height:40px}
.paper-brand-logo{display:block;object-fit:contain;object-position:left center;width:205px;height:65px;max-width:100%;margin:0 0 4px}
@media(max-width:980px){.sidebar .brand-logo-sidebar{width:49px;height:34px;margin-left:-2px}.sidebar .brand{padding:0 0 30px}}
@media(max-width:600px){.brand-logo-public{width:104px;height:34px}.brand-logo-login{max-width:80vw}.paper-brand-logo{width:150px;height:46px}}
@media print{.paper-brand-logo{width:180px;height:58px;page-break-inside:avoid;break-inside:avoid}}

/* INVOICE 2026-10-17 — refined single-page letter layout. */
.paper.paper-one-page{--ink:#16171b;--line:#e7e7e9;--red:#d92e3a;display:flex;flex-direction:column;background:#fff;color:var(--ink);font-size:11px;line-height:1.45;min-height:unset;padding:40px 46px;overflow-wrap:anywhere}
.paper .paper-flow{flex:1;min-height:0}
.paper-document-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:13px;margin-bottom:22px;border-bottom:1px solid var(--line)}
.paper-doc-subtitle{font-size:9px;letter-spacing:1.8px;font-weight:850;color:#23232a}
.paper-doc-subtitle span{font-weight:500;color:#9999a0}
.paper-doc-reference{text-align:right;font-size:10px;color:#4b4b52;font-weight:700}
.paper-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 27px}
.paper-heading .paper-brand-logo{height:48px;width:170px;object-fit:contain;margin:0}
.paper-heading-right{text-align:right}
.paper-heading-right h1{font-size:29px;letter-spacing:-1px;line-height:1.1;margin:0;color:#17171c}
.paper-heading-status{font-size:9px;letter-spacing:1.4px;color:#36363d;font-weight:750;margin-top:9px}
.paper-heading-status.is-draft{color:#c52f3d}
.paper-party{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:29px;margin-bottom:21px}
.paper-from{font-size:10.5px;color:#4a4a51;line-height:1.5}
.paper-from-name{font-size:12px;color:#111115;display:block;margin-bottom:3px}
.paper-eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;font-weight:850;color:#a42c36;margin-bottom:7px}
.paper-to{border-top:1px solid var(--line);margin-top:16px;padding-top:12px;font-size:10.5px;color:#414149;line-height:1.55}
.paper-to strong{display:block;font-size:11.5px;color:#111116;margin-bottom:2px}
.paper-preserve{white-space:pre-line}
.paper-detail-card{background:#f8f8f9;border:1px solid #efeff1;padding:13px 14px;align-self:start}
.paper-kv{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:10px;padding:5px 0;border-bottom:1px solid #ededf0}
.paper-kv:last-child{border-bottom:0}
.paper-kv span{color:#5e5e67}
.paper-kv strong{text-align:right;font-weight:800;color:#1c1d22;max-width:65%;overflow-wrap:anywhere}
.paper-table-box{margin-top:3px}
.paper-one-page .paper-table{font-size:10.8px;table-layout:fixed;border-collapse:collapse}
.paper-one-page .paper-table th{background:#19191d;color:#fff!important;font-size:8.5px;letter-spacing:1.2px;text-transform:uppercase;padding:10px 9px}
.paper-one-page .paper-table th:first-child{width:58%}
.paper-one-page .paper-table th:nth-child(2){width:11%}
.paper-one-page .paper-table th:nth-child(3){width:14%}
.paper-one-page .paper-table th:nth-child(4){width:17%}
.paper-one-page .paper-table td{padding:10px 9px;border-bottom:1px solid #ececee;vertical-align:top}
.paper-line-title{font-weight:750;color:#1c1c21;overflow-wrap:anywhere}
.paper-line-type{font-size:8.5px;text-transform:uppercase;letter-spacing:.65px;color:#898992;margin-top:3px}
.paper-bottom{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:34px;margin-top:17px;align-items:start}
.paper-support{font-size:9px;min-width:0}
.paper-support>div:not(.paper-eyebrow):not(.paper-hours){display:grid;grid-template-columns:75px minmax(0,1fr);gap:7px;padding:4px 0}
.paper-support span{color:#66666f}
.paper-support strong{font-weight:650;overflow-wrap:anywhere}
.paper-hours{border-top:1px solid #ededed;margin-top:8px;padding-top:8px;color:#54545d;line-height:1.55}
.paper-one-page .paper-totals{width:100%;margin:0}
.paper-one-page .paper-totals .paper-kv{padding:6px 0}
.paper-one-page .paper-total-grand{border-top:2px solid #222;margin-top:7px;padding-top:5px}
.paper-one-page .paper-total-grand .paper-kv strong{font-size:15px}
.paper-one-page .paper-balance .paper-kv{font-weight:800;background:#f7f7f7;margin-top:6px;padding:8px}
.paper-pay{border:1px solid #ededed;border-left:3px solid var(--red);padding:10px 13px;margin-top:15px;font-size:10px;line-height:1.45;break-inside:avoid}
.paper-pay-row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.paper-pay a{color:#b2222d;text-decoration:underline;font-weight:800}
.paper-payment-link{margin-top:6px;font-size:9px;color:#555a62;overflow-wrap:anywhere;word-break:break-word}
.paper-payment-muted{color:#66666d}
.paper-payment-info{margin-top:7px;white-space:pre-line}
.paper-one-page .paper-notes{margin-top:12px;color:#606067;white-space:pre-line;font-size:9px;line-height:1.5}
.paper-one-page .paper-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex:none;border-top:1px solid #e9e9eb;margin-top:auto;padding-top:11px;font-size:8px;letter-spacing:.25px;color:#666671}
.paper-one-page .paper-footer strong{text-align:right;font-size:8px;color:#4d4d56}
@media(max-width:600px){.paper.paper-one-page{padding:22px 17px}.paper-party{grid-template-columns:1fr;gap:15px}.paper-bottom{grid-template-columns:1fr}.paper-doc-reference{font-size:9px}}
@media print{.paper.paper-one-page{break-before:avoid;break-after:avoid}.paper-doc-reference{text-align:right}.paper-one-page .paper-table th{background:#19191d!important;color:#fff!important}}
/* The invoice is printed in a dedicated document-only iframe: dashboard hidden automatically. */
#kp-print-frame{pointer-events:none}

/* KIMPAOLO Invoice v4 · visual language aligned with time.kimpaolo.co */
:root{--page:#f7f3ef;--cream:#fbfaf8;--ink:#242122;--soft-ink:#6d6663;--rule:#e8dfd8;--brand-red:#bf2833;--red-tint:#f8eeec;--card-shadow:0 10px 34px rgba(45,31,26,.035);font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--page);font-size:13px}
body{background:var(--page);color:var(--ink);line-height:1.56}
button,input,textarea,select{font-family:Montserrat,Arial,sans-serif}
::selection{background:#f1c9cd} :focus-visible{outline:2px solid var(--brand-red);outline-offset:2px}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif}.red{color:var(--brand-red)}.muted{color:#7c7470}.eyebrow{letter-spacing:2px;color:#98867f;font-size:9px;font-weight:800}
.btn{background:#fff;border:1px solid #e1d8d1;color:#403936;border-radius:8px;font-size:11px;letter-spacing:.1px;font-weight:700;padding:12px 15px;min-height:40px;box-shadow:none;transition:all .17s ease}
.btn:hover:not(:disabled){background:#fcf5f2;border-color:#c6a7a5;color:#5f2229;transform:translateY(-1px)}.btn.primary{background:#bf2833;border-color:#bf2833;color:#fff;box-shadow:0 4px 12px #bf28331c}.btn.primary:hover:not(:disabled){background:#9f202a;border-color:#9f202a;color:#fff}.btn.danger{background:#fff4f3;color:#b2222a;border-color:#f2cecc}.btn.subtle{background:#fff}
.workspace{grid-template-columns:250px minmax(0,1fr)}.sidebar{background:#fbfaf8;border-color:var(--rule);padding:26px 15px 16px;z-index:15;color:#5c5552;min-height:100svh;height:100svh}
.sidebar-brand{display:flex;flex-direction:column;align-items:center;gap:14px;border-bottom:1px solid var(--rule);padding:11px 10px 25px;margin-bottom:27px}.brand-logo-sidebar{object-fit:contain;height:57px!important;width:190px!important;max-width:100%;filter:none;background:transparent;mix-blend-mode:multiply}.brand-caption{text-transform:uppercase;letter-spacing:2.6px;font-weight:750;font-size:8px;color:#9a817d}
.sidebar-nav-group{margin:0 0 25px}.nav-label{color:#a29a93;font-size:9px;letter-spacing:2px;padding:0 13px 10px}.sidebar .nav{position:relative;color:#655d58;font-size:11px;letter-spacing:.15px;font-weight:700;border-radius:6px;margin:3px 0;padding:13px 14px;gap:14px;transition:background .15s ease,color .15s ease}.sidebar .nav svg,.mobile-menu svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar .nav:hover{background:#f2eae5;color:#372625}.sidebar .nav.active{background:#f6eae6;color:#982832}.sidebar .nav.active:before{left:0;top:9px;height:calc(100% - 18px);width:3px;background:#c52e3a;border-radius:0 4px 4px 0}.sidebar .nav.active svg{stroke:#ae2834}
.sidebar-bottom{border-color:var(--rule);padding:14px 0 0}.sidebar-account{display:flex;align-items:center;gap:10px;padding:12px 10px 16px}.account-avatar{display:grid;place-items:center;background:#19191b;color:#fff;border-radius:9px;width:37px;height:37px;font-size:12px;font-weight:850;letter-spacing:-.4px;flex:none}.account-meta{min-width:0}.account-meta strong{font-size:11px;color:#332d2b}.account-meta .clip{font-size:9px;padding:3px 0 0;max-width:168px;color:#8f8783}.sidebar-bottom .nav{margin:0}
.main{background:var(--page);min-width:0}.topbar{background:#fff;border-bottom:1px solid var(--rule);padding:16px clamp(22px,3.5vw,50px);min-height:91px;gap:12px}.topbar-title-group{display:flex;align-items:center;gap:12px}.top-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:29px;letter-spacing:-.8px;margin:3px 0 0;line-height:1}.top-actions{align-items:center}.timezone-tag{border:1px solid var(--rule);padding:9px 11px;font-size:9px;letter-spacing:1px;color:#766c67;font-weight:800;white-space:nowrap}.content{max-width:1450px;margin:0 auto;padding:38px clamp(22px,3.5vw,50px) 72px}
.page-heading{margin-bottom:29px;align-items:flex-start}.page-heading h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(39px,3.5vw,52px);font-weight:650;letter-spacing:-1.8px;line-height:1.06;margin:0 0 12px}.page-heading p{color:#817975;line-height:1.65;font-size:11px;max-width:680px}.page-heading .pill{margin-top:8px}.section-overline{font-weight:800;color:#9f8e85;font-size:9px;letter-spacing:2px;margin:0 0 11px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.stat,.panel,.editor-block{border:1px solid var(--rule);background:#fff;border-radius:10px;box-shadow:var(--card-shadow)}.stat{position:relative;padding:22px 23px;min-height:131px;overflow:hidden}.stat:before{content:'';position:absolute;left:22px;top:0;height:3px;width:37px;background:#b72a35}.stat .label{font-size:10px;text-transform:uppercase;letter-spacing:1.05px;font-weight:700;color:#968e89}.stat .metric{font-size:26px;line-height:1.2;font-weight:750;letter-spacing:-1px;color:#272322;margin-top:18px}.panel{margin-top:22px}.panel-head{padding:21px 24px;border-bottom:1px solid var(--rule)}.panel-head strong{font-size:13px;color:#2c2624}.data-table{color:#3c3735;font-size:11px}.data-table thead th{background:#f9f6f3;color:#938780;font-size:9px;letter-spacing:1.2px;font-weight:800}.data-table th,.data-table td{padding:15px 21px;border-bottom:1px solid #eee8e3}.data-table tbody tr:hover{background:#fdf8f5}.data-table tbody tr:focus-visible{outline:2px solid #be3946}.data-table td strong{color:#302725}.pill{background:#f1efed;color:#655d59;font-size:9px;font-weight:750;border-radius:20px;padding:6px 11px}.pill.draft{background:#f3eee5;color:#94764d}.pill.unpaid,.pill.finalized{background:#fff1de;color:#9f611f}.pill.paid{background:#e5f3e9;color:#28724f}.pill.partial{background:#f1ecfa;color:#7154a2}.pill.overdue{background:#fff0f1;color:#bd343f}.pill.void{background:#eeeceb;color:#999}.empty{font-size:12px;line-height:1.8;color:#8b827e;padding:55px 20px}
.editor-grid{grid-template-columns:minmax(0,1fr) 278px;gap:18px}.editor-block{margin-bottom:18px;padding:27px 28px}.editor-block h3{font-size:14px;font-weight:750;margin-bottom:16px;color:#292423}.editor-block .helper{margin-top:9px}.editor-block p{color:#8a817c}.editor-side{top:25px}.editor-side .panel{padding:25px 23px}.editor-side .panel strong{color:#3a302c}.summary-line{color:#746c67;font-size:11px;margin:15px 0}.summary-line.total{color:#262120;border-color:var(--rule)}
.field{font-size:10px;color:#655c57;gap:7px;letter-spacing:.06px}.field small{line-height:1.6;font-weight:500}.form-grid{gap:16px}.field input,.field select,.field textarea,.line-editor input,.line-editor select,input,select,textarea{color:#282323;border:1px solid #e5ddd6;background:#fff;border-radius:7px;font-size:12px;min-height:42px;transition:border-color .15s,box-shadow .15s}.field input:hover,.field select:hover,.field textarea:hover{border-color:#c8b9b1}.field input:focus,.field select:focus,.field textarea:focus,input:focus,textarea:focus,select:focus{border-color:#be4149;box-shadow:0 0 0 3px #d5424e12}.field input[readonly],input[readonly]{background:#f7f3f0;color:#746b65}
.line-scroll{overflow:auto;padding-bottom:3px}.line-editor{min-width:775px;grid-template-columns:minmax(148px,1.05fr) minmax(175px,1.35fr) 73px 95px 95px 32px;gap:8px}.line-editor select{width:100%;padding:10px 8px}.line-head{font-size:9px;color:#8e857f}.line-editor .line-total{font-size:10px;text-align:right;white-space:nowrap}.icon-btn{background:#fff;border:1px solid var(--rule);color:#a34549;border-radius:7px}.icon-btn:hover{background:#fff0f0}.benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-check{background:#f9f6f4;color:#493f3b;border:1px solid var(--rule);border-radius:7px}.helper{color:#918680;font-size:10px}.notice{background:#fff7ed;color:#81633f;border-color:#e8d0a8;border-radius:9px;font-size:11px}.notice.error{background:#fdf0f0;border-color:#ecc2c2;color:#a62932}.notice.success{background:#eaf6ee;border-color:#c4e9d2;color:#286e46}
.overlay{background:#1713129c;backdrop-filter:blur(2px);padding:25px 14px}.modal{margin:4vh auto;background:#fff;border:1px solid #e8e0da;color:#2e2927;box-shadow:0 25px 65px rgba(27,18,15,.17);border-radius:11px;max-width:640px;padding:32px}.modal h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;letter-spacing:-.5px;font-weight:700;margin-bottom:7px}.modal p{color:#7b716c;font-size:11px;line-height:1.65}.modal h3{color:#3f3631}.modal-actions{border-top:1px solid #f1e9e4;padding-top:18px}.toast{background:#292222;color:#fff;border-color:#534543;box-shadow:0 12px 40px #140b0b30}.settings-layout{max-width:1050px}.settings-layout .editor-block{padding:29px 31px}.block-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:20px;border-bottom:1px solid var(--rule);padding-bottom:20px}.block-heading h3{margin:0 0 4px}.block-heading p{font-size:11px;margin:0}.block-step{display:grid;place-items:center;background:#f4e7e3;color:#a32a33;border-radius:8px;width:36px;height:36px;flex:none;font-weight:800;font-size:11px}.settings-save{display:flex;align-items:center;justify-content:flex-end;gap:20px;padding-bottom:25px}
.login-shell{background:radial-gradient(circle at 10% 0%,white 0%,#f8f2ed 50%,#f1eae6 100%)}.login-panel{background:#fff;border-color:var(--rule);box-shadow:0 20px 60px rgba(49,24,20,.075);color:#2d2624}.login-panel h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:61px;letter-spacing:-2px;font-weight:650}.login-panel .divider-word{color:#99908b}.login-panel .small{color:#9a928e}.login-panel label{color:#615854}.login-panel .brand-logo-login{mix-blend-mode:multiply}
.mobile-menu{display:none;align-items:center;justify-content:center;background:#fff;border:1px solid var(--rule);width:40px;height:40px;border-radius:6px;color:#5b4844}.mobile-shade{display:none}
/* Document preview stays white and neutral regardless of workspace palette. */
.preview-wrap{max-width:880px}.preview-controls{background:#fff;color:#292223;padding:12px 16px;border-radius:9px;align-items:center;gap:10px;box-shadow:0 7px 22px #00000012}.preview-controls .pill{margin-left:8px}.preview-controls button{white-space:nowrap}
.paper-qr{width:98px;height:98px;object-fit:contain;flex:none;background:white;border:1px solid #eae5e3;padding:2px}.paper-payment-content{display:flex;justify-content:space-between;align-items:center;gap:18px}.paper-payment-text{min-width:0}.paper-payment-text strong{font-size:11px;color:#232023}.paper-payment-text p{font-size:9px;color:#666;line-height:1.5;margin:5px 0 9px}.paper-wise-button{display:inline-block;font-size:9px;text-decoration:none!important;background:#b72e38;color:#fff!important;border-radius:4px;padding:8px 11px;white-space:nowrap}.paper-payment-link{font-size:7.5px;max-height:38px;overflow:hidden;word-break:break-all;color:#777;margin-top:6px}.paper-pay{padding:10px 12px;margin-top:12px}.paper-qr{image-rendering:pixelated}
@media(max-width:1140px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.timezone-tag{display:none}.editor-grid{grid-template-columns:minmax(0,1fr)}.editor-side{position:static}.editor-side .panel{padding:22px}.editor-side .side-buttons{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.editor-side .side-buttons button{padding:10px 9px}}
@media(max-width:800px){.workspace{grid-template-columns:1fr}.sidebar{position:fixed;transform:translateX(-100%);top:0;left:0;width:265px;height:100svh;min-height:100svh;transition:transform .23s ease}.sidebar.is-open{transform:translateX(0)}.mobile-shade:not(.hidden){display:block;position:fixed;inset:0;z-index:14;background:#21191970}.mobile-menu{display:inline-flex}.topbar{min-height:75px;padding:12px 18px}.top-title{font-size:25px}.content{padding:28px 19px 65px}.top-actions .btn.subtle{display:none}.page-heading h1{font-size:42px}}
@media(max-width:540px){.stats{grid-template-columns:1fr 1fr;gap:10px}.stat{min-height:102px;padding:15px}.stat .metric{font-size:22px;margin-top:11px}.stat .label{font-size:9px;line-height:1.5}.form-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.editor-block{padding:19px 16px}.page-heading{flex-wrap:wrap}.top-actions .btn.primary{font-size:10px;padding:9px 10px;min-height:35px}.topbar .eyebrow{font-size:8px;letter-spacing:1px}.editor-side .side-buttons{grid-template-columns:1fr}.modal{padding:22px 19px}.settings-layout .editor-block{padding:20px 16px}.settings-save{align-items:stretch;flex-direction:column}.preview-controls{flex-direction:column;align-items:stretch}.preview-controls>div:last-child{justify-content:stretch}.preview-controls button{flex:1}.paper-payment-content{gap:7px}.paper-qr{width:82px;height:82px}}
@media print{body,html{background:#fff!important;color:#000!important}.paper.paper-one-page{font-family:Montserrat,Arial,sans-serif!important;color:#202020!important;box-shadow:none!important}.paper-wise-button{background:#b72e38!important;color:white!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.paper-qr{width:98px!important;height:98px!important}}

/* Persistent sign-in: show neutral session restoration, not a flash of login. */
.boot-shell{position:fixed;inset:0;z-index:110;background:#f7f3ef;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;color:#645d59;font-size:12px;font-weight:600}
.boot-shell.hidden{display:none!important}
.boot-shell img{width:min(230px,68vw);max-height:80px;object-fit:contain;mix-blend-mode:multiply}
.loading-spinner{width:23px;height:23px;border:2px solid #e9dcd7;border-top-color:#b72a35;border-radius:50%;animation:invoice-loading 900ms linear infinite}
@keyframes invoice-loading{to{transform:rotate(360deg)}}
.workspace-loading{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#fff;border:1px solid #e8e0da;border-radius:12px;color:#706864}
.workspace-loading strong{font-size:14px;color:#302724}.workspace-loading span{font-size:11px}
.session-alert{max-width:670px;margin:45px auto;padding:35px;background:#fff;border:1px solid #e8e0da;border-radius:12px;box-shadow:var(--card-shadow)}
.session-alert h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:36px;color:#302724;margin:8px 0 12px}
.session-alert p{font-size:12px;color:#776d66;line-height:1.65;margin-bottom:18px}
.session-alert .notice{margin-bottom:20px}
@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}}
