:root{--ink:#16233a;--muted:#6b7a90;--muted-strong:#56657b;--line:#e6e9f2;--brand:#0f508c;--brand-dark:#0c3d6b;--aqua:#22c7b8;--paper:#fff;--panel:#f4f8fa;--danger:#dc3e48;--soft-blue:#edf6fb;--bg:#f3f5f9;--card-radius:16px;--card-shadow:0 1px 2px #10213d0a, 0 12px 32px #10213d0f}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app-shell{grid-template-columns:minmax(340px,430px) minmax(700px,1fr);gap:24px;min-height:100vh;padding:24px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.controls{align-self:start;gap:20px;max-height:calc(100vh - 48px);padding:22px;display:grid;position:sticky;top:24px;overflow:auto}.control-head{border-bottom:1px solid var(--line);gap:18px;padding-bottom:18px;display:grid}.control-head img{width:148px;height:auto}.eyebrow{color:var(--brand-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{color:#103f66;margin-bottom:9px;font-size:34px;line-height:1.05}.lede{color:var(--muted);margin-bottom:0;line-height:1.45}.quick-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-stats div{background:linear-gradient(#fff 0%,#f7fbfd 100%);border:1px solid #0f508c1a;border-radius:8px;gap:6px;min-height:72px;padding:14px;display:grid}.quick-stats span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:800}.quick-stats strong{color:var(--brand);word-break:break-word;align-self:end;font-size:14px}.invoice-manager{background:#fff;border:1px solid #0f508c1a;border-radius:8px;gap:12px;padding:14px;display:grid}.manager-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.manager-head h2{letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:13px}.manager-head p{color:var(--muted);margin:0;font-size:12px}.new-invoice-btn{color:#fff;background:var(--brand);cursor:pointer;border:0;border-radius:999px;min-height:34px;padding:8px 14px;font-size:12px;font-weight:900}.invoice-list{gap:8px;max-height:190px;display:grid;overflow:auto}.primary-action,.ghost-action,.danger-action{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:40px;padding:9px 18px;font-size:13px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.primary-action{border:1px solid var(--brand);color:#fff;background:var(--brand);box-shadow:0 6px 16px #0f508c38}.primary-action:hover{background:var(--brand-dark)}.ghost-action{border:1px solid var(--line);color:var(--ink);background:#fff}.ghost-action:hover{border-color:#0f508c59}.danger-action{color:#b51f2b;background:#fff5f6;border:1px solid #dc3e4840}.form-error{color:#b51f2b;margin:0;font-size:13px;font-weight:800}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0a182673;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--paper,#fff);border-radius:14px;width:min(100%,380px);padding:24px;box-shadow:0 26px 70px #0f508c47}.modal-card h3{margin:0 0 8px;font-size:18px}.modal-card p{color:#4a5a66;margin:0 0 20px;font-size:14px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.delete-confirm-row{gap:8px;margin-bottom:12px;display:flex}.delete-confirm-row input{color:var(--muted);background:#f9fafc}.danger-action:disabled{opacity:.5;cursor:not-allowed}.app-layout{grid-template-columns:240px minmax(0,1fr);min-height:100dvh;display:grid}.app-sidebar{border-right:1px solid var(--line);background:var(--paper);flex-direction:column;gap:20px;height:100dvh;padding:22px 16px;display:flex;position:sticky;top:0}.app-sidebar-logo{width:128px;height:auto;margin:2px 8px 4px}.sidebar-create{width:100%;box-shadow:none}.app-nav{gap:2px;display:grid}.app-nav-label{color:var(--muted);margin:0 0 6px;padding:0 10px;font-size:12px;font-weight:600}.app-nav-item{min-height:38px;color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.app-nav-item svg{width:18px;height:18px;color:var(--muted)}.app-nav-item:hover{background:var(--bg)}.app-nav-item.is-active{color:var(--brand);background:var(--soft-blue);font-weight:600}.app-nav-item.is-active svg{color:var(--brand)}.app-sidebar-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:16px}.app-sidebar-foot .ghost-action{width:100%}.app-main{min-width:0;padding:32px 36px 48px}.dash{gap:24px;max-width:1280px;margin:0 auto;display:grid}.dash-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dash-head h1{color:var(--ink);letter-spacing:-.01em;margin:0 0 4px;font-size:26px;font-weight:700}.dash-head p{color:var(--muted-strong);margin:0;font-size:14px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.kpi{border:1px solid var(--line);background:var(--paper);border-radius:12px;gap:6px;padding:18px 20px;display:grid}.kpi span{color:var(--muted-strong);font-size:13px;font-weight:500}.kpi strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;overflow-wrap:anywhere;font-size:22px;font-weight:700}.kpi small{color:var(--muted-strong);font-size:12px}.kpi-alert{background:snow;border-color:#f5c2c6}.kpi-alert strong{color:#b42330}.dash-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.dash-tabs{border-bottom:1px solid var(--line);gap:4px;padding:0 12px;display:flex;overflow-x:auto}.dash-tab{min-height:46px;color:var(--muted-strong);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:0 10px;font-size:14px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.dash-tab:hover{color:var(--ink)}.dash-tab.is-active{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}.dash-tab-count{min-width:22px;color:var(--muted-strong);background:var(--bg);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;padding:1px 7px;font-size:12px}.dash-tab.is-active .dash-tab-count{color:var(--brand);background:var(--soft-blue)}.dash-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.dash-search{flex:260px;max-width:380px;display:block;position:relative}.dash-search svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.dash-search input,.dash-select select{border-radius:8px;min-height:38px;font-size:14px}.dash-search input{padding-left:34px}.dash-select{display:block}.dash-select select{cursor:pointer;min-width:150px}.dash-result-count{color:var(--muted-strong);font-variant-numeric:tabular-nums;margin:0 0 0 auto;font-size:13px}.dash-clear{min-height:38px}.dash-table-wrap{overflow-x:auto}.dash-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.dash-table th,.dash-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap;padding:12px 16px}.dash-table th{color:var(--muted-strong);background:#fafbfd;padding-top:10px;padding-bottom:10px;font-size:12px;font-weight:600}.dash-table tbody tr{cursor:pointer;transition:background .12s}.dash-table tbody tr:hover td{background:#f8fafd}.dash-table tbody tr:last-child td{border-bottom:0}.dash-table .is-num{text-align:right}.sort-btn{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.sort-btn span{color:#a9b4c4;font-size:11px}.sort-btn:hover,.sort-btn.is-active{color:var(--ink)}.sort-btn.is-active span{color:var(--brand)}.is-num .sort-btn{flex-direction:row-reverse}.dash-num{color:var(--brand);font-weight:600}.dash-num:hover{text-decoration:underline}.dash-client{color:var(--ink);font-weight:500}.dash-sub{color:var(--muted-strong);margin-top:2px;font-size:12px;display:block}.dash-sub.is-overdue{color:#b42330;font-weight:600}.dash-owed{color:var(--ink);font-weight:600}.dash-settled{color:var(--muted-strong)}.dash-actions{text-align:right;width:1%}.row-action{border:1px solid var(--line);min-height:30px;color:var(--ink);background:var(--paper);border-radius:7px;align-items:center;padding:4px 12px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s;display:inline-flex}.row-action:hover{border-color:var(--brand);color:var(--brand)}.pill{border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.pill-paid{color:#05603a;background:#e7f7ef}.pill-partial{color:#1d4f91;background:#e8f0fb}.pill-unpaid{color:#8a3b00;background:#fdf0e4}.pill-due{color:#7a4d00;background:#fdf4dc}.pill-overdue{color:#a01f2b;background:#fde8ea}.pill-draft{color:#475467;background:#eef1f5}.dash-empty{text-align:center;justify-items:center;gap:8px;padding:64px 24px;display:grid}.dash-empty h2{margin:0;font-size:16px}.dash-empty p{color:var(--muted-strong);margin:0 0 8px;font-size:14px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:1100px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:860px){.app-layout{grid-template-columns:1fr}.app-sidebar{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;height:auto;padding:12px 16px;position:static}.app-sidebar-logo{width:104px;margin:0}.app-sidebar>a:first-child{margin-right:auto}.sidebar-create,.app-nav-label{display:none}.app-nav{order:3;gap:4px;width:100%;display:flex}.app-nav-item{flex:1;justify-content:center}.app-sidebar-foot{border:0;margin:0;padding:0}.app-main{padding:20px 16px 40px}.dash-result-count{margin-left:0}}@media (max-width:640px){.kpi-grid{gap:10px}.kpi{padding:14px}.kpi strong{font-size:17px}.dash-search{max-width:none}.dash-table thead{display:none}.dash-table,.dash-table tbody,.dash-table tr,.dash-table td{display:block}.dash-table tr{border-bottom:1px solid var(--line);padding:12px 16px}.dash-table td{white-space:normal;text-align:right;border:0;grid-template-columns:auto 1fr;place-items:start end;column-gap:12px;padding:4px 0;display:grid}.dash-table td:before{content:attr(data-label);color:var(--muted-strong);text-align:left;grid-row:span 3;justify-self:start;font-size:12px}.dash-table td>*{grid-column:2}.dash-table td.dash-actions{width:auto;padding-top:8px}}.next-app-shell{align-content:start;gap:18px;min-height:100vh;padding:22px;display:grid}.editor-topbar{z-index:10;border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 20px;display:grid;position:sticky;top:0}.editor-topbar img{aspect-ratio:4816/1190;object-fit:contain;justify-self:center;width:auto;max-width:142px;height:auto;max-height:38px}.link-action{width:100%}.editor-workspace{grid-template-columns:minmax(420px,520px) minmax(0,1fr);gap:22px;min-width:0;display:grid}.editor-workspace>.editor-topbar{grid-column:1/-1}.editor-panel{align-self:start;gap:10px;max-height:calc(100vh - 118px);padding:14px 16px;display:grid;position:sticky;top:96px;overflow:auto}.editor-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.editor-title-row h1{letter-spacing:-.01em;font-size:20px;font-weight:800}.editor-actions{flex-wrap:wrap;gap:8px;display:flex}.line-items-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.line-items-head button,.line-item-editor button{border:1px solid var(--brand);min-height:32px;color:var(--brand);cursor:pointer;background:#fff;border-radius:999px;font-size:12px;font-weight:900}.line-item-table{border:1px solid var(--line);background:#fff;border-radius:12px;display:grid;overflow:hidden}.line-item-header,.line-item-editor{grid-template-columns:2.4fr 100px 74px;align-items:stretch;gap:0;display:grid}.line-item-header{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid var(--line);background:#f9fafc;font-size:11px;font-weight:800}.line-item-header span,.line-item-editor textarea,.line-item-editor input,.line-item-editor button{border:0;border-radius:0}.line-item-header span{padding:12px 14px}.line-item-editor textarea,.line-item-editor input{background:#fff;min-height:64px;padding:14px;font-size:14px}.line-item-editor button{color:#b51f2b;background:#fff;min-height:100%;font-weight:700}.line-item-editor:not(:last-child){border-bottom:1px solid var(--line)}.invoice-list-empty{color:var(--muted);margin:0;font-size:12px}.saved-invoice{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#f8fbfd;border-radius:8px;grid-template-columns:1fr auto;gap:8px;padding:10px;display:grid}.saved-invoice:hover,.saved-invoice.is-active{background:var(--soft-blue);border-color:#0f508c61}.saved-invoice strong,.saved-invoice span{display:block}.saved-invoice strong{color:var(--brand);margin-bottom:3px;font-size:13px}.saved-invoice span{color:var(--muted);font-size:12px}.saved-invoice em{color:var(--ink);align-self:center;font-size:12px;font-style:normal;font-weight:900}.form-grid,.field-group{gap:8px;display:grid}.form-grid{grid-template-columns:1fr 1fr}.span-2{grid-column:1/-1}.field-group{border-top:1px solid var(--line);background:#f9fafc;border-radius:10px;padding:12px 14px}.field-group h2{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;margin:0 0 2px;font-size:12px;font-weight:800}label{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.discount-combo{grid-template-columns:1fr 90px;gap:6px;display:grid}input,textarea,select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;outline:none;padding:7px 9px;font-size:13px}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}textarea{resize:vertical}a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #0f508c1f}.preview-wrap{align-content:start;gap:14px;min-width:0;display:grid;position:sticky;top:96px}.preview-head{justify-content:space-between;align-items:center;gap:18px;padding:0 2px;display:flex}.preview-head h2{color:#103f66;margin:0;font-size:22px}.invoice-preview-frame{background:#e9f2f6;border:1px solid #0f508c1a;border-radius:8px;place-items:start center;width:100%;max-height:calc(100vh - 130px);padding:14px;display:grid;overflow:auto}.toolbar{justify-content:flex-end;gap:10px;display:flex}.toolbar button,.invoice-actions button{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.toolbar button{border:1px solid var(--brand-dark);min-height:38px;padding:8px 17px;font-size:12px}.toolbar .ghost{color:var(--brand-dark);background:0 0}.toolbar .primary{color:#fff;background:var(--brand);box-shadow:0 10px 20px #0f508c2e}.invoice-sheet{background:var(--paper);border:1px solid var(--line);width:min(100%,980px);min-height:790px;box-shadow:var(--card-shadow);zoom:.58;border-radius:12px;margin:0 auto;padding:28px 42px 38px;position:relative;overflow:hidden}.toast{z-index:30;color:#0f6e54;background:#f0fff9;border:1px solid #15966f38;border-radius:10px;min-width:190px;padding:13px 16px;font-size:13px;font-weight:900;position:fixed;top:22px;right:22px;box-shadow:0 18px 38px #0f508c29}.invoice-accent{background:linear-gradient(90deg, var(--brand) 0%, var(--brand) 72%, #1e9bff 72%, #1e9bff 100%);height:6px;position:absolute;inset:0 0 auto}.invoice-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.invoice-top p{margin:0;font-size:18px}.invoice-chip{color:#fff;background:var(--danger);border-radius:999px;justify-content:center;align-items:center;min-width:82px;min-height:30px;padding:6px 14px;font-size:12px;font-weight:900;display:inline-flex}.invoice-chip.status-partial{background:#2f6fb2}.invoice-chip.status-due{background:#d18a21}.invoice-chip.status-draft{background:#687d8a}.invoice-title{text-align:center;letter-spacing:.02em;margin:16px 0 8px;font-size:22px}.brand-row,.meta-row{grid-template-columns:minmax(0,1fr) minmax(270px,340px);align-items:start;gap:30px;display:grid}.brand-row{min-height:0;margin-top:8px}.brand-logo{object-fit:contain;width:min(250px,32vw);height:auto;margin-top:0;display:block}address{font-style:normal}.company-address{text-align:right;gap:3px;padding-top:12px;font-size:14px;line-height:1.25;display:grid}.company-address strong{color:var(--brand);font-size:18px}.rule{background:var(--line);height:1px;margin:18px 0}.meta-row{margin-bottom:30px}.bill-to{overflow-wrap:anywhere;gap:4px;font-size:14px;display:grid}.invoice-card{border:1px solid var(--line);background:#f9fafc;border-radius:12px;min-height:124px;padding:18px}.card-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:900}.bill-to strong{color:var(--brand)}.invoice-meta{gap:8px;margin:0;font-size:14px;display:grid}.invoice-meta div{grid-template-columns:minmax(128px,1fr) 12px minmax(90px,1fr);align-items:center;display:grid}.invoice-meta div:after{content:none}.invoice-meta dt{font-weight:900}.invoice-meta dt:after{content:":";float:right;padding-right:4px}.invoice-meta dd{text-align:right;grid-column:3;margin:0}.status-pill{color:#fff;background:var(--danger);border-radius:9px;justify-content:center;align-items:center;min-width:74px;min-height:28px;padding:5px 14px;font-weight:900;line-height:1;display:inline-flex}.status-paid{background:#15966f}.status-due{background:#d18a21}.status-draft{background:#687d8a}.items{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.items th{color:var(--muted);border-bottom:1px solid var(--line);text-align:left;letter-spacing:.06em;text-transform:uppercase;background:0 0;padding:10px 4px;font-size:11px;font-weight:800}.items td{border-bottom:1px solid var(--line);padding:16px 4px}.items th:last-child,.items td:last-child{text-align:right;white-space:nowrap}.totals{background:0 0;gap:0;width:330px;margin:18px 0 0 auto;font-size:14px;display:grid}.totals div{color:var(--muted);justify-content:space-between;gap:18px;padding:10px 4px;display:flex}.totals div strong{color:var(--ink);font-weight:700}.totals .grand{border-top:1.5px solid var(--ink);color:var(--ink);margin-top:6px;padding-top:14px;font-weight:800}.totals .grand strong{color:var(--brand);font-size:17px}.totals .balance{border-top-color:var(--brand);background:#f2f8fd}.section-hint{color:var(--muted);margin:5px 0 0;font-size:12px;font-weight:700}.payment-list{gap:12px;display:grid}.payment-editor{border:1px solid var(--line);background:#fbfdff;border-radius:12px;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:14px;display:grid}.payment-editor .span-2{grid-column:span 2}.payment-editor button{min-height:42px;color:var(--danger);background:#fff7f8;border:1px solid #dc3e483d;border-radius:10px;align-self:end;font-weight:900}.empty-payment{color:var(--muted);background:#fbfdff;border:1px dashed #bdd0df;border-radius:12px;padding:18px;font-weight:800}.payment-summary{margin-top:22px}.payment-summary h3{color:var(--ink);margin:0 0 10px;font-size:15px}.payment-summary table{border-collapse:collapse;width:100%;font-size:12px}.payment-summary th,.payment-summary td{border-bottom:1px solid var(--line);text-align:left;padding:9px 4px}.payment-summary th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:900}.payment-summary th:last-child,.payment-summary td:last-child{text-align:right}.invoice-actions{justify-content:flex-end;gap:10px;margin-top:32px;display:flex}.invoice-actions button{color:#fff;background:var(--brand);border:0;min-height:34px;padding:9px 18px;font-size:12px;box-shadow:0 8px 18px #0f508c29}footer{border-top:1px solid var(--line);color:#b8c7cf;text-align:center;margin-top:64px;padding-top:12px;font-size:13px}@media (max-width:1100px){.app-shell{grid-template-columns:1fr}.controls,.editor-panel{max-height:none;position:static}.preview-wrap{position:static}.next-app-shell,.editor-workspace{grid-template-columns:1fr}}@media (max-width:760px){.app-shell,.next-app-shell{padding:12px}.preview-head,.editor-topbar{align-items:stretch}.editor-topbar{flex-direction:column}.editor-topbar img{order:-1}.line-item-header{display:none}.line-item-editor,.payment-editor{grid-template-columns:1fr}.payment-editor .span-2{grid-column:auto}.line-item-editor textarea,.line-item-editor input,.line-item-editor button{border-right:0;border-bottom:1px solid var(--line)}.invoice-preview-frame{max-height:none;padding:10px}.form-grid,.brand-row,.meta-row{grid-template-columns:1fr}.invoice-sheet{min-height:auto;padding:18px}.company-address,.invoice-title{text-align:left}.invoice-meta div{grid-template-columns:1fr;gap:2px}.invoice-meta dt:after{content:""}.invoice-meta dd{text-align:left;grid-column:auto}.brand-logo{width:min(220px,78vw);margin-top:0}.totals{width:100%}}@media print{@page{size:A4 portrait;margin:0}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}.controls,.preview-head,.editor-topbar,.editor-panel{display:none}.app-shell,.next-app-shell,.editor-workspace{min-height:auto;padding:0;display:block}.preview-wrap{gap:0;position:static}.invoice-preview-frame{background:0 0;border:0;border-radius:0;max-height:none;padding:0;display:block;overflow:visible}.invoice-sheet{width:210mm;height:297mm;min-height:0;box-shadow:none;zoom:1;border:0;border-radius:0;margin:0;padding:9mm 16mm 7mm;font-size:13px;overflow:hidden;transform:none}.invoice-accent{height:2mm}.invoice-top{justify-content:space-between;align-items:center;display:flex}.invoice-title{text-align:center;margin:6mm 0 3mm}.brand-row,.meta-row{grid-template-columns:1fr 100mm;align-items:start;gap:12mm;display:grid}.brand-row{min-height:20mm;margin-top:2mm}.brand-logo{width:56mm;margin-top:2mm}.company-address{text-align:right;padding-top:2mm}.rule{margin:3mm 0}.meta-row{margin-bottom:4mm}.invoice-card{min-height:22mm;padding:3mm 4mm}.invoice-meta div{grid-template-columns:46mm 4mm 1fr}.invoice-meta dt:after{content:":";float:right;padding-right:1mm}.invoice-meta dd{text-align:right;grid-column:3}.items{width:100%}.items td{padding:2.5mm 3mm}.totals{width:88mm;margin:3mm 0 0 auto}.totals div{padding:2mm 4.5mm}.invoice-actions{display:none}footer{margin-top:0;position:absolute;bottom:8mm;left:18mm;right:18mm}}.icon-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:8px;place-items:center;transition:border-color .15s;display:inline-grid}.icon-btn:hover{border-color:var(--brand)}.icon-btn svg{width:18px;height:18px}.danger-text{color:#b42330}.danger-text:hover{border-color:#b4233066}.primary-action:disabled,.ghost-action:disabled{opacity:.55;cursor:not-allowed}.field-hint{color:var(--muted-strong);font-size:12px;font-weight:400}.req{color:#b42330}.muted{color:var(--muted)}.toast.is-error{color:#a01f2b;background:#fff5f6;border-color:#b4233040}.breadcrumb{color:var(--muted-strong);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb a,.crumb-link{color:var(--muted-strong);cursor:pointer;font:inherit;background:0 0;border:0;padding:0}.breadcrumb a:hover,.crumb-link:hover{color:var(--brand);text-decoration:underline}.breadcrumb [aria-current=page]{color:var(--ink);font-weight:600}.avatar{width:34px;height:34px;color:var(--brand);background:var(--soft-blue);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.avatar-lg{border-radius:12px;width:52px;height:52px;font-size:18px}.client-cell{align-items:center;gap:12px;display:flex}.dash-client.is-link:hover{color:var(--brand);text-decoration:underline}.chip-toggle{border:1px solid var(--line);min-height:38px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.chip-toggle.is-on{border-color:var(--brand);color:var(--brand);background:var(--soft-blue)}.head-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-head{align-items:center}.profile-title{align-items:center;gap:16px;display:flex}.profile-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.profile-main .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(min(170px,40%),1fr))}.profile-side{gap:16px;display:grid;position:sticky;top:24px}.side-card{padding:18px 20px}.side-card h2{margin:0 0 14px;font-size:14px;font-weight:600}.detail-list{gap:14px;margin:0;display:grid}.detail-list dt{color:var(--muted-strong);margin-bottom:2px;font-size:12px}.detail-list dd{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:14px}.detail-list a{color:var(--brand)}.side-notes{white-space:pre-line;margin:0;font-size:14px;line-height:1.5}.side-hint{color:var(--muted-strong);margin:0 0 12px;font-size:13px;line-height:1.5}.sheet-overlay{z-index:100;background:#0a182666;justify-content:flex-end;animation:.2s ease-out sheet-fade;display:flex;position:fixed;inset:0}.sheet{background:var(--paper);flex-direction:column;width:min(100%,520px);height:100dvh;animation:.24s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex;box-shadow:-20px 0 60px #0f28462e}.sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px;display:flex}.sheet-head h2{margin:0 0 4px;font-size:18px}.sheet-head p{color:var(--muted-strong);margin:0;font-size:13px}.sheet-body{flex:1;align-content:start;gap:24px;padding:20px 24px;display:grid;overflow-y:auto}.sheet-section{border:0;grid-template-columns:1fr 1fr;gap:14px;margin:0;padding:0;display:grid}.sheet-section legend{color:var(--ink);margin-bottom:12px;padding:0;font-size:13px;font-weight:600}.sheet-section label,.sheet-section label input,.sheet-section label textarea{font-size:13px}.sheet-section label{color:var(--muted-strong);font-weight:500}.sheet-section input,.sheet-section textarea{border-radius:8px;min-height:40px;padding:9px 11px}.sheet-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:16px 24px;display:flex}.sheet-foot .form-error{margin-right:auto}@keyframes sheet-in{0%{transform:translate(100%)}}@keyframes sheet-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-overlay{animation:none}*{transition:none!important}}.app-layout>.next-app-shell{min-width:0;min-height:100dvh}.editor-topbar{flex-wrap:wrap;justify-content:space-between;display:flex}.editor-crumbs{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.save-state{color:var(--muted-strong);font-size:12px}.save-state.is-dirty{color:#8a3b00;font-weight:600}.editor-panel .lede a{color:var(--brand)}@media (max-width:1100px){.profile-grid{grid-template-columns:1fr}.profile-side{position:static}}@media (max-width:640px){.sheet-section{grid-template-columns:1fr}.profile-head{flex-direction:column;align-items:flex-start}.dash-head{flex-wrap:wrap}}.profile-main .kpi strong{font-size:18px}.profile-main .dash-table th,.profile-main .dash-table td{padding-left:12px;padding-right:12px}.auth-shell{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;min-height:100dvh;padding:16px;display:grid}.auth-form-side{flex-direction:column;padding:16px 24px;display:flex}.auth-logo{width:132px;height:auto}.auth-form-wrap{gap:28px;width:100%;max-width:380px;margin:auto;padding:40px 0;display:grid}.auth-heading h1{color:var(--ink);letter-spacing:-.02em;margin:0 0 8px;font-size:30px;font-weight:700;line-height:1.15}.auth-heading p{color:var(--muted-strong);margin:0;font-size:15px;line-height:1.5}.auth-form{gap:16px;display:grid}.auth-error{color:#a01f2b;background:#fff5f6;border:1px solid #f5c2c6;border-radius:10px;align-items:flex-start;gap:10px;padding:11px 14px;font-size:14px;line-height:1.4;display:flex}.auth-error svg{flex:none;width:18px;height:18px;margin-top:1px}.auth-field{color:var(--ink);gap:6px;font-size:14px;font-weight:600;display:grid}.auth-input{display:block;position:relative}.auth-input input{border-radius:10px;min-height:46px;padding:11px 48px 11px 14px;font-size:15px;font-weight:400}.auth-input input[aria-invalid=true]{border-color:#e3707a}.auth-toggle{width:38px;height:38px;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-toggle:hover{color:var(--ink);background:var(--bg)}.auth-toggle svg{width:19px;height:19px}.auth-submit{gap:10px;min-height:46px;font-size:15px}.spinner{opacity:.85;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite spin}.primary-action,.ghost-action,.danger-action{gap:8px}[aria-busy=true]{cursor:progress!important}@keyframes spin{to{transform:rotate(360deg)}}.auth-foot{color:var(--muted-strong);justify-content:center;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.auth-foot svg{width:15px;height:15px}.auth-showcase{color:#fff;background:linear-gradient(#071a30b8 0%,#071a3047 42%,#071a30c7 100%),url(/login-bg.jpg) 50%/cover no-repeat,#0b3a66;border-radius:20px;flex-direction:column;justify-content:center;gap:56px;padding:56px;display:flex;position:relative;overflow:hidden}.showcase-copy{max-width:460px;position:relative}.showcase-kicker{color:#ffffffbf;margin:0 0 12px;font-size:13px;font-weight:600}.showcase-copy h2{text-shadow:0 2px 24px #00000059;letter-spacing:-.02em;margin:0;font-size:30px;font-weight:700;line-height:1.2}.showcase-preview{max-width:520px;position:relative}.preview-window,.preview-float,.preview-chip{color:#fff;-webkit-backdrop-filter:blur(20px)saturate(150%);backdrop-filter:blur(20px)saturate(150%);background:linear-gradient(135deg,#ffffff38 0%,#ffffff14 100%);border:1px solid #ffffff47;box-shadow:0 24px 60px #030e1e59,inset 0 1px #ffffff59}.preview-window{border-radius:16px;overflow:hidden}.preview-bar{border-bottom:1px solid #ffffff29;gap:6px;padding:10px 14px;display:flex}.preview-bar span{background:#ffffff73;border-radius:50%;width:9px;height:9px}.preview-kpis{grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;display:grid}.preview-kpis div{background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.preview-kpis small{color:#ffffffc7;font-size:11px}.preview-kpis strong{font-variant-numeric:tabular-nums;font-size:14px}.preview-kpis .is-alert{background:#ff5a6929;border-color:#ff96a073}.preview-kpis .is-alert strong{color:#ffd2d6}.preview-rows{padding:0 14px 10px;display:grid}.preview-row{border-top:1px solid #ffffff24;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:10px;padding:10px 2px;font-size:12px;display:grid}.preview-num{color:#fff;font-weight:600}.preview-client{color:#ffffffc7}.preview-row .pill{font-size:11px}.preview-float{border-radius:14px;align-items:center;gap:12px;padding:12px 16px 12px 12px;animation:6s ease-in-out infinite float-y;display:flex;position:absolute;bottom:-44px;right:-20px}.preview-chip{border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;animation:7s ease-in-out -2s infinite float-y;display:flex;position:absolute;top:-18px;right:-18px}.chip-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #4ade8040}@keyframes float-y{50%{transform:translateY(-8px)}}.float-icon{color:#05603a;background:#e7f7ef;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.float-icon svg{width:16px;height:16px}.preview-float strong{font-size:13px;display:block}.preview-float small{color:#ffffffc7;font-size:12px}@media (prefers-reduced-motion:reduce){.preview-float,.preview-chip{animation:none}}@media (max-width:1100px){.auth-showcase{padding:40px}.preview-float{right:8px}}@media (max-width:900px){.auth-shell{grid-template-columns:1fr;padding:0}.auth-showcase{display:none}.auth-form-side{padding:20px}}.btn-icon{width:16px;height:16px;margin-right:6px}.attach-row{border:1px solid var(--line);cursor:pointer;background:#fafbfd;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex!important}.attach-row input{width:18px;height:18px;min-height:0;accent-color:var(--brand);margin:0}.attach-file{color:#fff;background:#c8323e;border-radius:6px;place-items:center;width:36px;height:42px;font-size:10px;font-weight:700;display:grid}.attach-row strong{color:var(--ink);font-size:13px;display:block}.attach-row small{color:var(--muted-strong);font-size:12px;font-weight:400}.sheet-foot .primary-action{gap:8px}.email-history{border:1px solid var(--line);background:#fafbfd;border-radius:10px;padding:12px 14px}.email-history h2{color:var(--ink);margin:0 0 8px;font-size:12px;font-weight:600}.email-history ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.email-history li{gap:10px;display:flex}.email-dot{background:#15966f;border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.email-history strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;display:block}.email-history small{color:var(--muted-strong);font-size:12px}.segmented{border:1px solid var(--line);background:#fff;border-radius:10px;grid-auto-flow:column;gap:4px;padding:4px;display:inline-grid}.segmented button{min-height:34px;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 14px;font-size:13px;font-weight:600}.segmented button.is-active{color:#fff;background:var(--brand)}.recurring-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.check-row{cursor:pointer;align-items:center;gap:8px;color:var(--ink)!important;font-size:13px!important;font-weight:600!important;display:flex!important}.check-row input{width:16px;height:16px;accent-color:var(--brand);margin:0}.schedule-note{color:#1d4f91;background:#e8f0fb;border-radius:8px;margin:8px 0 0;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.schedule-note a{color:inherit;margin-left:4px;text-decoration:underline}.schedule-note.is-paused{color:#475467;background:#eef1f5}.type-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.type-badge svg{width:12px;height:12px}.type-one-time{color:#475467;background:#eef1f5}.type-template{color:#fff;background:#1d4f91}.type-occurrence{color:#1d4f91;background:#e8f0fb}.kind-filter{border:1px solid var(--line);background:#fafbfd;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.kind-filter button{min-height:32px;color:var(--muted-strong);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 11px;font-size:13px;font-weight:500;display:inline-flex}.kind-filter button:hover{color:var(--ink)}.kind-filter button.is-active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 1px 2px #10213d1a}.kind-dot{border-radius:50%;width:8px;height:8px}.kind-one_time{background:#98a2b3}.kind-recurring{background:#1d4f91}.kind-count{color:var(--muted-strong);font-variant-numeric:tabular-nums;font-size:12px}@media (max-width:640px){.recurring-grid{grid-template-columns:1fr}}.pill-tone-due{color:#8a3b00;background:#fdf0e4}.pill-tone-overdue{color:#a01f2b;background:#fde8ea}.pill-tone-partial{color:#1d4f91;background:#e8f0fb}.pill-tone-paid{color:#05603a;background:#e7f7ef}.pill-tone-draft{color:#475467;background:#eef1f5}.email-history h2{align-items:center;gap:6px;display:flex}.email-line{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.email-line .pill{padding:1px 8px;font-size:11px}.email-more{margin-top:8px;font-size:12px}.email-subject-cell{max-width:320px;white-space:normal!important}@media (max-width:860px){.app-nav-item{padding:8px 6px;font-size:13px}}.dash-table tbody tr.is-static{cursor:default}.skeleton{background:linear-gradient(90deg,#eceff4 0%,#f6f8fb 40%,#eceff4 80%) 0 0/200% 100%;border-radius:8px;animation:1.2s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-title{width:220px;height:30px}.skeleton-sub{width:320px;height:14px;margin-top:10px}.skeleton-kpi{border-radius:12px;height:92px}.skeleton-row{border-radius:0;height:44px;margin-top:1px}.skeleton-panel{border-radius:12px;height:560px}.skeleton-card{border:1px solid var(--line);background:var(--paper);border-radius:12px;overflow:hidden}.skeleton-toolbar{border-bottom:1px solid var(--line);border-radius:0;height:58px}.skeleton-editor{grid-template-columns:minmax(380px,480px) minmax(0,1fr);gap:22px;display:grid}.page-loading-label{color:var(--muted-strong);align-items:center;gap:8px;font-size:13px;display:inline-flex}@media (max-width:1100px){.skeleton-editor{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.skeleton,.spinner{animation-duration:2.4s}}
