/* Original InvoiceSafe editor foundation. Maintains invoice print/export layout. */
/* Standalone offline-first build: Poppins when installed, system alternatives otherwise. */
:root{--ink:#14263e;--muted:#6b7889;--line:#dfe6ef;--bg:#eef2f7;--navy:#122940;--accent:#117b8b;--accent2:#e9f7f8;--radius:12px;--shadow:0 12px 40px rgba(21,39,65,.14)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink)}body{background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}
.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:16px;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;min-width:0}.mark{width:40px;height:40px;border-radius:11px;background:var(--navy);color:#fff;font-size:16px;font-weight:850;display:grid;place-items:center;letter-spacing:-1px}.brand strong{display:block;font-size:14px;letter-spacing:.055em}.brand small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.toolbar{display:flex;align-items:center;gap:9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:9px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:700;padding:0 14px;white-space:nowrap;transition:background .15s,transform .15s}.btn:hover{background:#f7fafc}.btn:active{transform:translateY(1px)}.btn.primary{color:#fff;background:var(--navy);border-color:var(--navy)}.btn.primary:hover{background:#244562}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.accent:hover{background:#0d6574}.btn.ghost{background:transparent}.btn.slim{min-height:30px;padding:0 10px;font-size:12px}.btn.add{width:100%;background:#f6fafb;border:1px dashed #abc8ce;color:#176b78}.btn.add:hover{background:#e9f6f7}.btn.icon{min-width:31px;padding:0 9px}.btn.danger{color:#a43d41}.save-indicator{font-size:11px;color:#788596;margin-left:5px;white-space:nowrap}
.workspace{display:grid;grid-template-columns:minmax(360px,440px) minmax(0,1fr);height:calc(100vh - 74px)}.editor{overflow:auto;padding:24px;border-right:1px solid var(--line);background:#f9fbfd}.panel-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.eyebrow{text-transform:uppercase;font-size:10px;color:var(--accent);font-weight:850;letter-spacing:.16em}.panel-heading h1{margin:6px 0 0;font-size:25px;letter-spacing:-.04em;font-weight:760}.panel-heading p{font-size:12px;color:var(--muted);margin:5px 0 0}.card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:18px;margin-bottom:14px;box-shadow:0 2px 8px rgba(22,43,68,.025)}.card-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;gap:8px}.card-title h2{margin:0;font-size:13px;letter-spacing:-.012em}.chip{border:1px solid #d2ecef;color:#176f7b;border-radius:7px;padding:4px 7px;font-size:10px;font-weight:800;background:#eefbfc}.stack{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field label{font-size:11px;font-weight:720;color:#546174}.field input,.field select,.field textarea{border:1px solid #d8e0e9;background:#fff;width:100%;border-radius:8px;color:#1d3149;outline:none;padding:10px 11px;font-size:13px;min-height:40px;transition:border-color .15s,box-shadow .15s}.field textarea{min-height:67px;resize:vertical;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus{border-color:#278899;box-shadow:0 0 0 3px #d7f1f3}.field input::placeholder,.field textarea::placeholder{color:#a1abb7}.field .hint{font-size:10px;color:#8b96a3}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:11px}.type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#f0f3f7;padding:5px;border-radius:9px}.type-toggle button{border:0;border-radius:7px;padding:10px 6px;background:transparent;color:#607086;font-weight:770;font-size:12px}.type-toggle button.selected{color:#143246;background:#fff;box-shadow:0 1px 6px rgba(20,40,60,.1)}.helper{color:var(--muted);font-size:11px;line-height:1.6}.centre-card{border:1px solid #d9e3ec;border-radius:10px;margin:13px 0;padding:13px;background:#fcfdff}.centre-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.centre-index{font-size:10px;font-weight:850;color:#168094;text-transform:uppercase;letter-spacing:.12em}.entry{border-left:2px solid #c6e4e8;padding:11px 0 2px 12px;margin:9px 0 14px;position:relative}.entry-number{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#7c8ca0;margin-bottom:10px}.small-label{font-size:10px;color:var(--muted);font-weight:700}.mini-total{font-size:11px;color:#748296;text-align:right;padding-top:9px}.mini-total strong{color:var(--ink)}.section-note{margin:0 0 13px;font-size:11px;color:var(--muted);line-height:1.55}.summary-mini{background:#f1f6f9;border-radius:10px;padding:13px 14px}.summary-mini .money-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;color:#58687c}.summary-mini .money-row b{color:var(--ink);font-variant-numeric:tabular-nums}.summary-mini .money-row.grand{margin-top:6px;border-top:1px solid #d6e1eb;padding-top:12px;font-weight:800;color:#102c42;font-size:16px}.summary-mini .money-row.grand b{color:#117b8b}.more{background:none;border:0;color:var(--accent);font-size:11px;font-weight:700;padding:7px 0}.advanced{display:none}.advanced.open{display:block}.preview-zone{overflow:auto;padding:20px 27px 65px;background:#e9eef4}.preview-heading{max-width:910px;margin:0 auto 15px;display:flex;justify-content:space-between;align-items:center;gap:18px}.preview-heading h2{font-size:13px;margin:0;font-weight:800}.preview-heading small{display:block;font-size:11px;color:#748292;margin-top:4px}.page-count{font-size:11px;color:#788695;background:#fff;border:1px solid #d9e0e9;border-radius:7px;padding:6px 10px}.preview-canvas{display:flex;flex-direction:column;align-items:center;gap:18px}.paper{width:816px;height:1056px;flex:none;background:#fff;box-shadow:var(--shadow);padding:55px 61px 42px;display:flex;flex-direction:column;position:relative;color:#182c42}.paper-head{flex:none}.paper-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:3px solid #16374d;padding-bottom:24px}.paper-brand-mark{width:27px;height:27px;border-radius:5px;background:#147a89;display:inline-block;vertical-align:middle;margin-right:10px}.paper-business{font-size:15px;letter-spacing:.055em;font-weight:820;vertical-align:middle}.paper-business-detail{font-size:10px;color:#7a899a;line-height:1.45;margin-top:10px;white-space:pre-line;max-width:365px}.paper-invoice{font-size:27px;letter-spacing:.16em;color:#183950;font-weight:850;text-align:right}.paper-metadata{font-size:10px;color:#6b788b;margin-top:10px;text-align:right;line-height:1.8}.paper-metadata strong{color:#1e3448}.paper-bill{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:29px 0 32px}.paper-label{color:#15808e;font-size:9px;letter-spacing:.14em;font-weight:850;text-transform:uppercase;margin-bottom:10px}.paper-to-name{font-size:14px;font-weight:780;margin-bottom:5px}.paper-address{font-size:11px;white-space:pre-line;line-height:1.65;color:#59697d}.paper-kind{font-size:11px;line-height:1.5;color:#566679;text-align:right}.paper-kind strong{display:block;font-size:14px;color:#192e45;margin-top:2px}.paper-continued{margin:20px 0 18px;font-size:11px;color:#7b8897}.paper-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.paper-content{min-height:0;overflow:hidden;flex:1}.paper-rows-heading{display:flex;justify-content:space-between;gap:25px;padding:12px 0;border-top:1px solid #ced9e3;border-bottom:1px solid #ced9e3;color:#627589;text-transform:uppercase;font-weight:850;letter-spacing:.09em;font-size:9px;margin-bottom:16px}.paper-rows-heading span:last-child{flex:none}.paper-group{font-size:13px;font-weight:800;color:#183b50;margin:16px 0 11px;display:flex;align-items:center;gap:9px}.paper-group:before{content:"";width:5px;height:17px;background:#148493;border-radius:2px;display:block;flex:none}.paper-item{display:grid;grid-template-columns:1fr 104px;gap:16px;font-size:11px;line-height:1.65;margin:7px 0 9px;padding-left:14px}.paper-item .line{display:flex;align-items:flex-start;gap:8px;min-width:0}.paper-item .dot{color:#278b98;font-weight:800}.paper-item .item-content{color:#33465a;overflow-wrap:anywhere;white-space:pre-wrap}.paper-item .amount{text-align:right;white-space:nowrap;color:#1e374b;font-weight:750;font-variant-numeric:tabular-nums}.paper-subtotal{border-top:1px solid #edf1f5;margin:12px 0 23px 14px;padding-top:9px;text-align:right;font-size:10px;color:#7e8995}.paper-subtotal strong{color:#1c354b;margin-left:18px}.paper-intro{font-size:12px;line-height:1.75;font-weight:700;color:#193a4e;margin:16px 0 21px}.paper-paint-item{margin:0 0 13px 15px;padding-left:6px;display:flex;gap:10px;color:#3c5063;font-size:11px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.paper-paint-item span:first-child{color:#188393;font-weight:800}.paper-paint-fee{display:flex;justify-content:space-between;border-top:1px solid #e1e8ef;padding-top:17px;margin-top:22px;font-size:11px;color:#405970}.paper-paint-fee strong{color:#21384e}.paper-totals{width:280px;margin:23px 0 16px auto;border-top:2px solid #183f52;padding-top:12px;flex:none}.paper-total-line{display:flex;justify-content:space-between;gap:20px;padding:8px 0;font-size:11px;color:#5c6c7c;font-variant-numeric:tabular-nums}.paper-total-line strong{color:#1c344b}.paper-total-line.grand{border-top:1px solid #d4dde5;margin-top:8px;padding-top:13px;color:#1a3b4d;font-size:15px;font-weight:800}.paper-total-line.grand strong{color:#0e8292;font-size:17px}.paper-notes{font-size:10px;color:#718193;white-space:pre-wrap;line-height:1.5;padding:0 0 12px;flex:none;max-height:64px;overflow:hidden}.paper-footer{border-top:1px solid #d6dfe8;padding-top:13px;display:flex;justify-content:space-between;color:#8896a3;font-size:9px;flex:none}.empty-preview{color:#a5b0bc;font-style:italic}.toast{position:fixed;bottom:24px;right:24px;z-index:9;background:#122b3c;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:var(--shadow);font-size:13px;display:none;max-width:380px}.toast.visible{display:block}.mobile-actions{display:none}
@media(max-width:1240px){.preview-zone{padding-left:16px;padding-right:16px}.paper{transform-origin:top center;transform:scale(.83);margin-bottom:-179px}.workspace{grid-template-columns:minmax(325px,400px) minmax(0,1fr)}}
@media(max-width:1020px){.workspace{grid-template-columns:1fr;height:auto}.editor{max-height:none;border-right:0}.preview-zone{min-height:600px}.paper{transform:scale(.83);margin-bottom:-179px}}
@media(max-width:700px){.topbar{padding:0 13px;height:auto;min-height:65px;flex-wrap:wrap;padding-block:11px}.toolbar{flex-wrap:wrap}.toolbar .btn{font-size:11px;min-height:33px;padding:0 9px}.brand small{font-size:10px}.brand strong{font-size:12px}.save-indicator{display:none}.editor{padding:18px 12px}.preview-zone{padding:14px 0 42px}.preview-heading{padding:0 15px}.preview-canvas{align-items:flex-start;width:100%;overflow:hidden}.paper{transform:scale(.45);transform-origin:top left;margin-left:max(8px,calc((100vw - 367px)/2));margin-bottom:-581px}.two-col{grid-template-columns:1fr 1fr}}
@media print{@page{size:letter;margin:0}html,body{margin:0!important;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.topbar,.editor,.preview-heading,.toast{display:none!important}.workspace{display:block;height:auto!important}.preview-zone{padding:0!important;background:#fff!important;overflow:visible!important}.preview-canvas{display:block!important}.paper{transform:none!important;margin:0!important;box-shadow:none!important;width:8.5in!important;height:11in!important;break-after:page;page-break-after:always}.paper:last-child{break-after:auto;page-break-after:auto}}

/* Compact editor controls with stronger visual grouping */
.editor{padding:18px 17px}
.panel-heading{margin-bottom:16px}
.card{padding:14px;margin-bottom:11px;border-color:#d8e1eb;border-radius:11px}
.card-title{margin-bottom:11px}
.stack{gap:9px}
.field{gap:4px}
.field label{font-size:10.5px;color:#475c73;font-weight:750;letter-spacing:.005em}
.field input,.field select,.field textarea{min-height:34px;padding:7px 10px;font-size:12px;line-height:1.35;border-radius:7px;border-color:#bccada;background:#fbfcfe}
.field textarea{min-height:49px;padding-top:8px;line-height:1.4}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#92a9bd}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;border-color:#14869a;box-shadow:0 0 0 2px #d9f1f3}
.two-col{gap:9px}
.type-toggle{padding:4px}
.type-toggle button{padding:8px 6px}
.section-note{margin:0 0 10px}
.btn.add{min-height:32px;font-size:11.5px}
.btn.slim{min-height:27px;padding:0 9px;font-size:11px}
.centre-card{--centre-accent:#138391;--centre-wash:#eff8fa;border:1px solid #ccdae5;border-left:4px solid var(--centre-accent);border-radius:9px;padding:11px 11px 10px;margin:10px 0;background:#fff;box-shadow:0 2px 5px rgba(20,41,62,.035)}
.centre-card.tone-0{--centre-accent:#118396;--centre-wash:#eaf8fa}
.centre-card.tone-1{--centre-accent:#526caa;--centre-wash:#eef2fc}
.centre-card.tone-2{--centre-accent:#59846d;--centre-wash:#edf7f0}
.centre-card.tone-3{--centre-accent:#9a6a98;--centre-wash:#f8f0f8}
.centre-top{gap:9px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid #e0e8ef}
.centre-heading{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.centre-number{width:25px;height:25px;flex:none;display:grid;place-items:center;border-radius:7px;background:var(--centre-accent);color:#fff;font-size:11px;font-weight:850;font-variant-numeric:tabular-nums}
.centre-name{color:#1b334b;font-size:11.5px;font-weight:800;min-width:0;line-height:1.25;overflow-wrap:anywhere}
.centre-card > .field{margin-bottom:8px}
.entry{border:1px solid #d9e4ed;border-left:3px solid var(--centre-accent);background:#f7f9fc;padding:9px 10px;border-radius:7px;margin:9px 0 10px}
.entry + .entry{background:#fff}
.entry-number{margin-bottom:8px;gap:8px}
.entry-index{display:inline-flex;align-items:center;background:var(--centre-wash);border:1px solid #d9e6eb;border-radius:6px;padding:5px 8px;color:var(--centre-accent);font-size:10px;font-weight:850;line-height:1}
.entry .field[style]{margin-top:8px!important}
.mini-total{padding-top:8px;margin-top:8px;border-top:1px solid #e6edf3;font-size:11px}
.painting-task{display:flex;align-items:flex-start;gap:8px;padding:8px;border:1px solid #d9e4ec;background:#f8fafc;border-radius:8px;margin-bottom:7px}
.painting-task:nth-of-type(even){background:#fff}
.task-badge{width:23px;height:23px;display:grid;place-items:center;flex:none;margin-top:5px;border-radius:6px;background:#e0f1f3;color:#08768a;font-size:11px;font-weight:850}
.painting-task .field{flex:1}
.painting-task .field textarea{min-height:44px}
.summary-mini{padding:11px 12px}
@media(max-width:700px){.editor{padding:14px 12px}.card{padding:12px}.centre-card{padding:10px}.entry{padding:8px}}

/* Dark workspace: invoice sheets remain white and identical in export. */
:root{--ink:#edf2fb;--muted:#a9b8cc;--line:#34445d;--bg:#0c1321;--navy:#274866;--accent:#69d8dc;--shadow:0 20px 60px rgba(0,0,0,.38)}
body{background:#0c1321;color:var(--ink)}
.topbar{background:#101b2d;border-bottom:1px solid #304158}
.brand strong{color:#f4f8ff}.brand small{color:#9daec3}
.mark{background:linear-gradient(135deg,#267b89,#355079);color:white}
.save-indicator{color:#a4b7cb}
.btn{background:#1c2b41;border-color:#3a516c;color:#edf5ff}
.btn:hover{background:#273b54}
.btn.primary{background:#315b7c;border-color:#426c8d;color:white}
.btn.primary:hover{background:#3a6c8d}
.btn.accent{background:#147d8b;border-color:#2492a1;color:white}
.btn.accent:hover{background:#1b93a1}
.btn.add{background:#122b3c;border-color:#3b7683;color:#86e1e4}
.btn.add:hover{background:#194053}
.btn.danger{color:#ffacb6}
.btn.danger:hover{background:#443042}
.editor{background:#111b2c;border-right:1px solid #344258}
.panel-heading h1,.card-title h2{color:#f2f6ff}
.panel-heading p,.helper,.section-note{color:#a6b6cb}
.eyebrow{color:#7fe0e4}
.card{background:#192538;border-color:#33435b;box-shadow:0 3px 14px rgba(0,0,0,.13)}
.chip{background:#173e47;border-color:#2b6872;color:#98edf0}
.field label{color:#b9cbe0}
.field input,.field select,.field textarea{background:#111e30;color:#f0f5fc;border-color:#435774;color-scheme:dark}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#6b93ad}
.field input:focus,.field select:focus,.field textarea:focus{background:#17283d;border-color:#67d5da;box-shadow:0 0 0 2px rgba(70,189,201,.24)}
.field input::placeholder,.field textarea::placeholder{color:#778ba4}
.type-toggle{background:#111b2d;border:1px solid #34435a}
.type-toggle button{color:#a4b5cb}
.type-toggle button.selected{background:#30465e;color:#f5fbff;box-shadow:0 1px 8px rgba(0,0,0,.16)}
.centre-card{background:#202e42;border-color:#42556b;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.centre-card.tone-0{--centre-accent:#53bed0;--centre-wash:#183d4b}
.centre-card.tone-1{--centre-accent:#a1a9ff;--centre-wash:#333552}
.centre-card.tone-2{--centre-accent:#80d6a6;--centre-wash:#21463b}
.centre-card.tone-3{--centre-accent:#e0a5dc;--centre-wash:#46334b}
.centre-number{color:#0d1a2a}
.centre-top{border-bottom-color:#47576b}
.centre-name{color:#f1f7ff}
.entry{background:#172438;border-color:#42546c;border-left-color:var(--centre-accent)}
.entry + .entry{background:#1b2a3d}
.entry-index{border-color:#50637b;color:var(--centre-accent)}
.entry-number{color:#a9bdd2}
.mini-total{color:#abbfd1;border-top-color:#45566d}
.mini-total strong{color:#f3f8ff}
.summary-mini{background:#111e30;border:1px solid #324861}
.summary-mini .money-row{color:#bed0e1}
.summary-mini .money-row b{color:#f4f7fe}
.summary-mini .money-row.grand{color:#f5f9ff;border-top-color:#43566f}
.summary-mini .money-row.grand b{color:#8ce6e9}
.more{color:#8ae0e3}
.painting-task{background:#152338;border-color:#42556e}
.painting-task:nth-of-type(even){background:#1d2c41}
.task-badge{background:#1c4a55;color:#9cf4f3}
.preview-zone{background:#0b1322}
.preview-heading h2{color:#eaf1fb}
.preview-heading small{color:#a0b1c6}
.page-count{background:#1b2a3e;border-color:#40536d;color:#c6d5e6}
.paper{background:#fff;color:#182c42;box-shadow:0 22px 70px rgba(0,0,0,.4)}
.paper-item.hide-entry-amount{grid-template-columns:minmax(0,1fr);padding-right:7px}
/* Switch is a private display option, not part of the printed invoice. */
.invoice-price-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#132b3c;border:1px solid #365f72;border-radius:9px;padding:11px 12px;margin-bottom:12px;cursor:pointer}
.price-toggle-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.price-toggle-copy strong{font-size:11.5px;font-weight:760;color:#f1f9ff}
.price-toggle-copy small{font-size:10.5px;line-height:1.35;color:#adc6d5}
.switch{display:inline-flex;position:relative;flex:none;width:38px;height:22px}
.switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.switch-track{width:38px;height:22px;border-radius:22px;background:#526175;border:1px solid #78899a;transition:background .16s;position:relative}
.switch-track:after{content:"";width:16px;height:16px;position:absolute;top:2px;left:2px;border-radius:50%;background:#f7fbff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .16s}
.switch input:checked+.switch-track{background:#1593a0;border-color:#4bd1d2}
.switch input:checked+.switch-track:after{transform:translateX(16px)}
.switch input:focus-visible+.switch-track{outline:2px solid #b0fbff;outline-offset:3px}
@media print{.paper{box-shadow:none!important}}

/* Professional monochrome revision. Standard typography, clear hierarchy and larger descriptions. */
:root{--ink:#f3f3f3;--muted:#acacac;--line:#444;--bg:#171717;--navy:#303030;--accent:#e0e0e0;--accent2:#292929;--shadow:0 12px 32px rgba(0,0,0,.38)}
html,body,button,input,textarea,select{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal}
body{background:#171717;color:#ededed}
.topbar{background:#1e1e1e;border-bottom:1px solid #3b3b3b}
.brand{gap:0}.brand strong{font-size:14px;letter-spacing:normal;color:#f4f4f4;font-weight:700}.brand small{color:#aaa;font-size:12px}
.mark{display:none!important}.save-indicator{color:#a8a8a8}
.btn{background:#292929;border-color:#555;color:#ededed;border-radius:5px;font-weight:600}
.btn:hover{background:#363636}.btn.primary,.btn.accent{background:#e4e4e4;color:#181818;border-color:#e4e4e4}
.btn.primary:hover,.btn.accent:hover{background:#fff;border-color:#fff}
.btn.ghost{background:transparent}.btn.danger{color:#dadada}.btn.danger:hover{background:#353535}
.btn.add{background:#292929;border:1px solid #626262;color:#eee;font-weight:600}
.btn.add:hover{background:#353535;border-color:#909090}
.editor{background:#1b1b1b;border-right:1px solid #383838}
.panel-heading h1{font-size:23px;letter-spacing:normal;color:#f5f5f5;font-weight:700}
.panel-heading p,.helper,.section-note{color:#b0b0b0;font-size:12px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:normal;color:#aeaeae;text-transform:none}
.card{background:#242424;border:1px solid #414141;border-radius:7px;box-shadow:none}
.card-title h2{font-size:14px;font-weight:700;letter-spacing:normal;color:#f5f5f5}
.chip{background:#2c2c2c;color:#bbb;border:1px solid #484848;border-radius:4px;font-size:11px;font-weight:600}
.field label,.small-label{font-size:12px;font-weight:600;color:#ddd;letter-spacing:normal}
.field input,.field select,.field textarea{background:#1a1a1a;border:1px solid #5a5a5a;border-radius:4px;color:#fafafa;font-size:13px;min-height:35px;padding:7px 9px;color-scheme:dark}
.field textarea{font-size:14px;line-height:1.5;min-height:58px;padding:8px 9px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#898989}
.field input:focus,.field select:focus,.field textarea:focus{background:#1b1b1b;border-color:#c8c8c8;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.field input::placeholder,.field textarea::placeholder{color:#898989}
.type-toggle{background:#1d1d1d;border:1px solid #444;border-radius:5px}
.type-toggle button{font-weight:600;color:#aaa;border-radius:4px;font-size:13px}
.type-toggle button.selected{background:#4b4b4b;color:#fff;box-shadow:none}
.centre-card,.centre-card.tone-0,.centre-card.tone-1,.centre-card.tone-2,.centre-card.tone-3{--centre-accent:#aaa;--centre-wash:#303030;background:#2a2a2a;border:1px solid #5b5b5b;border-left:1px solid #5b5b5b;border-radius:6px;box-shadow:none}
.centre-top{border-bottom:1px solid #555}
.centre-number{color:#fff;background:#484848;border:1px solid #6c6c6c;border-radius:4px;font-weight:700}
.centre-name{color:#f2f2f2;font-size:13px;font-weight:700}
.entry,.entry + .entry{background:#222;border:1px solid #505050;border-left:1px solid #505050;border-radius:5px}
.entry + .entry{background:#252525}
.entry-number{color:#c4c4c4}
.entry-index{color:#e8e8e8;background:#383838;border:1px solid #595959;border-radius:4px;font-weight:600;font-size:12px}
.entry .field textarea{font-size:14px;min-height:65px}
.mini-total{border-top:1px solid #535353;color:#ccc;font-size:12px}
.mini-total strong{color:#f8f8f8}
.painting-task,.painting-task:nth-of-type(even){background:#242424;border:1px solid #515151;border-radius:5px}
.task-badge{background:#454545;color:#f1f1f1;border-radius:4px;font-weight:700}
.painting-task .field textarea{font-size:14px;min-height:60px}
.invoice-price-toggle{background:#292929;border:1px solid #525252;border-radius:5px}
.price-toggle-copy strong{color:#eee;font-size:12px;font-weight:700}
.price-toggle-copy small{color:#b5b5b5;font-size:11px}
.switch-track{background:#4c4c4c;border-color:#888}
.switch input:checked + .switch-track{background:#aaa;border-color:#ddd}
.switch input:checked + .switch-track:after{background:#1a1a1a}
.switch input:focus-visible + .switch-track{outline-color:#fff}
.summary-mini{background:#1e1e1e;border:1px solid #474747;border-radius:5px}
.summary-mini .money-row{color:#ccc;font-size:13px}
.summary-mini .money-row b{color:#f2f2f2}
.summary-mini .money-row.grand{color:#fff;border-top-color:#565656;font-size:16px}
.summary-mini .money-row.grand b{color:#fff}
.more{color:#e3e3e3;font-size:12px}
.preview-zone{background:#151515}
.preview-heading h2{font-size:14px;color:#eee;font-weight:700}
.preview-heading small{font-size:12px;color:#b3b3b3}
.page-count{background:#292929;border:1px solid #4d4d4d;border-radius:4px;color:#ddd}
/* The document remains standard white paper in the live preview and print. */
.paper{background:white;color:#202020;font-family:Arial,Helvetica,sans-serif}
.paper-top{border-bottom:2px solid #303030;padding-bottom:20px}
.paper-brand-mark{display:none!important}
.paper-business{font-size:19px;font-weight:700;color:#181818;letter-spacing:normal}
.paper-business-detail{font-size:12px;color:#666;line-height:1.5}
.paper-invoice{font-size:27px;font-weight:700;letter-spacing:.015em;color:#242424}
.paper-metadata{font-size:12px;color:#606060}
.paper-metadata strong{color:#252525}
.paper-bill{padding:26px 0 27px}
.paper-label{font-size:11px;color:#555;letter-spacing:normal;font-weight:700}
.paper-to-name{font-size:16px;color:#222;font-weight:700}
.paper-address{font-size:13px;color:#3e3e3e;line-height:1.5}
.paper-kind{font-size:13px;color:#555}.paper-kind strong{font-size:15px;color:#222}
.paper-continued{color:#555;font-size:12px}
.paper-rows-heading{font-size:11px;letter-spacing:normal;color:#4a4a4a;border-color:#bdbdbd;font-weight:700;margin-bottom:12px}
.paper-group{font-size:16px;font-weight:700;color:#1f1f1f;letter-spacing:normal;margin:17px 0 10px;gap:0}
.paper-group:before{display:none}
.paper-item{font-size:15px;line-height:1.47;color:#222;margin:8px 0 11px;padding-left:12px;gap:12px}
.paper-item .line{gap:9px}.paper-item .dot{color:#333;font-weight:400}
.paper-item .item-content{color:#262626;font-weight:400}
.paper-item .amount{color:#222;font-size:13px;font-weight:600}
.paper-subtotal{font-size:13px;line-height:1.5;border-top:1px solid #dedede;color:#555;margin:12px 0 22px 12px;padding-top:10px}
.paper-subtotal strong{color:#222;font-weight:700}
.paper-intro{font-size:16px;line-height:1.5;color:#222;font-weight:700;margin:14px 0 20px}
.paper-paint-item{font-size:15px;line-height:1.5;color:#292929;margin:0 0 16px 12px;gap:10px}
.paper-paint-item span:first-child{color:#333;font-weight:400}
.paper-paint-fee{font-size:13px;color:#444;border-color:#ccc}.paper-paint-fee strong{color:#222}
.paper-totals{border-top:2px solid #444}
.paper-total-line{font-size:13px;color:#444}.paper-total-line strong{color:#202020}
.paper-total-line.grand{color:#202020;font-size:15px;border-color:#ccc}
.paper-total-line.grand strong{color:#111;font-size:17px}
.paper-notes{font-size:12px;color:#444;line-height:1.5}
.paper-footer{color:#666;border-color:#ddd}

/* Resizable work area, scalable paper, and saved-invoice library. */
.workspace{--editor-width:440px;grid-template-columns:minmax(300px,var(--editor-width)) 9px minmax(0,1fr)}
.workspace-divider{position:relative;cursor:col-resize;background:#242424;border-left:1px solid #404040;border-right:1px solid #404040;touch-action:none;z-index:1}
.workspace-divider:after{content:"";position:absolute;width:3px;height:45px;top:calc(50% - 22px);left:2px;background:#747474;border-radius:4px}
.workspace-divider:hover,.workspace-divider:focus-visible{background:#424242;outline:none}
.workspace-divider:hover:after,.workspace-divider:focus-visible:after{background:#dadada}
.page-frame{position:relative;flex:none}
.page-frame .paper{position:absolute;top:0;left:0;transform-origin:top left;margin:0!important}
.preview-canvas{align-items:center;gap:20px;overflow:visible}
.preview-zone{min-width:0}
.paper-business-detail{font-size:13px;line-height:1.48;color:#292929;margin-top:8px;white-space:pre-line}
.paper-payment{border-top:1px solid #d8d8d8;padding-top:15px;margin:14px 0 12px;font-size:12px;color:#202020;line-height:1.55}
.paper-payment .payment-request{font-size:13px;font-weight:700;margin-top:9px}
.paper-payment .payment-thanks{font-size:14px;margin-top:7px}
.paper-payment .hst-registration{font-size:12px;color:#303030}
.paper-kind{padding-top:3px}
.paper-kind strong{font-size:15px;font-weight:700;margin-top:0}
.library-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:10}
.library-drawer{position:fixed;z-index:11;right:0;top:0;height:100vh;width:min(440px,100vw);display:flex;flex-direction:column;background:#222;border-left:1px solid #505050;box-shadow:-15px 0 45px rgba(0,0,0,.35);transform:translateX(105%);transition:transform .15s ease}
.library-drawer.open{transform:translateX(0)}
.library-heading{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 20px 14px;border-bottom:1px solid #454545}
.library-heading h2{font-size:21px;margin:0 0 6px}.library-heading p{font-size:12px;color:#bbb;margin:0}
.library-actions{display:flex;gap:9px;flex-wrap:wrap;padding:15px 20px;border-bottom:1px solid #414141}
.library-list{flex:1;min-height:0;overflow:auto;padding:12px 16px}
.library-item{border:1px solid #545454;background:#2c2c2c;border-radius:5px;padding:12px;margin-bottom:10px}
.library-item.current{border-color:#c5c5c5;background:#343434}
.library-item-title{font-size:15px;font-weight:700;word-break:break-word}
.library-item-meta{font-size:12px;color:#bcbcbc;margin:5px 0 11px}
.library-item-actions{display:flex;flex-wrap:wrap;gap:7px}
.library-item-actions .btn{font-size:12px;min-height:30px}
.library-empty{padding:20px;color:#bbb;font-size:13px;line-height:1.6;text-align:center}
.library-tip{border-top:1px solid #454545;padding:14px 20px;margin:0;color:#bcbcbc;font-size:12px;line-height:1.5}
@media(min-width:1021px){.workspace{grid-template-columns:minmax(300px,var(--editor-width)) 9px minmax(0,1fr)}}
@media(max-width:1020px){.workspace{display:block;height:auto}.workspace-divider{display:none}.editor{max-height:none}.preview-zone{min-height:400px}}
@media print{.workspace-divider,.library-drawer,.library-backdrop{display:none!important}.page-frame{height:11in!important;width:8.5in!important;break-after:page;page-break-after:always}.page-frame:last-child{break-after:auto;page-break-after:auto}.page-frame .paper{position:static!important;transform:none!important}}

/* Invoice Studio 3 — restrained workspace accents and accessibility settings */
.btn.add[data-action="add-entry"],.btn.add[data-action="add-task"],.btn.add[data-action="add-group"]{transition:background .16s,border-color .16s}
body.use-action-colors .btn.add[data-action="add-entry"],body.use-action-colors .btn.add[data-action="add-task"]{background:#f1d9bd!important;color:#433020!important;border:1px solid #deb992!important;font-weight:700}
body.use-action-colors .btn.add[data-action="add-entry"]:hover,body.use-action-colors .btn.add[data-action="add-task"]:hover{background:#ffe6c9!important}
body.use-action-colors .btn.add[data-action="add-group"]{background:#eec7c4!important;color:#502524!important;border:1px solid #dbaca8!important;font-weight:700}
body.use-action-colors .btn.add[data-action="add-group"]:hover{background:#f8d6d3!important}
body.use-centre-tints .centre-card.tone-0{background:#302f2c!important;border-color:#5a5852!important}
body.use-centre-tints .centre-card.tone-1{background:#2b3033!important;border-color:#525b60!important}
body.use-centre-tints .centre-card.tone-2{background:#312d32!important;border-color:#5b525c!important}
body.use-centre-tints .centre-card.tone-3{background:#2d302e!important;border-color:#555b56!important}
body.use-centre-tints .centre-card .entry{background:rgba(13,13,13,.22)!important}
.invoice-price-toggle{display:inline-flex!important;width:max-content!important;max-width:100%;gap:12px;justify-content:flex-start;padding:8px 10px;min-height:39px}
.invoice-price-toggle .price-toggle-copy{display:block}.invoice-price-toggle .price-toggle-copy small{display:none}
.invoice-price-toggle .price-toggle-copy strong{font-weight:600;white-space:normal}
body.large-editor .editor .field label,body.large-editor .editor .small-label,body.large-editor .editor .entry-number{font-size:14px!important}
body.large-editor .editor .field input,body.large-editor .editor .field select,body.large-editor .editor .field textarea{font-size:16px!important;line-height:1.5}
body.large-editor .editor .section-note,body.large-editor .editor .helper,body.large-editor .editor .mini-total{font-size:14px!important}
body.large-editor .editor .btn,body.large-editor .editor .card-title h2,body.large-editor .editor .centre-name,body.large-editor .editor .type-toggle button{font-size:15px!important}
body.large-editor .editor .field textarea{min-height:85px}
.paper-rows-heading{border:0!important;margin:3px 0 23px!important;padding:12px 0 10px!important}
.paper-subtotal{margin-bottom:26px}
.paper-totals{margin-top:35px!important}
.paper .paper-business{font-size:calc(19px * var(--doc-scale,1))}
.paper .paper-business-detail{font-size:calc(13px * var(--doc-scale,1))}
.paper .paper-invoice{font-size:calc(27px * var(--doc-scale,1))}
.paper .paper-metadata{font-size:calc(12px * var(--doc-scale,1))}
.paper .paper-label{font-size:calc(11px * var(--doc-scale,1))}
.paper .paper-to-name{font-size:calc(16px * var(--doc-scale,1))}
.paper .paper-address{font-size:calc(13px * var(--doc-scale,1))}
.paper .paper-kind strong{font-size:calc(15px * var(--doc-scale,1))}
.paper .paper-continued{font-size:calc(12px * var(--doc-scale,1))}
.paper .paper-rows-heading{font-size:calc(11px * var(--doc-scale,1))}
.paper .paper-group{font-size:calc(16px * var(--doc-scale,1))}
.paper .paper-item{font-size:calc(15px * var(--doc-scale,1))}
.paper .paper-item .amount{font-size:calc(13px * var(--doc-scale,1))}
.paper .paper-subtotal{font-size:calc(13px * var(--doc-scale,1))}
.paper .paper-intro{font-size:calc(16px * var(--doc-scale,1))}
.paper .paper-paint-item{font-size:calc(15px * var(--doc-scale,1))}
.paper .paper-paint-fee{font-size:calc(13px * var(--doc-scale,1))}
.paper .paper-total-line{font-size:calc(13px * var(--doc-scale,1))}
.paper .paper-total-line.grand{font-size:calc(15px * var(--doc-scale,1))}
.paper .paper-total-line.grand strong{font-size:calc(17px * var(--doc-scale,1))}
.paper .paper-notes{font-size:calc(12px * var(--doc-scale,1))}
.paper .paper-payment{font-size:calc(12px * var(--doc-scale,1))}
.paper .paper-payment .payment-request{font-size:calc(13px * var(--doc-scale,1))}
.paper .paper-payment .payment-thanks{font-size:calc(14px * var(--doc-scale,1))}
.paper .paper-payment .hst-registration{font-size:calc(12px * var(--doc-scale,1))}
.paper [data-preview-edit][contenteditable="true"]{cursor:text;border-radius:2px;outline:1px dashed #bbb;outline-offset:2px}
.paper [data-preview-edit][contenteditable="true"]:hover{background:#f5f5f5}
.paper [data-preview-edit][contenteditable="true"]:focus{outline:2px solid #777;background:#f3f3f3}
.paper .paper-business-detail[data-preview-edit]{white-space:pre-wrap}
.drawer-screen{position:fixed;inset:0;z-index:19;background:rgba(0,0,0,.55)}
.settings-drawer{position:fixed;right:0;top:0;height:100dvh;width:min(435px,100vw);overflow:auto;z-index:20;background:#232323;border-left:1px solid #535353;box-shadow:-14px 0 45px #0007;transform:translateX(105%);transition:transform .18s ease}
.settings-drawer.open{transform:translateX(0)}
.settings-top{display:flex;align-items:center;justify-content:space-between;padding:24px 22px 16px;border-bottom:1px solid #454545}
.settings-top h2{margin:0;font-size:21px}.settings-content{padding:16px 22px 28px}.settings-section{padding:12px 0 20px;border-bottom:1px solid #484848}
.settings-section h3{font-size:14px;margin:2px 0 8px}.settings-desc{font-size:12px;color:#bbb;line-height:1.5;margin:0 0 12px}
.setting-row{padding:12px 0;display:flex;gap:14px;align-items:center;justify-content:space-between}
.setting-text{max-width:280px}.setting-text strong{font-size:13px;display:block;line-height:1.35}.setting-text small{font-size:11px;color:#bababa;display:block;margin-top:4px;line-height:1.4}
.settings-select{background:#191919;color:#fff;border:1px solid #777;border-radius:5px;padding:9px 10px;max-width:150px}
.preview-tool-float{position:fixed;bottom:25px;right:25px;z-index:5}
.preview-tool-float>button{width:49px;height:49px;font-size:28px;border-radius:50%;background:#f2f2f2;border:1px solid #aaa;color:#222;box-shadow:0 5px 22px #0008}
.preview-tool-float>button:hover{background:white}
.preview-size-panel{position:fixed;bottom:86px;right:23px;z-index:5;width:276px;border:1px solid #5d5d5d;background:#252525;color:#eee;box-shadow:0 10px 28px #0007;border-radius:9px;padding:15px}
.preview-size-panel[hidden]{display:none}
.size-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.size-controls button{font-size:21px;width:42px;height:38px}
.size-controls output{font-size:17px;font-weight:700;min-width:72px;text-align:center}
.library-item-actions .btn.quick-export{border-color:#777;background:#393939}
.library-item-actions .btn.quick-export:hover{background:#4c4c4c}
.settings-drawer[aria-hidden="true"]{visibility:hidden}
@media print{.preview-tool-float,.preview-size-panel,.settings-drawer,.drawer-screen{display:none!important}}

