.login-shell{min-height:100vh;background:var(--paper);display:grid;place-items:center;padding:48px 24px}.login-card{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:40px 36px;max-width:460px;width:100%;box-shadow:0 12px 48px -8px rgba(20,22,26,.12);display:flex;flex-direction:column;gap:18px}.login-brand{display:none}.login-logo{width:220px;height:auto;max-height:80px;object-fit:contain;align-self:flex-start;margin-bottom:4px}.login-title{font-family:var(--font-newsreader),serif;font-weight:500;font-size:28px;letter-spacing:-.015em;margin:0;line-height:1.15}.login-title em{color:var(--accent);font-style:italic}.login-lede{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.5}.login-lede b{color:var(--ink);font-weight:600}.login-warn{padding:12px 14px;background:var(--warn-soft);border:1px solid #f5d68b;border-radius:10px;font-size:12.5px;color:var(--warn);line-height:1.45}.login-meta code,.login-warn code{font-family:var(--font-jetbrains-mono),monospace;font-size:11px;background:rgba(0,0,0,.05);padding:1px 5px;border-radius:3px;color:var(--ink-2)}.login-error{padding:12px 14px;background:var(--danger-soft);border:1px solid rgba(180,35,24,.3);border-radius:10px;font-size:12.5px;color:var(--danger);line-height:1.45}.login-meta{margin:6px 0 0;padding:0 0 0 18px;font-size:11.5px;color:var(--muted);line-height:1.6}.login-meta li{margin-bottom:4px}.screen{padding:32px 36px 80px;max-width:1280px}.screen-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;flex-wrap:wrap}.screen-tag{font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-weight:600;display:block;margin-bottom:6px}.screen-title{font-family:var(--font-newsreader),serif;font-weight:500;font-size:32px;letter-spacing:-.015em;margin:0 0 6px;line-height:1.1;color:var(--ink)}.screen-title em{font-style:italic;color:var(--accent)}.screen-lede{font-size:13px;color:var(--muted);margin:0;line-height:1.5;max-width:560px}.screen-lede code{font-family:var(--font-jetbrains-mono),monospace;font-size:11.5px;background:rgba(0,0,0,.04);padding:1px 5px;border-radius:3px;color:var(--ink-2)}.screen-search{flex-shrink:0}.screen-search input{font:inherit;font-size:13px;padding:8px 12px;height:38px;width:320px;max-width:100%;background:#fff;border:1px solid var(--rule);border-radius:8px;color:var(--ink)}.screen-search input:focus{outline:2px solid var(--accent-soft);outline-offset:0;border-color:var(--accent)}.screen-banner,.screen-loading{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:18px 22px;font-size:13.5px;color:var(--ink-2);line-height:1.55;margin-top:16px}.screen-loading{font-family:var(--font-jetbrains-mono),monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.screen-loading b{color:var(--ink);font-weight:600;margin-right:6px}.screen-banner-info{background:var(--paper-2);border-color:var(--rule-2)}.screen-banner-error{background:var(--danger-soft);border-color:rgba(180,35,24,.25);color:var(--danger)}@media (max-width:1024px){.screen{padding:20px 18px 100px}.screen-search input{width:100%}}.generate-modal{max-width:540px}.generate-list{display:flex;flex-direction:column;gap:6px;margin:16px 0;max-height:320px;overflow-y:auto}.generate-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;padding:10px 12px;background:var(--paper);border-radius:8px;font-size:13px;align-items:center}.generate-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.generate-row-name code{font-family:var(--font-jetbrains-mono),monospace;font-size:11.5px;color:var(--action)}.generate-row-name a{color:var(--action);text-decoration:none}.generate-row-name a:hover{text-decoration:underline}.generate-row-events{font-family:var(--font-jetbrains-mono),monospace;font-size:11px;color:var(--muted)}.generate-row-amt{font-family:var(--font-newsreader),serif;font-weight:500;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;min-width:80px}.generate-total{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:10px 12px;margin-top:4px;border-top:1px dashed var(--rule);font-size:13px;font-weight:600;align-items:center}.generate-total .amt{font-family:var(--font-newsreader),serif;font-weight:600;font-size:16px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent-deep)}.generate-note{font-size:11.5px;color:var(--muted);margin:0;padding:10px 12px;background:var(--accent-soft);border-radius:8px;border-left:3px solid var(--accent)}.generate-toggle{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--paper);border:1px solid var(--rule);border-radius:10px;margin:8px 0 4px;cursor:pointer}.generate-toggle input[type=checkbox]{width:18px;height:18px;margin-top:1px;accent-color:var(--accent);flex-shrink:0}.generate-toggle input[type=checkbox]:disabled+div .generate-toggle-label{color:var(--muted)}.generate-toggle-label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}.generate-toggle-hint{display:block;font-size:11.5px;color:var(--muted);line-height:1.5}.draft-link{color:var(--good);font-size:11.5px;text-decoration:none}.draft-link:hover{text-decoration:underline}.draft-skip{color:var(--muted);font-size:11.5px;font-style:italic}.generate-skip{margin-top:8px;padding:10px 12px;background:var(--warn-soft);border-radius:8px;font-size:11.5px;color:var(--warn);line-height:1.5}.client-row .client-toggle{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.client-row.unselected{opacity:.55}.client-row.unselected .meta b{text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--muted-2);text-decoration-color:var(--muted-2)}.income-pivot{background:#fff;border:1px solid var(--rule);border-radius:12px;overflow-x:auto}.income-table{width:100%;border-collapse:collapse;font-size:13px}.income-table td,.income-table th{padding:10px 14px;text-align:right;border-bottom:1px solid var(--rule);white-space:nowrap}.income-table thead th{background:var(--paper);font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;border-bottom:1px solid var(--rule-2)}.income-table .month-col{text-align:left;font-weight:500;color:var(--ink);position:-webkit-sticky;position:sticky;left:0;background:#fff}.income-table thead .month-col{background:var(--paper)}.income-table .client-col{font-family:var(--font-newsreader),serif;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.income-table thead .client-col{font-family:var(--font-inter),sans-serif;font-weight:600}.income-table .client-col.empty{color:var(--muted-2);font-weight:400}.income-table .total-col{font-family:var(--font-newsreader),serif;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--paper)}.income-table tfoot td{background:var(--paper-2);border-top:2px solid var(--rule-2);border-bottom:none;font-weight:600}.income-table tfoot .month-col{background:var(--paper-2);font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.income-table tfoot .total-col.grand{font-size:15px;color:var(--accent-deep)}.income-table tbody tr:last-child td{border-bottom:1px solid var(--rule-2)}.settings-form{max-width:880px;display:flex;flex-direction:column;gap:24px}.settings-section{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:20px 24px}.settings-h{font-family:var(--font-newsreader),serif;font-weight:500;font-size:18px;letter-spacing:-.01em;margin:0 0 16px;color:var(--ink);padding-bottom:12px;border-bottom:1px dashed var(--rule)}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px 18px;gap:14px 18px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field.wide{grid-column:1/-1}.form-field label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.form-field input,.form-field textarea{font:inherit;padding:9px 12px;border:1px solid var(--rule);border-radius:8px;background:#fff;font-size:13.5px;color:var(--ink);resize:vertical}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.form-field input:disabled{background:var(--paper);color:var(--muted);cursor:not-allowed}.form-toggle{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink);cursor:pointer;align-self:end;padding:9px 0}.form-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.settings-hint{margin:12px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}.settings-hint code{font-family:var(--font-jetbrains-mono),monospace;background:var(--paper);padding:1px 5px;border-radius:3px;color:var(--ink-2);font-size:11px}.system-dl{display:grid;grid-template-columns:130px 1fr;grid-gap:8px 14px;gap:8px 14px;margin:0;font-size:12px}.system-dl dt{color:var(--muted);font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.system-dl dd{margin:0;color:var(--ink-2);word-break:break-all}.system-dl code{font-family:var(--font-jetbrains-mono),monospace;font-size:11.5px;background:var(--paper);padding:2px 6px;border-radius:4px;color:var(--ink)}.system-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:inherit;border-radius:6px;padding:1px 2px;transition:background .12s ease}.system-link:hover{background:rgba(59,154,225,.1)}.system-link:hover code{background:rgba(59,154,225,.14);color:var(--color-accent,#3b9ae1)}.system-link-arrow{font-size:11px;color:var(--color-accent,#3b9ae1);opacity:.55;transition:opacity .12s ease,transform .12s ease}.system-link:hover .system-link-arrow{opacity:1;transform:translate(1px,-1px)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:4px 0 8px}.settings-msg{font-size:12.5px;font-weight:500}.settings-msg.ok{color:var(--good)}.settings-msg.err{color:var(--danger)}@media (max-width:1024px){.settings-grid{grid-template-columns:1fr}}.invoices-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px;max-width:720px}.invoices-stat{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.invoices-stat .v{font-family:var(--font-newsreader),serif;font-weight:500;font-size:22px;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.invoices-stat .v.good{color:var(--good)}.invoices-stat .v.warn{color:var(--warn)}.invoices-stat .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.filter-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.filter-pill{font:inherit;font-size:12.5px;font-weight:500;padding:7px 12px;border-radius:999px;border:1px solid var(--rule-2);background:#fff;color:var(--ink-2);cursor:pointer;transition:background 80ms,border-color 80ms}.filter-pill:hover{background:var(--paper)}.filter-pill.active{background:var(--ink);border-color:var(--ink);color:#fff}.filter-pill.active.tone-paid{background:var(--good);border-color:var(--good)}.filter-pill.active.tone-unpaid{background:var(--warn);border-color:var(--warn)}.filter-pill.active.tone-partial{background:var(--accent);border-color:var(--accent)}.filter-pill.active.tone-ignored{background:var(--muted);border-color:var(--muted)}.invoices-table{background:#fff;border:1px solid var(--rule);border-radius:12px;overflow:hidden}.invoices-row{display:grid;grid-template-columns:110px 110px minmax(0,1.4fr) 110px 120px 110px 90px;grid-gap:16px;gap:16px;padding:12px 18px;align-items:center;font-size:13px;border-bottom:1px solid var(--rule)}.invoices-row .col-action{text-align:right}.btn-pay{font:inherit;font-size:11.5px;font-weight:500;padding:5px 10px;border-radius:6px;border:1px solid var(--rule-2);background:#fff;color:var(--good);cursor:pointer;white-space:nowrap}.btn-pay:hover{background:var(--good-soft);border-color:var(--good)}.payment-hint{padding:10px 12px;background:var(--good-soft);border-left:3px solid var(--good);border-radius:8px;font-size:12px;color:var(--good);margin-bottom:14px}.invoices-row:last-child{border-bottom:none}.invoices-head{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;background:var(--paper);border-bottom:1px solid var(--rule-2)}.invoices-head,.invoices-row .col-no{font-family:var(--font-jetbrains-mono),monospace}.invoices-row .col-no{font-size:12px;font-weight:500;color:var(--ink)}.invoices-row .col-no a{color:var(--action);text-decoration:none}.invoices-row .col-no a:hover{text-decoration:underline}.invoices-row .col-date{font-family:var(--font-jetbrains-mono),monospace;font-size:12px;color:var(--muted)}.invoices-row .col-client{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invoices-row .col-amt,.invoices-row .col-debt{font-family:var(--font-newsreader),serif;font-weight:500;font-size:14px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink)}.invoices-row .col-debt.has-debt{color:var(--warn);font-weight:600}.status-badge{display:inline-block;font-size:11px;font-weight:500;padding:3px 9px;border-radius:999px;font-family:var(--font-inter),sans-serif}.status-badge.tone-paid{background:var(--good-soft);color:var(--good)}.status-badge.tone-unpaid{background:var(--warn-soft);color:var(--warn)}.status-badge.tone-partial{background:var(--accent-soft);color:var(--accent-deep)}.status-badge.tone-ignored{background:var(--paper-2);color:var(--muted)}@media (max-width:1024px){.invoices-row{grid-template-columns:1fr 1fr;gap:6px 12px}.invoices-head{display:none}.invoices-row .col-no{grid-column:1/2}.invoices-row .col-status{grid-column:2/3;justify-self:end}.invoices-row .col-date{grid-column:1/2}.invoices-row .col-amt{grid-column:2/3;text-align:right}.invoices-row .col-client{grid-column:1/2}.invoices-row .col-debt{grid-column:2/3;text-align:right}.invoices-row .col-action{grid-column:1/-1;text-align:left}}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px}.client-card{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:16px;display:flex;gap:14px;align-items:flex-start;transition:border-color .1s,transform .1s}.client-card-clickable{cursor:pointer}.client-card-clickable:hover{border-color:var(--accent);transform:translateY(-1px)}.client-card-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.client-card:hover{border-color:var(--accent-soft);transform:translateY(-1px)}.screen-actions{gap:10px;align-items:center}.screen-search-input{font:inherit;font-size:13px;padding:8px 12px;height:38px;width:280px;max-width:100%;background:#fff;border:1px solid var(--rule);border-radius:8px;color:var(--ink)}.screen-search-input:focus{outline:2px solid var(--accent-soft);outline-offset:0;border-color:var(--accent)}.client-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule);align-items:center}.client-form-actions .flex-spacer{flex:1 1}.btn.ghost.danger{color:var(--danger);border-color:var(--rule-2)}.btn.ghost.danger:hover{background:var(--danger-soft);border-color:rgba(180,35,24,.3)}.client-card-badge{width:40px;height:40px;border-radius:999px;color:#fff;font-weight:600;font-size:16px;display:grid;place-items:center;flex-shrink:0}.client-card-body{flex:1 1;min-width:0}.client-card-name{font-family:var(--font-newsreader),serif;font-weight:500;font-size:17px;margin:0 0 4px;color:var(--ink);letter-spacing:-.01em;line-height:1.2}.client-card-keyword{display:block;font-size:11.5px;color:var(--muted);margin-bottom:10px}.client-card-keyword code{font-family:var(--font-jetbrains-mono),monospace;background:var(--paper);padding:1px 5px;border-radius:3px;color:var(--ink-2);font-size:11px}.client-card-meta{display:grid;grid-template-columns:88px 1fr;grid-gap:4px 10px;gap:4px 10px;margin:0;font-size:12.5px;line-height:1.4}.client-card-meta dt{color:var(--muted);font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;align-self:center}.client-card-meta dd{margin:0;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-card-notes{margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--rule);font-size:12px;color:var(--muted);line-height:1.5;font-style:italic}.placeholder-shell{min-height:100vh;display:grid;place-items:center;padding:48px 24px;background:var(--paper)}.placeholder-card{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:36px 32px;max-width:520px;width:100%;display:flex;flex-direction:column;gap:14px;box-shadow:0 12px 48px -8px rgba(20,22,26,.08)}.placeholder-tag{font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-weight:600}.placeholder-title{font-family:var(--font-newsreader),serif;font-weight:500;font-size:32px;letter-spacing:-.015em;margin:0;line-height:1.1;color:var(--ink)}.placeholder-desc{font-size:13.5px;color:var(--ink-2);margin:0;line-height:1.55}.placeholder-next{margin-top:6px;padding:12px 14px;background:var(--paper);border-radius:10px;font-size:12px;color:var(--muted);line-height:1.5;border-left:3px solid var(--accent-soft)}.placeholder-next b{color:var(--accent-deep);font-weight:600}.app-loading{min-height:100vh;display:grid;place-items:center;background:var(--paper);font-size:13px;color:var(--muted);font-family:var(--font-jetbrains-mono),monospace;text-transform:uppercase;letter-spacing:.08em}.app-loading b{color:var(--ink);font-weight:600;margin-right:6px}.nav-pane{background:var(--nav-bg);color:var(--nav-text);padding:24px 14px;display:flex;flex-direction:column;gap:2px;position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}.nav-pane .brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;margin-bottom:12px;border-bottom:1px solid var(--nav-bg-2);text-decoration:none;color:inherit;border-radius:8px;transition:background .12s ease}.nav-pane .brand-stacked{flex-direction:column;gap:8px;align-items:center;padding:12px 8px 18px}.nav-pane .brand-iconic{flex-direction:column;align-items:stretch;justify-content:center;padding:14px 2px 18px;gap:0}.brand-iconic .brand-icon{width:100%;max-width:none;height:auto;display:block}.nav-pane .brand:hover{background:hsla(0,0%,100%,.04)}.brand-icon{width:36px;height:36px;object-fit:contain}.brand-stacked .brand-icon{width:72px;height:72px}.brand-mark{display:none}.brand-name{font-family:var(--font-newsreader),serif;font-weight:500;font-size:18px;color:var(--color-nav-text,#fff);letter-spacing:-.01em}.brand-stacked .brand-name{font-size:22px;font-weight:600;letter-spacing:-.015em}.brand-name em{color:var(--color-primary);font-style:italic;font-weight:600}.brand-stacked .brand-name em{font-style:normal}.nav-section-label{font-family:var(--font-jetbrains-mono),monospace;font-size:9.5px;color:var(--nav-text-dim);text-transform:uppercase;letter-spacing:.1em;font-weight:600;padding:12px 10px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--nav-text);transition:background 80ms,color 80ms;border:none;background:transparent;width:100%;text-align:left}.nav-item:hover{background:var(--nav-bg-2);color:#fff}.nav-item.active{background:var(--accent);color:#fff;font-weight:500}.nav-item.active .nav-count{background:hsla(0,0%,100%,.2);color:#fff}.nav-item svg{width:16px;height:16px;flex-shrink:0;opacity:.85}.nav-item.active svg{opacity:1}.nav-item .nav-label{flex:1 1}.nav-count{font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;padding:1px 7px;border-radius:999px;background:var(--nav-bg-2);color:var(--nav-text-dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav-item.nav-item-soon{cursor:default}.nav-item.nav-item-soon:hover{background:transparent;color:var(--nav-text)}.nav-item.nav-item-soon svg{opacity:.85}.nav-soon{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);flex-shrink:0}.nav-user{margin-top:auto;padding:12px 10px;border-top:1px solid var(--nav-bg-2);display:flex;align-items:center;gap:10px}.nav-user .avatar{width:30px;height:30px;border-radius:999px;background:linear-gradient(135deg,var(--accent),#f59e0b);display:grid;place-items:center;color:#fff;font-weight:600;font-size:12px}.nav-user .who{flex:1 1;min-width:0}.nav-user .who b{font-size:12.5px;color:#fff;display:block;font-weight:500;line-height:1.2}.nav-user .who span{font-size:10.5px;color:var(--nav-text-dim);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-user .avatar{overflow:hidden;object-fit:cover}.nav-logout{all:unset;cursor:pointer;color:var(--nav-text-dim);padding:4px 6px;border-radius:4px;font-size:14px;flex-shrink:0}.nav-logout:hover{background:var(--nav-bg-2);color:#fff}@media (max-width:1024px){.nav-pane{display:none}}.cal-pane{padding:28px 32px}.greet{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.greet h2{font-family:var(--font-newsreader),serif;font-weight:500;font-size:26px;letter-spacing:-.015em;margin:0}.greet h2 em{color:var(--accent);font-style:italic}.greet .date{font-family:var(--font-jetbrains-mono),monospace;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;display:block}@media (max-width:1024px){.cal-pane{padding:18px 16px 24px}.greet h2{font-size:22px}}.cal-card{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:18px 20px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.cal-head .month{font-family:var(--font-newsreader),serif;font-weight:500;font-size:22px;margin:0}.cal-head .month em{color:var(--accent);font-style:italic}.cal-nav{display:flex;gap:6px}.cal-nav button{width:30px;height:30px;border:1px solid var(--rule);background:#fff;border-radius:6px;cursor:pointer;color:var(--ink-3);display:grid;place-items:center;font-size:14px}.cal-nav button:hover{background:var(--paper)}.cal-nav .today{width:auto;padding:0 12px;font-size:12px;font-weight:500}.dow{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;margin-bottom:6px;padding:0 2px}.dow span{font-family:var(--font-jetbrains-mono),monospace;font-size:10px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.08em}.grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.day{aspect-ratio:4/3;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:6px 6px 4px;display:flex;flex-direction:column;gap:4px;cursor:pointer;position:relative;overflow:hidden;transition:background 80ms,border-color 80ms,transform 80ms}.day.blank{border-color:transparent;background:transparent;cursor:default}.day:hover:not(.blank){background:var(--paper);border-color:var(--rule-2)}.day .num{font-size:12.5px;font-weight:500;color:var(--ink-2);line-height:1}.day.today .num{color:var(--accent);font-weight:700}.day .events{flex-direction:column;gap:2px;align-items:stretch;flex:1 1;min-height:0}.day .ev-chip,.day .events{display:flex;overflow:hidden}.day .ev-chip{align-items:center;gap:4px;height:clamp(14px,calc(8px * var(--hours, 1)),28px);padding:0 4px 0 5px;border-radius:3px;border-left:3px solid transparent;font-size:9.5px;line-height:1.1;white-space:nowrap;position:relative;background:color-mix(in oklab,var(--ink) 8%,transparent)}.day .ev-chip .t{font-family:var(--font-jetbrains-mono),monospace;font-size:9px;color:var(--ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.day .ev-chip .c{font-size:10px;color:var(--ink);font-weight:500;overflow:hidden;text-overflow:ellipsis;flex:1 1;min-width:0}.day .ev-chip.M{background:color-mix(in oklab,var(--c-M) 15%,transparent);border-left-color:var(--c-M)}.day .ev-chip.R{background:color-mix(in oklab,var(--c-R) 15%,transparent);border-left-color:var(--c-R)}.day .ev-chip.V{background:color-mix(in oklab,var(--c-V) 15%,transparent);border-left-color:var(--c-V)}.day .ev-chip.T{background:color-mix(in oklab,var(--c-T) 15%,transparent);border-left-color:var(--c-T)}.day .ev-chip.E{background:color-mix(in oklab,var(--c-E) 15%,transparent);border-left-color:var(--c-E)}.day .ev-chip.U{background:var(--warn-soft);border-left-color:var(--warn)}.day .ev-chip.matched{background:color-mix(in oklab,var(--ev-color,oklch(.55 .05 90)) 15%,transparent);border-left-color:var(--ev-color,oklch(.55 .05 90))}.day .ev-chip.skip{opacity:.4;background:var(--paper-2);border-left-color:var(--muted-2)}.day .ev-chip.skip .c,.day .ev-chip.skip .t{text-decoration:line-through}.day .ev-chip.invoiced{opacity:.65}.day .ev-chip.invoiced:after{content:"✓";position:absolute;right:3px;top:0;font-size:9px;color:var(--good);font-weight:700;line-height:1}.day .ev-chip.overflow{background:var(--paper);border-left-color:var(--rule-2);color:var(--muted);justify-content:center;font-family:var(--font-jetbrains-mono),monospace;font-size:10px;font-weight:500;height:14px;padding:0}.day.in-range{background:var(--accent-soft);border-color:#f4cdac}.day.in-range .num{color:var(--accent-deep);font-weight:600}.day.range-end,.day.range-start{background:var(--accent);border-color:var(--accent)}.day.range-end .num,.day.range-start .num{color:#fff}.day.range-end .ev-chip,.day.range-start .ev-chip{background:hsla(0,0%,100%,.85)!important;border-left-color:hsla(0,0%,100%,.5)!important}.day.range-end .ev-chip .c,.day.range-end .ev-chip .t,.day.range-start .ev-chip .c,.day.range-start .ev-chip .t{color:var(--ink)}.day.popover-active{box-shadow:0 0 0 2px var(--ink)}.day.dimmed{opacity:.28}.day.highlighted{box-shadow:inset 0 0 0 2px var(--accent)}.day.highlighted .num{color:var(--accent-deep);font-weight:700}@media (max-width:1024px){.day{aspect-ratio:4/3;padding:4px 5px;border-radius:6px;gap:2px}.day .num{font-size:11px}.day .ev-chip{height:clamp(4px,calc(3px * var(--hours, 1)),14px);width:5px;padding:0;border-left-width:0;align-self:flex-start;border-radius:2px;overflow:hidden}.day .ev-chip .c,.day .ev-chip .t,.day .ev-chip.invoiced:after{display:none}.day .ev-chip.M{background:var(--c-M)}.day .ev-chip.R{background:var(--c-R)}.day .ev-chip.V{background:var(--c-V)}.day .ev-chip.T{background:var(--c-T)}.day .ev-chip.E{background:var(--c-E)}.day .ev-chip.U{background:var(--warn)}.day .ev-chip.matched{background:var(--ev-color,oklch(.55 .05 90))}.day .ev-chip.skip{background:var(--muted-2);opacity:.5}.day .ev-chip.overflow{width:auto;height:12px;padding:0 4px;font-size:8.5px;background:var(--paper);color:var(--muted)}}.helper-row{margin-top:14px;padding:9px 12px;background:var(--paper-2);color:var(--muted);border:1px dashed var(--rule);border-radius:10px;display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.4}.helper-row>span:first-child{flex:1 1;min-width:0}.helper-row.helper-loading{background:var(--accent-soft);border-color:rgba(194,65,12,.25);color:var(--accent-deep)}.helper-row b{color:var(--ink);font-weight:600}.helper-row .kbd{font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;padding:1px 6px;border-radius:4px;background:#fff;border:1px solid var(--rule-2);color:var(--ink-2);margin:0 2px}.helper-row .helper-dismiss{all:unset;cursor:pointer;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--muted-2);font-size:12px;flex-shrink:0;transition:background 80ms,color 80ms}.helper-row .helper-dismiss:hover{background:rgba(0,0,0,.06);color:var(--ink)}.helper-row .helper-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.greet{align-items:center}.greet-meta{font-size:12px;color:var(--muted);flex-shrink:0}.greet-meta .sel-count b{font-family:var(--font-newsreader),serif;font-style:italic;font-weight:500;font-size:16px;color:var(--accent);margin-right:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1024px){.greet-meta,.helper-row{display:none}}.cta{background:#fff;border-left:1px solid var(--rule);padding:28px 24px;display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto}.sel-pill{display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-size:11.5px;font-weight:500;align-self:flex-start}.cta h3{font-family:var(--font-newsreader),serif;font-weight:500;font-size:22px;letter-spacing:-.01em;margin:0;line-height:1.2}.cta h3 em{color:var(--accent);font-style:italic}.cta .lede{font-size:12.5px;color:var(--muted);margin:0;line-height:1.5}.stats-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;padding:14px 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule)}.stat-cell .v{font-family:var(--font-newsreader),serif;font-weight:500;font-size:22px;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:block}.stat-cell .v.warn{color:var(--warn)}.stat-cell .v.muted{color:var(--muted-2)}.cta-section-label,.stat-cell .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.cta-section-label{display:block;margin-bottom:8px}.cta-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.cta-section-head .cta-section-label{margin-bottom:0}.cta-select-all{all:unset;cursor:pointer;font-size:11px;font-weight:600;color:var(--accent);padding:3px 8px;border-radius:5px;border:1px solid transparent;transition:background 80ms,border-color 80ms;white-space:nowrap}.cta-select-all:hover{background:var(--accent-soft,rgba(218,119,86,.08));border-color:rgba(218,119,86,.3)}.cta-select-all:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cta-select-all[aria-pressed=true]{color:var(--muted)}.cta-select-all[aria-pressed=true]:hover{background:var(--paper-2);border-color:var(--rule)}.clients-list{display:flex;flex-direction:column;gap:4px}.client-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--paper);border:1px solid transparent}.client-row .badge{width:24px;height:24px;border-radius:999px;color:#fff;font-size:11px;font-weight:600;display:grid;place-items:center;flex-shrink:0}.client-row .meta{flex:1 1;min-width:0}.client-row .meta b{font-size:12.5px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-row .meta span{font-size:11px;color:var(--muted)}.client-row .amt{font-family:var(--font-newsreader),serif;font-weight:500;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.client-row.unmatched{background:var(--warn-soft);border-color:#f5d68b}.client-row.unmatched .meta b{color:var(--warn)}.client-row.empty{opacity:.4}.client-row.filtering{box-shadow:inset 0 0 0 2px var(--accent)}.client-row .row-filter{all:unset;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;cursor:pointer;color:var(--muted);flex-shrink:0;transition:background 80ms,color 80ms}.client-row .row-filter:hover{background:rgba(0,0,0,.05);color:var(--ink)}.client-row .row-filter.on{color:var(--accent);background:var(--accent-soft)}.client-row .row-filter:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cta-help{margin:10px 2px 0;padding-top:10px;border-top:1px dashed var(--rule);font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;line-height:1.4;flex-wrap:wrap}.cta-help-tok{display:inline-grid;place-items:center;width:14px;height:14px;font-size:12px;flex-shrink:0}.cta-help-tok.tok-check{color:var(--good);font-size:14px;line-height:1}.cta-help-tok.tok-ring{border:2px solid var(--accent);border-radius:4px;background:transparent;width:12px;height:12px}.cta-help-sep{color:var(--muted-2);margin:0 2px}.cta-total{font-family:var(--font-newsreader),serif;font-weight:500;font-size:24px;display:flex;justify-content:space-between;align-items:baseline}.cta-total .label{font-size:12px;font-family:var(--font-inter),sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.cta-total .amount{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cta-actions{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:8px}@media (max-width:1024px){.cta{display:none}}.popover{position:fixed;z-index:30;background:#fff;border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 48px -8px rgba(20,22,26,.25),0 2px 4px rgba(0,0,0,.04);padding:14px 16px;min-width:320px;max-width:360px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;animation:popover-in .14s cubic-bezier(.2,.8,.2,1)}.popover-arrow{position:absolute;left:var(--arrow-left,50%);width:14px;height:14px;background:#fff;border:1px solid var(--rule);transform:translateX(-50%) rotate(45deg);pointer-events:none}.popover[data-flipped=false] .popover-arrow{top:-7px;border-bottom-color:transparent;border-right-color:transparent}.popover[data-flipped=true] .popover-arrow{bottom:-7px;border-top-color:transparent;border-left-color:transparent}@keyframes popover-in{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1)}}.popover-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:10px;border-bottom:1px dashed var(--rule)}.popover-head h4{font-family:var(--font-newsreader),serif;font-weight:500;font-size:18px;margin:0;letter-spacing:-.01em}.popover-head .meta{font-size:11px;color:var(--muted);font-family:var(--font-jetbrains-mono),monospace}.popover-close{all:unset;cursor:pointer;color:var(--muted);padding:2px 6px;border-radius:4px;font-size:14px}.popover-close:hover{background:var(--paper);color:var(--ink)}.ev-list{display:flex;flex-direction:column;gap:6px;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;padding-right:2px}.ev-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;border:1px solid var(--rule);cursor:pointer;transition:background 80ms;background:#fff;text-align:left;width:100%;font:inherit;color:inherit}.ev-item:hover{background:var(--paper)}.ev-item.skipped{opacity:.55;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.02) 0,rgba(0,0,0,.02) 8px)}.ev-item.skipped .ev-title{text-decoration:line-through}.ev-item .swatch{width:4px;align-self:stretch;border-radius:2px;flex-shrink:0}.ev-item .swatch.M{background:var(--c-M)}.ev-item .swatch.R{background:var(--c-R)}.ev-item .swatch.V{background:var(--c-V)}.ev-item .swatch.T{background:var(--c-T)}.ev-item .swatch.E{background:var(--c-E)}.ev-item .swatch.U{background:var(--warn)}.ev-item .body{flex:1 1;min-width:0}.ev-title{font-size:13px;font-weight:600;color:var(--ink);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev-meta{font-size:11.5px;color:var(--muted);margin-top:2px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ev-meta .dot-sep{color:var(--muted-2)}.ev-amount{font-family:var(--font-newsreader),serif;font-weight:500;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.ev-actions{margin-top:10px;padding-top:10px;border-top:1px dashed var(--rule);display:flex;gap:6px;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted)}.ev-actions .total{font-family:var(--font-newsreader),serif;font-weight:500;font-size:14px;color:var(--ink)}.modal-bd{position:fixed;inset:0;background:rgba(20,22,26,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:50;display:grid;place-items:center;padding:24px}.modal{background:#fff;border-radius:16px;padding:28px 30px;max-width:480px;width:100%;box-shadow:0 32px 64px -16px rgba(0,0,0,.4);animation:popover-in .14s cubic-bezier(.2,.8,.2,1)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.modal-head h3{font-family:var(--font-newsreader),serif;font-weight:500;font-size:24px;margin:0;letter-spacing:-.01em;line-height:1.2}.modal-head h3 em{color:var(--accent);font-style:italic}.modal-head .meta{font-size:11.5px;color:var(--muted);font-family:var(--font-jetbrains-mono),monospace;margin-top:4px}.modal-close{all:unset;cursor:pointer;color:var(--muted);padding:4px 8px;border-radius:6px;font-size:18px}.modal-close:hover{background:var(--paper);color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.field input,.field select,.field textarea{font:inherit;padding:9px 12px;border:1px solid var(--rule);border-radius:8px;background:#fff;font-size:13.5px;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--paper);border-radius:10px;margin:14px 0;gap:12px}.toggle-row b{font-size:13px;font-weight:600}.toggle-row .help{font-size:11.5px;color:var(--muted);margin-top:2px}.toggle{width:38px;height:22px;background:var(--rule-2);border-radius:999px;cursor:pointer;position:relative;flex-shrink:0;transition:background .12s;border:none;padding:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:999px;transition:left .12s;box-shadow:0 1px 2px rgba(0,0,0,.15)}.toggle.on{background:var(--accent)}.toggle.on:after{left:18px}.unmatched-warn{padding:12px 14px;background:var(--warn-soft);border:1px solid #f5d68b;border-radius:10px;font-size:12.5px;color:var(--warn);margin-bottom:14px}.unmatched-warn a{color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline}.modal-actions{gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--rule)}.modal-actions,.modal-hint{display:flex;justify-content:flex-end}.modal-hint{margin-top:12px;padding-top:10px;font-size:10.5px;color:var(--muted-2);text-align:right;letter-spacing:.02em;align-items:center;gap:4px;flex-wrap:wrap}.modal-hint .kbd{font-family:var(--font-jetbrains-mono),monospace;font-size:10px;padding:1px 5px;border-radius:3px;background:var(--paper);border:1px solid var(--rule-2);color:var(--ink-2);margin:0 1px}.modal [tabindex]:focus-visible,.modal button:focus-visible,.modal input:focus-visible,.modal select:focus-visible,.modal textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.unmatched-panel{position:fixed;left:232px;bottom:24px;z-index:45;width:320px;max-width:calc(100vw - 48px);background:#fff;border:1px solid var(--rule);border-radius:12px;box-shadow:0 12px 32px -8px rgba(20,22,26,.22),0 2px 6px rgba(0,0,0,.08);display:flex;flex-direction:column;overflow:hidden;animation:unmatched-panel-in .18s cubic-bezier(.2,.8,.2,1)}@keyframes unmatched-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.unmatched-panel-head{all:unset;display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;background:var(--warn-soft);border-bottom:1px solid #f5d68b;font-size:12.5px;color:var(--warn)}.unmatched-panel.collapsed .unmatched-panel-head{border-bottom:none}.unmatched-panel-head:hover{background:#f9e9bb}.unmatched-panel-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.unmatched-panel-badge{width:22px;height:22px;border-radius:999px;background:var(--warn);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.unmatched-panel-title{flex:1 1;min-width:0;font-size:12.5px;color:var(--warn)}.unmatched-panel-title b{font-family:var(--font-newsreader),serif;font-style:italic;font-weight:500;font-size:16px;color:var(--warn);margin-right:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unmatched-panel-toggle{font-size:12px;color:var(--warn);font-family:var(--font-jetbrains-mono),monospace;flex-shrink:0}.unmatched-panel-tabs{display:flex;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--rule)}.unmatched-tab{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;font-size:11.5px;font-weight:600;color:var(--muted);border-radius:6px 6px 0 0;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 80ms,background 80ms,border-color 80ms}.unmatched-tab:hover:not([disabled]){color:var(--ink);background:var(--paper-2)}.unmatched-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:#fff}.unmatched-tab[disabled]{opacity:.4;cursor:not-allowed}.unmatched-tab-count{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:var(--paper-2);color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.unmatched-tab.active .unmatched-tab-count{background:var(--accent);color:#fff}.unmatched-panel-list{display:flex;flex-direction:column;gap:4px;padding:8px;max-height:50vh;overflow-y:auto;scrollbar-width:thin}.unmatched-row{display:flex;align-items:stretch;gap:8px;padding:6px 8px;border-radius:8px;background:var(--paper);border:1px solid transparent;transition:background 80ms}.unmatched-row:hover{background:var(--paper-2)}.unmatched-row-body{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.unmatched-row-body:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:4px}.unmatched-row-meta{font-family:var(--font-jetbrains-mono),monospace;font-size:10.5px;color:var(--muted);letter-spacing:.04em}.unmatched-row-title{font-size:12.5px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.unmatched-row-action{all:unset;cursor:pointer;align-self:center;padding:5px 10px;font-size:11px;font-weight:600;background:var(--accent);color:#fff;border-radius:6px;white-space:nowrap;flex-shrink:0;transition:background 80ms}.unmatched-row-action:hover{background:var(--accent-deep)}.unmatched-row-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.unmatched-row-action.open{background:var(--ink);color:#fff}.unmatched-row-action.open:hover{background:#000}.unmatched-row-block{display:flex;flex-direction:column;gap:0}.unmatched-row-block.expanded{background:var(--paper-2);border-radius:10px;padding-bottom:2px}.unmatched-panel:has(.unmatched-row-block.expanded){width:380px}.unmatched-panel:has(.unmatched-row-block.expanded) .unmatched-panel-list{max-height:70vh}.unmatched-inline-form{padding:10px 10px 8px;display:flex;flex-direction:column;gap:10px;animation:unmatched-form-in .16s cubic-bezier(.2,.8,.2,1)}@keyframes unmatched-form-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.unmatched-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.unmatched-form-field{display:flex;flex-direction:column;gap:3px;min-width:0}.unmatched-form-field.wide{grid-column:1/-1}.unmatched-form-field>span{font-size:10px;letter-spacing:.04em;color:var(--muted);text-transform:uppercase;font-weight:600}.unmatched-form-field input,.unmatched-form-field select,.unmatched-form-field textarea{font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);width:100%;min-width:0}.unmatched-form-field textarea{resize:vertical;min-height:38px}.unmatched-form-field input:focus,.unmatched-form-field select:focus,.unmatched-form-field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.unmatched-form-error{font-size:11.5px;color:var(--warn);background:var(--warn-soft);padding:6px 8px;border-radius:6px;border:1px solid #f5d68b}.unmatched-form-actions{display:flex;justify-content:flex-end;gap:6px}@media (max-width:1024px){.unmatched-panel{left:12px;right:12px;bottom:148px;width:auto;max-width:none}.unmatched-panel:has(.unmatched-row-block.expanded){width:auto}}@media (max-width:640px){.unmatched-panel:has(.unmatched-row-block.expanded){position:fixed;left:0;right:0;bottom:0;width:100%;border-radius:14px 14px 0 0;box-shadow:0 -16px 40px -8px rgba(20,22,26,.25);max-height:85vh;z-index:60}.unmatched-panel:has(.unmatched-row-block.expanded) .unmatched-panel-list{max-height:60vh}.unmatched-form-grid{grid-template-columns:1fr}.unmatched-form-field.wide{grid-column:auto}}.sticky-cta-pill{position:fixed;right:24px;bottom:24px;z-index:50;display:inline-flex;align-items:center;gap:10px;padding:11px 18px;background:var(--accent);color:#fff;border:none;border-radius:999px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 12px 32px -8px rgba(20,22,26,.35),0 2px 6px rgba(0,0,0,.1);transition:transform .1s,box-shadow .1s,background 80ms;animation:sticky-cta-in .18s cubic-bezier(.2,.8,.2,1)}.sticky-cta-pill:hover{background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 16px 40px -8px rgba(20,22,26,.42),0 2px 6px rgba(0,0,0,.1)}.sticky-cta-pill:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sticky-cta-pill .sticky-cta-amount{font-family:var(--font-newsreader),serif;font-weight:500;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-style:italic}.sticky-cta-pill .sticky-cta-sep{opacity:.55}.sticky-cta-pill .sticky-cta-action{font-size:13px;letter-spacing:.01em}@keyframes sticky-cta-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:1024px){.sticky-cta-pill{display:none}}.mobile-cta-bar{display:none}@media (max-width:1024px){.mobile-cta-bar{position:fixed;left:12px;right:12px;bottom:84px;background:var(--ink);color:#fff;border-radius:14px;padding:10px 12px 10px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px -8px rgba(20,22,26,.4);z-index:20}.mobile-cta-bar .lhs{flex:1 1;display:flex;flex-direction:column;gap:2px;min-width:0}.mobile-cta-bar .top{font-size:11px;color:hsla(0,0%,100%,.7);text-transform:uppercase;letter-spacing:.08em;font-weight:500}.mobile-cta-bar .bot{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-cta-bar .go{background:var(--accent);color:#fff;height:40px;padding:0 14px;border-radius:10px;font:inherit;font-size:13px;font-weight:600;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.cal-pane{padding-bottom:100px}}.drag-tooltip{position:fixed;z-index:60;pointer-events:none;background:var(--ink);color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.01em;box-shadow:0 4px 16px -4px rgba(0,0,0,.35);white-space:nowrap;animation:drag-tooltip-in .1s ease-out}@keyframes drag-tooltip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.cta-total .amount.pulse{display:inline-block;transform-origin:right center;animation:amount-pulse .6s cubic-bezier(.4,0,.6,1) infinite}@keyframes amount-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.cta-total .amount.pulse,.drag-tooltip{animation:none}}.services-table-wrap{background:var(--paper);border:1px solid var(--rule);border-radius:12px;overflow:auto}.services-table{width:100%;border-collapse:collapse;font-size:13px}.services-table thead th{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:14px 14px 10px;background:var(--paper-2);border-bottom:1px solid var(--rule);white-space:nowrap}.services-th-service{position:-webkit-sticky;position:sticky;left:0;background:var(--paper-2);z-index:1;min-width:260px}.services-th-price{text-align:right}.services-th-add{text-align:right;padding-right:18px!important}.services-th-actions{width:64px}.pricelist-header{display:inline-flex;align-items:center;gap:4px;justify-content:flex-end;width:100%}.pricelist-header-name{all:unset;cursor:pointer;padding:2px 4px;border-radius:4px;font:inherit;font-size:11px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-weight:600}.pricelist-header-name:hover{background:rgba(0,0,0,.04);color:var(--ink)}.pricelist-header-input{font:inherit;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;background:#fff;width:110px;text-align:right}.pricelist-header-del{all:unset;cursor:pointer;font-size:14px;line-height:1;color:var(--muted);padding:2px 5px;border-radius:4px;opacity:0;transition:opacity 80ms,background 80ms,color 80ms}.services-table thead th:hover .pricelist-header-del{opacity:1}.pricelist-header-del:hover{background:var(--warn-soft);color:var(--warn);opacity:1}.pricelist-add-btn{all:unset;cursor:pointer;font:inherit;font-size:11px;font-weight:600;color:var(--accent);padding:4px 8px;border:1px dashed var(--rule);border-radius:4px;white-space:nowrap;transition:background 80ms,border-color 80ms}.pricelist-add-btn:hover{background:var(--accent-soft,rgba(218,119,86,.08));border-color:var(--accent)}.pricelist-add-inline input{font:inherit;font-size:12px;padding:4px 8px;border:1px solid var(--accent);border-radius:4px;background:#fff;width:140px}.services-table tbody td{padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:middle}.services-table tbody tr:last-child td{border-bottom:none}.services-table tbody tr:hover{background:var(--paper-2)}.services-td-service{position:-webkit-sticky;position:sticky;left:0;background:var(--paper);z-index:1;min-width:260px}.services-table tbody tr:hover .services-td-service{background:var(--paper-2)}.services-td-price{text-align:right;min-width:110px}.services-td-actions{width:64px;white-space:nowrap;text-align:right}.services-empty-row{text-align:center;padding:40px 16px;color:var(--muted)}.service-row-head{display:flex;align-items:center;gap:10px}.service-row-badge{width:30px;height:30px;border-radius:6px;color:#fff;display:grid;place-items:center;font-size:13px;font-weight:700;flex-shrink:0}.service-row-text{min-width:0}.service-row-name{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.25}.service-row-meta{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:2px;font-size:11px;color:var(--muted);align-items:center}.service-row-meta code{background:var(--paper-2);padding:1px 5px;border-radius:3px;font-size:10.5px;color:var(--ink)}.service-row-meta .dim,.service-row-meta code{font-family:var(--font-jetbrains-mono),monospace}.service-row-meta .cat{padding:1px 7px;background:var(--paper-2);border-radius:999px;font-size:10.5px}.price-cell{all:unset;cursor:text;display:inline-block;padding:4px 6px;border-radius:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;min-width:72px;text-align:right}.price-cell:hover{background:var(--accent-soft,rgba(218,119,86,.08))}.price-cell-value.empty{color:var(--muted);font-weight:400}.price-cell-input{font:inherit;font-size:13px;font-weight:600;padding:4px 6px;width:80px;text-align:right;border:1px solid var(--accent);border-radius:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:#fff;color:var(--ink)}.row-action{all:unset;cursor:pointer;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:4px;font-size:14px;color:var(--muted);transition:background 80ms,color 80ms}.row-action:hover{background:var(--paper-2);color:var(--ink)}.row-action.danger:hover{background:var(--warn-soft);color:var(--warn)}@media (max-width:640px){.services-table-wrap{border:none;background:transparent;overflow:visible}.services-table,.services-table tbody,.services-table td,.services-table th,.services-table thead,.services-table tr{display:block;width:100%}.services-table thead{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;padding:12px;background:var(--paper);border-radius:10px;border:1px solid var(--rule)}.services-table thead tr{display:flex;flex-wrap:wrap;gap:6px}.services-table thead th{display:inline-block;padding:4px 8px;border:1px solid var(--rule);background:var(--paper-2);border-radius:6px;width:auto}.services-table thead .services-th-actions,.services-table thead .services-th-service{display:none}.services-table tbody tr{background:var(--paper);border:1px solid var(--rule);border-radius:10px;margin-bottom:10px;padding:12px}.services-table tbody td{border:none;padding:6px 0;position:static}.services-td-service{background:transparent}.services-td-price{text-align:left;display:flex!important;justify-content:space-between;align-items:center;border-top:1px dashed var(--rule);padding:8px 0}.services-td-price:before{content:attr(data-label);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.services-td-actions{text-align:right}}.pricelist-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.pricelist-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--paper);border:1px solid var(--rule);border-radius:8px}.pricelist-row input{flex:1 1;font:inherit;font-size:13px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--ink)}.pricelist-row input:focus{outline:2px solid var(--accent);outline-offset:-1px;background:var(--paper-2)}.pricelist-add{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--paper-2);border:1px dashed var(--rule);border-radius:8px}.pricelist-add input{flex:1 1;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--rule);border-radius:6px;background:var(--paper)}.pricelist-add input:focus{outline:2px solid var(--accent);outline-offset:-1px}.form-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:8px 0;padding-top:8px;border-top:1px dashed var(--rule)}.screen-link{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.screen-link:hover{color:var(--accent-deep)}.mobile-bottom-nav{display:none}@media (max-width:1024px){.mobile-bottom-nav{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:4px;gap:4px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:8px 8px calc(8px + env(safe-area-inset-bottom, 0px));background:var(--nav-bg,#1a1a1a);color:var(--nav-text,#f5f5f5);border-top:1px solid var(--rule)}.app-content{padding-bottom:80px}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 2px;border-radius:8px;font-size:10px;line-height:1.1;text-align:center;color:inherit;opacity:.7;transition:background 80ms,opacity 80ms;text-decoration:none}.mobile-nav-item.active{background:var(--accent);color:#fff;opacity:1}.mobile-nav-item:hover{opacity:1}.mobile-nav-icon{width:20px;height:20px}}@media (max-width:480px){.mobile-bottom-nav{grid-template-columns:repeat(6,minmax(48px,1fr));overflow-x:auto}.mobile-nav-item span{font-size:9px}}.skolos-list{display:flex;flex-direction:column;gap:10px}.skolos-card{background:var(--color-card,#fff);border:1px solid var(--color-hairline-soft,#ecf1f5);border-radius:14px;overflow:hidden;transition:box-shadow .15s ease}.skolos-card.open{box-shadow:0 4px 18px rgba(0,0,0,.06)}.skolos-card-header{width:100%;display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:14px;gap:14px;padding:14px 18px;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.skolos-card-header:hover{background:rgba(0,0,0,.025)}.skolos-toggle{font-size:13px;opacity:.55}.skolos-client-meta{display:flex;flex-direction:column;gap:2px}.skolos-client-name{font-weight:600;font-size:15px;color:var(--color-ink,#2d4356)}.skolos-client-sub{font-size:12px;color:var(--color-ink-mute,#8a99a6)}.skolos-amount{font-size:17px;font-weight:700;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skolos-amount.owed{color:var(--color-warn,#d78a2a)}.skolos-amount.refund{color:var(--color-accent,#3b9ae1)}.skolos-rows{border-top:1px solid var(--border-soft,rgba(0,0,0,.06));padding:4px 0 6px}.skolos-row{display:grid;grid-template-columns:100px 1fr auto 220px;align-items:center;grid-gap:14px;gap:14px;padding:10px 18px 10px 60px;border-bottom:1px solid rgba(0,0,0,.04);font-size:13.5px}.skolos-row:last-child{border-bottom:0}.skolos-row-date{color:var(--color-ink-mute,#8a99a6);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skolos-row-no a{color:var(--color-accent,#3b9ae1);text-decoration:none}.skolos-row-no a:hover{text-decoration:underline}.skolos-row-debt{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.skolos-row-actions{display:flex;gap:8px;justify-content:flex-end}.skolos-quickpay{background:var(--color-accent,#3b9ae1);color:#fff;border:0;padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer;transition:filter .12s ease}.skolos-quickpay:hover:not(:disabled){filter:brightness(1.08)}.skolos-quickpay:disabled{opacity:.55;cursor:progress}.skolos-form-btn{background:transparent;color:var(--color-ink,#2d4356);border:1px solid var(--border,rgba(0,0,0,.12));padding:5px 12px;border-radius:999px;font-size:12.5px;cursor:pointer;transition:background .12s ease}.skolos-form-btn:hover{background:rgba(0,0,0,.04)}.skolos-empty{display:flex;gap:16px;align-items:center;padding:24px 28px;border-radius:14px;background:var(--color-card,#fff);border:1px solid var(--color-hairline-soft,#ecf1f5)}.skolos-empty-good{background:rgba(95,170,46,.07);border-color:rgba(95,170,46,.25)}.skolos-empty span[aria-hidden]{font-size:28px;color:var(--color-success,#5faa2e);font-weight:700}.skolos-empty b{display:block;font-size:15px;margin-bottom:4px}.skolos-empty p{margin:0;color:var(--color-ink-mute,#8a99a6);font-size:13.5px}.skolos-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--color-ink,#2d4356);color:#fff;padding:10px 18px;border-radius:999px;font-size:13.5px;box-shadow:0 8px 28px rgba(0,0,0,.18);z-index:5000;animation:skolos-toast-in .18s ease}@keyframes skolos-toast-in{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:720px){.skolos-row{grid-template-columns:1fr auto;grid-template-areas:"date debt" "no actions";padding-left:18px}.skolos-row-date{grid-area:date}.skolos-row-debt{grid-area:debt}.skolos-row-no{grid-area:no}.skolos-row-actions{grid-area:actions;justify-content:flex-start}}.screen-actions{display:flex;gap:8px;margin:4px 0 14px;flex-wrap:wrap}.screen-actions .btn{font-size:13px;padding:7px 14px}.step-header{display:flex;align-items:center;list-style:none;margin:0 0 20px;padding:0;gap:0}.step-header .step{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0}.step-header .step:last-child{flex:0 1 auto}.step-dot{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid var(--color-hairline,#dde6ee);background:var(--color-card,#fff);color:var(--color-ink-mute,#8a99a6);cursor:default;flex:none}.step-header .step.current .step-dot{border-color:var(--color-accent,#3b9ae1);color:var(--color-accent,#3b9ae1)}.step-header .step.done .step-dot{background:var(--color-accent,#3b9ae1);border-color:var(--color-accent,#3b9ae1);color:#fff;cursor:pointer}.step-label{font-size:13.5px;color:var(--color-ink-mute,#8a99a6);font-weight:600;white-space:nowrap}.step-header .step.current .step-label,.step-header .step.done .step-label{color:var(--color-ink,#2d4356)}.step-rail{flex:1 1;height:2px;background:var(--border,rgba(0,0,0,.1));margin:0 8px}.step-header .step.done .step-rail,.step-header .step.done+.step .step-rail{background:var(--color-accent,#3b9ae1)}.wizard-card{background:var(--color-card,#fff);border:1px solid var(--color-hairline-soft,#ecf1f5);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 2px 12px rgba(0,0,0,.03)}.wizard-actions{display:flex;gap:10px;justify-content:space-between;margin-top:8px}.suggest-list{list-style:none;margin:6px 0 0;padding:0;border:1px solid var(--color-hairline-soft,#ecf1f5);border-radius:10px;background:var(--color-card,#fff);max-height:280px;overflow-y:auto}.suggest-row{width:100%;background:none;border:0;text-align:left;padding:10px 14px;display:flex;flex-direction:column;gap:2px;cursor:pointer;font:inherit;color:inherit}.suggest-row:hover{background:rgba(0,0,0,.04)}.suggest-name{font-weight:600;font-size:14px}.suggest-meta{font-size:12px;color:var(--color-ink-mute,#8a99a6)}.picked-card{margin-top:8px;padding:12px 16px;background:rgba(59,154,225,.08);border:1px solid rgba(59,154,225,.2);border-radius:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px}.picked-card .meta{color:var(--color-ink-mute,#8a99a6)}.btn-link{background:none;border:0;color:var(--color-accent,#3b9ae1);font:inherit;cursor:pointer;text-decoration:underline}.manual-lines{display:flex;flex-direction:column;gap:6px}.manual-line{display:grid;grid-template-columns:1fr 90px 70px 110px 110px 32px;align-items:center;grid-gap:8px;gap:8px}.manual-line-head{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-mute,#8a99a6);padding:0 4px}.manual-line input{font-size:13.5px;padding:7px 10px;border:1px solid var(--color-hairline,#dde6ee);border-radius:8px;background:var(--color-card,#fff);width:100%}.manual-line.readonly{background:rgba(0,0,0,.025);border-radius:8px;padding:8px 10px;font-size:13px}.manual-line.readonly.manual-line-head{background:transparent}.manual-line-total{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;padding:0 6px}.manual-line-del{background:none;border:0;color:var(--color-ink-mute,#8a99a6);font-size:18px;cursor:pointer;padding:0 6px;border-radius:6px}.manual-line-del:hover{background:rgba(215,138,42,.12);color:var(--color-warn,#d78a2a)}.manual-add-line{align-self:flex-start;margin-top:4px}.manual-totals{margin-top:8px;background:rgba(0,0,0,.03);border-radius:10px;padding:12px 16px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}.manual-totals>div{display:flex;justify-content:space-between;align-items:center}.manual-totals>div.grand{border-top:1px solid var(--border-soft,rgba(0,0,0,.1));margin-top:6px;padding-top:8px;font-size:16px}.manual-totals b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;padding:4px 0 14px;border-bottom:1px solid var(--color-hairline-soft,#ecf1f5)}.review-grid b{display:block;font-size:15px;margin-top:4px}.review-grid .meta{font-size:12px;color:var(--color-ink-mute,#8a99a6)}.check-row{display:flex;align-items:center;gap:10px;font-size:13.5px;cursor:pointer}.check-row em.meta{color:var(--color-ink-mute,#8a99a6);font-style:normal;font-size:12px}.wizard-result{background:var(--color-card,#fff);border:1px solid var(--color-hairline-soft,#ecf1f5);border-radius:14px;padding:36px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.04)}.wizard-result-icon{width:64px;height:64px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:32px;font-weight:700}.wizard-result-icon.tone-success{background:rgba(95,170,46,.12);color:var(--color-success,#5faa2e)}.wizard-result-icon.tone-partial{background:rgba(215,138,42,.14);color:var(--color-warn,#d78a2a)}.wizard-result-icon.tone-error{background:rgba(200,70,58,.12);color:var(--color-danger,#c8463a)}.wizard-result-heading{margin:0;font-size:22px;font-weight:600}.wizard-result-no{font-style:normal;color:var(--color-accent,#3b9ae1)}.wizard-result-refund{background:rgba(95,170,46,.08);border:1px solid rgba(95,170,46,.22);border-radius:10px;padding:12px 18px;font-size:14px;color:var(--color-ink,#2d4356)}.wizard-result-refund .hint{color:var(--color-ink-mute,#8a99a6);margin-left:6px;font-size:12.5px}.wizard-result-error{background:rgba(200,70,58,.08);border:1px solid rgba(200,70,58,.22);border-radius:10px;padding:12px 18px;font-size:13.5px}.wizard-result-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.wizard-result-actions{display:flex;gap:10px;margin-top:8px}.btn-credit{display:inline-block;padding:4px 10px;border-radius:999px;background:transparent;border:1px solid var(--color-hairline,#dde6ee);color:var(--color-ink,#2d4356);font-size:12px;text-decoration:none;margin-left:4px}.btn-credit:hover{background:rgba(0,0,0,.05)}.quick-event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.quick-event{width:100%;display:grid;grid-template-columns:70px 1.5fr 1fr 1fr 70px;align-items:center;grid-gap:12px;gap:12px;padding:12px 16px;background:var(--color-card,#fff);border:1px solid var(--color-hairline-soft,#ecf1f5);border-radius:10px;text-align:left;font:inherit;color:inherit;cursor:pointer;font-size:13.5px;transition:border-color .12s ease,background .12s ease}.quick-event:hover:not(:disabled){border-color:var(--color-accent,#3b9ae1);background:rgba(43,74,217,.03)}.quick-event.selected{border-color:var(--color-accent,#3b9ae1);background:rgba(59,154,225,.08)}.quick-event.no-client{opacity:.55;cursor:not-allowed}.quick-event-time{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-mute,#8a99a6)}.quick-event-title{font-weight:600}.quick-event-client,.quick-event-service{color:var(--color-ink-mute,#8a99a6);font-size:12.5px}.quick-event-hours{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;font-size:12.5px;color:var(--color-ink-mute,#8a99a6)}.period-input{background:var(--color-card,#fff);border:1px solid var(--color-hairline,#dde6ee);border-radius:999px;padding:7px 14px;font-size:13.5px;font-family:inherit;color:var(--color-ink,#2d4356)}.journal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.journal-row{width:100%;display:grid;grid-template-columns:100px 1fr auto;align-items:center;grid-gap:14px;gap:14px;padding:14px 18px;background:var(--color-card,#fff);border-radius:12px;border:1px solid var(--color-hairline-soft,#ecf1f5);border-left-width:3px;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .12s ease}.journal-row.tone-income{border-left-color:var(--color-success,#5faa2e)}.journal-row.tone-expense{border-left-color:var(--color-warn,#d78a2a)}.journal-row.tone-reversal{border-left-color:var(--color-danger,#c8463a)}.journal-row:hover:not(:disabled){border-color:rgba(0,0,0,.2)}.journal-row:disabled{cursor:default;opacity:.85}.journal-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-mute,#8a99a6);font-size:13px}.journal-desc{display:flex;flex-direction:column;gap:3px;min-width:0}.journal-desc-main{font-weight:600;font-size:14px}.journal-desc-sub{font-size:12px;color:var(--color-ink-mute,#8a99a6)}.journal-kind{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:6px;margin-right:4px}.journal-kind.tone-income{background:rgba(95,170,46,.12);color:var(--color-success,#5faa2e)}.journal-kind.tone-expense{background:rgba(215,138,42,.14);color:var(--color-warn,#d78a2a)}.journal-kind.tone-reversal{background:rgba(200,70,58,.12);color:var(--color-danger,#c8463a)}.journal-amount{text-align:right;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:15px}.journal-amount.neg{color:var(--color-warn,#d78a2a)}.journal-vat{display:block;font-style:normal;font-weight:500;font-size:11px;color:var(--color-ink-mute,#8a99a6);margin-top:2px}.nav-item-active-integration{cursor:default;opacity:.85}.nav-active-tag{margin-left:auto;background:rgba(95,170,46,.18);color:var(--color-success,#5faa2e);font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;margin-top:16px}.detail-card{background:var(--color-card,#fff);border:1px solid var(--color-hairline-soft,#ecf1f5);border-radius:12px;padding:20px}.detail-card-wide{grid-column:1/-1}.detail-card h3{margin:0 0 14px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-ink-mute,#8a99a6);font-weight:700}.detail-card dl{display:grid;grid-template-columns:1fr auto;grid-gap:6px 16px;gap:6px 16px;margin:0;font-size:14px}.detail-card dt{color:var(--color-ink-mute,#8a99a6)}.detail-card dd{margin:0;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-card dd.grand{font-size:18px;border-top:1px solid var(--border-soft,rgba(0,0,0,.06));padding-top:6px;margin-top:4px}.detail-card dd.good{color:var(--color-success,#5faa2e)}.detail-card dd.warn{color:var(--color-warn,#d78a2a)}.detail-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}.detail-actions .btn{text-align:center}.detail-payments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.detail-payments li{display:grid;grid-template-columns:100px 140px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 14px;background:rgba(0,0,0,.025);border-radius:8px;font-size:13.5px}.pay-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-ink-mute,#8a99a6)}.pay-amount{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.pay-amount.good{color:var(--color-success,#5faa2e)}.pay-notes{color:var(--color-ink-mute,#8a99a6);font-style:italic}@media (max-width:720px){.detail-grid{grid-template-columns:1fr}.detail-payments li{grid-template-columns:1fr auto;grid-template-areas:"date amount" "method method" "notes notes"}.pay-date{grid-area:date}.pay-method{grid-area:method}.pay-notes{grid-area:notes}.pay-amount{grid-area:amount}}.form-section{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--color-ink,#2d4356)}.setup-half{border-top:1px solid var(--border-soft,rgba(0,0,0,.06));padding-top:14px;margin-top:6px}.setup-half h4{margin:0 0 10px;font-size:13px;color:var(--color-ink-mute,#8a99a6);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.setup-progress{display:flex;flex-direction:column;align-items:center;gap:24px;padding:80px 36px;background:var(--color-card,#fff);border:1px solid var(--color-hairline-soft,#ecf1f5);border-radius:14px;text-align:center}.setup-progress h2{margin:0 0 8px;font-size:22px}.setup-progress p{margin:0 0 16px;color:var(--color-ink-mute,#8a99a6);font-size:14px}.setup-progress-spinner{width:64px;height:64px;border:4px solid rgba(59,154,225,.2);border-top:4px solid var(--color-accent,#3b9ae1);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.setup-progress-bar{width:320px;height:8px;border-radius:999px;background:rgba(0,0,0,.06);overflow:hidden}.setup-progress-fill{height:100%;background:var(--color-accent,#3b9ae1);transition:width .18s ease}.finansai-chart{width:100%;height:200px;display:block;margin-top:4px}.chart-legend{display:flex;gap:18px;align-items:center;margin-top:14px;font-size:12.5px;color:var(--color-ink-mute,#8a99a6);flex-wrap:wrap}.chart-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle;margin-right:6px}.chart-legend .meta{margin-left:auto}.generate-row.has-warning{border-left:3px solid var(--color-warn,#d78a2a);padding-left:12px;background:rgba(184,84,29,.04)}.generate-row-pl{color:var(--color-ink-mute,#8a99a6)}.generate-row-pl,.generate-row-pl-missing{font-style:normal;font-size:12px;margin-left:4px}.generate-row-pl-missing{color:var(--color-warn,#d78a2a);font-weight:600}.generate-row-warning{grid-column:1/-1;margin-top:6px;padding:8px 10px;font-size:12.5px;color:var(--color-warn,#d78a2a);background:rgba(215,138,42,.1);border-radius:6px;line-height:1.4}.generate-tip{margin-top:12px;padding:12px 14px;background:rgba(59,154,225,.08);border:1px solid rgba(59,154,225,.2);border-radius:8px;font-size:13px;line-height:1.5;color:var(--color-ink,#2d4356)}.generate-tip code{background:rgba(0,0,0,.07);padding:1px 5px;border-radius:3px;font-size:12px}.journal-row.basis-dim{opacity:.42;filter:grayscale(.5)}.journal-row.basis-dim .journal-amount{text-decoration:line-through}