@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700;800&display=swap";
:root{--font-display:"Instrument Serif", Georgia, serif;--font-sans:"Inter", Arial, Helvetica, sans-serif;--font-notion:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";--color-cream:#fef5eb;--color-charcoal:#212121;--color-ink:#000;--color-paper:#fef5eb;--color-peach:#f8cb95;--color-coral:#ff3d4d;--color-amber:#ce801f;--color-sky:#9ebce1;--color-blue:#2a85f4;--color-teal:#80bdc4;--color-lavender:#bca8c5;--color-gray:#595959;--gradient-hero:linear-gradient(90deg, #fef5eb 0%, #f8cb95 100%);--gradient-warm:linear-gradient(90deg, #fef5eb 0%, #ff3d4d 50%, #ce801f 100%);--gradient-cool:linear-gradient(135deg, #fef5eb 0%, #bca8c5 100%);--gradient-teal:linear-gradient(135deg, #fef5eb 0%, #80bdc4 100%);--status-on-track:#3f8f5e;--status-at-risk:#ce801f;--status-off-track:#ff3d4d;--status-not-started:#595959;--gradient-status-on-track:linear-gradient(90deg, #8fd1a8 0%, #3f8f5e 100%);--gradient-status-at-risk:linear-gradient(90deg, #f0c27a 0%, #ce801f 100%);--gradient-status-off-track:linear-gradient(90deg, #ff8a93 0%, #ff3d4d 100%);--gradient-status-neutral:linear-gradient(90deg, #b0b0b0 0%, #595959 100%);--bg-primary:var(--color-cream);--text-primary:var(--color-ink);--text-muted:var(--color-gray);--text-secondary:#3d3d3d;--card-bg:color-mix(in srgb, var(--text-primary) 4%, transparent);--card-border:color-mix(in srgb, var(--text-primary) 10%, transparent);--text-kpi-number:96px;--text-kpi-title:30px;--text-label:18px;--text-section-header:48px;--radius-pill:999px;--radius-card:24px;--divider-color:var(--color-coral);--space-page-padding:32px;--space-section-gap:48px;--space-grid-gap:24px;--space-tile-gap:12px;--space-tile-padding:24px}[data-theme=dark]{--bg-primary:var(--color-charcoal);--text-primary:var(--color-paper);--text-muted:#8a8a8a;--text-secondary:#c9c9c9}[data-skin=notion]{--font-display:var(--font-notion);--font-sans:var(--font-notion);--bg-primary:#fff;--text-primary:#37352f;--text-muted:#9b9a97;--text-secondary:#6b6a68;--card-bg:#fff;--card-border:#37352f21;--status-on-track:#0f7b6c;--status-at-risk:#d9730d;--status-off-track:#e03e3e;--status-not-started:#9b9a97;--gradient-status-on-track:var(--status-on-track);--gradient-status-at-risk:var(--status-at-risk);--gradient-status-off-track:var(--status-off-track);--gradient-status-neutral:var(--status-not-started);--radius-pill:10px;--radius-card:10px;--space-page-padding:16px;--space-section-gap:24px;--space-grid-gap:10px;--space-tile-gap:6px;--space-tile-padding:14px;--text-kpi-number:32px;--text-kpi-title:14px;--text-label:12px;--text-section-header:20px}
*{box-sizing:border-box}html,body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);margin:0;padding:0;transition:background-color .2s,color .2s}a{color:inherit}.page{min-height:100vh;padding:var(--space-page-padding);background:var(--bg-primary)}.page-header{margin-bottom:var(--space-page-padding);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;display:flex}.page-title{font-family:var(--font-display);font-size:var(--text-section-header);margin:0;font-weight:400}.page-meta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.page-meta{color:var(--text-muted);cursor:help;font-size:13px}.page-meta-separator{color:var(--text-muted);font-size:13px}.refresh-link{color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:700;font-family:var(--font-sans);background:0 0;border:none;padding:0}.refresh-link:hover:not(:disabled){text-decoration:underline}.refresh-link:disabled{color:var(--text-muted);cursor:default}.tooltip-trigger{position:relative}.tooltip-bubble{background:var(--text-primary);color:var(--bg-primary);white-space:nowrap;opacity:0;pointer-events:none;z-index:10;border-radius:8px;margin-bottom:8px;padding:6px 12px;font-size:12px;font-weight:600;transition:opacity 80ms,transform 80ms;position:absolute;bottom:100%;left:0;transform:translateY(4px)}.tooltip-trigger:hover .tooltip-bubble,.tooltip-trigger:focus-visible .tooltip-bubble{opacity:1;transform:translateY(0)}.tile-grid{gap:var(--space-grid-gap);grid-template-columns:1fr;display:grid}@media (min-width:640px){.tile-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1400px){.tile-grid--goals{grid-template-columns:repeat(3,1fr)}.tile-grid--trends{grid-template-columns:repeat(4,1fr)}}.section{margin-bottom:var(--space-section-gap)}.section--secondary{margin-top:var(--space-section-gap);padding-top:var(--space-grid-gap);border-top:1px solid var(--card-border)}.section-heading--secondary{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 20px;font-size:15px;font-weight:700}.tile{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--space-tile-padding);gap:var(--space-tile-gap);flex-direction:column;min-width:0;min-height:220px;display:flex;container-type:inline-size}.tile--trend{background:color-mix(in srgb, var(--card-bg) 50%, var(--bg-primary));padding:calc(var(--space-tile-padding) - 6px) calc(var(--space-tile-padding) - 4px);gap:calc(var(--space-tile-gap) - 4px);border-style:dashed;min-height:140px}[data-skin=notion] .tile{min-height:0}[data-skin=notion] .tile--trend{padding:var(--space-tile-padding);gap:var(--space-tile-gap);border-style:solid}[data-skin=notion] .tile--trend .tile-title{font-size:var(--text-kpi-title)}.tile--goal .tile-title{margin-bottom:6px}.tile--goal{padding-bottom:16px}.tile-title{font-family:var(--font-display);font-weight:400;font-size:var(--text-kpi-title);margin:0;line-height:1.15}.tile--trend .tile-title{font-size:22px}.tile-number{font-family:var(--font-sans);font-weight:800;font-size:clamp(40px, 6vw, var(--text-kpi-number));align-items:baseline;min-width:0;line-height:1;display:flex}@supports (container-type:inline-size){.tile-number{font-size:clamp(40px, 15cqw, var(--text-kpi-number))}.tile--trend .tile-number{font-size:clamp(32px,9cqw,56px)}}.tile--trend .tile-number{font-size:clamp(32px,4vw,56px)}.tile-number-affix{font-size:.4em;font-weight:700;line-height:1.1}.tile-number-affix--prefix{align-self:flex-start;margin-right:3px}.tile-number-affix--suffix{margin-left:2px}.tile-value-row,.tile-subrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tile-subrow--end{justify-content:flex-end}.tile-description{border-top:1px solid var(--card-border);color:var(--text-secondary);margin-top:8px;padding-top:12px;font-size:14px;line-height:1.4}.tile-description--placeholder{color:var(--text-muted);font-style:italic}.status-badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.03em;color:#fff;white-space:nowrap;align-items:center;gap:6px;padding:6px 14px;font-size:14px;font-weight:700;display:inline-flex}.status-badge[data-status=On\ Track]{background:var(--status-on-track)}.status-badge[data-status=At\ Risk]{background:var(--status-at-risk)}.status-badge[data-status=Off\ Track]{background:var(--status-off-track)}.status-badge[data-status=Not\ Started],.status-badge[data-status=Unknown]{background:var(--status-not-started)}[data-skin=notion] .status-badge{color:inherit;text-transform:none;letter-spacing:0;font-weight:600}[data-skin=notion] .status-badge[data-status=On\ Track]{background:color-mix(in srgb, var(--status-on-track) 16%, transparent);color:var(--status-on-track)}[data-skin=notion] .status-badge[data-status=At\ Risk]{background:color-mix(in srgb, var(--status-at-risk) 16%, transparent);color:var(--status-at-risk)}[data-skin=notion] .status-badge[data-status=Off\ Track]{background:color-mix(in srgb, var(--status-off-track) 16%, transparent);color:var(--status-off-track)}[data-skin=notion] .status-badge[data-status=Not\ Started],[data-skin=notion] .status-badge[data-status=Unknown]{background:color-mix(in srgb, var(--status-not-started) 16%, transparent);color:var(--status-not-started)}.status-badge--sm{gap:4px;padding:4px 10px;font-size:11px}.wow-badge{border-radius:var(--radius-pill);align-items:center;gap:4px;padding:4px 10px;font-size:14px;font-weight:700;display:inline-flex}.wow-badge[data-direction=up]{background:color-mix(in srgb, var(--status-on-track) 18%, transparent);color:var(--status-on-track)}.wow-badge[data-direction=down]{background:color-mix(in srgb, var(--status-off-track) 18%, transparent);color:var(--status-off-track)}.wow-badge[data-direction=flat]{background:color-mix(in srgb, var(--text-muted) 18%, transparent);color:var(--text-muted)}[data-skin=notion] .wow-badge{padding:4px 10px;font-size:11px;font-weight:600}.tile-note{color:var(--text-muted);font-size:13px;font-style:italic}[data-skin=notion] .tile-note{color:var(--text-secondary);font-size:14px;font-style:normal}.progress-track{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--text-primary) 12%, transparent);width:100%;height:14px;overflow:hidden}[data-skin=notion] .progress-track{height:6px}.progress-fill{border-radius:var(--radius-pill);background:var(--gradient-status-neutral);height:100%}.progress-fill[data-status=On\ Track]{background:var(--gradient-status-on-track)}.progress-fill[data-status=At\ Risk]{background:var(--gradient-status-at-risk)}.progress-fill[data-status=Off\ Track]{background:var(--gradient-status-off-track)}.progress-fill[data-status=Not\ Started],.progress-fill[data-status=Unknown]{background:var(--gradient-status-neutral)}.progress-meta{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;margin-top:6px;font-size:14px;font-weight:600;display:flex}.theme-toggle{border:1px solid color-mix(in srgb, var(--text-primary) 20%, transparent);color:var(--text-primary);border-radius:var(--radius-pill);font-family:var(--font-sans);cursor:pointer;background:0 0;padding:8px 16px;font-size:14px;font-weight:600}.theme-toggle:hover{background:color-mix(in srgb, var(--text-primary) 8%, transparent)}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:color-mix(in srgb, var(--text-primary) 4%, transparent);border:1px solid color-mix(in srgb, var(--text-primary) 10%, transparent);border-radius:var(--radius-card);text-align:center;width:100%;max-width:380px;padding:32px}.login-title{font-family:var(--font-display);margin:0 0 8px;font-size:36px;font-weight:400}.login-subtitle{color:var(--text-muted);margin:0 0 24px;font-size:15px}.login-input{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--text-primary) 20%, transparent);width:100%;color:var(--text-primary);text-align:center;background:0 0;margin-bottom:16px;padding:12px 16px;font-size:16px}.login-button{border-radius:var(--radius-pill);background:var(--color-coral);color:#fff;cursor:pointer;border:none;width:100%;padding:12px 16px;font-size:16px;font-weight:700}.login-error{color:var(--status-off-track);margin:0 0 16px;font-size:14px}
