:root{
  --bg:#f5f7f5;
  --bg-2:#fbfaf7;
  --surface:#ffffff;
  --surface-soft:#f3f6f4;
  --ink:#17211f;
  --muted:#687570;
  --soft:#9aa49f;
  --line:rgba(23,33,31,.10);
  --line-strong:rgba(23,33,31,.18);
  --brand:#0f766e;
  --brand-2:#0b5f59;
  --brand-3:#2a9d8f;
  --brand-soft:#e5f3f0;
  --accent:#f2994a;
  --accent-2:#e76f51;
  --accent-soft:#fff1e4;
  --lime:#85c46c;
  --gold:#e6a93d;
  --danger:#d95d5d;
  --success:#14815f;
  --radius-xs:8px;
  --radius-sm:11px;
  --radius:15px;
  --radius-lg:18px;
  --radius-xl:22px;
  --shadow-xs:0 2px 7px rgba(23,33,31,.05);
  --shadow-sm:0 10px 24px rgba(23,33,31,.07);
  --shadow:0 24px 60px rgba(23,33,31,.11);
  --shadow-float:0 24px 70px rgba(23,33,31,.18);
  --display:"Fraunces",Georgia,serif;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --arabic:"Noto Sans Arabic",var(--sans);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body{margin:0;min-height:100dvh;color:var(--ink);font-family:var(--sans);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font:inherit}
button,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{border:0;background:none;color:inherit;cursor:pointer}
button:active{transform:translateY(1px) scale(.99)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(109,93,252,.22);outline-offset:2px}
img,svg{display:block}.hidden{display:none!important}
.ui-icon{width:20px;height:20px;min-width:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ui-icon.small{width:16px;height:16px;min-width:16px}

/* category identity */
[data-category="religion"]{--cat:#15956f;--cat-2:#15956f;--cat-soft:#e7f6ef;--cat-ink:#0b5d45}
[data-category="personal"]{--cat:#3b82a0;--cat-2:#3b82a0;--cat-soft:#e8f3f7;--cat-ink:#22566b}
[data-category="academics"]{--cat:#356fd0;--cat-2:#356fd0;--cat-soft:#eaf1fc;--cat-ink:#234d93}
[data-category="career"]{--cat:#4169a8;--cat-2:#4169a8;--cat-soft:#ebf0f7;--cat-ink:#2d4c7b}
[data-category="health"]{--cat:#e76f51;--cat-2:#e76f51;--cat-soft:#fcece7;--cat-ink:#9a3f2c}
[data-category="mental"]{--cat:#c45f7b;--cat-2:#c45f7b;--cat-soft:#f9eaf0;--cat-ink:#853b52}
[data-category="finance"]{--cat:#d39b2f;--cat-2:#d39b2f;--cat-soft:#fbf3df;--cat-ink:#7a5816}
[data-category="marriage"]{--cat:#d66b67;--cat-2:#d66b67;--cat-soft:#f9eceb;--cat-ink:#8b4542}
[data-category="other"]{--cat:#4f8f84;--cat-2:#4f8f84;--cat-soft:#eaf3f1;--cat-ink:#315f57}
[data-accent="olive"]{--accent-local:#18a677}[data-accent="clay"]{--accent-local:#ff684f}[data-accent="blue"]{--accent-local:#3478ff}[data-accent="plum"]{--accent-local:#3b82a0}[data-accent="gold"]{--accent-local:#de9a16}

/* app shell */
.app,.auth,.onboarding{width:100%;max-width:480px;min-height:100dvh;margin:0 auto;background:rgba(255,255,255,.46);position:relative;overflow-x:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.32)}
.app{padding:0 16px calc(106px + var(--safe-bottom))}
#page{padding-top:10px;min-height:calc(100dvh - 116px)}
.boot{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:var(--brand)}
.brand-logo{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(6,75,91,.10))}.brand-logo.compact{width:40px;height:40px;filter:none}.boot-logo{width:82px;height:82px;animation:logoIn .55s cubic-bezier(.22,1,.36,1) both}@keyframes logoIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}

.topbar{position:sticky;top:0;z-index:40;margin:0 -16px;padding:14px 16px 12px;background:rgba(248,247,255,.94);backdrop-filter:blur(22px);display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo-button{display:flex;align-items:center;gap:10px;padding:6px 8px 6px 6px;border-radius:8px;transition:.2s ease}.logo-button:hover{background:rgba(255,255,255,.6)}.logo-copy b{display:block;font-family:var(--display);font-size:22px;line-height:.94;letter-spacing:-.04em}.logo-copy small{display:block;margin-top:4px;font-size:10px;font-weight:800;color:var(--muted);max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{display:flex;align-items:center;gap:8px}
.icon-button,.avatar{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.78);color:var(--ink);box-shadow:var(--shadow-xs);border:1px solid rgba(255,255,255,.9);position:relative;transition:.22s cubic-bezier(.2,.8,.2,1)}.icon-button:hover,.avatar:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.create-button{background:var(--brand);color:white}.avatar{background:#243330;color:white;font-weight:900}.notif-dot{position:absolute;right:8px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 0 4px rgba(255,79,139,.16)}

/* bottom nav */
.dock{position:fixed;left:50%;bottom:calc(14px + var(--safe-bottom));transform:translateX(-50%);z-index:50;width:min(444px,calc(100% - 22px));height:78px;padding:8px;background:rgba(255,255,255,.76);border:1px solid rgba(255,255,255,.85);border-radius:8px;box-shadow:0 24px 60px rgba(31,27,58,.20);backdrop-filter:blur(24px);display:grid;grid-template-columns:1fr 1fr 74px 1fr 1fr;align-items:center;gap:4px}.dock button{height:58px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#8d89a2;font-size:9px;font-weight:900;letter-spacing:.01em;transition:.24s cubic-bezier(.18,.9,.2,1)}.dock button .ui-icon{width:21px;height:21px}.dock button:hover{background:#fff;transform:translateY(-2px)}.dock button.active{background:#e5f3f0;color:var(--brand);box-shadow:inset 0 0 0 1px rgba(109,93,252,.12),0 12px 24px rgba(109,93,252,.12)}.dock .log-tab{height:70px;width:70px;justify-self:center;margin-top:-26px;border-radius:9px;background:var(--brand);color:#fff;box-shadow:0 18px 34px rgba(109,93,252,.32),0 10px 24px rgba(255,79,139,.18);gap:2px}.dock .log-tab:hover{background:var(--brand-2);transform:translateY(-5px) scale(1.02)}.log-tab-icon{display:grid;place-items:center}.dock .log-tab .ui-icon{width:28px;height:28px;stroke-width:2.4}.dock small{font-size:9px;line-height:1}

/* auth */
.auth{
  min-height:100dvh;
  background:
    radial-gradient(circle at 50% -10%,rgba(15,118,110,.10),transparent 310px),
    var(--bg);
  display:grid;
  place-items:center;
  padding:28px 20px;
}
.auth-shell{width:100%;max-width:410px;display:grid;gap:20px}
.auth-brand-block{display:flex;align-items:center;justify-content:center;gap:12px;padding:4px 0 2px}
.auth-mark{width:66px;height:66px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(15,118,110,.12))}
.auth-name h1{font-family:var(--display);font-size:38px;line-height:.9;letter-spacing:-.055em;margin:0;color:var(--ink)}
.auth-name span{display:block;margin-top:5px;font-family:var(--arabic);font-size:13px;font-weight:700;color:var(--muted)}
.auth-card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 20px 55px rgba(24,39,35,.08)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#eef3f1;border-radius:10px;padding:4px;margin-bottom:22px}
.auth-tabs button{min-height:42px;border-radius:8px;color:var(--muted);font-size:12px;font-weight:800;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.auth-tabs button.active{background:#fff;color:var(--brand);box-shadow:0 4px 14px rgba(24,39,35,.07)}
.auth-copy{margin:0 2px 18px}
.auth-copy h2{font-family:var(--display);font-size:27px;line-height:1;letter-spacing:-.04em;margin:0 0 7px;color:var(--ink)}
.auth-copy p{margin:0;color:var(--muted);font-size:12px}
.auth .field{margin-bottom:13px}
.auth .field>span{font-size:10px;letter-spacing:.09em}
.auth .field input{height:48px;border-radius:10px;padding:0 13px;background:#fff;box-shadow:none}
.auth .field input:focus{border-color:rgba(15,118,110,.45);box-shadow:0 0 0 3px rgba(15,118,110,.08)}
.password-field{position:relative}
.password-field input{padding-right:48px!important}
.password-field button{position:absolute;right:5px;top:5px;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.password-field button:hover{background:var(--surface-soft);color:var(--ink)}
.password-field svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-submit{height:48px;margin-top:4px;border-radius:10px;box-shadow:0 10px 22px rgba(15,118,110,.16)}
.auth-submit:hover{transform:translateY(-1px)}
.auth-footer{text-align:center;color:var(--soft);font-size:10px;font-weight:700;letter-spacing:.04em}
@media(max-height:680px){.auth{place-items:start center;padding-top:18px}.auth-shell{gap:13px}.auth-brand-block{justify-content:flex-start}.auth-mark{width:52px;height:52px}.auth-name h1{font-size:32px}.auth-card{padding:15px}.auth-copy{margin-bottom:14px}.auth-copy h2{font-size:24px}}

/* onboarding */
.onboarding{padding:18px 20px 34px;background:#f5f7f5}.simple-header{display:flex;align-items:center;justify-content:space-between}.onboard-main{padding-top:14dvh}.step-bar{display:flex;gap:8px;margin-bottom:18px}.step-bar i{width:28px;height:6px;border-radius:999px;background:#e6e2f2}.step-bar i.active{background:var(--brand)}.eyebrow{display:inline-block;font-size:10px;font-weight:950;letter-spacing:.17em;text-transform:uppercase;color:var(--brand);line-height:1.2}.onboard-main h1,.v8-page-title h1{font-family:var(--display);font-weight:850;letter-spacing:-.06em;line-height:.94;margin:12px 0 24px}.onboard-main h1{font-size:42px}.action-stack,.menu-list{display:grid;gap:12px}.action-tile,.menu-item{width:100%;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);border-radius:9px;padding:16px;display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:center;text-align:left;box-shadow:var(--shadow-sm);transition:.22s cubic-bezier(.18,.9,.2,1)}.action-tile:hover,.menu-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.action-icon,.menu-item-icon{width:54px;height:54px;border-radius:8px;display:grid;place-items:center;color:white;background:var(--brand)}.action-icon.sage{background:var(--brand-3)}.action-icon.clay{background:var(--accent)}.action-tile b,.menu-item b{display:block;font-size:15px;font-weight:950}.action-tile small,.menu-item small{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:var(--muted)}.chevron{color:var(--soft)}.mini-form h2{font-family:var(--display);font-size:34px;letter-spacing:-.04em;margin:16px 0 18px}.back-button{font-size:12px;font-weight:900;color:var(--brand);padding:8px 0}

/* buttons */
.button{min-height:46px;border-radius:8px;padding:12px 16px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:950;transition:.22s cubic-bezier(.18,.9,.2,1);border:1px solid transparent}.button-wide{width:100%}.button-primary{background:var(--brand);color:white;box-shadow:0 16px 30px rgba(109,93,252,.24)}.button-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(109,93,252,.30)}.button-secondary{background:rgba(255,255,255,.9);border-color:var(--line);box-shadow:var(--shadow-xs)}.button-soft{background:var(--brand-soft);color:var(--brand)}.button-danger{color:var(--danger);background:#fff0f2}.text-button,.v8-link,.small-action{font-size:12px;font-weight:950;color:var(--brand);padding:9px 11px;border-radius:999px;background:rgba(109,93,252,.08)}.small-action.primary{background:var(--brand);color:white}.icon-only{width:40px;height:40px;border-radius:8px;background:rgba(255,255,255,.8);display:grid;place-items:center;border:1px solid var(--line)}

/* sections and hero */
.section,.v8-section{margin-top:22px}.v8-section-head,.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:12px}.v8-section-head h2,.section-head h2,.sheet-section h3{margin:5px 0 0;font-size:24px;line-height:1;font-weight:950;letter-spacing:-.045em}.section-head h3{margin:0;font-size:18px}.v8-hero{position:relative;display:grid;grid-template-columns:1fr 116px;gap:16px;align-items:center;min-height:190px;border-radius:22px;padding:22px;overflow:hidden;background:var(--brand);color:#fff;box-shadow:0 26px 70px rgba(109,93,252,.28)}.v8-hero:before{content:"";position:absolute;inset:auto -50px -70px auto;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.12);filter:blur(1px)}.v8-hero-copy{position:relative;z-index:1}.v8-hero-copy>span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.72)}.v8-hero h1{font-family:var(--display);font-size:42px;line-height:.92;letter-spacing:-.065em;margin:8px 0 10px}.v8-hero h1 em{font-style:normal;color:#ffe7a8}.v8-hero p{font-size:13px;line-height:1.45;margin:0;color:rgba(255,255,255,.82)}.v8-hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.v8-hero-facts span{display:flex;align-items:center;gap:6px;border-radius:999px;padding:8px 10px;background:rgba(255,255,255,.16);font-size:11px;font-weight:900;color:#fff}.v8-hero-ring,.v8-buddy-donut{width:112px;height:112px;border-radius:50%;padding:8px;background:conic-gradient(#fff var(--angle),rgba(255,255,255,.24) 0deg);position:relative;z-index:1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.v8-hero-ring div,.v8-buddy-donut span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);text-align:center}.v8-hero-ring strong,.v8-buddy-donut b{font-size:30px;line-height:.8;font-weight:950}.v8-hero-ring span,.v8-buddy-donut small{font-size:12px;font-weight:900}.v8-hero-ring small{font-size:10px;color:rgba(255,255,255,.70);margin-top:-22px}
.v8-page-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 18px}.v8-page-title h1{font-size:40px;margin:8px 0 5px}.v8-page-title p{margin:0;color:var(--muted);font-size:13px}.v8-round-create{width:62px;height:62px;border-radius:9px;background:var(--brand);color:white;display:grid;place-items:center;box-shadow:0 18px 36px rgba(109,93,252,.25)}.v8-round-create.clay{background:var(--accent)}

/* charts */
.v8-momentum,.v8-detail-chart,.v8-buddy-overview,.v8-points,.v8-points-off{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.9);border-radius:8px;padding:16px;box-shadow:var(--shadow-sm)}.v8-chart-head,.v8-points-head{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:12px}.v8-chart-head b,.v8-points h3{font-size:18px;font-weight:950;letter-spacing:-.04em}.v8-chart-head small,.v8-chart-foot,.v8-points small{font-size:11px;color:var(--muted)}.v8-chart-trend{display:flex;align-items:center;justify-content:space-between;gap:5px;height:78px}.v8-chart-trend .v8-spark{height:78px;flex:1}.v8-spark{width:100%;height:44px;overflow:visible}.v8-spark polyline,.v8-spark-line{fill:none;stroke:var(--cat,var(--brand));stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 8px rgba(15,118,110,.12))}.v8-spark-line{stroke-dasharray:1;stroke-dashoffset:0}.v8-spark-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.v8-spark-area{fill:var(--cat-soft,var(--brand-soft));opacity:.72}.v8-chart-trend span{align-self:end;font-size:10px;font-weight:900;color:var(--muted)}

/* areas */
.v8-area-bars{display:grid;gap:10px}.v8-area-bar{display:grid;grid-template-columns:42px minmax(84px,1fr) 1.4fr 48px;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;background:var(--brand);border:1px solid rgba(255,255,255,.85);box-shadow:var(--shadow-xs)}.v8-area-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--cat);color:white}.v8-area-name{font-size:13px;font-weight:950;color:var(--cat-ink)}.v8-area-bar>i{height:10px;border-radius:999px;background:rgba(255,255,255,.68);overflow:hidden}.v8-area-bar>i em{display:block;height:100%;border-radius:inherit;background:var(--cat);box-shadow:0 0 16px color-mix(in srgb,var(--cat) 55%,transparent)}.v8-area-bar strong{font-size:13px;text-align:right;color:var(--cat-ink)}

/* goals */
.v8-goal-list,.quick-goal-list,.v8-quick-strip,.v8-task-list,.task-list,.v8-review-list,.v8-buddy-list{display:grid;gap:12px}.v8-goal{position:relative;border-radius:8px;background:rgba(255,255,255,.86);box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.9);overflow:hidden;transition:.24s cubic-bezier(.18,.9,.2,1)}.v8-goal:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.v8-goal:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:var(--brand)}.v8-goal-main{width:100%;padding:15px 14px 11px 18px;display:grid;grid-template-columns:54px 1fr 112px;gap:12px;align-items:center;text-align:left}.v8-goal-icon{width:54px;height:54px;border-radius:8px;display:grid;place-items:center;background:var(--cat);color:white;box-shadow:0 12px 24px color-mix(in srgb,var(--cat) 22%,transparent)}.v8-goal-copy{min-width:0}.v8-goal-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}.v8-goal-meta i{font-style:normal;display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;color:var(--cat-ink);background:var(--cat-soft);border-radius:999px;padding:4px 7px}.v8-goal-meta .ui-icon{width:13px;height:13px;min-width:13px}.v8-goal-copy b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px;font-weight:950;letter-spacing:-.035em}.v8-goal-copy small{display:block;margin-top:4px;font-size:11px;color:var(--muted);font-weight:700}.v8-goal-visual{display:grid;gap:4px;text-align:right;align-items:center}.v8-goal-visual strong{font-size:20px;font-weight:950;color:var(--cat-ink)}.v8-goal-progress{height:7px;background:rgba(29,23,69,.06);margin:0 14px 0 18px;border-radius:999px;overflow:hidden}.v8-goal-progress i{display:block;height:100%;border-radius:inherit;background:var(--cat);box-shadow:0 0 16px color-mix(in srgb,var(--cat) 42%,transparent)}.v8-goal-foot{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-wrap:wrap;padding:11px 14px 14px 18px}.v8-goal-foot>span:not(.v8-goal-actions),.v8-status{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:900;color:var(--muted)}.v8-status.improving{color:var(--success)}.v8-status.worse{color:var(--danger)}.v8-goal-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.v8-goal-actions button{display:inline-flex;align-items:center;gap:6px;min-height:38px;border-radius:8px;padding:9px 12px;font-size:12px;font-weight:950;background:var(--cat-soft);color:var(--cat-ink);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}.v8-goal-actions .icon-only{padding:0;width:38px;background:white;color:var(--ink)}

/* quick logging */
.v8-quick{display:grid;grid-template-columns:1fr 74px 32px;gap:8px;align-items:center;border-radius:26px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm);padding:10px;transition:.23s cubic-bezier(.18,.9,.2,1)}.v8-quick:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.v8-quick-main{display:grid;grid-template-columns:48px 1fr 86px;gap:10px;align-items:center;text-align:left;min-width:0}.v8-quick-icon{width:48px;height:48px;border-radius:8px;display:grid;place-items:center;background:var(--cat);color:white}.v8-quick-copy{min-width:0}.v8-quick-copy small{display:block;color:var(--cat-ink);font-size:10px;font-weight:950;text-transform:uppercase}.v8-quick-copy b{display:block;font-size:16px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v8-quick-copy em{display:block;font-style:normal;color:var(--muted);font-size:11px;font-weight:750}.v8-mini-spark{width:86px}.v8-quick-hit{height:56px;border-radius:8px;background:var(--cat);color:white;display:grid;place-items:center;font-weight:950;box-shadow:0 14px 24px color-mix(in srgb,var(--cat) 24%,transparent)}.v8-quick-hit.set{background:var(--cat-soft);color:var(--cat-ink)}.v8-quick-hit span{font-size:12px}.v8-trend{display:grid;place-items:center;color:var(--muted)}.v8-trend.improving{color:var(--success)}.v8-trend.worse{color:var(--danger)}
.quick-goal{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:12px;border-radius:9px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-xs)}.quick-goal .v8-quick-icon{width:44px;height:44px}.log-target-summary{font-size:12px;color:var(--muted)}.preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.preset{border-radius:9px;padding:12px;background:var(--cat-soft,var(--brand-soft));color:var(--cat-ink,var(--brand));font-weight:950}.amount-box{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center}.amount-box button{height:48px;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.duration-input{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* tasks */
.v8-task{display:grid;grid-template-columns:48px 1fr 42px;gap:11px;align-items:center;border-radius:9px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-xs);padding:11px}.v8-task.done{opacity:.64}.v8-task-check{width:48px;height:48px;border-radius:8px;background:var(--cat-soft);color:var(--cat);display:grid;place-items:center;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8)}.v8-task:not(.done) .v8-task-check:after{content:"";width:16px;height:16px;border-radius:50%;border:2px solid currentColor}.v8-task.done .v8-task-check{background:var(--cat);color:white}.v8-task-copy{text-align:left;min-width:0}.v8-task-copy b{display:block;font-size:15px;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v8-task-copy small{display:block;margin-top:3px;font-size:11px;color:var(--muted);font-weight:700}.v8-task-cat{width:42px;height:42px;border-radius:8px;background:var(--cat-soft);color:var(--cat-ink);display:grid;place-items:center}

/* milestones */
.v8-mile-grid{display:grid;gap:12px}.v8-mile{--mile-accent:var(--brand);border-radius:30px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-sm);overflow:hidden}.v8-mile.linked{--mile-accent:var(--brand)}.v8-mile.manual{--mile-accent:var(--gold)}.v8-mile-main{width:100%;display:grid;grid-template-columns:82px 1fr 34px;gap:13px;align-items:center;text-align:left;padding:15px}.v8-mile-ring{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;padding:7px}.v8-mile-ring i{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#fff;text-align:center;box-shadow:inset 0 0 0 1px var(--line);font-style:normal}.v8-mile-ring b{font-size:22px;font-weight:950}.v8-mile-ring small{font-size:10px;color:var(--muted)}.v8-mile-copy h3{margin:4px 0 4px;font-size:19px;letter-spacing:-.04em}.v8-mile-copy p,.v8-mile-copy small{display:block;margin:0;color:var(--muted);font-size:12px;line-height:1.4}.v8-mile-arrow{color:var(--soft)}.v8-mile-goals{display:flex;gap:7px;overflow:auto;padding:0 15px 15px}.v8-mile-goals span{min-width:112px;border-radius:9px;padding:9px;background:var(--cat-soft);color:var(--cat-ink);font-size:10px;font-weight:900}.v8-linked-rail{display:block;height:5px;background:var(--cat);border-radius:999px;margin-top:6px}.v8-mile-foot{padding:0 15px 15px;color:var(--muted);font-size:11px;font-weight:800}.v8-mile-detail{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;padding:16px;border-radius:9px;background:var(--brand);border:1px solid var(--line)}.v8-mile-detail-ring{--angle:0deg;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) var(--angle),#e7ece9 0deg);padding:8px}.v8-mile-detail-ring span{display:grid;place-items:center;background:#fff;width:100%;height:100%;border-radius:50%;font-weight:950}.v8-link-goals{display:grid;gap:9px}.v8-link-goal,.v8-linked-read{display:grid;grid-template-columns:24px 44px 1fr 24px;gap:10px;align-items:center;padding:11px;border-radius:8px;background:rgba(255,255,255,.82);border:1px solid var(--line)}.v8-link-goal input{width:20px;height:20px;accent-color:var(--brand)}.v8-link-goal>span:first-of-type,.v8-linked-read>span{width:44px;height:44px;border-radius:9px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}.v8-link-goal b,.v8-linked-read b{font-size:14px}.v8-link-goal small,.v8-linked-read small{display:block;color:var(--muted);font-size:11px}.v8-link-goal.blocked{opacity:.45}.v8-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.v8-mode-switch label{position:relative}.v8-mode-switch input{position:absolute;opacity:0}.v8-mode-switch span{min-height:76px;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:12px;font-weight:950;padding:10px}.v8-mode-switch input:checked+span{background:var(--brand);border-color:rgba(109,93,252,.34);color:var(--brand)}

/* buddy */
.v8-avatar-large{width:64px;height:64px;border-radius:9px;background:var(--brand);color:white;display:grid;place-items:center;font-size:25px;font-weight:950;box-shadow:0 18px 36px rgba(109,93,252,.24)}.v8-buddy-hero,.partner-card{border-radius:30px;background:var(--brand);color:white;padding:18px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:12px}.v8-buddy-hero span,.summary-label{font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}.v8-buddy-hero b{display:block;font-size:20px;letter-spacing:-.04em;margin:4px 0}.v8-buddy-hero small{color:rgba(255,255,255,.72);font-size:12px}.v8-buddy-hero button{background:rgba(255,255,255,.18);border-radius:9px;padding:11px 12px;font-weight:950;display:flex;gap:8px}.v8-buddy-overview{display:grid;grid-template-columns:106px 1fr;gap:14px;align-items:center}.v8-buddy-donut{background:conic-gradient(var(--brand) var(--angle),#e7ece9 0deg);box-shadow:none}.v8-buddy-donut span{background:#fff;color:var(--ink)}.v8-buddy-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v8-buddy-stats div{border-radius:8px;background:var(--surface-soft);padding:10px;text-align:center}.v8-buddy-stats span{display:grid;place-items:center;color:var(--brand);margin-bottom:4px}.v8-buddy-stats b{display:block;font-size:20px}.v8-buddy-stats small{font-size:9px;color:var(--muted);font-weight:800}.v8-buddy-goal{display:grid;grid-template-columns:50px 1fr 46px;gap:12px;align-items:center;border-radius:26px;background:rgba(255,255,255,.86);padding:13px;border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-xs)}.v8-buddy-icon{width:50px;height:50px;border-radius:8px;background:var(--cat);color:white;display:grid;place-items:center}.v8-buddy-icon.neutral{background:#edeaf7;color:var(--muted)}.v8-buddy-goal b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v8-buddy-spark{height:34px}.v8-buddy-foot{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:10px;color:var(--muted);font-weight:850}.v8-buddy-foot span{display:flex;align-items:center;gap:4px}.v8-nudge{width:46px;height:46px;border-radius:9px;display:grid;place-items:center;background:var(--cat-soft,#e8f3f7);color:var(--cat-ink,var(--brand))}.v8-summary-meter{height:8px;border-radius:999px;background:#ece9f8;overflow:hidden;margin:8px 0}.v8-summary-meter i{display:block;height:100%;background:var(--brand);border-radius:inherit}.v8-points-off{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center}.v8-points-icon{width:54px;height:54px;border-radius:8px;background:var(--gold);color:white;display:grid;place-items:center}.v8-score-list{display:grid;gap:10px}.v8-score-person{display:grid;grid-template-columns:38px 1fr 1.2fr 44px;gap:9px;align-items:center}.partner-avatar{width:46px;height:46px;border-radius:9px;background:var(--brand);color:white;display:grid;place-items:center;font-weight:950}.partner-avatar.small{width:38px;height:38px;border-radius:14px}.v8-score-person b{font-size:13px}.v8-score-person i{height:9px;border-radius:999px;background:#ece9f8;overflow:hidden}.v8-score-person i em{display:block;height:100%;background:var(--brand);border-radius:inherit}.v8-score-person strong{font-size:14px;text-align:right}.points-help{text-align:right;margin-top:8px}

/* reviews and feed */
.v8-review-pulse{border-radius:30px;padding:18px;background:#fff8f1;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.9)}.v8-review-pulse h2{font-size:26px;margin:5px 0 4px;letter-spacing:-.05em}.v8-review-pulse p{color:var(--muted);font-size:12px;margin:0 0 10px}.v8-review-pulse button{margin-top:10px;border-radius:9px;padding:12px 14px;background:#fff;color:var(--brand);font-weight:950;display:flex;gap:8px}.v7-review{border-radius:9px;background:rgba(255,255,255,.86);padding:15px;box-shadow:var(--shadow-xs);border:1px solid rgba(255,255,255,.9)}.v7-review-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:950;color:var(--brand)}.v7-review h3{font-size:18px;margin:8px 0}.v7-review p{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--muted)}.v7-review p b{margin-right:8px;color:var(--ink)}.activity,.notification{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:start;padding:12px;border-radius:8px;background:rgba(255,255,255,.72);border:1px solid var(--line);margin-bottom:8px}.activity-icon,.notification-icon{width:42px;height:42px;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.activity h4{font-size:13px;margin:0}.activity p,.notification p{font-size:11px;color:var(--muted);margin:3px 0 0}.activity time,.notification time{font-size:10px;color:var(--soft)}.v8-activity-list{display:grid;gap:8px}

/* sheets */
.scrim{position:fixed;inset:0;z-index:80;background:rgba(19,17,38,.42);backdrop-filter:blur(7px)}.sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:90;width:min(480px,100%);max-height:92dvh;overflow:auto;background:#fff;border-radius:24px 24px 0 0;padding:10px 18px calc(28px + var(--safe-bottom));box-shadow:0 -28px 70px rgba(31,27,58,.22)}.grabber{width:46px;height:5px;border-radius:999px;background:#d7dfdb;margin:0 auto 16px}.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.sheet-head h2{font-family:var(--display);font-size:32px;line-height:.98;letter-spacing:-.06em;margin:4px 0 0}.sheet-kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--brand);font-weight:950}.sheet-close{width:42px;height:42px;border-radius:9px;background:#fff;box-shadow:var(--shadow-xs);display:grid;place-items:center}.sheet-section{margin-top:20px}.detail-progress{border-radius:26px;background:#f5f7f5;padding:15px;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.detail-progress-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.detail-progress-top strong{font-size:34px;letter-spacing:-.05em}.detail-progress-top span{font-size:12px;color:var(--muted);font-weight:800}.progress-row{display:grid;grid-template-columns:1fr 42px;gap:10px;align-items:center;margin-top:10px}.rail{height:9px;border-radius:999px;background:#e7ece9;overflow:hidden}.fill{display:block;height:100%;border-radius:inherit;background:var(--brand)}.detail-meta-line{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.detail-meta-line span{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:900;color:var(--muted);background:#fff;border-radius:999px;padding:6px 8px}.detail-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:12px}.reactions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.reaction{border-radius:8px;padding:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:6px;font-weight:950;color:var(--brand)}.comment{border-radius:8px;background:#fff;padding:12px;border:1px solid var(--line);margin-bottom:8px}.comment b{font-size:12px}.comment time{float:right;font-size:10px;color:var(--soft)}.comment p{clear:both;margin:6px 0 0;color:var(--muted);font-size:12px}.inline-form{display:grid;grid-template-columns:1fr 48px;gap:8px}.inline-form input{height:48px;border-radius:9px;border:1px solid var(--line);padding:0 14px;outline:0}.inline-form button{border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.owner-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.owner-tabs label{position:relative}.owner-tabs input{position:absolute;opacity:0}.owner-tabs span{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:8px;background:#fff;border:1px solid var(--line);font-weight:950}.owner-tabs input:checked+span{background:var(--brand);color:white}.contribution-field{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--line);background:#fff;border-radius:8px;padding-right:12px}.contribution-field input{box-shadow:none;border:0;background:transparent}.contribution-field span{font-size:12px;color:var(--muted);font-weight:900}.context-tip-row,.menu-help{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:8px;background:var(--brand-soft);color:var(--brand);padding:12px;margin:12px 0;font-size:12px;font-weight:900}.v8-thoughtful-note{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:8px;background:#fff7df;color:#745007;margin-top:12px;font-size:12px;font-weight:800}.profile-row{display:flex;align-items:center;gap:12px;border-radius:9px;background:#fff;padding:14px;border:1px solid var(--line);margin-bottom:12px}.profile-row h3{font-size:18px;margin:0}.profile-row p{font-size:12px;color:var(--muted);margin:3px 0 0}.profile-menu{display:grid;gap:8px}.invite-code{font-size:25px;letter-spacing:.18em;font-weight:950;margin-top:6px}.notification{grid-template-columns:42px 1fr}
.empty{border-radius:9px;padding:20px;text-align:center;background:rgba(255,255,255,.72);border:1px dashed var(--line-strong);color:var(--muted);font-size:12px}.empty b{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}

/* tooltips */
.help-tip{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;background:rgba(109,93,252,.12);color:var(--brand);vertical-align:middle;position:relative}.help-tip .ui-icon{width:13px;height:13px;min-width:13px}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;z-index:150;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(6px);width:max-content;max-width:230px;padding:10px 12px;border-radius:8px;background:#161421;color:#fff;font-size:11px;line-height:1.35;font-weight:750;letter-spacing:0;text-transform:none;box-shadow:0 18px 42px rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:.18s ease;text-align:left}[data-tooltip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#161421;opacity:0;transition:.18s ease;z-index:151}[data-tooltip]:hover:after,[data-tooltip]:hover:before,[data-tooltip]:focus-visible:after,[data-tooltip]:focus-visible:before,.tooltip-open:after,.tooltip-open:before{opacity:1;transform:translateX(-50%) translateY(0)}
.toast{position:fixed;left:50%;bottom:calc(104px + var(--safe-bottom));transform:translateX(-50%) translateY(12px);z-index:120;max-width:min(430px,calc(100% - 28px));background:#151421;color:#fff;border-radius:8px;padding:12px 16px;font-size:12px;font-weight:900;opacity:0;pointer-events:none;box-shadow:0 18px 42px rgba(0,0,0,.22);transition:.22s ease}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(max-width:390px){.app{padding-left:12px;padding-right:12px}.topbar{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.v8-hero{grid-template-columns:1fr;min-height:0}.v8-hero-ring{width:104px;height:104px}.v8-goal-main{grid-template-columns:48px 1fr 86px;gap:9px}.v8-goal-icon{width:48px;height:48px}.v8-goal-copy b{font-size:16px}.v8-goal-visual strong{font-size:17px}.v8-quick{grid-template-columns:1fr 64px}.v8-quick .v8-trend{display:none}.v8-quick-main{grid-template-columns:44px 1fr 64px}.v8-mini-spark{width:64px}.v8-area-bar{grid-template-columns:38px 1fr 48px}.v8-area-bar>i{grid-column:2/4}.form-grid,.detail-actions{grid-template-columns:1fr}.v8-mode-switch{grid-template-columns:1fr}.v8-buddy-overview{grid-template-columns:1fr}.v8-buddy-stats{grid-template-columns:repeat(3,1fr)}.dock{width:calc(100% - 16px);height:74px;border-radius:25px}.dock .log-tab{width:66px;height:66px}}
@media(min-width:720px){body{padding:24px}.app,.auth,.onboarding{min-height:calc(100dvh - 48px);border-radius:36px;box-shadow:0 40px 120px rgba(31,27,58,.16);overflow:hidden}.dock{bottom:38px}.sheet{bottom:24px;border-radius:22px;box-shadow:0 30px 100px rgba(31,27,58,.24)}}
@media(prefers-reduced-motion:no-preference){.v8-hero-ring,.v8-buddy-donut,.v8-mile-ring{transition:background .8s cubic-bezier(.22,1,.36,1)}.v8-goal,.v8-task,.v8-quick,.v8-mile,.button,.dock button{will-change:transform}.v8-task-check,.v8-quick-hit,.v8-round-create,.log-tab{animation:silentFloat 5.5s ease-in-out infinite}.v8-task:nth-child(2n) .v8-task-check,.v8-quick:nth-child(2n) .v8-quick-hit{animation-delay:1.2s}@keyframes silentFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}}
/* remaining component helpers */
.gold{background:var(--gold)!important;color:white!important}.neutral{background:#edeaf7!important;color:#77738a!important}
.v8-filters{display:flex;gap:8px;overflow:auto;padding:2px 0 14px;margin:-4px 0 6px;scrollbar-width:none}.v8-filters::-webkit-scrollbar{display:none}.v8-filter{white-space:nowrap;border-radius:999px;padding:10px 14px;background:rgba(255,255,255,.75);color:var(--muted);font-size:12px;font-weight:950;border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-xs)}.v8-filter.active{background:var(--brand);color:white;box-shadow:0 14px 28px rgba(109,93,252,.22)}
.week-day{display:grid;gap:6px;text-align:center;min-width:0}.week-day i{display:block;height:48px;border-radius:999px;background:#e7ece9;position:relative;overflow:hidden}.week-day i.on{background:var(--brand);box-shadow:0 10px 24px rgba(109,93,252,.20)}.week-day span{font-size:10px;font-weight:950;color:var(--muted)}
.v8-metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.v8-insight-panel{border-radius:26px;padding:15px;background:#f5f7f5;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.v8-insight-panel b{display:block;font-size:22px;letter-spacing:-.05em}.v8-insight-panel small{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-top:3px}.v8-target-line{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:850}.v8-mile-manual{border-radius:8px;background:#fff7df;color:#745007;padding:12px;font-size:12px;font-weight:900}.review-line{font-size:12px;color:var(--muted);line-height:1.5}.category-tile{border-radius:9px;background:var(--cat-soft);color:var(--cat-ink);padding:14px;box-shadow:var(--shadow-xs);border:1px solid rgba(255,255,255,.9)}.category-tile b{display:block;font-size:16px}.category-tile small{display:block;color:var(--muted);margin-top:4px}
@media(max-width:390px){.v8-metric-grid{grid-template-columns:1fr}.week-day i{height:38px}}


/* v17 product fixes: stable layouts, meaningful points, no decorative gradients */
.v17-hero{margin-top:8px;border-radius:30px;background:#0f766e;color:#fff;padding:23px 22px 20px;box-shadow:0 24px 56px rgba(66,54,170,.18);overflow:hidden}
.v17-date{display:block;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.v17-hero h1{font-family:var(--display);font-size:40px;line-height:.94;letter-spacing:-.06em;margin:9px 0 8px}.v17-hero h1 em{font-style:normal;color:#fff0a8}.v17-hero>p{max-width:330px;margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.45}
.v17-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.v17-hero-stats>div{min-width:0;padding:10px;border-radius:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.08)}.v17-hero-stats span{display:inline-grid;color:rgba(255,255,255,.76);margin-bottom:5px}.v17-hero-stats b{display:block;font-size:16px;line-height:1}.v17-hero-stats small{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.mp-card,.mp-off{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;box-shadow:var(--shadow-xs)}
.mp-main{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:center}.mp-ring{width:88px;height:88px;border-radius:50%;padding:7px;background:conic-gradient(var(--brand) var(--angle),#eceaf8 0deg)}.mp-ring>span{width:100%;height:100%;border-radius:50%;display:grid;place-content:center;text-align:center;background:#fff}.mp-ring b{font-size:25px;line-height:1}.mp-ring small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:800}.mp-copy h3{margin:5px 0 3px;font-size:23px;letter-spacing:-.04em}.mp-copy h3 small{font-size:12px;color:var(--muted);font-weight:800}.mp-copy p{margin:0;color:var(--muted);font-size:11px}.mp-week-rail{height:7px;border-radius:99px;background:#eceaf8;overflow:hidden;margin-top:10px}.mp-week-rail i{display:block;height:100%;border-radius:inherit;background:var(--brand)}
.mp-days{height:82px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;margin-top:15px;padding-top:4px;border-top:1px solid #f1eef8}.mp-days>div{height:62px;display:grid;grid-template-rows:1fr 15px;gap:4px;text-align:center}.mp-days i{height:100%;display:flex;align-items:flex-end;justify-content:center;background:#f2f5f3;border-radius:7px;overflow:hidden}.mp-days em{display:block;width:100%;min-height:4px;background:#a99cf8;border-radius:7px 7px 0 0}.mp-days .today em{background:var(--brand)}.mp-days span{font-size:9px;font-weight:850;color:var(--muted)}
.mp-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:11px;color:var(--muted);font-size:9px;font-weight:850}.mp-foot>span:not(.help-tip){display:flex;align-items:center;gap:4px}.mp-foot .ui-icon{width:13px;height:13px}.mp-foot .help-tip{margin-left:auto}.mp-off{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}.mp-off>.mp-icon{width:44px;height:44px;border-radius:8px;background:#fff6d9;color:#a76f00;display:grid;place-items:center}.mp-off b{display:block}.mp-off small{display:block;color:var(--muted);margin-top:3px;font-size:11px}

.goal-insight{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow-xs)}.goal-insight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.goal-insight-head h3{margin:5px 0 0;font-size:21px;letter-spacing:-.04em}.trend-badge{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:8px;background:#f2f5f3;color:var(--muted);font-size:10px;font-weight:900}.trend-badge.improving{background:#e9f8ef;color:#168454}.trend-badge.worse{background:#fff0ee;color:#b94d43}.trend-badge.steady{background:#fff7df;color:#9c6a0f}.trend-badge .ui-icon{width:14px;height:14px}
.goal-trend-plot{position:relative;height:132px;margin-top:12px;padding:12px 10px 31px;border-radius:8px;background:#f9f8fd;border:1px solid #efedf7;overflow:hidden}.goal-trend-plot .v8-spark{height:78px;overflow:hidden}.goal-trend-plot .v8-spark polyline{stroke-width:3;filter:none}.goal-target-caption{position:absolute;left:12px;right:12px;bottom:9px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.goal-target-caption b{font-size:11px;color:var(--ink)}
.goal-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.goal-metrics>div{min-width:0;padding:11px;border-radius:8px;background:#faf9fd;border:1px solid #efedf7}.goal-metrics span{display:block;color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.goal-metrics b{display:block;margin-top:5px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-metrics small{display:block;margin-top:3px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-insight-note{display:flex;align-items:flex-start;gap:8px;margin-top:10px;padding:11px;border-radius:8px;background:#fff8df;color:#77530b;font-size:11px;line-height:1.4}.goal-insight-note .ui-icon{width:16px;height:16px;flex:0 0 auto}

.buddy-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 16px}.buddy-title h1{font-family:var(--display);font-size:38px;letter-spacing:-.055em;line-height:.96;margin:7px 0 6px}.buddy-title p{margin:0;color:var(--muted);font-size:12px}.buddy-avatar-large{width:58px;height:58px;border-radius:8px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:950;flex:0 0 auto}
.buddy-connection{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-radius:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.connection-status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.connection-status i{width:7px;height:7px;border-radius:50%;background:#24aa68}.buddy-connection b{display:block;margin:5px 0 2px;font-size:16px}.buddy-connection small{color:var(--muted);font-size:10px}.buddy-connection>button{border-radius:9px;background:var(--brand-soft);color:var(--brand);padding:9px 10px;font-weight:900}
.buddy-pulse-card{display:grid;grid-template-columns:minmax(0,1fr) 1.15fr;gap:12px;padding:15px;border-radius:9px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.buddy-pulse-score{min-width:0}.buddy-pulse-score>span{font-size:9px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.buddy-pulse-score strong{display:block;font-size:34px;line-height:1;margin:8px 0 10px}.buddy-pulse-score>div{height:8px;border-radius:99px;background:#e7ece9;overflow:hidden}.buddy-pulse-score>div i{display:block;height:100%;background:var(--brand);border-radius:inherit}.buddy-pulse-score small{display:block;margin-top:7px;color:var(--muted);font-size:9px}.buddy-pulse-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.buddy-pulse-stats>div{min-width:0;padding:10px 6px;border-radius:8px;background:#f5f7f5;text-align:center}.buddy-pulse-stats .ui-icon{width:17px;height:17px;margin:0 auto 5px;color:var(--brand)}.buddy-pulse-stats b{display:block;font-size:18px}.buddy-pulse-stats small{display:block;margin-top:3px;color:var(--muted);font-size:8px;line-height:1.15}
.buddy-progress-list{display:grid;gap:10px}.buddy-progress-card{padding:13px;border-radius:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.buddy-progress-top{display:grid;grid-template-columns:46px minmax(0,1fr) 40px;gap:10px;align-items:center}.buddy-progress-icon{width:46px;height:46px;border-radius:8px;background:var(--cat-soft);color:var(--cat-ink);display:grid;place-items:center}.buddy-progress-icon.neutral{background:#eef2f0;color:var(--muted)}.buddy-progress-top>div{min-width:0}.buddy-progress-top>div span{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buddy-progress-top>div b{display:block;margin-top:4px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buddy-nudge{width:40px;height:40px;border-radius:8px;background:var(--cat-soft,#f2f0f8);color:var(--cat-ink,var(--brand));display:grid;place-items:center}.buddy-progress-bottom{display:grid;grid-template-columns:125px minmax(0,1fr);gap:10px;align-items:end;margin-top:11px}.buddy-progress-bottom>div:first-child{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.buddy-progress-bottom strong{font-size:22px}.buddy-progress-bottom span{display:inline-flex;align-items:center;gap:3px;color:var(--muted);font-size:9px;font-weight:850}.buddy-progress-bottom span .ui-icon{width:12px;height:12px}.buddy-progress-spark{height:42px;min-width:0}.buddy-progress-spark .v8-spark{height:42px;overflow:hidden}.buddy-summary-rail{height:8px;border-radius:99px;background:#e7ece9;overflow:hidden;margin-bottom:8px}.buddy-summary-rail i{display:block;height:100%;background:var(--brand);border-radius:inherit}
.buddy-points-card,.buddy-points-off{padding:15px;border-radius:9px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.buddy-points-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.buddy-points-head h3{margin:5px 0 0;font-size:20px}.buddy-score-list{display:grid;gap:10px;margin-top:13px}.buddy-score-row{display:grid;grid-template-columns:38px minmax(0,1fr) 52px;gap:10px;align-items:center}.buddy-score-row>div{min-width:0}.buddy-score-row b{display:block;font-size:12px}.buddy-score-row i{display:block;height:7px;border-radius:99px;background:#e7ece9;overflow:hidden;margin-top:6px}.buddy-score-row i em{display:block;height:100%;background:var(--brand);border-radius:inherit}.buddy-score-row strong{text-align:right;font-size:16px}.buddy-score-row strong small{font-size:9px;color:var(--muted)}.buddy-points-note{text-align:right;margin-top:9px}.buddy-points-off{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center}.buddy-points-off>span{width:42px;height:42px;border-radius:8px;background:#fff5d9;color:#a77500;display:grid;place-items:center}.buddy-points-off b{display:block}.buddy-points-off small{display:block;margin-top:3px;color:var(--muted);font-size:10px}

.create-menu-v17{display:grid;gap:10px}.create-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:center}.create-main{min-height:78px;width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 22px;gap:12px;align-items:center;text-align:left;padding:13px;border-radius:8px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs);transition:transform .16s ease,border-color .16s ease}.create-main:hover{transform:translateY(-1px);border-color:#d8d4ea}.create-main>span:nth-child(2){min-width:0}.create-main b{display:block;font-size:15px}.create-main small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.create-icon{width:48px;height:48px;border-radius:8px;display:grid;place-items:center}.create-icon.goal{background:#eeeafd;color:#0f766e}.create-icon.milestone{background:#fff4d8;color:#a67000}.create-icon.review{background:#e8f5ee;color:#1f8b58}.create-row>.help-tip{margin:0;width:32px;height:32px;background:#f2f5f3;border:1px solid var(--line)}

/* tooltip helper is non-button and therefore safe inside buttons/labels */
.help-tip{cursor:help}.help-tip.tooltip-open:after{content:attr(data-tooltip);position:absolute;z-index:220;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:230px;padding:8px 10px;border-radius:8px;background:#211e34;color:#fff;font-size:11px;font-weight:600;line-height:1.35;box-shadow:0 10px 28px rgba(20,17,45,.22);text-transform:none;letter-spacing:0;pointer-events:none}

@media(max-width:390px){.v17-hero{padding:20px 17px}.v17-hero h1{font-size:36px}.v17-hero-stats{gap:6px}.v17-hero-stats>div{padding:9px 7px}.mp-main{grid-template-columns:76px minmax(0,1fr)}.mp-ring{width:74px;height:74px}.buddy-pulse-card{grid-template-columns:1fr}.buddy-progress-bottom{grid-template-columns:105px minmax(0,1fr)}.create-row{grid-template-columns:minmax(0,1fr) 32px}}


/* v18: simplified ownership, calmer palette, cleaner layouts */
body{background:var(--bg)}
.app,.auth,.onboarding{background:var(--bg)}
.topbar{background:rgba(245,247,245,.94);border-bottom:1px solid rgba(23,33,31,.06)}
.create-button{background:var(--brand)}
.avatar{background:#213d38}
.dock{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:0 18px 50px rgba(23,33,31,.14)}
.dock button.active{background:var(--brand-soft);color:var(--brand);box-shadow:none}
.dock .log-tab{background:var(--brand);box-shadow:0 14px 30px rgba(15,118,110,.24)}
.v17-hero{background:#183f3b;box-shadow:0 18px 42px rgba(24,63,59,.18);border-radius:25px}
.v17-hero h1 em{color:#bfe8d9}
.v17-hero-stats>div{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.08)}

/* Area overview */
.v8-area-bars{gap:8px}
.v8-area-bar{grid-template-columns:40px minmax(88px,1fr) 1.35fr 44px;padding:10px 11px;border-radius:9px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}
.v8-area-icon{width:40px;height:40px;border-radius:9px;background:var(--cat-soft);color:var(--cat);box-shadow:none}
.v8-area-name{color:var(--ink);font-size:12px;font-weight:800}
.v8-area-bar>i{height:7px;background:#e9eeeb}
.v8-area-bar>i em{background:var(--cat);box-shadow:none}
.v8-area-bar strong{color:var(--cat-ink);font-size:12px}

/* Goal creation */
.sheet-head h2{font-size:30px}
.sheet-subtitle{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.45;max-width:320px}
.goal-form-v18{display:grid;gap:3px}
.goal-title-field input{font-size:16px;font-weight:650}
.category-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.category-picker label{position:relative;min-width:0}.category-picker input{position:absolute;opacity:0;pointer-events:none}
.category-picker label>span{min-height:58px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--muted);transition:.16s ease}
.category-picker .ui-icon{width:18px;height:18px;color:var(--cat)}
.category-picker b{font-size:10px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.category-picker input:checked+span{border-color:var(--cat);background:var(--cat-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--cat) 12%,transparent)}
.measure-block{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;padding:12px;margin-bottom:10px}
.measure-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.measure-head>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--ink)}.measure-head small{font-size:10px;color:var(--muted)}
.visibility-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.visibility-picker label{position:relative}.visibility-picker input{position:absolute;opacity:0;pointer-events:none}.visibility-picker label>span{height:74px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}.visibility-picker .ui-icon{width:16px;height:16px;color:var(--brand)}.visibility-picker b{font-size:11px}.visibility-picker small{font-size:8px;line-height:1.2;color:var(--muted)}.visibility-picker input:checked+span{border-color:var(--brand);background:var(--brand-soft)}
.advanced-goal{border:1px solid var(--line);border-radius:9px;background:#fff;margin:4px 0 12px;overflow:hidden}.advanced-goal summary{list-style:none;display:flex;align-items:center;gap:8px;padding:12px 13px;font-size:11px;font-weight:800;cursor:pointer}.advanced-goal summary::-webkit-details-marker{display:none}.advanced-goal summary small{margin-left:auto;color:var(--muted);font-weight:600}.advanced-goal-body{border-top:1px solid var(--line);padding:12px}

/* Create menu */
.create-menu-v18{display:grid;gap:9px}.create-card{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) 18px;gap:11px;align-items:center;text-align:left;padding:12px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow-xs)}.create-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.create-card>span:nth-child(2){min-width:0}.create-card b{display:block;font-size:14px}.create-card small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.3}.create-icon{width:46px;height:46px;border-radius:8px;display:grid;place-items:center}.create-icon.goal{background:#e7f4f0;color:var(--brand)}.create-icon.action{background:#eaf1fc;color:#356fd0}.create-icon.milestone{background:#fbf3df;color:#b37c14}.create-hint{margin:12px 2px 0;color:var(--muted);font-size:10px;line-height:1.45}.action-goal-picker{display:grid;gap:8px}.action-goal-picker>button{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.action-goal-picker>button>span{width:42px;height:42px;border-radius:9px;background:var(--cat-soft);color:var(--cat);display:grid;place-items:center}.action-goal-picker b{display:block;font-size:13px}.action-goal-picker small{display:block;margin-top:3px;color:var(--muted);font-size:10px}

/* Insights */
.insights-title .insights-mark{width:54px;height:54px;border-radius:9px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.insights-score-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px;box-shadow:var(--shadow-xs)}.insights-score-main{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center}.insights-score-ring{width:82px;height:82px;border-radius:50%;padding:7px;background:conic-gradient(var(--brand) var(--angle),#e8eeeb 0deg)}.insights-score-ring>span{width:100%;height:100%;border-radius:50%;background:#fff;display:grid;place-items:center;text-align:center}.insights-score-ring b{font-size:21px;line-height:.9}.insights-score-ring small{margin-top:-18px;font-size:8px;color:var(--muted)}.insights-score-main h2{font-size:19px;margin:4px 0}.insights-score-main p{font-size:10px;color:var(--muted);margin:0 0 8px}.insights-rail{height:7px;border-radius:99px;background:#e8eeeb;overflow:hidden}.insights-rail i{display:block;height:100%;border-radius:inherit;background:var(--brand)}.insights-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.insights-mini-stats>div{padding:9px;border-radius:8px;background:var(--surface-soft);text-align:center}.insights-mini-stats b{display:block;font-size:16px}.insights-mini-stats small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.insights-chart-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px;box-shadow:var(--shadow-xs)}.insights-chart-card .v8-spark{height:105px}.insights-chart-foot{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:var(--muted);font-size:9px}.insight-signals{display:grid;gap:8px}.insight-signal{display:grid;grid-template-columns:40px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;padding:11px;border:1px solid var(--line);border-radius:8px;background:#fff}.insight-signal>span{width:40px;height:40px;border-radius:9px;display:grid;place-items:center}.insight-signal.positive>span{background:#e8f5ef;color:var(--success)}.insight-signal.focus>span{background:#fff1e4;color:#c46f28}.insight-signal.streak>span{background:#edf2f9;color:#4169a8}.insight-signal small{display:block;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.insight-signal b{display:block;margin-top:3px;font-size:13px}.insight-signal p{margin:2px 0 0;color:var(--muted);font-size:9px}

/* Cards and goal detail */
.v8-goal{border-radius:8px;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.v8-goal:before{width:4px;background:var(--cat)}.v8-goal-main{grid-template-columns:48px 1fr 98px}.v8-goal-icon{width:48px;height:48px;border-radius:8px;background:var(--cat-soft);color:var(--cat);box-shadow:none}.v8-goal-meta i{background:transparent;padding:0;color:var(--muted);border-radius:0}.v8-goal-meta i:first-child{color:var(--cat-ink)}.v8-goal-actions button{border-radius:9px;box-shadow:none}.goal-insight{border-radius:18px}.goal-trend-plot{border-radius:14px}.goal-metrics>div{border-radius:12px}

@media(max-width:390px){.category-picker{grid-template-columns:repeat(3,1fr)}.visibility-picker{grid-template-columns:1fr}.visibility-picker label>span{height:auto;min-height:58px;display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;align-items:center}.visibility-picker .ui-icon{grid-row:1/3}.visibility-picker b,.visibility-picker small{grid-column:2}.insights-score-main{grid-template-columns:76px 1fr}.insights-score-ring{width:72px;height:72px}.v8-area-bar{grid-template-columns:38px 1fr 42px}.v8-area-bar>i{grid-column:2/4}}


/* v19: focused interaction refinement */
/* Standard information helper */
.help-tip{width:18px;height:18px;min-width:18px;border-radius:50%;display:inline-grid;place-items:center;background:transparent!important;border:0!important;color:var(--muted);vertical-align:middle;cursor:help;padding:0!important;box-shadow:none!important}
.help-tip .ui-icon{width:17px!important;height:17px!important;min-width:17px!important;stroke-width:1.8}
[data-tooltip]:after,[data-tooltip]:before,.tooltip-open:after,.tooltip-open:before{display:none!important}
.tooltip-bubble-global{position:fixed;z-index:500;opacity:0;pointer-events:none;padding:9px 11px;border-radius:8px;background:#17211f;color:#fff;font-size:11px;font-weight:600;line-height:1.4;box-shadow:0 12px 30px rgba(15,31,28,.22);transition:opacity .12s ease,transform .12s ease;transform:translateY(3px)}
.tooltip-bubble-global.show{opacity:1;transform:translateY(0)}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 8px;font-size:11px;font-weight:850;color:var(--ink)}
.field-label-row>span{display:flex;align-items:center;gap:7px}.field-label-row em{font-style:normal;color:var(--muted);font-size:10px;font-weight:650}

/* Quick log cards: contained, no stray trend column */
.v8-quick{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:10px 11px!important;border-radius:18px!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-xs)!important;overflow:hidden}
.v8-quick-main{display:grid!important;grid-template-columns:42px minmax(0,1fr) 58px!important;gap:10px!important;align-items:center!important;min-width:0!important;text-align:left}
.v8-quick-icon{width:42px!important;height:42px!important;border-radius:13px!important;background:var(--cat-soft)!important;color:var(--cat)!important;box-shadow:none!important}
.v8-quick-copy small{font-size:8px!important;letter-spacing:.07em}.v8-quick-copy b{font-size:14px!important;font-weight:820!important}.v8-quick-copy em{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-trend{font-weight:700}.quick-trend.improving{color:var(--success)}.quick-trend.worse{color:var(--danger)}
.v8-mini-spark{width:58px!important;min-width:58px!important;opacity:.9}.v8-mini-spark .v8-spark{height:32px!important}
.v8-quick-hit{min-width:58px!important;height:48px!important;border-radius:13px!important;padding:0 10px!important;background:var(--cat)!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;box-shadow:none!important;font-weight:800!important}
.v8-quick-hit.set{background:var(--cat-soft)!important;color:var(--cat-ink)!important}.v8-quick-hit .ui-icon{width:16px;height:16px;min-width:16px}.v8-quick-hit strong{font-size:12px}
.v8-trend{display:none!important}

/* Refined logging sheet */
.log-target-summary{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;margin-bottom:14px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--ink)}
.log-summary-icon{width:46px;height:46px;border-radius:8px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat)}.log-summary-icon .ui-icon{width:21px;height:21px}
.log-target-summary>div>span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}.log-target-summary h3{font-size:17px;margin:2px 0 2px;letter-spacing:-.025em}.log-target-summary p{margin:0;color:var(--muted);font-size:9px}.log-target-summary>strong{font-size:18px;color:var(--cat-ink);font-weight:820}
.log-form-refined{display:grid;gap:12px}.log-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--muted)}
.preset-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin:0!important}.preset{min-width:0!important;border-radius:12px!important;padding:10px 6px!important;background:#fff!important;color:var(--brand)!important;border:1px solid var(--line)!important;font-size:11px!important;font-weight:800!important;box-shadow:none!important}.preset.active{background:var(--brand-soft)!important;border-color:color-mix(in srgb,var(--brand) 38%,var(--line))!important;color:var(--brand)!important}
.amount-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}.amount-control>button{height:48px;border-radius:8px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.amount-control>button .ui-icon{width:18px;height:18px}.amount-entry{height:48px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:0 12px;min-width:0}.amount-entry input{width:100%;border:0!important;background:transparent!important;outline:0!important;font-size:18px;font-weight:780;padding:0!important;box-shadow:none!important}.amount-entry span{font-size:11px;color:var(--muted);font-weight:700;margin-left:8px}
.duration-input.refined{display:grid;grid-template-columns:1fr 1fr;gap:8px}.duration-input.refined label{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 10px}.duration-input.refined label>span{display:block;font-size:9px;color:var(--muted);font-weight:750;margin-bottom:3px}.duration-input.refined input{width:100%;border:0;outline:0;background:transparent;font-size:18px;font-weight:780}
.log-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-size:10px}.log-preview strong{font-size:12px}.log-note{margin:0!important}.log-note small{font-size:9px;color:var(--muted);font-weight:600}.log-note textarea{min-height:92px!important}

/* Refined milestone builder */
.milestone-form-refined{display:grid;gap:11px}.milestone-source-head{margin-top:1px}.v8-mode-switch.refined{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 2px!important}.v8-mode-switch.refined label{position:relative}.v8-mode-switch.refined input{position:absolute;opacity:0;pointer-events:none}.v8-mode-switch.refined label>span{min-height:74px!important;border-radius:14px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important;padding:10px!important;display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;grid-template-rows:auto auto!important;column-gap:8px!important;align-content:center!important;text-align:left!important}.v8-mode-switch.refined label>span>i{grid-row:1/3;width:26px;height:26px;border-radius:8px;background:var(--surface-soft);color:var(--brand);display:grid;place-items:center;font-style:normal}.v8-mode-switch.refined label>span>i .ui-icon{width:15px;height:15px}.v8-mode-switch.refined b{font-size:12px}.v8-mode-switch.refined small{font-size:9px;color:var(--muted);font-weight:600}.v8-mode-switch.refined input:checked+span{background:var(--brand-soft)!important;border-color:color-mix(in srgb,var(--brand) 42%,var(--line))!important;color:var(--ink)!important}.v8-mode-switch.refined input:checked+span>i{background:var(--brand);color:#fff}
.v8-link-goals{display:grid;gap:7px!important}.v8-link-goal{grid-template-columns:20px 40px minmax(0,1fr) 18px!important;gap:9px!important;align-items:center!important;padding:10px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--line)!important}.v8-link-goal input{width:18px!important;height:18px!important;accent-color:var(--brand)}.v8-link-goal>span:first-of-type{width:40px!important;height:40px!important;border-radius:11px!important;background:var(--cat-soft)!important;color:var(--cat)!important}.v8-link-goal b{font-size:12px!important}.v8-link-goal small{font-size:9px!important;line-height:1.3}.v8-link-goal>i{opacity:0;color:var(--brand);transition:opacity .12s ease}.v8-link-goal input:checked~i{opacity:1}.v8-link-goal:has(input:checked){border-color:color-mix(in srgb,var(--brand) 36%,var(--line));background:color-mix(in srgb,var(--brand-soft) 50%,#fff)}.v8-link-goal.blocked{opacity:.45}.context-tip-row.refined{padding:9px 11px!important;border-radius:12px!important;background:var(--surface-soft)!important;color:var(--muted)!important;font-size:10px!important;font-weight:700!important;margin:0!important}.context-tip-row.refined .help-tip{margin-left:auto}

@media(max-width:390px){.v8-quick-main{grid-template-columns:40px minmax(0,1fr) 48px!important}.v8-mini-spark{width:48px!important;min-width:48px!important}.v8-quick-hit{min-width:54px!important}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v8-mode-switch.refined{grid-template-columns:1fr 1fr!important}.amount-control{grid-template-columns:42px minmax(0,1fr) 42px}}

.button.success{background:var(--success)!important;color:#fff!important}.button.success .ui-icon{width:17px;height:17px}

/* v22 buddy pairing */
.buddy-pairing-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px;box-shadow:var(--shadow-xs)}
.pairing-intro{display:flex;align-items:flex-start;gap:12px}.pairing-icon{width:44px;height:44px;border-radius:8px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:0 0 auto}.pairing-icon .ui-icon{width:21px;height:21px}.pairing-intro h2{font-size:21px;letter-spacing:-.035em;margin:4px 0 3px}.pairing-intro p{margin:0;color:var(--muted);font-size:12px}
.pairing-code-panel{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:13px 14px;border:1px solid var(--line);border-radius:9px;background:#f8faf9}.pairing-label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:900}.pairing-code-panel strong{display:block;font-size:19px;letter-spacing:.13em;margin-top:3px;color:var(--ink)}.pairing-code-actions{display:flex;gap:7px;align-items:center}.pairing-icon-button{width:38px;height:38px;border-radius:8px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--brand)}.pairing-icon-button .ui-icon{width:17px;height:17px}
.pairing-divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:var(--soft);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.pairing-divider:before,.pairing-divider:after{content:"";height:1px;background:var(--line);flex:1}
.buddy-code-form label{display:block;font-size:11px;font-weight:900;color:var(--ink);margin-bottom:7px}.buddy-code-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.buddy-code-entry input{height:46px;border-radius:8px;border:1px solid var(--line);padding:0 13px;text-transform:uppercase;letter-spacing:.13em;font-weight:850;outline:0;background:#fff}.buddy-code-entry input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,126,116,.09)}.buddy-code-entry .button{min-width:98px}.buddy-code-form>small{display:block;margin-top:8px;color:var(--muted);font-size:10px;line-height:1.4}
@media(max-width:360px){.buddy-code-entry{grid-template-columns:1fr}.buddy-code-entry .button{width:100%}.pairing-code-panel{align-items:flex-start;flex-direction:column}.pairing-code-actions{width:100%}}


/* v23 corner refinement */
.v8-hero{border-radius:22px!important}.v8-hero-facts span{border-radius:11px!important}.v8-hero h1{line-height:.96}
.area-row,.v8-area-bar,.v8-area-row,.area-card{border-radius:14px!important}
.area-progress,.mini-progress,.progress-track,.v8-area-track{border-radius:999px!important}
.area-progress > span,.mini-progress > span,.progress-track > span,.v8-area-fill{border-radius:999px!important}
.sheet,.sheet-card,.sheet-shell{border-top-left-radius:24px!important;border-top-right-radius:24px!important}
.field input,.field select,.field textarea,.form-control{border-radius:12px!important}
.button{border-radius:12px!important}.button.icon-only,.icon-only,.pairing-icon-button{border-radius:10px!important}
.v8-quick,.v8-goal,.goal-insight,.goal-trend-plot,.goal-metrics>div,.buddy-pairing-card,.pairing-code-panel,.v8-task,.v8-mile,.card,.panel{border-radius:14px!important}
.dock{border-radius:18px!important;height:74px!important}.dock button{border-radius:14px!important;height:54px!important}.dock .log-tab{border-radius:16px!important;height:64px!important;width:64px!important;margin-top:-22px!important}
.action-tile,.menu-item,.auth-panel,.action-icon,.menu-item-icon,.v8-goal-icon,.v8-quick-icon,.log-summary-icon,.pairing-icon{border-radius:14px!important}
.v8-link-goal,.preset,.amount-entry,.amount-control>button,.context-tip-row.refined,.insight-signal,.insight-card,.insight-metric,.insight-chart,.points-card{border-radius:12px!important}
.milestone-progress,.milestone-meter,.milestone-bar,.stats-bar{border-radius:999px!important;overflow:hidden}.milestone-progress>span,.milestone-meter>span,.milestone-bar>span,.stats-bar>span{border-radius:999px!important}


/* v24 guided tour */
body.tour-open{overflow:hidden}
.tour-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(20,28,27,.48);backdrop-filter:blur(12px);opacity:0;transition:opacity .18s ease}
.tour-overlay.show{opacity:1}.tour-card{width:min(420px,100%);min-height:590px;background:#fbfcfb;border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:0 36px 90px rgba(20,32,29,.26);padding:18px;display:grid;grid-template-rows:auto 1fr auto auto;gap:18px;overflow:hidden}
.tour-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.tour-dots{display:flex;gap:6px}.tour-dots i{width:18px;height:4px;border-radius:999px;background:#dfe6e3;transition:.2s ease}.tour-dots i.active{width:28px;background:var(--brand)}.tour-dots i.done{background:#9dc9bf}.tour-skip{font-size:11px;font-weight:800;color:var(--muted);padding:7px 4px}
.tour-visual{min-height:270px;background:#f2f7f5;border:1px solid #e0e9e6;border-radius:16px;padding:18px;display:grid;place-items:center;overflow:hidden}.tour-copy{padding:0 3px}.tour-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--brand);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}.tour-kicker .ui-icon{width:15px;height:15px}.tour-copy h2{margin:8px 0 7px;font-size:27px;letter-spacing:-.045em;line-height:1.02}.tour-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-back,.tour-next{min-height:44px;border-radius:11px;padding:10px 14px;font-size:12px;font-weight:850;display:inline-flex;align-items:center;gap:7px}.tour-back{border:1px solid var(--line);background:#fff;color:var(--ink)}.tour-back .ui-icon{transform:rotate(180deg);width:15px;height:15px}.tour-next{margin-left:auto;background:var(--brand);color:#fff;min-width:116px;justify-content:center}.tour-next .ui-icon{width:15px;height:15px}.tour-actions .invisible{visibility:hidden}
.tour-brand-demo{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;width:100%}.tour-brand-demo img{width:58px;height:58px;object-fit:contain}.tour-brand-demo b{display:block;font-size:24px}.tour-brand-demo small{display:block;color:var(--muted);margin-top:3px}.tour-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:12px}.tour-mini-grid span{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px;font-size:11px;font-weight:750}.tour-mini-grid .ui-icon{width:16px;height:16px;color:var(--brand)}
.tour-goal-demo,.tour-mile-demo,.tour-buddy-demo,.tour-insights-demo,.tour-actions-demo{width:100%}.tour-goal-demo{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.tour-demo-head,.tour-mile-top,.tour-buddy-row{display:flex;align-items:center;gap:10px}.tour-demo-head>span,.tour-mile-top>span{width:42px;height:42px;border-radius:11px;background:#e8f4f0;color:var(--brand);display:grid;place-items:center}.tour-demo-head>span .ui-icon,.tour-mile-top>span .ui-icon{width:19px;height:19px}.tour-demo-head div,.tour-mile-top div,.tour-buddy-row div{min-width:0;flex:1}.tour-demo-head small,.tour-mile-top small,.tour-buddy-row small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.tour-demo-head b,.tour-mile-top b,.tour-buddy-row b{display:block;font-size:14px;margin-top:2px}.tour-demo-head strong,.tour-mile-top strong{font-size:19px}.tour-progress{height:7px;border-radius:999px;background:#e6eeeb;margin:14px 0}.tour-progress i{display:block;height:100%;border-radius:inherit;background:var(--brand)}.tour-preset-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tour-preset-row button{background:#e8f4f0;color:var(--brand);border-radius:10px;padding:9px 5px;font-size:10px;font-weight:800}
.tour-actions-demo{display:grid;gap:8px}.tour-action{display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px}.tour-action>span{width:28px;height:28px;border:2px solid #b8c7c2;border-radius:9px;display:grid;place-items:center}.tour-action.done>span{background:var(--brand);border-color:var(--brand);color:#fff}.tour-action .ui-icon{width:15px;height:15px}.tour-action b{display:block;font-size:12px}.tour-action small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.tour-mile-demo{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.tour-linked{display:grid;gap:10px;margin-top:14px}.tour-linked span{display:grid;grid-template-columns:86px 1fr;gap:8px;align-items:center;font-size:10px;font-weight:700}.tour-linked i{height:6px;border-radius:999px;background:#e6eeeb;overflow:hidden}.tour-linked em{display:block;height:100%;border-radius:inherit;background:var(--brand)}
.tour-insights-demo{background:#fff;border:1px solid var(--line);border-radius:15px;padding:15px}.tour-insights-demo>div:first-child{display:flex;justify-content:space-between;align-items:end}.tour-insights-demo small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.tour-insights-demo b{font-size:26px}.tour-insights-demo b em{font-size:10px;color:var(--muted);font-style:normal}.tour-insights-demo svg{width:100%;height:92px;margin:8px 0}.tour-insights-demo path{fill:none;stroke:var(--brand);stroke-width:3;stroke-linecap:round}.tour-insight-labels{display:flex;gap:8px;flex-wrap:wrap}.tour-insight-labels span{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:750;color:var(--muted)}.tour-insight-labels .ui-icon{width:14px;height:14px;color:var(--brand)}
.tour-buddy-demo{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.tour-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;font-weight:900}.tour-status{font-size:9px;font-weight:800;color:var(--success);background:#e8f5ef;padding:6px 8px;border-radius:999px}.tour-privacy-list{display:grid;gap:8px;margin-top:14px}.tour-privacy-list span{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;background:#f7faf9;font-size:11px;font-weight:750}.tour-privacy-list .ui-icon{width:16px;height:16px;color:var(--brand)}
@media(max-width:390px){.tour-overlay{padding:10px}.tour-card{min-height:calc(100dvh - 20px);border-radius:18px;padding:15px}.tour-visual{min-height:245px}.tour-copy h2{font-size:24px}.tour-mini-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:no-preference){.tour-overlay.show .tour-card{animation:tourCardIn .26s cubic-bezier(.22,1,.36,1) both}.tour-visual>*{animation:tourVisualIn .28s ease both}@keyframes tourCardIn{from{transform:translateY(18px) scale(.985);opacity:.4}to{transform:none;opacity:1}}@keyframes tourVisualIn{from{transform:translateY(7px);opacity:.35}to{transform:none;opacity:1}}}


/* v25: milestone, momentum and viewport-safe sheets */
.sheet{display:flex!important;flex-direction:column!important;overflow:hidden!important;width:min(480px,calc(100% - 12px))!important;max-height:calc(100dvh - 12px - var(--safe-bottom))!important;bottom:6px!important;padding:8px 16px calc(14px + var(--safe-bottom))!important;border-radius:20px!important}
.sheet>#sheetBody{overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;padding:0 2px 4px!important;overscroll-behavior:contain;scrollbar-width:thin}
.grabber{flex:0 0 auto;margin-bottom:10px!important}.sheet-head{position:sticky;top:0;z-index:4;background:#fff;padding:2px 0 10px;margin-bottom:8px!important}.sheet-head.compact h2{font-size:28px!important}.sheet-close{flex:0 0 auto}
@media(min-width:720px){.sheet{bottom:12px!important;max-height:min(760px,calc(100dvh - 24px))!important;border-radius:20px!important}}
.mile-detail-summary{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f7faf8}.mile-score{width:82px;height:82px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--brand);color:#fff}.mile-score b{font-size:24px}.mile-score small{font-size:9px;opacity:.78;margin-top:2px}.mile-status b{display:block;font-size:15px;line-height:1.25}.mile-status span{display:block;color:var(--muted);font-size:10px;margin-top:5px;line-height:1.4}.mile-description{margin:10px 2px 0;color:var(--muted);font-size:11px;line-height:1.45}.mile-detail-section{margin-top:16px}.mile-detail-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:11px;font-weight:850}.mile-detail-heading small{color:var(--muted)}.mile-detail-goals{display:grid;gap:7px}.mile-detail-goal{display:grid;grid-template-columns:40px minmax(0,1fr) 44px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.mile-detail-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat)}.mile-detail-goal b{font-size:12px}.mile-detail-goal i{display:block;height:5px;border-radius:999px;background:#e8edea;overflow:hidden;margin-top:6px}.mile-detail-goal i em{display:block;height:100%;background:var(--cat);border-radius:999px}.mile-detail-goal strong{text-align:right;font-size:12px}.mile-edit-form{display:grid;gap:2px}.mile-manual-summary{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f7faf8;margin-bottom:12px}.mile-manual-summary>div{display:flex;align-items:center;justify-content:space-between}.mile-manual-summary span{font-size:10px;color:var(--muted);font-weight:800}.mile-manual-summary b{font-size:24px}.mile-manual-summary>i{display:block;height:7px;background:#e6ece8;border-radius:999px;overflow:hidden;margin:10px 0}.mile-manual-summary>i em{display:block;height:100%;background:var(--brand);border-radius:999px}.mile-manual-summary p{margin:0;color:var(--muted);font-size:11px}.mile-manual-summary p strong{color:var(--ink);font-size:14px}.momentum-card{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.momentum-top{display:grid;grid-template-columns:80px minmax(0,1fr);gap:14px;align-items:center}.momentum-ring{width:78px;height:78px;border-radius:50%;padding:6px;background:conic-gradient(var(--brand) var(--angle),#e6ece9 0deg)}.momentum-ring>span{width:100%;height:100%;border-radius:50%;background:#fff;display:grid;place-content:center;text-align:center}.momentum-ring b{font-size:23px;line-height:1}.momentum-ring small{font-size:9px;color:var(--muted);margin-top:3px}.momentum-copy h3{margin:4px 0 3px;font-size:18px}.momentum-copy p{margin:0;color:var(--muted);font-size:10px}.momentum-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.momentum-breakdown>div{padding:9px;border-radius:10px;background:#f7faf8;text-align:center}.momentum-breakdown span{display:grid;place-items:center;color:var(--brand);height:18px}.momentum-breakdown .ui-icon{width:15px;height:15px}.momentum-breakdown b{display:block;font-size:15px;margin-top:3px}.momentum-breakdown small{display:block;color:var(--muted);font-size:8px}.momentum-days{height:62px;display:grid;grid-template-columns:repeat(7,1fr);gap:6px;align-items:end;margin-top:12px}.momentum-days>div{height:58px;display:grid;grid-template-rows:1fr 12px;gap:3px;text-align:center}.momentum-days i{display:flex;align-items:flex-end;height:100%;background:#f0f4f2;border-radius:6px;overflow:hidden}.momentum-days em{display:block;width:100%;background:#8ec8bd}.momentum-days .today em{background:var(--brand)}.momentum-days span{font-size:8px;color:var(--muted);font-weight:800}.momentum-rule{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;border-top:1px solid #edf1ef;margin-top:10px;padding-top:9px;color:var(--muted);font-size:8px;font-weight:750}.momentum-rule span{display:flex;align-items:center;gap:4px}.momentum-rule .ui-icon{width:12px;height:12px}


/* v26: hidden sheets must stay hidden */
.sheet.hidden{display:none!important}

/* v26: compact logging */
.log-form-clean{display:grid;gap:12px}
.log-status-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#f8faf9;margin-bottom:14px}
.log-status-value{display:flex;align-items:center;gap:10px;min-width:120px}.log-status-value>div{display:grid;gap:1px}.log-status-value b{font-size:16px;line-height:1;font-weight:850;color:var(--ink)}.log-status-value small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:750}
.log-status-icon{width:38px;height:38px;border-radius:10px;background:var(--cat-soft);color:var(--cat);display:grid;place-items:center}.log-status-icon .ui-icon{width:18px;height:18px}
.log-status-progress{display:grid;gap:5px;min-width:0}.log-status-progress i{display:block;height:6px;border-radius:999px;background:#e5eae7;overflow:hidden}.log-status-progress i em{display:block;height:100%;border-radius:inherit;background:var(--cat);transition:width .25s ease}.log-status-progress span{font-size:10px;color:var(--muted);text-align:right}.log-status-progress strong{color:var(--ink);font-size:11px}
.log-section-head.clean{display:flex;justify-content:space-between;align-items:center;margin:0}.log-section-head.clean span{font-size:11px;font-weight:850;color:var(--ink)}.log-section-head.clean small{font-size:9px;color:var(--muted)}
.preset-grid.compact{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}.preset-grid.compact .preset{min-height:38px!important;padding:8px 5px!important;border-radius:9px!important;background:#fff!important;border:1px solid var(--line)!important;color:var(--ink)!important;font-size:10px!important}.preset-grid.compact .preset.active{border-color:var(--brand)!important;background:var(--brand-soft)!important;color:var(--brand)!important}
.log-stepper{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}.log-stepper>button{height:46px;border-radius:10px;background:#eef5f3;color:var(--brand);display:grid;place-items:center}.log-stepper>button .ui-icon{width:17px;height:17px}.log-stepper label{height:46px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px}.log-stepper input{width:100%;border:0;outline:0;background:transparent;font-size:17px;font-weight:800;color:var(--ink)}.log-stepper label span{font-size:10px;color:var(--muted);font-weight:700;margin-left:7px}
.log-projection{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:9px;background:#f4f7f6;color:var(--muted);font-size:10px}.log-projection strong{color:var(--brand);font-size:11px}
.log-note-toggle{justify-self:start;display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:10px;font-weight:800;padding:6px 0}.log-note-toggle .ui-icon{width:15px;height:15px}.log-note{margin:0!important}.log-note textarea{min-height:72px!important}.log-save{margin-top:2px}
@media(max-width:390px){.log-status-strip{grid-template-columns:1fr;gap:9px}.log-status-progress span{text-align:left}.preset-grid.compact{grid-template-columns:repeat(2,1fr)!important}}

/* v26: live coach-mark tutorial */
.coach-tour{position:fixed;inset:0;z-index:1000;pointer-events:none;opacity:0;transition:opacity .14s ease}.coach-tour.show{opacity:1}.coach-spotlight{position:fixed;z-index:1000;box-shadow:0 0 0 9999px rgba(16,25,24,.62);border:2px solid rgba(255,255,255,.95);transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease,border-radius .2s ease;pointer-events:none}.coach-popover{position:fixed;z-index:1001;background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 14px;box-shadow:0 20px 60px rgba(16,25,24,.22);pointer-events:auto;transition:left .2s ease,top .2s ease}.coach-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.coach-meta span{font-size:9px;color:var(--muted);font-weight:750}.coach-meta button{font-size:9px;color:var(--muted);padding:3px 0}.coach-popover h3{margin:0;font-size:17px;letter-spacing:-.025em}.coach-popover p{margin:5px 0 12px;font-size:11px;line-height:1.42;color:var(--muted)}.coach-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.coach-back,.coach-next{min-height:34px;border-radius:9px;padding:8px 12px;font-size:10px;font-weight:800}.coach-back{background:#f3f6f5;color:var(--ink)}.coach-next{margin-left:auto;background:var(--brand);color:#fff}.tour-open{overflow:hidden}
@media(prefers-reduced-motion:reduce){.coach-spotlight,.coach-popover{transition:none}}

/* v28: interaction feedback motion */
.motion-layer{position:fixed;inset:0;z-index:1400;pointer-events:none;overflow:hidden}
.event-peek{position:absolute;left:50%;top:max(14px,env(safe-area-inset-top));width:min(390px,calc(100% - 24px));transform:translate(-50%,-16px) scale(.985);opacity:0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,.82);border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 18px 50px rgba(18,35,32,.18);backdrop-filter:blur(18px);transition:opacity .2s ease,transform .28s cubic-bezier(.22,1,.36,1)}
.event-peek.show{opacity:1;transform:translate(-50%,0) scale(1)}
.event-peek-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}
.event-peek-icon .ui-icon{width:18px;height:18px}
.event-peek b{display:block;font-size:12px;line-height:1.2;color:var(--ink)}
.event-peek small{display:block;margin-top:3px;font-size:9px;line-height:1.35;color:var(--muted)}
.event-peek.tone-success .event-peek-icon{background:#e5f4ee;color:var(--success)}
.event-peek.tone-neutral .event-peek-icon{background:#edf3f1;color:#47615b}

.points-pop{position:absolute;left:50%;bottom:calc(96px + var(--safe-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:12px;background:#142824;color:#fff;box-shadow:0 16px 38px rgba(20,40,36,.24);font-size:10px;font-weight:750;white-space:nowrap}
.points-pop .ui-icon{width:14px;height:14px;color:#e5b94c}.points-pop b{font-size:14px}.points-pop span{color:rgba(255,255,255,.72);font-size:9px}

.motion-burst{position:absolute;left:50%;top:46%;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none}
.motion-burst i{position:absolute;left:9px;top:9px;width:5px;height:5px;border-radius:50%;background:var(--brand);transform:rotate(var(--a)) translateY(-34px);transform-origin:2px 2px}
.motion-burst i:nth-child(3n){background:#e0ad3c}.motion-burst i:nth-child(3n+2){background:#55ad98}

.notification .notification-icon{transition:transform .18s ease}.notification:hover .notification-icon{transform:scale(1.05)}
#notifDot{transform-origin:center}

.v8-goal,.v8-task,.v8-mile,.v8-quick{will-change:transform}
.v8-task.done .v8-task-check{animation:taskCheckPop .42s cubic-bezier(.22,1,.36,1)}
.button.success{animation:saveConfirm .38s cubic-bezier(.22,1,.36,1)}

@keyframes taskCheckPop{0%{transform:scale(.65)}55%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes saveConfirm{0%{transform:scale(.985)}55%{transform:scale(1.015)}100%{transform:scale(1)}}

@media(prefers-reduced-motion:reduce){
  .event-peek{transition:none}.v8-task.done .v8-task-check,.button.success{animation:none}.motion-burst{display:none}
}


/* v32: restore classic auth layout; only fix clipped brand title */
.auth{
  display:block!important;
  padding:0!important;
  place-items:unset!important;
  background:var(--bg)!important;
}
.auth-shell,.auth-brand-block,.auth-card,.auth-copy,.auth-footer{display:none!important}
.auth-art{
  height:44dvh!important;
  min-height:330px!important;
  position:relative!important;
  padding:26px!important;
  overflow:hidden!important;
  background:var(--brand)!important;
  color:white!important;
  display:flex!important;
  align-items:flex-end!important;
}
.auth-art:after{
  content:"";position:absolute;inset:auto -80px -80px auto;width:210px;height:210px;
  border-radius:50%;border:34px solid rgba(255,255,255,.12)
}
.auth-brand{display:flex!important;align-items:center!important;gap:14px!important;position:relative!important;z-index:1!important;overflow:visible!important;padding-bottom:6px!important}
.auth-logo{width:68px!important;height:68px!important;filter:drop-shadow(0 10px 20px rgba(0,0,0,.16))}
.auth-brand h1{
  font-family:var(--display)!important;font-size:56px!important;letter-spacing:-.08em!important;
  line-height:1.02!important;margin:0!important;padding:2px 0 5px!important;overflow:visible!important;
}
.auth-brand p{margin:2px 0 0!important;font-family:var(--arabic)!important;font-size:14px!important;color:rgba(255,255,255,.78)!important}
.auth-orbit{display:block!important;position:absolute;border-radius:999px;border:1px solid rgba(255,255,255,.18)}
.orbit-a{width:280px;height:280px;right:-120px;top:-80px}.orbit-b{width:130px;height:130px;left:-40px;top:70px;background:rgba(255,255,255,.07)}
.auth-panel{
  display:block!important;margin-top:-34px!important;position:relative!important;z-index:2!important;
  background:rgba(255,255,255,.92)!important;border-radius:24px 24px 0 0!important;
  padding:22px 20px 32px!important;backdrop-filter:blur(18px)!important;
  box-shadow:0 -14px 44px rgba(31,27,58,.08)!important;
}
.auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;background:#eef3f1!important;border-radius:8px!important;padding:5px!important;margin-bottom:18px!important}
.auth-tabs button{padding:12px!important;border-radius:8px!important;color:#7b8883!important;font-size:12px!important;font-weight:900!important}
.auth-tabs button.active{background:#fff!important;color:var(--brand)!important;box-shadow:0 8px 22px rgba(15,118,110,.10)!important}
.auth-panel .field{display:grid;gap:8px;margin-bottom:14px}
.auth-panel .field.hidden{display:none!important}
.auth-panel .field>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:900}
.auth-panel .field input{width:100%;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.92);padding:14px 15px;color:var(--ink);outline:0;box-shadow:var(--shadow-xs)}
.auth-panel .field input:focus{border-color:rgba(15,118,110,.44);box-shadow:0 0 0 5px rgba(15,118,110,.08),var(--shadow-xs)}
@media(max-height:680px){.auth-art{height:38dvh!important;min-height:250px!important}.auth-brand h1{font-size:48px!important}.auth-panel{padding-bottom:22px!important}}


/* v33: auth/app visibility regression fix */
.auth.hidden,
.onboarding.hidden,
.app.hidden{
  display:none!important;
}

/* Clean transparent mark: no tile/background around the artwork. */
.brand-logo,
.auth-logo{
  background:transparent!important;
  box-shadow:none!important;
}


/* v34: restore form primitives + mobile-safe sheet layouts */
html,body{overflow-x:hidden}
.app,.auth,.onboarding{max-width:100vw}

.sheet,
.sheet>#sheetBody,
.sheet form,
.sheet .field,
.sheet .form-grid,
.sheet .measure-block,
.sheet .category-picker,
.sheet .visibility-picker,
.sheet .advanced-goal,
.sheet .advanced-goal-body,
.sheet .v8-mode-switch,
.sheet .v8-mode-switch.refined,
.sheet .buddy-code-entry,
.sheet .pairing-code-panel,
.sheet .mile-edit-form,
.sheet .milestone-form-refined{
  min-width:0;
  max-width:100%;
  width:100%;
  box-sizing:border-box;
}

/* These base field rules had been lost in earlier visual revisions. */
.sheet .field{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
  margin:0 0 12px;
}
.sheet .field>span,
.sheet .field-label-row{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  color:var(--muted);
  font-size:10px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sheet .field>span small{
  font-size:9px;
  font-weight:650;
  letter-spacing:0;
  text-transform:none;
}
.sheet .field input,
.sheet .field select,
.sheet .field textarea,
.sheet .form-control{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border:1px solid var(--line)!important;
  background:#fff!important;
  color:var(--ink)!important;
  border-radius:10px!important;
  padding:12px 13px!important;
  font-size:16px!important;
  line-height:1.25!important;
  box-shadow:none!important;
  outline:none;
}
.sheet .field select{
  min-height:46px;
}
.sheet .field textarea{
  min-height:84px;
  resize:vertical;
}
.sheet .field input:focus,
.sheet .field select:focus,
.sheet .field textarea:focus{
  border-color:rgba(15,118,110,.48)!important;
  box-shadow:0 0 0 3px rgba(15,118,110,.08)!important;
}

.sheet .form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.sheet .form-grid>*{min-width:0!important}

.sheet .category-picker{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
}
.sheet .category-picker label,
.sheet .visibility-picker label{min-width:0!important}
.sheet .category-picker label>span{
  width:100%;
  min-width:0;
  min-height:64px;
  box-sizing:border-box;
}

.sheet .visibility-picker{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
}
.sheet .visibility-picker label>span{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.sheet .measure-block{
  overflow:hidden;
  padding:12px!important;
}
.sheet .measure-head{
  min-width:0;
  flex-wrap:wrap;
}
.sheet .measure-head small{
  white-space:normal;
  text-align:right;
}

.sheet .advanced-goal summary{
  min-width:0;
}
.sheet .advanced-goal summary small{
  white-space:nowrap;
}

.sheet .contribution-field,
.sheet .amount-entry,
.sheet .log-stepper label{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.sheet .contribution-field input,
.sheet .amount-entry input,
.sheet .log-stepper input{
  min-width:0!important;
  max-width:100%!important;
}

/* The sheet should own scrolling; no child should create horizontal scroll. */
.sheet{overflow:hidden!important}
.sheet>#sheetBody{
  width:100%!important;
  max-width:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

@media(max-width:560px){
  .sheet{
    width:calc(100% - 12px)!important;
    max-width:none!important;
    left:6px!important;
    right:6px!important;
    transform:none!important;
    padding:8px 14px calc(16px + var(--safe-bottom))!important;
  }
  .sheet-head{
    gap:10px!important;
    padding-right:0;
  }
  .sheet-head h2{
    font-size:28px!important;
    line-height:1!important;
  }
  .sheet-close{
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }
  .sheet .form-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .sheet .category-picker{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sheet .visibility-picker{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .sheet .visibility-picker label>span{
    height:auto!important;
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:9px!important;
    align-items:center!important;
  }
  .sheet .visibility-picker .ui-icon{grid-row:1/3!important}
  .sheet .visibility-picker b,
  .sheet .visibility-picker small{grid-column:2!important}
  .sheet .measure-head small{
    width:100%;
    text-align:left;
  }
  .sheet .detail-actions{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .sheet .v8-mode-switch,
  .sheet .v8-mode-switch.refined{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .sheet .buddy-code-entry{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .sheet .buddy-code-entry .button{width:100%;min-width:0}
  .sheet .pairing-code-panel{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .sheet .pairing-code-actions{width:100%}
  .sheet .preset-grid.compact{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .sheet .log-status-strip{
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  .sheet .log-status-progress span{text-align:left!important}
  .sheet .milestone-form-refined,
  .sheet .mile-edit-form{gap:6px}
}

@media(max-width:350px){
  .sheet .category-picker{grid-template-columns:minmax(0,1fr)!important}
  .sheet .reactions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v35: full profile page */
.app.profile-route .topbar{display:none}
.app.profile-route #page{padding-top:0}
.profile-page{padding:18px 0 28px;min-height:calc(100dvh - 110px)}
.profile-page-head{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;margin-bottom:22px}
.profile-page-head h1{margin:0;font-size:30px;letter-spacing:-.055em;line-height:1;font-weight:850}
.profile-back,.profile-head-actions button{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs);color:var(--ink)}
.profile-back .ui-icon{width:18px;height:18px}
.profile-head-actions{display:flex;gap:8px}.profile-head-actions button{width:40px;height:40px}.profile-head-actions .ui-icon{width:19px;height:19px}

.profile-identity{display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:18px;padding:10px 2px 22px}
.profile-avatar-ring{width:126px;height:126px;border-radius:50%;padding:7px;position:relative;background:conic-gradient(var(--brand) var(--profile-angle),#e5ebe8 0deg);box-shadow:0 10px 28px rgba(23,33,31,.08)}
.profile-avatar-large{width:100%;height:100%;border-radius:50%;background:#20352f;color:#fff;display:grid;place-items:center;overflow:hidden;border:6px solid var(--bg)}
.profile-avatar-large b{font-family:var(--display);font-size:48px;line-height:1}
.profile-avatar-large img{width:100%;height:100%;object-fit:cover}
.profile-avatar-ring>span{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);min-width:50px;padding:5px 10px;border-radius:999px;background:var(--brand);color:#fff;text-align:center;font-size:12px;font-weight:900;box-shadow:0 6px 16px rgba(15,118,110,.22)}
.profile-identity-copy{min-width:0}.profile-identity-copy h2{margin:0;font-family:var(--display);font-size:35px;letter-spacing:-.055em;line-height:.95}.profile-identity-copy p{margin:8px 0 10px;color:var(--muted);font-size:13px;font-weight:700}
.profile-status{max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:var(--surface-soft);color:var(--ink);font-size:11px;font-weight:800;text-align:left}.profile-status .ui-icon{width:16px;height:16px;color:var(--brand)}.profile-status span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.profile-focus-card,.profile-wide-card{width:100%;text-align:left;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}
.profile-focus-card{display:grid;grid-template-columns:46px minmax(0,1fr) 20px;gap:12px;align-items:center;padding:13px 14px;border-radius:14px;margin:2px 0 22px}.profile-focus-card>span{width:46px;height:46px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.profile-focus-card>div{min-width:0}.profile-focus-card small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:850}.profile-focus-card b{display:block;margin-top:3px;font-size:14px}.profile-focus-card>.ui-icon{color:var(--soft);width:18px;height:18px}

.profile-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:0 -16px 18px;padding:0 16px}.profile-tabs button{height:50px;position:relative;color:var(--muted);font-size:14px;font-weight:850}.profile-tabs button.active{color:var(--ink)}.profile-tabs button.active:after{content:"";position:absolute;left:12%;right:12%;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}
.profile-tab-panel{display:grid;gap:12px}
.profile-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.profile-stat-card{min-height:104px;padding:14px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs);display:flex;align-items:center;gap:12px}.profile-stat-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}.profile-stat-icon .ui-icon{width:20px;height:20px}.profile-stat-icon.activity{background:#e8f5ef;color:var(--success)}.profile-stat-icon.points{background:#fff4d7;color:#b97c0d}.profile-stat-icon.goals{background:#eaf1fc;color:#356fd0}.profile-stat-icon.milestones{background:#fcece7;color:#c85c42}.profile-stat-card div{min-width:0}.profile-stat-card small{display:block;color:var(--muted);font-size:10px;font-weight:750}.profile-stat-card b{display:block;margin-top:2px;font-size:19px;letter-spacing:-.03em}.profile-stat-card em{display:block;margin-top:3px;color:var(--soft);font-style:normal;font-size:9px;font-weight:650}
.profile-wide-card{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;align-items:center;padding:14px;border-radius:14px}.profile-wide-icon{width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.profile-wide-card.privacy .profile-wide-icon{background:#f1f3f2;color:#53635d}.profile-wide-card>div{min-width:0}.profile-wide-card small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.profile-wide-card b{display:block;margin-top:3px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-wide-card p{margin:3px 0 0;color:var(--muted);font-size:10px}.profile-wide-card>.ui-icon{width:18px;height:18px;color:var(--soft)}

.profile-account-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-account-summary>div{padding:13px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--line)}.profile-account-summary small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.profile-account-summary b{display:block;margin-top:4px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-settings-list{display:grid;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.profile-settings-list button{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:11px;align-items:center;text-align:left;padding:12px 13px;border-bottom:1px solid var(--line)}.profile-settings-list button:last-child{border-bottom:0}.profile-settings-list button>span{width:38px;height:38px;border-radius:10px;background:var(--surface-soft);display:grid;place-items:center;color:var(--brand)}.profile-settings-list button>span .ui-icon{width:18px;height:18px}.profile-settings-list button>div{min-width:0}.profile-settings-list b{display:block;font-size:13px}.profile-settings-list small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.profile-settings-list button>.ui-icon{width:17px;height:17px;color:var(--soft)}.profile-settings-list button.danger{color:var(--danger)}.profile-settings-list button.danger>span{background:#fff0f2;color:var(--danger)}

@media(max-width:420px){
  .profile-identity{grid-template-columns:108px minmax(0,1fr);gap:14px}.profile-avatar-ring{width:106px;height:106px}.profile-avatar-large b{font-size:40px}.profile-identity-copy h2{font-size:31px}.profile-stat-card{min-height:96px;padding:12px;gap:9px}.profile-stat-icon{width:36px;height:36px}.profile-stat-card b{font-size:17px}.profile-stat-card em{font-size:8px}
}
@media(max-width:340px){.profile-stat-grid{grid-template-columns:1fr}.profile-account-summary{grid-template-columns:1fr}}


/* v36: achievements + smoother analytics */
@keyframes chartReveal{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.v8-spark-line{animation:chartReveal .7s cubic-bezier(.2,.8,.2,1) both}
.goal-trend-plot .v8-spark-line,.insights-chart-card .v8-spark-line{stroke-width:3.25;filter:none}
.insights-chart-card{padding:16px 15px 12px;overflow:hidden}.insights-chart-card .v8-spark{height:132px}.insights-chart-foot{padding-top:6px;border-top:1px solid var(--line)}

/* rounded activity bars inspired by health dashboards */
.momentum-bar-chart{height:148px;display:grid;grid-template-columns:repeat(7,1fr);gap:9px;align-items:end;margin-top:14px;padding:8px 2px 0}
.momentum-bar-day{height:100%;display:grid;grid-template-rows:1fr 18px;gap:6px;min-width:0;text-align:center}
.momentum-bar-track{height:112px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line);position:relative}
.momentum-bar-track i{position:relative;display:block;width:min(28px,72%);height:var(--bar);min-height:4px;border-radius:14px 14px 6px 6px;background:#cfdad6;transition:height .55s cubic-bezier(.2,.9,.2,1),background .2s ease}
.momentum-bar-day:nth-child(n+1):nth-child(-n+7) .momentum-bar-track i{background:color-mix(in srgb,var(--brand) 28%,#dce5e1)}
.momentum-bar-day.today .momentum-bar-track i{background:var(--brand)}
.momentum-bar-track b{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);font-style:normal;font-size:8px;color:var(--muted);white-space:nowrap}
.momentum-bar-day.today .momentum-bar-track b{color:var(--brand);font-weight:850}
.momentum-bar-day>span{font-size:9px;color:var(--muted);font-weight:750}.momentum-bar-day.today>span{color:var(--ink);font-weight:900}
.momentum-days{display:none!important}

/* achievement collection */
.achievement-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.achievement-tile{min-width:0;text-align:center;padding:8px 4px 6px;color:var(--ink)}
.achievement-emblem{width:62px;height:62px;margin:0 auto 8px;position:relative;display:grid;place-items:center;clip-path:polygon(25% 4%,75% 4%,96% 28%,96% 72%,75% 96%,25% 96%,4% 72%,4% 28%);background:#e9eeeb;color:#83908a;box-shadow:inset 0 0 0 2px rgba(23,33,31,.08)}
.achievement-emblem:before{content:"";position:absolute;inset:7px;clip-path:inherit;background:#f7f9f8}
.achievement-emblem>span{position:relative;z-index:1}.achievement-emblem .ui-icon{width:24px;height:24px}
.achievement-emblem>i{position:absolute;z-index:2;right:3px;bottom:3px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;box-shadow:0 3px 8px rgba(23,33,31,.15)}
.achievement-emblem>i .ui-icon{width:12px;height:12px}
.achievement-emblem>em{position:absolute;z-index:2;bottom:5px;left:50%;transform:translateX(-50%);font-style:normal;font-size:8px;font-weight:850;color:var(--muted)}
.achievement-tile.unlocked .achievement-emblem{background:#d5eee5;color:var(--brand)}.achievement-tile.unlocked .achievement-emblem:before{background:#eef8f4}
.achievement-tile.consistency.unlocked .achievement-emblem{background:#e2f3e9;color:#26805e}.achievement-tile.progress.unlocked .achievement-emblem{background:#e7effa;color:#356fd0}.achievement-tile.journey.unlocked .achievement-emblem{background:#fbefcf;color:#aa7512}
.achievement-tile>b{display:block;font-size:11px;line-height:1.25}.achievement-tile>small{display:block;margin-top:3px;font-size:8px;color:var(--muted);line-height:1.25}
.achievement-tile.locked{opacity:.58}.achievement-tile.compact .achievement-emblem{width:54px;height:54px}.achievement-tile.compact>b{font-size:10px}.achievement-tile.compact>small{display:none}
.achievements-page{padding:18px 0 112px}.subpage-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:18px}.subpage-head>button{width:40px;height:40px;display:grid;place-items:center}.subpage-head h1{margin:2px 0 0;font-size:30px;letter-spacing:-.045em}.achievement-total{font-size:12px;font-weight:850;color:var(--muted);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}
.achievement-summary{padding:16px;border:1px solid var(--line);background:#fff;border-radius:10px;box-shadow:var(--shadow-xs)}.achievement-summary>div{display:flex;align-items:baseline;gap:7px}.achievement-summary>div b{font-size:28px;letter-spacing:-.04em}.achievement-summary>div span{font-size:11px;color:var(--muted);font-weight:700}.achievement-summary>i{display:block;height:8px;margin-top:11px;background:#edf1ef;border-radius:99px;overflow:hidden}.achievement-summary>i em{display:block;height:100%;background:var(--brand);border-radius:inherit}.achievement-summary p{margin:10px 0 0;font-size:10px;line-height:1.45;color:var(--muted)}
.achievement-group{margin-top:24px}.achievement-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.achievement-group-head h2{margin:0;font-size:20px;letter-spacing:-.035em}.achievement-group-head span{font-size:10px;color:var(--muted);font-weight:800}
.achievement-shelf{display:grid;grid-auto-flow:column;grid-auto-columns:108px;gap:10px;overflow-x:auto;padding:4px 0 10px;scroll-snap-type:x proximity;scrollbar-width:none}.achievement-shelf::-webkit-scrollbar{display:none}.achievement-shelf .achievement-tile{scroll-snap-align:start;padding:10px 4px 6px}.achievement-shelf .achievement-emblem{width:72px;height:72px}.achievement-shelf .achievement-tile>b{font-size:11px}.achievement-shelf .achievement-tile>small{font-size:8px}
.profile-wide-card.achievement-link .profile-wide-icon{background:#fbf3df;color:#a56f0c}

@media(max-width:390px){.achievement-preview{grid-template-columns:repeat(4,minmax(70px,1fr));gap:5px}.achievement-tile.compact .achievement-emblem{width:48px;height:48px}.momentum-bar-chart{gap:6px}.momentum-bar-track i{width:min(24px,78%)}}
@media(prefers-reduced-motion:reduce){.v8-spark-line{animation:none!important}.momentum-bar-track i{transition:none!important}}


/* v37: motion + product polish */
.insight-range-pills{display:flex;gap:8px;margin:-4px 0 16px;overflow:auto;padding-bottom:2px;scrollbar-width:none}.insight-range-pills::-webkit-scrollbar{display:none}.insight-range-pills button{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.85);color:var(--muted);font-size:12px;font-weight:850;white-space:nowrap;box-shadow:var(--shadow-xs)}.insight-range-pills button.active{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 10px 18px rgba(15,118,110,.18)}
.v17-hero{position:relative;overflow:hidden}.v17-hero:after{content:"";position:absolute;right:-38px;top:-26px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,255,255,.22),rgba(255,255,255,0) 68%);pointer-events:none}.v17-hero-stats>div,.insights-score-card,.insights-chart-card,.achievement-summary,.profile-stat-card,.profile-wide-card,.profile-focus-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.v17-hero-stats>div:hover,.insights-score-card:hover,.insights-chart-card:hover,.achievement-summary:hover,.profile-stat-card:hover,.profile-wide-card:hover,.profile-focus-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(27,39,34,.08);border-color:rgba(15,118,110,.14)}
.achievement-preview{gap:10px}.achievement-tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 6px 10px;box-shadow:var(--shadow-xs)}.achievement-tile.compact .achievement-emblem{width:52px;height:52px}.achievement-tile.unlocked{opacity:1}.achievement-tile.locked{background:#fcfcfb}.achievement-tile>b{min-height:28px}
.insights-score-card{background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%)}.insights-chart-card{background:linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%)}.insights-chart-card .v8-spark-area{opacity:.44}.momentum-bar-chart{margin-top:16px;gap:10px}.momentum-bar-track{display:flex;align-items:flex-end;justify-content:center;height:112px;border-radius:20px;background:linear-gradient(180deg,#f4f8f6 0%,#edf3f0 100%);padding:8px 0 0;overflow:hidden;border:1px solid rgba(15,118,110,.05)}.momentum-bar-track i{position:relative;display:flex;align-items:flex-start;justify-content:center;width:min(26px,78%);height:var(--bar);border-radius:18px 18px 12px 12px;background:linear-gradient(180deg,rgba(15,118,110,.32) 0%,rgba(15,118,110,.58) 100%);color:var(--brand);transition:height .55s cubic-bezier(.22,1,.36,1),background .2s ease}.momentum-bar-day.today .momentum-bar-track i{background:linear-gradient(180deg,#178a80 0%,#0f766e 100%);color:#fff;box-shadow:0 12px 20px rgba(15,118,110,.22)}.momentum-bar-track i b{margin-top:7px;font-size:10px;font-weight:900}
.profile-status{background:rgba(15,118,110,.08)}.profile-tabs button.active:after{height:4px}.profile-wide-card p{line-height:1.45}.insights-mini-stats>div{background:linear-gradient(180deg,#f8fbfa 0%,#f2f6f4 100%)}
@media(max-width:390px){.insight-range-pills button{padding:0 12px;font-size:11px}.achievement-tile{border-radius:14px}}


/* v38: milestone polish + productivity tools */
.v8-mile-goals.polished{display:grid;gap:10px;padding:0 15px 15px}
.v8-linked-goal-card{background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow-xs)}
.v8-linked-goal-top{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center}
.v8-linked-goal-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}
.v8-linked-goal-top b{min-width:0;font-size:13px;line-height:1.25}
.v8-linked-goal-top strong{font-size:12px;color:var(--brand);padding:5px 8px;border-radius:999px;background:rgba(15,118,110,.08)}
.v8-linked-goal-card .v8-linked-rail{display:block;height:8px;background:#edf1ef;border-radius:999px;overflow:hidden;margin:10px 0 7px}
.v8-linked-goal-card .v8-linked-rail em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 76%,#fff),var(--brand))}
.v8-linked-goal-card small{display:block;color:var(--muted);font-size:11px}
.v8-linked-more{min-height:42px;border-radius:14px;border:1px dashed rgba(15,118,110,.22);background:rgba(15,118,110,.05);color:var(--brand);font-size:12px;font-weight:900}
.v8-mile-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

.momentum-breakdown.four-up{grid-template-columns:repeat(4,1fr)}
.momentum-bar-chart{margin-top:16px;gap:10px}
.momentum-bar-day{height:100%;display:grid;grid-template-rows:112px 18px;gap:8px}
.momentum-bar-track{width:100%;height:112px;display:flex;align-items:flex-end;justify-content:center;border-radius:22px;background:linear-gradient(180deg,#f4f8f6 0%,#eaf1ee 100%);border:1px solid rgba(15,118,110,.06);overflow:hidden;padding:0;position:relative}
.momentum-bar-track i{width:100%;height:var(--bar);min-height:5px;border-radius:22px;display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,rgba(15,118,110,.34) 0%,rgba(15,118,110,.62) 100%);box-shadow:none}
.momentum-bar-day.today .momentum-bar-track i{background:linear-gradient(180deg,#1a988d 0%,#0f766e 100%);box-shadow:0 12px 22px rgba(15,118,110,.2)}
.momentum-bar-track i b{margin-top:10px;font-size:10px;font-weight:900;color:inherit}

.productivity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.focus-tool-primary,.focus-tool-wide,.focus-tool-card{border:1px solid var(--line);box-shadow:var(--shadow-xs)}
.focus-tool-primary{grid-column:1/-1;padding:16px;border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f7fbf9 100%)}
.focus-tool-head{display:flex;justify-content:space-between;gap:14px;align-items:center}
.focus-tool-head h3{margin:4px 0 4px;font-size:25px;letter-spacing:-.04em}.focus-tool-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}
.focus-score-ring{--angle:0deg;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) var(--angle),#e7efec 0deg);padding:7px;flex:none}
.focus-score-ring span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:#fff;text-align:center;box-shadow:inset 0 0 0 1px var(--line)}
.focus-score-ring b{display:block;font-size:26px;line-height:1;font-weight:950}.focus-score-ring small{font-size:10px;color:var(--muted)}
.focus-tool-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.focus-tool-metrics div{padding:11px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:center}.focus-tool-metrics b{display:block;font-size:20px;letter-spacing:-.04em}.focus-tool-metrics small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.focus-tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.focus-tool-card{display:grid;gap:8px;text-align:left;padding:14px;border-radius:18px;background:#fff}.focus-tool-card strong{font-size:15px}.focus-tool-card small{font-size:11px;color:var(--muted);line-height:1.35}.focus-tool-card-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(15,118,110,.08);color:var(--brand)}
.focus-tool-wide{grid-column:1/-1;padding:15px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px}.focus-tool-wide h4{margin:4px 0 4px;font-size:18px;letter-spacing:-.03em}.focus-tool-wide p{margin:0;font-size:12px;color:var(--muted);line-height:1.4}

.pomodoro-sheet,.planner-sheet{display:grid;gap:14px}
.pomodoro-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pomodoro-presets button{min-height:42px;border-radius:14px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:900}.pomodoro-presets button.active{background:rgba(15,118,110,.08);border-color:rgba(15,118,110,.18);color:var(--brand)}
.pomodoro-orb{--angle:0deg;width:min(100%,270px);aspect-ratio:1;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) var(--angle),#edf3f0 0deg);padding:12px}
.pomodoro-orb>div{width:100%;height:100%;display:grid;place-items:center;text-align:center;border-radius:50%;background:#fff;padding:22px;box-shadow:inset 0 0 0 1px var(--line)}
.pomodoro-orb span{font-size:12px;font-weight:850;color:var(--brand);text-transform:uppercase;letter-spacing:.12em}.pomodoro-orb b{display:block;font-size:44px;line-height:1;letter-spacing:-.06em;margin-top:8px}.pomodoro-orb small{display:block;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.4}
.pomodoro-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pomodoro-mini-stats div{padding:12px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:center}.pomodoro-mini-stats b{display:block;font-size:20px;letter-spacing:-.04em}.pomodoro-mini-stats small{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.pomodoro-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pomodoro-note{margin:0;text-align:center;color:var(--muted);font-size:12px;line-height:1.45}

.planner-suggestions,.planner-list{display:grid;gap:10px}
.planner-suggestion{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;padding:13px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.planner-suggestion b{display:block;font-size:13px;line-height:1.3}.planner-suggestion small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.35}.planner-suggestion span{font-size:11px;font-weight:900;color:var(--brand)}
.planner-item{display:grid;grid-template-columns:20px minmax(0,1fr) 32px;gap:10px;align-items:center;padding:13px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.planner-item input{width:18px;height:18px;accent-color:var(--brand)}.planner-item span{min-width:0}.planner-item b{display:block;font-size:13px;line-height:1.3}.planner-item small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.35}.planner-item button{width:28px;height:28px;border-radius:999px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}.planner-item.done{opacity:.62}.planner-item.done b{text-decoration:line-through}

@media(max-width:390px){
  .momentum-breakdown.four-up{grid-template-columns:repeat(2,1fr)}
  .productivity-grid{grid-template-columns:1fr}
  .focus-tool-wide,.focus-tool-primary{grid-column:auto}
  .focus-tool-head{align-items:flex-start;flex-direction:column}
  .focus-tool-actions,.pomodoro-controls{grid-template-columns:1fr}
  .pomodoro-controls{display:grid}
}

/* v39: focused UI polish */

/* At-a-glance summary */
.glance-card{margin:14px 0 22px;padding:18px;border-radius:22px;background:#173f39;color:#fff;box-shadow:0 18px 42px rgba(20,54,48,.15);overflow:hidden;position:relative}
.glance-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-64px;top:-70px;pointer-events:none}
.glance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:relative;z-index:1}
.glance-head .eyebrow{color:#a9d9ce}.glance-head h1{font-family:var(--display);font-size:34px;line-height:.98;letter-spacing:-.055em;margin:4px 0 5px;color:#fff}.glance-head h1 em{font-style:normal;color:#bce5da}.glance-head p{margin:0;color:rgba(255,255,255,.62);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.glance-pace{flex:none;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.glance-pace strong{display:block;font-size:24px;line-height:1;font-weight:900}.glance-pace small{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:8px;line-height:1.2}
.glance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;position:relative;z-index:1}
.glance-stats>div{min-width:0;padding:11px 10px;border-radius:12px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.glance-stats .ui-icon{width:16px;height:16px;color:#c2ded7}.glance-stats b{display:block;margin-top:6px;font-size:17px}.glance-stats small{display:block;margin-top:1px;color:rgba(255,255,255,.60);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.glance-progress{display:flex;align-items:center;gap:10px;margin-top:14px;position:relative;z-index:1}.glance-progress>i{display:block;flex:1;height:5px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.glance-progress>i em{display:block;height:100%;border-radius:inherit;background:#9dd9ca}.glance-progress>span{font-size:9px;font-weight:800;color:rgba(255,255,255,.66);white-space:nowrap}

/* Milestone linked goals: remove legacy span/card collision */
.v8-mile{border-radius:16px!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:0 8px 22px rgba(24,39,35,.06)!important}
.v8-mile-main{grid-template-columns:76px minmax(0,1fr) 38px!important;padding:15px!important;gap:13px!important}
.v8-mile-ring{width:76px!important;height:76px!important}
.v8-mile-copy{min-width:0}.v8-mile-copy h3{font-size:18px!important;line-height:1.18;margin:3px 0 4px!important}.v8-mile-copy p{font-size:11px!important;line-height:1.42}.v8-mile-copy .eyebrow{font-size:9px;letter-spacing:.11em}
.v8-mile-arrow{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#f6f8f7;border:1px solid var(--line);color:#6f7d78}.v8-mile-arrow .ui-icon{width:16px;height:16px}
.v8-mile-goals.polished{display:grid!important;gap:9px!important;overflow:visible!important;padding:0 15px 13px!important}
.v8-mile-goals.polished span,.v8-mile-goals.polished div,.v8-mile-goals.polished article{min-width:0!important}
.v8-linked-goal-card{display:block!important;background:#fbfcfb!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:11px!important;box-shadow:none!important;color:var(--ink)!important}
.v8-linked-goal-top{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:9px!important;align-items:center!important}
.v8-linked-goal-icon{min-width:0!important;width:34px!important;height:34px!important;padding:0!important;border-radius:9px!important;display:grid!important;place-items:center!important;background:var(--cat-soft)!important;color:var(--cat-ink)!important}
.v8-linked-goal-icon .ui-icon{width:18px;height:18px}.v8-linked-goal-copy{min-width:0!important}.v8-linked-goal-copy b{display:block;font-size:12px!important;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v8-linked-goal-copy small{display:block!important;margin-top:2px!important;color:var(--muted)!important;font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v8-linked-goal-top>strong{font-size:10px!important;line-height:1!important;padding:6px 8px!important;border-radius:999px!important;background:rgba(15,118,110,.08)!important;color:var(--brand)!important}
.v8-linked-goal-card .v8-linked-rail{display:block!important;height:6px!important;margin:9px 0 0!important;background:#edf2ef!important;border-radius:999px!important;overflow:hidden!important;padding:0!important}
.v8-linked-goal-card .v8-linked-rail em{display:block!important;height:100%!important;border-radius:inherit!important;background:var(--cat)!important}
.v8-linked-more{min-height:38px!important;border-radius:10px!important}
.v8-mile-foot{padding:0 15px 13px!important;border-top:1px solid rgba(23,33,31,.05);padding-top:10px!important}

/* Goal chevrons */
.v8-goal-actions .icon-only{width:36px!important;height:36px!important;border-radius:999px!important;background:#fff!important;border:1px solid var(--line)!important;color:#6e7b77!important}.v8-goal-actions .icon-only .ui-icon{width:15px;height:15px}

/* Quick log */
.quick-log-intro{display:flex;align-items:center;gap:11px;margin:-2px 0 14px;padding:11px 12px;border-radius:12px;background:#f4f8f6;border:1px solid rgba(15,118,110,.08)}.quick-log-intro>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e4f2ee;color:var(--brand);flex:none}.quick-log-intro>span .ui-icon{width:17px;height:17px}.quick-log-intro b{display:block;font-size:11px}.quick-log-intro small{display:block;margin-top:2px;color:var(--muted);font-size:9px;line-height:1.35}
.quick-goal-list.refined{display:grid;gap:9px}.quick-goal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:0 7px 18px rgba(24,39,35,.045);overflow:hidden}.quick-goal-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;padding:12px;min-width:0}.quick-goal-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}.quick-goal-icon .ui-icon{width:20px;height:20px}.quick-goal-copy{display:block;min-width:0}.quick-goal-copy>small{display:block;color:var(--cat-ink);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.quick-goal-copy>b{display:block;margin-top:2px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-goal-copy>em{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-goal-copy>i{display:block;height:5px;background:#edf2ef;border-radius:999px;overflow:hidden;margin-top:8px}.quick-goal-copy>i span{display:block;height:100%;background:var(--cat);border-radius:inherit}.quick-goal-main>strong{font-size:11px;color:var(--cat-ink);padding:5px 7px;border-radius:999px;background:var(--cat-soft)}
.quick-goal-action{align-self:stretch;min-width:72px;padding:8px 10px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#f7fbf9;color:var(--brand);font-size:9px;font-weight:900}.quick-goal-action .ui-icon{width:18px;height:18px}.quick-goal-action.set{color:#8a4e3a;background:#fff7f3}

/* Achievements: lighter, flatter, less giant rounding */
.achievement-preview{display:flex!important;gap:14px!important;overflow-x:auto;padding:2px 1px 6px!important;scrollbar-width:none}.achievement-preview::-webkit-scrollbar{display:none}.achievement-preview .achievement-tile{flex:0 0 92px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;padding:4px 2px!important}.achievement-preview .achievement-emblem{width:58px!important;height:58px!important;margin-bottom:7px!important}.achievement-preview .achievement-tile>b{min-height:0!important;font-size:10px!important;line-height:1.25!important}.achievement-preview .achievement-tile>small{font-size:8px!important}
.achievement-shelf .achievement-tile{border-radius:12px!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:var(--shadow-xs)!important;padding:10px 6px!important}.achievement-summary{border-radius:12px!important}

/* Auth: inspired by restrained wellness/productivity login patterns */
.auth{display:grid!important;place-items:center!important;min-height:100dvh!important;padding:clamp(22px,5vh,48px) 20px!important;background:linear-gradient(180deg,#f8faf8 0%,#f2f6f3 100%)!important}.auth.hidden{display:none!important}
.auth-art,.auth-panel,.auth-orbit,.auth-brand{display:none!important}
.auth-v39{width:min(100%,390px);display:grid;gap:24px}.auth-v39-brand{display:flex;align-items:center;justify-content:center;gap:12px}.auth-v39-brand .auth-logo{width:58px!important;height:58px!important;object-fit:contain!important;filter:none!important}.auth-v39-brand h1{margin:0;font-family:var(--display);font-size:35px;line-height:.95;letter-spacing:-.055em}.auth-v39-brand span{display:block;margin-top:4px;font-family:var(--arabic);font-size:11px;font-weight:700;color:var(--muted)}
.auth-v39-copy{text-align:center}.auth-v39-copy .eyebrow{font-size:9px}.auth-v39-copy h2{margin:7px 0 5px;font-family:var(--display);font-size:31px;line-height:1;letter-spacing:-.045em}.auth-v39-copy p{margin:0;color:var(--muted);font-size:11px}
.auth-v39-form{display:grid;gap:13px}.auth-v39-form .field{margin:0!important;gap:7px!important}.auth-v39-form .field>span:first-child{font-size:10px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:var(--muted)!important}.auth-v39-form input{height:52px!important;border-radius:12px!important;background:#fff!important;border:1px solid rgba(23,33,31,.12)!important;padding:0 14px!important;box-shadow:0 5px 14px rgba(24,39,35,.035)!important;font-size:14px!important}.auth-v39-form input:focus{border-color:rgba(15,118,110,.38)!important;box-shadow:0 0 0 4px rgba(15,118,110,.07)!important}
.auth-password-field{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:center;background:#fff;border:1px solid rgba(23,33,31,.12);border-radius:12px;box-shadow:0 5px 14px rgba(24,39,35,.035);overflow:hidden}.auth-password-field input{border:0!important;box-shadow:none!important;border-radius:0!important}.auth-password-field button{height:100%;display:grid;place-items:center;color:var(--muted)}.auth-password-field button .ui-icon{width:18px;height:18px}
.auth-v39-submit{height:52px!important;margin-top:3px;border-radius:12px!important;box-shadow:0 12px 24px rgba(15,118,110,.16)!important;position:relative;overflow:hidden}.auth-v39-submit.loading{color:transparent!important;pointer-events:none}.auth-v39-submit.loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:authSpin .7s linear infinite}
.auth-mode-link{justify-self:center;font-size:11px;color:var(--muted)}.auth-mode-link b{color:var(--brand);font-weight:900}.auth-v39-footer{text-align:center;color:var(--soft);font-size:9px;line-height:1.45}
.auth-shake{animation:authShake .34s ease}

.auth-transition{position:fixed;inset:0;z-index:5000;display:grid;place-content:center;justify-items:center;text-align:center;background:#f7f9f7;opacity:0;pointer-events:none;transition:opacity .2s ease}.auth-transition.hidden{display:none}.auth-transition.show{opacity:1;pointer-events:auto}.auth-transition.leaving{opacity:0}.auth-transition-mark{position:relative;width:78px;height:78px;display:grid;place-items:center;margin-bottom:18px}.auth-transition-mark img{width:58px;height:58px;object-fit:contain;position:relative;z-index:2}.auth-transition-mark span{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(15,118,110,.15);animation:authPulse 1.25s ease-in-out infinite}.auth-transition>b{font-family:var(--display);font-size:24px;letter-spacing:-.035em}.auth-transition>p{margin:6px 0 18px;color:var(--muted);font-size:11px}.auth-transition>i{display:block;width:170px;height:3px;background:#e6ece9;border-radius:999px;overflow:hidden}.auth-transition>i em{display:block;height:100%;width:16%;border-radius:inherit;background:var(--brand);animation:authProgress 1.25s cubic-bezier(.22,1,.36,1) infinite}.auth-transition.complete>i em{width:100%;animation:none;transition:width .18s ease}.auth-transition.error .auth-transition-mark span{border-color:rgba(217,93,93,.32)}
@keyframes authSpin{to{transform:rotate(360deg)}}@keyframes authPulse{0%,100%{transform:scale(.88);opacity:.35}50%{transform:scale(1.12);opacity:1}}@keyframes authProgress{0%{width:8%;transform:translateX(-20%)}60%{width:68%}100%{width:25%;transform:translateX(620%)}}@keyframes authShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}

@media(max-width:430px){.glance-card{margin-top:10px;padding:16px;border-radius:18px}.glance-head h1{font-size:30px}.glance-pace{width:68px;height:68px}.glance-stats{grid-template-columns:repeat(2,1fr)}.glance-stats>div{padding:10px}.quick-goal-row{grid-template-columns:minmax(0,1fr) 66px}.quick-goal-main{grid-template-columns:38px minmax(0,1fr) auto;padding:11px 10px;gap:9px}.quick-goal-icon{width:38px;height:38px}.quick-goal-action{min-width:66px}.auth{padding:28px 20px!important}}
@media(prefers-reduced-motion:reduce){.auth-v39-submit.loading:after,.auth-transition-mark span,.auth-transition>i em{animation:none!important}.auth-transition{transition:none!important}}
.quick-log-head h2{font-size:32px!important;line-height:1!important;letter-spacing:-.045em!important}.quick-log-head{margin-bottom:14px!important}

/* v40: auth refresh + swipeable at-a-glance */
.auth{
  display:grid!important;
  place-items:center!important;
  min-height:100dvh!important;
  padding:24px 18px 32px!important;
  background:
    radial-gradient(circle at top right, rgba(15,118,110,.09), transparent 36%),
    linear-gradient(180deg,#f7faf8 0%,#eef4f1 100%)!important;
}
.auth.hidden{display:none!important}
.auth-v39,.auth-art,.auth-panel,.auth-orbit,.auth-brand{display:none!important}
.auth-v40{width:min(100%,420px);display:grid;gap:0}
.auth-hero{
  position:relative;
  overflow:hidden;
  padding:24px 22px 92px;
  border-radius:30px;
  background:linear-gradient(160deg,#14554d 0%,#0f766e 58%,#1b8e84 100%);
  color:#fff;
  box-shadow:0 24px 56px rgba(15,118,110,.18);
}
.auth-orb{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12);pointer-events:none}
.auth-orb.orb-a{width:190px;height:190px;right:-72px;top:-86px}
.auth-orb.orb-b{width:126px;height:126px;right:34px;bottom:-58px;background:rgba(255,255,255,.05)}
.auth-orb.orb-c{width:64px;height:64px;left:-18px;bottom:88px;background:rgba(255,255,255,.07)}
.auth-brand-block-v40{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.auth-brand-block-v40 .auth-logo{width:64px!important;height:64px!important;object-fit:contain!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.14))!important}
.auth-brand-block-v40 h1{margin:0;font-family:var(--display);font-size:42px;line-height:.92;letter-spacing:-.055em;color:#fff}
.auth-brand-block-v40 p{margin:4px 0 0;font-family:var(--arabic);font-size:13px;color:rgba(255,255,255,.74)}
.auth-hero-copy{position:relative;z-index:1;margin-top:26px}
.auth-hero-copy .eyebrow{color:#bfe5dc}
.auth-hero-copy h2{margin:8px 0 6px;font-family:var(--display);font-size:40px;line-height:.95;letter-spacing:-.05em;color:#fff}
.auth-hero-copy p{margin:0;max-width:250px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.5}
.auth-card-v40{
  position:relative;
  margin:-66px 12px 0;
  padding:14px 14px 16px;
  border-radius:26px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 44px rgba(26,39,36,.10), inset 0 0 0 1px rgba(15,118,110,.06);
  backdrop-filter:blur(8px);
}
.auth-tabs-v40{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:#edf3f0;border-radius:16px}
.auth-tabs-v40 button{height:46px;border-radius:12px;font-size:14px;font-weight:900;color:#74827d;transition:.2s ease}
.auth-tabs-v40 button.active{background:#fff;color:var(--brand);box-shadow:0 8px 16px rgba(24,39,35,.08)}
.auth-v40-form{display:grid;gap:13px;margin-top:14px}
.auth-v40-form .field{display:grid;gap:7px;margin:0!important}
.auth-v40-form .field>span:first-child{font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.09em!important;color:var(--muted)!important}
.auth-v40-form input{height:56px!important;border-radius:15px!important;background:#fff!important;border:1px solid rgba(23,33,31,.12)!important;padding:0 15px!important;box-shadow:0 6px 16px rgba(24,39,35,.04)!important;font-size:15px!important}
.auth-v40-form input:focus{border-color:rgba(15,118,110,.34)!important;box-shadow:0 0 0 4px rgba(15,118,110,.08)!important}
.auth-password-field{display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:center;background:#fff;border:1px solid rgba(23,33,31,.12);border-radius:15px;box-shadow:0 6px 16px rgba(24,39,35,.04);overflow:hidden}
.auth-password-field:focus-within{border-color:rgba(15,118,110,.34);box-shadow:0 0 0 4px rgba(15,118,110,.08)}
.auth-password-field input{border:0!important;box-shadow:none!important;border-radius:0!important}
.auth-password-field button{height:100%;display:grid;place-items:center;color:var(--muted)}
.auth-password-field .ui-icon{width:18px;height:18px}
.auth-v40-submit{height:54px!important;margin-top:2px;border-radius:15px!important;box-shadow:0 14px 24px rgba(15,118,110,.18)!important}
.auth-v40-footer{text-align:center;color:var(--muted);font-size:11px;line-height:1.45;margin-top:14px;padding:0 10px 2px}
.auth-transition{background:linear-gradient(180deg,#f7faf8 0%,#eef4f1 100%)!important}
.auth-transition>b{font-family:var(--display);font-size:28px}
.auth-transition>p{font-size:12px}

.glance-shell{margin:14px 0 22px}
.glance-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:4px}
.glance-carousel::-webkit-scrollbar{display:none}
.glance-card{flex:0 0 100%;scroll-snap-align:start;margin:0;padding:18px;border-radius:24px;box-shadow:0 18px 42px rgba(20,54,48,.12);overflow:hidden;position:relative}
.glance-card.overview{background:#173f39;color:#fff}
.glance-card.overview:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-64px;top:-70px;pointer-events:none}
.glance-card.detail{background:linear-gradient(180deg,#ffffff 0%,#f8fbfa 100%);border:1px solid rgba(15,118,110,.07);color:var(--ink)}
.glance-card.detail.soft{background:linear-gradient(180deg,#ffffff 0%,#f7faf8 100%)}
.glance-card.detail.mint{background:linear-gradient(180deg,#f8fcfb 0%,#eef5f2 100%)}
.glance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;position:relative;z-index:1}
.glance-head .eyebrow{color:#a9d9ce}.glance-head h1{font-family:var(--display);font-size:34px;line-height:.98;letter-spacing:-.055em;margin:4px 0 5px;color:#fff}.glance-head h1 em{font-style:normal;color:#bce5da}.glance-head p{margin:0;color:rgba(255,255,255,.62);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.glance-pace{flex:none;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}
.glance-pace strong{display:block;font-size:24px;line-height:1;font-weight:900}.glance-pace small{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:8px;line-height:1.2}
.glance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;position:relative;z-index:1}
.glance-stats>div{min-width:0;padding:11px 10px;border-radius:12px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.glance-stats .ui-icon{width:16px;height:16px;color:#c2ded7}.glance-stats b{display:block;margin-top:6px;font-size:17px}.glance-stats small{display:block;margin-top:1px;color:rgba(255,255,255,.60);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.glance-progress{display:flex;align-items:center;gap:10px;margin-top:14px;position:relative;z-index:1}.glance-progress>i{display:block;flex:1;height:5px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.glance-progress>i em{display:block;height:100%;border-radius:inherit;background:#9dd9ca}.glance-progress>span{font-size:9px;font-weight:800;color:rgba(255,255,255,.66);white-space:nowrap}
.glance-mini-head .eyebrow{color:var(--brand)}
.glance-mini-head h2{margin:8px 0 0;font-family:var(--display);font-size:28px;line-height:.98;letter-spacing:-.045em}
.glance-list,.glance-metrics{display:grid;gap:10px;margin-top:16px}
.glance-list>div,.glance-metrics>div{padding:14px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px rgba(15,118,110,.06)}
.glance-list small,.glance-metrics small{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.glance-list b,.glance-metrics b{display:block;margin-top:6px;font-size:20px;line-height:1.05}
.glance-list span,.glance-metrics span{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.4}
.glance-mini-bars{height:68px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:8px;margin-top:16px;padding-top:10px}
.glance-mini-bars i{display:block;width:100%;min-height:10px;border-radius:999px 999px 16px 16px;background:linear-gradient(180deg,rgba(15,118,110,.32) 0%,rgba(15,118,110,.72) 100%)}
.glance-dots{display:flex;justify-content:center;gap:8px;margin-top:8px}
.glance-dots button{width:8px;height:8px;border-radius:999px;background:#d2ddd8;transition:.2s ease}
.glance-dots button.active{width:22px;background:var(--brand)}

@media(max-width:430px){
  .auth{padding:18px 14px 24px!important}
  .auth-hero{padding:22px 18px 88px;border-radius:26px}
  .auth-brand-block-v40 .auth-logo{width:56px!important;height:56px!important}
  .auth-brand-block-v40 h1{font-size:38px}
  .auth-hero-copy h2{font-size:34px}
  .auth-card-v40{margin:-60px 8px 0;padding:12px 12px 14px;border-radius:22px}
  .glance-card{padding:16px;border-radius:20px}
  .glance-head h1{font-size:30px}
  .glance-pace{width:68px;height:68px}
  .glance-stats{grid-template-columns:repeat(2,1fr)}
  .glance-mini-head h2{font-size:25px}
}

/* v42: compact swipeable At a Glance */
.glance-shell{margin:14px -16px 24px;padding-left:16px;overflow:hidden}
.glance-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:0 16px 11px 0}
.glance-title-row h2{margin:4px 0 0;font-size:25px;line-height:1;font-weight:950;letter-spacing:-.045em}
.glance-title-row .eyebrow{font-size:9px}
.glance-swipe-hint{font-size:10px;font-weight:800;color:var(--muted);padding-right:2px}
.glance-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;padding:0 44px 4px 0;-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior-inline:contain}
.glance-carousel::-webkit-scrollbar{display:none}
.glance-carousel>.glance-card{flex:0 0 calc(100% - 42px);scroll-snap-align:start;scroll-snap-stop:always;margin:0;min-height:228px;border-radius:22px;padding:17px;box-shadow:0 12px 30px rgba(25,43,38,.08);position:relative;overflow:hidden}
.glance-card:after{display:none!important}
.glance-card.glance-today{background:linear-gradient(180deg,#173f39 0%,#133b35 100%);border:1px solid rgba(255,255,255,.05);color:#fff;box-shadow:0 18px 42px rgba(20,54,48,.18)}
.glance-card.glance-today:before{content:"";position:absolute;right:-54px;top:-66px;width:154px;height:154px;border-radius:50%;background:radial-gradient(circle at center,rgba(255,255,255,.18),rgba(255,255,255,0) 68%);pointer-events:none}
.glance-card.glance-today .glance-kicker{color:#b6ddd0}
.glance-card.glance-today .glance-card-head h3{font-family:var(--display);font-size:38px;line-height:.96;letter-spacing:-.055em;color:#fff}
.glance-card.glance-today .glance-card-head h3 em{font-style:normal;color:#bfe8d9}
.glance-card.glance-today .glance-date{color:rgba(255,255,255,.66)}
.glance-card.glance-today .glance-today-main>div:first-child strong,.glance-card.glance-today .glance-today-main>div:first-child span,.glance-card.glance-today .glance-footline b{color:#fff}
.glance-card.glance-today .glance-today-main>div:first-child span,.glance-card.glance-today .glance-footline span,.glance-card.glance-today .glance-week-bars small{color:rgba(255,255,255,.68)}
.glance-card.glance-today .glance-week-bars i{background:rgba(255,255,255,.18)}
.glance-card.glance-today .glance-week-bars .today i{background:#a9ddd0}
.glance-card.glance-today .glance-footline{border-top:1px solid rgba(255,255,255,.10)}
.glance-card.glance-focus{background:#fff;border:1px solid rgba(52,120,255,.10);color:var(--ink)}
.glance-card.glance-momentum{background:linear-gradient(180deg,#f1f8f5 0%,#eaf4f0 100%);border:1px solid rgba(15,118,110,.08);color:var(--ink)}
.glance-card.glance-areas{background:#fff;border:1px solid var(--line);color:var(--ink)}
.glance-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.glance-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--brand)}
.glance-card-head h3{margin:5px 0 0;font-size:23px;line-height:1.02;letter-spacing:-.04em;font-weight:950}
.glance-date{max-width:110px;text-align:right;font-size:9px;line-height:1.35;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.glance-badge,.glance-score-pill{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:0 10px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-size:10px;font-weight:900}
.glance-score-pill{min-width:48px;background:#fff;border:1px solid rgba(15,118,110,.10)}
.glance-today-main,.glance-momentum-main{display:grid;grid-template-columns:94px minmax(0,1fr);gap:14px;align-items:end;margin-top:18px}
.glance-today-main>div:first-child strong,.glance-momentum-main>div:first-child strong{display:block;font-size:38px;line-height:.9;letter-spacing:-.06em;font-weight:950;color:var(--ink)}
.glance-today-main>div:first-child span,.glance-momentum-main>div:first-child span{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:700}
.glance-week-bars,.glance-momentum-bars{height:78px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:5px;padding:0 2px}
.glance-week-bars>span,.glance-momentum-bars>span{height:100%;display:grid;grid-template-rows:1fr 14px;gap:5px;align-items:end;justify-items:center}
.glance-week-bars i,.glance-momentum-bars i{display:block;width:100%;max-width:16px;min-height:6px;border-radius:999px;background:#dce7e3;transition:height .5s cubic-bezier(.22,1,.36,1),background .2s ease}
.glance-week-bars .today i,.glance-momentum-bars .today i{background:var(--brand)}
.glance-week-bars small,.glance-momentum-bars small{font-size:8px;font-weight:800;color:var(--muted)}
.glance-footline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}
.glance-footline span{font-size:10px;color:var(--muted)}
.glance-footline b{font-size:12px;color:var(--ink);margin-right:2px}
.glance-goal-list{display:grid;gap:9px;margin-top:14px}
.glance-goal-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:10px 11px;border-radius:15px;background:#f8faf9;border:1px solid var(--line)}
.glance-goal-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}
.glance-goal-icon .ui-icon{width:19px;height:19px}
.glance-goal-copy{min-width:0}
.glance-goal-copy b{display:block;font-size:13px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.glance-goal-copy small{display:block;margin-top:3px;font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.glance-goal-copy i{display:block;height:4px;margin-top:8px;border-radius:999px;background:#e8eeeb;overflow:hidden}
.glance-goal-copy i em{display:block;height:100%;border-radius:inherit;background:var(--cat)}
.glance-goal-row>strong{font-size:12px;color:var(--cat-ink)}
.glance-focus-note{margin-top:12px;font-size:10px;line-height:1.45;color:var(--muted)}
.glance-area-list{display:grid;gap:9px;margin-top:14px}
.glance-area-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center}
.glance-area-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}
.glance-area-row>span:nth-child(2){min-width:0}
.glance-area-row b{display:block;font-size:12px}.glance-area-row small{display:block;margin-top:1px;font-size:9px;color:var(--muted)}
.glance-area-row i{display:block;height:4px;margin-top:6px;border-radius:999px;background:#edf1ef;overflow:hidden}.glance-area-row i em{display:block;height:100%;border-radius:inherit;background:var(--cat)}
.glance-area-row strong{font-size:11px;color:var(--cat-ink)}
.glance-view-goals{margin-top:13px;width:100%;height:36px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;color:var(--brand);font-size:10px;font-weight:900}
.glance-view-goals .ui-icon{width:15px;height:15px}
.glance-empty{padding:22px 0;text-align:center;color:var(--muted);font-size:11px}
.glance-dots{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:9px;padding-right:16px}
.glance-dots button{width:6px;height:6px;border-radius:999px;background:#d3ded9;transition:width .2s ease,background .2s ease}
.glance-dots button.active{width:18px;background:var(--brand)}

@media(max-width:430px){
  .glance-carousel>.glance-card{flex-basis:calc(100% - 48px);min-height:218px;padding:15px;border-radius:19px}
  .glance-title-row h2{font-size:23px}
  .glance-card-head h3{font-size:21px}
  .glance-card.glance-today .glance-card-head h3{font-size:34px}
  .glance-today-main,.glance-momentum-main{grid-template-columns:82px minmax(0,1fr);gap:11px;margin-top:15px}
  .glance-today-main>div:first-child strong,.glance-momentum-main>div:first-child strong{font-size:34px}
  .glance-week-bars,.glance-momentum-bars{height:72px;gap:4px}
  .glance-footline{gap:10px;margin-top:12px;padding-top:11px}
}

/* v44: layout polish */

/* Auth fills the screen intentionally instead of floating in the middle. */
.auth{
  min-height:100dvh!important;
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  padding:0!important;
  background:linear-gradient(180deg,#eef5f2 0%,#f7faf9 100%)!important;
  overflow-y:auto!important;
}
.auth.hidden{display:none!important}
.auth-v40{
  width:min(100%,480px)!important;
  min-height:100dvh!important;
  display:grid!important;
  grid-template-rows:minmax(360px,46dvh) auto 1fr!important;
  align-content:start!important;
  padding:0 16px 28px!important;
}
.auth-hero{
  width:100%!important;
  min-height:360px!important;
  margin:0!important;
  padding:calc(44px + env(safe-area-inset-top)) 24px 100px!important;
  border-radius:0 0 34px 34px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  box-shadow:0 22px 52px rgba(15,118,110,.18)!important;
}
.auth-brand-block-v40{margin-top:4px!important}
.auth-brand-block-v40 .auth-logo{width:70px!important;height:70px!important}
.auth-brand-block-v40 h1{font-size:46px!important}
.auth-hero-copy{margin-top:38px!important;padding-bottom:4px!important}
.auth-hero-copy h2{font-size:44px!important;max-width:320px!important}
.auth-hero-copy p{font-size:14px!important;max-width:300px!important}
.auth-card-v40{
  width:calc(100% - 20px)!important;
  margin:-72px auto 0!important;
  padding:18px!important;
  border-radius:26px!important;
  box-shadow:0 24px 48px rgba(27,45,40,.12),inset 0 0 0 1px rgba(15,118,110,.06)!important;
}
.auth-tabs-v40{padding:6px!important;border-radius:17px!important}
.auth-tabs-v40 button{height:48px!important}
.auth-v40-form{gap:16px!important;margin-top:18px!important}
.auth-v40-form input{height:58px!important}
.auth-password-field{min-height:58px!important}
.auth-v40-submit{height:58px!important;margin-top:2px!important}
.auth-v40-footer{margin-top:17px!important;padding-bottom:3px!important}

/* Full-width swipeable At a Glance cards. */
.glance-shell{
  margin:14px 0 24px!important;
  padding-left:0!important;
  overflow:visible!important;
}
.glance-title-row{padding:0 0 11px!important}
.glance-carousel{
  width:100%!important;
  gap:12px!important;
  padding:0 0 4px!important;
  scroll-padding:0!important;
}
.glance-carousel>.glance-card{
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
  min-height:226px!important;
}
.glance-dots{padding-right:0!important;margin-top:10px!important}

/* Manual milestone: remove the loud yellow strip and let the numbers breathe. */
.v8-mile.manual{--mile-accent:var(--brand)!important}
.v8-mile-manual.clean{
  margin:0 15px 12px!important;
  padding:14px!important;
  border-radius:16px!important;
  background:#f8faf9!important;
  border:1px solid rgba(15,118,110,.08)!important;
  color:var(--ink)!important;
  font-weight:inherit!important;
}
.v8-mile-manual-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  gap:12px!important;
  align-items:end!important;
}
.v8-mile-manual-top>span{min-width:0!important}
.v8-mile-manual-top>span.target{text-align:right!important}
.v8-mile-manual-top small{
  display:block!important;
  margin-bottom:4px!important;
  color:var(--muted)!important;
  font-size:9px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}
.v8-mile-manual-top b{
  display:block!important;
  color:var(--ink)!important;
  font-size:14px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v8-mile-manual-percent{
  align-self:center!important;
  padding:6px 9px!important;
  border-radius:999px!important;
  background:var(--brand-soft)!important;
  color:var(--brand)!important;
  font-size:11px!important;
  font-weight:900!important;
}
.v8-mile-manual-track{
  height:7px!important;
  margin-top:13px!important;
  border-radius:999px!important;
  background:#e6efeb!important;
  overflow:hidden!important;
}
.v8-mile-manual-track i{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#1c9488 0%,#0f766e 100%)!important;
}
.v8-mile-manual-meta{
  display:flex!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:8px!important;
  color:var(--muted)!important;
  font-size:10px!important;
  font-weight:750!important;
}
.v8-mile.manual .v8-mile-foot{padding-top:11px!important}

/* Swipeable area cards */
.area-swipe-shell{
  margin-right:-16px!important;
  overflow:hidden!important;
}
.area-swipe-row{
  display:flex!important;
  gap:11px!important;
  overflow-x:auto!important;
  padding:1px 34px 7px 0!important;
  scroll-snap-type:x mandatory!important;
  overscroll-behavior-inline:contain!important;
  scrollbar-width:none!important;
}
.area-swipe-row::-webkit-scrollbar{display:none!important}
.area-swipe-card{
  --cat:var(--brand);
  --cat-soft:var(--brand-soft);
  --cat-ink:var(--brand);
  flex:0 0 min(78%,250px)!important;
  min-height:174px!important;
  scroll-snap-align:start!important;
  padding:15px!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff 0%,#fafcfb 100%)!important;
  border:1px solid var(--line)!important;
  box-shadow:0 10px 26px rgba(24,39,35,.07)!important;
}
.area-swipe-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.area-swipe-icon{
  width:44px!important;height:44px!important;border-radius:14px!important;
  display:grid!important;place-items:center!important;background:var(--cat-soft)!important;color:var(--cat-ink)!important;
}
.area-swipe-icon .ui-icon{width:21px!important;height:21px!important}
.area-swipe-head strong{font-size:23px!important;letter-spacing:-.04em!important;color:var(--cat-ink)!important}
.area-swipe-copy{margin-top:16px!important}
.area-swipe-copy b{display:block!important;font-size:18px!important;letter-spacing:-.035em!important;line-height:1.05!important}
.area-swipe-copy small{display:block!important;margin-top:4px!important;color:var(--muted)!important;font-size:10px!important}
.area-swipe-progress{display:block!important;height:7px!important;margin-top:18px!important;border-radius:999px!important;background:#edf1ef!important;overflow:hidden!important}
.area-swipe-progress em{display:block!important;height:100%!important;border-radius:inherit!important;background:var(--cat)!important}
.area-swipe-foot{display:flex!important;justify-content:space-between!important;gap:8px!important;margin-top:10px!important;color:var(--muted)!important;font-size:9px!important;font-weight:800!important}

@media(max-width:430px){
  .auth-v40{padding:0 12px 24px!important;grid-template-rows:minmax(350px,45dvh) auto 1fr!important}
  .auth-hero{min-height:350px!important;padding:calc(34px + env(safe-area-inset-top)) 18px 96px!important;border-radius:0 0 28px 28px!important}
  .auth-brand-block-v40 .auth-logo{width:60px!important;height:60px!important}
  .auth-brand-block-v40 h1{font-size:42px!important}
  .auth-hero-copy{margin-top:32px!important}
  .auth-hero-copy h2{font-size:39px!important}
  .auth-card-v40{width:calc(100% - 12px)!important;margin:-66px auto 0!important;padding:15px!important;border-radius:23px!important}
  .glance-carousel>.glance-card{flex-basis:100%!important;min-height:218px!important}
  .v8-mile-manual-top{grid-template-columns:minmax(0,1fr) auto!important}
  .v8-mile-manual-top>span.target{grid-column:1/-1;text-align:left!important;padding-top:2px!important}
  .area-swipe-card{flex-basis:82%!important;min-height:164px!important;padding:14px!important;border-radius:18px!important}
}


/* v45: keep the At-a-Glance greeting on one line */
.glance-card.glance-today .glance-card-head{
  display:block;
  position:relative;
}
.glance-card.glance-today .glance-card-head>div{
  min-width:0;
}
.glance-card.glance-today .glance-date{
  position:absolute;
  top:0;
  right:0;
  width:96px;
}
.glance-card.glance-today .glance-card-head h3{
  display:block;
  width:100%;
  margin-top:14px;
  white-space:nowrap;
  overflow:visible;
  font-family:var(--display);
  font-size:clamp(29px,7.4vw,38px);
  line-height:.94;
  letter-spacing:-.06em;
}
@media(max-width:430px){
  .glance-card.glance-today .glance-card-head h3{
    font-size:clamp(27px,7.1vw,33px);
  }
}
@media(max-width:360px){
  .glance-card.glance-today .glance-card-head h3{
    font-size:26px;
  }
}

/* v47: Mobbin-inspired focus, achievements, buddy and safety refinement */

/* destructive actions */
.danger-confirm{text-align:center;padding:10px 4px 6px;display:grid;justify-items:center}
.danger-confirm-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#fff0f0;color:var(--danger);margin-bottom:13px;border:1px solid rgba(217,93,93,.12)}
.danger-confirm-icon .ui-icon{width:24px;height:24px}.danger-confirm h2{margin:7px 0 8px;font-size:25px;letter-spacing:-.04em}.danger-confirm p{max-width:340px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.danger-confirm-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.danger-primary{background:var(--danger);color:#fff;box-shadow:0 10px 22px rgba(217,93,93,.18)}
.goal-delete-link{margin-top:6px;width:100%;min-height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--danger);font-size:12px;font-weight:850;background:#fff7f7;border:1px solid rgba(217,93,93,.10)}
.goal-delete-link .ui-icon{width:16px;height:16px}.goal-danger-zone{margin-top:16px;padding:13px;border-radius:15px;border:1px solid rgba(217,93,93,.12);background:#fffafa;display:flex;align-items:center;justify-content:space-between;gap:12px}.goal-danger-zone>div{display:flex;align-items:center;gap:10px;min-width:0}.goal-danger-zone>div>span{width:34px;height:34px;border-radius:11px;background:#fff0f0;color:var(--danger);display:grid;place-items:center}.goal-danger-zone b{display:block;font-size:12px}.goal-danger-zone small{display:block;margin-top:2px;font-size:9px;color:var(--muted)}.goal-danger-zone>button{min-height:34px;padding:0 12px;border-radius:10px;background:#fff;color:var(--danger);font-size:11px;font-weight:900;border:1px solid rgba(217,93,93,.16)}
.profile-settings-list .secondary-danger{margin-top:10px;border-top:1px solid rgba(217,93,93,.10)}
.profile-settings-list .secondary-danger>span{background:#fff2f2!important;color:var(--danger)!important}

/* profile icon containment fix */
.profile-stat-icon{overflow:hidden!important;border-radius:13px!important;width:44px!important;height:44px!important;flex:0 0 44px!important}
.profile-stat-icon .ui-icon{width:18px!important;height:18px!important;min-width:18px!important;overflow:hidden!important}
.profile-stat-icon.activity{background:#e8f5ef!important;color:var(--success)!important}

/* Pomodoro / focus timer: inspired by Tiimo/Oura restraint */
.focus-sheet-head{margin-bottom:6px}.pomo-v47{display:grid;gap:16px;padding-bottom:6px}.pomo-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:5px;border-radius:15px;background:#eef3f1}
.pomo-modes button{min-height:38px;border-radius:11px;color:var(--muted);font-size:10px;font-weight:850;transition:.2s ease}.pomo-modes button.active{background:#fff;color:var(--brand);box-shadow:0 5px 14px rgba(23,33,31,.08)}
.pomo-stage{display:grid;justify-items:center;padding:12px 0 2px}.pomo-ring{--angle:0deg;position:relative;width:min(74vw,270px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) var(--angle),#e8efec 0deg);padding:9px;transition:background .35s linear;box-shadow:0 20px 52px rgba(15,118,110,.10)}
.pomo-ring:before{content:"";position:absolute;inset:16px;border-radius:50%;border:1px solid rgba(15,118,110,.07)}
.pomo-ring.running{animation:pomoBreathe 3.2s ease-in-out infinite}.pomo-orbit-dot{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(15,118,110,.15),0 4px 10px rgba(23,33,31,.14);transform:rotate(var(--angle)) translateY(calc(-1 * min(37vw,135px))) rotate(calc(-1 * var(--angle)));transform-origin:center;transition:transform .35s linear;z-index:3}
.pomo-core{width:100%;height:100%;border-radius:50%;display:grid;align-content:center;justify-items:center;text-align:center;background:linear-gradient(180deg,#fff 0%,#fbfdfc 100%);box-shadow:inset 0 0 0 1px rgba(15,118,110,.08);padding:28px;position:relative;z-index:2}.pomo-core>span{font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--brand)}.pomo-core>b{display:block;margin-top:7px;font-family:var(--display);font-size:52px;line-height:.92;letter-spacing:-.055em}.pomo-core>small{max-width:190px;margin-top:10px;font-size:10px;line-height:1.45;color:var(--muted)}
.pomo-toggle{margin-top:-26px;position:relative;z-index:4;min-width:132px;height:52px;border-radius:999px;background:#17211f;color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;font-weight:900;box-shadow:0 12px 28px rgba(23,33,31,.20);transition:.2s ease}.pomo-toggle.running{background:var(--brand)}.pomo-toggle .ui-icon{width:18px;height:18px}.pomo-finish{margin:10px 0 0;font-size:10px;color:var(--muted);font-weight:700}
.pomo-goal-picker{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:10px 12px;box-shadow:var(--shadow-xs)}.pomo-goal-picker>span:first-child{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.pomo-goal-picker>div{min-width:0}.pomo-goal-picker small{display:block;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pomo-goal-picker select{width:100%;border:0;padding:2px 0 0;background:transparent;color:var(--ink);font-weight:800;font-size:12px;outline:0;appearance:none}.pomo-goal-picker>.ui-icon{width:15px;height:15px;color:var(--muted)}
.pomo-session-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pomo-session-strip>div{padding:11px 8px;border-radius:13px;background:#f6f9f7;text-align:center}.pomo-session-strip b{display:block;font-size:18px;letter-spacing:-.04em}.pomo-session-strip span{display:block;margin-top:2px;font-size:8px;color:var(--muted)}.pomo-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.pomo-bottom-row p{margin:0;font-size:10px;color:var(--muted)}.pomo-bottom-row p b{color:var(--ink)}.pomo-bottom-row button{font-size:10px;font-weight:850;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
@keyframes pomoBreathe{0%,100%{transform:scale(1);box-shadow:0 20px 52px rgba(15,118,110,.10)}50%{transform:scale(1.012);box-shadow:0 24px 60px rgba(15,118,110,.16)}}

/* Capture pad: fast composer + calm inbox */
.capture-v47{display:grid;gap:18px}.capture-composer{border:1px solid rgba(15,118,110,.10);border-radius:18px;background:linear-gradient(180deg,#ffffff 0%,#f8fbfa 100%);padding:12px;box-shadow:0 10px 30px rgba(23,33,31,.06)}.capture-composer textarea{width:100%;min-height:118px;resize:none;border:0;background:transparent;padding:4px;font-size:15px;line-height:1.5;color:var(--ink);outline:0}.capture-composer textarea::placeholder{color:#a5aeaa}.capture-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--line)}.capture-kinds{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}.capture-kinds::-webkit-scrollbar{display:none}.capture-kinds button{height:31px;border-radius:999px;padding:0 9px;display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--muted);font-size:9px;font-weight:850}.capture-kinds button.active{background:var(--brand-soft);color:var(--brand)}.capture-kinds .ui-icon{width:13px;height:13px}.capture-send{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 8px 16px rgba(15,118,110,.18)}.capture-send .ui-icon{width:17px;height:17px}.capture-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.capture-section-head h3{margin:4px 0 0;font-size:19px;letter-spacing:-.03em}.capture-section-head>span{font-size:9px;color:var(--muted);font-weight:800}.capture-list{display:grid;gap:8px}.capture-item{display:grid;grid-template-columns:27px 34px minmax(0,1fr) 30px;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.capture-check{width:23px;height:23px;border-radius:50%;border:1.5px solid rgba(15,118,110,.35);color:#fff;display:grid;place-items:center}.capture-item.done .capture-check{background:var(--brand);border-color:var(--brand)}.capture-check .ui-icon{width:12px;height:12px}.capture-kind{width:34px;height:34px;border-radius:11px;background:#f1f6f3;color:var(--brand);display:grid;place-items:center}.capture-kind .ui-icon{width:16px;height:16px}.capture-item>div{min-width:0}.capture-item b{display:block;font-size:11px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.capture-item small{display:block;margin-top:2px;font-size:8px;color:var(--muted)}.capture-item.done{opacity:.58}.capture-item.done b{text-decoration:line-through}.capture-delete{width:28px;height:28px;border-radius:9px;color:#9aa49f;display:grid;place-items:center}.capture-delete:hover{background:#fff1f1;color:var(--danger)}.capture-delete .ui-icon{width:14px;height:14px}.capture-empty{padding:24px 16px;text-align:center;border:1px dashed rgba(15,118,110,.14);border-radius:16px;color:var(--muted)}.capture-empty>span{width:42px;height:42px;margin:0 auto 8px;border-radius:13px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.capture-empty b{display:block;color:var(--ink);font-size:12px}.capture-empty p{max-width:250px;margin:5px auto 0;font-size:9px;line-height:1.5}

/* Achievements: medallions + next-up progress, no awkward clipped corners */
.achievement-preview-v47{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;overflow:visible}.achievement-badge{text-align:center;min-width:0}.achievement-medal{width:62px;height:62px;margin:0 auto 8px;border-radius:50%;position:relative;display:grid;place-items:center;background:#f0f3f1;color:#89938f;border:1px solid rgba(23,33,31,.07);box-shadow:inset 0 0 0 6px #fafbfa}.achievement-medal>span{display:grid;place-items:center}.achievement-medal .ui-icon{width:22px;height:22px}.achievement-medal>i{position:absolute;right:-2px;bottom:1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;border:3px solid #fff}.achievement-medal>i .ui-icon{width:10px;height:10px}.achievement-medal>em{font-style:normal;font-size:10px;font-weight:900;color:var(--muted)}.achievement-badge.unlocked.consistency .achievement-medal{background:#eaf7f0;color:#22805e;box-shadow:inset 0 0 0 6px #f7fcf9}.achievement-badge.unlocked.progress .achievement-medal{background:#edf3ff;color:#356fd0;box-shadow:inset 0 0 0 6px #f8faff}.achievement-badge.unlocked.journey .achievement-medal{background:#fff5dc;color:#ad760c;box-shadow:inset 0 0 0 6px #fffaf0}.achievement-badge>b{display:block;font-size:10px;line-height:1.25}.achievement-badge>small{display:block;margin-top:3px;font-size:7px;line-height:1.25;color:var(--muted)}.achievement-badge.locked{opacity:.58}.achievement-badge.compact .achievement-medal{width:56px;height:56px}.achievement-badge.compact>small{display:none}
.achievements-v47{padding-bottom:14px}.achievement-hero-v47{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:14px;align-items:center;padding:17px;border-radius:18px;background:linear-gradient(145deg,#173f39 0%,#125c53 100%);color:#fff;box-shadow:0 18px 38px rgba(20,54,48,.14)}.achievement-hero-v47 .eyebrow{color:#b7ded4}.achievement-hero-v47 h2{margin:6px 0 5px;font-family:var(--display);font-size:27px;line-height:.98;letter-spacing:-.04em}.achievement-hero-v47 p{margin:0;color:rgba(255,255,255,.68);font-size:9px;line-height:1.5}.achievement-hero-ring{width:88px;height:88px;border-radius:50%;padding:7px;background:conic-gradient(#a9ddd0 var(--angle),rgba(255,255,255,.14) 0deg)}.achievement-hero-ring>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;text-align:center;background:#173f39}.achievement-hero-ring b{display:block;font-size:20px}.achievement-hero-ring small{display:block;margin-top:-18px;font-size:7px;color:rgba(255,255,255,.60)}.achievement-v47-section{margin-top:22px}.achievement-v47-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:11px}.achievement-v47-head h2{margin:4px 0 0;font-size:20px;letter-spacing:-.035em}.achievement-v47-head>span{font-size:9px;color:var(--muted);font-weight:800}.achievement-recent-row{display:flex;gap:15px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:none}.achievement-recent-row::-webkit-scrollbar{display:none}.achievement-recent-row .achievement-badge{flex:0 0 78px}.achievement-next-list{display:grid;gap:8px}.achievement-next-list article{display:grid;grid-template-columns:40px minmax(0,1fr) 38px;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.next-badge-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f2f5f3;color:var(--muted)}.next-badge-icon.consistency{background:#eef8f3;color:#26805e}.next-badge-icon.progress{background:#eff4fc;color:#356fd0}.next-badge-icon.journey{background:#fff7e4;color:#aa7512}.next-badge-icon .ui-icon{width:18px;height:18px}.achievement-next-list b{display:block;font-size:11px}.achievement-next-list small{display:block;margin-top:2px;font-size:8px;color:var(--muted)}.achievement-next-list i{display:block;height:4px;border-radius:999px;background:#edf1ef;overflow:hidden;margin-top:7px}.achievement-next-list i em{display:block;height:100%;border-radius:inherit;background:var(--brand)}.achievement-next-list strong{text-align:right;font-size:10px;color:var(--brand)}.achievement-grid-v47{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px;padding:2px 0}

/* Buddy page: privacy-first, at-a-glance, obvious actions */
.buddy-page-v47{padding-bottom:8px}.buddy-title-v47{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 1px 14px}.buddy-title-v47 h1{margin:4px 0 4px;font-size:30px;line-height:1;letter-spacing:-.05em}.buddy-title-v47 p{margin:0;color:var(--muted);font-size:10px}.buddy-avatar-v47{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#173f39,#0f766e);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:25px;box-shadow:0 12px 26px rgba(15,118,110,.16)}.buddy-connected-v47{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs)}.buddy-connected-v47>div:first-child{min-width:0}.buddy-connected-v47 b{display:block;margin-top:5px;font-size:13px}.buddy-connected-v47 small{display:block;margin-top:2px;font-size:9px;color:var(--muted)}.buddy-quick-actions{display:flex;gap:6px;flex:none}.buddy-quick-actions button{height:34px;border-radius:10px;padding:0 9px;display:flex;align-items:center;gap:5px;background:var(--brand-soft);color:var(--brand);font-size:9px;font-weight:900}.buddy-quick-actions .ui-icon{width:13px;height:13px}.connection-status{display:inline-flex;align-items:center;gap:6px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--success)}.connection-status i{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(20,129,95,.09)}
.buddy-overview-v47{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin-top:14px;padding:15px;border-radius:18px;background:linear-gradient(145deg,#173f39,#154b44);color:#fff;box-shadow:0 18px 36px rgba(20,54,48,.12)}.buddy-overview-ring{width:92px;height:92px;border-radius:50%;padding:7px;background:conic-gradient(#a9ddd0 var(--angle),rgba(255,255,255,.12) 0deg)}.buddy-overview-ring>span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;text-align:center;background:#173f39}.buddy-overview-ring b{display:block;font-size:23px}.buddy-overview-ring small{display:block;margin-top:-19px;font-size:7px;color:rgba(255,255,255,.62)}.buddy-overview-copy .eyebrow{color:#acd8ce}.buddy-overview-copy h2{margin:6px 0 10px;font-size:18px;line-height:1.08;letter-spacing:-.035em}.buddy-overview-copy>div{display:flex;gap:11px;flex-wrap:wrap}.buddy-overview-copy>div span{font-size:8px;color:rgba(255,255,255,.65)}.buddy-overview-copy>div b{color:#fff;font-size:11px}
.buddy-goal-list-v47{display:grid;gap:9px}.buddy-goal-v47{border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs);padding:11px}.buddy-goal-open{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left}.buddy-goal-open.static{cursor:default}.buddy-goal-icon{width:42px;height:42px;border-radius:13px;background:var(--cat-soft);color:var(--cat-ink);display:grid;place-items:center}.buddy-goal-icon.neutral{background:#f1f4f2;color:var(--muted)}.buddy-goal-icon .ui-icon{width:19px;height:19px}.buddy-goal-open>div{min-width:0}.buddy-goal-open small{display:block;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.buddy-goal-open b{display:block;margin-top:3px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buddy-goal-open i{display:block;height:5px;border-radius:999px;background:#edf1ef;overflow:hidden;margin-top:8px}.buddy-goal-open i em{display:block;height:100%;border-radius:inherit;background:var(--cat,var(--brand))}.buddy-goal-open>strong{font-size:12px;color:var(--cat-ink,var(--brand))}.buddy-goal-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.buddy-goal-foot>span{display:inline-flex;align-items:center;gap:3px;color:var(--muted);font-size:8px}.buddy-goal-foot>span .ui-icon{width:11px;height:11px}.buddy-goal-foot>button{margin-left:auto;display:flex;align-items:center;gap:5px;color:var(--brand);font-size:9px;font-weight:900}.buddy-goal-foot>button .ui-icon{width:13px;height:13px}
.buddy-activity-row{display:flex;gap:9px;overflow-x:auto;padding:1px 1px 7px;scroll-snap-type:x proximity;scrollbar-width:none}.buddy-activity-row::-webkit-scrollbar{display:none}.buddy-activity-row article{flex:0 0 178px;scroll-snap-align:start;padding:12px;border-radius:15px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-xs);display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px}.buddy-activity-row article>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.buddy-activity-row article>span .ui-icon{width:16px;height:16px}.buddy-activity-row small{display:block;font-size:7px;color:var(--soft)}.buddy-activity-row b{display:block;margin-top:3px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.buddy-activity-row p{margin:3px 0 0;font-size:8px;color:var(--muted);line-height:1.35}

@media(max-width:390px){
  .pomo-ring{width:min(76vw,248px)}
  .pomo-core>b{font-size:47px}
  .pomo-modes button{font-size:9px}
  .achievement-grid-v47{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 5px}
  .achievement-preview-v47{gap:5px}.achievement-badge.compact .achievement-medal{width:50px;height:50px}
  .buddy-overview-v47{grid-template-columns:84px minmax(0,1fr);gap:11px}.buddy-overview-ring{width:82px;height:82px}.buddy-quick-actions button{padding:0 7px}.buddy-quick-actions button:last-child span{display:none}
}

/* v48: true mobile auth, refined header, install app, mutual-unpair */
.app-brand-v48{
  min-width:0;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:4px 6px 4px 2px!important;
  border-radius:14px!important;
}
.app-brand-icon{
  width:39px;height:39px;flex:0 0 39px;
  display:grid;place-items:center;
  border-radius:12px;
  background:#eef7f3;
  box-shadow:inset 0 0 0 1px rgba(15,118,110,.07);
}
.app-brand-icon .brand-logo{width:31px!important;height:31px!important;object-fit:contain!important}
.app-brand-name{
  font-family:var(--display);
  font-size:28px;
  line-height:1;
  letter-spacing:-.055em;
  color:var(--ink);
  white-space:nowrap;
}
.app-space-chip{
  min-width:0;max-width:94px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:5px 8px;
  border-radius:999px;
  background:#f0f3f1;
  color:#69736f;
  font-size:9px;
  font-weight:850;
  letter-spacing:.015em;
}
.topbar{min-height:64px!important;padding-top:max(10px,env(safe-area-inset-top))!important;padding-bottom:9px!important}

/* Login is a real mobile screen now: no desktop card squeezed into the viewport. */
@media (max-width:600px){
  .auth{
    min-height:100dvh!important;
    width:100%!important;
    padding:0!important;
    display:block!important;
    overflow-x:hidden!important;
    background:#f4f7f5!important;
  }
  .auth.hidden{display:none!important}
  .auth-v40{
    width:100%!important;
    max-width:none!important;
    min-height:100dvh!important;
    padding:0!important;
    margin:0!important;
    display:grid!important;
    grid-template-rows:minmax(300px,40dvh) minmax(0,1fr)!important;
    gap:0!important;
  }
  .auth-hero{
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:calc(env(safe-area-inset-top) + 34px) 24px 76px!important;
    border-radius:0 0 34px 34px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    background:linear-gradient(155deg,#103f39 0%,#0f766e 68%,#18867c 100%)!important;
    box-shadow:none!important;
  }
  .auth-brand-block-v40{gap:12px!important}
  .auth-brand-block-v40 .auth-logo{width:58px!important;height:58px!important}
  .auth-brand-block-v40 h1{font-size:42px!important}
  .auth-brand-block-v40 p{font-size:12px!important}
  .auth-hero-copy{margin-top:34px!important;max-width:310px!important}
  .auth-hero-copy h2{font-size:42px!important;line-height:.94!important;margin:9px 0 8px!important}
  .auth-hero-copy p{font-size:14px!important;line-height:1.55!important;max-width:280px!important}
  .auth-card-v40{
    width:auto!important;
    min-height:calc(60dvh + 34px)!important;
    align-self:stretch!important;
    margin:-34px 0 0!important;
    padding:30px 22px calc(28px + env(safe-area-inset-bottom))!important;
    border-radius:32px 32px 0 0!important;
    background:#fff!important;
    box-shadow:0 -12px 30px rgba(21,43,38,.06)!important;
    backdrop-filter:none!important;
  }
  .auth-tabs-v40{padding:5px!important;border-radius:15px!important;gap:5px!important}
  .auth-tabs-v40 button{height:48px!important;border-radius:11px!important;font-size:13px!important}
  .auth-v40-form{gap:17px!important;margin-top:23px!important}
  .auth-v40-form .field{gap:8px!important}
  .auth-v40-form input{height:58px!important;border-radius:15px!important;font-size:16px!important}
  .auth-password-field{border-radius:15px!important}
  .auth-v40-submit{height:58px!important;border-radius:15px!important;margin-top:3px!important}
  .auth-v40-footer{margin-top:22px!important;font-size:10px!important;color:#929d98!important}
}
@media (min-width:601px){
  .auth-v40{width:min(100%,460px)!important}
  .auth-hero{padding:30px 28px 96px!important}
  .auth-card-v40{margin:-68px 14px 0!important;padding:18px 18px 22px!important}
}

/* PWA install */
.install-sheet-v48{display:grid;gap:17px;padding-bottom:4px}
.install-app-preview{display:grid;grid-template-columns:58px minmax(0,1fr) 30px;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f8fbfa 100%)}
.install-app-preview img{width:58px;height:58px;border-radius:15px;object-fit:cover;box-shadow:0 8px 18px rgba(23,33,31,.09)}
.install-app-preview b{display:block;font-family:var(--display);font-size:24px;letter-spacing:-.04em}.install-app-preview small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.install-app-preview>span{width:28px;height:28px;border-radius:50%;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.install-app-preview>span .ui-icon{width:14px;height:14px}
.install-sheet-v48 h3{margin:2px 0 -8px;font-size:20px;letter-spacing:-.03em}.install-sheet-v48>p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.install-steps{display:grid;gap:9px}.install-steps>div{display:grid;grid-template-columns:28px 38px minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border-radius:15px;background:#f7f9f8;border:1px solid rgba(23,33,31,.05)}.install-steps i{font-style:normal;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--muted);font-size:10px;font-weight:900;border:1px solid var(--line)}.install-steps>div>span{width:36px;height:36px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center}.install-steps .ui-icon{width:17px;height:17px}.install-steps p{margin:0;font-size:11px;line-height:1.4;color:var(--muted)}.install-steps p b{color:var(--ink)}
.install-benefits{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}.install-benefits::-webkit-scrollbar{display:none}.install-benefits span{display:flex;align-items:center;gap:6px;white-space:nowrap;padding:8px 9px;border-radius:999px;background:#eef5f2;color:#47625b;font-size:9px;font-weight:800}.install-benefits .ui-icon{width:13px;height:13px}

/* Mutual unpair */
.buddy-unpair-alert{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;margin:0 0 14px;padding:12px;border-radius:17px;background:#fff8e9;border:1px solid rgba(181,126,25,.12);box-shadow:var(--shadow-xs)}
.buddy-unpair-alert>span{width:42px;height:42px;border-radius:13px;background:#fff1c9;color:#986408;display:grid;place-items:center}.buddy-unpair-alert>span .ui-icon{width:18px;height:18px}.buddy-unpair-alert small{display:block;color:#9b781e;font-size:8px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.buddy-unpair-alert b{display:block;margin-top:3px;font-size:12px;line-height:1.25}.buddy-unpair-alert p{margin:3px 0 0;color:var(--muted);font-size:9px}.buddy-unpair-alert>button{min-height:34px;padding:0 10px;border-radius:10px;background:#fff;color:#8d6210;font-size:9px;font-weight:900;border:1px solid rgba(181,126,25,.14)}
.buddy-unpair-alert.waiting{background:#f2f7f5;border-color:rgba(15,118,110,.09)}.buddy-unpair-alert.waiting>span{background:#e4f2ed;color:var(--brand)}.buddy-unpair-alert.waiting small,.buddy-unpair-alert.waiting>button{color:var(--brand)}.buddy-unpair-alert.waiting>button{border-color:rgba(15,118,110,.12)}
.unpair-request-sheet,.unpair-code-sheet{display:grid;gap:14px;text-align:center;padding:2px 1px 4px}.unpair-request-icon,.unpair-lock-mark{width:64px;height:64px;margin:0 auto;border-radius:20px;background:#fff0f0;color:var(--danger);display:grid;place-items:center}.unpair-lock-mark{background:var(--brand-soft);color:var(--brand)}.unpair-request-icon .ui-icon,.unpair-lock-mark .ui-icon{width:26px;height:26px}.unpair-request-sheet h3,.unpair-code-sheet h3{margin:0;font-size:21px;letter-spacing:-.035em}.unpair-request-sheet>p,.unpair-code-sheet>p{max-width:340px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.55}.unpair-request-sheet ol{margin:0;text-align:left;display:grid;gap:8px;padding:12px 14px 12px 34px;border-radius:16px;background:#f7f9f8;border:1px solid var(--line);color:#59645f;font-size:11px;line-height:1.4}.unpair-data-note{display:flex;align-items:flex-start;gap:8px;text-align:left;padding:10px 11px;border-radius:13px;background:#f0f6f3;color:#557069;font-size:10px;line-height:1.45}.unpair-data-note .ui-icon{width:15px;height:15px;flex:none;margin-top:1px}.unpair-flow-visual{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0}.unpair-flow-visual>span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#f1f6f4;color:var(--brand)}.unpair-flow-visual>span .ui-icon{width:20px;height:20px}.unpair-flow-visual>i{color:#aab4af}.unpair-flow-visual>i .ui-icon{width:16px;height:16px}.unpair-code-input{width:100%;height:68px;text-align:center;font-size:29px!important;font-weight:900;letter-spacing:.28em;padding-left:.28em!important;border-radius:17px!important;font-variant-numeric:tabular-nums}.unpair-code-sheet form{display:grid;gap:10px}.unpair-cancel-link{justify-self:center;color:var(--muted);font-size:10px;font-weight:850;padding:7px}.unpair-code-display{width:100%;min-height:92px;border-radius:20px;background:#f3f8f6;border:1px solid rgba(15,118,110,.10);display:flex;align-items:center;justify-content:center;gap:12px;position:relative;color:var(--ink)}.unpair-code-display b{font-size:34px;letter-spacing:.08em;font-variant-numeric:tabular-nums}.unpair-code-display>i{width:10px;height:2px;background:#aab7b2;border-radius:999px}.unpair-code-display small{position:absolute;bottom:8px;left:0;right:0;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}

@media(max-width:390px){
  .app-brand-icon{width:36px;height:36px;flex-basis:36px}.app-brand-icon .brand-logo{width:29px!important;height:29px!important}.app-brand-name{font-size:26px}.app-space-chip{max-width:74px;padding:5px 7px}
  .buddy-unpair-alert{grid-template-columns:38px minmax(0,1fr)}.buddy-unpair-alert>button{grid-column:2;justify-self:start}.buddy-unpair-alert>span{width:38px;height:38px}
}

/* v49: calmer loading, persistent focus, metric-first progress, templates */
.app-space-chip{display:none!important}
.app-brand-v48{gap:8px!important;padding-right:2px!important}
.app-brand-name{font-size:30px!important}

/* Launch: one brand moment, not a fake loading page. */
.boot{background:linear-gradient(155deg,#123f39 0%,#0e5e56 62%,#0f766e 100%)!important;overflow:hidden}
.boot:before,.boot:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.07)}
.boot:before{width:340px;height:340px;right:-190px;top:-170px}.boot:after{width:260px;height:260px;left:-170px;bottom:-130px}
.boot-v49{position:relative;z-index:1;display:grid;justify-items:center;gap:18px;color:#fff}
.boot-orbit{position:relative;width:126px;height:126px;display:grid;place-items:center}
.boot-orbit:before{content:"";position:absolute;inset:7px;border-radius:50%;border:1px solid rgba(255,255,255,.15);border-left-color:rgba(255,255,255,.52);animation:bootSpin 2.2s linear infinite}
.boot-orbit:after{content:"";position:absolute;inset:21px;border-radius:50%;background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);animation:bootPulse 1.8s ease-in-out infinite}
.boot-orbit>span{position:relative;z-index:3;width:76px;height:76px;border-radius:25px;display:grid;place-items:center;background:rgba(255,255,255,.95);box-shadow:0 20px 44px rgba(0,0,0,.16);animation:bootMark 1.8s ease-in-out infinite}
.boot-orbit .boot-logo{width:58px!important;height:58px!important;animation:none!important;filter:none!important}
.boot-orbit>i{position:absolute;width:10px;height:10px;border-radius:50%;z-index:4;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.boot-orbit>i:nth-child(1){background:#37a8ff;left:5px;top:55px;animation:bootDotA 1.9s ease-in-out infinite}
.boot-orbit>i:nth-child(2){background:#2fd29d;right:8px;top:34px;animation:bootDotA 1.9s .22s ease-in-out infinite}
.boot-orbit>i:nth-child(3){background:#f4b43a;right:28px;bottom:8px;animation:bootDotA 1.9s .44s ease-in-out infinite}
.boot-v49>b{font-family:var(--display);font-size:36px;letter-spacing:-.055em;line-height:1}
.boot-line{width:88px;height:3px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.boot-line i{display:block;width:36%;height:100%;border-radius:inherit;background:#b9e4d9;animation:bootSweep 1.25s cubic-bezier(.55,0,.3,1) infinite}
@keyframes bootSpin{to{transform:rotate(360deg)}}@keyframes bootPulse{0%,100%{transform:scale(.96);opacity:.6}50%{transform:scale(1.08);opacity:1}}@keyframes bootMark{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.02)}}@keyframes bootDotA{0%,100%{transform:scale(.75);opacity:.45}50%{transform:scale(1.18);opacity:1}}@keyframes bootSweep{0%{transform:translateX(-120%)}100%{transform:translateX(380%)}}

/* Keep the active focus session visible everywhere. */
.focus-live{position:fixed;z-index:70;left:50%;bottom:calc(88px + var(--safe-bottom));transform:translateX(-50%);width:min(430px,calc(100% - 28px));display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:8px;padding:7px 8px 7px 9px;border-radius:20px;background:rgba(18,55,50,.96);color:#fff;box-shadow:0 18px 42px rgba(15,50,44,.24);backdrop-filter:blur(18px);animation:focusLiveIn .28s cubic-bezier(.22,1,.36,1) both}
.focus-live.hidden{display:none!important}.focus-live-main{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;text-align:left;color:inherit;min-width:0}.focus-live-ring{--angle:0deg;width:38px;height:38px;padding:3px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#a9dfd2 var(--angle),rgba(255,255,255,.12) 0)}.focus-live-ring i{width:100%;height:100%;border-radius:50%;background:#173f39;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.focus-live-copy{min-width:0}.focus-live-copy small{display:inline;color:#a9dfd2;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.focus-live-copy b{display:inline;margin-left:7px;font-size:15px;font-variant-numeric:tabular-nums}.focus-live-copy em{display:block;margin-top:2px;color:rgba(255,255,255,.67);font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-live-toggle{width:42px;height:42px;border-radius:14px;background:#fff;color:#173f39;display:grid;place-items:center}.focus-live-toggle .ui-icon{width:17px;height:17px}@keyframes focusLiveIn{from{opacity:0;transform:translate(-50%,12px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}

/* Pomodoro: timer first, chrome second. */
.focus-sheet-head .sheet-kicker{display:none}.focus-sheet-head h2{font-family:var(--display);font-size:32px!important;letter-spacing:-.045em!important}.pomo-v47{gap:18px!important}.pomo-modes{background:#f0f4f2!important;border-radius:18px!important;padding:5px!important}.pomo-modes button{height:42px!important;border-radius:14px!important;font-size:10px!important;color:#74817c!important}.pomo-modes button.active{background:#fff!important;color:var(--brand)!important;box-shadow:0 8px 18px rgba(23,33,31,.07)!important}.pomo-stage{padding:14px 0 4px!important;display:grid!important;justify-items:center!important;gap:14px!important}.pomo-ring{width:min(76vw,300px)!important;height:min(76vw,300px)!important;padding:10px!important;background:conic-gradient(#16877c var(--angle),#e7efec 0)!important;box-shadow:0 22px 50px rgba(15,118,110,.08)!important}.pomo-ring:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(15,118,110,.08);opacity:.7}.pomo-ring.running:after{animation:pomoHalo 2.4s ease-in-out infinite}.pomo-core{background:#fbfdfc!important;box-shadow:inset 0 0 0 1px rgba(15,118,110,.06)!important}.pomo-core>span{font-size:9px!important}.pomo-core>b{font-family:var(--sans)!important;font-size:58px!important;font-weight:750!important;letter-spacing:-.055em!important;font-variant-numeric:tabular-nums}.pomo-core>small{max-width:180px!important;font-size:10px!important}.pomo-orbit-dot{width:13px!important;height:13px!important;background:#fff!important;border:3px solid var(--brand)!important;box-shadow:0 5px 16px rgba(15,118,110,.24)!important}.pomo-toggle{width:72px!important;height:72px!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center!important;background:#173f39!important;color:#fff!important;box-shadow:0 16px 34px rgba(23,63,57,.22)!important}.pomo-toggle span{display:none!important}.pomo-toggle .ui-icon{width:25px!important;height:25px!important}.pomo-toggle.running{background:#fff!important;color:#173f39!important;box-shadow:0 10px 28px rgba(23,63,57,.12),inset 0 0 0 1px var(--line)!important}.pomo-finish{font-size:10px!important;color:var(--muted)!important}.pomo-goal-picker{border-radius:18px!important;padding:13px!important;background:#fff!important;box-shadow:var(--shadow-xs)!important}.pomo-session-strip{border-radius:18px!important;background:#f5f8f6!important;padding:12px!important}.pomo-bottom-row{padding:0 3px!important}@keyframes pomoHalo{0%,100%{transform:scale(.98);opacity:.35}50%{transform:scale(1.035);opacity:.8}}

/* Metric-first logging cards */
.metric-log-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.quick-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding-bottom:6px}.metric-log-card{--metric-accent:var(--cat);position:relative;display:grid;grid-template-rows:1fr auto;min-width:0;min-height:172px;border-radius:20px;background:#fff;border:1px solid rgba(23,33,31,.07);box-shadow:0 10px 28px rgba(24,39,35,.055);overflow:hidden}.metric-log-main{min-width:0;display:grid;align-content:start;gap:15px;padding:14px;text-align:left}.metric-log-head{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.metric-log-icon{width:38px;height:38px;border-radius:13px;background:var(--cat-soft);color:var(--cat-ink);display:grid;place-items:center}.metric-log-icon .ui-icon{width:18px;height:18px}.metric-log-head small{display:block;color:var(--cat-ink);font-size:7px;text-transform:uppercase;letter-spacing:.09em;font-weight:900}.metric-log-head b{display:block;margin-top:2px;font-size:13px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-log-action{height:43px;border-top:1px solid rgba(23,33,31,.055);display:flex;align-items:center;justify-content:center;gap:6px;color:var(--cat-ink);background:color-mix(in srgb,var(--cat-soft) 70%,#fff);font-size:10px;font-weight:900}.metric-log-action .ui-icon{width:14px;height:14px}.metric-log-action.set{color:#5c6d67;background:#f7f9f8}
.metric-object{display:grid;align-items:end;gap:8px;min-width:0}.metric-number b{display:block;font-size:28px;line-height:.94;letter-spacing:-.055em;font-weight:900;color:var(--ink)}.metric-number small{display:block;margin-top:5px;color:var(--muted);font-size:8px;line-height:1.35}.metric-object.weight,.metric-object.water,.metric-object.sleep,.metric-object.savings,.metric-object.quran,.metric-object.default{grid-template-columns:minmax(0,1fr) 64px}.metric-spark{width:64px;align-self:center;color:var(--cat);opacity:.9}.metric-spark svg{width:100%;height:36px}.water-vessel{position:relative;justify-self:end;width:45px;height:62px;border-radius:10px 10px 15px 15px;background:#eef5f8;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(42,139,180,.08)}.water-vessel i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#78c9ed,#2f9fd2);border-radius:8px 8px 12px 12px;transition:height .55s cubic-bezier(.22,1,.36,1)}.water-vessel span{position:absolute;inset:0;display:grid;place-items:center;font-size:9px;font-weight:900;color:#19556f}.metric-ring{--p:0deg;justify-self:end;width:58px;height:58px;border-radius:50%;padding:7px;background:conic-gradient(var(--cat) var(--p),#edf2f0 0);display:grid;place-items:center}.metric-ring:before{content:"";grid-area:1/1;width:100%;height:100%;border-radius:50%;background:#fff}.metric-ring span{grid-area:1/1;position:relative;font-size:10px;font-weight:900;color:var(--cat-ink)}.metric-object.limit{grid-template-columns:1fr}.limit-gauge{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;height:12px}.limit-gauge:before{content:"";grid-area:1/1;width:100%;height:7px;border-radius:999px;background:#edf1ef}.limit-gauge i{grid-area:1/1;height:7px;border-radius:999px;background:var(--cat);z-index:1}.limit-gauge span{font-size:9px;font-weight:900;color:var(--cat-ink)}.savings-stack{align-self:center}.savings-stack>span{display:block;text-align:right;font-size:10px;font-weight:900;color:#8b6a18}.savings-stack i{display:block;width:64px;height:7px;border-radius:999px;background:#f2ead7;overflow:hidden;margin-top:7px}.savings-stack em{display:block;height:100%;background:#d9a533;border-radius:inherit}.page-stack{position:relative;justify-self:end;width:60px;height:54px}.page-stack i{position:absolute;right:7px;width:42px;height:34px;border-radius:7px;background:#e9f5ef;border:1px solid rgba(15,118,110,.10)}.page-stack i:nth-child(1){top:14px;right:0}.page-stack i:nth-child(2){top:7px;right:7px}.page-stack i:nth-child(3){top:0;right:14px}.page-stack span{position:absolute;right:19px;top:12px;font-size:9px;font-weight:900;color:var(--brand)}

/* Goal progress cards: fewer tiny labels, larger useful values. */
.progress-goal-list{display:grid;gap:12px}.progress-goal-card{border-radius:22px;background:#fff;border:1px solid rgba(23,33,31,.07);box-shadow:0 11px 30px rgba(24,39,35,.055);overflow:hidden}.progress-goal-main{width:100%;padding:15px 15px 12px;text-align:left;display:grid;gap:15px}.progress-goal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress-goal-name{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.progress-goal-icon{width:42px;height:42px;border-radius:14px;background:var(--cat-soft);color:var(--cat-ink);display:grid;place-items:center}.progress-goal-icon .ui-icon{width:19px;height:19px}.progress-goal-name small{display:flex;align-items:center;gap:4px;color:var(--cat-ink);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.progress-goal-name small .ui-icon{width:11px;height:11px}.progress-goal-name b{display:block;margin-top:3px;font-size:17px;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-goal-score{font-size:22px;font-weight:950;color:var(--cat-ink)}.progress-goal-card .metric-object{padding:2px 2px 0}.progress-goal-card .metric-number b{font-size:34px}.progress-goal-card .metric-object.weight,.progress-goal-card .metric-object.water,.progress-goal-card .metric-object.sleep,.progress-goal-card .metric-object.savings,.progress-goal-card .metric-object.quran,.progress-goal-card .metric-object.default{grid-template-columns:minmax(0,1fr) 92px}.progress-goal-card .metric-spark{width:92px}.progress-goal-card .metric-ring{width:72px;height:72px}.progress-goal-card .water-vessel{width:52px;height:72px}.progress-goal-card .savings-stack i{width:90px}.progress-goal-card .page-stack{transform:scale(1.12);transform-origin:right center}.progress-goal-rail{height:7px;border-radius:999px;background:#edf1ef;overflow:hidden}.progress-goal-rail i{display:block;height:100%;border-radius:inherit;background:var(--cat);transition:width .55s cubic-bezier(.22,1,.36,1)}.progress-goal-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px 12px 15px;border-top:1px solid rgba(23,33,31,.055)}.progress-context{font-size:9px;font-weight:800;color:var(--muted)}.progress-context.improving{color:var(--success)}.progress-context.worse{color:var(--danger)}.progress-context .ui-icon{width:12px;height:12px;vertical-align:-2px;margin-right:3px}.progress-goal-actions{display:flex;align-items:center;gap:7px}.progress-goal-actions>button:not(.round-arrow){height:36px;padding:0 10px;border-radius:12px;background:var(--cat-soft);color:var(--cat-ink);display:flex;align-items:center;gap:5px;font-size:9px;font-weight:900}.progress-goal-actions .ui-icon{width:14px;height:14px}.round-arrow{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted)}.round-arrow .ui-icon{width:14px;height:14px}

/* Templates */
.create-icon.template{background:#eef5f2!important;color:var(--brand)!important}.sheet-subcopy{margin:5px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.goal-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:4px}.goal-template-card{min-width:0;min-height:184px;padding:13px;border-radius:20px;background:#fff;border:1px solid rgba(23,33,31,.07);box-shadow:0 10px 28px rgba(24,39,35,.05);display:grid;grid-template-rows:auto 1fr auto;gap:12px;text-align:left}.goal-template-top{display:grid;grid-template-columns:35px minmax(0,1fr);gap:9px;align-items:center}.goal-template-top>span{width:35px;height:35px;border-radius:12px;background:var(--cat-soft);color:var(--cat-ink);display:grid;place-items:center}.goal-template-top .ui-icon{width:17px;height:17px}.goal-template-top b{display:block;font-size:12px}.goal-template-top small{display:block;margin-top:2px;color:var(--muted);font-size:8px;line-height:1.25}.goal-template-card>em{display:flex;align-items:center;justify-content:space-between;gap:7px;font-style:normal;color:var(--brand);font-size:9px;font-weight:900}.goal-template-card>em .ui-icon{width:13px;height:13px}.template-mini{align-self:center;justify-self:stretch;min-height:64px;border-radius:15px;background:#f6f9f7;position:relative;overflow:hidden}.template-mini.weight{padding:11px}.template-mini.weight b{font-size:23px;letter-spacing:-.04em}.template-mini.weight small{margin-left:3px;color:var(--muted);font-size:8px}.template-mini.weight svg{position:absolute;left:8px;right:8px;bottom:7px;width:calc(100% - 16px);height:26px;fill:none;stroke:#54ad82;stroke-width:3;stroke-linecap:round}.template-mini.water{display:flex;align-items:center;justify-content:center;gap:13px}.template-mini.water>span{width:34px;height:48px;border-radius:9px 9px 12px 12px;background:#dceff8;position:relative;overflow:hidden}.template-mini.water i{position:absolute;left:0;right:0;bottom:0;height:66%;background:#55b4df}.template-mini.water b{font-size:20px}.template-mini.ring{display:grid;place-items:center;background:conic-gradient(#7f8edb var(--p),#edf0f5 0);width:68px;min-height:68px;border-radius:50%;justify-self:center;padding:8px}.template-mini.ring:before{content:"";grid-area:1/1;width:100%;height:100%;border-radius:50%;background:#fff}.template-mini.ring span{grid-area:1/1;z-index:1;font-size:10px;font-weight:900}.template-mini.limit,.template-mini.savings{padding:14px;display:grid;align-content:center;gap:8px}.template-mini.limit b,.template-mini.savings b{font-size:21px}.template-mini.limit>i,.template-mini.savings>i{display:block;height:7px;border-radius:999px;background:#e9eeeb;overflow:hidden}.template-mini.limit em{display:block;height:100%;background:#e87354}.template-mini.savings em{display:block;height:100%;background:#d6a435}.template-mini.pages{display:grid;place-items:center}.template-mini.pages i{position:absolute;width:42px;height:34px;border-radius:7px;background:#e4f2ec;border:1px solid rgba(15,118,110,.08)}.template-mini.pages i:nth-child(1){transform:translate(-8px,8px)}.template-mini.pages i:nth-child(3){transform:translate(8px,-8px)}.template-mini.pages b{position:relative;z-index:2;font-size:11px;color:var(--brand)}.template-mini.bars{display:flex;align-items:end;justify-content:center;gap:7px;padding:13px 22px}.template-mini.bars i{width:11px;border-radius:999px;background:#4a89bd}.template-mini.streak{display:grid;place-items:center;align-content:center}.template-mini.streak b{font-size:26px}.template-mini.streak small{font-size:8px;color:var(--muted)}

/* Less dashboard-y copy */
.v8-section-head h2,.glance-title-row h2{letter-spacing:-.04em!important}.v8-section-head p{margin:3px 0 0;color:var(--muted);font-size:9px}.glance-title-row h2{font-size:28px!important}.glance-title-row .eyebrow{display:none!important}

@media(max-width:600px){
  .metric-log-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-right:-16px;padding-right:16px;scrollbar-width:none}.metric-log-strip::-webkit-scrollbar{display:none}.metric-log-strip .metric-log-card{flex:0 0 min(76vw,290px);scroll-snap-align:start}
  .quick-hub-grid{grid-template-columns:1fr 1fr}
  .progress-goal-card{border-radius:20px}
}
@media(max-width:390px){
  .quick-hub-grid{grid-template-columns:1fr}.metric-log-strip .metric-log-card{flex-basis:82vw}.metric-number b{font-size:26px}.progress-goal-card .metric-number b{font-size:31px}.goal-template-grid{grid-template-columns:1fr 1fr;gap:8px}.goal-template-card{min-height:174px;padding:11px}.focus-live{bottom:calc(82px + var(--safe-bottom));width:calc(100% - 20px)}
}
@media(prefers-reduced-motion:reduce){.boot-orbit:before,.boot-orbit:after,.boot-orbit>span,.boot-orbit>i,.boot-line i,.pomo-ring.running:after{animation:none!important}}

/* v50: graph-first trackers */
.tracker-section{overflow:visible}
.tracker-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tracker-widget{--tracker:var(--cat);position:relative;min-width:0;border:1px solid rgba(23,33,31,.075);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%);box-shadow:0 10px 30px rgba(24,39,35,.055);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.tracker-widget:active{transform:scale(.992)}
.tracker-widget:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--cat);opacity:.9}
.tracker-widget-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 6px}
.tracker-widget-title{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;min-width:0;text-align:left}
.tracker-widget-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}
.tracker-widget-icon .ui-icon{width:19px;height:19px}
.tracker-widget-title small{display:block;color:var(--cat-ink);font-size:8px;line-height:1;text-transform:uppercase;letter-spacing:.08em;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tracker-widget-title b{display:block;margin-top:4px;font-size:15px;line-height:1.12;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tracker-open{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);flex:none;background:#fff}
.tracker-open .ui-icon{width:13px;height:13px}
.tracker-widget-body{width:100%;display:grid;grid-template-columns:minmax(92px,.72fr) minmax(120px,1.28fr);gap:12px;align-items:end;padding:8px 14px 11px;text-align:left}
.tracker-value{min-width:0;padding-bottom:13px}
.tracker-value b{display:block;font-size:30px;line-height:.95;letter-spacing:-.06em;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tracker-value>span{display:inline-flex;margin-top:9px;padding:4px 7px;border-radius:999px;background:var(--cat-soft);color:var(--cat-ink);font-size:9px;font-weight:900}
.tracker-value small{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.3;min-height:26px}
.tracker-chart{min-width:0;height:92px;display:grid;grid-template-rows:70px 15px;gap:4px;align-self:end;color:var(--cat)}
.tracker-chart .v8-spark{width:100%;height:70px;overflow:visible}
.tracker-chart .v8-spark-line{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.tracker-chart .v8-spark-area{fill:color-mix(in srgb,var(--cat) 14%,transparent);opacity:1}
.tracker-chart .v8-spark-grid{stroke:rgba(23,33,31,.055);stroke-width:1;vector-effect:non-scaling-stroke}
.tracker-chart-days{display:flex;justify-content:space-between;color:#9aa49f;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.tracker-chart.empty{position:relative;display:block;height:88px;padding-top:2px}
.tracker-chart.empty svg{width:100%;height:56px}
.tracker-placeholder{fill:none;stroke:color-mix(in srgb,var(--cat) 55%,#bfc9c5);stroke-width:2;stroke-linecap:round;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.tracker-chart.empty span{display:block;margin-top:4px;font-size:8px;color:var(--muted);text-align:right}
.tracker-widget-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px 12px 14px;border-top:1px solid rgba(23,33,31,.055)}
.tracker-target{display:grid;gap:6px;min-width:0}
.tracker-target>i{height:6px;border-radius:999px;background:#edf1ef;overflow:hidden}
.tracker-target>i em{display:block;height:100%;border-radius:inherit;background:var(--cat);transition:width .5s cubic-bezier(.22,1,.36,1)}
.tracker-target>span{font-size:8px;color:var(--muted);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tracker-log-btn{height:36px;padding:0 10px;border-radius:12px;display:flex;align-items:center;gap:5px;background:var(--cat-soft);color:var(--cat-ink);font-size:9px;font-weight:950}
.tracker-log-btn .ui-icon{width:14px;height:14px}
.tracker-more{width:100%;margin-top:10px;padding:11px;border-radius:14px;background:#f4f7f5;color:var(--brand);font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:7px}
.tracker-more .ui-icon{width:14px;height:14px}

/* Template personality stays subtle; graph remains the focus */
.tracker-widget[data-visual="weight"] .tracker-chart{color:#6d7bc4}
.tracker-widget[data-visual="water"] .tracker-chart{color:#3c91c8}
.tracker-widget[data-visual="sleep"] .tracker-chart{color:#7a69ad}
.tracker-widget[data-visual="limit"] .tracker-chart{color:#d66d53}
.tracker-widget[data-visual="savings"] .tracker-chart{color:#b4862d}
.tracker-widget[data-visual="quran"] .tracker-chart{color:#159774}
.tracker-widget[data-visual="study"] .tracker-chart{color:#3977bb}
.tracker-widget[data-visual="streak"] .tracker-chart{color:#cf654c}
.tracker-widget[data-visual="reading"] .tracker-chart{color:#7c658f}

/* Goals page: flatter, graph-led rows instead of repeated dashboard cards */
.goal-row-v50{--row:var(--cat);background:#fff;border:1px solid rgba(23,33,31,.075);border-radius:20px;box-shadow:0 8px 24px rgba(24,39,35,.045);overflow:hidden}
.goal-row-main{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(115px,170px);gap:12px;align-items:center;padding:14px;text-align:left}
.goal-row-copy{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.goal-row-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}
.goal-row-icon .ui-icon{width:19px;height:19px}.goal-row-copy small{display:flex;align-items:center;gap:4px;color:var(--cat-ink);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.goal-row-copy small .ui-icon{width:10px;height:10px}.goal-row-copy b{display:block;margin-top:3px;font-size:16px;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-row-copy em{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.goal-row-value{text-align:right}.goal-row-value strong{display:block;font-size:22px;line-height:1;letter-spacing:-.045em}.goal-row-value small{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:999px;background:var(--cat-soft);color:var(--cat-ink);font-size:8px;font-weight:900}
.goal-row-chart .tracker-chart{height:64px;grid-template-rows:50px 10px}.goal-row-chart .tracker-chart .v8-spark{height:50px}.goal-row-chart .tracker-chart-days{font-size:6px}
.goal-row-progress{display:flex;align-items:center;gap:10px;padding:0 14px 11px}.goal-row-progress>i{height:6px;flex:1;border-radius:999px;background:#edf1ef;overflow:hidden}.goal-row-progress>i em{display:block;height:100%;background:var(--cat);border-radius:inherit}.goal-row-progress>span{font-size:8px;color:var(--muted);font-weight:800;white-space:nowrap}
.goal-row-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px 11px 14px;border-top:1px solid rgba(23,33,31,.05)}

/* Quick log sheet can reuse the visual tracker cards without becoming a cramped grid */
.quick-hub-grid{grid-template-columns:1fr!important}
.quick-hub-grid .tracker-widget{min-height:auto}

@media(max-width:620px){
  .tracker-dashboard{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;margin-right:-16px;padding:0 16px 4px 0;scrollbar-width:none}
  .tracker-dashboard::-webkit-scrollbar{display:none}
  .tracker-dashboard .tracker-widget{flex:0 0 min(86vw,340px);scroll-snap-align:start}
  .tracker-widget-body{grid-template-columns:minmax(90px,.7fr) minmax(110px,1.3fr)}
  .tracker-value b{font-size:28px}
  .goal-row-main{grid-template-columns:minmax(0,1fr) auto;padding-bottom:8px}
  .goal-row-chart{grid-column:1/-1}
  .goal-row-chart .tracker-chart{height:76px;grid-template-rows:60px 12px}
  .goal-row-chart .tracker-chart .v8-spark{height:60px}
}

@media(max-width:380px){
  .tracker-dashboard .tracker-widget{flex-basis:88vw}
  .tracker-widget-body{grid-template-columns:1fr;gap:5px}
  .tracker-value{padding-bottom:0}.tracker-chart{height:80px;grid-template-rows:62px 14px}
  .tracker-chart .v8-spark{height:62px}
}

/* v51: template-native tracker widgets */
.tracker-dashboard{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;overflow:visible!important;margin:0!important;padding:0!important}
.tracker-widget.template-native{border-radius:24px;background:#fff;border:1px solid rgba(23,33,31,.075);box-shadow:0 12px 34px rgba(24,39,35,.06);overflow:hidden;min-width:0;scroll-snap-align:none!important}
.tracker-widget.template-native:before{display:none}
.tracker-widget.template-native .tracker-widget-top{padding:15px 16px 8px}
.tracker-widget.template-native .tracker-widget-title{grid-template-columns:42px minmax(0,1fr);gap:11px}
.tracker-widget.template-native .tracker-widget-icon{width:42px;height:42px;border-radius:15px}
.tracker-widget.template-native .tracker-widget-title small{font-size:8px;letter-spacing:.11em}
.tracker-widget.template-native .tracker-widget-title b{font-size:16px;margin-top:4px}
.tracker-template-body{width:100%;display:block;text-align:left;padding:8px 16px 14px}
.template-layout{min-height:178px;display:grid;gap:13px}
.template-primary b,.water-big b,.sleep-score b,.limit-top b,.savings-hero b,.quran-hero b,.study-hero b,.workout-top b,.reading-hero b,.generic-value b{font-size:32px;line-height:.95;letter-spacing:-.055em;font-weight:950;color:var(--ink)}
.template-primary small,.water-big small,.sleep-score small,.limit-top small,.savings-hero small,.quran-hero small,.study-hero small,.workout-top small,.reading-hero small,.generic-value small{display:block;margin-top:5px;color:var(--muted);font-size:10px;font-weight:750}
.template-change{display:inline-flex;margin-top:9px;padding:5px 8px;border-radius:999px;background:#f1f4f2;color:#69736f;font-size:9px;font-weight:900}.template-change.good{background:#e6f5ed;color:#13785e}.template-change.warn{background:#fff0ea;color:#b85037}
.template-graph-wrap{min-width:0}.template-graph-label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.template-graph-label span,.template-graph-label em{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#8c9691;font-style:normal}.template-graph-label em{text-transform:none;letter-spacing:0;font-weight:800}
.template-line{height:84px;position:relative}.template-line .v8-spark{width:100%;height:84px;overflow:visible}.template-line .v8-spark-line{fill:none;stroke:var(--template-accent,var(--cat));stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.template-line .v8-spark-area{fill:color-mix(in srgb,var(--template-accent,var(--cat)) 13%,transparent);opacity:1}.template-line .v8-spark-grid{stroke:rgba(23,33,31,.055);stroke-width:1;vector-effect:non-scaling-stroke}.template-line.empty{height:84px;display:grid;place-items:end stretch}.template-line.empty span{position:absolute;right:0;bottom:2px;font-size:8px;color:#9aa39f}.template-line.empty .v8-spark-line{stroke:#cbd3cf;stroke-dasharray:3 4}.template-line.empty .v8-spark-area{display:none}
.template-bars{height:84px;display:grid;grid-template-columns:repeat(7,1fr);gap:7px;align-items:end}.template-bar-col{height:100%;display:grid;grid-template-rows:minmax(0,1fr) 12px;gap:5px}.template-bar-col>i{display:flex;align-items:flex-end;justify-content:center;background:#eff3f1;border-radius:12px;overflow:hidden}.template-bar-col>i em{display:block;width:100%;border-radius:12px;background:color-mix(in srgb,var(--template-accent,var(--cat)) 55%,#fff);min-height:3px}.template-bar-col.today>i em{background:var(--template-accent,var(--cat))}.template-bar-col small{text-align:center;font-size:7px;color:#949d99;font-weight:850}
.native-bottom{display:flex!important;align-items:center;justify-content:space-between;grid-template-columns:none!important;padding:11px 14px 13px!important;background:#fbfcfb;border-top:1px solid rgba(23,33,31,.055)}.native-status{font-size:10px;color:var(--muted);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.native-bottom .tracker-log-btn{flex:none}

/* Weight: measurement card inspired by Withings/MacroFactor */
.tracker-widget[data-template="weight"]{--template-accent:#4f73b8;background:linear-gradient(180deg,#fff 0%,#f8faff 100%)}
.weight-layout{grid-template-columns:.78fr 1.22fr;align-items:end}.weight-layout .template-primary{align-self:center}.weight-layout .template-line .v8-spark-line{stroke:#4f73b8}.weight-layout .template-line .v8-spark-area{fill:rgba(79,115,184,.10)}
/* Water: distinct fill + week bars */
.tracker-widget[data-template="water"]{--template-accent:#3097c8;background:linear-gradient(180deg,#fbfeff 0%,#f2faff 100%)}
.water-layout{grid-template-columns:.72fr 1.28fr;align-items:center}.water-big{display:flex;align-items:center;gap:12px}.water-glass{width:54px;height:78px;border:2px solid #a9d9ea;border-top-width:4px;border-radius:10px 10px 18px 18px;position:relative;overflow:hidden;background:#fff}.water-glass i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#68c7ea,#2d98c8);transition:height .3s ease}.water-glass span{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:950;color:#0d627f;z-index:2}
/* Sleep: score ring + trend */
.tracker-widget[data-template="sleep"]{--template-accent:#7569b0;background:linear-gradient(180deg,#fff 0%,#faf9ff 100%)}
.sleep-layout{grid-template-columns:.78fr 1.22fr;align-items:center}.sleep-score{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:12px}.template-ring{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--template-accent) var(--p),#edeaf5 0);padding:7px}.template-ring:before{content:"";grid-area:1/1;width:100%;height:100%;border-radius:50%;background:#fff}.template-ring span{grid-area:1/1;z-index:1;font-size:12px;font-weight:950;color:#5e5592}
/* Screen time: limit instrument + trend */
.tracker-widget[data-template="screen"]{--template-accent:#df7056;background:linear-gradient(180deg,#fff 0%,#fff9f7 100%)}
.limit-layout{gap:11px}.limit-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.limit-top strong{padding:6px 9px;border-radius:999px;background:#e9f5ef;color:#147457;font-size:9px}.limit-top strong.over{background:#fff0eb;color:#b64f38}.screen-gauge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center}.screen-gauge span{font-size:8px;color:#9aa39f;font-weight:800}.screen-gauge i{height:9px;border-radius:999px;background:#f0e9e7;overflow:hidden}.screen-gauge i em{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#f2a68e,#df7056)}
/* Savings: financial goal hierarchy */
.tracker-widget[data-template="savings"]{--template-accent:#b88a2d;background:linear-gradient(180deg,#fffdf7 0%,#fff9ea 100%)}
.savings-layout{gap:10px}.savings-hero{display:flex;justify-content:space-between;align-items:end;gap:12px}.savings-hero span{display:block;margin-top:5px;color:#8b7040;font-size:10px;font-weight:800}.savings-percent{font-family:var(--display);font-size:28px;font-weight:900;color:#9e731c}.savings-track{height:11px;background:#efe7d4;border-radius:999px;overflow:hidden}.savings-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#dab34d,#b88a2d)}
/* Quran: progress segments + rhythm chart */
.tracker-widget[data-template="quran"]{--template-accent:#15876b;background:linear-gradient(180deg,#fbfffd 0%,#f3faf7 100%)}
.quran-layout{gap:11px}.quran-hero{display:flex;justify-content:space-between;align-items:center;gap:16px}.quran-hero span{display:block;margin-top:5px;color:#598479;font-size:10px;font-weight:800}.quran-stack{display:grid;grid-template-columns:repeat(5,13px);gap:5px}.quran-stack i{width:13px;height:25px;border-radius:3px;background:#dfece7;border:1px solid #d2e4dd}.quran-stack i.on{background:#159774;border-color:#159774;box-shadow:0 5px 10px rgba(21,151,116,.12)}
/* Study: weekly focus bars */
.tracker-widget[data-template="study"]{--template-accent:#417db8;background:linear-gradient(180deg,#fbfdff 0%,#f3f8fc 100%)}
.study-layout{gap:10px}.study-hero{display:flex;align-items:end;justify-content:space-between;gap:12px}.study-score{text-align:right}.study-score strong{display:block;font-size:24px;color:#326ca8}.study-score span{font-size:9px;color:#81909b}
/* Workout: days + intensity bars */
.tracker-widget[data-template="workout"]{--template-accent:#cf694f;background:linear-gradient(180deg,#fff 0%,#fff8f6 100%)}
.workout-layout{gap:11px}.workout-top{display:flex;justify-content:space-between;align-items:end}.workout-top strong{font-size:25px;color:#bd573f}.workout-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.workout-week>div{text-align:center}.workout-week i{width:28px;height:28px;border-radius:50%;margin:auto;display:grid;place-items:center;background:#f1e7e4;color:#bd573f}.workout-week .done i{background:#cf694f;color:#fff}.workout-week .ui-icon{width:13px;height:13px}.workout-week small{display:block;margin-top:4px;font-size:7px;color:#949d99}.compact-bars .template-bars{height:52px}
/* Reading: page stack + trend */
.tracker-widget[data-template="reading"]{--template-accent:#7c678f;background:linear-gradient(180deg,#fff 0%,#fbf8fc 100%)}
.reading-layout{gap:10px}.reading-hero{display:flex;align-items:center;justify-content:space-between}.reading-book{position:relative;width:74px;height:54px}.reading-book i{position:absolute;width:48px;height:36px;border-radius:7px;background:#eee7f1;border:1px solid #e3dbe7;left:13px;top:9px}.reading-book i:nth-child(1){transform:translate(-8px,7px)}.reading-book i:nth-child(3){transform:translate(8px,-7px)}.reading-book span{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;font-weight:950;color:#705981;z-index:2}
/* Generic tracker */
.generic-layout{grid-template-columns:.72fr 1.28fr;align-items:center}

@media(max-width:700px){
  .tracker-dashboard{grid-template-columns:1fr!important;gap:12px!important}
  .tracker-dashboard .tracker-widget{width:100%!important;flex:none!important}
  .tracker-widget.template-native{border-radius:21px}
  .template-layout{min-height:164px}
  .weight-layout,.water-layout,.sleep-layout,.generic-layout{grid-template-columns:.82fr 1.18fr}
  .template-primary b,.water-big b,.sleep-score b,.limit-top b,.savings-hero b,.quran-hero b,.study-hero b,.workout-top b,.reading-hero b,.generic-value b{font-size:29px}
  .template-line{height:76px}.template-line .v8-spark{height:76px}.template-bars{height:76px}
}
@media(max-width:390px){
  .tracker-widget.template-native .tracker-widget-top{padding:13px 13px 6px}.tracker-template-body{padding:7px 13px 12px}.native-bottom{padding:10px 12px 12px!important}
  .weight-layout,.water-layout,.sleep-layout,.generic-layout{grid-template-columns:1fr;gap:9px}.template-layout{min-height:auto}.template-line{height:70px}.template-line .v8-spark{height:70px}.template-bars{height:70px}.water-big{justify-content:space-between}.sleep-score{grid-template-columns:64px 1fr}.template-ring{width:62px;height:62px}.quran-stack{grid-template-columns:repeat(10,9px);gap:3px}.quran-stack i{width:9px;height:22px}
}

/* v52: Mobbin-led Focus + Goals rebuild */
.focus-sheet-head-v52{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.focus-sheet-head-v52 h2{margin:0;font-family:var(--display);font-size:34px;line-height:.95;letter-spacing:-.055em}
.focus-sheet-head-v52 p{margin:5px 0 0;color:var(--muted);font-size:12px}
.pomo-v52{display:grid;gap:14px;padding-bottom:max(8px,var(--safe-bottom))}
.pomo-goal-context-v52{display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 22px rgba(24,39,35,.05)}
.pomo-goal-context-v52>.pomo-goal-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#e8f4f0;color:var(--brand)}
.pomo-goal-context-v52>.pomo-goal-icon .ui-icon{width:19px;height:19px}.pomo-goal-context-v52>div{min-width:0}.pomo-goal-context-v52 small{display:block;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.pomo-goal-context-v52 select{width:100%;border:0;background:transparent;color:var(--ink);font-size:14px;font-weight:850;padding:2px 22px 0 0;appearance:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pomo-goal-context-v52>.ui-icon{width:15px;height:15px;color:var(--muted)}
.pomo-presets-v52{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pomo-presets-v52 button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border:1px solid var(--line);border-radius:15px;background:#fff;color:#72807a;transition:.18s ease}
.pomo-presets-v52 button b{font-size:14px;line-height:1}.pomo-presets-v52 button span{font-size:9px;font-weight:800}.pomo-presets-v52 button.active{background:#173f39;color:#fff;border-color:#173f39;box-shadow:0 10px 22px rgba(23,63,57,.16)}
.pomo-hero-v52{--progress:0%;position:relative;min-height:310px;border-radius:30px;padding:22px 20px 20px;overflow:hidden;display:grid;align-content:center;justify-items:center;text-align:center;background:linear-gradient(160deg,#143f39 0%,#19564d 60%,#207166 100%);color:#fff;box-shadow:0 22px 50px rgba(20,63,57,.20)}
.pomo-hero-v52:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-90px;top:-100px;border:1px solid rgba(255,255,255,.1)}
.pomo-hero-v52:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;left:-90px;bottom:-90px;background:rgba(255,255,255,.035)}
.pomo-progress-track-v52{position:absolute;left:18px;right:18px;top:16px;height:5px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.pomo-progress-track-v52 i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:#b8eadc;box-shadow:0 0 18px rgba(184,234,220,.45);transition:width .35s linear}
.pomo-hero-copy-v52{position:relative;z-index:2;display:grid;justify-items:center}.pomo-hero-copy-v52>span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.18em;color:#b8e3d9}.pomo-hero-copy-v52>b{display:block;margin-top:12px;font-size:70px;line-height:.9;letter-spacing:-.065em;font-weight:800;font-variant-numeric:tabular-nums}.pomo-hero-copy-v52>small{display:block;margin-top:14px;max-width:230px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.4}.pomo-hero-copy-v52>em{display:block;margin-top:9px;font-size:10px;color:rgba(255,255,255,.48);font-style:normal}
.pomo-pulse-v52{position:absolute;z-index:1;left:50%;bottom:30px;transform:translateX(-50%);display:flex;align-items:end;gap:5px;height:28px;opacity:.5}.pomo-pulse-v52 i{display:block;width:4px;height:8px;border-radius:999px;background:#b8eadc}.pomo-hero-v52.running .pomo-pulse-v52 i:nth-child(1){animation:pulseBar 1.15s ease-in-out infinite}.pomo-hero-v52.running .pomo-pulse-v52 i:nth-child(2){animation:pulseBar 1.15s .16s ease-in-out infinite}.pomo-hero-v52.running .pomo-pulse-v52 i:nth-child(3){animation:pulseBar 1.15s .32s ease-in-out infinite}
@keyframes pulseBar{0%,100%{height:7px;opacity:.45}50%{height:24px;opacity:1}}
.pomo-controls-v52{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:10px}.pomo-adjust-v52{height:54px;border-radius:17px;border:1px solid var(--line);background:#fff;color:#5c6a65;font-size:12px;font-weight:900}.pomo-toggle-v52{height:62px;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:9px;background:#101817;color:#fff;box-shadow:0 14px 28px rgba(15,24,23,.18);font-size:13px;font-weight:950}.pomo-toggle-v52 .ui-icon{width:19px;height:19px}.pomo-toggle-v52.running{background:#eef4f1;color:#173f39;box-shadow:none;border:1px solid #dce7e2}
.pomo-stats-v52{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pomo-stats-v52>div{padding:12px 8px;border-radius:16px;background:#f5f8f6;text-align:center}.pomo-stats-v52 b{display:block;font-size:19px;line-height:1;font-weight:950}.pomo-stats-v52 span{display:block;margin-top:4px;color:var(--muted);font-size:8px;font-weight:750}.pomo-foot-v52{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px}.pomo-foot-v52 p{margin:0;color:var(--muted);font-size:9px}.pomo-foot-v52 button{font-size:10px;font-weight:850;color:#74817c;text-decoration:underline;text-underline-offset:3px}

/* Live focus mini-player: Tiimo-inspired compact pill */
.focus-live{width:min(460px,calc(100% - 22px))!important;grid-template-columns:minmax(0,1fr) 44px!important;border-radius:24px!important;padding:8px 9px!important;background:#111312!important;box-shadow:0 20px 44px rgba(10,16,15,.27)!important}
.focus-live-main{grid-template-columns:42px minmax(0,1fr)!important;gap:10px!important}.focus-live-ring{width:42px!important;height:42px!important;background:conic-gradient(#b5eadb var(--angle),rgba(255,255,255,.10) 0)!important}.focus-live-ring i{background:#17201e!important}.focus-live-copy small{color:#b5eadb!important}.focus-live-copy b{font-size:17px!important}.focus-live-toggle{width:40px!important;height:40px!important;border-radius:50%!important}

/* Goals page */
.goals-hero-v52{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:9px 2px 14px}.goals-hero-v52 h1{margin:0;font-family:var(--display);font-size:39px;line-height:.95;letter-spacing:-.055em}.goals-hero-v52 p{margin:7px 0 0;color:var(--muted);font-size:11px}.goals-summary-v52{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--line)}.goals-summary-v52>div{padding:13px 8px;background:#fff;text-align:center}.goals-summary-v52 b{display:block;font-size:20px;line-height:1;font-weight:950;letter-spacing:-.04em}.goals-summary-v52 span{display:block;margin-top:4px;font-size:7px;color:var(--muted);font-weight:800;white-space:nowrap}
.goal-template-entry-v52{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:11px;align-items:center;padding:12px 13px;border-radius:18px;background:#173f39;color:#fff;text-align:left;box-shadow:0 12px 26px rgba(23,63,57,.14)}.goal-template-entry-v52>span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(255,255,255,.10);color:#bce7dc}.goal-template-entry-v52 b{display:block;font-size:13px}.goal-template-entry-v52 small{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:9px}.goal-template-entry-v52>.ui-icon{width:15px;height:15px;color:rgba(255,255,255,.7)}
.goal-filter-scroll-v52{display:flex;gap:8px;overflow-x:auto;padding:14px 1px 11px;scrollbar-width:none}.goal-filter-scroll-v52::-webkit-scrollbar{display:none}.goal-filter-v52{flex:none;height:34px;padding:0 13px;border-radius:999px;background:#f1f4f2;color:#65736d;font-size:9px;font-weight:900}.goal-filter-v52.active{background:#173f39;color:#fff}
.goal-board-v52{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.goal-board-card{--template-accent:var(--cat);position:relative;background:#fff;border:1px solid rgba(23,33,31,.075);border-radius:22px;overflow:hidden;box-shadow:0 8px 28px rgba(24,39,35,.05)}.goal-board-head{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 13px 8px;text-align:left}.goal-board-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--cat-soft);color:var(--cat-ink)}.goal-board-icon .ui-icon{width:19px;height:19px}.goal-board-title{min-width:0}.goal-board-title small{display:block;color:var(--cat-ink);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.goal-board-title b{display:block;margin-top:3px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-board-title em{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.goal-board-score{display:flex;align-items:center;gap:6px;color:var(--cat-ink)}.goal-board-score strong{font-size:16px}.goal-board-score .ui-icon{width:13px;height:13px}.goal-board-visual{display:block;width:100%;padding:5px 13px 11px;text-align:left}.goal-board-visual .template-layout{min-height:145px}.goal-board-visual .template-line,.goal-board-visual .template-line .v8-spark{height:66px}.goal-board-visual .template-bars{height:66px}.goal-board-visual .template-primary b,.goal-board-visual .water-big b,.goal-board-visual .sleep-score b,.goal-board-visual .limit-top b,.goal-board-visual .savings-hero b,.goal-board-visual .quran-hero b,.goal-board-visual .study-hero b,.goal-board-visual .workout-top b,.goal-board-visual .reading-hero b,.goal-board-visual .generic-value b{font-size:28px}.goal-board-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 11px 11px 13px;border-top:1px solid rgba(23,33,31,.05);background:#fbfcfb}.goal-board-open{height:36px;padding:0 10px;color:#6f7b76;font-size:9px;font-weight:850}.goal-board-log{height:36px;padding:0 12px;border-radius:12px;display:flex;align-items:center;gap:6px;background:var(--cat-soft);color:var(--cat-ink);font-size:9px;font-weight:950}.goal-board-log .ui-icon{width:14px;height:14px}
.goal-board-card[data-template="weight"]{--template-accent:#4f73b8}.goal-board-card[data-template="water"]{--template-accent:#3097c8}.goal-board-card[data-template="sleep"]{--template-accent:#7569b0}.goal-board-card[data-template="screen"]{--template-accent:#df7056}.goal-board-card[data-template="savings"]{--template-accent:#b88a2d}.goal-board-card[data-template="quran"]{--template-accent:#15876b}.goal-board-card[data-template="study"]{--template-accent:#417db8}.goal-board-card[data-template="workout"]{--template-accent:#cf694f}.goal-board-card[data-template="reading"]{--template-accent:#7c678f}

/* Today tracker widgets: calmer and easier to scan */
.tracker-dashboard{gap:14px!important}.tracker-widget.template-native{border-radius:22px!important;box-shadow:0 8px 26px rgba(24,39,35,.05)!important}.tracker-widget.template-native .tracker-widget-top{padding:13px 14px 7px!important}.tracker-template-body{padding:7px 14px 12px!important}.template-layout{gap:10px!important}.native-bottom{padding:10px 12px 11px 14px!important}.native-bottom .tracker-log-btn{height:38px!important;border-radius:12px!important;padding:0 13px!important}

@media(max-width:700px){
  .pomo-hero-v52{min-height:290px;border-radius:26px}.pomo-hero-copy-v52>b{font-size:64px}
  .goal-board-v52{grid-template-columns:1fr}
  .goal-board-visual .template-layout{min-height:auto}
  .goals-summary-v52 span{font-size:6.5px}
}
@media(max-width:390px){
  .pomo-hero-v52{min-height:265px}.pomo-hero-copy-v52>b{font-size:58px}.pomo-controls-v52{grid-template-columns:52px minmax(0,1fr) 52px}.pomo-stats-v52 span{font-size:7px}
  .goals-summary-v52{grid-template-columns:repeat(2,1fr)}
}
