:root{
  --bg:#f5f8fc;--bg-2:#f5f8fc;--card:#fff;--card-2:#eef3f9;--input:#f5f8fc;--text:#102437;--muted:#708397;--line:#e3eaf1;
  --accent:#2f7df4;--accent-text:#2f7df4;--accent2:#7658e8;--green:#1fbd8c;--red:#e95b66;--orange:#ef9d3f;
  --teal:#139aa6;--gold:#c99a4b;--green-text:#17a97a;--red-text:#e95b66;--gold-text:#a87a2e;--teal-text:#139aa6;
  --nav:#071722;--navText:#a7b8c5;--shadow:0 18px 50px rgba(27,55,82,.08);
  --radius:18px;--chip-n:rgba(16,36,55,.08);
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safeBottom:var(--safe-bottom);
  --pc-tg-top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));
  --pc-tg-bottom:calc(var(--tg-safe-area-inset-bottom,0px) + var(--tg-content-safe-area-inset-bottom,0px))
}
html.tg-fullscreen{--safe-top:max(env(safe-area-inset-top,0px),var(--pc-tg-top));--safe-bottom:max(env(safe-area-inset-bottom,0px),var(--pc-tg-bottom))}
html[data-theme="dark"]{--bg:#060C15;--bg-2:#0A1624;--card:#0E1B29;--card-2:#132740;--input:#08121D;--text:#EAF3F8;--muted:#8EA3B3;--line:#1B3042;--nav:#08111C;--shadow:0 10px 30px rgba(0,0,0,.28);
  --accent-text:color-mix(in srgb,var(--accent) 60%,#fff);--green:#1E9E62;--green-text:#6BE3A2;--red-text:#FF8A93;--gold-text:#FFE0AE;--teal-text:#6FE3E6;--chip-n:rgba(255,255,255,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}body{overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}a{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.grow{min-width:0;flex:1}.right{text-align:right}.red{color:var(--red)!important}.green{color:var(--green)!important}.eyebrow{display:block;font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--accent);text-transform:uppercase}.capfirst:first-letter{text-transform:uppercase}
#app{min-height:100vh;min-height:100dvh}.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.pc-desktop-topbar{display:none}.pc-mobile-head{min-height:70px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.head-brand{display:flex;align-items:center;gap:10px}.ui-brand{width:34px;height:34px;object-fit:contain}.head-title{font-size:18px;font-weight:800;letter-spacing:-.02em}.head-subtitle{font-size:11px;color:var(--muted);margin-top:1px}.refresh-mini{border:1px solid var(--line);background:var(--card);color:var(--text);width:42px;height:42px;border-radius:13px;display:grid;place-items:center;box-shadow:0 8px 24px rgba(24,47,68,.04)}
#view{width:min(100%,760px);margin:0 auto;padding:16px max(16px,env(safe-area-inset-right,0px)) calc(88px + var(--safe-bottom));min-height:calc(100vh - 70px)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin:0 0 12px;overflow:hidden}.compact-card{padding:0}.error-card{border-color:color-mix(in srgb,var(--red) 40%,var(--line))}.welcome{padding:4px 3px 14px}.welcome h2{font-size:26px;margin:0 0 4px;letter-spacing:-.035em}.cycle-chip,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--accent) 11%,var(--card));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))}.cycle-chip{margin-top:10px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 12px}.section-head>b,.section-head h2{font-size:15px}.section-head span{font-size:11px;color:var(--muted)}.section-button{width:100%;border:0;background:transparent;color:inherit;text-align:left}.textbtn,.ghost{border:0;background:transparent;color:var(--accent);padding:7px 8px;border-radius:9px}.primary,.secondary,.danger{border:0;border-radius:13px;padding:12px 16px;font-weight:750}.primary{background:linear-gradient(135deg,var(--accent),#3d6ff2);color:#fff}.secondary{background:color-mix(in srgb,var(--accent) 8%,var(--card));border:1px solid var(--line);color:var(--text)}.danger{background:color-mix(in srgb,var(--red) 12%,var(--card));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 22%,var(--line))}.full{width:100%;display:block;margin-top:10px}.loader{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite;margin:18px auto 10px}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:24px 10px;text-align:center;color:var(--muted);font-size:13px}.empty.compact{padding:12px}
.kpi3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 12px}.kpi3 button{min-width:0;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:17px;padding:13px 9px;text-align:center;box-shadow:0 8px 24px rgba(34,59,82,.04)}.kpi3 strong,.kpi3 small{display:block}.kpi3 strong{font-size:16px;margin:6px 0 2px}.kpi3 small{font-size:11px;color:var(--muted)}.kpi-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;margin:0 auto;font-weight:900}.greenbg{background:#e2f7ef;color:#17a97a}.bluebg{background:#e8f1ff;color:var(--accent)}.redbg{background:#ffeaed;color:var(--red)}
.task,.payment-row,.account,.more-row,.calendar-row,.route-action,.family-member{display:flex;align-items:center;gap:11px}.task{padding:12px 0;border-top:1px solid var(--line)}.task:first-of-type{border-top:0}.task b,.payment-row b,.more-row b,.calendar-row b,.route-action strong,.family-member b{font-size:13px}.task .muted,.payment-row small,.more-row small,.calendar-row small,.route-action small,.family-member small{display:block;font-size:13px;color:var(--muted);margin-top:2px}.check{width:20px;height:20px;border-radius:6px;border:1.5px solid #93a7b7;background:transparent;flex:none}.clickable{cursor:pointer}.payment-row{border:0;background:transparent;width:100%;color:inherit;text-align:left;padding:11px 0}.pay-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 10%,var(--card));color:var(--accent)}
.project-feature{display:flex;gap:14px;width:100%;border:0;background:transparent;color:inherit;text-align:left}.project-feature h3{margin:6px 0 8px}.project-thumb-art{width:94px;min-width:94px;border-radius:14px;background:linear-gradient(145deg,#c9bfae,#758383);position:relative;overflow:hidden}.project-thumb-art span{position:absolute;inset:auto 12px 0 12px;height:55%;background:rgba(255,255,255,.35);border-radius:8px 8px 0 0}.progress{height:7px;background:var(--line);border-radius:99px;overflow:hidden}.progress i{height:100%;display:block;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:99px}.progress.mini{height:5px;margin-top:7px}
.assistant-strip{width:100%;display:flex;align-items:center;gap:12px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 8%,var(--card)),var(--card));color:var(--text);padding:14px;border-radius:18px;text-align:left}.assistant-strip>span{font-size:24px}.assistant-strip b,.assistant-strip small{display:block}.assistant-strip small{font-size:11px;color:var(--muted)}.assistant-strip i{margin-left:auto;font-style:normal;color:var(--muted)}
.finance-hero{background:linear-gradient(135deg,#10284a,#34337a);color:#fff;border:0}.finance-hero .balance-top h2{font-size:36px;margin:5px 0}.finance-hero .balance-top span,.finance-hero .balance-top small{opacity:.76}.finance-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.finance-kpis>div,.finance-kpi-button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;padding:10px;text-align:left}.finance-kpis small,.finance-kpis b{display:block}.finance-kpis small{font-size:11px;opacity:.7}.finance-kpis b{font-size:13px;margin-top:4px}.finance-kpi-button em{display:block;font-size:11px;font-style:normal;margin-top:4px;opacity:.7}.expense-chart{display:grid;grid-template-columns:132px 1fr;gap:18px;align-items:center;padding:8px 0}.donut{width:124px;height:124px;border-radius:50%;position:relative;display:grid;place-items:center}.donut:after{content:"";position:absolute;width:76px;height:76px;border-radius:50%;background:var(--card)}.donut>div{z-index:1;text-align:center}.donut b,.donut small{display:block}.donut b{font-size:13px}.donut small{font-size:11px;color:var(--muted)}.legend{display:flex;flex-direction:column}.legend-row{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center;border:0;background:transparent;color:inherit;padding:5px 0;text-align:left;font-size:11px}.legend-row i{width:7px;height:7px;border-radius:2px}.chart-hint{font-size:11px;color:var(--muted);text-align:center;padding-top:6px}.finance-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.finance-actions button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:14px;padding:11px 8px}.finance-actions span{display:block;font-size:20px;color:var(--accent)}.subtle-link{width:100%;border:0;background:transparent;color:var(--accent);padding:9px}
.more-card{padding:0}.more-row{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left;padding:13px 15px}.more-row:first-child{border-top:0}.more-row i{margin-left:auto;font-style:normal;color:var(--muted)}.more-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 9%,var(--card));font-size:18px}.discipline{text-align:center;color:var(--muted);padding:22px 10px;font-size:13px}
.route-hero{position:relative;background:linear-gradient(135deg,#0b2b44,#345f73 62%,#8d887c);color:#fff;min-height:260px;padding:24px}.route-hero h2{font-size:42px;letter-spacing:-.05em;margin:8px 0 10px}.route-hero p{max-width:560px;opacity:.83;line-height:1.5}.route-score{display:flex;align-items:baseline;margin:28px 0 8px}.route-score strong{font-size:42px}.route-score span{opacity:.65}.route-progress{max-width:420px;background:rgba(255,255,255,.2)}.route-hero small{display:block;margin-top:7px;opacity:.7}.route-action{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;text-align:left;padding:13px 0}.route-action:first-of-type{border-top:0}.route-action>b{width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);display:grid;place-items:center}.route-action i{font-style:normal;color:var(--muted)}.criterion{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;border-top:1px solid var(--line);padding:12px 0}.criterion:first-of-type{border-top:0}.criterion-check{width:24px;height:24px;border-radius:8px;border:1px solid var(--line);display:grid;place-items:center;color:var(--green)}.criterion-check.done{background:#e3f7ef;border-color:#c5eedf}.criterion b,.criterion small{display:block}.criterion small{font-size:11px;color:var(--muted);margin-top:3px}.criterion>strong{font-size:11px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.diagnostic{border:1px solid var(--line);border-radius:14px;padding:12px}.diagnostic small,.diagnostic b,.diagnostic p{display:block;margin:0}.diagnostic small{font-size:11px;color:var(--muted)}.diagnostic b{font-size:15px;margin:5px 0}.diagnostic p{font-size:11px;color:var(--muted);line-height:1.35}.diagnostic.critical{border-color:color-mix(in srgb,var(--red) 34%,var(--line))}.diagnostic.warning{border-color:color-mix(in srgb,var(--orange) 34%,var(--line))}
.calendar-page{padding:0}.calendar-row{width:100%;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;text-align:left;padding:13px 15px}.calendar-row i{font-style:normal;color:var(--muted)}.calendar-dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}.calendar-dot.task{background:var(--green)}
.assistant-page{padding:0;min-height:65vh;display:flex;flex-direction:column}.assistant-head{display:flex;justify-content:space-between;align-items:start;padding:18px;border-bottom:1px solid var(--line)}.assistant-head h2{margin:5px 0}.chat{display:flex;flex-direction:column;gap:8px;overflow:auto}.assistant-main-chat{min-height:300px;max-height:55vh;padding:16px}.bubble{max-width:82%;padding:11px 13px;border-radius:15px;font-size:13px;line-height:1.45}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff}.bubble.bot{align-self:flex-start;background:var(--bg);border:1px solid var(--line)}.quick{display:flex;gap:6px;overflow:auto;padding:0 14px 10px}.quick button{white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:8px 10px;font-size:11px}.chatbox{display:grid;grid-template-columns:1fr 44px 44px;gap:7px;border-top:1px solid var(--line);padding:12px}.chatbox textarea,.chatbox input{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:13px;padding:10px;resize:none;outline:0}.voice-btn{border:1px solid var(--line);background:var(--card);color:var(--accent);border-radius:50%;width:44px;height:44px}.voice-btn.recording{background:var(--red);color:#fff}.voice-status{padding:0 14px 12px}
.family-empty h2{font-size:25px;margin:8px 0}.family-member{padding:12px 0;border-top:1px solid var(--line)}.family-member:first-of-type{border-top:0}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d8e3ec,#8198aa);color:#102536;font-weight:800}.invite-code{font-size:26px;font-weight:850;letter-spacing:.12em;text-align:center;background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:20px;margin:12px 0}.subscription-card{background:linear-gradient(135deg,#14294c,#3a347d);color:#fff;border-radius:18px;padding:18px;margin-top:12px}.subscription-card p{opacity:.8;line-height:1.45}
.sheet{position:fixed;inset:0;z-index:80}.backdrop{position:absolute;inset:0;background:rgba(0,0,0,.48);opacity:0;transition:.18s}.sheet-panel{position:absolute;left:0;right:0;bottom:0;max-height:90vh;max-height:90dvh;overflow:auto;background:var(--card);border-radius:24px 24px 0 0;padding:12px 16px calc(18px + var(--safeBottom));transform:translateY(105%);transition:.2s ease;box-shadow:0 -20px 60px rgba(0,0,0,.18)}.sheet.visible .backdrop{opacity:1}.sheet.visible .sheet-panel{transform:translateY(0)}.handle{width:42px;height:4px;border-radius:99px;background:var(--line);margin:0 auto 14px}@media(min-width:900px){.handle{display:none}}.sheet-title-row{display:flex;justify-content:space-between;align-items:start}.sheet-title-row h2{margin:4px 0 12px}.sheet-x{border:0;background:var(--bg);color:var(--text);width:36px;height:36px;border-radius:50%}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions{display:flex;gap:8px}.field{margin:10px 0}.field label{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.field input,.field textarea,.field select,.setting input{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:11px;outline:0}.field textarea{min-height:90px;resize:vertical}.listbtn{width:100%;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:13px;padding:13px;text-align:left;margin-top:8px}.setting{padding:11px 0;border-top:1px solid var(--line)}.setting input[type="checkbox"]{width:20px;height:20px}.confirm-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.confirm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.confirm-card{position:relative;width:min(100%,380px);background:var(--card);border-radius:20px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.activation-shell{min-height:72vh;display:grid;place-items:center;padding:18px}.pc-unified-auth{max-width:600px;margin:0 auto}.pc-auth-method{width:100%;display:grid;grid-template-columns:42px 1fr 16px;gap:12px;align-items:center;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:15px;padding:12px;text-align:left;margin-top:8px}.pc-auth-method small{display:block;color:var(--muted);margin-top:2px}.pc-auth-logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--bg);font-weight:850}.pc-auth-tg{color:#32a9e9}.pc-auth-max{color:#6f57ee}.pair-status{font-size:12px;color:var(--muted);margin-top:10px}.pair-status.error{color:var(--red)}.pair-status.ok{color:var(--green)}
.offline{position:fixed;left:50%;bottom:calc(86px + var(--safeBottom));transform:translateX(-50%);z-index:90;background:#af3f48;color:#fff;padding:8px 13px;border-radius:999px;font-size:11px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(74px + var(--safeBottom));padding:6px 8px var(--safeBottom);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line)}.pc-sidebar-brand,.pc-sidebar-bottom .pc-profile-btn,.pc-sidebar-bottom .pc-theme-settings{display:none}.pc-nav-main{display:contents}.bottom-nav button[data-tab]{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:60px;min-width:0;padding:4px}.bottom-nav button[data-tab] svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.bottom-nav button[data-tab] span{font-size:11px}.bottom-nav button[data-tab].active{color:var(--accent)}.pc-nav-main button[data-tab="route"],.pc-nav-main button[data-tab="calendar"],.pc-nav-main button[data-tab="tasks"],.pc-nav-main button[data-tab="assistant"]{display:none}.pc-capture{position:fixed;left:50%;bottom:calc(9px + var(--safeBottom));transform:translateX(-50%);z-index:55;width:56px;height:56px;border-radius:18px;border:0;background:linear-gradient(135deg,var(--accent),#5076f3);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px rgba(47,125,244,.34)}.pc-capture .nav-plus-circle{display:grid;place-items:center}.pc-capture svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2}.pc-capture-label{display:none}.bottom-nav .pc-nav-main button[data-tab="home"]{grid-column:1}.bottom-nav .pc-nav-main button[data-tab="finance"]{grid-column:2}.bottom-nav .pc-nav-main button[data-tab="projects"]{grid-column:4}.bottom-nav .pc-nav-main button[data-tab="more"]{grid-column:5}.pc-sidebar-bottom{display:block}
.pc-theme-panel{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.48);display:grid;place-items:center;padding:18px}.pc-theme-card{width:min(100%,520px);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px}.pc-theme-card-head{display:flex;justify-content:space-between}.pc-theme-card-head h3{margin:3px 0 12px}.pc-theme-card-head button{border:0;background:var(--bg);color:var(--text);width:34px;height:34px;border-radius:50%}.pc-theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pc-theme-options button{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:14px;padding:12px;text-align:left}.pc-theme-options span,.pc-theme-options b,.pc-theme-options small{display:block}.pc-theme-options small{font-size:11px;color:var(--muted);margin-top:4px}.pc-theme-options button.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.pc-accent-block{margin-top:14px}.pc-accent-block label{font-size:11px;color:var(--muted)}.pc-accent-options{display:flex;gap:9px;margin-top:8px}.pc-accent-options button{width:30px;height:30px;border-radius:50%;border:3px solid var(--card);background:var(--c);box-shadow:0 0 0 1px var(--line)}.pc-accent-options button.selected{box-shadow:0 0 0 2px var(--text)}
@media(min-width:900px){
  body{padding-left:250px}.topbar{height:72px}.pc-mobile-head{display:none}.pc-desktop-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.pc-search{width:min(52vw,620px);display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:0 13px}.pc-search svg{width:18px;height:18px;fill:none;stroke:var(--muted)}.pc-search input{flex:1;border:0;background:transparent;color:var(--text);outline:0;padding:12px 0}.pc-search kbd{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:3px 5px}.pc-top-actions{display:flex;align-items:center;gap:8px}.pc-round-action,.pc-today-action{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:12px;height:42px;padding:0 12px}.pc-round-action{width:42px}.pc-today-action span,.pc-today-action small{display:block}.pc-today-action small{font-size:11px;color:var(--muted)}
  #view{width:min(100%,1380px);padding:24px 28px 40px}.bottom-nav{position:fixed;left:0;top:0;bottom:0;right:auto;width:250px;height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr;padding:24px 16px 16px;background:var(--nav);border:0;color:#fff}.pc-sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 7px 22px}.pc-brandmark-img{width:40px;height:40px;object-fit:contain}.pc-sidebar-brand strong,.pc-sidebar-brand small{display:block}.pc-sidebar-brand strong{font-size:16px}.pc-sidebar-brand small{font-size:11px;color:#7890a0;margin-top:2px}.pc-nav-main{display:flex;flex-direction:column;gap:3px}.pc-nav-main button[data-tab="route"],.pc-nav-main button[data-tab="calendar"],.pc-nav-main button[data-tab="tasks"],.pc-nav-main button[data-tab="assistant"]{display:flex}.bottom-nav button[data-tab]{height:49px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:0 13px;border-radius:12px;color:var(--navText)}.bottom-nav button[data-tab] span{font-size:14px}.bottom-nav button[data-tab].active{background:#12324b;color:#3f91ff;box-shadow:inset 3px 0 0 #3f91ff}.pc-sidebar-bottom{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(150,175,192,.16);padding-top:12px}.pc-capture{position:static;transform:none;width:100%;height:50px;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:9px}.pc-capture .nav-plus-circle{width:26px;height:26px;border:1px solid rgba(255,255,255,.3);border-radius:9px}.pc-capture svg{width:17px;height:17px}.pc-capture-label{display:inline;font-size:13px;font-weight:700}.pc-sidebar-bottom .pc-profile-btn,.pc-sidebar-bottom .pc-theme-settings{display:flex;width:100%;border:0;background:transparent;color:#a9bbc7;border-radius:12px;align-items:center;text-align:left}.pc-profile-btn{padding:8px;gap:10px}.pc-profile-copy{min-width:0;flex:1}.pc-profile-copy b,.pc-profile-copy small{display:block}.pc-profile-copy b{font-size:12px;color:#dce7ed}.pc-profile-copy small{font-size:11px;color:#7f94a2;margin-top:2px}.pc-profile-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d8e2e9,#7890a4);color:#102536;font-size:11px}.pc-theme-settings{gap:10px;padding:10px}.pc-theme-settings svg{width:19px;height:19px;fill:none;stroke:currentColor}.pc-theme-settings span{font-size:12px}.offline{bottom:22px}
  .kpi3{grid-template-columns:repeat(3,1fr)}.card{padding:18px}.welcome h2{font-size:31px}.route-hero{min-height:300px}.route-hero h2{font-size:55px}.diagnostic-grid{grid-template-columns:repeat(4,1fr)}.sheet-panel{left:auto;right:20px;bottom:20px;width:min(560px,calc(100vw - 290px));border-radius:24px;max-height:calc(100vh - 40px)}
}
@media(max-width:480px){.kpi3{gap:6px}.kpi3 button{padding:11px 6px}.kpi3 strong{font-size:14px}.finance-kpis{grid-template-columns:1fr}.expense-chart{grid-template-columns:1fr}.donut{margin:auto}.diagnostic-grid{grid-template-columns:1fr}.route-hero h2{font-size:36px}.pc-theme-options{grid-template-columns:1fr}.grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* RC4: Profile is a centered dialog on desktop, bottom sheet on mobile. */
@media (min-width:900px){
  .sheet.profile-sheet .sheet-panel{
    left:50%;right:auto;top:50%;bottom:auto;
    width:min(580px,calc(100vw - 320px));
    max-height:min(760px,calc(100vh - 72px));
    transform:translate(-50%,calc(-50% + 18px));
  }
  .sheet.profile-sheet.visible .sheet-panel{transform:translate(-50%,-50%)}
}
.sheet.profile-sheet .sheet-title-row{position:sticky;top:-12px;z-index:6;background:var(--card);padding-top:12px;margin-top:-12px}
.sheet.profile-sheet .sheet-x{flex:0 0 38px;width:38px;height:38px;font-size:24px;line-height:1;display:grid;place-items:center;box-shadow:0 1px 0 var(--line)}

/* Экраны входа: выбор способа, Email + код, ожидание в MAX и Telegram.
   Только оформление; разметка и логика — в renderStandaloneActivation (app-710.js). */
body.standalone-locked .bottom-nav,
body.standalone-locked .topbar{display:none}
body.standalone-locked{padding-left:0}
body.standalone-locked #view{width:100%;max-width:none;min-height:100vh;padding:0;display:grid;place-items:center}
.activation-shell.pc-unified-auth{box-sizing:border-box;width:100%;max-width:440px;min-height:0;margin:0 auto;padding:max(28px,var(--safe-top)) 18px calc(28px + var(--safeBottom));display:flex;flex-direction:column;gap:18px;place-items:initial}
.activation-shell[hidden],.pc-auth-methods[hidden],.pc-auth-detail[hidden],.pc-auth-global-note[hidden]{display:none}
.activation-brand{display:flex;align-items:center;gap:12px}
.activation-brand>div:not(.activation-mark){display:flex;flex-direction:column;gap:5px;min-width:0}
.activation-brand small{display:block;font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--accent)}
.activation-brand strong{display:block;font-size:15px;line-height:1.3;font-weight:750;letter-spacing:-.01em}
.activation-mark{flex:0 0 46px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:20px;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 30%,transparent)}
.pc-unified-auth .activation-brand img{flex:0 0 auto;width:46px;height:46px;border-radius:14px;object-fit:contain}
.activation-brand h2{margin:4px 0 4px;font-size:20px;letter-spacing:-.03em}
.activation-copy{display:flex;flex-direction:column;gap:8px}
.activation-kicker{display:block;font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--accent);text-transform:uppercase}
.activation-copy h1{margin:0;font-size:28px;line-height:1.15;letter-spacing:-.035em}
.activation-copy p{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}
.pc-auth-methods{display:flex;flex-direction:column;gap:10px}
.pc-auth-method{box-sizing:border-box;min-height:64px;margin-top:0;cursor:pointer;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.pc-auth-method:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.pc-auth-method:active{transform:scale(.99)}
.pc-auth-method:focus-visible,.pc-auth-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pc-auth-method b{display:block;font-size:15px}
.pc-auth-method small{font-size:12px;line-height:1.35}
.pc-auth-method i{font-style:normal;font-size:22px;color:var(--muted);text-align:center}
.pc-auth-method.is-unavailable{opacity:.6}
.pc-auth-logo{width:42px;height:42px;font-size:18px;line-height:1;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line))}
.pc-auth-tg{color:#32a9e9;background:color-mix(in srgb,#32a9e9 14%,var(--card));border-color:color-mix(in srgb,#32a9e9 26%,var(--line))}
.pc-auth-max{color:#8b74ff;background:color-mix(in srgb,#6f57ee 16%,var(--card));border-color:color-mix(in srgb,#6f57ee 30%,var(--line))}
.activation-form,.pc-auth-detail{box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.pc-auth-detail>label{display:block;margin:14px 0 6px;font-size:12px;font-weight:700;color:var(--muted)}
.pc-auth-detail>input{box-sizing:border-box;display:block;width:100%;min-height:48px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:11px 13px;font-size:16px;outline:0}
.pc-auth-detail>input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.pc-auth-detail>input::placeholder{color:var(--muted);opacity:.7}
.pc-auth-detail .pair-code{text-align:center;font-size:24px;font-weight:800;letter-spacing:.35em;text-indent:.35em}
.pc-auth-detail h3{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}
.pc-auth-detail p{margin:8px 0;font-size:14px;line-height:1.5;color:var(--muted)}
.pc-auth-back{display:inline-flex;align-items:center;min-height:44px;margin:-8px 0 4px -8px;padding:0 10px;border:0;background:transparent;color:var(--accent);border-radius:10px;font-weight:700;font-size:14px;cursor:pointer}
.pc-auth-back:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.activation-submit{box-sizing:border-box;display:block;width:100%;min-height:48px;margin-top:14px;cursor:pointer}
.pc-auth-detail .secondary.full{min-height:48px;margin-top:10px}
.pc-auth-detail .pair-status,#pcUnifiedAuthStatus{margin-top:10px;font-size:13px;line-height:1.4}
#pcUnifiedAuthStatus:empty,.pc-auth-detail .pair-status:empty{display:none}
.activation-note{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.pc-auth-global-note{text-align:center}
.pc-auth-detail .activation-note{margin-top:12px}
.pc-max-pair-login{display:flex;flex-direction:column;align-items:stretch;text-align:center}
.pc-max-pair-login h3{margin:4px 0 12px}
.pc-max-wait-icon{width:64px;height:64px;margin:0 auto 12px;border-radius:18px;display:grid;place-items:center;font-size:28px;font-weight:850;color:#fff;background:linear-gradient(135deg,#6f57ee,#4f7cf7);box-shadow:0 12px 30px rgba(111,87,238,.32)}
.pc-max-wait-icon.pc-tg-wait-icon{background:linear-gradient(135deg,#32a9e9,#2f7df4);box-shadow:0 12px 30px rgba(50,169,233,.3)}
.pc-max-pair-actions{display:flex;flex-direction:column;margin-top:8px}
.pc-max-open-link,.pc-tg-open-link{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border-radius:13px;text-decoration:none;font-weight:750;text-align:center}
.pc-max-pair-login .pair-status{text-align:center}
.pc-max-pair-fallback{margin-top:14px;text-align:left;border:1px solid var(--line);border-radius:13px;padding:0 14px;background:var(--bg)}
.pc-max-pair-fallback summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:13px;font-weight:700;color:var(--text)}
.pc-max-pair-fallback .secondary{margin:0 0 12px;min-height:44px}
.pc-max-pair-fallback b{color:var(--text);letter-spacing:.08em}
@media(max-width:480px){
  .activation-shell.pc-unified-auth{padding-left:16px;padding-right:16px;gap:16px}
  .activation-copy h1{font-size:25px}
}
/* Логотип «Бутон»: светлая версия знака в светлой теме, тёмная подложка знака на экране входа */
html[data-theme="light"] .ui-brand{content:url("logo-light.svg?v=7.1.48")}
.activation-mark{background:radial-gradient(circle at 30% 20%,#15263A,#060C15);box-shadow:0 10px 28px rgba(6,12,21,.35)}
.activation-mark img{width:30px;height:30px;display:block}

/* bot code login / link (7.1.6) */
.pc-auth-code-links{display:flex;flex-direction:column;gap:2px;margin-top:2px}
.pc-auth-code-btn{min-height:44px;border:0;background:transparent;color:var(--accent);font-weight:700;font-size:14px;cursor:pointer;border-radius:10px}
.pc-auth-code-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.pc-auth-code-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.pc-botcode-open{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;margin:8px 0 12px;border-radius:13px;text-decoration:none;font-weight:750;text-align:center}
.pc-botcode .pair-code{width:100%;box-sizing:border-box;text-align:center;font-size:24px;font-weight:800;letter-spacing:.35em;text-indent:.35em}
.pc-botcode .pair-status{margin-top:10px;font-size:13px;line-height:1.4}
.pc-botcode .pair-status:empty{display:none}
.pc-link-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.pc-phone-hint a{color:var(--accent);font-weight:700}

/* ===== 7.1.16: единый дизайн (фундамент). Правила — docs/design/UNIFIED_UI.md ===== */
html[data-theme="dark"] body{background:linear-gradient(180deg,var(--bg-2),var(--bg) 360px) no-repeat var(--bg)}
html[data-theme="dark"] .topbar{background:color-mix(in srgb,var(--bg-2) 92%,transparent)}
/* Шапка начинается ниже безопасной зоны (Telegram fullscreen / чёлка), фон закрывает полосу под кнопками мессенджера */
.topbar{padding-top:var(--safe-top)}
.pc-mobile-head{min-height:70px}
.pc-mobile-head{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.head-title{font-weight:700}.head-subtitle{font-size:12px}
.refresh-mini{width:44px;height:44px;border-radius:14px}
.eyebrow{font-size:11px;letter-spacing:.12em}
.eyebrow,.textbtn,.ghost,.subtle-link{color:var(--accent-text)}
.textbtn,.ghost{min-height:44px;padding:0 10px}
.small,.section-head span{font-size:12px}

/* Карточки */
.card{box-shadow:var(--shadow)}
.card.focus-card{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.compact-card{padding:0}
.compact-card>.section-head,.compact-card>.section-button{padding:14px 16px;margin:0}
.compact-card>.section-head>b,.compact-card>.section-button>b{font-size:16px;font-weight:650}
.compact-card>.empty,.compact-card>.family-member,.compact-card>.route-action,.compact-card>.criterion,.compact-card>.calendar-row,.compact-card>.more-row,.compact-card>.task,.compact-card>.diagnostic-grid{padding-left:16px;padding-right:16px}
.compact-card>.family-member,.compact-card>.route-action,.compact-card>.criterion,.compact-card>.task{padding-top:14px;padding-bottom:14px}
.compact-card>.diagnostic-grid{padding-bottom:16px}
.calendar-page>.section-head,.more-card>.section-head{padding:14px 16px;margin:0}
.calendar-row,.more-row{padding:14px 16px;min-height:56px}
.section-head>b,.section-head h2{font-size:16px;font-weight:650}
.welcome{padding:4px 2px 14px}.welcome h2{font-size:28px;line-height:1.2;font-weight:700}
.cycle-chip,.pill{min-height:24px;padding:0 10px;font-size:12px;font-weight:700;color:var(--accent-text);white-space:nowrap;align-self:center;flex:none}
.cycle-chip{background:color-mix(in srgb,var(--green) 16%,var(--card));color:var(--green-text);border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
.pill.p1{background:color-mix(in srgb,var(--red) 16%,var(--card));color:var(--red-text);border-color:color-mix(in srgb,var(--red) 30%,var(--line))}
.pill.p2{background:color-mix(in srgb,var(--gold) 16%,var(--card));color:var(--gold-text);border-color:color-mix(in srgb,var(--gold) 30%,var(--line))}
.pill.p3{background:color-mix(in srgb,var(--accent) 16%,var(--card));color:var(--accent-text)}
.pill.p4{background:color-mix(in srgb,var(--muted) 14%,var(--card));color:var(--muted);border-color:var(--line)}
.task b{font-size:15px;font-weight:600}.task .muted,.payment-row small{font-size:13px}
.task{padding:14px 0;min-height:56px}
.check{width:24px;height:24px;border-radius:8px;border-color:var(--muted)}

/* Кнопки */
.primary,.secondary,.danger{min-height:48px;border-radius:14px;font-size:15px;font-weight:700}
.secondary{background:var(--card-2)}
.danger{color:var(--red-text);border-color:color-mix(in srgb,var(--red) 30%,var(--line))}
.primary:active,.secondary:active,.danger:active{filter:brightness(.92)}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.field input,.field textarea,.field select,.setting input{background:var(--input);min-height:48px}
.field label{font-size:13px}

/* KPI: тёмные плитки с цветным значком, по левому краю */
.kpi3{gap:8px}
.kpi3 button{text-align:left;padding:12px;border-radius:16px}
.kpi3 strong{font-size:20px;font-weight:750;margin:8px 0 2px}
.kpi3 small{font-size:12px}
.kpi-icon{width:32px;height:32px;border-radius:11px;margin:0}
.greenbg{background:color-mix(in srgb,var(--green) 18%,var(--card));color:var(--green-text)}
.bluebg{background:color-mix(in srgb,var(--accent) 18%,var(--card));color:var(--accent-text)}
.redbg{background:color-mix(in srgb,var(--red) 18%,var(--card));color:var(--red-text)}
.pay-icon{width:36px;height:36px;background:color-mix(in srgb,var(--red) 18%,var(--card));color:var(--red-text)}
.more-icon{background:color-mix(in srgb,var(--accent) 14%,var(--card))}
.criterion-check.done{background:color-mix(in srgb,var(--green) 18%,var(--card));border-color:color-mix(in srgb,var(--green) 35%,var(--line))}
.avatar{background:color-mix(in srgb,var(--accent) 22%,var(--card));color:var(--accent-text)}
.kpi3 small,.finance-kpis small,.donut small,.legend-row,.chart-hint,.diagnostic small,.diagnostic p,.criterion small,.pc-theme-options small{font-size:12px}

/* Ближайший платёж и Главный проект */
.payment-row{padding:12px 16px;min-height:56px;gap:12px}
.payment-row .right strong{font-size:16px;font-weight:700;white-space:nowrap}
.payment-row .grow{min-width:0}
.project-feature{padding:16px;align-items:center;gap:14px}
.project-feature .section-head{padding:0 0 8px}
.project-feature h3{margin:2px 0 10px;font-size:17px;font-weight:650;overflow-wrap:anywhere}
.project-thumb-art,.project-cover{width:72px;height:72px;min-width:72px;flex:none;border-radius:14px;overflow:hidden;position:relative}
.project-thumb-art{align-self:center;background:linear-gradient(145deg,#2c4b63,#12283a)}
.project-thumb-art span,.project-cover .cover-art{position:absolute;inset:auto 10px 0 10px;height:55%;background:rgba(255,255,255,.22);border-radius:8px 8px 0 0}
.project-cover{background:linear-gradient(145deg,#2c4b63,#12283a)}
.project-cover.cover-digital{background:linear-gradient(145deg,#1f4f8f,#10284a)}
.project-cover.cover-interior{background:linear-gradient(145deg,#6b5a45,#2a2f34)}
.project-cover.cover-grid{background:linear-gradient(145deg,#2b6a62,#12302f)}
.project-cover-photo img{width:100%;height:100%;object-fit:cover;display:block}
.project-next{font-size:13px;line-height:1.4;margin-top:8px;overflow-wrap:anywhere}
.project-next b{font-weight:600;color:var(--text)}
.progress{height:6px}
.progress i{background:linear-gradient(90deg,var(--teal),var(--green))}
.assistant-strip small{font-size:12px}

/* Проекты */
.project-shell{padding:16px}
.project-card{display:flex;align-items:center;gap:14px;width:100%}
.project-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.project-top h3{margin:0;font-size:17px;font-weight:650;overflow-wrap:anywhere;min-width:0}
.project-pct{font-size:15px;font-weight:700;color:var(--green-text);flex:none}
.project-deadline{display:block;margin-top:6px;font-size:12px;color:var(--muted)}

/* Вкладки и чипы */
.task-tabs,.project-tabs{display:flex;gap:8px;margin:0 0 12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.task-tabs::-webkit-scrollbar,.project-tabs::-webkit-scrollbar{display:none}
.task-tabs button,.project-tabs button{flex:none;height:40px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--line);background:var(--card-2);color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap}
.task-tabs button.active,.project-tabs button.active{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent-text)}
.task-tabs button small,.project-tabs button small{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--chip-n);font-size:12px;font-weight:700;color:inherit}
.new-task{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;width:100%;margin:0 0 12px;padding:0 16px;border-radius:14px;border:1px solid var(--line);background:var(--card-2);color:var(--text);font-size:15px;font-weight:700}
.quote-card{margin:4px 0 12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--card);text-align:center;font-size:13px;line-height:1.5;color:var(--muted)}
.quick button{font-size:12px;min-height:36px;padding:0 12px}

/* Нижняя навигация: подписи 11px, круглая «+» */
.bottom-nav{height:calc(64px + var(--safe-bottom));padding:4px 8px var(--safe-bottom)}
.bottom-nav button[data-tab]{height:56px}
.bottom-nav button[data-tab] svg{width:22px;height:22px}
.bottom-nav button[data-tab] span{font-size:11px}
.bottom-nav button[data-tab].active{color:var(--accent-text)}
.pc-capture{width:52px;height:52px;border-radius:50%;bottom:calc(var(--safe-bottom) + 8px);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 40%,transparent)}
.offline{bottom:calc(86px + var(--safe-bottom))}

/* Листы */
.sheet-panel{padding-bottom:calc(18px + var(--safe-bottom))}
.sheet-x{width:44px;height:44px;background:var(--card-2)}
.sheet-title-row h2{font-size:22px;font-weight:700}

@media(min-width:900px){
  .card{padding:20px}
  .welcome h2{font-size:32px}
  .compact-card{padding:0}
  #view{padding:24px max(28px,env(safe-area-inset-right,0px)) 40px;width:min(100%,1200px)}
  .offline{bottom:22px}
  .bottom-nav{height:100vh;height:100dvh;padding:24px 16px 16px;align-content:stretch;align-items:stretch;overflow:hidden}
  .pc-nav-main{min-height:0;overflow-y:auto;scrollbar-width:none;align-self:start}
  .bottom-nav button[data-tab]{height:48px}
  .bottom-nav button[data-tab] span{font-size:14px}
  .bottom-nav button[data-tab].active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);box-shadow:inset 3px 0 0 var(--accent-text)}
  .pc-capture{bottom:auto;border-radius:14px;height:48px;width:100%;box-shadow:none}
  .pc-sidebar-brand{padding-bottom:16px}
  .pc-sidebar-brand small,.pc-profile-copy small{font-size:11px}
  .pc-profile-copy b,.pc-theme-settings span{font-size:13px}
  .sheet-panel{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px)}
  .kpi3 button{padding:14px 16px}
  #view:has(.project-tabs){display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
  #view:has(.project-tabs)>.project-tabs,#view:has(.project-tabs)>.empty{grid-column:1/-1}
  #view:has(.project-tabs)>.card{margin:0}
}

/* ===== 7.1.16: единый дизайн, все экраны. Правила — docs/design/UNIFIED_UI.md ===== */
/* Значки и плитки */
.ico{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none;display:block}
.tile{--tc:var(--accent);--tt:var(--accent-text);width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 18%,var(--card));color:var(--tt)}
.tile.lg{width:42px;height:42px;border-radius:12px;border:1px solid color-mix(in srgb,var(--tc) 24%,var(--line))}
.tile.lg .ico{width:22px;height:22px}
.t-blue{--tc:var(--accent);--tt:var(--accent-text)}
.t-green{--tc:var(--green);--tt:var(--green-text)}
.t-red{--tc:var(--red);--tt:var(--red-text)}
.t-gold{--tc:var(--gold);--tt:var(--gold-text)}
.t-teal{--tc:var(--teal);--tt:var(--teal-text)}
.t-violet{--tc:#7658e8;--tt:#9d8aff}
html[data-theme="light"] .t-violet{--tt:#5b3fd0}
.kpi-icon,.pay-icon,.debt-icon,.more-icon{color:var(--tt,currentColor)}
.kpi-icon .ico,.pay-icon .ico{width:19px;height:19px}
.title-ico,.inline-ico{display:inline-flex;align-items:center;gap:8px}
.title-ico .ico{color:var(--teal-text);width:18px;height:18px}
.inline-ico .ico{width:16px;height:16px;color:var(--muted)}
.rec-sq{display:block;width:14px;height:14px;border-radius:3px;background:currentColor}

/* Список «Ещё» и «Что добавить?» */
.more-row,.addrow{gap:14px}
.more-row .grow,.addrow .grow{min-width:0}
.more-row b,.addrow b{display:block;font-size:15px;font-weight:650}
.more-row small,.addrow small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.more-row i,.addrow i{font-style:normal;color:var(--muted);font-size:20px}
.more-icon{width:42px;height:42px}
.more-row:active,.addrow:active,.pc-auth-method:active{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.addlist{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.addrow{display:flex;align-items:center;width:100%;min-height:64px;padding:11px 14px;border:1px solid var(--line);background:var(--card-2);color:var(--text);border-radius:14px;text-align:left;margin:0}
.discipline{display:flex;flex-direction:column;align-items:center;gap:8px;line-height:1.45}
.discipline .ico{color:var(--green-text);width:22px;height:22px}

/* Листы: заголовок и крестик в одну строку */
.sheet-title-row,.project-detail-head,.drill-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.sheet-title-row h2,.project-detail-head h2,.drill-head h2{margin:2px 0 0;font-size:22px;line-height:1.2;font-weight:700;overflow-wrap:anywhere}
.sheet-title-row>div,.project-detail-head>div,.drill-head>div{min-width:0}
.sheet-x{flex:none;display:grid;place-items:center;font-size:24px;line-height:1;padding:0}
#sheetContent>h2{margin:4px 0 14px;font-size:22px}
#sheetContent>.muted{line-height:1.5}
.sheet-panel{border:1px solid var(--line);border-bottom:0}
@media(min-width:900px){.sheet-panel{border-bottom:1px solid var(--line)}}

/* Поля форм: одна высота у всех, равные зазоры */
.field{margin:0 0 12px}
.field input,.field select,.field textarea{display:block;max-width:100%}
.field input[type="date"],.field input[type="time"],.setting input[type="time"],.setting input[type="date"]{height:48px;min-height:48px;-webkit-appearance:none;appearance:none;line-height:1.2;padding-top:0;padding-bottom:0}
.field input::-webkit-date-and-time-value{text-align:left;min-height:1.2em}
.field input[type="date"]::-webkit-calendar-picker-indicator,.field input[type="time"]::-webkit-calendar-picker-indicator{opacity:.7}
html[data-theme="dark"]{color-scheme:dark}html[data-theme="light"]{color-scheme:light}
.field select{-webkit-appearance:none;appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.field input:focus,.field textarea:focus,.field select:focus,.setting input:focus,.chatbox textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.field textarea{padding:12px;line-height:1.4}
.grid{gap:0 12px;margin:0}
.grid>.field{min-width:0}
@media(max-width:360px){.grid{grid-template-columns:1fr}}
@media(max-width:480px){.grid{grid-template-columns:1fr 1fr}.grid .field label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:360px){.grid{grid-template-columns:1fr}}
.sheet-panel .primary.full,.sheet-panel .secondary.full,.sheet-panel .danger.full{margin-top:12px}
.actions{flex-wrap:wrap}.actions>button{flex:1 1 140px}
.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}
.setting.row small{display:block}
.setting input[type="time"],.setting input[type="number"],.setting input[type="date"]{width:auto;min-width:120px;height:44px;min-height:44px}
.setting input.num{width:90px;min-width:0}
.setting input[type="checkbox"]{width:22px;height:22px;min-height:0;accent-color:var(--accent)}
.card>.setting:first-of-type,.card>b+.setting{border-top:0}
.card>b:first-child{display:block;font-size:16px;font-weight:650;margin-bottom:6px}
.card>.eyebrow+h2{margin:6px 0 4px;font-size:26px;font-weight:700}
.listbtn{min-height:52px}

/* Платежи, кредиты, расходы, счета */
.payment-summary,.drill-summary{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:14px;background:var(--card-2);border:1px solid var(--line);margin:0 0 12px}
.payment-summary span,.drill-summary span{font-size:13px;color:var(--muted)}
.payment-summary strong,.drill-summary strong{font-size:24px;font-weight:750}
.payment-summary small{font-size:12px;color:var(--muted)}
.payment-list,.debt-list,.expense-list{display:flex;flex-direction:column;margin:0 0 12px}
.payment-list-row,.debt-row,.expense-item{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 0;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;text-align:left}
.payment-list>:first-child,.debt-list>:first-child,.expense-list>:first-child{border-top:0}
.payment-list-row b,.debt-row b,.expense-item b{display:block;font-size:15px;font-weight:600}
.payment-list-row small,.debt-row small,.expense-item small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.payment-list-row strong,.debt-row .right strong,.expense-item strong{font-size:15px;font-weight:700;white-space:nowrap}
.debt-row .right small{text-align:right}
.expense-item>div{min-width:0;flex:1}
.debt-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 18%,var(--card));color:var(--accent-text)}
.debt-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.debt-summary>div,.debt-detail>div{padding:14px;border-radius:14px;background:var(--card-2);border:1px solid var(--line)}
.debt-summary small,.debt-detail small{display:block;font-size:12px;color:var(--muted)}
.debt-summary strong,.debt-detail strong{display:block;font-size:18px;font-weight:750;margin-top:4px}
.debt-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.account.row,.total.row{padding:12px 16px;min-height:48px;border-top:1px solid var(--line)}
.sheet-panel>#sheetContent>.account.row,.sheet-panel>#sheetContent>.total.row{padding-left:0;padding-right:0}
.compact-card>.account.row:first-of-type{border-top:0}
.tx{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);min-height:56px}
.tx>div:first-child{min-width:0}
.tx b{font-size:15px;font-weight:600}.tx .muted{font-size:13px;margin-top:2px}
.tx>b{white-space:nowrap}
.compact-card>.section-head+.tx{border-top:0}
.datehead{margin:14px 0 8px;font-size:13px;font-weight:700;color:var(--muted)}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:8px}
.stats span{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--muted);padding:6px 0;border-top:1px solid var(--line)}
.stats b{color:var(--text)}

/* Финансы */
.finance-hero{background:linear-gradient(135deg,#10284a,#26357a)}
.finance-hero .balance-top>span{font-size:14px}
.finance-hero .balance-top small{font-size:13px}
.finance-kpis{display:flex;flex-direction:column;gap:0;margin-top:16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);overflow:hidden}
.finance-kpis>div,.finance-kpi-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;padding:0 14px;border:0;border-radius:0;background:transparent;color:#fff;text-align:left}
.finance-kpis>div+div,.finance-kpis>div+button{border-top:1px solid rgba(255,255,255,.14)}
.finance-kpis small{font-size:13px;opacity:.78}
.finance-kpis b{font-size:16px;font-weight:700;margin:0;white-space:nowrap}
.expense-chart{padding:8px 16px}
.legend-row{grid-template-columns:10px 1fr auto;font-size:13px;min-height:36px;padding:4px 0}
.legend-row i{width:10px;height:10px;border-radius:3px}
.chart-hint{font-size:12px;padding:6px 16px 16px}
.finance-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:72px;font-size:14px;font-weight:600;padding:0 8px}
.finance-actions .ico{width:22px;height:22px;color:var(--accent-text)}
.finance-actions span{font-size:14px;color:var(--text)}
.subtle-link{min-height:44px;font-size:15px;font-weight:600}
.compact-card>.section-button{display:flex;width:100%}
.compact-card>.section-button span{color:var(--muted)}
.chart-all{white-space:nowrap}

/* Календарь, маршрут */
.calendar-dot.event{background:var(--accent)}.calendar-dot{flex:none}
.calendar-row .grow b,.route-action strong{font-size:15px;font-weight:600}
.calendar-row small,.route-action small{font-size:13px}
.empty-action{display:inline-flex;align-items:center;margin-top:12px;padding:0 18px}
.empty{font-size:14px}
.route-action>b{flex:none}
.route-action i,.calendar-row i,.family-member>i{font-size:20px}
.criterion{padding:14px 16px}
.criterion-check .ico{width:16px;height:16px;color:var(--green-text)}
.criterion>strong{font-size:13px;color:var(--muted)}
.diagnostic{background:var(--card-2)}
.diagnostic p{font-size:12px}

/* Ассистент */
.assistant-page{min-height:calc(100vh - 190px);min-height:calc(100dvh - 190px)}
.assistant-head{align-items:center;gap:12px;padding:16px}
.assistant-head h2{margin:4px 0 2px;font-size:20px;font-weight:700}
.assistant-head small{font-size:12px}
.assistant-clear{min-height:40px;padding:0 14px;font-size:14px;flex:none}
.assistant-main-chat{flex:1;max-height:none}
.quick{padding:0 16px 12px;scrollbar-width:none}.quick::-webkit-scrollbar{display:none}
.quick button{background:var(--card-2);color:var(--text)}
.chatbox{grid-template-columns:1fr 44px 44px;align-items:end;padding:12px 16px}
.chatbox textarea,.chatbox input{background:var(--input);min-height:48px;font-size:15px}
.chatbox .primary,.voice-btn{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;border-radius:14px}
.voice-btn{background:var(--card-2);color:var(--accent-text)}
.voice-btn.recording{background:var(--red);color:#fff;border-color:var(--red)}
.bubble{font-size:14px}
.bubble.bot{background:var(--card-2)}
.voice-status{padding:0 16px 12px}
.voice-hero{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card-2);margin-bottom:12px}
.voice-hero small{display:block;font-size:12px;color:var(--muted);margin:2px 0 8px}
.voice-hero .voice-btn{background:var(--card);flex:none}
.intentbox{display:flex;gap:8px}
.intentbox input{flex:1;min-width:0;height:44px;border:1px solid var(--line);background:var(--input);color:var(--text);border-radius:12px;padding:0 12px;outline:0}
.intentbox .primary{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center}
.intent-preview{margin:0 0 12px}
.intent-kind{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--accent) 16%,var(--card));color:var(--accent-text);margin-bottom:10px}
.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.preview-item{padding:10px 12px;border-radius:12px;background:var(--card-2);border:1px solid var(--line)}
.preview-item small{display:block;font-size:12px;color:var(--muted)}.preview-item b{font-size:14px;overflow-wrap:anywhere}

/* Семья */
.family-sub{margin:-4px 0 0;padding:0 16px 16px;font-size:14px}
.compact-card>.section-head .eyebrow{margin-bottom:2px}
.compact-card>.section-head h2{margin:0;font-size:20px}
.family-member{min-height:56px}
.family-member b{font-size:15px;font-weight:600}
.family-member small{font-size:13px}
.family-empty{padding:20px}
.family-empty .eyebrow{margin-bottom:4px}
.invite-code{background:var(--card-2)}
.avatar{flex:none}

/* Проект (лист) и задачи проекта */
.project-detail-summary{padding:14px 16px;border-radius:14px;background:var(--card-2);border:1px solid var(--line);margin:0 0 14px}
.project-detail-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}
.project-detail-top>div{display:flex;flex-direction:column;gap:2px}
.project-detail-top span{font-size:13px}.project-detail-top strong{font-size:20px;font-weight:750}
.next-step{display:flex;flex-direction:column;gap:2px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.next-step span{font-size:13px;color:var(--muted)}.next-step b{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.project-task-head{padding:4px 0 8px}
.project-task-list{margin:0 0 4px}
.project-task-list .task{padding:12px 0}
.idea-list{display:flex;flex-direction:column;margin:0 0 4px}
.idea-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.idea-row:first-child{border-top:0}
.idea-row b{display:block;font-size:15px;font-weight:600}.idea-row small{display:block;font-size:13px;margin-top:2px;overflow-wrap:anywhere}

/* График: дни недели и цикл */
.weekdays{display:flex;flex-wrap:wrap;gap:8px}
.weekdays label{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card-2);color:var(--text)!important;font-size:14px!important}
.weekdays input{width:18px!important;min-height:0!important;height:18px!important;accent-color:var(--accent)}
.pattern{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.daychip{height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--card-2);color:var(--text);font-size:14px;font-weight:600}
.daychip.work{background:color-mix(in srgb,var(--green) 18%,var(--card));border-color:color-mix(in srgb,var(--green) 35%,var(--line));color:var(--green-text)}
.daychip.off{color:var(--muted)}
.daychip.remove{color:var(--red-text)}

/* Профиль (лист) */
.sheet.profile-sheet .setting.row{padding:12px 0;gap:12px;align-items:center}
.sheet.profile-sheet .setting.row>span:first-child{min-width:0;flex:1}
.sheet.profile-sheet .setting.row b{font-size:15px}
.sheet.profile-sheet .setting.row small{font-size:13px}
.pc-link-actions{flex-direction:row;align-items:center;flex:none;gap:6px}
.setting.row>.danger,.setting.row>.secondary,.pc-link-actions>button{min-height:40px;padding:0 14px;font-size:14px;white-space:nowrap}
.pc-link-actions>button+button{background:transparent;border-color:transparent;color:var(--accent-text)}
@media(max-width:480px){.sheet.profile-sheet .setting.row:has(.pc-link-actions){flex-wrap:wrap}.sheet.profile-sheet .pc-link-actions{width:100%;justify-content:flex-start}}
.sheet-panel .card{box-shadow:none;background:var(--card-2)}
.sheet-panel .compact-card .setting{padding-left:16px;padding-right:16px}

/* Подписка */
.subscription-card{margin:0 0 12px}
.subscription-card b{font-size:18px}
.subscription-card p{margin:8px 0 0;font-size:14px}
.pc-seg{display:flex;gap:6px;margin:0 0 12px;padding:4px;border:1px solid var(--line);border-radius:14px}
.pc-seg button{flex:1;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.pc-seg button.on{background:var(--accent,#3b82f6);color:#fff}
.pc-plan{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:0 0 10px}.pc-plan-btn{min-width:104px}.pc-plan-note{grid-column:1/-1;font-size:13px}.pc-plan-note .pc-plan-btn{margin-left:8px}
.pc-plan .grow{flex:1 1 120px}.pc-plan small{display:block}.pc-plan-price{font-weight:700;white-space:nowrap}
.pc-plan-price small{display:inline;font-weight:400;opacity:.7}
.pc-check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:14px;line-height:1.35;cursor:pointer}
.pc-check input{margin-top:3px;width:18px;height:18px;flex:none}

/* Тема */
.pc-theme-options button{display:flex;flex-direction:column;gap:2px;min-height:112px;background:var(--card-2)}
.pc-theme-options .tile{margin-bottom:8px}
.pc-theme-options b{font-size:15px}
.pc-theme-card-head button{width:44px;height:44px;font-size:24px;background:var(--card-2)}
.pc-accent-block label{font-size:13px}
.pc-accent-options button{width:36px;height:36px}
@media(max-width:480px){.pc-theme-options button{flex-direction:row;align-items:center;gap:12px;min-height:64px}.pc-theme-options .tile{margin:0}.pc-theme-options button>b{flex:none}}

/* Онбординг */
.onboarding-shell{min-height:0;display:block;max-width:520px;margin:0 auto;padding:max(20px,var(--safe-top)) 0 24px}
.onboarding-shell .activation-brand{align-items:flex-start;margin-bottom:16px}
.onboarding-shell .activation-brand h2{font-size:22px;line-height:1.2;margin:4px 0 6px}
.onboarding-shell .activation-brand p{margin:0;font-size:14px;line-height:1.45}
.onboarding-card{margin:0}
.onboarding-card #onbError:empty{display:none}
.onboarding-card #onbError{color:var(--red-text);font-size:13px;margin:10px 0 0}
.onboarding-card .setting{padding:8px 0;border-top:0}

/* Вход */
.pc-auth-logo{border-radius:12px}
.pc-auth-logo .ico{width:22px;height:22px}
.pc-auth-logo{color:var(--accent-text)}
.pc-auth-tg{color:#4fb8ee}.pc-auth-max{color:#9d8aff}
.pc-max-wait-icon .ico{width:30px;height:30px}
.pc-max-pair-fallback{background:var(--card-2)}
.pc-unified-auth .activation-brand strong{font-size:14px;color:var(--muted);font-weight:600}
.pc-auth-detail>input{background:var(--input)}
.activation-note,.pair-status{font-size:13px}

/* Боковое меню (≥900): профиль */
.pc-profile-copy b,.pc-profile-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-profile-avatar{font-size:13px;font-weight:700;background:color-mix(in srgb,var(--accent) 22%,var(--nav));color:var(--accent-text)}
.pc-theme-settings svg,.pc-round-action .ico{width:20px;height:20px}
.pc-round-action{display:grid;place-items:center;padding:0}
.pc-search kbd{font-size:12px}

/* Светлая тема: плитки и подсказки остаются читаемыми */
html[data-theme="light"] .tile.lg{background:color-mix(in srgb,var(--tc) 12%,#fff)}
html[data-theme="light"] .kpi-icon,html[data-theme="light"] .pay-icon{background:color-mix(in srgb,var(--tc,var(--accent)) 12%,#fff)}
html[data-theme="light"] .sheet-panel{box-shadow:0 -20px 60px rgba(16,36,55,.16)}
html[data-theme="light"] .field input,html[data-theme="light"] .field select,html[data-theme="light"] .field textarea{background:#fff}
html[data-theme="light"] .addrow,html[data-theme="light"] .payment-summary,html[data-theme="light"] .drill-summary{background:#f5f8fc}

@media(min-width:900px){
  .assistant-page{min-height:calc(100dvh - 130px)}
  .more-card .more-row{padding:14px 20px}
  .family-sub{padding:0 20px 20px}
  .sheet-title-row,.project-detail-head,.drill-head{margin-bottom:16px}
}

.kpi3 button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0}
.kpi3 small{line-height:1.25}
.compact-card>.section-head:has(.textbtn),.calendar-page>.section-head:has(.textbtn){padding-top:8px;padding-bottom:8px}
.textbtn{white-space:nowrap}
.onboarding-shell>.onboarding-card{width:100%;max-width:none;justify-self:stretch}

/* Вход: без повтора заголовка, блок ближе к верху на телефоне */
.pc-unified-auth .activation-brand strong{display:none}
.pc-unified-auth .activation-brand{gap:12px}
.pc-unified-auth .activation-brand small{font-size:12px;color:var(--accent-text)}
.activation-kicker,.activation-brand small,.eyebrow{color:var(--accent-text)}
.pc-auth-back,.pc-auth-code-btn,.pc-phone-hint a{color:var(--accent-text)}
body.standalone-locked #view{align-items:start}
.activation-shell.pc-unified-auth{padding-top:max(40px,calc(var(--safe-top) + 16px))}
@media(min-width:600px){body.standalone-locked #view{align-items:center}}
.sheet-panel .primary.full+.card{margin-top:14px}

/* ===== 7.1.16: календарь-сетка. Правила — docs/design/UNIFIED_UI.md, раздел 7 ===== */
.cal-seg{display:flex;gap:8px;margin:0 0 12px}
.cal-seg button{flex:1 1 0;height:40px;min-height:40px;border-radius:999px;border:1px solid var(--line);background:var(--card-2);color:var(--muted);font-size:14px;font-weight:600}
.cal-seg button.active{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent-text)}
.cal-head{display:flex;align-items:center;gap:4px;margin:0 0 12px}
.cal-title{flex:1;margin:0;text-align:center;font-size:18px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-nav{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--card-2);color:var(--text);display:grid;place-items:center;padding:0}
.cal-nav .ico{width:22px;height:22px}
.cal-today{min-width:44px;font-weight:700}
.cal-today:disabled{opacity:.4}
.cal-add-top{display:none}
.cal-add-bottom{margin:0 0 12px;min-height:48px}
.cal-note{font-size:13px;color:var(--muted);margin:0 0 10px;display:flex;align-items:center;flex-wrap:wrap}
.cal-note .textbtn{min-height:32px;padding:0 6px}
.cal-layout{display:block}
.cal-body{margin:0 0 12px}
.cal-view-day .cal-body{display:none}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-wdrow{display:contents}
.cal-wd{text-align:center;font-size:12px;font-weight:700;color:var(--muted);padding:2px 0 4px}
.cal-wd.wk{color:color-mix(in srgb,var(--muted) 70%,transparent)}
.cal-cell{position:relative;height:clamp(48px,13vw,56px);min-height:44px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--text);padding:5px 0 0;display:flex;flex-direction:column;align-items:center;gap:3px}
.cal-cell>b{font-size:14px;font-weight:600}
.cal-cell.is-out>b{color:color-mix(in srgb,var(--muted) 45%,transparent)}
.cal-cell.is-weekend>b{color:var(--muted)}
.cal-cell.is-today{border-color:color-mix(in srgb,var(--teal) 60%,var(--line))}
.cal-cell.is-today>b{color:var(--teal-text)}
.cal-cell.is-selected{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
.cal-cell.is-selected>b{color:var(--accent-text);font-weight:700}
.cal-cell.is-selected.is-today{border-color:color-mix(in srgb,var(--teal) 60%,var(--line))}
.cal-cell:focus-visible,.cal-weekrow:focus-visible,.cal-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.cal-dots{display:flex;align-items:center;justify-content:center;gap:3px;min-height:6px}
.cal-dots .calendar-dot{width:6px;height:6px;flex:none}
.calendar-dot.k-event{background:var(--accent)}.calendar-dot.k-task{background:var(--gold)}.calendar-dot.k-in{background:var(--green)}.calendar-dot.k-out{background:var(--red)}
.cal-more{font-style:normal;font-size:11px;line-height:6px;color:var(--muted);font-weight:700}
.cal-weeklist{display:flex;flex-direction:column;gap:8px}
.cal-weekrow{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:8px 12px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--text);text-align:left}
.cal-weekrow.is-selected{border-color:var(--accent)}
.cal-wdcol{width:56px;flex:none;display:flex;flex-direction:column;align-items:center}
.cal-wdcol small{font-size:12px;color:var(--muted)}
.cal-wdcol b{font-size:18px;font-weight:700;min-width:32px;height:32px;border-radius:50%;display:grid;place-items:center}
.cal-weekrow.is-today .cal-wdcol b{background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--teal-text)}
.cal-wkchips{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cal-none{font-style:normal;color:var(--muted)}
.cal-moreN{font-style:normal;font-size:12px;color:var(--muted)}
.cal-chip{display:block;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;padding:3px 8px;border-radius:8px;border:0;border-left:3px solid var(--accent);background:var(--card-2);color:var(--text);text-align:left}
.cal-chip b{font-weight:700;color:var(--muted)}
.cal-chip.k-task{border-left-color:var(--gold)}.cal-chip.k-in{border-left-color:var(--green)}.cal-chip.k-out{border-left-color:var(--red)}
.cal-week-cols{display:none}
.cal-item{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 16px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left}
.cal-item:first-of-type{border-top:0}
.cal-item .grow{min-width:0;display:flex;flex-direction:column;gap:2px}
.cal-item b{font-size:15px;font-weight:600;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cal-item small{font-size:13px;color:var(--muted)}
.cal-item small.red{color:var(--red-text)}
.cal-item.is-done b{text-decoration:line-through}.cal-item.is-done{opacity:.6}
.cal-amt{font-size:15px;font-weight:700;flex:none}.cal-amt.in{color:var(--green-text)}.cal-amt.out{color:var(--red-text)}
.cal-sec{font-size:13px;color:var(--muted);padding:10px 16px 4px;border-top:1px solid var(--line)}
.cal-empty{padding:18px 16px;color:var(--muted);font-size:14px}
.cal-skel{height:56px;margin:8px 16px;border-radius:12px;background:var(--card-2);animation:calpulse 1.2s ease-in-out infinite}
@keyframes calpulse{50%{opacity:.5}}
.api-timings .setting{padding:10px 0}
@media(min-width:600px) and (max-width:899px){.cal-body,.cal-daycard,.cal-head,.cal-seg{max-width:720px;margin-left:auto;margin-right:auto}.cal-cell{height:64px}}
@media(min-width:900px){
 .cal-add-top{display:inline-flex;align-items:center;margin-left:8px;padding:0 16px;min-height:44px}
 .cal-add-bottom{display:none}
 .cal-view-month,.cal-view-day{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px;align-items:start}
 .cal-view-day{grid-template-columns:minmax(0,1fr)}
 .cal-cell{height:88px}
 .cal-weeklist{display:none}
 .cal-week-cols{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
 .cal-view-week{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
 .cal-view-week .cal-col .cal-chip{flex:none;padding:0 8px;border-top:3px solid transparent;border-bottom:3px solid transparent;line-height:1.35;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
 .cal-col{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:8px;min-height:200px;max-height:420px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
 .cal-col.is-selected{border-color:var(--accent)}
 .cal-colhead{display:flex;align-items:baseline;gap:6px;border:0;background:transparent;color:var(--text);padding:4px;min-height:44px}
 .cal-colhead small{color:var(--muted);font-size:12px}.cal-colhead b{font-size:18px}
 .cal-col.is-today .cal-colhead b{color:var(--teal-text)}
}

/* ===== 7.1.16: Мира — карточка на Главной и лист «Скажи — и готово». Правила — docs/design/UNIFIED_UI.md ===== */
.mira-card{padding:16px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.mira-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.mira-head b{font-size:16px;font-weight:650;display:block}
.mira-head small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.mira-head .ghost{width:36px;height:36px;border:0;background:transparent;color:var(--muted);font-size:22px}
.mira-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:6px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text);text-align:left}
.mira-main{display:block;flex:1;min-width:0;border:0;background:transparent;color:inherit;text-align:left;padding:0}
.mira-main b{display:block;font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.mira-main small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.mira-pay strong{font-size:15px;white-space:nowrap}
.mira-warn{margin:8px 0 0;padding:10px 12px;border-radius:12px;font-size:13px;background:color-mix(in srgb,var(--red) 14%,var(--card));color:var(--red-text,var(--red))}
.mira-tip{margin:8px 0 0;font-size:13px;color:var(--muted)}
.mira-done{margin:10px 0 0;font-size:15px;font-weight:650}
.mira-move{width:100%;margin-top:10px;min-height:44px}
.mira-card .voice-hero{margin:12px 0 0}
.intent-item{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;background:var(--card-2)}
.intent-head{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:650}
.intent-head input{width:22px;height:22px}
.intent-edit{display:grid;grid-template-columns:1fr;gap:8px}.intent-edit .intent-amt{min-width:0}.intent-date{margin-top:6px}.intent-datebtn{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--text);font-size:13px}.intent-datein{margin-top:6px;width:100%}
.intent-edit .field{margin:0}
.intent-more{margin-top:6px;min-height:44px}
.intent-result{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.intent-result.ok span{color:var(--green-text,var(--green))}
.intent-result.bad span{color:var(--red-text,var(--red))}
@media (min-width:360px){.intent-edit:has(.intent-amt){grid-template-columns:130px 1fr}}

/* ===== 7.1.16: офлайн — плашка связи, «Ждёт отправки», подсказка. Правила — docs/design/UNIFIED_UI.md ===== */
html,body{overflow-anchor:none}
.pc-connbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 16px 0;padding:8px 12px;border-radius:14px;background:color-mix(in srgb,var(--gold,#C99A4B) 14%,var(--card));border:1px solid color-mix(in srgb,var(--gold,#C99A4B) 40%,var(--line));color:var(--text);font-size:13px;line-height:1.35}
.pc-connbar-queue{background:color-mix(in srgb,var(--accent) 12%,var(--card));border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.pc-connbar-fail{background:color-mix(in srgb,var(--red,#E95B66) 12%,var(--card));border-color:color-mix(in srgb,var(--red,#E95B66) 40%,var(--line))}
.pc-connbar-text{flex:1 1 180px;min-width:0}
.pc-connbar-actions{display:flex;gap:6px;flex-wrap:wrap}
.pc-connbar button{min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--card-2,var(--card));color:var(--accent-text,var(--accent));font-size:13px;font-weight:650}
@media(min-width:900px){.pc-connbar{margin:8px 28px 0}}
.outbox-row{display:flex;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.outbox-row .grow{min-width:0}.outbox-row b{display:block;font-size:15px;overflow-wrap:anywhere}.outbox-row small{display:block;font-size:12px;color:var(--muted)}
.outbox-row .outbox-err{color:var(--red-text,#FF8A93)}
.outbox-row button{min-height:40px;padding:0 12px;font-size:13px;flex:none}
.outbox-row.failed b{color:var(--red-text,#FF8A93)}
.pc-toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%,12px);opacity:0;pointer-events:none;z-index:120;max-width:min(92vw,420px);padding:11px 16px;border-radius:14px;background:var(--card);border:1px solid var(--line);color:var(--text);font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.28);transition:opacity .2s,transform .2s;text-align:center}
.pc-toast.show{opacity:1;transform:translate(-50%,0)}

/* ===== 7.1.23: правки дизайна перед выпуском (docs/design/UNIFIED_UI.md) ===== */
/* 1. Листы на компьютере: по центру, ниже шапки, прокрутка внутри */
@media(min-width:900px){
  .sheet .sheet-panel,.sheet.profile-sheet .sheet-panel{
    left:50%;right:auto;top:80px;bottom:auto;
    width:min(580px,calc(100vw - 320px));
    max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);
    overflow-y:auto;overscroll-behavior:contain;
    border-radius:24px;transform:translate(-50%,18px)}
  .sheet.visible .sheet-panel,.sheet.profile-sheet.visible .sheet-panel{transform:translate(-50%,0)}
}
/* 2. Проекты на компьютере: без пустот между рядами */
@media(min-width:900px){
  #view:has(.project-tabs){align-content:start;grid-auto-rows:min-content;gap:12px}
  #view:has(.project-tabs)>.card{height:auto}
}
.project-setstep{display:inline-block;color:var(--accent-text);font-size:13px;font-weight:650;cursor:pointer;text-decoration:none}
.project-setstep:hover{text-decoration:underline}
/* 13. Вместо пустой обложки проекта: иконка папки на цветной плитке */
.project-cover.cover-icon{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ct1,#2f7df4),var(--ct2,#1f4f8f))}
.project-cover.cover-icon .ico{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.project-cover.cover-tone-blue{--ct1:#2f7df4;--ct2:#1f4f8f}
.project-cover.cover-tone-teal{--ct1:#139aa6;--ct2:#126068}
.project-cover.cover-tone-violet{--ct1:#7957e8;--ct2:#4a3a9c}
.project-cover.cover-tone-gold{--ct1:#c99a4b;--ct2:#7d5a24}
.project-cover.cover-tone-green{--ct1:#1e9e62;--ct2:#146b43}
.project-feature .project-thumb{align-self:center}
/* 3. Поле «Скажите — и готово» */
.voice-hero{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center}
.voice-hero>.grow{display:contents}
.voice-hero .voice-btn{grid-row:1/3;grid-column:1;align-self:center}
.voice-hero strong{grid-column:2;grid-row:1;align-self:end}
.voice-hero small{grid-column:2;grid-row:2;margin:2px 0 0}
.voice-hero .intentbox{grid-column:1/-1;grid-row:3;margin-top:10px;width:100%;min-width:0}
.intentbox input{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.intentbox input::placeholder{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
/* 5/8. Боковое меню: на всю высоту, прокрутка, «Настройки» как обычный пункт */
@media(min-width:900px){
  .bottom-nav{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
  .pc-sidebar-bottom .pc-theme-settings{min-height:48px;padding:0 14px;gap:12px;color:var(--navText,#a9bbc7)}
  .pc-sidebar-bottom .pc-theme-settings span{font-size:14px}
  .pc-sidebar-bottom .pc-theme-settings:hover{background:rgba(255,255,255,.05)}
  .pc-sidebar-bottom .pc-theme-settings.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-text);box-shadow:inset 3px 0 0 var(--accent-text)}
  .pc-profile-copy b{font-size:14px}
}
/* 7. «Ещё»: на компьютере не повторяем пункты бокового меню */
@media(min-width:900px){.more-row.more-dup{display:none}}
.more-group-head{padding:14px 16px 6px;margin:0}
.more-card+.more-card{margin-top:12px}
/* 9. Календарь */
.cal-cell.is-selected{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
.cal-legend{display:flex;flex-wrap:wrap;gap:6px 16px;padding:10px 4px 0;font-size:12px;color:var(--muted)}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}
.cal-legend .calendar-dot{width:8px;height:8px}
.cal-today{color:var(--accent-text)}.cal-today:disabled{color:var(--muted);opacity:.7;font-weight:500}
.cal-today:disabled{cursor:default}
/* 10. Задачи */
@media(max-width:599px){
  .task-tabs,.project-tabs{padding-right:32px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent)}
}
@media(min-width:900px){.new-task{width:fit-content;min-width:180px;padding:0 20px}}
/* 11. Подпись у пустых полей даты и времени */
.field-hint{display:block;margin-top:4px;font-size:12px}
.field-hint.is-empty{color:var(--muted)}
.field input[type="date"],.field input[type="time"]{color-scheme:dark light}
/* 12. Главная: плитки KPI одной высоты */
.kpi3{grid-auto-rows:1fr;align-items:stretch}
.kpi3 button{height:100%}
.kpi3 small{overflow-wrap:anywhere}
/* 14. Маршрут: зелёным только 100% */
.criterion>strong.pct-part{color:var(--muted)}
.criterion>strong.pct-done{color:var(--green-text)}
/* 15. Мира: «Очистить» — текстовая кнопка */
.assistant-clear,.assistant-head .assistant-clear{border:0;background:transparent;box-shadow:none;color:var(--accent-text);min-height:36px;padding:0 8px;font-weight:650;white-space:nowrap}
/* 16. Низ контента не прячется под нижней панелью */
@media(max-width:899px){#view{padding-bottom:calc(88px + var(--safe-bottom))}}

/* 17. Поддержка (7.1.31) */
.sup-log{display:flex;flex-direction:column;gap:8px;max-height:44vh;max-height:44dvh;overflow:auto;margin:10px 0}
.sup-msg{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:9px 11px;white-space:pre-wrap;word-break:break-word;max-width:92%}
.sup-msg small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}
.sup-msg.me{align-self:flex-end;background:var(--input,var(--bg))}
.sup-msg.owner{border-color:var(--accent-text,var(--line))}

.setting.row input[type=time],.setting.row input.num{width:140px;min-width:0;text-align:right;flex:none}.setting.row input.num{width:80px}
.setting.row{align-items:center}

/* 7.1.39: round voice button "Мира" on Home */
.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.welcome-row .welcome-text{min-width:0;flex:1 1 auto}
.mira-fab{flex:none;width:68px;height:68px;border-radius:50%;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:linear-gradient(135deg,var(--accent),#3d6ff2);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent);padding:0}
.mira-fab svg{width:26px;height:26px}
.mira-fab small{font-size:11px;font-weight:700;line-height:1;color:#fff}
.mira-fab.recording{background:var(--red);box-shadow:0 0 0 6px color-mix(in srgb,var(--red) 25%,transparent)}
.mira-fab .rec-sq{width:20px;height:20px;border-radius:5px}
.voice-note{margin:0 0 10px;padding:10px 12px;border-radius:12px;font-size:13px;background:color-mix(in srgb,var(--red) 10%,var(--card));color:var(--text);border:1px solid color-mix(in srgb,var(--red) 25%,var(--line))}
.intent-remind{margin-top:8px}

/* Загрузка выписки с сайта (Финансы -> «Загрузить выписку») */
.stmt-consent{white-space:pre-line;font-size:13px;line-height:1.5;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 10px;max-height:34vh;overflow:auto}
.stmt-line{display:flex;align-items:center;gap:10px;padding:10px 2px;font-size:14px;line-height:1.4}
.stmt-spin{width:18px;height:18px;flex:none;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .7s linear infinite}
.stmt-msg{margin:10px 0 0}
.stmt-text{white-space:pre-line;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.stmt-btns{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.stmt-btns button{width:100%;text-align:center}
.stmt-drop{border:2px dashed var(--line);border-radius:14px;padding:16px 12px;text-align:center;transition:border-color .15s,background .15s}
.stmt-drop-text{font-size:14px;color:var(--muted);margin-bottom:10px}
.stmt-drop.stmt-drop-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.stmt-drop input[type=file]{max-width:100%}
.stmt-picked{margin:0 0 10px;overflow-wrap:anywhere}
.stmt-file{margin:14px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.stmt-file-name{font-weight:600;font-size:14px;overflow-wrap:anywhere}

/* 7.1.45: баланс как кнопка и экран «Из чего состоит баланс» */
.finance-hero .balance-open{display:block;width:100%;min-height:44px;text-align:left;background:none;border:0;color:inherit;font:inherit;padding:0;cursor:pointer}
.bal-group{margin:0 0 14px}.bal-group .section-head{margin-bottom:4px}.bal-sum{white-space:nowrap}
.bal-acc{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 0;border-top:1px solid var(--line)}
.bal-acc b{display:block;font-size:15px;font-weight:600}.bal-acc small{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.bal-acc .right{text-align:right;display:flex;flex-direction:column;align-items:flex-end}.bal-acc strong{font-size:15px;white-space:nowrap}
.bal-edit{min-height:44px;font-size:13px}

/* 7.1.45: Кошелёк / Накопления / Кредиты */
.wal-main{display:block;width:100%;text-align:left;font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:16px 18px;margin:0 0 16px;cursor:pointer;min-height:44px}
.wal-main-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
.wal-main h2{font-size:32px;font-weight:700;margin:6px 0 4px;color:var(--text);font-variant-numeric:tabular-nums}
.wal-kop{font-size:19px;font-weight:700}.wal-main-sub{display:block;font-size:13px;color:var(--muted)}
.wal-neg,.wal-main h2.wal-neg{color:var(--red-text)}.wal-chev{color:var(--muted)}
.wal-sec{margin:0 0 16px}
.wal-head{display:flex;align-items:center;gap:6px;min-height:44px;width:100%;padding:0;background:none;border:0;color:var(--text);font:inherit;font-size:17px;font-weight:600;cursor:pointer;text-align:left}
.wal-head-static{cursor:default}
.wal-wrap{margin-inline:-16px}
.wal-row{list-style:none;margin:0;padding:0 16px 4px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y}
.wal-row::-webkit-scrollbar{display:none}.wal-row>li{flex:0 0 auto;scroll-snap-align:start;margin:0;padding:0}
.wal-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;width:112px;height:128px;padding:12px;border-radius:24px;background:var(--card);border:1px solid var(--line);color:var(--text);font:inherit;text-align:left;cursor:pointer;overflow:hidden}
html[data-theme="light"] .wal-card,html[data-theme="light"] .wal-main{box-shadow:var(--shadow)}
.wal-card:focus-visible,.wal-main:focus-visible,.wal-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wal-chip{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--card-2);color:var(--muted)}
.wal-chip .ico{width:16px;height:16px}
.wal-t-green{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green-text)}
.wal-t-blue{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-text)}
.wal-t-gold{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold-text)}
.wal-t-red{background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--red-text)}
.wal-t-orange{background:color-mix(in srgb,var(--orange) 18%,transparent);color:var(--orange)}
.wal-t-teal{background:color-mix(in srgb,var(--teal) 18%,transparent);color:var(--teal-text)}
.wal-t-violet{background:color-mix(in srgb,var(--accent2) 18%,transparent);color:var(--accent2)}
.wal-top{font-size:11px;color:var(--muted);line-height:28px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wal-val{display:block;max-width:100%;font-size:18px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.wal-amt.wal-long{font-size:16px}
.wal-lab{display:block;max-width:100%;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wal-sub{display:block;max-width:100%;min-height:13px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wal-over{color:var(--red-text)}
.wal-stale{position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;background:var(--gold-text)}
.wal-add{align-items:center;justify-content:center;gap:6px;border-style:dashed;text-align:center}
.wal-plus{font-size:26px;line-height:1;color:var(--accent-text)}.wal-plus .ico{width:24px;height:24px}
.wal-skel{background:var(--card-2);border-color:transparent}
.wal-err{align-items:flex-start;gap:6px;width:200px;justify-content:center}
.wal-empty{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:16px 18px}
.wal-empty p{margin:6px 0 12px;font-size:13px}.wal-empty-act{display:flex;gap:8px;flex-wrap:wrap}.wal-empty-act button{min-height:44px}
.wal-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}
.wal-kpis>div,.wal-kpis .finance-kpi-button{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:18px;padding:12px}
.wal-kpis b{font-size:20px}.wal-kpis small{opacity:.8;color:var(--muted)}
@media(min-width:900px){.wal-card{width:148px;height:136px}.wal-row{scroll-snap-type:x proximity}}
@media(prefers-reduced-motion:reduce){.wal-row{scroll-behavior:auto}}

/* 7.1.48: обучение по Финансам */
.wal-headrow{display:flex;align-items:center;gap:8px}.wal-headrow .wal-head{flex:1 1 auto;width:auto}
.wal-help{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);font:inherit;font-size:14px;font-weight:700;cursor:pointer;display:grid;place-items:center;padding:0}
.wal-help:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wal-hintli{width:176px}.wal-hint{margin:0;font-size:13px;line-height:1.35;color:var(--muted);white-space:normal}
.wal-help-body p{margin:0 0 10px;line-height:1.45}
.fin-tour-text{font-size:16px;line-height:1.5;margin:8px 0 14px}
.fin-tour-dots{display:flex;gap:6px;justify-content:center;margin:0 0 14px}.fin-tour-dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}.fin-tour-dots i.on{background:var(--accent)}
/* 7.1.48: экран согласия на обработку персональных данных (Web, Telegram, MAX) */
.pc-consent-row{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-size:14px;line-height:1.45;color:var(--text)}
.pc-consent-row input[type="checkbox"]{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent)}
.pc-consent-row a{color:var(--accent);text-decoration:underline}
.onboarding-card #pcConsentErr:empty{display:none}
.onboarding-card .pc-consent-err{color:var(--red-text);font-size:13px;margin:6px 0 10px}
.onboarding-card #pcConsentGo{margin-top:8px}
.onboarding-card #pcConsentGo:disabled{opacity:.5}
.onboarding-card #pcConsentOut,.onboarding-card #pcConsentDel{display:block;margin:12px auto 4px}
