:root{--font-ui: "Golos Text", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg: #0e1424;--bg-glow: radial-gradient(900px 500px at 12% -10%, rgba(245, 182, 63, .1), transparent 60%), radial-gradient(700px 400px at 100% 0%, rgba(96, 165, 250, .08), transparent 55%);--surface: #151c2f;--surface-2: #1c2540;--surface-3: #243052;--line: rgba(160, 176, 210, .14);--line-strong: rgba(160, 176, 210, .28);--text: #e9edf6;--text-2: #aab4ca;--text-3: #727d97;--accent: #f5b63f;--accent-strong: #ffc85a;--accent-ink: #1b1300;--accent-soft: rgba(245, 182, 63, .14);--ok: #34d399;--ok-soft: rgba(52, 211, 153, .14);--warn: #fbbf24;--warn-soft: rgba(251, 191, 36, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .14);--info: #7cb0ff;--info-soft: rgba(124, 176, 255, .14);--violet: #b396ff;--violet-soft: rgba(179, 150, 255, .14);--shadow: 0 18px 50px rgba(0, 0, 0, .45);--shadow-sm: 0 6px 18px rgba(0, 0, 0, .25);--r-ctl: 10px;--r-card: 16px;--r-hero: 22px;--sidebar: 248px;--content: 1120px;color-scheme:dark}[data-theme=light]{--bg: #f2f4f8;--bg-glow: radial-gradient(900px 500px at 12% -10%, rgba(245, 182, 63, .16), transparent 60%);--surface: #ffffff;--surface-2: #f6f7fb;--surface-3: #eceff6;--line: rgba(20, 30, 60, .1);--line-strong: rgba(20, 30, 60, .2);--text: #141a2b;--text-2: #4b5569;--text-3: #7a8499;--accent: #e9a92a;--accent-strong: #d9960f;--accent-ink: #1b1300;--accent-soft: rgba(233, 169, 42, .16);--ok: #059669;--ok-soft: rgba(5, 150, 105, .12);--warn: #d97706;--warn-soft: rgba(217, 119, 6, .12);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .1);--info: #2563eb;--info-soft: rgba(37, 99, 235, .1);--violet: #7c3aed;--violet-soft: rgba(124, 58, 237, .1);--shadow: 0 18px 50px rgba(20, 30, 60, .14);--shadow-sm: 0 6px 18px rgba(20, 30, 60, .08);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);background-image:var(--bg-glow);background-attachment:fixed;color:var(--text);font-family:var(--font-ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"tnum" 1}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::selection{background:var(--accent-soft)}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:13px}.tiny{font-size:12px}.strong{font-weight:600}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row{display:flex;align-items:center;gap:10px}.wrap{flex-wrap:wrap}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.right{text-align:right}.mt{margin-top:16px}.mt-s{margin-top:8px}.mb{margin-bottom:16px}.mb-s{margin-bottom:8px}.only-mobile{display:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.input,select.input,textarea.input{width:100%;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-ctl);padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s;min-height:42px}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea.input{resize:vertical;min-height:96px;line-height:1.5}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:13px;color:var(--text-2);font-weight:500}.field .hint{font-size:12px;color:var(--text-3)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .span{grid-column:1 / -1}.code-input{font-family:var(--font-num);font-size:30px;letter-spacing:.5em;text-align:center;padding-left:.5em}.search{position:relative}.search .input{padding-left:38px}.search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch i{width:42px;height:24px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line-strong);position:relative;transition:background .15s;flex:none}.switch i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--text-2);transition:transform .15s,background .15s}.switch input:checked+i{background:var(--accent);border-color:var(--accent)}.switch input:checked+i:after{transform:translate(18px);background:var(--accent-ink)}.switch input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-ctl);padding:10px 16px;font-weight:600;font-size:14px;line-height:1.2;white-space:nowrap;min-height:42px;background:var(--surface-2);color:var(--text);border:1px solid var(--line-strong);transition:background .12s,border-color .12s,transform .06s,opacity .12s}.btn:hover{background:var(--surface-3)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn svg{flex:none}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn-primary:hover{background:var(--accent-strong)}.btn-ok{background:var(--ok);color:#04261a;border-color:transparent}.btn-ok:hover{filter:brightness(1.05)}.btn-danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.btn-danger:hover{background:var(--danger);color:#fff}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-sm{padding:7px 12px;min-height:34px;font-size:13px;border-radius:8px}.btn-icon{padding:0;width:38px;min-height:38px;border-radius:10px}.btn-icon.btn-sm{width:32px;min-height:32px}.btn-block{width:100%}.btn-link{color:var(--info);font-weight:500;padding:0;min-height:0;background:none;border:0}.btn-link:hover{text-decoration:underline;background:none}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:7px 13px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);font-size:13px;font-weight:500;transition:.12s;min-height:34px;display:inline-flex;align-items:center;gap:6px}.chip:hover{color:var(--text);border-color:var(--line-strong)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.chip .count{font-family:var(--font-num);font-size:12px;color:var(--text-3)}.badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;line-height:1.3;white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge.paid,.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.pending,.badge.info{background:var(--info-soft);color:var(--info)}.badge.soon,.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.overdue,.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.partial,.badge.violet{background:var(--violet-soft);color:var(--violet)}.badge.neutral{background:var(--surface-3);color:var(--text-2)}.badge.plain:before{display:none}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot.ok{background:var(--ok)}.dot.danger{background:var(--danger)}.dot.warn{background:var(--warn)}.dot.info{background:var(--info)}.count-pill{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-num)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.card-head h2{font-size:16px;font-weight:600;letter-spacing:-.01em}.card-head .sub{font-size:13px;color:var(--text-3);margin-top:2px}.section-title{font-size:13px;color:var(--text-3);font-weight:500;margin:22px 0 10px}.page-head{margin-bottom:20px}.page-head h1{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.page-head p{color:var(--text-2);margin-top:4px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:16px}.grid-2>*,.grid-3>*,.grid-hero>*,.stats>*{min-width:0}.divider{height:1px;background:var(--line);margin:14px 0}.list{display:flex;flex-direction:column}.list>.item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}.list>.item:last-child{border-bottom:0}.list>.item.clickable{cursor:pointer;margin:0 -8px;padding:12px 8px;border-radius:10px;transition:background .1s}.list>.item.clickable:hover{background:var(--surface-2)}.item .icon{width:40px;height:40px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;color:var(--text-2);flex:none}.item .icon.ok{background:var(--ok-soft);color:var(--ok)}.item .icon.danger{background:var(--danger-soft);color:var(--danger)}.item .icon.warn{background:var(--warn-soft);color:var(--warn)}.item .icon.info{background:var(--info-soft);color:var(--info)}.item .icon.accent{background:var(--accent-soft);color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.stat{padding:16px 18px;border-right:1px solid var(--line);min-width:0}.stat:last-child{border-right:0}.stat .label{font-size:13px;color:var(--text-2)}.stat .value{font-family:var(--font-num);font-size:22px;font-weight:700;margin-top:4px;letter-spacing:-.02em}.stat .value.ok{color:var(--ok)}.stat .value.danger{color:var(--danger)}.stat .value.warn{color:var(--warn)}.stat .value.accent{color:var(--accent)}.stat .sub{font-size:12px;color:var(--text-3);margin-top:2px}.hero{position:relative;overflow:hidden;border-radius:var(--r-hero);padding:24px;background:linear-gradient(135deg,var(--surface-2),var(--surface) 70%);border:1px solid var(--line-strong);box-shadow:var(--shadow-sm)}.hero:before{content:"";position:absolute;inset:-40% -20% auto auto;width:60%;height:140%;background:radial-gradient(closest-side,var(--accent-soft),transparent);pointer-events:none}.hero.danger:before{background:radial-gradient(closest-side,var(--danger-soft),transparent)}.hero.ok:before{background:radial-gradient(closest-side,var(--ok-soft),transparent)}.hero>*{position:relative}.hero-grid{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}.hero .eyebrow{font-size:14px;color:var(--text-2)}.hero .amount{font-family:var(--font-num);font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1.05;margin-top:4px}.hero .amount.danger{color:var(--danger)}.hero .when{margin-top:6px;color:var(--text-2);display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hero .actions{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.gauge{position:relative;width:220px}.gauge svg{width:100%;height:auto;display:block;overflow:visible}.gauge .track{stroke:var(--line-strong)}.gauge .fill{stroke:var(--accent);transition:stroke-dashoffset 1.1s cubic-bezier(.3,.9,.3,1)}.gauge.ok .fill{stroke:var(--ok)}.gauge.danger .fill{stroke:var(--danger)}.gauge .tick{stroke:var(--line-strong)}.gauge .tick.major{stroke:var(--text-3)}.gauge .readout{position:absolute;left:0;right:0;bottom:8px;text-align:center}.gauge .readout .big{font-family:var(--font-num);font-size:34px;font-weight:700;letter-spacing:-.03em;line-height:1}.gauge .readout .big small{font-size:18px;color:var(--text-2);font-weight:500}.gauge .readout .cap{font-size:13px;color:var(--text-2);margin-top:4px}.gauge .lbl{font-size:11px;fill:var(--text-3);font-family:var(--font-num)}.bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar>i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .6s}.bar.ok>i{background:var(--ok)}.timeline{display:flex;flex-direction:column}.tl-item{display:grid;grid-template-columns:22px 1fr auto;gap:14px;align-items:center;padding:12px 0;position:relative}.tl-item+.tl-item:before{content:"";position:absolute;left:10px;top:-16px;width:2px;height:28px;background:var(--line)}.tl-item .node{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);display:grid;place-items:center;color:var(--surface);z-index:1}.tl-item.paid .node{background:var(--ok);border-color:var(--ok);color:#04261a}.tl-item.overdue .node{background:var(--danger);border-color:var(--danger);color:#fff}.tl-item.soon .node{border-color:var(--warn);background:var(--warn-soft)}.tl-item.partial .node{background:var(--violet);border-color:var(--violet);color:#fff}.tl-item .title{font-weight:600}.tl-item .meta{font-size:13px;color:var(--text-2);margin-top:2px}.tl-item .meta.danger{color:var(--danger)}.tl-item .meta.warn{color:var(--warn)}.tl-item .amt{font-family:var(--font-num);font-weight:700;font-size:16px;text-align:right}.tl-item .side{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}.table-wrap{overflow-x:auto;margin:0 -20px;padding:0 20px}table.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-weight:500;font-size:13px;color:var(--text-3);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--surface-2)}.table td:first-child,.table th:first-child{padding-left:0}.table td:last-child,.table th:last-child{padding-right:0}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:var(--accent-ink);background:var(--accent);flex:none;font-size:15px}.avatar.lg{width:56px;height:56px;font-size:22px}.avatar.sm{width:30px;height:30px;font-size:12px}.avatar.neutral{background:var(--surface-3);color:var(--text)}.avatar.danger{background:var(--danger);color:#fff}.empty{text-align:center;padding:36px 16px;color:var(--text-2)}.empty .ico{width:52px;height:52px;border-radius:16px;background:var(--surface-2);display:grid;place-items:center;margin:0 auto 12px;color:var(--text-3)}.empty b{display:block;color:var(--text);font-weight:600;margin-bottom:4px}.empty .act{margin-top:14px}.skeleton{background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:shimmer 1.2s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0508109e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:120;padding:16px;animation:fade .15s}.modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;padding:22px;width:100%;max-width:560px;max-height:calc(100vh - 32px);overflow:auto;box-shadow:var(--shadow);animation:pop .18s cubic-bezier(.2,.9,.3,1.2)}.modal.wide{max-width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.modal-head h2{font-size:18px;font-weight:700;letter-spacing:-.01em}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}.toasts{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text);padding:10px 16px;border-radius:12px;box-shadow:var(--shadow);font-size:14px;display:flex;gap:8px;align-items:center;animation:pop .18s;pointer-events:auto;max-width:min(92vw,520px)}.toast.ok{border-color:var(--ok)}.toast.danger{border-color:var(--danger)}.gate{min-height:100vh;display:grid;place-items:center;padding:24px}.gate-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line-strong);border-radius:22px;padding:30px 28px;box-shadow:var(--shadow)}.gate-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.gate-brand .name{font-weight:700;font-size:17px;letter-spacing:-.01em}.gate-brand .tag{font-size:13px;color:var(--text-2)}.gate h1{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}.gate p.lead{color:var(--text-2);margin-bottom:18px}.gate .err{color:var(--danger);font-size:13px;margin-top:10px}.gate .foot{margin-top:18px;font-size:13px;color:var(--text-3);text-align:center}.gate-card.shake{animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.demo-note{margin-top:16px;padding:12px 14px;border-radius:12px;background:var(--accent-soft);border:1px dashed var(--accent);font-size:13px;color:var(--text)}.demo-note b{font-family:var(--font-num)}.theme-toggle{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:11px;color:var(--text-2);font-size:13px;font-weight:500;width:100%;transition:background .1s}.theme-toggle:hover{background:var(--surface-2);color:var(--text)}.theme-toggle .knob{width:40px;height:24px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line-strong);position:relative;flex:none}.theme-toggle .knob svg{position:absolute;top:4px;left:4px;width:14px;height:14px;transition:transform .18s;color:var(--text)}.theme-toggle .knob.light{background:var(--accent);border-color:var(--accent)}.theme-toggle .knob.light svg{transform:translate(16px);color:var(--accent-ink)}.theme-fab{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text-2);display:grid;place-items:center}.theme-fab:hover{color:var(--text);background:var(--surface-3)}.gate-card{position:relative}.gate-logo{display:flex;justify-content:center;margin:4px 0 16px}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:10px;padding:6px 8px 18px}.brand .name{font-weight:700;font-size:15px;letter-spacing:-.01em;line-height:1.1}.brand .tag{font-size:12px;color:var(--text-3);margin-top:2px}.nav{display:flex;flex-direction:column;gap:2px}.nav-btn{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;color:var(--text-2);font-weight:500;font-size:14px;width:100%;text-align:left;transition:background .1s,color .1s}.nav-btn svg{flex:none}.nav-btn:hover{background:var(--surface-2);color:var(--text)}.nav-btn.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.nav-btn .count-pill{margin-left:auto}.sidebar-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.user-chip{display:flex;align-items:center;gap:10px;padding:8px 8px 10px}.user-chip .name{font-weight:600;font-size:14px}.user-chip .role{font-size:12px;color:var(--text-3)}.auto-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--surface-2);font-size:12px;color:var(--text-2)}.main{flex:1;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 28px 0;max-width:var(--content)}.topbar .title{font-size:13px;color:var(--text-3)}.content{padding:14px 28px 60px;max-width:var(--content)}.banner{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 20px;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:13px}.banner button{color:inherit;font-weight:700;text-decoration:underline}.mobile-top,.mobile-nav{display:none}.chat{display:flex;flex-direction:column;height:calc(100vh - 210px);min-height:440px}.chat-log{flex:1;overflow:auto;padding:4px 2px;display:flex;flex-direction:column;gap:10px}.msg{max-width:78%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.msg.me{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px}.msg.them{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:5px}.msg.bot{align-self:flex-start;background:var(--info-soft);border:1px solid var(--line);border-bottom-left-radius:5px}.msg .who{font-size:12px;font-weight:600;margin-bottom:3px;opacity:.8}.msg time{display:block;font-size:11px;opacity:.65;margin-top:4px}.msg .claim{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--line-strong);color:var(--text);font-size:13px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.chat-input{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--line);margin-top:8px}.day-sep{align-self:center;font-size:12px;color:var(--text-3);padding:2px 10px;border-radius:999px;background:var(--surface-2)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.doc{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px;min-width:0}.doc .preview{height:90px;border-radius:10px;background:var(--surface-3);display:grid;place-items:center;color:var(--text-3);overflow:hidden}.doc .preview img{width:100%;height:100%;object-fit:cover}.doc .name{font-weight:600;font-size:13px}.dropzone{border:1px dashed var(--line-strong);border-radius:14px;padding:22px;text-align:center;color:var(--text-2);cursor:pointer;transition:.12s}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.chart{width:100%}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .legend{display:flex;gap:16px;font-size:12px;color:var(--text-2);margin-top:6px}.chart .legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:6px;vertical-align:-1px}.chart .tip{position:absolute;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow-sm);pointer-events:none;z-index:5;white-space:nowrap}.log-item{display:grid;grid-template-columns:64px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.log-item:last-child{border-bottom:0}.log-item time{font-family:var(--font-num);color:var(--text-3);font-size:12px;padding-top:2px}.log-item .kind{font-weight:600;margin-right:6px}.keybox{background:var(--surface-2);border:1px solid var(--ok);border-radius:12px;padding:14px}.keybox .key{font-family:var(--font-num);word-break:break-all;font-size:13px;margin:8px 0 10px}.ai-fab{position:fixed;right:22px;bottom:22px;z-index:110;width:58px;height:58px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;box-shadow:0 10px 30px #f5b63f59,var(--shadow-sm);transition:transform .15s,box-shadow .15s}.ai-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px #f5b63f73,var(--shadow-sm)}.ai-fab .pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:pulse 2.6s ease-out infinite}@keyframes pulse{0%{transform:scale(.9);opacity:.6}70%{transform:scale(1.25);opacity:0}to{opacity:0}}.ai-panel{position:fixed;right:22px;bottom:92px;z-index:115;width:390px;max-width:calc(100vw - 32px);height:580px;max-height:calc(100vh - 120px);background:var(--surface);border:1px solid var(--line-strong);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;animation:pop .2s cubic-bezier(.2,.9,.3,1.1);transform-origin:bottom right}.ai-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface))}.ai-head .logo{width:36px;height:36px;border-radius:12px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;flex:none}.ai-head .name{font-weight:700;font-size:14px}.ai-head .status{font-size:12px;color:var(--text-3);display:flex;align-items:center;gap:6px}.ai-log{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.ai-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.ai-msg.user{align-self:flex-end;background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:5px}.ai-msg.bot{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:5px}.ai-msg .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.ai-sugg{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px}.ai-sugg .chip{font-size:12px;min-height:30px;padding:5px 10px}.ai-input{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--line)}.ai-input .input{min-height:40px}.typing{display:inline-flex;gap:4px;padding:4px 2px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.wallets{display:flex;flex-direction:column;gap:8px;margin-top:14px}.wallet-btn{height:48px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600;font-size:17px;letter-spacing:-.01em;transition:transform .06s,opacity .12s}.wallet-btn:active{transform:translateY(1px)}.wallet-btn:disabled{opacity:.7}.wallet-btn.apple,.wallet-btn.google{background:#000;color:#fff;border:1px solid #000}[data-theme=dark] .wallet-btn.apple,[data-theme=dark] .wallet-btn.google{background:#fff;color:#000;border-color:#fff}.wallet-btn .typing i{background:currentColor}.pay-or{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:12px;margin:14px 0 8px}.pay-or:before,.pay-or:after{content:"";flex:1;height:1px;background:var(--line)}.statement{background:#fff;color:#111;border-radius:12px;padding:22px;font-size:13px}.statement h3{font-size:16px;margin-bottom:2px}.statement table{width:100%;border-collapse:collapse;margin-top:12px}.statement th,.statement td{text-align:left;padding:6px 4px;border-bottom:1px solid #e5e7eb}.statement th{font-size:11px;color:#6b7280;font-weight:500}.statement .tot{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.statement .tot div{background:#f3f4f6;border-radius:8px;padding:8px 10px}.statement .tot small{display:block;color:#6b7280;font-size:11px}@media (max-width: 960px){.grid-hero{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 760px){.sidebar,.topbar{display:none}.hide-mobile{display:none!important}.only-mobile{display:revert}.mobile-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.mobile-top .name{font-weight:700;font-size:15px}.content{padding:14px 14px 110px}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:100;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 6px calc(8px + env(safe-area-inset-bottom))}.mobile-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:var(--text-3);padding:6px 2px;border-radius:10px;position:relative;font-weight:500}.mobile-nav button.active{color:var(--accent)}.mobile-nav .count-pill{position:absolute;top:0;right:calc(50% - 20px)}.grid-2,.grid-3,.form-grid{grid-template-columns:1fr}.hero{padding:20px 18px}.hero-grid{grid-template-columns:1fr;justify-items:center;text-align:center}.hero .actions,.hero .when{justify-content:center}.hero .amount{font-size:36px}.gauge{width:200px}.stats{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid var(--line)}.stat:nth-child(2n){border-right:0}.stat:nth-last-child(-n+2){border-bottom:0}.card{padding:16px;border-radius:14px}.table-wrap{margin:0 -16px;padding:0 16px}.page-head h1{font-size:22px}.chat{height:calc(100vh - 230px);min-height:360px}.modal-bg{align-items:end;padding:0}.modal{border-radius:18px 18px 0 0;max-height:92vh;animation:slideup .22s cubic-bezier(.2,.9,.3,1);padding-bottom:calc(22px + env(safe-area-inset-bottom))}@keyframes slideup{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.ai-fab{right:14px;bottom:calc(76px + env(safe-area-inset-bottom));width:52px;height:52px}.ai-panel{right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;border:0}.toasts{bottom:calc(80px + env(safe-area-inset-bottom))}.tl-item .side{flex-direction:column;align-items:flex-end;gap:6px}.tl-item .amt{font-size:15px}.stat .value{font-size:19px}}@media print{body{background:#fff!important}body *{visibility:hidden!important}#statement,#statement *{visibility:visible!important}#statement{position:fixed;top:0;right:0;bottom:0;left:0;padding:24px;border-radius:0;overflow:visible}.ai-fab,.ai-panel,.toasts,.mobile-nav{display:none!important}}
