:root{--navy: #212C5F;--navy-hover: #161D3F;--yellow: #FFC91B;--bg: #F5F4EF;--surface: #FFFFFF;--surface-2: #FAF7EF;--text: #131B44;--text-2: #2B3358;--muted: #5F6480;--line: rgba(33, 44, 95, .08);--line-2: rgba(15, 23, 42, .14);--link: #2F5FBF;--sky-bg: #EEF9FF;--ok: #166534;--ok-bg: #E7F5EC;--warn: #7A5200;--warn-bg: #FFF4D1;--bad: #B91C1C;--bad-bg: #FDE8E8;--neutral: #464F7A;--neutral-bg: #EEF0F6;--shadow: 0 15px 30px rgba(33, 44, 95, .06);--radius: 15px;--font: "Plus Jakarta Sans", system-ui, -apple-system, "Helvetica Neue", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 14px/1.5 var(--font);font-variant-numeric:tabular-nums}a{color:var(--link);text-decoration:none;font-weight:600}a:hover{color:var(--navy)}h1{margin:0;font-size:26px;font-weight:800;letter-spacing:-.01em}h2{margin:0;font-size:16px;font-weight:800}p{margin:0}.shell{min-height:100vh;display:flex;flex-wrap:wrap}.side{flex:1 1 240px;max-width:100%;padding:24px 16px;background:#ffffffb8;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px}.main{flex:999 1 560px;min-width:0;padding:24px 32px 48px;display:flex;flex-direction:column;gap:20px}@media (max-width: 700px){.main{padding:20px 16px 40px}}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand b{display:block;font-size:16px;font-weight:800}.brand span{font-size:12px;font-weight:600;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:2px}.nav a,.nav span{height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;border-radius:10px;color:var(--text-2);font-size:14px;font-weight:600}.nav a:hover{background:#212c5f0f}.nav a.active{background:var(--navy);color:#fff}.nav span{color:#9095af;cursor:default}.nav .nav-heading{margin:14px 12px 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.nav small{margin-left:auto;font-size:11px;font-weight:600}.nav .count{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--yellow);color:var(--text);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}@media (min-width: 820px){.side{position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}}.kpis{display:flex;flex-wrap:wrap;gap:16px}.kpi-group{flex-shrink:1;min-width:0;border-top:4px solid var(--tone);gap:12px}.kpi-title{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tone-text, var(--tone))}.kpi-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.metric{display:flex;flex-direction:column;gap:6px;min-width:0}.metric-v{font-size:24px;font-weight:800;white-space:nowrap;letter-spacing:-.01em}.metric-line{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:5px}.metric-line span:last-child{white-space:nowrap;font-weight:600;color:var(--text-2)}.tone-income{--tone: var(--ok)}.tone-expense{--tone: #EA580C}.tone-tax{--tone: var(--yellow);--tone-text: #9A7400}.kpi-group.tone-result{--tone: var(--navy);background:var(--navy);color:#fff}.tone-result .kpi-title,.tone-result .lbl{color:#d3d5df}.tone-result .metric-line{color:#b9bdd0;border-top-color:#ffffff26}.tone-result .metric-line span:last-child{color:#ffdb67}.me{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:#212c5f0a}.me b{font-size:13px}.me span{font-size:12px;color:var(--muted)}.pagehead{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.span2{grid-column:span 2}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:20px;align-items:start}@media (max-width: 520px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}.cols{grid-template-columns:minmax(0,1fr)}}.card{padding:20px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;min-width:0}.muted{color:var(--muted)}.small{font-size:12.5px}.btn{height:42px;padding:0 16px;border-radius:10px;border:1px solid rgba(33,44,95,.22);background:#fff;color:var(--navy);font:700 14px var(--font);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.btn:hover{background:#f7f7fa}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover{background:var(--navy-hover)}.btn.danger{color:var(--bad);border-color:#b91c1c59}.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}.btn.small{height:34px;padding:0 12px;font-size:13px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.lbl{font-size:12.5px;font-weight:700;color:var(--text-2)}.input,select.input,textarea.input{height:42px;width:100%;padding:0 12px;border-radius:10px;border:1px solid var(--line-2);background:#fff;font:500 14px var(--font);color:var(--text);font-variant-numeric:tabular-nums}textarea.input{height:auto;padding:10px 12px;resize:vertical;line-height:1.5}.input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px #212c5f1f}.input:disabled{background:#f4f4f6;color:var(--muted)}.input.bad{border-color:#dc2626}.num{text-align:right}.badge{height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.b-new{background:var(--sky-bg);color:#1c3f66}.b-draft,.b-neutral{background:var(--neutral-bg);color:var(--neutral)}.b-ok{background:var(--ok-bg);color:var(--ok)}.b-warn{background:var(--warn-bg);color:var(--warn)}.b-bad{background:var(--bad-bg);color:var(--bad)}.seg{display:inline-flex;padding:4px;gap:2px;border-radius:10px;border:1px solid var(--line-2);background:#fff}.seg button{height:32px;padding:0 12px;border:0;border-radius:7px;background:transparent;font:600 13px var(--font);color:var(--neutral);cursor:pointer}.seg button.on{background:var(--navy);color:#fff}.tablebox{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13.5px}th{text-align:left;font-weight:600;color:var(--muted);padding:8px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 8px;border-bottom:1px solid rgba(33,44,95,.06);vertical-align:middle}tr.click{cursor:pointer}tr.click:hover td{background:#212c5f08}td.num,th.num{text-align:right;white-space:nowrap}td .sub{display:block;font-size:12px;color:var(--muted)}tbody.group tr:last-child td,tbody.group td[rowspan]{border-bottom:1px solid var(--line)}.note{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;border:1px solid rgba(33,44,95,.12);background:#fff}.note-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.note-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--navy);background:none;border:0;padding:0;cursor:pointer;font-family:var(--font)}.note p{font-size:12.5px;line-height:1.55;color:var(--text-2)}.check{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;font-size:14px}.check.ok{background:#f3faf5;color:#14532d}.check.bad{background:#fdf2f2;color:#991b1b;font-weight:600}.hint{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:13px}.paybox{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:var(--navy);color:#fff}.paybox b{font-size:22px;font-weight:800}.paybox span{font-size:12px;color:#b5b9ca}.toast{position:fixed;right:20px;bottom:20px;z-index:50;max-width:min(420px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:var(--navy);color:#fff;box-shadow:0 15px 30px #212c5f40;font-weight:600}.toast.error{background:var(--bad)}.pdf{width:100%;height:720px;border:0;border-radius:10px;background:#e9e8e3}@media (max-width: 700px){.pdf{height:480px}}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;gap:32px;padding:64px 16px 32px}.login-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.login-hero h1{font-size:38px;color:var(--navy)}.login-hero .bar{width:56px;height:3px;border-radius:3px;background:var(--yellow)}.login form{width:100%;max-width:440px;padding:32px 28px;border-radius:20px;background:#fffc;border:1px solid #fff;box-shadow:0 15px 30px #212c5f14;display:flex;flex-direction:column;gap:18px}.login .info{display:flex;gap:10px;padding:12px 14px;border-radius:10px;background:var(--sky-bg);color:#1c3f66;font-size:12.5px}.err{color:var(--bad);font-weight:600;font-size:13px}input[type=date][data-empty=true]:not(:focus)::-webkit-datetime-edit{color:transparent}
