:root{--font-sans: "Söhne", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Tiempos Headline", "Source Serif Pro", "Georgia", serif;--font-mono: "JetBrains Mono", "SF Mono", "Söhne Mono", ui-monospace, monospace;--ink-0: #0c0c0b;--ink-1: #1a1a18;--ink-2: #2a2a26;--ink-3: #4a4a44;--ink-4: #6e6e66;--ink-5: #95958c;--ink-6: #b8b8af;--ink-7: #d6d6cd;--ink-8: #e8e8df;--ink-9: #f2f2ea;--paper: #fafaf4;--white: #ffffff;--bg: var(--paper);--bg-elev: var(--white);--bg-sunk: var(--ink-9);--border: var(--ink-8);--border-strong: var(--ink-7);--text: var(--ink-1);--text-soft: var(--ink-3);--text-mute: var(--ink-4);--text-faint:var(--ink-5);--accent: #1f3a8a;--accent-soft: #e9ecf6;--pos: #14613b;--pos-soft: #e3efe8;--neg: #8a1c1c;--neg-soft: #f4e6e3;--cat-1: #4a6c8c;--cat-2: #b07434;--cat-3: #6b7a3d;--cat-4: #8a4a6a;--cat-5: #2e6a6a;--cat-6: #a14e3a;--cat-7: #5b5079;--cat-8: #6e5c3a;--r-1: 4px;--r-2: 8px;--r-3: 12px;--r-4: 16px;--shadow-1: 0 1px 0 rgba(12,12,11,.04), 0 1px 2px rgba(12,12,11,.04);--shadow-2: 0 1px 0 rgba(12,12,11,.04), 0 4px 16px rgba(12,12,11,.08);--shadow-pop: 0 12px 40px rgba(12,12,11,.18), 0 2px 6px rgba(12,12,11,.08);--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px}[data-theme=dark]{--bg: #0e0e0c;--bg-elev: #161614;--bg-sunk: #0a0a09;--border: #2a2a26;--border-strong: #3a3a34;--text: #f2f2ea;--text-soft: #c8c8bf;--text-mute: #8e8e85;--text-faint:#6e6e66;--accent: #93a8e6;--accent-soft: #1f253a;--pos: #6fbf8f;--pos-soft: #1a2a22;--neg: #d68f8f;--neg-soft: #2a1d1d;--shadow-1: 0 1px 0 rgba(0,0,0,.4);--shadow-2: 0 4px 16px rgba(0,0,0,.4);--shadow-pop: 0 12px 40px rgba(0,0,0,.6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.45;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","zero";letter-spacing:-.01em}.serif{font-family:var(--font-serif);letter-spacing:-.01em}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--bg);position:relative}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--s-3);padding:14px 20px;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-mark{width:22px;height:22px;border-radius:5px;background:var(--ink-1);color:var(--paper);display:grid;place-items:center;font-family:var(--font-serif);font-size:14px;font-weight:500;font-style:italic}.topbar-spacer{flex:1}.company-switcher{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 8px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-2);cursor:pointer;font-size:14px;font-weight:500;transition:border-color .15s,background .15s}.company-switcher:hover{border-color:var(--border-strong)}.company-switcher .swatch{width:18px;height:18px;border-radius:4px}.company-switcher .all-mark{width:18px;height:18px;border-radius:4px;background:var(--ink-1);color:var(--paper);display:grid;place-items:center;font-size:10px;font-weight:600}.company-switcher .chev{color:var(--text-mute)}.period-tabs{display:inline-flex;background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px;flex-wrap:nowrap}.period-tabs button{border:0;background:transparent;padding:5px 10px;border-radius:999px;font-size:13px;color:var(--text-soft);cursor:pointer;font-weight:500;transition:background .15s,color .15s;white-space:nowrap}.period-tabs button:hover{color:var(--text)}.period-tabs button.active{background:var(--ink-1);color:var(--paper)}.tabbar{position:sticky;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-top:1px solid var(--border);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.tabbar button{background:transparent;border:0;padding:8px 4px 6px;border-radius:var(--r-2);display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--text-mute);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s}.tabbar button.active{color:var(--text)}.tabbar button .ic{width:22px;height:22px}.fab{position:fixed;right:20px;bottom:84px;z-index:35;width:56px;height:56px;border-radius:50%;background:var(--ink-1);color:var(--paper);border:0;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-pop);transition:transform .15s,background .15s}.fab:hover{transform:translateY(-1px);background:var(--ink-0)}.fab:active{transform:translateY(0)}.main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:20px 20px 100px}@media (min-width: 900px){.main{padding:28px 32px 60px;max-width:1100px}.tabbar{display:none}.topbar{padding:16px 32px}.topbar-nav{display:flex;gap:2px;margin-left:var(--s-4)}.topbar-nav button{background:transparent;border:0;padding:6px 12px;border-radius:var(--r-2);font-size:14px;color:var(--text-soft);cursor:pointer;font-weight:500}.topbar-nav button:hover{color:var(--text)}.topbar-nav button.active{color:var(--text);background:var(--bg-sunk)}.has-fab-desktop .fab{bottom:32px;right:32px}}@media (min-width: 1200px){.topbar{flex-wrap:nowrap}}@media (max-width: 1199px) and (min-width: 900px){.topbar-spacer{width:100%;height:0;flex-basis:100%}}@media (max-width: 899px){.topbar-nav{display:none}}.page-head{margin-bottom:var(--s-5)}.page-eyebrow{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);margin-bottom:6px}.page-title{font-family:var(--font-serif);font-size:32px;line-height:1.1;letter-spacing:-.02em;margin:0 0 4px;font-weight:400}@media (min-width: 900px){.page-title{font-size:40px}}.page-sub{color:var(--text-mute);font-size:14px}.kpi-hero{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:24px;margin-bottom:var(--s-5);position:relative;overflow:hidden}.kpi-hero-label{font-size:12px;color:var(--text-mute);font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px}.kpi-hero-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:44px;font-weight:500;letter-spacing:-.025em;line-height:1;margin-bottom:6px;color:var(--text)}@media (min-width: 900px){.kpi-hero-value{font-size:56px}}.kpi-hero-value.pos{color:var(--pos)}.kpi-hero-value.neg{color:var(--neg)}.kpi-hero-delta{font-size:13px;color:var(--text-mute);display:flex;align-items:center;gap:6px}.kpi-hero-delta .chip{font-family:var(--font-mono);font-size:12px;padding:2px 6px;border-radius:4px;background:var(--bg-sunk);color:var(--text-soft)}.kpi-hero-spark{position:absolute;right:0;bottom:0;height:60%;width:45%;pointer-events:none;opacity:.85}@media (max-width: 600px){.kpi-hero-spark{display:none}}.kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:var(--s-5)}.kpi{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:16px}.kpi-label{font-size:12px;color:var(--text-mute);font-weight:500;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:6px}.kpi-dot{width:6px;height:6px;border-radius:50%;background:var(--text-faint)}.kpi-dot.pos{background:var(--pos)}.kpi-dot.neg{background:var(--neg)}.kpi-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--text)}@media (min-width: 900px){.kpi-value{font-size:26px}}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:var(--s-6) 0 var(--s-3)}.section-title{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-soft)}.section-action{font-size:13px;color:var(--text-mute);background:transparent;border:0;cursor:pointer;font-weight:500}.section-action:hover{color:var(--text)}.tx-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden}.tx-day-head{display:flex;align-items:baseline;justify-content:space-between;padding:12px 16px 8px;font-size:12px;color:var(--text-mute);font-weight:500;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-elev);border-bottom:1px solid var(--border)}.tx-day-head .day-net{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;color:var(--text-soft);text-transform:none;letter-spacing:0}.tx{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}.tx:last-child{border-bottom:0}.tx:hover{background:var(--bg-sunk)}.tx-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--bg-sunk);color:var(--text-soft);font-size:14px}.tx-body{min-width:0}.tx-title{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-meta{font-size:12px;color:var(--text-mute);display:flex;align-items:center;gap:6px;margin-top:1px}.tx-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--text-faint)}.tx-amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500;text-align:right;letter-spacing:-.01em}.tx-amount.pos{color:var(--pos)}.tx-amount.neg{color:var(--text)}.empty{padding:32px 20px;text-align:center;color:var(--text-mute);font-size:14px}.companies-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 700px){.companies-grid{grid-template-columns:1fr 1fr}}.company-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:16px;cursor:pointer;transition:border-color .15s,transform .15s;display:flex;flex-direction:column;gap:12px}.company-card:hover{border-color:var(--border-strong)}.company-card-head{display:flex;align-items:center;gap:10px}.company-swatch{width:28px;height:28px;border-radius:8px;flex-shrink:0}.company-name{font-size:15px;font-weight:600;letter-spacing:-.01em}.company-sub{font-size:12px;color:var(--text-mute)}.company-pl{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:22px;font-weight:500;letter-spacing:-.02em}.company-pl.pos{color:var(--pos)}.company-pl.neg{color:var(--neg)}.company-bar{height:4px;border-radius:2px;background:var(--bg-sunk);overflow:hidden;display:flex}.company-bar-pos{height:100%;background:var(--pos)}.company-bar-neg{height:100%;background:var(--neg)}.company-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.company-stats .lbl{color:var(--text-mute)}.company-stats .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.company-stats .val.pos{color:var(--pos)}.company-stats .val.neg{color:var(--neg)}.cat-list{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden}.cat-row{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.cat-row:last-child{border-bottom:0}.cat-bar-wrap{margin-top:6px;height:4px;border-radius:2px;background:var(--bg-sunk);overflow:hidden}.cat-bar{height:100%;border-radius:2px}.cat-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:13px;color:#fff}.cat-name{font-size:14px;font-weight:500}.cat-amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:14px;text-align:right}.cat-pct{font-size:11px;color:var(--text-mute);font-family:var(--font-mono)}.table-wrap{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);overflow:hidden;overflow-x:auto}table.cmp{width:100%;border-collapse:collapse;font-size:14px;min-width:560px}table.cmp thead th{text-align:right;padding:12px 16px;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:0}table.cmp thead th:first-child{text-align:left}table.cmp tbody td{padding:14px 16px;border-bottom:1px solid var(--border);text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}table.cmp tbody td:first-child{text-align:left;font-family:var(--font-sans);font-weight:500}table.cmp tbody tr:last-child td{border-bottom:0}table.cmp tbody tr:hover td{background:var(--bg-sunk)}table.cmp tfoot td{padding:14px 16px;text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;border-top:2px solid var(--ink-1);background:var(--bg-elev)}table.cmp tfoot td:first-child{text-align:left;font-family:var(--font-sans)}.cmp-cmp-name{display:flex;align-items:center;gap:10px}.cmp-cmp-name .swatch{width:10px;height:10px;border-radius:3px}.pos-cell{color:var(--pos)}.neg-cell{color:var(--neg)}.muted-cell{color:var(--text-mute)}.pl-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 700px){.pl-grid{grid-template-columns:1fr 1fr}}.pl-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:16px}.pl-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pl-card-name{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}.pl-card-name .swatch{width:14px;height:14px;border-radius:4px}.pl-card-pl{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.pl-card-pl.pos{color:var(--pos)}.pl-card-pl.neg{color:var(--neg)}.pl-rows{display:flex;flex-direction:column;gap:6px}.pl-rows .pl-row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0}.pl-rows .pl-row.divider{border-top:1px solid var(--border);padding-top:8px;margin-top:4px}.pl-rows .pl-row .lbl{color:var(--text-mute)}.pl-rows .pl-row .val{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pl-rows .pl-row.total .lbl{color:var(--text);font-weight:600}.pl-rows .pl-row.total .val{font-weight:600}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c0c0b66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;opacity:0;pointer-events:none;transition:opacity .25s}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:101;background:var(--bg-elev);border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:var(--shadow-pop);transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);max-height:92vh;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}.sheet.open{transform:translateY(0)}@media (min-width: 700px){.sheet{max-width:480px;left:50%;right:auto;bottom:50%;transform:translate(-50%,calc(50% + 30px));border-radius:16px;opacity:0}.sheet.open{transform:translate(-50%,50%);opacity:1}}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--ink-7);margin:10px auto 4px}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 4px}.sheet-title{font-weight:600;font-size:16px}.sheet-close{background:transparent;border:0;width:32px;height:32px;border-radius:8px;cursor:pointer;color:var(--text-mute);display:grid;place-items:center}.sheet-close:hover{background:var(--bg-sunk);color:var(--text)}.seg{display:flex;background:var(--bg-sunk);border-radius:10px;padding:3px;margin:8px 16px 16px;gap:2px}.seg button{flex:1;border:0;background:transparent;padding:10px;border-radius:8px;font-weight:600;font-size:14px;color:var(--text-mute);cursor:pointer;transition:all .15s}.seg button.active.expense{background:var(--neg);color:#fff}.seg button.active.income{background:var(--pos);color:#fff}.amount-stage{text-align:center;padding:8px 16px 24px}.amount-stage .currency{font-family:var(--font-mono);font-size:20px;color:var(--text-mute);vertical-align:top;margin-right:4px;position:relative;top:12px}.amount-stage input{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:56px;font-weight:500;letter-spacing:-.03em;border:0;outline:0;background:transparent;width:auto;max-width:70%;text-align:center;color:var(--text);padding:0}.amount-stage input::placeholder{color:var(--text-faint)}.form-rows{display:flex;flex-direction:column;border-top:1px solid var(--border)}.form-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.form-row .lbl{width:90px;font-size:13px;color:var(--text-mute);font-weight:500}.form-row .ctrl{flex:1;display:flex;align-items:center;gap:8px}.form-row input[type=text],.form-row input[type=date],.form-row select{width:100%;border:0;outline:0;background:transparent;font-size:15px;padding:4px 0;color:var(--text)}.form-row select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-row .pill-select{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px}.form-row .pill-select .swatch{width:14px;height:14px;border-radius:4px}.form-row .date-ctrl{flex-wrap:wrap;gap:8px 10px}.form-row .date-ctrl input[type=date]{width:auto;flex:0 0 auto;min-width:0}.date-mode-seg{display:inline-flex;background:var(--bg-sunk);border-radius:8px;padding:2px;gap:2px}.date-mode-seg button{border:0;background:transparent;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-soft);cursor:pointer;transition:background .12s,color .12s}.date-mode-seg button:hover{color:var(--text)}.date-mode-seg button.active{background:var(--bg-elev);color:var(--text);box-shadow:0 1px 2px #0000000f}.date-arrow{color:var(--text-mute);font-family:var(--font-mono);font-size:14px;-webkit-user-select:none;user-select:none}.cat-grid{padding:4px 12px 16px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cat-chip{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:border-color .15s,background .15s}.cat-chip:hover{border-color:var(--border-strong)}.cat-chip.active{border-color:var(--ink-1);background:var(--ink-1);color:var(--paper)}.cat-chip .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:13px}.cat-chip .nm{font-size:11px;font-weight:500;text-align:center}.sheet-submit{padding:12px 16px 16px;background:var(--bg-elev);position:sticky;bottom:0;border-top:1px solid var(--border)}.btn-primary{width:100%;background:var(--ink-1);color:var(--paper);border:0;padding:14px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--ink-0)}.btn-primary:disabled{background:var(--ink-7);color:var(--text-faint);cursor:not-allowed}.btn-primary.btn-sm{width:auto;padding:7px 14px;font-size:13px;border-radius:8px}.divider-line{height:1px;background:var(--border);margin:var(--s-5) 0}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:500;background:var(--bg-sunk);color:var(--text-soft);border:1px solid var(--border)}.pill.pos{background:var(--pos-soft);color:var(--pos);border-color:transparent}.pill.neg{background:var(--neg-soft);color:var(--neg);border-color:transparent}.dropdown{position:absolute;top:100%;left:0;margin-top:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-pop);min-width:240px;padding:6px;z-index:50}.dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background .12s}.dropdown-item:hover,.dropdown-item.active{background:var(--bg-sunk)}.dropdown-item .swatch{width:16px;height:16px;border-radius:4px}.dropdown-item .all-mark{width:16px;height:16px;border-radius:4px;background:var(--ink-1);color:var(--paper);display:grid;place-items:center;font-size:9px;font-weight:600}.dropdown-item .check{margin-left:auto;color:var(--text)}.dropdown-divider{height:1px;background:var(--border);margin:6px 0}.dropdown-item.muted{color:var(--text-mute);font-weight:500}.switcher-wrap{position:relative}.bar-chart{display:flex;align-items:flex-end;gap:6px;height:80px;padding:10px 0 0}.bar-chart .bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.bar-chart .bar-stack{width:100%;display:flex;flex-direction:column;justify-content:flex-end;height:100%;border-radius:3px;overflow:hidden}.bar-chart .bar-pos{background:var(--pos)}.bar-chart .bar-neg{background:var(--neg)}.bar-chart .bar-label{font-size:10px;color:var(--text-mute);font-family:var(--font-mono)}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%) translateY(20px);background:var(--ink-1);color:var(--paper);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:500;box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:200;display:flex;align-items:center;gap:8px}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media (min-width: 900px){.toast{bottom:32px}}.toast .check-ic{width:18px;height:18px;border-radius:50%;background:var(--pos);display:grid;place-items:center;color:#fff}.report-tabs{display:inline-flex;background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:3px;margin-bottom:var(--s-5)}.report-tabs button{background:transparent;border:0;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-mute);cursor:pointer}.report-tabs button.active{background:var(--ink-1);color:var(--paper)}.daterange-wrap{position:relative}.daterange-pop{position:absolute;right:0;top:100%;margin-top:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-pop);padding:14px;z-index:60;min-width:280px}.daterange-pop .row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.daterange-pop label{font-size:11px;color:var(--text-mute);font-weight:500;text-transform:uppercase;letter-spacing:.04em;width:44px}.daterange-pop input[type=date]{flex:1;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--bg);font-size:14px;outline:0}.daterange-pop input[type=date]:focus{border-color:var(--ink-1)}.daterange-pop .presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.daterange-pop .presets button{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text-soft);font-weight:500}.daterange-pop .presets button:hover{border-color:var(--border-strong);color:var(--text)}.daterange-pop .actions{display:flex;gap:6px;justify-content:flex-end;border-top:1px solid var(--border);padding-top:10px}.daterange-pop .actions button{font-size:13px;padding:6px 12px;border-radius:8px;cursor:pointer;font-weight:500}.daterange-pop .actions .cancel{background:transparent;border:1px solid var(--border);color:var(--text)}.daterange-pop .actions .apply{background:var(--ink-1);color:var(--paper);border:0}.export-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-2);font-size:13px;font-weight:500;cursor:pointer;color:var(--text)}.export-btn:hover{border-color:var(--border-strong)}.export-wrap{position:relative;display:inline-block}.export-menu{position:absolute;right:0;top:100%;margin-top:6px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);box-shadow:var(--shadow-pop);padding:6px;min-width:220px;z-index:60}.export-menu .item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500}.export-menu .item:hover{background:var(--bg-sunk)}.export-menu .item .sub{color:var(--text-mute);font-size:12px;font-weight:400}.export-menu .item .ic-wrap{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;background:var(--pos-soft);color:var(--pos);font-family:var(--font-mono);font-weight:600;font-size:11px}.export-menu .item .ic-wrap.csv{background:var(--accent-soft);color:var(--accent)}.toolbar-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:var(--s-4)}.toolbar-row .left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}[data-variant=dense] .tx{padding:8px 16px}[data-variant=dense] .tx-icon{display:none}[data-variant=dense] .tx{grid-template-columns:1fr auto}[data-variant=dense] .kpi-hero{padding:16px}[data-variant=dense] .kpi-hero-value{font-size:32px}[data-variant=card] .tx-card{background:transparent;border:0}[data-variant=card] .tx-day-head{background:transparent;border:0;padding-left:4px}[data-variant=card] .tx{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-2);margin-bottom:6px}[data-variant=card] .tx:last-child{border-bottom:1px solid var(--border)}@media (max-width: 1199px){.topbar-spacer{flex-basis:100%;width:100%;height:0}}@media (max-width: 899px){.topbar{gap:10px;padding:12px 16px}.period-tabs{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.period-tabs::-webkit-scrollbar{display:none}}@media (max-width: 480px){.topbar{padding:10px 12px;gap:8px}.brand{font-size:14px;gap:8px}.brand-mark{width:20px;height:20px;font-size:13px}.company-switcher{padding:5px 8px 5px 6px;font-size:13px;gap:8px}.company-switcher .swatch,.company-switcher .all-mark{width:16px;height:16px}.main{padding:16px 14px 100px}.page-title{font-size:24px}.page-sub{font-size:13px}.kpi-hero{padding:18px}.kpi-hero-value{font-size:32px;overflow-wrap:anywhere;word-break:break-word}.kpi-row{gap:8px}.kpi{padding:12px}.kpi-value,.company-pl{font-size:18px}.pl-card-pl{font-size:16px}.fab{width:52px;height:52px;right:14px;bottom:78px}.report-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.report-tabs::-webkit-scrollbar{display:none}}.btn-ghost{background:transparent;border:1px solid var(--border);padding:6px 12px;border-radius:8px;font-size:13px;color:var(--text);cursor:pointer;font-weight:500;transition:border-color .15s,background .15s}.btn-ghost:hover{border-color:var(--border-strong);background:var(--bg-sunk)}.btn-ghost.btn-sm{padding:3px 8px;font-size:12px;border-radius:6px;font-weight:500}.emp-form{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.emp-form-row{display:flex;gap:10px;flex-wrap:wrap}.emp-form input{flex:1;min-width:140px;border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:var(--bg);outline:0;font-size:14px;color:var(--text)}.emp-form input:focus{border-color:var(--ink-1)}.emp-form button{padding:8px 16px;border:0;border-radius:8px;color:var(--paper);font-weight:600;font-size:13px}.emp-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .12s}.emp-row:last-child{border-bottom:0}.emp-row:hover{background:var(--bg-sunk)}.emp-row .emp-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-sunk);color:var(--text);display:grid;place-items:center;font-family:var(--font-serif);font-size:14px;font-weight:500;letter-spacing:-.01em}.emp-row .emp-body{min-width:0}.emp-row .emp-name{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-row .emp-meta{font-size:12px;color:var(--text-mute);display:flex;align-items:center}.emp-row:hover .tx-del-btn{opacity:1}.logo-preview{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;color:#fff;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.04em;background-size:cover;background-position:center;flex-shrink:0;border:1px solid var(--border)}.emp-match-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--accent-soft);color:var(--text)}.emp-match-notice.neutral{border-color:var(--border);background:var(--bg-sunk)}.emp-match-body{min-width:0}.emp-match-line{font-size:13px;color:var(--text);word-break:break-word}.emp-match-line strong{color:var(--accent);font-weight:600}.emp-match-meta{margin-top:4px;font-size:12px;color:var(--text-mute);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.emp-match-already{font-size:12px;color:var(--text-mute);white-space:nowrap}.emp-companies{display:flex;flex-wrap:wrap;gap:6px}.emp-co-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .12s}.emp-co-chip:hover{border-color:var(--border-strong)}.emp-co-chip .swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.emp-co-chip.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.emp-co-chip.active .emp-co-check{color:var(--accent);font-weight:700;font-size:12px}.emp-co-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.emp-co-badges{display:inline-flex;gap:4px}.emp-co-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:4px;border:1px solid}.emp-creds{margin-top:6px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text-mute)}.emp-creds-label{text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600;color:var(--text-mute)}.emp-pwd{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;background:var(--bg-sunk);border-radius:5px;padding:2px 8px;color:var(--text)}.kpi.clickable{cursor:pointer;font:inherit;text-align:left;width:100%;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.kpi.clickable:hover{border-color:var(--border-strong)}.kpi.clickable.active{border-color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,var(--bg-elev)) 0%,var(--bg-elev) 100%);box-shadow:0 0 0 3px var(--accent-soft),0 6px 20px #6366f11a}.kpi.clickable.active .kpi-label{color:var(--accent)}.kpi.clickable:active:not(:disabled){transform:scale(.99)}.tx-del-btn{width:26px;height:26px;border-radius:6px;border:0;background:transparent;color:var(--text-mute);cursor:pointer;display:grid;place-items:center;font-size:18px;line-height:1;padding:0;opacity:0;transition:opacity .15s,background .15s,color .15s}.tx:hover .tx-del-btn{opacity:1}.tx-del-btn:hover{background:var(--neg-soft);color:var(--neg);opacity:1}@media (hover: none){.tx-del-btn{opacity:.55}}@media (max-width: 600px){.daterange-pop{min-width:0;width:min(320px,calc(100vw - 24px));right:0;left:auto}.export-menu{min-width:0;width:min(260px,calc(100vw - 24px))}}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:100%;max-width:380px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:28px;box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:14px}.login-brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}.login-title{font-size:28px;font-weight:400;letter-spacing:-.02em;margin:4px 0 0}.login-sub{margin:0 0 6px;color:var(--text-mute);font-size:14px}.login-fields{display:flex;flex-direction:column;gap:10px}.login-fields label{display:flex;flex-direction:column;gap:4px}.login-lbl{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.login-fields input{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--bg);font-size:15px;outline:0;color:var(--text);transition:border-color .12s}.login-fields input:focus{border-color:var(--ink-1)}.login-error{background:var(--neg-soft);color:var(--neg);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500}.login-submit{margin-top:6px;padding:12px 14px;border:0;border-radius:10px;background:var(--ink-1);color:var(--paper);font-weight:600;font-size:15px;cursor:pointer;transition:background .15s}.login-submit:hover{background:var(--ink-0)}.login-hint{margin:4px 0 0;text-align:center;font-size:12px;color:var(--text-mute)}.login-hint code{background:var(--bg-sunk);border-radius:4px;padding:1px 5px;font-family:var(--font-mono);font-size:11px;color:var(--text)}.user-badge-wrap{position:relative;margin-left:auto}.notif-wrap{position:relative}.notif-btn{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev);color:var(--text);cursor:pointer;display:grid;place-items:center;transition:border-color .15s,background .15s,transform .12s}.notif-btn:hover{border-color:var(--border-strong)}.notif-btn.has-unread{border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent-grad);color:#fff;font-family:var(--font-mono);font-size:10px;font-weight:700;display:grid;place-items:center;box-shadow:0 4px 10px #6366f166;border:2px solid var(--bg)}.notif-dropdown{left:auto;right:0;min-width:320px;max-width:360px;padding:0;overflow:hidden}.notif-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);gap:8px}.notif-title{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-.01em}.notif-empty{padding:28px 16px;text-align:center;font-size:13px;color:var(--text-mute)}.notif-list{max-height:60vh;overflow-y:auto}.notif-item{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s}.notif-item:last-child{border-bottom:0}.notif-item:hover{background:var(--bg-sunk)}.notif-item.unread{background:color-mix(in srgb,var(--accent-soft) 70%,var(--bg-elev))}.notif-item.unread:hover{background:var(--accent-soft)}.notif-icon{width:28px;height:28px;border-radius:50%;background:var(--bg-sunk);display:grid;place-items:center;font-size:14px}.notif-body{min-width:0}.notif-msg{font-size:13px;font-weight:500;color:var(--text);line-height:1.3;word-break:break-word}.notif-preview{margin-top:3px;font-size:12px;color:var(--text-soft);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-meta{margin-top:4px;font-size:11px;color:var(--text-mute);display:flex;align-items:center;gap:6px}.notif-meta .dot{width:3px;height:3px;background:currentColor;border-radius:50%;opacity:.4}.notif-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:8px}.notif-foot{padding:8px 12px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}@media (max-width: 480px){.notif-dropdown{min-width:0;width:calc(100vw - 24px);max-width:calc(100vw - 24px)}}.user-badge{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 5px;background:var(--bg-elev);border:1px solid var(--border);border-radius:999px;cursor:pointer;font-size:13px;font-weight:500;color:var(--text);transition:border-color .12s,background .12s}.user-badge:hover{border-color:var(--border-strong)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--ink-1);color:var(--paper);display:grid;place-items:center;font-size:11px;font-weight:600;font-family:var(--font-serif);letter-spacing:-.02em}.user-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{left:auto;right:0;min-width:220px}.user-info{padding:10px 10px 4px}.user-info-name{font-weight:600;font-size:14px}.user-info-meta{font-size:12px;color:var(--text-mute)}@media (max-width: 480px){.user-name{display:none}.user-badge{padding:4px 8px 4px 4px}}:root{--accent: #6366f1;--accent-strong: #4f46e5;--accent-soft: #eef2ff;--accent-2: #8b5cf6;--accent-3: #ec4899;--accent-grad: linear-gradient(135deg, #6366f1 0%, #8b5cf6 55%, #ec4899 100%);--accent-grad-soft: linear-gradient(135deg, rgba(99,102,241,.1), rgba(236,72,153,.1));--pos: #10b981;--pos-soft: #d1fae5;--pos-grad: linear-gradient(135deg, #10b981 0%, #06b6d4 100%);--neg: #f43f5e;--neg-soft: #ffe4e6;--neg-grad: linear-gradient(135deg, #f43f5e 0%, #ec4899 100%);--bg: #fbfbfd;--bg-elev: #ffffff;--bg-sunk: #f3f4f6;--border: #e6e6ee;--border-strong: #d1d5db;--cat-1: #6366f1;--cat-2: #f59e0b;--cat-3: #10b981;--cat-4: #ec4899;--cat-5: #06b6d4;--cat-6: #f97316;--cat-7: #8b5cf6;--cat-8: #f43f5e;--shadow-1: 0 1px 0 rgba(15,23,42,.04), 0 1px 2px rgba(15,23,42,.04);--shadow-2: 0 1px 0 rgba(15,23,42,.04), 0 6px 18px rgba(79,70,229,.08);--shadow-pop: 0 18px 50px rgba(79,70,229,.2), 0 2px 8px rgba(15,23,42,.06);--r-3: 14px;--r-4: 18px}[data-theme=dark]{--bg: #0b0b12;--bg-elev: #14141d;--bg-sunk: #07070d;--border: #232336;--border-strong: #34344e;--text: #f2f2f7;--text-soft: #c8c8d6;--text-mute: #8e8ea3;--accent: #818cf8;--accent-strong:#6366f1;--accent-soft: #1e1b3a;--accent-grad: linear-gradient(135deg, #818cf8 0%, #a78bfa 55%, #f472b6 100%);--pos: #34d399;--pos-soft: #06281f;--neg: #fb7185;--neg-soft: #2c0f15;--shadow-pop: 0 18px 50px rgba(0,0,0,.65), 0 2px 8px rgba(0,0,0,.4)}.brand-mark{background:var(--accent-grad);color:#fff;box-shadow:0 4px 14px #6366f166}.brand{letter-spacing:-.02em}.topbar{background:color-mix(in srgb,var(--bg) 78%,transparent);border-bottom-color:color-mix(in srgb,var(--accent) 8%,var(--border))}.fab{background:var(--accent-grad)!important;color:#fff;box-shadow:0 14px 36px #6366f173,0 4px 10px #ec489940;transition:transform .18s ease,box-shadow .18s ease}.fab:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 20px 50px #6366f18c,0 6px 14px #ec489959}.fab:active{transform:translateY(0) scale(.96)}.btn-primary,.login-submit{background:var(--accent-grad)!important;color:#fff!important;border:0;box-shadow:0 8px 22px #6366f14d;transition:transform .14s,box-shadow .14s,opacity .14s}.btn-primary:hover:not(:disabled),.login-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px #6366f166}.btn-primary:active:not(:disabled),.login-submit:active{transform:translateY(0) scale(.98)}.btn-primary:disabled{background:var(--ink-7)!important;box-shadow:none;opacity:.85}.period-tabs button.active,.report-tabs button.active,.seg button.active{background:var(--accent-grad);color:#fff}.period-tabs{border-color:color-mix(in srgb,var(--accent) 14%,var(--border))}.all-mark,.user-avatar,.dropdown-item .all-mark{background:var(--accent-grad);color:#fff}.kpi-hero{position:relative;overflow:hidden;border-radius:var(--r-4)}.kpi-hero:before{content:"";position:absolute;inset:-50% -10% auto auto;width:70%;aspect-ratio:1;background:radial-gradient(circle,rgba(99,102,241,.18) 0%,rgba(236,72,153,.1) 45%,transparent 70%);filter:blur(12px);pointer-events:none;z-index:0}.kpi-hero>*{position:relative;z-index:1}.kpi-hero-value{letter-spacing:-.03em}.kpi-hero-value.pos{background:var(--pos-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.kpi-hero-value.neg{background:var(--neg-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.kpi-hero-delta .chip.pos{background:var(--pos-soft);color:var(--pos)}.kpi-hero-delta .chip.neg{background:var(--neg-soft);color:var(--neg)}.kpi,.company-card,.pl-card,.tx-card{border-radius:var(--r-4);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.company-card:hover,.pl-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:0 10px 28px #4f46e51a}.tx{transition:background .15s ease}.tx:hover{background:color-mix(in srgb,var(--accent-soft) 60%,var(--bg-elev))}button:not(:disabled){transition:transform .12s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease}button:active:not(:disabled){transform:scale(.97)}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}.login-fields input:focus,.daterange-pop input[type=date]:focus,.emp-form input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:0}.toast{background:var(--accent-grad);color:#fff;border-radius:14px;box-shadow:0 14px 40px #6366f166;font-weight:600}.toast .check-ic{background:#ffffff40;color:#fff}.empty{padding:48px 20px}.empty:before{content:"✦";display:block;font-size:30px;line-height:1;margin-bottom:10px;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;opacity:.7}.login-screen{background:radial-gradient(ellipse at top left,color-mix(in srgb,var(--accent) 18%,transparent),transparent 55%),radial-gradient(ellipse at bottom right,color-mix(in srgb,var(--accent-3) 18%,transparent),transparent 55%),var(--bg);position:relative;overflow:hidden}.login-screen:before,.login-screen:after{content:"";position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}.login-screen:before{top:-15%;left:-15%;width:320px;height:320px;background:radial-gradient(circle,rgba(99,102,241,.22),transparent 65%)}.login-screen:after{bottom:-15%;right:-15%;width:360px;height:360px;background:radial-gradient(circle,rgba(236,72,153,.18),transparent 65%)}.login-card{position:relative;z-index:1;border-radius:18px;background:color-mix(in srgb,var(--bg-elev) 88%,transparent);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border-color:color-mix(in srgb,var(--accent) 12%,var(--border))}.login-brand .brand-mark{width:28px;height:28px;font-size:16px}.login-title{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:32px}.login-pw-wrap{position:relative}.login-pw-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:0;cursor:pointer;font-size:12px;font-weight:600;color:var(--accent);padding:4px 8px;border-radius:6px}.login-pw-toggle:hover{background:var(--accent-soft)}.sheet{border-top-left-radius:24px;border-top-right-radius:24px}@media (min-width: 700px){.sheet{border-radius:20px}}.sheet-handle{background:var(--accent);opacity:.3}.amount-stage .currency,.amount-stage input{background:linear-gradient(180deg,var(--text) 0%,color-mix(in srgb,var(--text) 70%,var(--accent)) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.company-switcher{border-radius:12px;transition:border-color .15s,transform .15s}.company-switcher:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.tabbar button.active{color:var(--accent)}.tabbar button.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:30px;height:3px;background:var(--accent-grad);border-radius:0 0 4px 4px}.tabbar button{position:relative}.dropdown-item.active{background:var(--accent-soft)}.dropdown-item .check{color:var(--accent)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:999px;border:2px solid var(--bg)}*::-webkit-scrollbar-track{background:transparent}.tabbar-5{grid-template-columns:repeat(5,1fr)}.tabbar-5 button{font-size:10px;padding:8px 2px 6px;gap:2px}.tabbar-5 button span:not(.ic){display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabbar-6{grid-template-columns:repeat(6,1fr)}.tabbar-6 button{font-size:9px;padding:8px 1px 6px;gap:2px}.tabbar-6 button .ic{width:18px;height:18px}.tabbar-6 button span:not(.ic){display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabbar-2{grid-template-columns:repeat(2,1fr)}.tabbar-2 button{font-size:12px;padding:10px 4px 8px}.tabbar-3{grid-template-columns:repeat(3,1fr)}.tabbar-3 button{font-size:11px;padding:9px 4px 7px}.app.no-tabbar .main{padding-bottom:32px}@media (max-width: 360px){.tabbar-5 button{font-size:10px}.tabbar-5 button .ic{width:18px;height:18px}}.task-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:var(--s-4)}@media (max-width: 600px){.task-stats{grid-template-columns:repeat(2,1fr)}}.task-stat{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:14px 16px;cursor:pointer;text-align:left;transition:border-color .15s,transform .12s,box-shadow .15s;font:inherit;color:inherit}.task-stat:hover{border-color:var(--border-strong)}.task-stat.active{border-color:var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--bg-elev)) 0%,var(--bg-elev) 100%);box-shadow:0 0 0 3px var(--accent-soft)}.task-stat:active:not(:disabled){transform:scale(.99)}.task-stat-label{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);margin-bottom:6px}.task-stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:500;letter-spacing:-.02em;color:var(--text)}.task-overview{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:16px 18px;margin-bottom:var(--s-4)}.task-overview-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}.task-overview-pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--text);font-weight:600}.task-progress{height:8px;background:var(--bg-sunk);border-radius:999px;overflow:hidden}.task-progress-sm{height:6px;margin-top:8px}.task-progress-fill{height:100%;background:var(--pos-grad);border-radius:999px;transition:width .3s ease}.assignee-grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width: 700px){.assignee-grid{grid-template-columns:1fr 1fr}}.assignee-card{background:var(--bg-sunk);border:1px solid var(--border);border-radius:var(--r-2);padding:12px 14px}.assignee-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.assignee-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assignee-overdue{font-size:11px;font-weight:600;background:var(--neg-soft);color:var(--neg);padding:2px 8px;border-radius:999px;white-space:nowrap}.assignee-meta{margin-top:4px;font-size:12px;color:var(--text-soft)}.assignee-meta strong{color:var(--text);font-weight:600}.task-form{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:14px;margin-bottom:var(--s-4);display:flex;flex-direction:column;gap:10px}.task-form input,.task-form textarea,.task-form select{border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:var(--bg);outline:0;font:inherit;font-size:14px;color:var(--text);width:100%}.task-form textarea{resize:vertical;min-height:60px;font-family:var(--font-sans)}.task-form input:focus,.task-form textarea:focus,.task-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.task-form-row{display:flex;gap:10px;flex-wrap:wrap}.task-form-field{flex:1;min-width:140px;display:flex;flex-direction:column;gap:4px}.task-form-field>span{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute)}.task-form-actions{display:flex;gap:8px;justify-content:flex-end}.task-list{display:flex;flex-direction:column;gap:10px}.task-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s,transform .15s}.task-card:hover{border-color:var(--border-strong)}.task-card.is-overdue{border-color:color-mix(in srgb,var(--neg) 50%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--neg) 4%,var(--bg-elev)) 0%,var(--bg-elev) 100%)}.task-card.status-done{opacity:.85}.task-card.status-cancelled .task-title,.task-card.status-done .task-title{text-decoration:line-through;opacity:.7}.task-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.task-title-wrap{display:flex;align-items:center;gap:10px;min-width:0}.task-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-title{font-size:15px;font-weight:600;color:var(--text);letter-spacing:-.01em;word-break:break-word}.task-status-pill{font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 10px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;background:color-mix(in srgb,currentColor 8%,transparent)}.task-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--text-soft)}.task-meta-overdue{color:var(--neg);font-weight:500}.task-desc{font-size:14px;color:var(--text-soft);line-height:1.5;white-space:pre-wrap;background:var(--bg-sunk);border-radius:8px;padding:10px 12px}.task-status-actions{display:flex;gap:6px;flex-wrap:wrap}.task-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:10px}.task-del-btn{width:26px;height:26px;border-radius:6px;border:0;background:transparent;color:var(--text-mute);cursor:pointer;font-size:18px;line-height:1;padding:0;display:grid;place-items:center;transition:background .15s,color .15s}.task-del-btn:hover{background:var(--neg-soft);color:var(--neg)}.task-comments{display:flex;flex-direction:column;gap:10px;background:var(--bg-sunk);border-radius:10px;padding:12px}.task-comment-empty{font-size:13px;color:var(--text-mute);text-align:center;padding:4px 0}.task-comment{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;padding:8px 12px}.task-comment-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12px}.task-comment-head strong{color:var(--text);font-weight:600}.task-comment-time{color:var(--text-mute);font-family:var(--font-mono);font-size:11px}.task-comment-text{margin-top:4px;font-size:14px;color:var(--text);line-height:1.4;white-space:pre-wrap}.task-comment-form{display:flex;gap:6px;margin-top:4px}.task-comment-form input{flex:1;border:1px solid var(--border);border-radius:8px;padding:8px 12px;background:var(--bg-elev);outline:0;font-size:14px;color:var(--text)}.task-comment-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.news-form{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-3);padding:14px;display:flex;flex-direction:column;gap:10px;margin-bottom:var(--s-4)}.news-form input,.news-form textarea,.news-form select{border:1px solid var(--border);border-radius:8px;padding:9px 12px;background:var(--bg);outline:0;font:inherit;font-size:14px;color:var(--text);width:100%}.news-form textarea{resize:vertical;min-height:90px;font-family:var(--font-sans);line-height:1.5}.news-form input:focus,.news-form textarea:focus,.news-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.news-form-row{display:flex;gap:10px;flex-wrap:wrap}.news-form-field{flex:1;min-width:180px;display:flex;flex-direction:column;gap:4px}.news-form-field>span{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute)}.news-form-actions{display:flex;gap:8px;justify-content:flex-end}.news-scope-select{border:1px solid var(--border);border-radius:8px;padding:7px 10px;background:var(--bg-elev);font:inherit;font-size:13px;color:var(--text);cursor:pointer}.news-list{display:flex;flex-direction:column;gap:12px}.news-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-4);padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s,transform .15s}.news-card:hover{border-color:var(--border-strong);box-shadow:0 8px 24px #4f46e50f}.news-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.news-title{font-family:var(--font-serif);font-size:19px;font-weight:500;letter-spacing:-.01em;color:var(--text);word-break:break-word;line-height:1.25}.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12px;color:var(--text-mute)}.news-meta .dot{width:3px;height:3px;background:currentColor;border-radius:50%;opacity:.45}.news-author{color:var(--text-soft);font-weight:500}.news-scope{background:var(--accent-soft);color:var(--accent);padding:2px 8px;border-radius:999px;font-weight:500}.news-body{font-size:14px;color:var(--text);line-height:1.55;white-space:pre-wrap}.news-footer{border-top:1px solid var(--border);padding-top:8px;display:flex;justify-content:flex-start}.news-comments{display:flex;flex-direction:column;gap:10px;background:var(--bg-sunk);border-radius:10px;padding:12px}.chat-container{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-4);display:flex;flex-direction:column;height:min(70vh,640px);overflow:hidden}.chat-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px;scroll-behavior:smooth}.chat-empty{flex:1;display:grid;place-items:center}.chat-msg{display:flex;flex-direction:column;align-items:flex-start;max-width:80%;margin-top:8px}.chat-msg.stacked{margin-top:1px}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-msg-author{font-size:11px;font-weight:600;color:var(--text-mute);margin-bottom:3px;padding:0 4px}.chat-msg-bubble{padding:8px 12px;border-radius:14px;background:var(--bg-sunk);color:var(--text);font-size:14px;line-height:1.45;word-break:break-word;white-space:pre-wrap;display:inline-flex;align-items:flex-end;gap:8px;flex-wrap:wrap;border:1px solid var(--border)}.chat-msg.mine .chat-msg-bubble{background:var(--accent-grad);color:#fff;border-color:transparent;box-shadow:0 4px 14px #6366f14d}.chat-msg-time{font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:var(--text-mute);font-weight:500;white-space:nowrap;flex-shrink:0;margin-left:auto;opacity:.85}.chat-msg.mine .chat-msg-time{color:#ffffffd9}.chat-msg.stacked.mine .chat-msg-bubble{border-top-right-radius:6px}.chat-msg.stacked:not(.mine) .chat-msg-bubble{border-top-left-radius:6px}.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 96%,var(--accent-soft))}.chat-input input{flex:1;border:1px solid var(--border);border-radius:999px;padding:10px 16px;background:var(--bg);font-size:14px;color:var(--text);outline:0}.chat-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
