.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-root)}.app-shell.app-shell--workspace{height:100vh;max-height:100vh;min-height:0;overflow:hidden}.app-header{position:relative;flex-shrink:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--header-h);padding:0 16px;background:var(--bg-header);color:#f4f5f7;border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 4px 24px #0003}.app-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-bright) 50%,var(--gold) 80%,transparent);opacity:.55;pointer-events:none}.app-brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em}.app-crown{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--gold-dim);color:var(--gold-bright);font-size:1rem;line-height:1}.app-nav{display:flex;gap:4px;padding:4px;background:#ffffff0a;border-radius:999px;border:1px solid rgba(255,255,255,.06)}.app-nav a{color:#ffffffa6;text-decoration:none;padding:8px 16px;border-radius:999px;font-weight:600;font-size:.8125rem;letter-spacing:.02em;transition:color .2s var(--ease-out),background .2s var(--ease-out)}.app-nav a:hover{color:#fff;background:#ffffff14}.app-nav a.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px #00000026}.app-main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:28px 20px 48px}.app-main.app-main--records,.app-main.app-main--settings{max-width:none;padding:24px 20px 40px}.app-main.app-main--workspace{flex:1;min-height:0;max-width:none;margin:0;padding:0;display:flex;flex-direction:column;overflow:hidden}.app-main.app-main--workspace>.create-workspace{flex:1;min-height:0}@media (max-width: 768px){.app-main{padding:16px 12px 32px}.app-main.app-main--records{padding:12px 10px 24px}}@media (max-width: 640px){.app-brand span:last-child{font-size:.9rem}.app-nav{max-width:min(100%,220px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav a{padding:8px 10px;font-size:.6875rem;white-space:nowrap}}.invoice-sheet{position:relative;width:210mm;max-width:794px;min-height:297mm;margin:0 auto;padding:10mm 12mm 12mm;background:#fff;color:#1a1a1a;font-family:"Source Sans 3",Segoe UI,sans-serif;font-size:9.5pt;line-height:1.35;box-sizing:border-box;border:1px solid #ccc;overflow:visible}.inv-watermark-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.inv-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;height:300px;max-width:68%;max-height:52%;background-size:contain;background-repeat:no-repeat;background-position:center;opacity:.08}.invoice-sheet.invoice-sheet--pdf-export{width:794px!important;max-width:794px!important;min-height:0!important;margin:0!important;border:none!important;box-shadow:none!important}.invoice-sheet.invoice-sheet--pdf-export .inv-watermark{width:260px;height:280px;max-width:260px;max-height:280px;opacity:.08}.invoice-sheet.invoice-sheet--pdf-export .inv-brand-logo{max-height:88px;max-width:320px;width:auto;height:auto}.inv-sheet-content{position:relative;z-index:1}.inv-brand-logo{display:block;max-height:104px;max-width:400px;width:auto;height:auto;object-fit:contain}.inv-top-bar{display:flex;justify-content:space-between;align-items:center;font-size:8pt;font-weight:600;letter-spacing:.02em;border-bottom:2px solid #1a1a1a;padding-bottom:4px;margin-bottom:8px}.inv-top-title{font-family:Libre Baskerville,Georgia,serif;font-size:11pt}.inv-brand-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.inv-logo-block{display:flex;align-items:center;gap:8px}.inv-crown{font-size:28pt;color:#8b6914;line-height:1}.inv-logo-kinga{font-family:Libre Baskerville,Georgia,serif;font-size:22pt;font-weight:700;letter-spacing:.08em;line-height:1}.inv-logo-groups{font-size:11pt;letter-spacing:.35em;font-weight:600}.inv-recipient-stamp{border:2px solid #333;padding:6px 12px;font-weight:700;font-size:9pt;text-align:center}.inv-company-name{font-family:Libre Baskerville,Georgia,serif;font-size:14pt;margin:4px 0;text-align:center;letter-spacing:.04em}.inv-tagline{text-align:center;font-weight:700;font-size:9pt;margin:0 0 4px}.inv-company-meta{text-align:center;font-size:8.5pt;margin:0 0 10px}.inv-main-grid{border:1px solid #333}.inv-main-grid>*{margin:0}.inv-meta-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:8.5pt}.inv-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0}.inv-box{padding:6px 8px}.inv-main-grid .inv-meta-table td,.inv-main-grid .inv-lines th,.inv-main-grid .inv-lines td,.inv-main-grid .inv-totals td,.inv-main-grid .inv-footer-table td{border:none;border-bottom:1px solid #333;border-right:1px solid #333;box-sizing:border-box}.inv-main-grid .inv-meta-table td{padding:4px 6px;vertical-align:top}.inv-main-grid .inv-meta-table td:last-child,.inv-main-grid .inv-lines th:last-child,.inv-main-grid .inv-lines td:last-child,.inv-main-grid .inv-totals td:last-child,.inv-main-grid .inv-footer-table td:last-child{border-right:none}.inv-main-grid .inv-two-col .inv-box{border:none;border-right:1px solid #333;border-bottom:1px solid #333}.inv-main-grid .inv-two-col .inv-box:last-child{border-right:none}.inv-box h3{margin:0 0 4px;font-size:8.5pt;text-decoration:underline}.inv-box p{margin:0;font-size:8.5pt}.inv-reference{font-size:8pt;padding:6px}.inv-main-grid .inv-reference{border:none;border-bottom:1px solid #333}.inv-lines-stack{display:block;margin:0;padding:0;line-height:0}.inv-lines-stack table{line-height:1.35}.inv-lines,.inv-totals{width:100%;border-collapse:collapse;border-spacing:0;font-size:8.5pt;margin:0}.inv-main-grid .inv-lines th,.inv-main-grid .inv-lines td,.inv-main-grid .inv-totals td{padding:5px 6px}.inv-lines th{background:#f0f0f0;text-align:left;font-weight:700}.inv-lines .num,.inv-totals .num{text-align:right;white-space:nowrap}.inv-lines-stack .inv-lines{margin-bottom:0}.inv-lines-stack .inv-totals{width:55%;margin:-1px 0 0 auto}.inv-lines-stack .inv-totals tbody tr:first-child td{border-top:none}.inv-main-grid .inv-totals td:first-child{border-left:1px solid #333}.inv-main-grid .inv-totals tbody tr:last-child td{border-bottom:none}.inv-totals .grand td{font-weight:700;background:#f5f5f5}.inv-words{font-size:8.5pt;padding:6px 8px}.inv-main-grid .inv-words{border:none;border-top:1px solid #333;border-bottom:1px solid #333}.inv-footer-table{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;font-size:8.5pt;line-height:1.35}.inv-main-grid .inv-footer-table td{vertical-align:top;padding:6px 8px;font-size:inherit;line-height:inherit}.inv-main-grid .inv-footer-table tbody tr:first-child td{border-top:none}.inv-main-grid .inv-footer-table tbody tr:last-child td{border-bottom:none}.inv-footer-table td.inv-bank{width:38%}.inv-footer-table td.inv-declaration{width:62%}.inv-footer-table h3{margin:0 0 4px;font-size:inherit;font-weight:700;line-height:inherit}.inv-footer-table p{margin:0 0 5px;font-size:inherit;line-height:inherit;font-weight:400}.inv-footer-table p:last-child{margin-bottom:0}.inv-footer-label{font-weight:700;font-size:inherit;line-height:inherit}.inv-sign-area{margin-top:10px}.inv-sign-for,.inv-sign-caption{margin:0;font-size:inherit;line-height:inherit;font-weight:600}.inv-sign-image-wrap{position:relative;min-height:52px;margin:6px 0 4px}.inv-signature-img{position:absolute;right:0;bottom:0;display:block;max-height:56px;max-width:180px;width:auto;height:auto;object-fit:contain}.invoice-sheet.invoice-sheet--pdf-export .inv-signature-img{max-height:56px;max-width:180px}.inv-bank-lines{display:flex;flex-direction:column;gap:4px}.inv-bank-lines p{margin:0}.invoice-sheet.invoice-sheet--pdf-export .inv-footer-table{font-size:11.33px;line-height:1.35}@media (max-width: 768px){.invoice-sheet{width:100%;min-width:280px;max-width:210mm;padding:8mm 10mm 10mm;font-size:8pt}.inv-two-col{grid-template-columns:1fr}.inv-main-grid .inv-two-col .inv-box{border-right:none;border-bottom:1px solid #333}.inv-main-grid .inv-two-col .inv-box:last-child{border-bottom:1px solid #333}.inv-footer-table,.inv-footer-table tbody,.inv-footer-table tr,.inv-footer-table td{display:block;width:100%!important}.inv-footer-table tr{margin-bottom:8px}.inv-lines-stack .inv-totals{width:100%;margin-left:0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0e128c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:modal-fade .25s var(--ease-out)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--bg-surface);border-radius:var(--radius-lg);padding:28px;width:100%;max-width:480px;border:1px solid var(--border);box-shadow:var(--shadow-md),0 24px 80px #0c0e1233;animation:modal-rise .3s var(--ease-out)}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-card h2{margin:0 0 20px;font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.modal-card label{display:block;margin-bottom:14px;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-muted)}.modal-card input,.modal-card textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.9375rem;background:var(--bg-elevated);box-sizing:border-box;text-transform:none;letter-spacing:normal;font-weight:400;color:var(--ink)}.modal-card input:focus,.modal-card textarea:focus{background:var(--bg-surface);border-color:var(--accent);box-shadow:0 0 0 3px #1a5cff1f;outline:none}.modal-error{color:var(--danger);font-size:.8125rem;margin:0 0 10px;padding:10px 12px;background:#c41e3a0f;border-radius:var(--radius-sm)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 640px){.modal-backdrop{align-items:flex-end;padding:0}.modal-card{max-height:92vh;max-height:92dvh;overflow-y:auto;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 18px max(22px,env(safe-area-inset-bottom))}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.create-workspace{display:grid;grid-template-columns:400px 5px minmax(0,1fr);flex:1;min-height:0;height:100%;max-height:100%;overflow:hidden}.create-workspace>.editor-pane,.create-workspace>.pane-resizer,.create-workspace>.preview-pane{min-height:0;max-height:100%}.create-workspace--resizing{-webkit-user-select:none;user-select:none}.pane-resizer{cursor:col-resize;background:var(--border);position:relative;z-index:3;transition:background .15s var(--ease-out)}.pane-resizer:after{content:"";position:absolute;top:0;bottom:0;left:-3px;right:-3px}.pane-resizer:hover,.create-workspace--resizing .pane-resizer{background:var(--gold)}.editor-pane{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;background:var(--bg-surface);border-right:1px solid var(--border);box-shadow:4px 0 24px #0c0e120a;z-index:2}.editor-pane__head{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 12px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-surface) 100%)}.gst-toggle-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.gst-toggle-label{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.gst-toggle{position:relative;width:48px;height:28px;padding:0;border:none;border-radius:999px;background:#c5cdd6;cursor:pointer;transition:background .2s var(--ease-out)}.gst-toggle--on{background:var(--gold)}.gst-toggle__thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .2s var(--ease-out)}.gst-toggle--on .gst-toggle__thumb{transform:translate(20px)}.gst-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.line-item-grid--single{grid-template-columns:1fr}.editor-eyebrow{margin:0 0 4px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.editor-title{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.editor-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 22px 24px;scrollbar-width:thin;scrollbar-color:rgba(12,14,18,.2) transparent}.editor-scroll::-webkit-scrollbar{width:6px}.editor-scroll::-webkit-scrollbar-thumb{background:#0c0e122e;border-radius:99px}.editor-intro{margin-bottom:20px}.form-section-label{margin:8px 0 12px;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.form-section-label:not(:first-of-type){margin-top:28px;padding-top:20px;border-top:1px dashed var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:.75rem;font-weight:600;letter-spacing:.02em;color:var(--ink-muted)}.form-grid label.full{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;font-size:.875rem;padding:10px 12px;color:var(--ink);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .2s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out)}.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover{border-color:var(--border-strong)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{background:var(--bg-surface);border-color:var(--accent);box-shadow:0 0 0 3px #1a5cff1f;outline:none}.form-grid textarea{resize:vertical;min-height:72px;line-height:1.45}.line-items-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.line-items-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:12px}.line-item-card{padding:12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md)}.line-item-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.line-type-switch{display:flex;flex:1;justify-content:center;gap:4px;max-width:200px}.line-type-switch button{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:5px 8px;font-family:var(--font-ui);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-surface);color:var(--ink-muted);cursor:pointer}.line-type-switch button.active{background:var(--ink);border-color:var(--ink);color:#fff}.line-item-card__sno{font-family:var(--font-display);font-weight:700;font-size:.8125rem;color:var(--ink-muted)}.line-item-remove{border:none;background:transparent;color:var(--danger);font-size:.75rem;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px}.line-item-remove:hover:not(:disabled){background:#c41e3a14}.line-item-remove:disabled{opacity:.35;cursor:not-allowed}.line-field{display:flex;flex-direction:column;gap:6px;font-size:.75rem;font-weight:600;color:var(--ink-muted);margin-bottom:10px}.line-field.full{width:100%}.line-field input,.line-field textarea{font:inherit;font-size:.875rem;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--ink)}.line-field input:focus,.line-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a5cff1f;outline:none}.line-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.line-field--computed input{background:var(--bg-elevated);color:var(--ink);font-weight:600;cursor:default}.line-field.full.line-field--computed,.line-item-grid .line-field{margin-bottom:0}.editor-footer{flex-shrink:0;padding:14px 18px 18px;border-top:1px solid var(--border);background:var(--bg-surface);box-shadow:0 -8px 24px #0c0e120a}.summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.summary-strip--simple{grid-template-columns:1fr 1fr}.summary-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border)}.summary-item--total{background:var(--gold-dim);border-color:#c9a22740}.summary-key{font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.summary-val{font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.summary-item--total .summary-val{color:#6b4f0a}.action-row{display:flex;flex-wrap:wrap;gap:8px}.action-row .btn{flex:1 1 auto;min-width:0}.action-row .btn.ghost{flex:0 0 auto}.status-msg{margin:12px 0 0;padding:10px 12px;font-size:.8125rem;line-height:1.4;color:var(--success);background:#0d7a4514;border-radius:var(--radius-sm);border:1px solid rgba(13,122,69,.15)}.preview-pane{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;min-width:0;background:var(--bg-preview);background-image:radial-gradient(circle at 1px 1px,rgba(12,14,18,.07) 1px,transparent 0);background-size:20px 20px}.preview-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.preview-toolbar__left{display:flex;align-items:center;gap:10px;min-width:0}.preview-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-faint)}.preview-dot--live{background:#22c55e;box-shadow:0 0 0 3px #22c55e40;animation:preview-pulse 2.5s ease-in-out infinite}@keyframes preview-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion: reduce){.preview-dot--live{animation:none}}.preview-toolbar__title{font-weight:700;font-size:.8125rem;letter-spacing:.02em;color:var(--ink)}.preview-toolbar__meta{font-size:.75rem;color:var(--ink-muted);padding:4px 10px;background:var(--bg-elevated);border-radius:999px;border:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.preview-zoom{display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px}.zoom-btn{width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-surface);color:var(--ink);font-size:1.1rem;font-weight:600;line-height:1;cursor:pointer;transition:background .15s var(--ease-out)}.zoom-btn:hover:not(:disabled){background:#fff;box-shadow:var(--shadow-sm)}.zoom-btn:disabled{opacity:.35;cursor:not-allowed}.zoom-btn--text{width:auto;padding:0 12px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.zoom-label{min-width:44px;text-align:center;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.preview-canvas{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:32px 24px 48px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.4) transparent}.preview-canvas::-webkit-scrollbar{width:10px;height:10px}.preview-canvas::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:99px;border:2px solid transparent;background-clip:padding-box}.preview-paper-wrap{width:fit-content;margin:0 auto;padding:4px;border-radius:2px;background:linear-gradient(145deg,#ffffff80,#ffffff1a)}.preview-paper-wrap .invoice-sheet{box-shadow:var(--shadow-paper);border:none}.mobile-workspace-tabs{display:none}@media (max-width: 768px){.mobile-workspace-tabs{display:flex;flex-shrink:0;gap:6px;padding:8px 12px;background:var(--bg-surface);border-bottom:1px solid var(--border)}.mobile-workspace-tabs button{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:var(--font-ui);font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-elevated);color:var(--ink-muted);cursor:pointer}.mobile-workspace-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.create-workspace{display:block!important;flex:1;min-height:0;height:calc(100vh - var(--header-h) - var(--mobile-tabs-h));max-height:calc(100vh - var(--header-h) - var(--mobile-tabs-h));overflow:hidden}.pane-resizer,.create-workspace--pane-edit .preview-pane,.create-workspace--pane-preview .editor-pane{display:none!important}.editor-pane,.preview-pane{height:100%;max-height:100%;border-right:none}.editor-pane__head{padding:14px 16px 10px}.editor-title{font-size:1.15rem}.editor-scroll{padding:12px 16px 20px}.editor-footer{padding:12px 14px 14px;padding-bottom:max(14px,env(safe-area-inset-bottom))}.action-row{flex-direction:column}.action-row .btn{width:100%;flex:none}.preview-toolbar{flex-wrap:wrap;padding:10px 12px;gap:8px}.preview-toolbar__meta{max-width:120px}.preview-zoom{width:100%;justify-content:center}.preview-canvas{padding:16px 10px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}.preview-paper-wrap{transform-origin:top center}}@media (max-width: 520px){.form-grid,.summary-strip,.line-item-grid{grid-template-columns:1fr}.line-items-toolbar{flex-direction:column}.line-items-toolbar .btn{width:100%}}.records-page{width:100%;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.records-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 32px;background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-elevated) 100%)}.records-eyebrow{margin:0 0 6px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.records-hero h1{margin:0 0 8px;font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1.1}.records-hero__actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.records-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:88px;padding:12px 16px;border-radius:var(--radius-md);background:var(--gold-dim);border:1px solid rgba(201,162,39,.28)}.records-stat__value{font-family:var(--font-display);font-size:1.5rem;font-weight:800;line-height:1;color:#6b4f0a}.records-stat__label{margin-top:4px;font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted)}.records-loading{padding:32px;text-align:center;color:var(--ink-muted)}.records-loading__bar{height:3px;width:120px;margin:0 auto 16px;border-radius:99px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:records-shimmer 1.2s ease-in-out infinite}@keyframes records-shimmer{0%{opacity:.4;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}to{opacity:.4;transform:scaleX(.6)}}@media (prefers-reduced-motion: reduce){.records-loading__bar{animation:none}}.records-error{padding:16px 20px;color:var(--danger);background:#c41e3a0f;border-color:#c41e3a26}.records-table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto;max-height:calc(100vh - var(--header-h) - 220px)}.records-table{width:100%;border-collapse:collapse;font-size:.8125rem}.records-table th,.records-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.records-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-elevated);font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap}.records-table tbody tr{transition:background .15s var(--ease-out)}.records-table tbody tr:hover td{background:#1a5cff0a}.records-table tbody tr:last-child td{border-bottom:none}.records-id{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.records-muted{color:var(--ink-faint);font-size:.75rem;white-space:nowrap}.records-invoice{font-weight:600;font-family:var(--font-ui);font-size:.8125rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--ink);white-space:nowrap}.records-client{display:block;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-trade{display:block;font-size:.75rem;color:var(--ink-muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-platform{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-elevated);border:1px solid var(--border)}.records-table .num{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.records-status{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.records-status--paid{background:#0d7a451f;color:var(--success)}.records-status--unpaid{background:#c41e3a1a;color:var(--danger)}.records-status--partial{background:#c9a22726;color:#6b4f0a}.records-pdf-link{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-weight:600;font-size:.75rem;text-decoration:none;background:var(--bg-elevated);border:1px solid var(--border);transition:background .15s var(--ease-out)}.records-pdf-link:hover{background:#fff;box-shadow:var(--shadow-sm)}.records-empty{text-align:center;padding:56px 24px!important}.records-empty__title{margin:0 0 8px;font-family:var(--font-display);font-size:1.125rem;font-weight:700;color:var(--ink)}.btn-link{background:transparent;border:1px solid var(--border-strong);color:var(--ink);font-weight:600;cursor:pointer;padding:6px 14px;border-radius:999px;font-size:.75rem;transition:background .15s var(--ease-out),border-color .15s var(--ease-out)}.btn-link:hover{background:var(--ink);border-color:var(--ink);color:#fff}@media (max-width: 768px){.records-page{gap:12px}.records-hero{flex-direction:column;padding:20px 16px}.records-hero h1{font-size:1.5rem}.records-hero__actions{width:100%;justify-content:space-between}.records-hero__actions .btn{flex:1}.table-wrap{max-height:none;overflow:visible}}@media (max-width: 640px){.records-table thead{display:none}.records-table,.records-table tbody,.records-table tr,.records-table td{display:block;width:100%}.records-table tr{margin-bottom:12px;padding:4px 0 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);overflow:hidden}.records-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);text-align:right;white-space:normal}.records-table td:last-child{border-bottom:none}.records-table td:before{content:attr(data-label);font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:left;flex-shrink:0}.records-table td.records-empty{display:block;text-align:center}.records-table td.records-empty:before{display:none}.records-client,.records-trade{max-width:none;text-align:right}.records-actions{justify-content:flex-end}.records-actions:before{align-self:center}.records-invoice{font-size:.875rem}}.settings-page{display:flex;flex-direction:column;gap:20px;max-width:720px;margin:0 auto;padding:0 0 36px}.settings-page__head{padding:24px 28px}.settings-page h1{margin:0 0 8px;font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.settings-section{padding:24px 28px}.settings-section h2{margin:0 0 6px;font-size:1.125rem}.settings-subhead{margin:24px 0 12px;font-size:.8125rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.settings-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.settings-form-grid label.full{grid-column:1 / -1}.settings-page label{display:block;font-weight:600;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:16px 0 8px}.settings-page input,.settings-page textarea{display:block;width:100%;margin-top:0;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.9375rem;background:var(--bg-elevated);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out);box-sizing:border-box;text-transform:none;letter-spacing:normal;font-weight:400;color:var(--ink)}.settings-page input:focus,.settings-page textarea:focus{background:var(--bg-surface);border-color:var(--accent);box-shadow:0 0 0 3px #1a5cff1f;outline:none}.settings-logo-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:8px}.settings-logo-field{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-elevated)}.settings-logo-field .field-label{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.settings-logo-preview{max-height:64px;max-width:100%;object-fit:contain;align-self:flex-start}.settings-logo-preview--signature{max-height:72px;object-fit:contain;object-position:left bottom}.settings-logo-preview--fade{opacity:.35}.btn-sm{padding:8px 12px;font-size:.75rem}.settings-page .hint.small{margin-top:20px;font-size:.8125rem}.settings-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.saved-msg{color:var(--success);margin-top:14px;font-size:.875rem}.error-msg{color:var(--danger);margin-top:14px;font-size:.875rem;line-height:1.5}.deploy-help{margin-top:20px;padding:14px 16px;background:var(--gold-dim);border-radius:var(--radius-md);border:1px solid rgba(201,162,39,.22);font-size:.8125rem;line-height:1.55;color:#4a3d12}@media (max-width: 640px){.settings-page__head,.settings-section{padding:18px 16px}.settings-page h1{font-size:1.4rem}.settings-form-grid,.settings-logo-row{grid-template-columns:1fr}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}}:root{--bg-root: #eceef2;--bg-surface: #ffffff;--bg-elevated: #f7f8fa;--bg-preview: #c8ccd4;--bg-header: #0c0e12;--ink: #12151a;--ink-muted: #5c6572;--ink-faint: #8b95a3;--border: rgba(12, 14, 18, .1);--border-strong: rgba(12, 14, 18, .16);--gold: #c9a227;--gold-bright: #e4bc3d;--gold-dim: rgba(201, 162, 39, .14);--accent: #1a5cff;--accent-hover: #1248d4;--success: #0d7a45;--danger: #c41e3a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(12, 14, 18, .06);--shadow-md: 0 8px 30px rgba(12, 14, 18, .08);--shadow-paper: 0 2px 4px rgba(0, 0, 0, .06), 0 24px 48px rgba(12, 14, 18, .14);--font-ui: "DM Sans", system-ui, sans-serif;--font-display: "Syne", var(--font-ui);--header-h: 56px;--mobile-tabs-h: 0px;--ease-out: cubic-bezier(.22, 1, .36, 1)}@media (max-width: 768px){:root{--header-h: 52px;--mobile-tabs-h: 48px}}*,*:before,*:after{box-sizing:border-box}html{height:100%}html.invoice-workspace-lock,html.invoice-workspace-lock body,html.invoice-workspace-lock #root{height:100%;overflow:hidden}body{margin:0;min-height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);font-family:var(--font-ui);font-size:15px;color:var(--ink);background:var(--bg-root);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100%}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-sm);padding:10px 18px;font-family:var(--font-ui);font-weight:600;font-size:.8125rem;letter-spacing:.02em;cursor:pointer;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),transform .15s var(--ease-out),box-shadow .2s var(--ease-out)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(165deg,var(--ink) 0%,#2a3038 100%);color:#fff;box-shadow:var(--shadow-sm),inset 0 1px #ffffff14}.btn.primary:hover:not(:disabled){box-shadow:var(--shadow-md)}.btn.primary.outline{background:var(--bg-surface);color:var(--ink);border-color:var(--border-strong);box-shadow:none}.btn.primary.outline:hover:not(:disabled){border-color:var(--ink);background:var(--bg-elevated)}.btn.secondary{background:var(--bg-elevated);color:var(--ink);border-color:var(--border)}.btn.secondary:hover:not(:disabled){background:#eef0f4;border-color:var(--border-strong)}.btn.ghost{background:transparent;color:var(--ink-muted);border-color:var(--border)}.btn.ghost:hover:not(:disabled){color:var(--ink);background:var(--bg-elevated)}.btn.accent{background:linear-gradient(165deg,var(--gold-bright) 0%,var(--gold) 100%);color:#1a1408;box-shadow:0 2px 12px #c9a22759}.btn.accent:hover:not(:disabled){filter:brightness(1.05)}body.is-resizing-pane,body.is-resizing-pane *{cursor:col-resize!important}.hint{color:var(--ink-muted);font-size:.875rem;line-height:1.55;margin:0}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
