:root{
  --bg:#f7f5ff;--surface:#fff;--surface-2:#fbfaff;--surface-3:#f0edff;
  --text:#25233b;--muted:#7f7b98;--line:#e7e2f2;--sidebar:#25233b;
  --primary:#6f5bd3;--primary-2:#9b87f5;--mint:#36c99b;--mint-soft:#def8ee;
  --coral:#ff786d;--coral-soft:#ffe8e5;--amber:#f1b84b;--amber-soft:#fff2d5;
  --blue:#5d8df6;--blue-soft:#e8efff;--pink:#ec79ad;--pink-soft:#fde8f2;
  --shadow:0 16px 42px rgba(57,45,111,.09);--shadow-sm:0 8px 24px rgba(57,45,111,.08);
  --radius:26px;--radius-sm:17px;
}
[data-theme="dark"]{
  --bg:#11101a;--surface:#1b1928;--surface-2:#211e31;--surface-3:#29243f;
  --text:#f7f4ff;--muted:#a7a1bd;--line:#342f49;--sidebar:#0d0c14;
  --shadow:0 18px 48px rgba(0,0,0,.3);--shadow-sm:0 8px 24px rgba(0,0,0,.24);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}
.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);padding:24px 18px;color:#fff;display:flex;flex-direction:column;z-index:30}.brand{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:12px;padding:4px 7px 24px;text-align:left}.brand-avatar,.top-avatar{object-fit:cover;object-position:center 40%;border:2px solid rgba(255,255,255,.16);box-shadow:0 10px 25px rgba(0,0,0,.24)}.brand-avatar{width:50px;height:50px;border-radius:17px}.brand-copy strong,.brand-copy small{display:block}.brand-copy strong{font-size:17px;letter-spacing:-.02em}.brand-copy small{font-size:10px;color:#aba5c8;margin-top:3px}.nav-list{display:grid;gap:6px}.nav-btn{border:0;background:transparent;color:#aaa6bf;border-radius:14px;padding:12px 13px;display:flex;align-items:center;gap:11px;text-align:left;font-weight:750;transition:.18s ease}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.1);color:#fff}.nav-btn.active{box-shadow:inset 3px 0 0 var(--primary-2)}.nav-icon{width:23px;text-align:center;font-size:17px}.sidebar-card{margin-top:auto;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;display:flex;gap:10px;align-items:flex-start}.sidebar-card-icon{color:#cabfff;font-size:20px}.sidebar-card strong,.sidebar-card small{display:block}.sidebar-card strong{font-size:12px}.sidebar-card small{font-size:10px;color:#9e99b8;margin-top:4px;line-height:1.4}.full{width:100%}.sidebar .soft-btn{margin-top:11px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:#fff}
.main{min-width:0;padding:0 32px 56px}.topbar{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-title h1{margin:0;font-size:30px;letter-spacing:-.045em}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:850}.topbar-actions{display:flex;align-items:center;gap:9px}.top-avatar{width:44px;height:44px;border-radius:15px;border-color:var(--line);box-shadow:var(--shadow-sm)}.primary-btn,.soft-btn,.icon-btn,.danger-btn,.mini-btn{border-radius:14px;border:0;transition:.18s ease;font-weight:800}.primary-btn{background:var(--primary);color:#fff;padding:12px 17px;box-shadow:0 10px 24px rgba(111,91,211,.22)}.primary-btn:hover,.soft-btn:hover,.icon-btn:hover,.mini-btn:hover{transform:translateY(-1px)}.soft-btn{background:var(--surface);color:var(--text);padding:11px 15px;border:1px solid var(--line)}.danger-btn{background:var(--coral-soft);color:#c84840;border:1px solid rgba(255,120,109,.25);padding:11px 15px}.icon-btn{width:43px;height:43px;background:var(--surface);color:var(--text);border:1px solid var(--line)}.mobile-menu-btn{display:none}.mini-btn{padding:7px 9px;background:var(--surface-2);color:var(--muted);border:1px solid var(--line);font-size:11px}.view-root{animation:viewIn .22s ease}@keyframes viewIn{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
.grid{display:grid;gap:18px}.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.kpi-card,.panel,.hero-card,.day-card,.task-card,.goal-card,.workout-card,.setting-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi-card{padding:18px;min-height:122px;position:relative;overflow:hidden}.kpi-card::after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-32px;bottom:-42px;background:var(--tint,var(--surface-3))}.kpi-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted)}.kpi-value{font-size:30px;font-weight:900;letter-spacing:-.055em;margin-top:17px;position:relative;z-index:1}.kpi-meta{font-size:10px;color:var(--muted);margin-top:5px;position:relative;z-index:1}.dashboard-grid{grid-template-columns:1.12fr .88fr}.dashboard-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{padding:20px;min-width:0}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-title{margin:0;font-size:16px;letter-spacing:-.025em}.panel-sub{font-size:10px;color:var(--muted);margin-top:4px}.hero-card{padding:25px;background:linear-gradient(135deg,#6250bf,#8d75ec);color:#fff;position:relative;overflow:hidden;min-height:235px}.hero-card::before,.hero-card::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.1)}.hero-card::before{width:220px;height:220px;right:-75px;top:-100px}.hero-card::after{width:90px;height:90px;right:100px;bottom:-50px}.hero-card .eyebrow{color:#ddd6ff}.hero-card h2{font-size:28px;max-width:85%;letter-spacing:-.045em;margin:14px 0 10px}.hero-card p{max-width:77%;color:#e7e1ff;font-size:12px;line-height:1.6}.hero-actions{position:relative;z-index:2;display:flex;gap:9px;margin-top:24px}.hero-actions .soft-btn{background:#fff;color:#423681;border-color:#fff}.today-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:16px}.today-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:12px;position:relative;z-index:2}.today-chip span,.today-chip strong{display:block}.today-chip span{font-size:9px;color:#dcd5ff;text-transform:uppercase;letter-spacing:.06em}.today-chip strong{font-size:16px;margin-top:5px}.progress-ring-wrap{display:flex;align-items:center;gap:20px}.progress-ring{--progress:0;width:126px;height:126px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--progress)*1%),var(--surface-3) 0);position:relative;flex:0 0 auto}.progress-ring::before{content:"";position:absolute;width:94px;height:94px;border-radius:50%;background:var(--surface)}.progress-ring div{position:relative;text-align:center}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{font-size:25px}.progress-ring span{font-size:9px;color:var(--muted);margin-top:2px}.chart-wrap{height:245px;position:relative}.chart-wrap.small{height:205px}.chart-wrap.tall{height:300px}.chart-wrap canvas{width:100%;height:100%;display:block}.muted{color:var(--muted);font-size:11px;line-height:1.6}.badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--surface-3);color:var(--muted);font-size:9px;font-weight:850;white-space:nowrap}.badge.success{background:var(--mint-soft);color:#188661}.badge.danger{background:var(--coral-soft);color:#c34c43}.badge.warn{background:var(--amber-soft);color:#9b6800}.badge.blue{background:var(--blue-soft);color:#446ec8}.badge.purple{background:#eee9ff;color:#6a52c3}.empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}
.list{display:grid;gap:8px}.list-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.list-row:last-child{border-bottom:0}.row-title{font-size:12px;font-weight:850}.row-meta{font-size:10px;color:var(--muted);margin-top:3px}.check{appearance:none;width:21px;height:21px;border-radius:7px;border:2px solid #cec8dd;background:var(--surface);display:grid;place-items:center;cursor:pointer}.check:checked{background:var(--mint);border-color:var(--mint)}.check:checked::after{content:"✓";color:#fff;font-size:13px;font-weight:900}.progress-bar{height:9px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-2));border-radius:999px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:16px}.search,.select,.field input,.field select,.field textarea{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;padding:11px 13px;outline:none}.search{flex:1;min-width:210px}.search:focus,.select:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px rgba(111,91,211,.08)}
.task-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.task-column{background:rgba(255,255,255,.35);border:1px solid var(--line);border-radius:22px;padding:13px;min-width:0}.task-column-head{display:flex;justify-content:space-between;align-items:center;padding:5px 4px 12px}.task-column-head h3{margin:0;font-size:13px}.task-stack{display:grid;gap:10px}.task-card{padding:14px;border-radius:18px;box-shadow:var(--shadow-sm)}.task-card.done{opacity:.7}.task-card-top{display:flex;gap:10px;align-items:flex-start}.task-card h4{font-size:12px;margin:1px 0 6px;line-height:1.45}.task-card-meta{display:flex;gap:6px;flex-wrap:wrap}.task-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:13px}.focus-star{color:var(--amber);font-size:17px}.task-card.done h4{text-decoration:line-through;color:var(--muted)}
.week-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.week-toolbar h2{margin:0;font-size:17px}.week-nav{display:flex;gap:7px}.week-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:11px;overflow:auto;padding-bottom:8px}.day-card{padding:13px;border-radius:20px;box-shadow:var(--shadow-sm);min-height:330px}.day-card.today{border:2px solid var(--primary);background:linear-gradient(180deg,var(--surface),rgba(111,91,211,.04))}.day-card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:11px}.day-name{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted)}.day-date{font-size:23px;font-weight:900;letter-spacing:-.05em;margin-top:2px}.day-tasks{display:grid;gap:7px;min-height:92px}.day-task{display:flex;gap:7px;align-items:flex-start;background:var(--surface-2);border-radius:11px;padding:8px;font-size:10px;line-height:1.35}.day-task.done{text-decoration:line-through;color:var(--muted)}.day-section-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;margin:12px 0 7px}.energy-row,.mood-row{display:flex;gap:5px;flex-wrap:wrap}.energy-dot,.mood-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:9px;min-width:29px;height:29px;font-size:10px;font-weight:850}.energy-dot.active,.mood-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.day-note{width:100%;min-height:55px;resize:vertical;background:var(--surface-2);border:1px solid var(--line);border-radius:11px;color:var(--text);padding:8px;font-size:10px}
.habit-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.month-nav{display:flex;align-items:center;gap:8px}.month-nav strong{min-width:130px;text-align:center;font-size:13px}.habit-table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.habit-grid{display:grid;grid-template-columns:210px repeat(var(--days),38px) 88px;min-width:max-content}.habit-cell{min-height:44px;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px}.habit-cell.head{position:sticky;top:0;z-index:3;background:var(--surface-3);font-weight:900;color:var(--muted)}.habit-cell.name{position:sticky;left:0;z-index:2;justify-content:flex-start;padding:0 12px;background:var(--surface);font-weight:800}.habit-cell.head.name{z-index:4;background:var(--surface-3)}.habit-name-wrap{display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px}.habit-dot{appearance:none;width:23px;height:23px;border-radius:50%;background:var(--surface-3);border:1px solid var(--line);cursor:pointer}.habit-dot:checked{background:var(--mint);border-color:var(--mint);box-shadow:0 0 0 4px rgba(54,201,155,.13)}.habit-rank-grid{grid-template-columns:.9fr 1.1fr}.rank-card{display:flex;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.rank-card:last-child{border-bottom:0}.rank-number{width:30px;height:30px;border-radius:10px;background:var(--surface-3);display:grid;place-items:center;font-weight:900;color:var(--primary)}
.goal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.goal-card{padding:19px}.goal-top{display:flex;justify-content:space-between;gap:12px}.goal-card h3{margin:0;font-size:15px}.goal-card p{font-size:10px;color:var(--muted);line-height:1.55}.goal-number{font-size:24px;font-weight:900;color:var(--primary)}.cell-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.finance-grid{grid-template-columns:1.08fr .92fr}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px}.money{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow-sm)}.money span,.money strong{display:block}.money span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:850}.money strong{font-size:18px;margin-top:7px}.positive{color:#1c9c70}.negative{color:#d45850}.table-wrap{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:11px}th{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);background:var(--surface-3)}tr:last-child td{border-bottom:0}
.fitness-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:17px}.fitness-grid{grid-template-columns:1.15fr .85fr}.workout-week{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));gap:8px;overflow:auto}.workout-day{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:10px;min-height:115px}.workout-day.today{border-color:var(--primary)}.workout-day strong,.workout-day span{display:block}.workout-day strong{font-size:11px}.workout-day span{font-size:9px;color:var(--muted);margin-top:2px}.workout-pill{margin-top:9px;background:var(--mint-soft);color:#187d5d;border-radius:10px;padding:8px;font-size:9px;line-height:1.4}.workout-pill.rest{background:var(--surface-3);color:var(--muted)}.fitness-log{display:grid;gap:10px}.workout-card{padding:15px;border-radius:19px;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center}.workout-date{width:56px;height:56px;border-radius:16px;background:var(--surface-3);display:grid;place-items:center;text-align:center}.workout-date strong{font-size:19px}.workout-date span{font-size:9px;color:var(--muted)}.workout-card h4{margin:0;font-size:13px}.workout-card p{margin:4px 0 0;color:var(--muted);font-size:10px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric-tile{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:12px}.metric-tile span,.metric-tile strong{display:block}.metric-tile span{font-size:9px;color:var(--muted)}.metric-tile strong{font-size:17px;margin-top:5px}.metric-row{display:grid;grid-template-columns:100px repeat(5,minmax(85px,1fr)) auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.metric-row:last-child{border-bottom:0}
.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.setting-card{padding:20px}.setting-card h3{margin:0 0 8px;font-size:15px}.setting-card p{font-size:11px;color:var(--muted);line-height:1.6}.profile-card{display:flex;align-items:center;gap:15px}.settings-avatar{width:78px;height:78px;border-radius:24px;object-fit:cover;object-position:center 40%;box-shadow:var(--shadow-sm)}.theme-options,.setting-actions{display:flex;gap:8px;flex-wrap:wrap}.theme-chip.active{border-color:var(--primary);color:var(--primary);background:rgba(111,91,211,.08)}.danger-card{border-color:rgba(255,120,109,.35)}
.modal{width:min(680px,calc(100% - 26px));border:0;border-radius:25px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 30px 90px rgba(21,16,54,.28)}.small-modal{width:min(430px,calc(100% - 26px))}.modal::backdrop{background:rgba(25,20,45,.48);backdrop-filter:blur(4px)}.modal form{padding:22px}.modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:0;font-size:21px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field span{font-size:10px;font-weight:850;color:var(--muted)}.field textarea{min-height:85px;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.more-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.more-link{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:16px;padding:14px;text-align:left;font-weight:800}.toast{position:fixed;right:24px;bottom:24px;background:var(--text);color:var(--surface);padding:12px 16px;border-radius:14px;font-size:11px;font-weight:800;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}.bottom-nav{display:none}
@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.task-board{grid-template-columns:1fr}.goal-grid{grid-template-columns:repeat(2,1fr)}.week-grid{grid-template-columns:repeat(7,170px)}.fitness-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.app-shell{display:block}.sidebar{display:none}.main{padding:0 16px 92px}.topbar{min-height:84px}.topbar-title h1{font-size:25px}.mobile-menu-btn{display:inline-grid;place-items:center}.top-avatar{display:none}.topbar-actions .primary-btn{padding:11px 13px;font-size:11px}.bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(6,1fr);background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:22px;padding:7px;box-shadow:0 18px 55px rgba(39,31,83,.2);backdrop-filter:blur(18px);z-index:40}[data-theme="dark"] .bottom-nav{background:rgba(27,25,40,.94)}.bottom-nav .nav-btn{display:grid;justify-items:center;gap:3px;padding:7px 2px;color:var(--muted);font-size:8px;border-radius:14px}.bottom-nav .nav-btn.active{background:var(--surface-3);color:var(--primary);box-shadow:none}.bottom-nav .nav-icon{font-size:16px;width:auto}.dashboard-grid,.finance-grid,.fitness-grid,.habit-rank-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-mini-grid{grid-template-columns:1fr}.goal-grid{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.week-summary{grid-template-columns:repeat(2,1fr)}.chart-wrap{height:220px}.hero-card h2{font-size:24px}.today-strip{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.metric-row{grid-template-columns:80px repeat(5,80px) 62px;min-width:600px}.fitness-log .workout-card{grid-template-columns:50px 1fr}.workout-card>.cell-actions{grid-column:1/-1}.habit-grid{grid-template-columns:170px repeat(var(--days),36px) 78px}}
@media(max-width:520px){.main{padding-left:12px;padding-right:12px}.topbar-actions{gap:6px}.icon-btn{width:39px;height:39px}.topbar-actions .primary-btn{padding:10px 11px}.kpi-grid,.fitness-kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi-card{min-height:108px;padding:15px}.kpi-value{font-size:25px}.panel{padding:16px}.hero-card{padding:20px}.progress-ring-wrap{align-items:flex-start}.progress-ring{width:108px;height:108px}.progress-ring::before{width:80px;height:80px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.week-toolbar{align-items:flex-start;flex-direction:column}.finance-summary{grid-template-columns:1fr}.bottom-nav{left:6px;right:6px;bottom:6px}.bottom-nav .nav-btn{font-size:7px}.more-nav{grid-template-columns:1fr}.toast{left:12px;right:12px;bottom:90px;text-align:center}.modal form{padding:18px}}

/* v3.1 — заметное редактирование привычек */
.edit-hint{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.45}
.habit-name-wrap>div:first-child{display:grid;gap:3px;min-width:0}
.habit-name-wrap small{color:var(--muted);font-size:8px;font-weight:700}
.habit-actions{flex-wrap:nowrap}
.edit-btn{color:var(--primary);background:var(--primary-soft)}
.delete-btn{color:#c84840;background:var(--coral-soft)}
.form-note{margin:0;padding:10px 12px;border-radius:13px;background:var(--mint-soft);color:#188661;font-size:10px;line-height:1.45}
@media(max-width:860px){.habit-toolbar{align-items:flex-start;flex-direction:column}.habit-grid{grid-template-columns:230px repeat(var(--days),36px) 78px}.habit-actions .mini-btn{padding:6px 8px;font-size:9px}}

/* v4 — кольца дня/недели/месяца, долги и кредиты */
.period-switch{display:inline-flex;gap:6px;padding:6px;margin-bottom:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.period-chip,.finance-tab{border:0;background:transparent;color:var(--muted);font-weight:850;border-radius:13px;padding:10px 18px;transition:.18s ease}
.period-chip.active,.finance-tab.active{background:var(--primary);color:#fff;box-shadow:0 8px 20px rgba(111,91,211,.22)}
.activity-dashboard-grid{grid-template-columns:1.12fr .88fr;margin-bottom:18px}
.activity-panel{background:linear-gradient(145deg,var(--surface),var(--surface-2));overflow:hidden}
.activity-title{margin:0;font-size:25px;letter-spacing:-.04em}
.activity-layout{display:grid;grid-template-columns:minmax(230px,1fr) minmax(180px,.7fr);gap:28px;align-items:center;min-height:315px}
.activity-rings{width:min(100%,330px);aspect-ratio:1;position:relative;margin:auto;filter:drop-shadow(0 16px 25px rgba(69,51,142,.12))}
.activity-rings svg{width:100%;height:100%;overflow:visible}
.activity-rings circle{fill:none}
.ring-track{stroke:var(--surface-3)}
.ring-progress{stroke-linecap:round;transform:rotate(-90deg);transform-origin:100px 100px;transition:stroke-dashoffset .65s cubic-bezier(.2,.8,.2,1)}
.ring-score{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.ring-score strong{font-size:30px;line-height:1;font-weight:950;letter-spacing:-.06em}
.ring-score span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:5px}
.activity-legend{display:grid;gap:13px}
.activity-legend-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:9px;padding:12px 13px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.activity-legend-row span:nth-child(2){font-size:11px;font-weight:800}.activity-legend-row strong{font-size:15px}
.activity-dot{width:11px;height:11px;border-radius:50%;background:var(--ring);box-shadow:0 0 0 5px color-mix(in srgb,var(--ring) 15%,transparent)}
.activity-details{display:flex;flex-direction:column}
.activity-explain{display:grid;gap:10px}
.activity-explain>div{display:grid;grid-template-columns:43px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}
.activity-explain p,.activity-explain strong,.activity-explain small{margin:0;display:block}.activity-explain strong{font-size:12px}.activity-explain small{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.4}
.activity-icon{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;font-size:18px;font-weight:900}
.activity-icon.goals{color:#6e4ee5;background:#eee9ff}.activity-icon.habits{color:#148663;background:var(--mint-soft)}.activity-icon.sport{color:#c63f72;background:var(--pink-soft)}.activity-icon.finance{color:#9b6800;background:var(--amber-soft)}
.activity-note{margin-top:auto;padding:12px 14px;border-radius:15px;background:var(--surface-3);color:var(--muted);font-size:10px;line-height:1.5}
.activity-kpis{margin-top:0}
.debt-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.debt-mini-grid>div{padding:13px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}.debt-mini-grid span,.debt-mini-grid strong{display:block}.debt-mini-grid span{font-size:9px;color:var(--muted);margin-bottom:5px}.debt-mini-grid strong{font-size:15px}
.finance-top-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.finance-tabs{display:flex;gap:6px;width:max-content;max-width:100%;overflow:auto;padding:6px;margin-bottom:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
.debt-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.debt-card-grid,.credit-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.debt-card,.credit-card{background:var(--surface);border:1px solid var(--line);border-radius:23px;padding:19px;box-shadow:var(--shadow-sm)}
.debt-card-head,.credit-top,.debt-footer,.credit-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}.debt-direction{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900}.debt-direction.owe{background:var(--coral-soft);color:#bd493f}.debt-direction.receivable{background:var(--mint-soft);color:#16805e}
.debt-card h3,.credit-card h3{margin:14px 0 4px;font-size:17px}.debt-card p,.credit-card p{margin:0 0 15px;color:var(--muted);font-size:10px;line-height:1.5}.debt-amount,.credit-balance{display:flex;justify-content:space-between;align-items:end;margin:15px 0 10px}.debt-amount span,.credit-balance span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:850}.debt-amount strong,.credit-balance strong{font-size:22px;letter-spacing:-.04em}.debt-footer{align-items:flex-end;margin-top:13px}.debt-footer small{color:var(--muted);font-size:9px;max-width:45%}
.credit-top>strong{font-size:24px;color:var(--primary)}.credit-meta{justify-content:flex-start;flex-wrap:wrap;margin:12px 0}.credit-meta span{padding:6px 8px;border-radius:10px;background:var(--surface-3);color:var(--muted);font-size:9px;font-weight:750}.primary-btn.compact{padding:8px 11px;font-size:10px;border-radius:11px}.settings-form{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}
@media(max-width:1100px){.activity-dashboard-grid{grid-template-columns:1fr}.finance-top-kpis{grid-template-columns:repeat(2,1fr)}.debt-card-grid,.credit-card-grid{grid-template-columns:1fr}}
@media(max-width:860px){.activity-layout{grid-template-columns:1fr;gap:12px}.activity-rings{max-width:300px}.activity-legend{grid-template-columns:repeat(2,1fr)}.debt-summary-grid{grid-template-columns:1fr 1fr}.debt-mini-grid{grid-template-columns:1fr}.finance-tabs{width:100%}.finance-tab{flex:1;white-space:nowrap}}
@media(max-width:520px){.period-switch{width:100%}.period-chip{flex:1;padding:10px 8px}.activity-rings{max-width:270px}.activity-legend{grid-template-columns:1fr}.activity-dashboard-grid{gap:12px}.finance-top-kpis,.debt-summary-grid{grid-template-columns:1fr 1fr;gap:10px}.debt-card,.credit-card{padding:16px}.debt-footer{align-items:flex-start;flex-direction:column}.debt-footer small{max-width:100%}.settings-form{grid-template-columns:1fr}}
