/* AIBUH workspace: national ornament is decorative, never an official seal. */
*,*::before,*::after{box-sizing:border-box}
html{min-width:320px;background:var(--paper)}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-body);line-height:1.5;color:var(--ink-900);background:var(--paper);-webkit-font-smoothing:antialiased}
a{color:var(--accent-hover);text-underline-offset:3px}
button,input,select,textarea{font:inherit}
button{transition:background var(--dur-quick) ease,border-color var(--dur-quick) ease,box-shadow var(--dur-quick) ease}
button,a,input,select,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
button:disabled{opacity:.5;cursor:not-allowed}
.numeric,.kpi-value,.hero-amount,.category-value,.finance-recent{font-variant-numeric:tabular-nums}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:20;padding:.8rem 1rem;background:var(--surface-1);border:2px solid var(--accent);border-radius:var(--radius-control)}
.skip-link:focus{top:1rem}
.app{position:relative;display:grid;grid-template-columns:246px minmax(0,1fr);min-height:100vh}
.side{display:flex;flex-direction:column;position:sticky;top:0;height:100vh;min-height:640px;color:#eff7fb;background:var(--navy-900);overflow:hidden;border-right:1px solid var(--navy-800)}
.side::after{content:"";position:absolute;inset:auto 0 0;height:255px;background:url('/kazakh-ornament.svg') center bottom / 150px;opacity:.09;pointer-events:none}
.brand{position:relative;z-index:1;padding:30px 23px 22px;border-bottom:1px solid rgb(255 255 255 / 9%)}
.brand-lockup{display:flex;align-items:center;gap:12px;width:fit-content;color:inherit;text-decoration:none}
.brand-mark{display:block;flex:none;width:48px;height:48px;object-fit:contain}
.brand-wordmark{display:block;font-size:25px;font-weight:750;letter-spacing:.04em;line-height:1.05}
.brand-wordmark small{display:block;font-size:9px;font-weight:450;letter-spacing:.025em;margin-top:8px;color:#bfd0dc}
#brand-sub{display:block;font-size:11px;color:#a7c4d5;letter-spacing:.11em;text-transform:uppercase;margin-top:27px}
.nav{position:relative;z-index:1;padding:15px 12px;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#406179 transparent}
.nav button{display:flex;align-items:center;gap:12px;width:100%;min-height:43px;margin:3px 0;padding:10px 12px;border:1px solid transparent;border-radius:9px;color:#c6d8e4;background:transparent;font-size:13px;font-weight:450;cursor:pointer;text-align:left;white-space:nowrap}
.nav button:hover{color:var(--surface-1);background:rgb(255 255 255 / 7%)}
.nav button[aria-current=page]{color:var(--surface-1);background:var(--accent);border-color:rgb(255 255 255 / 12%);font-weight:600;box-shadow:0 4px 12px rgb(0 0 0 / 8%)}
.nav button:focus-visible{outline-color:var(--gold-500);outline-offset:-2px}
.nav button::before{content:"";width:18px;height:18px;flex:none;background:currentColor;opacity:.8;mask:var(--nav-icon) center / contain no-repeat;-webkit-mask:var(--nav-icon) center / contain no-repeat}
.nav button[aria-current=page]::before{opacity:1}
.nav button[data-section=dash]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%273%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%273%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2714%27%20y%3D%2714%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=add]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%2718%27%20height%3D%2718%27%20rx%3D%274%27%2F%3E%3Cpath%20d%3D%27M12%207v10M7%2012h10%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=transactions]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%207h15l-4-4M20%2017H5l4%204M19%207l-4%204M5%2017l4-4%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=documents]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14%203H6a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V9Z%20M14%203v6h6M8%2013h8M8%2017h6%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=createDocument]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14%203H6a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V9Z%20M14%203v6h6M8%2015h8M12%2011v8%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=tax],.nav button[data-section=payroll]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275%27%20y%3D%272%27%20width%3D%2714%27%20height%3D%2720%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M8%206h8M8%2010h2m4%200h2M8%2014h2m4%200h2M8%2018h2m4%200h2%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=reports]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M14 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9ZM14 3v6h6M8 17v-4m4 4v-6m4 6v-3'/%3E%3C/svg%3E")}
.nav button[data-section=calendar]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2716%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M7%202v6M17%202v6M3%2011h18M7%2015h3m4%200h3M7%2018h3%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=taxCabinet]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%208%209-5%209%205v2H3ZM5%2010v9m7-9v9m7-9v9M3%2021h18%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=telegram]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m3%2010%2018-7-4%2018-6-6-4%203v-6Zm4%202%209-5-5%208%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=chat]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%203h14a2%202%200%200%201%202%202v11a2%202%200%200%201-2%202h-9l-6%204V5a2%202%200%200%201%202-2ZM8%208h9M8%2012h6%27%2F%3E%3C%2Fsvg%3E")}
.nav button[data-section=profile]{--nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%278%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M4%2021v-2a8%208%200%200%201%2016%200v2%27%2F%3E%3C%2Fsvg%3E")}
.nav .label{flex:1}
.badge{flex:none;min-width:22px;padding:1px 6px;border-radius:6px;font-size:11px;font-weight:700;text-align:center}
.badge[data-zone=warn]{color:var(--warn);background:var(--warn-surface)}
.badge[data-zone=risk]{color:var(--risk);background:var(--risk-surface)}
.side .foot{position:relative;z-index:1;padding:22px 23px;border-top:1px solid rgb(255 255 255 / 9%);color:#b9cddd;font-size:12px;line-height:1.6}
.workspace-label{color:#e8f1f7;font-weight:600;font-size:12px}
.side .foot p{margin:8px 0 0}
.side .foot .secondary{min-height:38px;margin-top:17px;color:#e8f1f7;background:rgb(255 255 255 / 5%);border-color:#3b566c;font-size:12px}
.side .foot .secondary:hover{background:rgb(255 255 255 / 10%)}
.main{min-width:0;padding:35px 34px 48px}
.wrap{max-width:1160px;margin:0 auto}
#view:focus{outline:none}
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.head h1{margin:0;font-size:var(--text-title);line-height:1.25;letter-spacing:var(--tracking-title)}
.head p{margin:8px 0 0;max-width:60ch;font-size:var(--text-small);color:var(--ink-500)}
.head .who{font-size:12px;color:var(--ink-700);text-align:right}
.card{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-raised);min-width:0}
.card+.card{margin-top:20px}
.card>h2{margin:0;padding:20px 24px;font-size:15px;line-height:1.4;font-weight:650;border-bottom:1px solid var(--line);color:var(--ink-900)}
.card>.body{padding:24px}
.primary,.secondary{min-height:44px;padding:10px 17px;border-radius:var(--radius-control);font-size:13px;font-weight:600;line-height:1.45}
.primary{color:var(--surface-1);background:var(--accent);border:1px solid var(--accent);box-shadow:0 2px 4px rgb(8 127 140 / 10%)}
.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}
.secondary{color:var(--ink-900);background:var(--surface-1);border:1px solid var(--line)}
.secondary:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2)}
input,select,textarea{min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface-1);color:var(--ink-900);font-size:14px;transition:border-color var(--dur-quick) ease}
input:hover,select:hover,textarea:hover{border-color:var(--ink-500)}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--ink-400)}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--accent)}
input[type=file]{padding:8px;font-size:13px;background:var(--surface-2)}
input[type=file]::file-selector-button{padding:7px 10px;margin-right:10px;border:0;border-radius:6px;color:var(--accent-hover);background:var(--accent-surface);font:inherit;cursor:pointer}
.stack{gap:10px}
.stack label{font-size:13px;font-weight:600;margin-top:5px}
.stack>.primary{margin-top:8px}
.text-button{color:var(--accent-hover)}
.muted{font-size:13px;line-height:1.6;color:var(--ink-500)}
.banner{padding:16px 20px;margin-bottom:20px;border:1px solid var(--risk-line);border-radius:var(--radius-control);background:var(--risk-surface);font-size:14px;overflow-wrap:anywhere}
.banner[data-tone=ok]{color:var(--ok);background:var(--ok-surface);border-color:var(--ok-line)}
.banner[data-tone=warn]{color:var(--warn);background:var(--warn-surface);border-color:var(--warn-line)}
.nav button[data-section=subscription]{--nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='3'/%3E%3Cpath d='M2 10h20M6 15h4'/%3E%3C/svg%3E")}
.banner[data-tone=risk]{background:var(--risk-surface);border-color:var(--risk-line)}
.rows{list-style:none;margin:0;padding:0}
.rows li+li{border-top:1px solid var(--line)}
.row{display:flex;align-items:center;gap:14px;position:relative;width:100%;padding:17px 24px;border:0;text-align:left;color:inherit;background:transparent;cursor:pointer}
.row:hover{background:var(--surface-2)}
.row .t{flex:1;min-width:0;font-size:14px;font-weight:550}
.row .s{display:block;margin-top:5px;font-size:12px;color:var(--ink-500);font-weight:400}
.row .a{flex:none;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.row .chev{color:var(--ink-400)}
.row[data-zone=warn]{border-left:3px solid var(--warn-line)}
.row[data-zone=risk]{border-left:3px solid var(--risk-line)}
.empty{padding:45px 25px;text-align:center}
.empty h3{margin:0 0 10px;font-size:18px}
.empty p{margin:0 auto;max-width:52ch;color:var(--ink-500);font-size:14px;line-height:1.65}
.empty .ic{width:44px;height:44px;display:grid;place-items:center;margin:0 auto 16px;color:var(--accent);background:var(--accent-surface);border-radius:12px}
.empty .note{display:inline-block;margin-top:16px;padding:5px 10px;color:var(--warn);background:var(--warn-surface);border-radius:var(--radius-control);font-size:12px}
.status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.cell{padding:22px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-1)}
.cell .k{color:var(--ink-500);font-size:12px}
.cell .v{font-size:27px;font-weight:700;letter-spacing:-.03em;margin-top:10px;line-height:1.2}
.cell .m{color:var(--ink-500);font-size:12px;margin-top:7px}
.cell[data-zone=warn] .v{color:var(--warn)}
.cell[data-zone=risk] .v{color:var(--risk)}
.entry-choice{border-color:var(--line);padding:24px;gap:12px}
.entry-choice:hover{border-color:var(--accent);background:var(--surface-1);box-shadow:var(--shadow-float)}
.entry-choice b{color:var(--accent-hover)}
.choice-symbol{color:var(--accent);background:var(--accent-surface);border:0}
.transaction{padding:21px 24px}
.transaction .amount{color:var(--ink-900);font-size:16px}
.messages{background:var(--surface-2)}
.message{background:var(--surface-1);border:1px solid var(--line)}
.message[data-role=client]{background:var(--accent-surface);border-color:#c9e7e8}
.result{font-size:14px}

/* Financial overview: primary money movement, supporting metrics, source data. */
.finance-dashboard{display:grid;gap:22px;animation:appear var(--dur-stage) ease-out}
.finance-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:3px}
.eyebrow{color:var(--accent-hover);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin:0 0 9px}
.finance-heading h1{margin:0;font-size:clamp(25px,2.5vw,32px);line-height:1.2;font-weight:700;letter-spacing:-.035em}
.finance-description{margin:9px 0 0;font-size:13px;color:var(--ink-500);line-height:1.6}
.finance-period{flex:none;display:flex;align-items:center;gap:10px;color:var(--ink-500);font-size:12px}
.finance-period form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.finance-period label{font-size:11px;font-weight:550}
.finance-period select{min-height:40px;padding:9px 30px 9px 12px;font-size:12px;border-color:var(--line);background:var(--surface-1)}
.finance-hero{isolation:isolate;position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:180px;padding:31px 34px;color:var(--surface-1);background:var(--navy-900);border-radius:var(--radius-hero);box-shadow:0 8px 25px rgb(16 45 70 / 10%);overflow:hidden}
.finance-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(105deg,transparent 38%,rgb(8 127 140 / 19%));pointer-events:none}
.finance-hero::after{content:"";position:absolute;z-index:-1;inset:0 0 0 42%;background:url('/kazakh-ornament.svg') center / 170px;opacity:.16;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 40%)}
.finance-hero-copy{flex:1;min-width:0}
.hero-label{margin:0 0 8px;font-size:13px;color:#c8dbe7;font-weight:450;letter-spacing:.02em}
.hero-amount{display:block;margin:0;font-size:clamp(30px,3.5vw,44px);font-weight:650;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}
.hero-note{margin:11px 0 0;max-width:60ch;font-size:12px;line-height:1.6;color:#b9cddd}
.finance-hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:9px;flex:none;max-width:235px}
.finance-hero-actions .primary{color:var(--navy-900);background:var(--surface-1);border-color:var(--surface-1);min-width:183px;gap:6px}
.finance-hero-actions .primary:hover:not(:disabled){background:#eaf4f7;border-color:#eaf4f7}
.finance-hero-actions .secondary{color:#e3edf4;border-color:#537085;background:rgb(255 255 255 / 4%)}
.finance-hero-actions .secondary:hover{background:rgb(255 255 255 / 10%)}
.finance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.finance-kpi{position:relative;min-width:0;padding:23px 24px 20px;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--shadow-raised)}
.kpi-label{margin:0 0 13px;color:var(--ink-500);font-size:12px;font-weight:500}
.kpi-value{display:block;font-size:clamp(22px,2.15vw,30px);font-weight:650;letter-spacing:-.035em;line-height:1.15;overflow-wrap:anywhere}
.kpi-meta{display:block;color:var(--ink-500);margin:12px 0 0;font-size:11px;line-height:1.5}
.finance-kpi[data-tone=in] .kpi-value{color:var(--accent-hover)}
.finance-kpi[data-tone=out] .kpi-value{color:var(--navy-900)}
.finance-kpi[data-tone=neutral] .kpi-value{color:var(--ink-900)}
.finance-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:22px;align-items:start}
.finance-panel{min-width:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-1);box-shadow:var(--shadow-raised);overflow:hidden}
.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:22px 23px 18px}
.panel-heading h2{margin:0;font-size:15px;font-weight:650;line-height:1.4;letter-spacing:-.015em}
.panel-heading p{margin:6px 0 0;color:var(--ink-500);font-size:11px;line-height:1.6}
.panel-heading .secondary{min-height:32px;padding:6px 10px;font-size:11px}
.panel-heading .text-button{font-size:11px;flex:none;margin-top:3px}
.cashflow-chart{padding:0 16px 4px;min-width:0;overflow:hidden}
.cashflow-chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart-grid{stroke:var(--line);stroke-dasharray:3 5;stroke-width:1}
.chart-label{fill:var(--ink-500);font-size:13px;font-family:var(--font-sans)}
.chart-in{fill:var(--teal-600)}
.chart-out{fill:#a5b8c9}
.chart-legend{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:7px 20px 19px;color:var(--ink-500);font-size:11px}
.chart-legend span{display:inline-flex;align-items:center;gap:7px}
.chart-legend span::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--teal-600)}
.chart-legend .legend-out::before{background:#a5b8c9}
.chart-detail{margin:0;padding:13px 23px;border-top:1px solid var(--line);color:var(--ink-500);font-size:11px;line-height:1.6;background:var(--surface-2)}
.chart-detail summary{cursor:pointer;color:var(--accent-hover)}
.chart-detail table{width:100%;margin-top:12px;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}
.chart-detail th,.chart-detail td{padding:6px 3px;border-bottom:1px solid var(--line)}
.category-list{list-style:none;margin:0;display:grid;gap:22px;padding:5px 23px 25px}
.category-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px 10px;font-size:12px}
.category-label{grid-column:1;grid-row:1;min-width:0;color:var(--ink-700);overflow-wrap:anywhere}
.category-label>span{color:var(--ink-500);font-size:10px;margin-left:5px}
.category-value{grid-column:2;grid-row:1;color:var(--ink-900);font-weight:600;font-size:12px;text-align:right;overflow-wrap:anywhere}
.category-track{grid-column:1/-1;grid-row:2;height:6px;border-radius:3px;background:var(--surface-sunken);overflow:hidden}
.category-fill{display:block;height:100%;border-radius:3px;background:var(--accent)}
.category-row:nth-child(2) .category-fill{background:#729cae}
.category-row:nth-child(3) .category-fill{background:var(--gold-500)}
.category-row:nth-child(4) .category-fill{background:#8bb8b0}
.category-row:nth-child(n+5) .category-fill{background:#adbdca}
.finance-recent,.finance-table-scroll{overflow-x:auto;scrollbar-width:thin}
.finance-recent table{width:100%;border-collapse:collapse;font-size:12px}
.finance-recent th{padding:11px 23px;text-align:left;background:var(--surface-2);border-block:1px solid var(--line);color:var(--ink-500);font-weight:450;font-size:10px;white-space:nowrap}
.finance-recent td{padding:15px 23px;border-bottom:1px solid #edf2f5;vertical-align:middle}
.finance-recent tbody tr:last-child td{border-bottom:0}
.finance-recent th:last-child,.finance-recent td:last-child{text-align:right;white-space:nowrap}
.finance-recent td:first-child{color:var(--ink-500);font-size:11px;white-space:nowrap}
.finance-recent td strong{white-space:normal;display:block;font-weight:550;max-width:26ch;overflow-wrap:anywhere}
.finance-recent td small,.transaction-purpose{display:block;margin-top:4px;font-size:10px;color:var(--ink-500);max-width:36ch;overflow-wrap:anywhere;white-space:normal}
.transaction-date{display:block;font-size:10px;color:var(--ink-500);margin-top:3px}
.finance-tag{display:inline-block;font-size:9px;padding:3px 6px;border-radius:5px;background:var(--accent-surface);color:var(--accent-hover);white-space:nowrap}
.finance-tag[data-pending=true]{background:var(--warn-surface);color:var(--warn)}
.flow-in{color:var(--accent-hover);font-weight:650}
.flow-out{color:var(--ink-900);font-weight:650}
.finance-attention>.panel-heading{padding-inline:0}
.panel-heading .chart-legend{padding:0;display:grid;gap:5px;justify-content:start}
.finance-attention{display:grid;gap:0;padding:0 23px 16px}
.attention-item{display:flex;align-items:center;gap:12px;padding:15px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.attention-item:first-child{border-top:0;padding-top:0}
.attention-item>div{flex:1;min-width:0}
.attention-item p{margin:3px 0 0;color:var(--ink-500);font-size:11px}
.attention-item .text-button{font-size:11px}
.attention-count{display:grid;place-items:center;flex:none;min-width:36px;height:36px;padding:0 7px;border-radius:10px;font-size:14px;font-weight:650;background:var(--gold-100);color:var(--warn)}
.finance-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:30px 24px;text-align:center}
.finance-empty::before{content:"";display:block;width:40px;height:40px;margin-bottom:16px;border:1px solid #cce2e7;border-radius:12px;background:var(--accent-surface) url('/kazakh-ornament.svg') center / 70px}
.finance-empty h2,.finance-empty h3,.finance-empty strong{margin:0 0 7px;font-size:15px;font-weight:600}
.finance-empty p{margin:0;color:var(--ink-500);font-size:12px;line-height:1.7;max-width:46ch}
.finance-empty button,.finance-empty a{margin-top:18px}
.finance-footnote{margin:0;padding:0 3px;font-size:11px;line-height:1.7;color:var(--ink-500)}
.finance-loading{padding:70px 24px;text-align:center;color:var(--ink-500);font-size:14px}
.finance-loading::before{content:"";display:block;width:27px;height:27px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;margin:0 auto 17px;animation:spin .8s linear infinite}

/* Registration shares the brand and controls of the business workspace. */
.shell{position:relative;max-width:1130px;margin:0 auto;padding:30px 32px 50px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:45px 74px;align-items:start}
.top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:0 0 25px;border-bottom:1px solid var(--line)}
.top .brand-wordmark{color:var(--navy-900)}
.top .brand-wordmark small{color:var(--ink-500)}
.onboarding-caption{text-align:right;font-size:12px;color:var(--ink-500)}
.onboarding-caption b{display:block;font-weight:550;color:var(--ink-700);margin-bottom:3px}
.onboarding-caption span{font-size:11px}
.onboarding-intro{position:sticky;top:45px;margin-top:50px;padding:0 0 32px}
.intro-label{display:inline-block;padding:6px 10px;border:1px solid #cbe3e7;border-radius:6px;color:var(--accent-hover);background:var(--accent-surface);font-size:11px;font-weight:550}
.onboarding-intro h2{margin:23px 0 17px;font-size:clamp(29px,3.1vw,39px);line-height:1.23;letter-spacing:-.035em;font-weight:650}
.onboarding-intro h2 span{color:var(--accent-hover)}
.onboarding-intro>p{max-width:36ch;margin:0;color:var(--ink-500);font-size:14px;line-height:1.8}
.intro-benefits{display:grid;gap:25px;list-style:none;margin:35px 0;padding:0}
.intro-benefits li{display:flex;align-items:flex-start;gap:14px}
.intro-benefits li>span{flex:none;display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--line);border-radius:9px;background:var(--surface-1);color:var(--accent-hover);font-size:10px;font-weight:650}
.intro-benefits strong{display:block;font-size:13px;margin-bottom:5px;font-weight:600}
.intro-benefits p{margin:0;color:var(--ink-500);font-size:12px;line-height:1.7;max-width:36ch}
.intro-signature{position:relative;overflow:hidden;display:flex;align-items:center;gap:13px;padding:23px 20px;color:#e2edf4;background:var(--navy-900);border-radius:12px;font-size:12px}
.intro-signature::after{content:"";position:absolute;inset:0 0 0 35%;background:url('/kazakh-ornament.svg') center / 100px;opacity:.2;pointer-events:none}
.intro-signature>span{font-size:24px;color:var(--gold-500);border-right:1px solid #456074;padding-right:14px;line-height:1.2}
.onboarding-content{min-width:0}
.setup-steps{margin:0 0 21px;gap:12px;font-size:10px}
.setup-steps li{gap:7px}
.setup-steps span{width:25px;height:25px;font-size:11px;background:var(--surface-1);border-color:var(--line)}
.setup-steps [aria-current=step]{color:var(--accent-hover)}
.setup-steps [aria-current=step] span{background:var(--accent);border-color:var(--accent);color:var(--surface-1)}
.onboarding-content>.card,.onboarding-content>#login>.card{padding:29px 30px}
.shell .login-panel,.shell .setup-content{padding:0}
.login-panel h1,.setup-content h1{font-size:25px;letter-spacing:-.025em;margin:9px 0 12px;line-height:1.25}
.login-panel>p{font-size:13px}
.login-panel>p.eyebrow{font-size:10px}
.account-form{margin-top:23px;gap:9px}
.account-form .muted{font-size:11px;line-height:1.6}
.account-form .primary{margin-top:13px;min-height:46px}
.password-input{position:relative;min-width:0}
.password-input input{width:100%;padding-inline-end:50px}
.password-toggle{position:absolute;inset:0 0 0 auto;display:grid;place-items:center;width:46px;padding:10px;border:0;border-radius:0 var(--radius-control) var(--radius-control) 0;background:transparent;color:var(--ink-500);cursor:pointer}
.password-toggle:hover{color:var(--accent-hover);background:var(--accent-surface)}
.password-toggle:focus-visible{outline-offset:-4px}
.password-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.password-toggle .password-slash{display:none}.password-toggle[data-visible=true] .password-slash{display:block}
.forgot-password{justify-self:end;margin:0;font-size:12px;min-height:36px}
.recovery-bot-link{display:block;text-align:center;margin:18px 0;text-decoration:none}
.password-recovery>#recovery-back{display:block;margin:18px auto 0;min-height:40px}
.password-recovery .error:empty{display:none}
.recovery-success{padding:13px 15px;border:1px solid var(--ok-line);border-radius:10px;background:var(--ok-surface);color:var(--ok)!important}
.account-switch{font-size:12px;margin-top:7px!important}
#telegram-invite:not(:empty){margin-top:22px;padding:15px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;font-size:12px}
#telegram-invite .muted{font-size:12px}
#telegram-invite .secondary{width:100%;margin-top:6px}
#telegram-login:not(:empty){margin-top:18px;padding-top:20px}
#login-note:empty{display:none}
.field{margin-bottom:20px}
.field label{display:block;margin-bottom:7px;font-size:13px;font-weight:600}
.field input,.field select{width:100%}
.field .why{color:var(--ink-500);font-size:11px;line-height:1.6;margin:0 0 9px}
.field .msg{min-height:1em;margin-top:5px;font-size:11px}
.field[data-state=ok] input{border-color:var(--ok-line);background:var(--ok-surface)}
.field[data-state=err] input{border-color:var(--risk-line);background:var(--risk-surface)}
.field[data-state=ok] .msg{color:var(--ok)}
.field[data-state=err] .msg{color:var(--risk)}
.onboarding-content>.card>h2{padding:0;margin:0 0 13px;border:0;font-size:18px;letter-spacing:-.02em}
.onboarding-content .hint{margin:0 0 25px;font-size:13px;color:var(--ink-500);line-height:1.7}
.onboarding-content .foot{margin:25px 0 0;text-align:center;color:var(--ink-500);font-size:11px;line-height:1.8}
#submit{width:100%}
.steps{display:flex;gap:5px;margin-bottom:20px}
.steps i{flex:1;height:3px;background:var(--surface-sunken);border-radius:3px}
.steps i[data-done]{background:var(--accent)}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
.signed-out .app{display:block}
.signed-out .side{position:relative;height:auto;min-height:0;border:0}
.signed-out .side::after,.signed-out .nav,.signed-out .side .foot,.signed-out #brand-sub{display:none}
.signed-out .brand{display:flex;justify-content:center;padding:22px;border:0}
.signed-out .wrap{max-width:34rem}
.signed-out .main{padding:28px 16px 40px}
@media(min-width:1440px){
  .main{padding:43px 45px 56px}.finance-dashboard{gap:26px}.finance-hero{min-height:190px}
}
@media(max-width:1180px){
  .app{grid-template-columns:218px minmax(0,1fr)}.brand{padding-inline:19px}.brand-wordmark{font-size:23px}.brand-wordmark small{font-size:8px}
  .main{padding:28px 24px 40px}.nav{padding-inline:9px}.nav button{font-size:12px;gap:9px;padding-inline:10px}
  .finance-kpi{padding:20px}.finance-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px}.finance-recent th,.finance-recent td{padding-inline:16px}.finance-hero{padding:27px}
}
@media(max-width:1000px){
  .finance-heading{align-items:flex-start}.finance-period{max-width:175px;flex-direction:column;align-items:flex-end;gap:5px}.finance-period form{justify-content:flex-end}
  .finance-hero-actions{max-width:190px}.finance-hero-actions .primary{min-width:0}.finance-hero{gap:20px}.finance-kpis{gap:12px}.finance-kpi{padding:18px 16px}
  .finance-grid{grid-template-columns:minmax(0,1fr)}.finance-panel[data-panel=categories] .category-list{grid-template-columns:1fr 1fr;gap:20px 28px}.shell{gap:35px 40px;padding-inline:26px}
}
@media(max-width:56rem){
  .app{display:block;min-height:100vh}.side{position:relative;height:auto;min-height:0;overflow:visible;border:0}.side::after{display:none}
  .brand{display:flex;align-items:center;justify-content:space-between;padding:17px 22px 16px;border-bottom:1px solid rgb(255 255 255 / 9%)}
  .brand-mark{width:40px;height:40px}.brand-wordmark{font-size:22px}.brand-wordmark small{margin-top:6px;font-size:8px}#brand-sub{margin-top:0;font-size:10px}
  .nav{display:flex;flex:initial;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;padding:10px 17px 12px;scrollbar-width:thin}
  .nav button{width:auto;flex-shrink:0;min-height:38px;padding:8px 11px;margin:0;font-size:12px}.nav button::before{width:15px;height:15px}
  .side .foot{display:flex;align-items:center;justify-content:flex-end;gap:14px;position:absolute;top:17px;right:21px;border:0;padding:0}
  .side .foot .workspace-label,.side .foot p{display:none}.side .foot .secondary{width:auto;margin:0;padding:7px 10px;min-height:34px;font-size:11px}.brand #brand-sub{margin-right:72px}
  .main{padding:26px 24px 45px}.finance-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.finance-panel[data-panel=categories] .category-list{grid-template-columns:1fr}
  .finance-heading{align-items:flex-end}.finance-period{max-width:none;flex-direction:row;align-items:center}.finance-hero-actions{max-width:230px}.finance-hero-actions .primary{min-width:175px}.finance-kpi{padding:21px}
  .shell{grid-template-columns:minmax(0,1fr);max-width:560px;gap:25px;padding:23px 24px 40px}.top{gap:20px;padding-bottom:22px}.onboarding-intro{display:none}
  .onboarding-caption b{max-width:22ch;font-size:11px}.onboarding-caption span{font-size:10px}
}
@media(max-width:700px){
  .finance-grid{grid-template-columns:minmax(0,1fr);gap:18px}.finance-panel[data-panel=categories] .category-list{grid-template-columns:1fr 1fr}
  .finance-heading{align-items:flex-start;gap:12px}.finance-heading h1{font-size:26px}.finance-description{max-width:32ch;font-size:12px}.finance-period{max-width:155px;flex-direction:column;align-items:flex-end}
  .finance-kpi{padding:18px 15px}.kpi-label{font-size:11px}.kpi-value{font-size:22px}.kpi-meta{font-size:10px}.finance-hero{padding:25px;min-height:185px}
  .hero-amount{font-size:34px}.finance-hero-actions{max-width:165px}.finance-hero-actions .primary{min-width:0}.finance-hero-actions button{font-size:12px}.status{grid-template-columns:1fr}
}
@media(max-width:480px){
  .chart-label{font-size:22px}.finance-recent table{min-width:0}
  .brand{padding:15px 17px}.brand #brand-sub{display:none}.side .foot{right:17px;top:16px}.nav{padding-inline:12px;gap:5px}.nav button{font-size:11px;gap:7px}
  .main{padding:23px 16px 36px}.finance-dashboard{gap:18px}.finance-heading{flex-direction:column;gap:16px}.finance-heading h1{font-size:26px}.finance-description{max-width:44ch}
  .finance-period{width:100%;max-width:none;flex-direction:row;justify-content:space-between;align-items:center}.finance-period form{width:100%;justify-content:flex-start}.finance-period select{flex:1;min-width:0;max-width:100%}
  .finance-hero{flex-direction:column;align-items:stretch;gap:21px;padding:25px 23px}.finance-hero::after{inset:0 0 0 26%;background-size:130px;opacity:.14}
  .hero-amount{font-size:36px}.hero-note{font-size:11px}.finance-hero-actions{flex-direction:row;max-width:none;gap:8px}.finance-hero-actions>*{flex:1;min-width:0}
  .finance-hero-actions .primary,.finance-hero-actions .secondary{padding:10px 8px;font-size:11px}.finance-kpis{grid-template-columns:1fr;gap:10px}
  .finance-kpi{padding:19px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:center}.kpi-label{margin:0;font-size:12px}.kpi-value{font-size:24px;text-align:right;max-width:210px;grid-column:2;grid-row:1/3}.kpi-meta{margin:0;font-size:10px}
  .panel-heading{padding:20px 20px 16px}.panel-heading h2{font-size:14px}.finance-panel[data-panel=categories] .category-list{grid-template-columns:1fr;padding-inline:20px}
  .finance-recent th,.finance-recent td{padding:12px 14px;font-size:11px}.finance-recent td:first-child{font-size:10px}.finance-recent td strong{max-width:19ch}.finance-recent td small{font-size:9px}
  .finance-recent thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .finance-recent tbody{display:block}.finance-recent tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:16px 20px;border-top:1px solid var(--line)}
  .finance-recent td{display:block;padding:0;border:0}.finance-recent td:first-child{grid-column:1;grid-row:1;font-size:12px}
  .finance-recent td:nth-child(2){grid-column:1/-1;grid-row:2}.finance-recent td:last-child{grid-column:2;grid-row:1;font-size:12px;max-width:155px;white-space:normal;overflow-wrap:anywhere}
  .finance-attention{padding-inline:20px}.finance-footnote{font-size:10px}.head{gap:12px;margin-bottom:22px}.head h1{font-size:25px}.head .who{max-width:100%;text-align:left}
  .card>.body,.card>h2{padding:20px}.row{padding:16px 20px}.transaction{padding:20px}.entry-choice{padding:20px}.shell{padding:18px 16px 35px;gap:24px}.top{padding:0 0 18px}
  .top .brand-wordmark{font-size:22px}.top .brand-wordmark small{font-size:8px}.onboarding-caption{display:none}.onboarding-content>.card,.onboarding-content>#login>.card{padding:25px 22px}
  .setup-steps{gap:8px;font-size:10px;margin-bottom:20px}.setup-steps li{flex-direction:column;align-items:flex-start;gap:7px}.setup-steps span{width:24px;height:24px}
  .login-panel h1,.setup-content h1{font-size:24px}.form-grid{gap:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
