:root{--ink:#182a27;--ink-2:#263d39;--paper:#f5f4ee;--card:#fffef9;--line:#dddcd4;--muted:#6f7773;--green:#2e6b57;--mint:#dcebe2;--rose:#f5dfdb;--red:#a94d44;--amber:#e7b85e;--amber-soft:#f8eed7;--blue:#425e74;--shadow:0 18px 50px rgba(28,44,40,.09);--radius:16px}
[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Avenir Next",Avenir,system-ui,-apple-system,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(46,107,87,.24);outline-offset:2px}.muted{color:var(--muted);margin:.2rem 0}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.16em;color:var(--green);margin:0 0 .55rem}.btn{border:0;border-radius:10px;padding:.8rem 1.1rem;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;transition:.2s ease}.btn-primary{background:var(--ink);color:white;box-shadow:0 6px 16px rgba(24,42,39,.18)}.btn-primary:hover{background:#274740;transform:translateY(-1px)}.btn-secondary{border:1px solid var(--line);background:white;color:var(--ink)}.btn-secondary:hover{border-color:#9da8a3}.btn-danger{background:#fff1ef;color:var(--red);border:1px solid #eed4d0}.btn-wide{width:100%;justify-content:space-between;padding:1rem 1.1rem}.brand-mark{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:inline-grid;place-items:center;font-family:Georgia,serif;font-weight:700;letter-spacing:-.08em}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:#f7f6f0}.login-copy{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:3.5rem 5vw;display:flex;flex-direction:column;justify-content:space-between}.login-copy:before,.login-copy:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;width:650px;height:650px;right:-280px;bottom:-300px}.login-copy:after{width:420px;height:420px;right:-150px;bottom:-190px}.login-copy:after{background:radial-gradient(circle,rgba(231,184,94,.12),transparent 68%)}.login-brand{display:flex;align-items:center;gap:.8rem;font-weight:750;letter-spacing:.01em;z-index:1}.login-message{max-width:720px;position:relative;z-index:1}.login-message .eyebrow{color:#d7c38d}.login-message h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,5.8vw,6rem);line-height:.97;letter-spacing:-.045em;margin:.6rem 0 1.6rem;font-weight:500}.login-message h1 em{color:#e9c878;font-weight:400}.login-message>p:last-child{font-size:1.06rem;color:#bfd0ca;max-width:570px}.login-foot{font-size:.75rem;color:#98aaa5;display:flex;gap:1rem;z-index:1}.login-panel{display:grid;place-items:center;padding:2rem}.login-card{width:min(420px,100%)}.login-card h2{font-family:Georgia,serif;font-size:2.4rem;margin:.15rem 0 .3rem;font-weight:500}.login-card label,.form-grid label,.form-row label{display:flex;flex-direction:column;gap:.45rem;font-size:.78rem;font-weight:750;margin-top:1.25rem}.login-card input,.form-grid input,.form-grid select,.form-grid textarea,.form-row input,.form-row select,.form-row textarea,.filter-row input,.filter-row select{border:1px solid var(--line);background:#fffefb;border-radius:9px;padding:.82rem .9rem;color:var(--ink);width:100%}.login-card input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--green)}.password-wrap{display:flex;position:relative}.password-wrap input{padding-right:4rem}.password-wrap button{position:absolute;right:.4rem;top:.4rem;bottom:.4rem;border:0;background:transparent;color:var(--green);font-weight:750}.demo-note{font-size:.71rem;color:var(--muted);text-align:center;margin:1rem 0}.form-error{font-size:.8rem;color:var(--red);background:#fff0ed;padding:.7rem;border-radius:8px}.mobile-brand{display:none}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--ink);color:white;padding:1.4rem 1rem;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:.8rem;padding:.2rem .5rem 2rem}.brand div{display:flex;flex-direction:column}.brand strong{font-family:Georgia,serif;font-size:1.15rem}.brand small{font-size:.68rem;color:#9eb1ab;text-transform:uppercase;letter-spacing:.1em}.sidebar nav{display:flex;flex-direction:column;gap:.25rem}.nav-label{font-size:.6rem;letter-spacing:.15em;color:#80938e;font-weight:800;margin:1rem .7rem .35rem}.nav-item{border:0;background:transparent;color:#bac8c3;border-radius:9px;text-align:left;padding:.72rem .8rem;display:flex;align-items:center;gap:.75rem;font-weight:650;font-size:.85rem;transition:.2s}.nav-item span{width:20px;text-align:center;font-size:1rem}.nav-item b{margin-left:auto;font-size:.62rem;color:var(--ink);background:#e6c572;border-radius:20px;padding:.15rem .45rem}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.09);color:white}.nav-item.active{box-shadow:inset 3px 0 #e6c572}.sidebar-help{margin-top:auto;display:flex;gap:.7rem;background:rgba(255,255,255,.06);padding:.8rem;border-radius:10px}.sidebar-help>span{width:28px;height:28px;border:1px solid #70827c;border-radius:50%;display:grid;place-items:center}.sidebar-help div{display:flex;flex-direction:column}.sidebar-help strong{font-size:.72rem}.sidebar-help small{font-size:.6rem;color:#9eafaa;margin-top:.16rem}.logout-btn{border:0;background:transparent;color:#93a49f;display:flex;justify-content:space-between;padding:1rem .8rem 0;font-size:.76rem}.main-content{margin-left:250px;min-height:100vh}.topbar{height:88px;background:rgba(245,244,238,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:1rem 3vw;position:sticky;top:0;z-index:10}.topbar h1{font-family:Georgia,serif;font-size:1.65rem;margin:0;font-weight:500}.topbar .eyebrow{font-size:.58rem;margin-bottom:.1rem}.top-actions{margin-left:auto;display:flex;align-items:center;gap:.8rem}.status-dot{font-size:.68rem;color:var(--green);font-weight:700}.avatar{width:38px;height:38px;border-radius:50%;border:0;background:#d9c487;color:var(--ink);font-size:.67rem;font-weight:800}.menu-btn{display:none;border:0;background:transparent;font-size:1.4rem}.content{padding:2.2rem 3vw 4rem;max-width:1600px;margin:auto}.view{display:none;animation:fade .28s ease}.view.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.welcome-row,.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.7rem}.welcome-row h2,.section-heading h2{font-family:Georgia,serif;font-size:2.25rem;font-weight:500;letter-spacing:-.02em;margin:0}.period-control{display:flex;align-items:center;gap:.6rem;font-size:.72rem;color:var(--muted)}.period-control select{padding:.6rem .9rem;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem;min-height:150px;display:flex;flex-direction:column;position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:100px;height:100px;border:20px solid rgba(30,70,60,.025);border-radius:50%;right:-42px;bottom:-48px}.kpi-head{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.1em}.kpi-icon{width:27px;height:27px;border-radius:7px;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:.85rem}.kpi-expense .kpi-icon{background:var(--rose);color:var(--red)}.kpi-result .kpi-icon{background:var(--amber-soft);color:#8b671e}.kpi-invoice .kpi-icon{background:#dfe6e9;color:var(--blue)}.kpi strong{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:auto 0 .1rem;letter-spacing:-.02em}.kpi small{color:var(--muted);font-size:.68rem}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 2px 0 rgba(0,0,0,.01)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.75fr);gap:1rem;margin-bottom:1rem}.chart-panel{padding:1.3rem}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.panel-head h3,.security-card h3{font-family:Georgia,serif;font-size:1.25rem;font-weight:500;margin:0}.panel-head p{font-size:.72rem}.chart-legend{display:flex;gap:1rem;color:var(--muted);font-size:.65rem}.chart-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.3rem}.income-dot{background:var(--green)}.expense-dot{background:#d99a8f}.bar-chart{height:230px;display:flex;gap:.8rem;align-items:stretch;border-bottom:1px solid var(--line);padding:.8rem .5rem 0}.month-group{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0}.bars{height:190px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px;border-bottom:1px dashed #ecebe5}.bar{width:min(17px,35%);min-height:2px;border-radius:4px 4px 1px 1px;transition:height .4s ease}.bar:hover{filter:brightness(.9)}.bar.income{background:var(--green)}.bar.expense{background:#d99a8f}.month-group small{font-size:.58rem;color:var(--muted)}.quick-panel{padding:1.3rem}.quick-panel>.panel-head{border-bottom:1px solid var(--line);padding-bottom:.65rem;margin-bottom:.25rem}.quick-panel>button{width:100%;border:0;border-bottom:1px solid #ecebe5;background:transparent;padding:.75rem .1rem;display:flex;align-items:center;gap:.7rem;text-align:left}.quick-panel>button:last-child{border:0}.quick-panel>button>b{margin-left:auto;color:#87918e}.quick-panel>button span:nth-child(2){display:flex;flex-direction:column}.quick-panel>button strong{font-size:.72rem}.quick-panel>button small{font-size:.62rem;color:var(--muted)}.quick-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center}.quick-icon.mint{background:var(--mint);color:var(--green)}.quick-icon.rose{background:var(--rose);color:var(--red)}.quick-icon.amber{background:var(--amber-soft);color:#8b671e}.quick-icon.blue{background:#dfe6e9;color:var(--blue)}.recent-panel{padding:1.3rem;margin-bottom:1rem}.link-button{background:transparent;border:0;color:var(--green);font-size:.7rem;font-weight:750}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}th{text-align:left;font-size:.58rem;letter-spacing:.08em;color:var(--muted);padding:.7rem .65rem;border-bottom:1px solid var(--line)}td{font-size:.75rem;padding:.78rem .65rem;border-bottom:1px solid #ecebe5;vertical-align:middle}tr:last-child td{border-bottom:0}.money{font-family:Georgia,serif;font-size:.9rem;font-weight:600}.positive{color:var(--green)}.negative{color:var(--red)}.type-pill,.status-pill{font-size:.6rem;font-weight:800;padding:.25rem .5rem;border-radius:20px;display:inline-block}.type-pill.income,.status-pill.paid{background:var(--mint);color:var(--green)}.type-pill.expense,.status-pill.pending{background:var(--rose);color:var(--red)}.row-actions{display:flex;gap:.3rem}.row-actions button{border:1px solid var(--line);background:white;width:29px;height:29px;border-radius:7px;color:var(--muted)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty-state span{font-size:2rem;display:block;opacity:.55}.disclaimer{border:1px solid #e7d8ad;background:#fcf7e9;border-radius:12px;padding:.85rem 1rem;display:flex;align-items:center;gap:.7rem;font-size:.67rem;color:#786c4c}.disclaimer>span{width:24px;height:24px;border-radius:50%;background:#ead79e;display:grid;place-items:center;font-family:Georgia,serif}.disclaimer p{margin:0}.disclaimer strong{margin-right:.4rem;color:#54492e}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);border-radius:var(--radius);margin-bottom:1rem;color:white}.summary-strip>div{padding:1.25rem 1.5rem;border-right:1px solid rgba(255,255,255,.12)}.summary-strip>div:last-child{border:0}.summary-strip small{display:block;font-size:.58rem;color:#99aca6;letter-spacing:.12em;font-weight:800}.summary-strip strong{font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.summary-strip.expenses{background:#402d2b}.summary-strip.invoice-summary{background:#243b44}.filter-row{display:flex;gap:.7rem;padding:1rem;border-bottom:1px solid var(--line)}.filter-row input{max-width:450px}.filter-row select{width:auto;margin-left:auto}.tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.tabs button{border:0;background:transparent;padding:.8rem 1rem;color:var(--muted);font-weight:750;border-bottom:2px solid transparent}.tabs button.active{color:var(--green);border-color:var(--green)}.tabs span{background:#e8e8e3;border-radius:20px;padding:.1rem .42rem;font-size:.65rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.service-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;transition:.2s}.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.service-card.archived{opacity:.65}.service-top{display:flex;justify-content:space-between;gap:.7rem}.service-card h3{font-family:Georgia,serif;font-weight:500;margin:.2rem 0}.service-card p{font-size:.72rem;color:var(--muted);min-height:42px}.service-card .price{font-family:Georgia,serif;font-size:1.3rem;color:var(--green)}.service-card footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:.8rem;margin-top:1rem}.service-actions{display:flex;gap:.35rem}.service-actions button{border:0;background:#eeeae1;border-radius:7px;padding:.4rem .55rem;color:var(--ink);font-size:.65rem}.form-panel{padding:1.5rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.form-grid label{margin-top:.9rem}.form-grid .span-2{grid-column:span 2}.form-grid textarea{min-height:82px;resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line)}.security-card{margin-top:1rem;padding:1.2rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}.security-card p{font-size:.75rem}
.modal-backdrop{position:fixed;inset:0;background:rgba(10,24,21,.58);backdrop-filter:blur(5px);z-index:50;display:grid;place-items:center;padding:1rem}.modal-backdrop[hidden]{display:none}.modal{background:var(--paper);border-radius:18px;width:min(650px,100%);max-height:94vh;overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal.invoice-modal{width:min(980px,100%)}.modal>header{position:sticky;top:0;background:rgba(245,244,238,.94);backdrop-filter:blur(8px);z-index:2;padding:1.2rem 1.5rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal header h2{font-family:Georgia,serif;font-weight:500;margin:0}.icon-btn{border:1px solid var(--line);background:white;border-radius:50%;font-size:1.2rem;width:34px;height:34px}.modal #modalBody{padding:0 1.5rem 1.5rem}.invoice-builder{display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.invoice-builder>div:first-child{border-right:1px solid var(--line);padding-right:1rem}.form-section-title{font-size:.66rem;letter-spacing:.1em;color:var(--green);margin:1.2rem 0 0;font-weight:850}.invoice-items{margin-top:.8rem}.invoice-item{display:grid;grid-template-columns:1.5fr .55fr .65fr auto;gap:.5rem;align-items:end;margin-bottom:.6rem}.invoice-item label{margin:0}.invoice-item button{height:42px}.invoice-totals{border-top:1px solid var(--line);margin-top:1rem;padding-top:.7rem}.invoice-totals p{display:flex;justify-content:space-between;font-size:.75rem}.invoice-totals .grand-total{font-family:Georgia,serif;font-size:1.2rem}.invoice-preview{background:white;border:1px solid var(--line);padding:1.4rem;min-height:500px;box-shadow:0 10px 30px rgba(0,0,0,.05)}.invoice-preview h3{font-family:Georgia,serif;font-size:1.5rem;margin:0}.invoice-preview .preview-top{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:1rem}.invoice-preview .invoice-word{font-size:1.6rem;letter-spacing:.13em;color:#b48b3a}.invoice-preview p,.invoice-preview td{font-size:.65rem}.preview-bill{display:flex;justify-content:space-between;margin:1rem 0}.preview-table{min-width:0}.preview-table th,.preview-table td{padding:.45rem .3rem}.preview-total{text-align:right;font-family:Georgia,serif;font-size:1.1rem!important}.toast{position:fixed;right:1.2rem;bottom:1.2rem;background:var(--ink);color:white;padding:.85rem 1rem;border-radius:10px;box-shadow:var(--shadow);font-size:.75rem;opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:80}.toast.show{opacity:1;transform:none}
@media(max-width:1100px){.kpi-grid{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.quick-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.quick-panel>.panel-head{grid-column:span 2}}
@media(max-width:780px){.login-screen{grid-template-columns:1fr}.login-copy{display:none}.login-panel{min-height:100vh}.mobile-brand{display:flex;align-items:center;gap:.7rem;margin-bottom:3rem;color:var(--ink)}.mobile-brand .brand-mark{border-color:var(--ink)}.sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.3)}.main-content{margin-left:0}.menu-btn{display:block;margin-right:.8rem}.status-dot,.top-actions .avatar{display:none}.top-actions .btn{font-size:.7rem;padding:.65rem .75rem}.topbar{height:78px}.content{padding:1.4rem 1rem 3rem}.welcome-row,.section-heading{align-items:flex-start;gap:1rem}.welcome-row h2,.section-heading h2{font-size:1.8rem}.period-control{flex-direction:column;align-items:flex-start}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{min-height:130px}.kpi strong{font-size:1.55rem}.summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.services-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.invoice-builder{grid-template-columns:1fr}.invoice-builder>div:first-child{border-right:0;padding-right:0}.invoice-preview{display:none}.security-card{grid-template-columns:auto 1fr}.security-card button{grid-column:span 2}.quick-panel{display:block}}
@media(max-width:500px){.kpi-grid{grid-template-columns:1fr}.quickInvoice{display:none}.invoice-item{grid-template-columns:1fr 1fr}.invoice-item label:first-child{grid-column:span 2}.chart-legend{display:none}.login-card h2{font-size:2rem}.topbar h1{font-size:1.35rem}}
@media print{body>*{display:none!important}#printArea{display:block!important;color:#111;background:white;padding:30px;font-family:Arial,sans-serif}#printArea table{min-width:0}}

/* Language library and company branding */
.login-panel{position:relative}
.language-control{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:9px;padding:.2rem .35rem .2rem .55rem;color:var(--ink)}
.language-control select{border:0;background:transparent;color:var(--ink);font-size:.7rem;font-weight:750;padding:.38rem .2rem;outline:0;cursor:pointer}
.login-language{position:absolute;right:1.5rem;top:1.5rem;margin:0!important}
.logo-manager{display:grid;grid-template-columns:150px 1fr;gap:1.2rem;align-items:center;background:#f1f0e9;border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:.5rem}
.logo-manager h3{font-family:Georgia,serif;font-size:1.2rem;font-weight:500;margin:0}
.logo-manager p{font-size:.72rem}
.logo-preview{width:150px;height:90px;background:white;border:1px dashed #aeb7b2;border-radius:9px;display:grid;place-items:center;overflow:hidden;color:#9aa49f;font-size:.65rem;font-weight:850;letter-spacing:.14em}
.logo-preview img{width:100%;height:100%;object-fit:contain;padding:.5rem}
.logo-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}
.file-button{position:relative;overflow:hidden}
.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
.preview-company{display:grid;gap:.45rem;max-width:68%}
.preview-company.has-logo{grid-template-columns:minmax(90px,125px) minmax(130px,1fr);align-items:center;column-gap:1rem}
.preview-identity{min-width:0}.preview-identity h3{margin:0}
.preview-logo{width:125px;height:66px;object-fit:contain;object-position:left center;display:block}
.preview-company-details{margin:0!important;line-height:1.55;color:#43514e}
@media(max-width:640px){.preview-company.has-logo{grid-template-columns:1fr}.preview-logo{width:110px;height:58px}}
@media(max-width:900px){.status-dot{display:none}.language-control select{max-width:115px}}
@media(max-width:780px){.top-actions .language-control span{display:none}.top-actions .language-control{padding:.18rem}.logo-manager{grid-template-columns:1fr}.logo-preview{width:100%;height:110px}}
@media(max-width:500px){.top-actions .language-control{display:none}.login-language{right:1rem;top:1rem}}

/* Viva Med Cloud typography system */
:root{--font-ui:Inter,"Segoe UI",Roboto,Arial,sans-serif}
body,button,input,select,textarea,
.brand-mark,.login-message h1,.login-card h2,.brand strong,.topbar h1,
.welcome-row h2,.section-heading h2,.kpi strong,.panel-head h3,
.security-card h3,.money,.summary-strip strong,.service-card h3,
.service-card .price,.modal header h2,.invoice-totals .grand-total,
.invoice-preview h3,.preview-total,.logo-manager h3{font-family:var(--font-ui)!important}
body{font-weight:400;letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.login-message h1{font-size:clamp(2.8rem,5.2vw,5.35rem);font-weight:700;line-height:1.02;letter-spacing:-.045em}
.login-message h1 em{font-style:normal;font-weight:700}
.login-card h2{font-weight:750;letter-spacing:-.035em}
.brand strong{font-weight:750;letter-spacing:-.015em}
.brand-mark{font-weight:750;letter-spacing:-.035em}
.topbar h1,.welcome-row h2,.section-heading h2{font-weight:750;letter-spacing:-.035em}
.panel-head h3,.security-card h3,.service-card h3,.modal header h2,.invoice-preview h3,.logo-manager h3{font-weight:700;letter-spacing:-.02em}
.kpi strong,.summary-strip strong,.service-card .price,.money,.invoice-totals .grand-total,.preview-total{font-weight:750;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.eyebrow,.nav-label,.kpi-head,.summary-strip small,.form-section-title,th{font-weight:750;letter-spacing:.1em}
.nav-item,.btn,.tabs button,.login-card label,.form-grid label,.form-row label{font-weight:650}
strong{font-weight:700}

/* Invoice item editor */
.modal.invoice-modal{width:min(1120px,96vw)}
.invoice-builder{grid-template-columns:minmax(0,1.3fr) minmax(310px,.7fr);gap:1.4rem}
.invoice-items-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-top:1.35rem}
.invoice-items-heading .form-section-title{margin:0}
.invoice-items-heading small{display:block;margin-top:.25rem;color:var(--muted);font-size:.67rem}
.invoice-items-heading .btn{flex:0 0 auto;padding:.65rem .85rem;font-size:.7rem}
.invoice-items{display:grid;gap:.75rem;margin-top:.8rem}
.invoice-item{display:block;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 4px 14px rgba(24,42,39,.035)}
.invoice-item-head{min-height:34px;padding:.4rem .55rem .4rem .8rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ebeae4;background:#f8f7f2}
.item-number{color:var(--green);font-size:.58rem;font-weight:750;letter-spacing:.11em}
.item-remove{width:26px;height:26px;border:0;border-radius:7px;background:#f9e8e5;color:var(--red);font-size:1rem;font-weight:700;line-height:1;transition:.2s ease}
.item-remove:hover{background:#f2d5d0;transform:scale(1.04)}
.invoice-item-fields{padding:.8rem;display:grid;grid-template-columns:minmax(210px,1fr) 72px 112px 94px;gap:.65rem;align-items:end}
.invoice-item label,.invoice-notes{display:flex;flex-direction:column;gap:.38rem;margin:0;color:var(--ink-2);font-size:.68rem;font-weight:650}
.invoice-item input,.invoice-item select,.invoice-notes textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fffefb;color:var(--ink);font:inherit;font-size:.76rem;font-weight:500;outline:0;transition:border-color .18s ease,box-shadow .18s ease}
.invoice-item input,.invoice-item select{height:39px;padding:.55rem .65rem}
.invoice-item input:focus,.invoice-item select:focus,.invoice-notes textarea:focus{border-color:#70a293;box-shadow:0 0 0 3px rgba(46,107,87,.09)}
.item-service-field{gap:.38rem!important}
.item-service-field .item-description{margin-top:.08rem;background:#fafaf7}
.item-line-total{height:64px;padding:.48rem .62rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;border:1px solid #dfe7e2;border-radius:8px;background:var(--mint)}
.item-line-total span{color:var(--green);font-size:.56rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.item-line-total strong{margin-top:.15rem;color:var(--ink);font-size:.82rem;white-space:nowrap}
.invoice-notes{margin-top:1rem}
.invoice-notes textarea{min-height:86px;padding:.7rem .8rem;resize:vertical;line-height:1.45}
.invoice-totals{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:11px;background:#f8f7f2}
.invoice-totals p{margin:.25rem 0;padding:.2rem 0}
.invoice-totals .grand-total{margin-top:.65rem;padding-top:.75rem;border-top:1px solid var(--line)}
@media(max-width:980px){.invoice-builder{grid-template-columns:1fr}.invoice-builder>div:first-child{border-right:0;padding-right:0}.invoice-preview{display:none}}
@media(max-width:640px){.invoice-items-heading{align-items:flex-start;flex-direction:column}.invoice-item-fields{grid-template-columns:1fr 1fr}.item-service-field{grid-column:1/-1}.item-line-total{height:62px}.invoice-items-heading .btn{width:100%}}

/* Financial reports */
.report-controls{padding:1rem;margin-bottom:1.4rem}
.report-mode-tabs{display:flex;gap:.35rem;padding:.3rem;border:1px solid var(--line);border-radius:11px;background:#efeee8;width:max-content;max-width:100%}
.report-mode-tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:.65rem .9rem;font-size:.7rem;font-weight:650;transition:.2s ease;white-space:nowrap}
.report-mode-tabs button.active{background:white;color:var(--ink);box-shadow:0 3px 12px rgba(24,42,39,.08)}
.report-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr)) auto;gap:.8rem;align-items:end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.report-filter-fields label{display:flex;flex-direction:column;gap:.4rem;color:var(--ink-2);font-size:.68rem;font-weight:650}
.report-filter-fields input,.report-filter-fields select{height:42px;border:1px solid var(--line);border-radius:9px;background:#fffefb;color:var(--ink);padding:.65rem .75rem;font:inherit;font-size:.75rem;outline:0}
.report-filter-fields input:focus,.report-filter-fields select:focus{border-color:#70a293;box-shadow:0 0 0 3px rgba(46,107,87,.09)}
.report-filter-fields [hidden]{display:none!important}
.report-heading-line{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:.8rem}
.report-heading-line h3{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;text-transform:capitalize}
.report-count{padding:.35rem .65rem;border-radius:20px;background:#e7e8e3;color:var(--muted);font-size:.65rem;font-weight:650}
.report-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-bottom:1rem}
.report-stat{min-height:125px;padding:1rem;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:13px;background:var(--card);position:relative;overflow:hidden}
.report-stat:before{content:"";position:absolute;left:0;top:20px;width:3px;height:34px;background:var(--green)}
.report-stat.expense:before{background:var(--red)}.report-stat.net:before{background:var(--amber)}.report-stat.documents:before{background:var(--blue)}
.report-stat>span{color:var(--muted);font-size:.58rem;font-weight:750;letter-spacing:.1em}
.report-stat strong{margin:auto 0 .1rem;font-size:1.45rem;font-weight:750;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.report-stat small{color:var(--muted);font-size:.63rem}
.report-ledger{margin-bottom:1rem;overflow:hidden}
.report-table{min-width:1550px}
.report-table th{position:sticky;top:0;background:#f3f2ec;white-space:nowrap}
.report-table td{max-width:220px;line-height:1.35}
.report-table td:nth-child(4),.report-table td:nth-child(5),.report-table td:nth-child(13){min-width:180px;white-space:normal}
.report-table tfoot td{background:#f3f2ec;border-top:2px solid var(--line)}
@media(max-width:1000px){.report-summary{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.report-mode-tabs{width:100%;overflow:auto}.report-mode-tabs button{flex:1}.report-filter-fields{grid-template-columns:1fr}.report-filter-fields .btn{width:100%}.report-summary{grid-template-columns:1fr}.report-heading-line{align-items:flex-start;gap:.7rem;flex-direction:column}}

/* Export declarations */
.sidebar{overflow-y:auto}
.export-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-bottom:1rem}
.export-summary article{min-height:118px;padding:1rem 1.05rem;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#fffefb,#f3f5f1);display:flex;flex-direction:column;position:relative;overflow:hidden}
.export-summary article:after{content:"";position:absolute;width:72px;height:72px;border:14px solid rgba(46,107,87,.05);border-radius:50%;right:-30px;bottom:-34px}
.export-summary span{font-size:.58rem;font-weight:750;letter-spacing:.1em;color:var(--muted)}
.export-summary strong{margin:auto 0 .1rem;font-size:1.45rem;font-weight:750;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.export-summary small{font-size:.62rem;color:var(--muted)}
.export-panel{margin-bottom:1rem;overflow:hidden}.export-filters input{flex:1}.export-filters select{margin-left:0}
.export-table{min-width:1320px}.export-table td{line-height:1.35}.export-table td small{display:block;margin-top:.22rem;color:var(--muted);font-size:.62rem}
.export-status{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:20px;background:#ecece7;color:var(--muted);font-size:.59rem;font-weight:750;white-space:nowrap}
.export-status.filed,.export-status.cleared{background:var(--mint);color:var(--green)}.export-status.shipped{background:#e5eef2;color:var(--blue)}.export-status.delivered{background:#e7f0e4;color:#407247}.export-status.draft{background:var(--amber-soft);color:#81631f}
.document-chip{max-width:160px;border:1px solid #cfdad4;border-radius:7px;background:#f4f8f5;color:var(--green);padding:.38rem .5rem;font-size:.62rem;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.dossier-status{display:inline-flex;padding:.28rem .52rem;border-radius:18px;font-size:.58rem;font-weight:750;white-space:nowrap}.dossier-status.complete{background:#e4f0e8;color:#326c4a}.dossier-status.incomplete{background:#fbefda;color:#846022}
.export-form-grid{grid-template-columns:1fr 1fr}.export-upload{padding:.8rem;border:1px dashed #aebbb4;border-radius:10px;background:#f8faf7}.export-upload input{padding:.55rem;background:white}.export-upload small{color:var(--muted);font-weight:500}
@media(max-width:1250px){.export-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.export-summary{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.export-summary{grid-template-columns:1fr}.export-filters{flex-direction:column}.export-filters input,.export-filters select{width:100%;max-width:none}.export-form-grid{grid-template-columns:1fr}.export-form-grid .span-2{grid-column:auto}}

/* v1.0.1 — navigation and light/dark appearance */
:root{--sidebar:#142b27;--sidebar-deep:#0d211e;--sidebar-text:#d6e0dc;--sidebar-muted:#8fa39c;--control:#fffefb;--soft:#efeee8;--surface:var(--card);--forest:#17342f;--teal:#2e8067;--lime:#d9f277;--topbar:rgba(245,244,238,.9);--table-line:#ecebe5}
html[data-theme="dark"]{--ink:#e7efec;--ink-2:#cbd8d3;--paper:#091512;--card:#10221e;--line:#294039;--muted:#91a59e;--green:#72c3a4;--mint:#183b31;--rose:#432923;--red:#efa095;--amber-soft:#493a1d;--blue:#8eb6cf;--control:#132923;--soft:#172823;--surface:#10221e;--forest:#0b1d19;--teal:#70c4a4;--lime:#d9f277;--topbar:rgba(9,21,18,.9);--table-line:#263b35;--shadow:0 18px 50px rgba(0,0,0,.28)}
body{transition:background-color .22s ease,color .22s ease}.sidebar{width:272px;padding:1rem 12px 12px;background:linear-gradient(180deg,var(--sidebar) 0%,var(--sidebar-deep) 100%);overflow:hidden}.main-content{margin-left:272px}.brand{min-height:72px;padding:.55rem .6rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.07);font-size:.78rem}.brand strong{font-size:1rem;color:#fff}.brand small{margin-top:2px;color:var(--sidebar-muted);font-size:.58rem}.sidebar nav{min-height:0;overflow-y:auto;padding:.75rem .15rem 1rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.nav-label{margin:1.1rem .7rem .4rem;color:#718c84;font-size:.54rem}.nav-item{min-height:45px;padding:.55rem .65rem;border-radius:11px;color:var(--sidebar-text);font-size:.78rem;text-decoration:none}.nav-item>span{width:31px;height:31px;display:grid;place-items:center;flex:0 0 31px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.055);font-size:.85rem}.nav-item:hover{background:rgba(255,255,255,.07);transform:translateX(2px)}.nav-item.active{background:rgba(255,255,255,.105);box-shadow:inset 3px 0 #e6c572;color:#fff}.nav-item.active>span{border-color:rgba(230,197,114,.25);background:rgba(230,197,114,.14);color:#f3d58d}.nav-item b{min-width:22px;text-align:center;color:#20322e}
.sidebar-footer{margin-top:auto;padding:.8rem;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.045)}.signed-user{display:flex;align-items:center;gap:.65rem;min-width:0;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.08)}.signed-user>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:10px;color:#142b27;background:#d9c487;font-size:.72rem;font-weight:800;text-transform:uppercase}.signed-user>div{display:flex;flex-direction:column;min-width:0}.signed-user strong{overflow:hidden;color:#f7fbf9;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.signed-user small{overflow:hidden;margin-top:2px;color:var(--sidebar-muted);font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}.save-indicator{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;padding:.65rem .15rem;color:#a8bbb5;font-size:.56rem}.save-indicator i{width:7px;height:7px;border-radius:50%;background:#72c99d;box-shadow:0 0 0 4px rgba(114,201,157,.09)}.save-indicator small{color:#758f87}.logout-action{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.09);border-radius:9px;padding:0 .7rem;color:#c6d4cf;background:rgba(255,255,255,.04);font-size:.65rem;font-weight:650}.logout-action:hover{color:#fff;background:rgba(255,255,255,.09)}.logout-action b{font-size:.85rem}
.topbar{background:var(--topbar)}.theme-toggle{height:38px;display:inline-flex;align-items:center;gap:.45rem;padding:0 .7rem;border:1px solid var(--line);border-radius:10px;color:var(--ink-2);background:var(--card);font-size:.65rem;font-weight:700;box-shadow:0 2px 8px rgba(20,40,35,.04)}.theme-toggle:hover{border-color:var(--green);color:var(--green)}.theme-toggle [data-theme-icon]{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:var(--soft);font-size:.8rem}.login-theme-toggle{position:fixed;top:20px;right:20px;z-index:5}
html[data-theme="dark"] .btn-primary{background:#68b99b;color:#07130f;box-shadow:none}html[data-theme="dark"] .btn-primary:hover{background:#7ac9ab}html[data-theme="dark"] .btn-secondary,html[data-theme="dark"] .icon-btn,html[data-theme="dark"] .row-actions button{background:var(--control);color:var(--ink)}html[data-theme="dark"] input,html[data-theme="dark"] select,html[data-theme="dark"] textarea,html[data-theme="dark"] .period-control select,html[data-theme="dark"] .language-control{background:var(--control);color:var(--ink);border-color:var(--line)}html[data-theme="dark"] .login-screen,html[data-theme="dark"] .login-panel{background:var(--paper)}html[data-theme="dark"] .login-copy{background:linear-gradient(145deg,#071310,#102a24)}html[data-theme="dark"] .quick-panel>button,html[data-theme="dark"] td,html[data-theme="dark"] .invoice-item-head{border-color:var(--table-line)}html[data-theme="dark"] .service-actions button,html[data-theme="dark"] .tabs span,html[data-theme="dark"] .report-mode-tabs{background:var(--soft);color:var(--ink)}html[data-theme="dark"] .report-mode-tabs button.active{background:var(--card);color:var(--ink)}html[data-theme="dark"] .invoice-item,html[data-theme="dark"] .invoice-totals,html[data-theme="dark"] .invoice-item-head,html[data-theme="dark"] .report-table th,html[data-theme="dark"] .report-table tfoot td{background:var(--card)}html[data-theme="dark"] .invoice-preview{background:#f7f6f0;color:#162823}html[data-theme="dark"] .invoice-preview th,html[data-theme="dark"] .invoice-preview td{color:#162823;border-color:#d8d8d0}html[data-theme="dark"] .modal>header{background:rgba(9,21,18,.94)}html[data-theme="dark"] .export-summary article{background:linear-gradient(145deg,#122620,#0d1c18)}html[data-theme="dark"] .disclaimer{border-color:#58491f;background:#302815;color:#d7c99d}html[data-theme="dark"] .disclaimer strong{color:#f0e1ad}html[data-theme="dark"] .document-chip{background:#142b24}html[data-theme="dark"] .export-upload,html[data-theme="dark"] .logo-manager{background:var(--soft)}
.update-workspace{margin-left:272px}
html[data-theme="dark"] .vmu-drop{border-color:#41675b;background:linear-gradient(145deg,#122a23,#0d211c)}html[data-theme="dark"] .vmu-drop:hover{background:#153329}html[data-theme="dark"] .protection-list>div{border-color:var(--line);background:var(--control)}html[data-theme="dark"] .protection-list i{color:#8bd1b5;background:#183d31}html[data-theme="dark"] .safety-list span,html[data-theme="dark"] .history-head>span{color:#a6bbb4;background:var(--soft)}html[data-theme="dark"] .warning-note{color:#ead59e;background:#372d16}html[data-theme="dark"] .secure-chip{border-color:#315447;color:#8fd0b4;background:#112b23}html[data-theme="dark"] .update-alert.success{border-color:#315c48;color:#9bd9bd;background:#123125}html[data-theme="dark"] .update-alert.error{border-color:#693b35;color:#f0afa5;background:#391f1b}html[data-theme="dark"] .card-number{color:#294039}html[data-theme="dark"] .version-seal{border-color:#315449;background:#0a1c18}
html[data-theme="dark"] .summary-strip{background:#16352e;color:#f1f7f4}html[data-theme="dark"] .summary-strip.expenses{background:#3c2927}html[data-theme="dark"] .summary-strip.invoice-summary{background:#1b3038}html[data-theme="dark"] .toast{background:#72c3a4;color:#07130f}html[data-theme="dark"] .form-error{background:#3b211d;color:#f2aaa0}html[data-theme="dark"] .login-theme-toggle{background:#10221e}
@media(max-width:780px){.sidebar{width:272px}.main-content,.update-workspace{margin-left:0!important}.theme-toggle [data-theme-label]{display:none}.theme-toggle{width:38px;padding:0;justify-content:center}.sidebar-footer{margin-top:auto}}
.install-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(135deg,var(--ink),#27463f)}.install-card{width:min(760px,100%);background:var(--paper);border-radius:20px;padding:2rem;box-shadow:0 30px 90px rgba(0,0,0,.28)}.install-card h1{margin:.2rem 0;font-size:2rem}.install-card>p{color:var(--muted)}.install-card .form-error{margin:1rem 0}.nav-item[href]{text-decoration:none}

/* v1.0.3 — neutral graphite design system */
:root{--ink:#252932;--ink-2:#414752;--paper:#f3f3f1;--card:#fdfdfc;--line:#dadbdd;--muted:#737984;--green:#66728a;--mint:#e9ebf0;--rose:#f3e8e6;--red:#ae5b54;--amber:#b9945b;--amber-soft:#f2ece2;--blue:#5f6eaa;--sidebar:#22262d;--sidebar-deep:#171a20;--sidebar-text:#d9dce2;--sidebar-muted:#9198a3;--control:#fff;--soft:#ececee;--surface:#fdfdfc;--forest:#292e37;--teal:#687590;--lime:#d8dbe3;--topbar:rgba(243,243,241,.91);--table-line:#e7e7e5;--shadow:0 18px 50px rgba(31,34,42,.09)}
html[data-theme="dark"]{--ink:#eceef2;--ink-2:#c8cbd2;--paper:#111318;--card:#1a1d23;--line:#333842;--muted:#979da8;--green:#9ba5c2;--mint:#292e38;--rose:#3d2929;--red:#ee9890;--amber:#d0ad73;--amber-soft:#393126;--blue:#aab4ea;--sidebar:#181b21;--sidebar-deep:#111318;--sidebar-text:#dfe2e8;--sidebar-muted:#8f96a2;--control:#20242c;--soft:#252932;--surface:#1a1d23;--forest:#181c23;--teal:#a1aac5;--lime:#d8dbe3;--topbar:rgba(17,19,24,.91);--table-line:#2c313a;--shadow:0 18px 55px rgba(0,0,0,.32)}
.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-deep))}.nav-label{color:#7f8793}.nav-item.active{box-shadow:inset 3px 0 #8e99c8}.nav-item.active>span{border-color:rgba(142,153,200,.34);background:rgba(142,153,200,.16);color:#c5ccef}.nav-item b{background:#c9cddd;color:#262b34}.signed-user>span{background:#c9c4b8;color:#262a31}.save-indicator i{background:#929dbd;box-shadow:0 0 0 4px rgba(146,157,189,.1)}
.eyebrow,.form-section-title,.link-button,.positive,.service-card .price{color:#65718c}.theme-toggle:hover{border-color:#808bad;color:#65718c}.btn-primary{background:#2b3039;color:#fff}.btn-primary:hover{background:#3a414d}.btn-secondary{background:#fff;color:#313640}.kpi-icon,.quick-icon.mint{background:#e7e9ef;color:#5f6b86}.type-pill.income,.status-pill.paid{background:#e7e9ef;color:#596681}.summary-strip{background:#2b3038}.summary-strip.expenses{background:#453332}.summary-strip.invoice-summary{background:#303541}.language-control{background:rgba(255,255,255,.78)}.login-copy{background:linear-gradient(145deg,#252a32,#171a20)}
.export-status.filed,.export-status.cleared,.export-status.delivered,.dossier-status.complete{background:#e8eaf0;color:#58647d}.document-chip{border-color:#d2d5dc;background:#f4f5f7;color:#596681}.export-summary article{background:linear-gradient(145deg,#fdfdfc,#f0f0ef)}.export-summary article:after{border-color:rgba(95,110,170,.05)}

/* Invoice creation workspace */
.modal.invoice-modal{width:min(1120px,96vw);border:1px solid var(--line);background:var(--paper)}.invoice-modal>header{padding:1rem 1.35rem}.invoice-builder{grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:1.3rem}.invoice-builder>div:first-child{padding-right:1.3rem}.invoice-items-heading{padding:.85rem 0 .15rem}.invoice-items-heading .btn{border-radius:10px;background:var(--soft)}.invoice-item{border-color:var(--line);border-radius:15px;background:var(--card);box-shadow:0 8px 28px rgba(35,39,48,.055)}.invoice-item-head{padding:.55rem .7rem .55rem .9rem;background:var(--soft);border-color:var(--line)}.item-number{display:inline-flex;align-items:center;min-height:24px;padding:0 .55rem;border-radius:20px;background:var(--card);color:#646f89;letter-spacing:.09em}.item-remove{background:#f3e5e3;color:#ac5b53}.item-remove:hover{background:#ead3d0}.invoice-item-fields{grid-template-columns:minmax(240px,1.4fr) 86px 125px 118px;padding:1rem;gap:.8rem}.invoice-item label,.invoice-notes{color:var(--ink-2)}.invoice-item input,.invoice-item select,.invoice-notes textarea{border-color:#d5d7db;background:var(--control);color:var(--ink);box-shadow:0 1px 0 rgba(25,29,36,.02)}.item-service-field .item-description{background:var(--control);color:var(--ink)}.invoice-item input::placeholder,.invoice-notes textarea::placeholder{color:#9499a2}.invoice-item input:focus,.invoice-item select:focus,.invoice-notes textarea:focus{border-color:#7f8aac;box-shadow:0 0 0 3px rgba(109,121,160,.13)}.item-line-total{border-color:#d8dae1;background:#eceef3}.item-line-total span{color:#68738e}.item-line-total strong{color:#2d333e}.invoice-notes textarea{min-height:105px}.invoice-totals{padding:1.15rem 1.25rem;border-color:var(--line);background:var(--card);box-shadow:0 8px 24px rgba(35,39,48,.04)}.invoice-totals .grand-total{border-color:var(--line)}.invoice-preview{border-color:#d8d7d2;box-shadow:0 14px 38px rgba(25,29,36,.09)}

html[data-theme="dark"] .btn-primary{background:#8994c5;color:#11141a}html[data-theme="dark"] .btn-primary:hover{background:#9da7d5}html[data-theme="dark"] .btn-secondary{background:#232730;color:#e4e6ea}html[data-theme="dark"] .login-copy{background:linear-gradient(145deg,#1c2027,#111318)}html[data-theme="dark"] .summary-strip{background:#262b34}html[data-theme="dark"] .summary-strip.expenses{background:#3c2c2c}html[data-theme="dark"] .summary-strip.invoice-summary{background:#292e39}html[data-theme="dark"] .toast{background:#9da7d0;color:#111318}html[data-theme="dark"] .modal>header{background:rgba(26,29,35,.96)}html[data-theme="dark"] .invoice-item{background:#1b1f26}html[data-theme="dark"] .invoice-item-head{background:#242832}html[data-theme="dark"] .item-number{background:#303541;color:#c8cdea}html[data-theme="dark"] .invoice-item input,html[data-theme="dark"] .invoice-item select,html[data-theme="dark"] .invoice-notes textarea,html[data-theme="dark"] .item-service-field .item-description{border-color:#3b414c;background:#20242c;color:#eef0f3;-webkit-text-fill-color:#eef0f3}html[data-theme="dark"] .invoice-item input::placeholder,html[data-theme="dark"] .invoice-notes textarea::placeholder{color:#8f96a2;-webkit-text-fill-color:#8f96a2}html[data-theme="dark"] .item-line-total{border-color:#414756;background:#292e3a}html[data-theme="dark"] .item-line-total span{color:#aeb6da}html[data-theme="dark"] .item-line-total strong{color:#f1f2f5}html[data-theme="dark"] .invoice-totals{background:#1b1f26}html[data-theme="dark"] .export-summary article{background:linear-gradient(145deg,#1d2027,#171a20)}html[data-theme="dark"] .document-chip{border-color:#3c424e;background:#22262e;color:#bcc3dc}html[data-theme="dark"] .export-status.filed,html[data-theme="dark"] .export-status.cleared,html[data-theme="dark"] .export-status.delivered,html[data-theme="dark"] .dossier-status.complete{background:#292e39;color:#bbc2df}html[data-theme="dark"] .secure-chip{border-color:#3d4350;color:#c4c9dd;background:#20242c}html[data-theme="dark"] .vmu-drop{border-color:#4a5060;background:linear-gradient(145deg,#20242c,#1a1d23)}html[data-theme="dark"] .vmu-drop:hover{background:#242832}html[data-theme="dark"] .protection-list i{color:#c7cce3;background:#2b303b}html[data-theme="dark"] .update-alert.success{border-color:#4c5364;color:#c9cde0;background:#252a34}
@media(max-width:1040px){.invoice-builder{grid-template-columns:1fr}.invoice-builder>div:first-child{padding-right:0;border-right:0}.invoice-preview{display:none}}
@media(max-width:720px){.invoice-item-fields{grid-template-columns:1fr 1fr}.item-service-field{grid-column:1/-1}.item-line-total{min-height:62px}}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:rgba(109,121,160,.3)}.report-filter-fields input:focus,.report-filter-fields select:focus{border-color:#7f8aac;box-shadow:0 0 0 3px rgba(109,121,160,.13)}.tabs button.active{color:#65718c;border-color:#7f8aac}.install-page{background:linear-gradient(135deg,#252a32,#171a20)}
.back-link,.download-backup{color:#626e88}.secure-chip{border-color:#d2d5dc;color:#596681;background:#eef0f4}.version-seal{border-color:#3e444f;background:#282d36}.version-seal strong{color:#d8dbe3}.vmu-drop{border-color:#b6bbc7;background:linear-gradient(145deg,#fafafa,#f0f1f3)}.vmu-drop:hover{border-color:#7d88a9;background:#eceef3}.upload-icon{color:#2a2f38;background:#d8dbe3;box-shadow:0 9px 22px rgba(83,92,124,.16)}.safety-list span{color:#626d86;background:#eef0f4}.update-button{background:#2c313a}.update-button:hover:not(:disabled){background:#3a414d}.update-button b{color:#2c313a;background:#d8dbe3}.protection-list i{color:#626e8a;background:#e9ebf1}.update-alert.success{border-color:#c7cbd6;color:#515d79;background:#edf0f6}.update-alert.success>span{background:#6f7a9b}

/* v1.0.5 — live invoice preview mirrors the generated PDF */
.invoice-builder>div:last-child{min-width:0}.invoice-preview.preview-v2{position:sticky;top:82px;width:100%;min-height:0;aspect-ratio:612/792;padding:7.8%;overflow:hidden;container-type:inline-size;background:#fff;color:#14253a;border:1px solid #d8dde3;border-radius:2px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 18px 42px rgba(25,29,36,.12)}
.pv2-head{height:8.1%;display:flex;align-items:center;justify-content:space-between;gap:6cqw}.pv2-identity{width:48%;height:100%;display:flex;align-items:center}.pv2-logo{display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}.pv2-company-name{max-width:100%;font-size:4.1cqw;line-height:1.05;letter-spacing:-.03em}.pv2-title{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.pv2-title strong{font-size:6.2cqw;line-height:1;font-weight:800;letter-spacing:.02em}.pv2-title span{margin-top:1cqw;color:#b98a3d;font-size:2.5cqw;font-weight:800}.pv2-rule{height:.42cqw;margin:3.1cqw 0 4cqw;background:#14253a}
.pv2-parties{display:grid;grid-template-columns:1fr 1fr;gap:4cqw}.pv2-parties section{height:20.9cqw;overflow:hidden;border:.22cqw solid #d8dde3;background:#f7f8fa}.pv2-parties h4{height:5.5cqw;margin:0;padding:0 2.7cqw;display:flex;align-items:center;background:#14253a;color:#fff;font-size:2.05cqw;letter-spacing:.025em}.pv2-parties section>div{padding:2.25cqw 2.7cqw}.pv2-parties p{margin:0 0 .65cqw;color:#617083;font-size:1.85cqw;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv2-parties p.primary{color:#14253a;font-weight:700}
.pv2-meta{height:8.8cqw;display:grid;grid-template-columns:1fr 1fr 1.12fr;align-items:center;gap:2cqw}.pv2-meta div{min-width:0;display:flex;flex-direction:column;gap:.45cqw}.pv2-meta span{color:#617083;font-size:1.55cqw;font-weight:700;letter-spacing:.025em}.pv2-meta strong{font-size:1.9cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pv2-table{min-height:22cqw}.pv2-table-head,.pv2-row{display:grid;grid-template-columns:minmax(0,1fr) 10% 18% 20%;align-items:center}.pv2-table-head{height:6.25cqw;padding:0 2.7cqw;background:#14253a;color:#fff}.pv2-table-head span{font-size:1.65cqw;font-weight:800;letter-spacing:.03em}.pv2-table-head span:not(:first-child){text-align:right}.pv2-table-body{padding:0 2.7cqw}.pv2-row{min-height:5.7cqw;border-bottom:.18cqw solid #d8dde3}.pv2-row span,.pv2-row strong{font-size:1.72cqw;line-height:1.15}.pv2-row span:first-child{padding-right:1.5cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv2-row span:not(:first-child),.pv2-row strong{text-align:right}.pv2-empty,.pv2-more{padding:2.1cqw 0;color:#617083;font-size:1.75cqw}.pv2-more{padding:.8cqw 0}
.pv2-totals{width:38%;margin:2cqw 0 0 auto}.pv2-totals p{display:flex;justify-content:space-between;gap:1cqw;margin:0;padding:.8cqw 0;color:#617083;font-size:1.65cqw}.pv2-totals p:nth-child(2){padding-bottom:1.5cqw;border-bottom:.3cqw solid #14253a}.pv2-totals p:last-child{align-items:baseline;color:#14253a;font-size:2.7cqw;font-weight:800}.pv2-totals p:last-child strong{font-size:3.1cqw}.pv2-totals strong{color:#14253a;white-space:nowrap}
.pv2-verification{position:absolute;left:7.8%;right:7.8%;bottom:6.7%;height:14.9%;padding:2.7cqw 3.4cqw;display:flex;align-items:center;justify-content:space-between;gap:3cqw;border:.22cqw solid #d8dde3;background:#f8f9fb}.pv2-verification>div{min-width:0}.pv2-verification strong{display:block;font-size:1.65cqw;line-height:1.25}.pv2-verification p{max-height:4.1cqw;margin:1.1cqw 0 .7cqw;overflow:hidden;color:#617083;font-size:1.42cqw;line-height:1.35}.pv2-verification small{display:block;color:#7b8593;font-size:1.2cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv2-qr{--qr-size:25;width:13.8cqw;height:13.8cqw;flex:0 0 13.8cqw;padding:.85cqw;display:grid;grid-template-columns:repeat(var(--qr-size),1fr);grid-template-rows:repeat(var(--qr-size),1fr);background:#fff;box-shadow:0 0 0 .15cqw #d8dde3}.pv2-qr i{display:block;background:transparent}.pv2-qr i.on{background:#111}.pv2-foot{position:absolute;left:7.8%;right:7.8%;bottom:2.4%;color:#617083;text-align:center;font-size:1.2cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv2-foot span{padding:0 .7cqw}
html[data-theme="dark"] .invoice-preview.preview-v2{background:#fff;color:#14253a}html[data-theme="dark"] .preview-v2 p,html[data-theme="dark"] .preview-v2 span,html[data-theme="dark"] .preview-v2 strong{border-color:#d8dde3}

/* v1.0.6 — reference-matched invoice and document footers */
.document-footer-settings{display:grid;grid-template-columns:minmax(190px,.38fr) 1fr;gap:1.4rem;margin-top:1.5rem;padding:1.25rem;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.document-footer-settings .form-section-title{margin:0 0 .35rem}.document-footer-settings label{display:flex;flex-direction:column;gap:.5rem;color:var(--ink-2);font-size:.76rem;font-weight:750}.document-footer-settings textarea{width:100%;min-height:100px;resize:vertical;padding:.8rem .9rem;border:1px solid var(--line);border-radius:9px;background:var(--control);color:var(--ink)}
.invoice-preview.preview-v3{position:sticky;top:82px;width:100%;min-height:0;aspect-ratio:612/792;padding:6.9% 7.8%;overflow:hidden;container-type:inline-size;background:#fff;color:#071d36;border:1px solid #d8e0e8;border-radius:2px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 18px 42px rgba(25,29,36,.12)}
.pv3-brand{height:11.8cqw;display:flex;align-items:center;justify-content:center}.pv3-logo{display:block;max-width:58%;max-height:100%;object-fit:contain}.pv3-company-name{font-size:4.7cqw;letter-spacing:.03em}.pv3-rule{height:.36cqw;margin:3.3cqw 0 2.4cqw;background:#071d36}.pv3-dochead{height:9cqw;display:grid;grid-template-columns:1fr 23% 15%;align-items:center;border-bottom:.18cqw solid #d8e0e8}.pv3-dochead>strong{font-size:5cqw;line-height:1}.pv3-dochead>div{display:flex;flex-direction:column;align-items:flex-end;gap:.3cqw}.pv3-dochead span{color:#667791;font-size:1.45cqw;font-weight:800}.pv3-dochead b{font-size:1.8cqw}
.pv3-client{margin-top:3.2cqw;overflow:hidden;border:.2cqw solid #d8e0e8;border-radius:2.6cqw}.pv3-client header{height:8.2cqw;padding:0 3cqw;display:flex;flex-direction:column;justify-content:center;background:#f1f5f9}.pv3-client header span,.pv3-client p span{color:#667791;font-size:1.55cqw;font-weight:800}.pv3-client header strong{margin-top:.55cqw;font-size:2.4cqw}.pv3-client>div{height:11.5cqw;display:grid;grid-template-columns:1fr 1fr 1fr 1fr}.pv3-client p{min-width:0;margin:0;padding:2.2cqw 2.6cqw;border-right:.18cqw solid #d8e0e8;display:flex;flex-direction:column;gap:.6cqw}.pv3-client p:last-child{border-right:0}.pv3-client p b{font-size:1.8cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pv3-table{margin-top:3.3cqw;border-top:.38cqw solid #071d36}.pv3-table-head,.pv3-row{display:grid;grid-template-columns:minmax(0,1fr) 9% 18% 18%;align-items:center}.pv3-table-head{height:5.8cqw;padding:0 2.2cqw;background:#f1f5f9}.pv3-table-head span{font-size:1.55cqw;font-weight:800}.pv3-table-head span:not(:first-child){text-align:right}.pv3-row{min-height:5.7cqw;padding:0 2.2cqw;border-bottom:.18cqw solid #d8e0e8}.pv3-row span,.pv3-row b{font-size:1.65cqw}.pv3-row span:first-child{padding-right:1.5cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv3-row span:not(:first-child),.pv3-row b{text-align:right}.pv3-empty,.pv3-more{padding:2.2cqw;color:#8a9ab0;font-size:1.65cqw}.pv3-more{padding:.8cqw 2.2cqw}
.pv3-total{width:47%;margin:3.2cqw 0 0 auto;padding:2.1cqw 0 0;border-top:.42cqw solid #071d36;display:flex;justify-content:flex-end;align-items:baseline;gap:1.6cqw}.pv3-total span{font-size:2.8cqw;font-weight:800}.pv3-total strong{font-size:3.1cqw}.pv3-notes{margin-top:3cqw;padding:2.1cqw 2.6cqw;border-left:.45cqw solid #071d36;background:#f1f5f9}.pv3-notes strong{font-size:1.55cqw}.pv3-notes p{margin:.65cqw 0;color:#071d36;font-size:1.55cqw;line-height:1.25}.pv3-notes small{color:#667791;font-size:1.25cqw}
.pv3-verification{position:absolute;left:7.8%;right:7.8%;bottom:8.2%;height:13%;padding:2.6cqw 3.6cqw;display:flex;align-items:center;justify-content:space-between;gap:3cqw;border:.2cqw solid #d8e0e8;border-radius:1.2cqw}.pv3-verification>div{min-width:0}.pv3-verification strong{display:block;max-width:62cqw;font-size:1.5cqw;line-height:1.25}.pv3-verification small{display:block;margin-top:1cqw;color:#667791;font-size:1.2cqw}.pv3-verification .pv2-qr{width:12.5cqw;height:12.5cqw;flex-basis:12.5cqw}.pv3-footer{position:absolute;left:7.8%;right:7.8%;bottom:2.2%;padding-top:1.5cqw;border-top:.35cqw solid #071d36;text-align:center}.pv3-footer div{max-height:4.5cqw;overflow:hidden;color:#667791;font-size:1.18cqw;line-height:1.35;white-space:pre-line}
html[data-theme="dark"] .invoice-preview.preview-v3{background:#fff;color:#071d36}
@media(max-width:700px){.document-footer-settings{grid-template-columns:1fr}}

/* v1.0.6 — archived records remain available without entering active totals */
.archived-row{opacity:.62}
.archived-row td{background:color-mix(in srgb,var(--panel) 84%,var(--muted) 16%)}
.archived-row strong:not(.money){text-decoration:line-through;text-decoration-thickness:1px}

/* v1.0.8 — accounting blue design system */
:root{--ink:#102a43;--ink-2:#334e68;--paper:#eef3f8;--card:#ffffff;--line:#d4dee9;--muted:#6b7f93;--green:#2f6fa3;--mint:#e5f1fb;--rose:#fae9e7;--red:#b5544c;--amber:#c09143;--amber-soft:#fbf1df;--blue:#356fa5;--sidebar:#0b2239;--sidebar-deep:#071a2c;--sidebar-text:#e5edf5;--sidebar-muted:#8fa7bd;--control:#ffffff;--soft:#e9eff5;--surface:#ffffff;--forest:#102a43;--teal:#2f6fa3;--lime:#b8d4eb;--topbar:rgba(238,243,248,.93);--table-line:#e2e9f0;--shadow:0 18px 50px rgba(16,42,67,.1)}
html[data-theme="dark"]{--ink:#edf5fc;--ink-2:#c6d7e7;--paper:#081727;--card:#10263a;--line:#29455e;--muted:#90a8bc;--green:#72aee0;--mint:#173c5b;--rose:#492d2d;--red:#f0a19a;--amber:#dfb86f;--amber-soft:#3f3525;--blue:#8fc0ea;--sidebar:#071727;--sidebar-deep:#04111e;--sidebar-text:#e7f1fa;--sidebar-muted:#8ea8be;--control:#152d42;--soft:#1b354b;--surface:#10263a;--forest:#0b2033;--teal:#72aee0;--lime:#8fc0ea;--topbar:rgba(8,23,39,.93);--table-line:#233e55;--shadow:0 18px 55px rgba(0,0,0,.34)}
.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-deep))}.nav-item.active{box-shadow:inset 3px 0 #62a7d9;background:rgba(98,167,217,.13)}.nav-item b{background:#d8e8f5;color:#123451}.avatar{background:#d8e8f5;color:#123451}.btn-primary{background:#163a5c;box-shadow:0 8px 20px rgba(16,42,67,.18)}.btn-primary:hover{background:#22567f}.eyebrow,.status-dot,.link-button,.form-section-title{color:#2f6fa3}.positive{color:#21758a}.income-dot,.bar.income{background:#2f82a0}.quick-icon.mint,.kpi-icon{background:#e4f1f7;color:#24748e}.kpi-invoice .kpi-icon,.quick-icon.blue{background:#e4ecf8;color:#356fa5}.tabs button.active{color:#2f6fa3;border-color:#2f6fa3}.summary-strip{background:#123b5d}.summary-strip.invoice-summary{background:#183f63}.summary-strip.expenses{background:#523536}.filter-row input:focus,.filter-row select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#6ba2cd;box-shadow:0 0 0 3px rgba(47,111,163,.12)}
html[data-theme="dark"] .btn-primary{background:#6da9d7;color:#071827}html[data-theme="dark"] .btn-primary:hover{background:#82b9e2}html[data-theme="dark"] .toast{background:#72aee0;color:#071827}html[data-theme="dark"] .login-copy{background:linear-gradient(145deg,#0b2841,#061522)}html[data-theme="dark"] .summary-strip{background:#143b59}html[data-theme="dark"] .summary-strip.invoice-summary{background:#173c5b}

/* Financial report: readable cards without horizontal scrolling */
.report-controls{padding:1.15rem;border-color:#cedae6;box-shadow:0 12px 30px rgba(16,42,67,.055)}.report-mode-tabs{background:#e6edf4;border-color:#cfdae5}.report-mode-tabs button.active{color:#163a5c;box-shadow:0 4px 14px rgba(16,42,67,.1)}.report-filter-fields input,.report-filter-fields select{background:var(--control)}
.report-summary{gap:1rem}.report-stat{min-height:138px;padding:1.15rem;border-color:#d3deE9;box-shadow:0 8px 24px rgba(16,42,67,.055)}.report-stat:before{top:0;bottom:0;width:4px;height:auto;background:#2f82a0}.report-stat.expense:before{background:#bd655d}.report-stat.net:before{background:#c09143}.report-stat.documents:before{background:#4e78b8}.report-stat>span{font-size:.62rem;color:#62788d}.report-stat strong{font-size:1.62rem;color:#102a43}.report-stat small{font-size:.68rem}.report-ledger{overflow:visible;border:0;background:transparent;box-shadow:none}.report-ledger .table-wrap{overflow:visible}.report-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.report-entry-card{position:relative;width:100%;min-width:0;padding:1.05rem 1.1rem 1rem 1.3rem;overflow:hidden;border:1px solid #d2dde8;border-radius:15px;background:var(--card);color:var(--ink);text-align:left;box-shadow:0 8px 24px rgba(16,42,67,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.report-entry-card:hover{transform:translateY(-2px);border-color:#8eb4d2;box-shadow:0 14px 34px rgba(16,42,67,.11)}.report-entry-card:focus-visible{outline:3px solid rgba(47,111,163,.25)}.report-entry-accent{position:absolute;inset:0 auto 0 0;width:4px;background:#2f82a0}.report-entry-card.expense .report-entry-accent{background:#bd655d}.report-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.report-entry-head>span{display:flex;align-items:center;gap:.6rem}.report-entry-head time{color:var(--muted);font-size:.7rem;font-weight:700}.report-entry-amount{font-size:1.25rem;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.report-entry-main{display:grid;grid-template-columns:.75fr 1.25fr;gap:1rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--table-line)}.report-entry-main>span,.report-entry-meta>span{min-width:0;display:flex;flex-direction:column;gap:.25rem}.report-entry-main small,.report-entry-meta small,.report-entry-notes small{color:#71869a;font-size:.55rem;font-weight:800;letter-spacing:.09em}.report-entry-main strong{overflow-wrap:anywhere;font-size:.82rem}.report-entry-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:.9rem;color:var(--ink-2);font-size:.7rem}.report-entry-meta>span{overflow-wrap:anywhere}.report-entry-notes{display:block;margin-top:.9rem;padding:.7rem .8rem;border-radius:9px;background:var(--soft);color:var(--muted);font-size:.68rem;line-height:1.45;overflow-wrap:anywhere}.report-entry-notes small{display:block;margin-bottom:.25rem}.report-entry-open{display:flex;justify-content:flex-end;align-items:center;gap:.35rem;margin-top:.85rem;color:#2f6fa3;font-size:.67rem;font-weight:800}.report-entry-open b{font-size:.9rem}.report-period-total{display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:1.5rem;margin-top:1rem;padding:1rem 1.15rem;border:1px solid #cbd8e4;border-radius:13px;background:#e8eff6;color:#102a43}.report-period-total>span{font-weight:800}.report-period-total p{margin:0;display:flex;flex-direction:column;gap:.2rem;text-align:right}.report-period-total b{font-size:.52rem;letter-spacing:.08em;color:#6a7e91}.report-period-total strong{font-size:.92rem;font-variant-numeric:tabular-nums}.record-detail{padding-top:.7rem}.record-detail-value{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-radius:12px;background:#e8f1f8;color:#123b5d}.record-detail.expense .record-detail-value{background:#faecea;color:#713b37}.record-detail-value span{font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.record-detail-value strong{font-size:1.6rem}.record-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:1rem 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.record-detail dl>div{padding:.8rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.record-detail dl>div:nth-child(even){border-right:0}.record-detail dt{color:var(--muted);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.record-detail dd{margin:.25rem 0 0;color:var(--ink);font-size:.78rem;font-weight:650;overflow-wrap:anywhere}
html[data-theme="dark"] .report-stat strong{color:var(--ink)}html[data-theme="dark"] .report-entry-card{border-color:var(--line);background:var(--card)}html[data-theme="dark"] .report-period-total{border-color:#31516a;background:#17354d;color:var(--ink)}html[data-theme="dark"] .record-detail-value{background:#173d5c;color:#dcecf8}html[data-theme="dark"] .record-detail.expense .record-detail-value{background:#4a2d2d;color:#f4d8d5}

/* Invoice preview: a scaled, faithful copy of the v1.0.4 Letter PDF */
.invoice-preview.preview-v104{position:sticky;top:82px;width:100%;min-height:0;aspect-ratio:612/792;padding:7.8%;overflow:hidden;container-type:inline-size;background:#fff;color:#14253a;border:1px solid #d8dde3;border-radius:2px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 18px 42px rgba(25,29,36,.13)}
.pv104-head{height:8.6cqw;display:flex;align-items:center;justify-content:space-between;gap:5cqw}.pv104-brand{width:48%;height:100%;display:flex;align-items:center}.pv104-logo{display:block;max-width:100%;max-height:100%;object-fit:contain;object-position:left center}.pv104-company-name{font-size:3.5cqw;line-height:1.05}.pv104-title{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.pv104-title strong{font-size:5.1cqw;line-height:1;font-weight:800;letter-spacing:.015em}.pv104-title span{margin-top:1cqw;color:#b98a3d;font-size:2.05cqw;font-weight:800}.pv104-rule{height:.4cqw;margin:3cqw 0 4cqw;background:#14253a}
.pv104-parties{display:grid;grid-template-columns:1fr 1fr;gap:4cqw}.pv104-parties section{height:21.2cqw;overflow:hidden;border:.2cqw solid #d8dde3;background:#f7f8fa}.pv104-parties h4{height:5.6cqw;margin:0;padding:0 2.6cqw;display:flex;align-items:center;background:#14253a;color:#fff;font-size:1.9cqw;letter-spacing:.02em}.pv104-parties section>div{padding:2.1cqw 2.6cqw}.pv104-parties p{margin:0 0 .55cqw;color:#617083;font-size:1.68cqw;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv104-parties p.primary{color:#14253a;font-weight:700}
.pv104-meta{height:9.5cqw;display:grid;grid-template-columns:1fr 1fr 1.2fr;align-items:center;gap:2cqw}.pv104-meta div{min-width:0;display:flex;flex-direction:column;gap:.45cqw}.pv104-meta span{color:#617083;font-size:1.42cqw;font-weight:800}.pv104-meta strong{font-size:1.72cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv104-meta div:last-child{text-align:right}
.pv104-table{min-height:22cqw}.pv104-table-head,.pv104-row{display:grid;grid-template-columns:minmax(0,1fr) 10% 18% 20%;align-items:center}.pv104-table-head{height:6.4cqw;padding:0 2.6cqw;background:#14253a;color:#fff}.pv104-table-head span{font-size:1.48cqw;font-weight:800}.pv104-table-head span:not(:first-child){text-align:right}.pv104-table-body{padding:0 2.6cqw}.pv104-row{min-height:5.8cqw;border-bottom:.17cqw solid #d8dde3}.pv104-row span,.pv104-row strong{font-size:1.55cqw;line-height:1.18}.pv104-row span:first-child{padding-right:1.4cqw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv104-row span:not(:first-child),.pv104-row strong{text-align:right}.pv104-empty,.pv104-more{padding:2.1cqw 0;color:#617083;font-size:1.58cqw}.pv104-more{padding:.8cqw 0}
.pv104-totals{width:39%;margin:2cqw 0 0 auto}.pv104-totals p{display:flex;justify-content:space-between;gap:1cqw;margin:0;padding:.7cqw 0;color:#617083;font-size:1.5cqw}.pv104-totals p:nth-child(2){padding-bottom:1.45cqw;border-bottom:.3cqw solid #14253a}.pv104-totals p:last-child{align-items:baseline;color:#14253a;font-size:2.45cqw;font-weight:800}.pv104-totals p:last-child strong{font-size:2.75cqw}.pv104-totals strong{color:#14253a;white-space:nowrap}
.pv104-verification{position:absolute;left:7.8%;right:7.8%;bottom:6.5%;height:15%;padding:2.6cqw 3.3cqw;display:flex;align-items:center;justify-content:space-between;gap:3cqw;border:.2cqw solid #d8dde3;background:#f8f9fb}.pv104-verification>div{min-width:0}.pv104-verification strong{display:block;font-size:1.48cqw;line-height:1.25}.pv104-verification p{max-height:4cqw;margin:1cqw 0 .7cqw;overflow:hidden;color:#617083;font-size:1.32cqw;line-height:1.35}.pv104-verification small{display:block;color:#7b8593;font-size:1.15cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv104-verification .pv2-qr{width:13.8cqw;height:13.8cqw;flex-basis:13.8cqw}.pv104-foot{position:absolute;left:7.8%;right:7.8%;bottom:2.2%;display:flex;justify-content:center;gap:.8cqw;color:#617083;text-align:center;font-size:1.15cqw}.pv104-foot b{font-weight:400}
html[data-theme="dark"] .invoice-preview.preview-v104{background:#fff;color:#14253a}html[data-theme="dark"] .preview-v104 p,html[data-theme="dark"] .preview-v104 span,html[data-theme="dark"] .preview-v104 strong{border-color:#d8dde3}
.archived-row td{background:var(--soft)}
@media(max-width:1100px){.report-records{grid-template-columns:1fr}.report-entry-meta{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.report-period-total{grid-template-columns:1fr 1fr;gap:.8rem}.report-period-total>span{grid-column:1/-1}.report-period-total p{text-align:left}.record-detail dl{grid-template-columns:1fr}.record-detail dl>div{border-right:0}.report-entry-main,.report-entry-meta{grid-template-columns:1fr}.report-entry-head{align-items:center}.report-entry-amount{font-size:1.05rem}}

/* v1.0.9 — wider invoice workspace, locale-aware dates and visible item totals */
.modal.invoice-modal{width:min(1460px,98vw);max-height:96vh}
.invoice-modal>header{padding:1.05rem 1.75rem}
.invoice-modal #modalBody{padding:0 1.75rem 1.75rem}
.invoice-builder{grid-template-columns:minmax(0,1.7fr) minmax(390px,.8fr);gap:1.6rem}
.invoice-builder>div:first-child{min-width:0;padding-right:1.6rem}
.invoice-core-fields{gap:.2rem 1.15rem}
.invoice-core-fields input{min-height:50px;font-variant-numeric:tabular-nums}
.invoice-core-fields input[type="date"]{color-scheme:light}
.invoice-item{min-width:0;overflow:hidden}
.invoice-item-fields{grid-template-columns:minmax(260px,1fr) minmax(76px,92px) minmax(112px,140px) minmax(138px,165px);gap:.85rem;padding:1.05rem;align-items:end}
.item-service-field{min-width:0}
.invoice-item input,.invoice-item select{min-height:48px}
.item-line-total{min-width:0;min-height:72px;height:auto;padding:.85rem 1rem;align-items:flex-start;justify-content:center;background:linear-gradient(145deg,#e9f1f8,#dce8f3);border:1px solid #9db8d0;color:#173a59;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.item-line-total span{color:#456986;font-size:.59rem;letter-spacing:.12em}
.item-line-total strong{width:100%;overflow:hidden;color:#102f4a;font-size:1.08rem;line-height:1.15;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.invoice-totals{border:1px solid #c7d7e5;background:linear-gradient(145deg,var(--card),var(--soft))}
.invoice-totals p strong{font-variant-numeric:tabular-nums}
.invoice-totals .grand-total{color:#123b5d}
.invoice-preview.preview-v104{min-width:0}
html[data-theme="dark"] .invoice-core-fields input[type="date"]{color-scheme:dark}
html[data-theme="dark"] .item-line-total{background:linear-gradient(145deg,#173b58,#102e46);border-color:#426784}
html[data-theme="dark"] .item-line-total span{color:#9cc4e2}
html[data-theme="dark"] .item-line-total strong{color:#edf7ff}
html[data-theme="dark"] .invoice-totals .grand-total{color:var(--ink)}
@media(max-width:1180px){.modal.invoice-modal{width:min(1040px,98vw)}.invoice-builder{grid-template-columns:1fr}.invoice-builder>div:first-child{padding-right:0;border-right:0}.invoice-preview.preview-v104{position:relative;top:auto;display:block;width:min(590px,100%);margin:1.4rem auto 0}}
@media(max-width:760px){.invoice-modal>header{padding:1rem}.invoice-modal #modalBody{padding:0 1rem 1rem}.invoice-item-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.item-service-field,.item-line-total{grid-column:1/-1}.item-line-total{min-height:68px}.invoice-preview.preview-v104{display:none}}

/* v1.1.0 — administration, user roles and CPA report-only workspace */
.signed-user em{margin-top:3px;color:#8fa9c0;font-size:.52rem;font-style:normal;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.security-actions,.report-heading-actions{display:flex;align-items:center;gap:.65rem}
body.role-cpa #mainNav .nav-label,body.role-cpa #mainNav .nav-item:not([data-view="reports"]),body.role-cpa #quickInvoice{display:none!important}
body.role-cpa #mainNav{padding-top:1rem}
body.role-cpa #mainNav .nav-item[data-view="reports"]{display:flex}
.users-content{max-width:1500px}
.access-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.access-role-grid article{display:flex;gap:1rem;align-items:flex-start;padding:1.15rem;border:1px solid var(--line);border-radius:15px;background:var(--card);box-shadow:0 8px 25px rgba(16,42,67,.045)}
.access-role-grid strong{display:block;font-size:.86rem}.access-role-grid p{margin:.35rem 0 0;color:var(--muted);font-size:.7rem;line-height:1.55}
.role-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 46px;border-radius:13px;background:#dce9f3;color:#204d70;font-size:.72rem;font-weight:900}.role-icon.cpa{background:#e7e5f0;color:#555d87;font-size:.62rem}
.users-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,.7fr);gap:1rem;align-items:start}
.users-list-card,.user-form-card{padding:1.25rem}.user-form-card{position:sticky;top:108px}.user-form-card>h3,.password-reset-form h3{margin:.1rem 0 1rem;font-size:1.25rem}.user-form-card form{display:flex;flex-direction:column;gap:.8rem}.user-form-card label{display:flex;flex-direction:column;gap:.4rem;color:var(--ink-2);font-size:.7rem;font-weight:800}.user-form-card input,.user-form-card select{width:100%;min-height:46px;padding:.72rem .8rem;border:1px solid var(--line);border-radius:9px;background:var(--control);color:var(--ink)}.field-help{margin-top:-.35rem;color:var(--muted);font-size:.62rem;line-height:1.45}.password-reset-form{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.user-cards{display:grid;gap:.75rem}.user-access-card{display:grid;grid-template-columns:auto minmax(170px,1fr) auto auto auto;gap:.8rem;align-items:center;padding:.9rem;border:1px solid var(--line);border-radius:13px;background:var(--card)}.user-access-card.inactive{opacity:.68;background:var(--soft)}
.user-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#dce8f2;color:#214a68;font-size:.68rem;font-weight:900}.user-identity{min-width:0;display:flex;flex-direction:column}.user-identity strong,.user-identity span,.user-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-identity strong{font-size:.76rem}.user-identity span{color:var(--muted);font-size:.66rem}.user-identity small{margin-top:.25rem;color:#82909d;font-size:.55rem}
.role-badge,.account-status{padding:.35rem .55rem;border-radius:20px;font-size:.56rem;font-weight:900;white-space:nowrap}.role-badge.admin{color:#214f70;background:#dceaf4}.role-badge.cpa{color:#5b5d83;background:#e9e7f2}.account-status.active{color:#25654f;background:#dff0e8}.account-status.inactive{color:#8a4b45;background:#f4e5e2}.user-card-actions{display:flex;gap:.4rem}.user-card-actions form{margin:0}.user-card-actions .btn{padding:.52rem .65rem;font-size:.6rem}
html[data-theme="dark"] .role-icon.admin,html[data-theme="dark"] .user-avatar,html[data-theme="dark"] .role-badge.admin{color:#b9d9ef;background:#173a54}html[data-theme="dark"] .role-icon.cpa,html[data-theme="dark"] .role-badge.cpa{color:#d4d4ee;background:#33364c}html[data-theme="dark"] .account-status.active{color:#b9e5d2;background:#214538}html[data-theme="dark"] .account-status.inactive{color:#efc0ba;background:#4a2d2b}
@media(max-width:1120px){.users-layout{grid-template-columns:1fr}.user-form-card{position:relative;top:auto}.user-access-card{grid-template-columns:auto 1fr auto auto}.user-card-actions{grid-column:2/-1;justify-content:flex-end}}
@media(max-width:720px){.access-role-grid{grid-template-columns:1fr}.report-heading-actions,.security-actions{width:100%;flex-direction:column;align-items:stretch}.user-access-card{grid-template-columns:auto 1fr}.role-badge,.account-status{justify-self:start}.user-card-actions{grid-column:1/-1;justify-content:stretch}.user-card-actions .btn{flex:1}.users-content .section-heading{flex-direction:column}.users-content .section-heading>.btn{width:100%}}
@media print{body>*{display:none!important}body>#app{display:block!important}.sidebar,.topbar,.report-controls,.report-heading-actions,.disclaimer,.modal-backdrop,.toast{display:none!important}.main-content{margin:0!important}.content{max-width:none!important;padding:0!important}.content>.view{display:none!important}#view-reports{display:block!important}.section-heading{margin-bottom:14px}.report-summary{grid-template-columns:repeat(4,1fr)!important}.report-stat,.report-entry-card{break-inside:avoid;box-shadow:none!important}.report-records{grid-template-columns:1fr 1fr!important}.report-entry-open{display:none}.report-period-total{break-inside:avoid}body{background:#fff!important;color:#111!important}}
