:root{--bg: #0a0d12;--bg-2: #131821;--card: #1a1f2b;--card-hover: #1f2532;--border: #2a3140;--border-strong: #3a4252;--text: #f4f5f7;--muted: #98a0ad;--subtle: #6b7280;--brand: #ff5b3a;--brand-hover: #ff7155;--brand-pressed: #e54e30;--brand-tint: rgba(255, 91, 58, .1);--brand-border: rgba(255, 91, 58, .3);--success: #22c55e;--success-bg: rgba(34, 197, 94, .1);--success-border: rgba(34, 197, 94, .3);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--warning-border: rgba(245, 158, 11, .3);--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--danger-border: rgba(239, 68, 68, .3);--accent: var(--brand);--ok: var(--success);--warn: var(--warning);--bad: var(--danger);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 34px;--ease: cubic-bezier(.2, .8, .2, 1);--duration-fast: .15s;--duration-base: .2s;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 24px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}.kpi .value,.kpi .delta,time,.num,[data-tabular]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}a{color:var(--brand);text-decoration:none;transition:color var(--duration-fast) var(--ease)}a:hover{color:var(--brand-hover);text-decoration:underline}.shell{max-width:980px;margin:0 auto;padding:calc(var(--space-5) + env(safe-area-inset-top,0px)) calc(var(--space-4) + env(safe-area-inset-right,0px)) calc(var(--space-7) + var(--space-4) + env(safe-area-inset-bottom,0px)) calc(var(--space-4) + env(safe-area-inset-left,0px))}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.brand{font-weight:700;font-size:var(--text-lg);letter-spacing:-.01em}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card+.card{margin-top:var(--space-4)}h1{font-size:var(--text-2xl);margin:0 0 var(--space-3);letter-spacing:-.02em;font-weight:700}h2{font-size:var(--text-lg);margin:0 0 var(--space-3);font-weight:600;letter-spacing:-.01em}.hero{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand)}.hero .hero-label{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:var(--space-3)}.hero .hero-value{font-size:clamp(40px,11vw,64px);line-height:1;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";margin-bottom:var(--space-3)}.hero .hero-value.placeholder{color:var(--subtle)}.hero .hero-delta{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:500;font-variant-numeric:tabular-nums;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);margin-right:var(--space-2)}.hero .hero-delta.ok{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.hero .hero-delta.bad{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.hero .hero-delta.neutral{background:var(--bg-2);color:var(--muted);border:1px solid var(--border)}.hero .hero-aux{display:inline-block;color:var(--muted);font-size:var(--text-sm)}.hero .hero-status{margin-top:var(--space-4);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.hero .hero-status.ok{color:var(--success)}.streak{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;background:var(--brand-tint);color:var(--brand);border:1px solid var(--brand-border)}.streak.zero{background:var(--bg-2);color:var(--muted);border-color:var(--border)}.streak svg{flex:0 0 auto}.trajectory{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-base);line-height:1.5;display:flex;align-items:flex-start;gap:var(--space-3)}.trajectory svg{flex:0 0 auto;margin-top:2px}.trajectory.ok{color:var(--success)}.trajectory.bad{color:var(--danger)}.trajectory.neutral{color:var(--warning)}.trajectory.info{color:var(--muted)}.ring-card{display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5)}.ring{position:relative;width:96px;height:96px}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .ring-track{stroke:var(--bg-2)}.ring .ring-fill{stroke:var(--success);transition:stroke-dashoffset .6s var(--ease);stroke-linecap:round}.ring.warn .ring-fill{stroke:var(--warning)}.ring.bad .ring-fill{stroke:var(--danger)}.ring .ring-text{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--text-xl);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.ring-card .ring-meta{display:flex;flex-direction:column;gap:var(--space-1)}.ring-card .ring-title{font-size:var(--text-base);font-weight:600}.ring-card .ring-sub{font-size:var(--text-sm);color:var(--muted)}.before-after{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.before-after figure{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.before-after figure img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:var(--radius-md);background:var(--bg-2);border:1px solid var(--border)}.before-after figcaption{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.before-after figcaption .week{color:var(--text);font-size:var(--text-sm);font-weight:700;letter-spacing:-.01em;text-transform:none}.actions-card{padding:var(--space-4) var(--space-4) var(--space-3)}.actions-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-3)}.actions-counter{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;background:var(--bg-2);border:1px solid var(--border);color:var(--muted)}.actions-counter.done{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.actions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.action-row{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3) var(--space-4);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-family:inherit;font-size:var(--text-base);font-weight:500;cursor:pointer;text-align:left;transition:background-color var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease),color var(--duration-base) var(--ease);touch-action:manipulation}.action-row:hover{border-color:var(--border-strong);background:var(--card-hover)}.action-row:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.action-row[disabled]{opacity:.7;cursor:wait}.action-row.done{background:var(--success-bg);border-color:var(--success-border)}.action-row.done .action-label{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--success);text-decoration-thickness:2px}.action-check{flex:0 0 auto;width:24px;height:24px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;color:#fff;transition:all var(--duration-base) var(--ease)}.action-row.done .action-check{background:var(--success);border-color:var(--success)}.action-icon{flex:0 0 auto;display:grid;place-items:center;color:var(--muted)}.action-row.done .action-icon{color:var(--success)}.action-label{flex:1 1 auto}.badges-card{padding:var(--space-4) var(--space-5)}.badges-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.streak-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;font-variant-numeric:tabular-nums;background:var(--brand-tint);color:var(--brand);border:1px solid var(--brand-border)}.badge-list{display:flex;flex-direction:column;gap:var(--space-2)}.badge-tile{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-2)}.badge-tile.unlocked{background:var(--brand-tint);border-color:var(--brand-border)}.badge-tile.current{border-color:var(--border-strong)}.badge-tile.locked{opacity:.55}.badge-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--card);border:1px solid var(--border);color:var(--muted)}.badge-tile.unlocked .badge-icon{background:var(--brand);border-color:var(--brand);color:#fff}.badge-tile.current .badge-icon{color:var(--brand)}.badge-info{min-width:0;display:flex;flex-direction:column;gap:2px}.badge-label{font-weight:600;font-size:var(--text-base);letter-spacing:-.01em}.badge-meta{font-size:var(--text-xs);color:var(--muted)}.badge-progress{height:4px;background:var(--border);border-radius:var(--radius-pill);margin-top:var(--space-2);overflow:hidden}.badge-progress-fill{height:100%;background:var(--brand);border-radius:var(--radius-pill);transition:width .4s var(--ease)}.badge-tile.unlocked .badge-progress-fill{background:var(--success)}.badge-status-tag{font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.04em}.badge-status-tag.ok{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-status-tag.current{background:var(--brand-tint);color:var(--brand);border:1px solid var(--brand-border)}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:var(--space-4);z-index:1000;animation:overlay-in .2s var(--ease)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);max-width:440px;width:100%;position:relative;box-shadow:var(--shadow-lg);animation:modal-in .3s var(--ease)}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;border:none;color:var(--muted);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text);background:var(--bg-2)}.badge-modal{text-align:center}.badge-modal-medal{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:var(--brand-tint);color:var(--brand);margin:var(--space-2) auto var(--space-4);border:2px solid var(--brand-border)}.badge-modal-tag{display:inline-block;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);background:var(--brand-tint);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--brand-border)}.badge-modal-label{font-size:var(--text-3xl);font-weight:700;letter-spacing:-.02em;margin:var(--space-3) 0 var(--space-2)}.badge-modal-identity{font-size:var(--text-base);color:var(--muted);line-height:1.5;margin:0 0 var(--space-5)}.badge-modal-reward{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);text-align:left}.reward-title{font-weight:600;font-size:var(--text-base);margin-bottom:var(--space-2)}.reward-description{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:1.5}.reward-pending{font-size:var(--text-xs);color:var(--muted);font-style:italic;margin:var(--space-3) 0 0}.alerts-system{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);padding:var(--space-4) var(--space-5)}.alerts-system .alerts-system-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:600;margin-bottom:var(--space-3)}.alerts-system .alerts-system-title.empty{color:var(--success)}.alerts-system .alerts-system-title.has{color:var(--warning)}.alerts-system ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.alerts-system li{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid;align-items:start}.alerts-system li.warn{background:var(--warning-bg);border-color:var(--warning-border);color:var(--text)}.alerts-system li.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--text)}.alerts-system li svg{flex:0 0 auto;margin-top:2px}.alerts-system li.warn svg{color:var(--warning)}.alerts-system li.danger svg{color:var(--danger)}.alerts-system .alert-label{font-weight:600;font-size:var(--text-base)}.alerts-system .alert-detail{font-size:var(--text-sm);color:var(--muted);margin-top:2px;line-height:1.5}.substats{display:flex;gap:var(--space-5);flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--muted)}.substats .substat{display:inline-flex;align-items:center;gap:var(--space-2)}.substats .substat-value{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.cta-block{display:block;width:100%;text-align:center;font-size:var(--text-base);padding:var(--space-4) var(--space-5)}.kpi-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.kpi-row .kpi{padding:var(--space-3) var(--space-4)}.kpi-row .kpi .value{font-size:var(--text-xl)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.kpi{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4)}.kpi .label{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.kpi .value{font-size:var(--text-2xl);font-weight:700;margin-top:var(--space-1);letter-spacing:-.02em}.kpi .delta{font-size:var(--text-xs);margin-top:2px;font-weight:500}.kpi .delta.ok{color:var(--success)}.kpi .delta.bad{color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;background:var(--brand);color:#fff;border:1px solid transparent;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-family:inherit;font-weight:600;font-size:var(--text-base);cursor:pointer;text-decoration:none;transition:background-color var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease),transform var(--duration-fast) var(--ease),opacity var(--duration-fast) var(--ease);touch-action:manipulation}.btn:hover{background:var(--brand-hover);text-decoration:none}.btn:active{background:var(--brand-pressed);transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.btn.ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn.ghost:hover{background:var(--bg-2);border-color:var(--brand)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}input,textarea,select{width:100%;min-height:44px;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--text-base);font-family:inherit;line-height:1.4;transition:border-color var(--duration-base) var(--ease),box-shadow var(--duration-base) var(--ease)}textarea{min-height:96px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--subtle)}input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-size:var(--text-sm);color:var(--text);font-weight:500;margin:var(--space-3) 0 var(--space-2)}label .hint,.hint{display:block;font-weight:400;font-size:var(--text-xs);color:var(--muted);margin-top:2px}.row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:600px){.row{grid-template-columns:1fr}}.toggle-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.toggle-group button{flex:1;min-height:44px;padding:var(--space-3);background:var(--bg-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);font-family:inherit;font-weight:500;transition:background-color var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease),color var(--duration-base) var(--ease);touch-action:manipulation}.toggle-group button:hover{border-color:var(--border-strong)}.toggle-group button.on{background:var(--brand);border-color:var(--brand);color:#fff}.toggle-group button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid transparent;line-height:1.5}.alert.ok{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.alert.warn{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.alert.bad{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.nav{display:flex;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap}.nav a{padding:var(--space-2) var(--space-4);background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text);font-size:var(--text-sm);font-weight:500;transition:background-color var(--duration-base) var(--ease),border-color var(--duration-base) var(--ease),color var(--duration-base) var(--ease)}.nav a:hover{text-decoration:none;border-color:var(--border-strong);background:var(--card)}.nav a.active{background:var(--brand);border-color:var(--brand);color:#fff}.nav a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.skeleton{background:linear-gradient(90deg,var(--bg-2) 0%,var(--card-hover) 50%,var(--bg-2) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;top:-40px;left:var(--space-4);background:var(--brand);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:600;z-index:1000;transition:top var(--duration-base) var(--ease)}.skip-link:focus{top:var(--space-4)}:root{--phase-deficit: #38bdf8;--phase-deficit-bg: rgba(56, 189, 248, .1);--phase-deficit-border: rgba(56, 189, 248, .32);--phase-pause: #f59e0b;--phase-pause-bg: rgba(245, 158, 11, .1);--phase-pause-border: rgba(245, 158, 11, .32);--phase-stab: #a78bfa;--phase-stab-bg: rgba(167, 139, 250, .1);--phase-stab-border: rgba(167, 139, 250, .32)}.phase-card{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.phase-card.deficit{border-left-color:var(--phase-deficit)}.phase-card.pause{border-left-color:var(--phase-pause)}.phase-card.stabilisation{border-left-color:var(--phase-stab)}.phase-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.phase-day{font-size:var(--text-xs);color:var(--muted)}.phase-tag{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600;border:1px solid transparent}.phase-tag.deficit{background:var(--phase-deficit-bg);color:var(--phase-deficit);border-color:var(--phase-deficit-border)}.phase-tag.pause{background:var(--phase-pause-bg);color:var(--phase-pause);border-color:var(--phase-pause-border)}.phase-tag.stabilisation{background:var(--phase-stab-bg);color:var(--phase-stab);border-color:var(--phase-stab-border)}.phase-title{font-size:var(--text-lg);margin:var(--space-3) 0 var(--space-3)}.phase-bar{height:6px;background:var(--bg-2);border-radius:var(--radius-pill);overflow:hidden}.phase-bar-fill{height:100%;border-radius:var(--radius-pill);background:var(--border-strong);transition:width var(--duration-base) var(--ease)}.phase-card.deficit .phase-bar-fill{background:var(--phase-deficit)}.phase-card.pause .phase-bar-fill{background:var(--phase-pause)}.phase-card.stabilisation .phase-bar-fill{background:var(--phase-stab)}.phase-guidance{font-size:var(--text-sm);color:var(--muted);line-height:1.5;margin:var(--space-3) 0 0}.phase-targets{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4)}.phase-target{flex:1 1 88px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.phase-target .label{display:block;font-size:var(--text-xs);color:var(--muted)}.phase-target .value{display:block;font-size:var(--text-lg);font-weight:600;margin-top:2px}.phase-link{display:inline-flex;align-items:center;gap:5px;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--brand);text-decoration:none;font-weight:500}.phase-link:hover{text-decoration:underline}.phase-table{display:grid;gap:var(--space-2)}.phase-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);align-items:center;padding:var(--space-3);background:var(--bg-2);border:1px solid var(--border);border-left:3px solid var(--border-strong);border-radius:var(--radius-md)}.phase-row.deficit{border-left-color:var(--phase-deficit)}.phase-row.pause{border-left-color:var(--phase-pause)}.phase-row.stabilisation{border-left-color:var(--phase-stab)}.phase-row.now{background:var(--card-hover);border-color:var(--border-strong)}.phase-row.past{opacity:.55}.phase-row-dates{grid-column:1;font-size:var(--text-xs);color:var(--muted)}.phase-row-days{margin-left:var(--space-2);opacity:.75}.phase-row-label{grid-column:1;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.phase-row-now{font-size:var(--text-xs);color:var(--brand);font-weight:600}.phase-row-kcal{grid-column:2;grid-row:1 / span 2;font-size:var(--text-sm);font-weight:600;white-space:nowrap;text-align:right}.protocol-rules{margin:0;padding-left:18px;display:grid;gap:var(--space-2);font-size:var(--text-sm);line-height:1.55}.protocol-rules li{color:var(--muted)}.protocol-rules b{color:var(--text)}.week-type{display:grid;gap:var(--space-1)}.week-type-row{display:grid;grid-template-columns:78px 1fr;gap:2px var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.week-type-row:last-child{border-bottom:0}.week-type-day{grid-row:1 / span 2;font-weight:600;font-size:var(--text-xs);color:var(--muted);align-self:center}.week-type-mind{font-size:var(--text-xs);color:var(--muted)}.stress-list{display:grid;gap:var(--space-1)}.stress-item{padding:var(--space-3) 0;border-bottom:1px dashed var(--border)}.stress-item:last-child{border-bottom:0}.stress-item b{font-size:var(--text-sm)}.stress-item p{font-size:var(--text-sm);color:var(--muted);line-height:1.55;margin:var(--space-1) 0 0}.toggle-group.stress-scale button{flex:1 1 36px;min-width:36px;padding:var(--space-2) 0}.toggle-group.stress-scale button.on.high{background:var(--warning);border-color:var(--warning);color:#14161c}.toggle-group.breath-group button{gap:6px;display:inline-flex;align-items:center;justify-content:center}.ex-list{display:grid}.ex-row{display:flex;gap:var(--space-3);align-items:center;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px dashed var(--border)}.ex-row:last-child{border-bottom:0}.ex-name{flex:1 1 auto;min-width:0}.ex-name b{display:block;font-size:var(--text-sm)}.ex-name small{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:2px;line-height:1.45}.ex-load{flex:0 0 84px;text-align:center}.ex-scheme{font-size:var(--text-xs);font-weight:700;color:var(--brand);margin-bottom:var(--space-1)}.ex-load input{width:84px;min-height:40px;padding:var(--space-2);text-align:center}.ex-last{display:flex;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--muted);margin-top:3px;min-height:14px}.ex-last.saved{color:var(--success)}.ex-last.err{color:var(--danger)}.rehab-banner{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);margin-bottom:var(--space-4);background:var(--phase-deficit-bg);border:1px solid var(--phase-deficit-border);border-radius:var(--radius-md);color:var(--phase-deficit)}.rehab-banner b{font-size:var(--text-sm)}.rehab-banner p{font-size:var(--text-sm);color:var(--muted);line-height:1.55;margin:var(--space-1) 0 0}.protocol-warnings{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-2)}.protocol-warnings li{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-md);color:var(--warning);font-size:var(--text-sm);line-height:1.5}.protocol-warnings svg{flex:0 0 auto;margin-top:2px}.adjust-note{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--space-4);border:1px solid var(--border);background:var(--bg-2);color:var(--muted)}.adjust-note svg{flex:0 0 auto;margin-top:1px}.adjust-note.hold{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.adjust-note.adjust{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.adjust-note.too_fast{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.week-table-wrap{overflow-x:auto}.week-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.week-table th{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-align:left;padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--border-strong)}.week-table td{padding:var(--space-2) var(--space-2);border-bottom:1px solid var(--border);color:var(--muted)}.week-table tbody th{border-bottom:1px solid var(--border);color:var(--text);font-weight:600}.week-table tr.now td,.week-table tr.now th{background:var(--card-hover)}.week-table td.good{color:var(--success);font-weight:600}.week-table td.bad{color:var(--danger);font-weight:600}.phase-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--border-strong)}.phase-dot.deficit{background:var(--phase-deficit)}.phase-dot.pause{background:var(--phase-pause)}.phase-dot.stabilisation{background:var(--phase-stab)}@media(max-width:520px){.phase-targets{gap:var(--space-1)}.ex-load{flex:0 0 76px}.ex-load input{width:76px}}
