@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Inter:wght@400;500&family=JetBrains+Mono:wght@400&display=swap";:root{--color-primary: #0D0D0D;--color-secondary: #8C8C8C;--color-accent: #2ECC71;--color-accent-hover: #00875A;--color-surface: #F5F5F0;--color-surface-alt: #EBEBEB;--color-surface-card: var(--color-surface);--color-on-primary: #F5F5F0;--color-on-accent: #FFFFFF;--color-success: #2D7A4F;--color-warning: #C47F00;--color-danger: #C23B3B;--color-on-success: #FFFFFF;--color-on-warning: #FFFFFF;--color-on-danger: #FFFFFF;--color-data-blue: #2563EB;--color-neutral-border: #D1D5DB;--color-heatmap-empty: #EBEDF0;--color-success-surface: #D1FAE5;--color-success-border: #A7F3D0;--color-warning-surface: #FEF3C7;--color-danger-surface: #FEE2E2;--color-danger-border: #FCA5A5;--color-priority-b: #4A90D9;--color-priority-c: #9B9B9B;--color-zone-1: #D4D4D0;--color-zone-2: #4ADE80;--color-zone-3: #FCD34D;--color-zone-4: #FB923C;--color-zone-5: #F87171;--color-overlay-subtle: color-mix(in srgb, var(--color-primary) 20%, transparent);--color-overlay-medium: color-mix(in srgb, var(--color-primary) 30%, transparent);--color-overlay-strong: color-mix(in srgb, var(--color-primary) 35%, transparent);--color-overlay-modal: color-mix(in srgb, var(--color-primary) 40%, transparent);--color-ai-coach-bg: #0D0D0D;--color-ai-coach-text: #F5F5F0;--ink: var(--color-primary);--ink-muted: var(--color-secondary);--ink-faint: var(--color-secondary);--surface: var(--color-surface-card);--surface-alt: var(--color-surface-alt);--border: var(--color-surface-alt);--danger: var(--color-danger);--success: var(--color-success);--accent: var(--color-accent);--accent-hover: var(--color-accent-hover);--accent-dim: color-mix(in srgb, var(--color-accent) 12%, transparent);--white: var(--color-surface-card);--off-white: var(--color-surface);--radius: var(--radius-sm);--text-muted: var(--color-secondary);--danger-dim: var(--color-danger-surface);--font-display: "Barlow Condensed", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--text-display: 3.5rem;--text-h1: 2.5rem;--text-h2: 1.875rem;--text-h3: 1.375rem;--text-body-lg: 1rem;--text-body-md: .875rem;--text-body-sm: .75rem;--text-label: .75rem;--text-metric: 3rem;--text-metric-sm: 1.5rem;--text-mono: .8125rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-display: 1;--line-height-h1: 1.1;--line-height-h2: 1.15;--line-height-h3: 1.2;--line-height-body-lg: 1.7;--line-height-body-md: 1.6;--line-height-body-sm: 1.5;--line-height-label: 1;--line-height-metric: 1;--line-height-metric-sm: 1;--line-height-mono: 1.5;--letter-spacing-normal: 0;--letter-spacing-tight: -.01em;--letter-spacing-tighter: -.02em;--letter-spacing-label: .06em;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--space-3xl: 96px;--radius-none: 0px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .12s ease;--transition-base: .15s ease;--transition-medium: .2s ease;--transition-slow: .35s ease;--shadow-none: none;--shadow-xs: 0 1px 2px color-mix(in srgb, var(--color-primary) 4%, transparent);--shadow-sm: 0 1px 3px color-mix(in srgb, var(--color-primary) 8%, transparent);--shadow-md: 0 4px 12px color-mix(in srgb, var(--color-primary) 8%, transparent);--shadow-lg: 0 8px 24px color-mix(in srgb, var(--color-primary) 10%, transparent);--shadow-modal: 0 16px 48px color-mix(in srgb, var(--color-primary) 12%, transparent);--shadow-drawer: 4px 0 24px color-mix(in srgb, var(--color-primary) 10%, transparent);--shadow-top: 0 -8px 24px color-mix(in srgb, var(--color-primary) 8%, transparent);--shadow-current-inset: inset 0 -3px 0 var(--color-primary);--focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-primary) 6%, transparent);--z-base: 0;--z-dropdown: 100;--z-overlay: 140;--z-drawer: 150;--z-header: 200;--z-modal-overlay: 400;--z-modal: 401;--breakpoint-mobile-max: 767px;--breakpoint-tablet-min: 768px;--breakpoint-tablet-max: 1023px;--breakpoint-desktop-min: 1024px;--layout-content-max: 1280px;--layout-sidebar-width: 240px;--component-button-height: 40px;--component-input-height: 40px;--component-progress-height: 6px}@media (prefers-color-scheme: dark){:root{--color-primary: #F5F5F0;--color-secondary: #8C8C8C;--color-surface: #0D0D0D;--color-surface-alt: #1A1A1A;--color-surface-card: #1A1A1A;--color-on-primary: #0D0D0D;--color-accent: #2ECC71;--color-accent-hover: #C44F06;--color-success-surface: color-mix(in srgb, var(--color-success) 24%, #0D0D0D);--color-success-border: color-mix(in srgb, var(--color-success) 55%, #0D0D0D);--color-warning-surface: color-mix(in srgb, var(--color-warning) 24%, #0D0D0D);--color-danger-surface: color-mix(in srgb, var(--color-danger) 24%, #0D0D0D);--color-danger-border: color-mix(in srgb, var(--color-danger) 55%, #0D0D0D);--color-heatmap-empty: #2A2A2A;--color-overlay-subtle: rgba(0, 0, 0, .35);--color-overlay-medium: rgba(0, 0, 0, .5);--color-overlay-strong: rgba(0, 0, 0, .62);--color-overlay-modal: rgba(0, 0, 0, .68);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .28);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .34);--shadow-md: 0 4px 12px rgba(0, 0, 0, .34);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--shadow-modal: 0 16px 48px rgba(0, 0, 0, .46);--shadow-drawer: 4px 0 24px rgba(0, 0, 0, .42);--shadow-top: 0 -8px 24px rgba(0, 0, 0, .4);--focus-ring: 0 0 0 2px color-mix(in srgb, var(--color-primary) 20%, transparent)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--text-body-lg);-webkit-font-smoothing:antialiased;overflow-x:hidden}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body)}html{font-family:var(--font-body);font-size:var(--text-body-lg);line-height:var(--line-height-body-md);color:var(--color-primary);background:var(--color-surface)}body{font-family:var(--font-body);font-size:var(--text-body-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-md);letter-spacing:var(--letter-spacing-normal);color:var(--color-primary);background:var(--color-surface)}.type-display{font-family:var(--font-display);font-size:var(--text-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-tight)}.type-h1{font-family:var(--font-display);font-size:var(--text-h1);font-weight:var(--font-weight-bold);line-height:var(--line-height-h1);letter-spacing:var(--letter-spacing-tight)}.type-h2{font-family:var(--font-display);font-size:var(--text-h2);font-weight:var(--font-weight-semibold);line-height:var(--line-height-h2);letter-spacing:var(--letter-spacing-normal)}.type-h3{font-family:var(--font-display);font-size:var(--text-h3);font-weight:var(--font-weight-semibold);line-height:var(--line-height-h3);letter-spacing:var(--letter-spacing-normal)}.type-body-lg{font-family:var(--font-body);font-size:var(--text-body-lg);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-lg);letter-spacing:var(--letter-spacing-normal)}.type-body-md{font-family:var(--font-body);font-size:var(--text-body-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-md);letter-spacing:var(--letter-spacing-normal)}.type-body-sm{font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-sm);letter-spacing:var(--letter-spacing-normal)}.type-label{font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label)}.type-metric{font-family:var(--font-display);font-size:var(--text-metric);font-weight:var(--font-weight-bold);line-height:var(--line-height-metric);letter-spacing:var(--letter-spacing-tighter)}.type-metric-sm{font-family:var(--font-display);font-size:var(--text-metric-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-metric-sm);letter-spacing:var(--letter-spacing-normal)}.type-mono{font-family:var(--font-mono);font-size:var(--text-mono);font-weight:var(--font-weight-regular);line-height:var(--line-height-mono);letter-spacing:var(--letter-spacing-normal)}:root{--nav-rail-w: 56px;--header-h: 52px}.page-wrap{max-width:calc(1100px + var(--nav-rail-w));margin:0 auto;padding:calc(var(--header-h) + 40px) 32px 80px calc(var(--nav-rail-w) + 32px)}.grid-2,.grid-3{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 767px){.page-wrap{padding:calc(var(--header-h) + 16px) 16px 24px 16px}.grid-2,.grid-3{grid-template-columns:1fr}}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;align-items:stretch}.zones-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.zone-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 16px;background:var(--color-surface);border-radius:4px}.zone-label{font-weight:600;font-size:var(--text-body-sm);width:24px;color:var(--color-primary);flex-shrink:0}.zone-name{font-size:var(--text-body-sm);width:100px;color:var(--color-secondary);flex-shrink:0}.profile-field-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px}.profile-pair-grid{width:100%;display:grid;gap:14px}.profile-pair-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:16px;align-items:end}.profile-provider-stack{width:100%;display:flex;flex-direction:column;gap:14px}.profile-provider-select{width:100%}.profile-provider-list{display:flex;flex-direction:column;gap:8px}@media (max-width: 480px){.zone-row{gap:6px;padding:8px 10px}.zone-name{width:70px;font-size:var(--text-label)}}@media (max-width: 767px){.metrics-grid,.zones-grid,.analysis-grid{grid-template-columns:repeat(2,1fr)}.profile-field-grid,.profile-pair-row{grid-template-columns:1fr}}.pie-chart-row{display:flex;gap:16px;align-items:center}@media (max-width: 767px){.pie-chart-row{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.chart-settings-dropdown{position:fixed;right:12px;left:12px;min-width:auto;top:auto;bottom:16px}}@media (max-width: 767px){.wiki-table{font-size:var(--text-body-sm)}.wiki-table th,.wiki-table td{padding:8px}.wiki-entry-content{overflow-x:auto}}@media (max-width: 480px){.metric-tooltip-content{max-width:160px;font-size:var(--text-label)}}@media (max-width: 767px){.recharts-wrapper .recharts-yAxis .recharts-cartesian-axis-tick-value{font-size:var(--text-label)!important}}@media (max-width: 767px){.dashboard-monotony-separator{border-left:none!important;border-top:1px solid var(--color-surface-alt);padding-left:0!important;padding-top:16px;margin-top:8px}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-secondary);border-radius:2px}.font-display{font-family:var(--font-display);font-weight:600}.text-muted,.text-faint{color:var(--color-secondary)}.caps{text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-label);font-weight:500}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:none}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fadeUp .4s ease forwards;opacity:0}.fade-up-1{animation-delay:.05s}.fade-up-2{animation-delay:.1s}.fade-up-3{animation-delay:.15s}.fade-up-4{animation-delay:.2s}.fade-up-5{animation-delay:.25s}.fade-up-6{animation-delay:.3s}.z1{background:var(--color-zone-1)}.z2{background:var(--color-zone-2)}.z3{background:var(--color-zone-3)}.z4{background:var(--color-zone-4)}.z5{background:var(--color-zone-5)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-h);background:color-mix(in srgb,var(--color-surface) 95%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-surface-alt);z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:14px}.app-header-left{display:flex;align-items:center;gap:12px}.app-header-burger{background:none;border:none;color:var(--color-primary);padding:4px;border-radius:4px;display:flex;align-items:center;transition:background .15s}.app-header-burger:hover{background:var(--color-surface)}.app-header-logo-img{height:36px;width:auto;object-fit:contain;cursor:pointer}.app-header-right{flex:1;display:flex;justify-content:flex-end}.nav-drawer{position:fixed;top:0;left:0;bottom:0;background:color-mix(in srgb,var(--color-surface) 98%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-right:1px solid var(--color-surface-alt);z-index:150;display:flex;flex-direction:column;transition:width .2s ease,transform .2s ease;overflow:hidden}.nav-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-subtle);z-index:140;animation:nav-fade-in .15s ease}@keyframes nav-fade-in{0%{opacity:0}to{opacity:1}}.nav-drawer-desktop{width:var(--nav-rail-w)}.nav-drawer-desktop.expanded{width:220px}.nav-drawer-mobile{width:280px;transform:translate(-100%);z-index:210;box-shadow:var(--shadow-drawer)}.nav-drawer-mobile.open{transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;padding:16px 16px 24px;flex-shrink:0}.nav-drawer-logo{font-family:var(--font-display);font-weight:700;font-size:var(--text-metric-sm);letter-spacing:0;color:var(--color-primary);transition:color .15s}.nav-drawer-logo:hover{color:var(--color-secondary)}.nav-drawer-items{flex:1;display:flex;flex-direction:column;gap:4px;padding:16px 8px;overflow-y:auto}.nav-drawer-item{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:var(--radius-sm);color:var(--color-secondary);font-size:var(--text-body-md);font-weight:400;text-transform:uppercase;letter-spacing:.05em;transition:all .15s;text-decoration:none;position:relative}.nav-drawer-item:hover{background:var(--color-surface);color:var(--color-primary)}.nav-drawer-item.active{color:var(--color-primary);font-weight:500;background:var(--color-surface)}.nav-drawer-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--color-primary);border-radius:0 2px 2px 0}.nav-drawer-item-icon{display:flex;align-items:center;flex-shrink:0;width:20px;height:20px}.nav-drawer-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-drawer-footer{padding:16px;flex-shrink:0}.nav-drawer-logout{background:transparent;border:none;color:var(--color-secondary);cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px 12px;width:100%;font-size:var(--text-body-sm);font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:color .2s;border-radius:var(--radius-sm)}.nav-drawer-logout:hover{color:var(--color-primary);background:var(--color-surface)}.nav-item,.nav-drawer-item{background:transparent;color:var(--color-secondary);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.nav-item-active,.nav-item.active,.nav-drawer-item.active{background:var(--color-surface-alt);color:var(--color-primary)}.chart-builder-btn-add{padding:8px 20px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);font-size:var(--text-label);font-weight:500;color:var(--color-on-primary);transition:all .15s}.chart-builder-btn-add:not(:disabled):hover{background:var(--color-primary)}.tp-summary-cell{background:var(--color-surface-card);padding:12px;display:flex;flex-direction:column;gap:10px;font-size:var(--text-label);border-right:1px solid var(--color-surface-alt);border-bottom:1px solid var(--color-surface-alt)}.tp-summary-block{display:flex;flex-direction:column;gap:3px}.tp-summary-block.metrics{flex-direction:row;justify-content:space-between;border-bottom:1px dashed var(--color-surface-alt);padding-bottom:10px;margin-bottom:4px}.tp-summary-block.metrics>div{display:flex;flex-direction:column;align-items:center;gap:2px}.tp-summary-block.metrics .val{font-size:var(--text-body-lg);font-family:var(--font-display);font-weight:600;display:flex;align-items:baseline;gap:3px}.tp-summary-block.metrics .lbl{font-size:var(--text-label);color:var(--color-secondary);text-transform:capitalize}.tp-summary-row{display:flex;justify-content:flex-end;gap:6px;align-items:baseline}.tp-summary-lbl{color:var(--color-secondary);font-size:var(--text-label)}.tp-summary-val{font-weight:500;color:var(--color-primary);min-width:55px;text-align:right;font-size:var(--text-label)}.selection-action-btn{padding:8px 16px;border:1px solid var(--color-surface-alt);border-radius:6px;background:var(--color-surface-card);color:var(--color-primary);font-size:var(--text-body-sm);font-weight:600;cursor:pointer;transition:all .15s}.selection-action-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn-primary,.button-primary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--component-button-height);padding:10px 20px;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base);opacity:1}.btn-primary:hover:not(:disabled),.button-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-on-accent);opacity:1}.btn-secondary,.button-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--component-button-height);padding:10px 20px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:var(--color-surface-card);color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;transition:background var(--transition-base),border-color var(--transition-base),color var(--transition-base)}.btn-secondary:hover:not(:disabled),.button-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface-card));border-color:var(--color-accent);color:var(--color-primary)}.btn-ghost,.button-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:var(--component-button-height);padding:10px 20px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-secondary);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;transition:background var(--transition-base),color var(--transition-base)}.btn-ghost:hover:not(:disabled),.button-ghost:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-primary)}.profile-input{width:100%;padding:10px 14px;border:1px solid var(--color-surface-alt);border-radius:4px;font-size:var(--text-body-md);font-family:var(--font-body);color:var(--color-primary);background:var(--color-surface-card);color-scheme:light dark;transition:border-color .15s,box-shadow .15s;outline:none}.profile-input:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring)}.profile-input[type=number]::-webkit-outer-spin-button,.profile-input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.profile-input[type=number],input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.profile-input::placeholder{color:var(--color-secondary)}.profile-save-btn{min-width:0;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:6px;padding:12px 24px;font-size:var(--text-body-md);font-weight:600;cursor:pointer;letter-spacing:.03em;white-space:nowrap}.profile-save-updated-at{font-size:var(--text-label);color:var(--color-secondary)}@media (max-width: 767px){.profile-save-row{align-items:flex-start;flex-wrap:wrap;gap:10px}.profile-save-btn{padding:10px 16px!important;font-size:var(--text-body-md)!important;line-height:1.2}}.btn-secondary{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:4px;padding:6px 14px;font-size:var(--text-label);font-weight:500;color:var(--color-secondary);cursor:pointer;transition:all .15s;font-family:var(--font-body)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-primary);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface-card))}.sq-container{margin-top:12px;padding:16px;background:var(--color-surface);border-radius:12px;border:1px solid var(--color-surface-alt)}.sq-field{margin-bottom:16px}.sq-field:last-of-type{margin-bottom:12px}.sq-label{display:block;font-size:var(--text-body-md);font-weight:600;color:var(--color-primary);margin-bottom:8px}.sq-chips{display:flex;flex-wrap:wrap;gap:6px}.sq-chip{padding:6px 12px;border-radius:20px;border:1px solid var(--color-surface-alt);background:var(--color-surface-card);font-size:var(--text-body-sm);color:var(--color-secondary);cursor:pointer;transition:all .15s;font-family:var(--font-body)}.sq-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.sq-chip-active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.sq-slider-row{display:flex;align-items:center;gap:12px}.sq-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface-alt);border-radius:2px;outline:none}.sq-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer}.sq-slider-value{font-size:var(--text-body-md);font-weight:600;color:var(--color-primary);min-width:60px;text-align:right}.sq-text-input,.sq-date-input{width:100%;padding:8px 12px;border:1px solid var(--color-surface-alt);border-radius:8px;font-size:var(--text-body-md);font-family:var(--font-body);color:var(--color-primary);background:var(--color-surface-card);outline:none;transition:border-color .15s}.sq-text-input:focus,.sq-date-input:focus{border-color:var(--color-accent)}.sq-submit-btn{width:100%;padding:10px;border-radius:8px;background:var(--color-primary);color:var(--color-on-primary);border:none;font-size:var(--text-body-md);font-weight:600;cursor:pointer;transition:opacity .15s;font-family:var(--font-body)}.sq-submit-btn:hover:not(:disabled){opacity:.8}.sq-submit-btn:disabled{opacity:.4;cursor:not-allowed}.sq-submitted{padding:12px 16px;background:var(--color-surface);border-radius:8px;font-size:var(--text-body-md);color:var(--color-secondary);margin-top:12px}.sq-check{color:var(--color-success);font-weight:700}.input,.profile-input,.goal-wizard-input,.time-range-input,.chart-builder-search{min-height:var(--component-input-height);padding:10px 14px;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-body-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-body-md)}.card-sm{padding:16px 20px;min-height:90px;display:flex;flex-direction:column;justify-content:space-between;height:100%}.summary-body{max-height:0;overflow:hidden;transition:max-height .35s ease}.summary-body.open{max-height:2000px}.custom-chart-card{padding:20px 20px 12px;overflow:visible;position:relative}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px}.metric-card{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-md);padding:20px 24px}.metric-card-light{background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-md);padding:20px 24px}.metric-info-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--color-secondary);color:var(--color-on-accent);font-size:var(--text-label);font-weight:700;font-family:var(--font-body);margin-left:6px;cursor:help;transition:background .2s}.metric-info-icon:hover{background:var(--color-secondary)}.metric-tooltip-container{position:relative;display:inline-flex;align-items:center}.metric-tooltip-content{visibility:hidden;opacity:0;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(4px);background-color:var(--color-primary);color:var(--color-on-primary);text-align:left;padding:8px 12px;border-radius:6px;width:max-content;max-width:250px;font-size:var(--text-label);font-family:var(--font-body);z-index:100;transition:all .2s ease;line-height:1.4;text-transform:none;letter-spacing:normal;box-shadow:var(--shadow-lg);pointer-events:none}.metric-tooltip-content:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--color-primary) transparent transparent transparent}.metric-tooltip-container:hover .metric-tooltip-content{visibility:visible;opacity:1;transform:translate(-50%) translateY(-6px)}.metric-tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--color-secondary);color:var(--color-on-primary);font-size:var(--text-label);font-weight:700;font-family:var(--font-body);margin-left:4px;cursor:pointer;transition:background .15s;border:none;padding:0;line-height:1;vertical-align:middle;flex-shrink:0}.metric-tooltip-trigger:hover{background:var(--color-secondary)}.metric-tooltip-trigger--label{width:auto;height:auto;background:none;color:var(--color-secondary);font-size:var(--text-body-md);font-weight:inherit;font-family:var(--font-body);border-radius:0;border-bottom:1px dotted var(--color-secondary);margin-left:0;cursor:help;padding:0;line-height:inherit;vertical-align:baseline;display:inline}.metric-tooltip-trigger--label:hover{background:none;color:var(--color-primary);border-bottom-color:var(--color-primary)}.metric-tooltip-popup{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);color:var(--color-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-width:320px;padding:14px 16px;font-size:var(--text-body-sm);line-height:1.5;z-index:1000}.metric-tooltip-popup:before{content:"";position:absolute;top:-6px;left:16px;width:10px;height:10px;background:var(--color-surface-card);border-left:1px solid var(--color-surface-alt);border-top:1px solid var(--color-surface-alt);transform:rotate(45deg)}.metric-tooltip-label{font-weight:600;font-size:var(--text-body-md);color:var(--color-primary);margin-bottom:6px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em}.metric-tooltip-definition{color:var(--color-primary);margin-bottom:8px}.metric-tooltip-formula{font-family:var(--font-mono);font-size:var(--text-label);background:var(--color-surface);padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-surface-alt);color:var(--color-primary);margin-bottom:8px}.metric-tooltip-context{color:var(--color-secondary);font-size:var(--text-body-sm);margin-bottom:10px;font-style:italic}.metric-tooltip-link{background:none;border:none;color:var(--color-primary);font-size:var(--text-label);font-weight:500;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;font-family:var(--font-body)}.metric-tooltip-link:hover{color:var(--color-secondary)}.recharts-tooltip-wrapper{outline:none!important;z-index:100!important}.recharts-cartesian-axis-tick-value{font-family:var(--font-body)!important;font-size:var(--text-label)!important;fill:var(--color-secondary)!important}.recharts-cartesian-grid-horizontal line{stroke:var(--color-surface-alt)!important}.recharts-cartesian-grid-vertical line{stroke:transparent!important}.pmc-container{display:block;position:relative}.pmc-charts{min-width:0;display:flex;flex-direction:column}.pmc-summary-card{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:var(--color-surface-card)}.pmc-summary-date{font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.pmc-summary-metrics{display:flex;align-items:center;justify-content:flex-end;gap:14px}.pmc-summary-item{display:flex;align-items:baseline;gap:6px}.pmc-summary-label{font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em}.pmc-summary-value{font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:700;font-variant-numeric:tabular-nums}.pmc-zone-bar,.pmc-divider{display:none}.pmc-chart-label{font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.06em;writing-mode:vertical-lr;transform:rotate(180deg);position:absolute;left:-20px;white-space:nowrap}.pmc-zone-legend-panel{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);color:var(--color-primary)}@media (max-width: 767px){.pmc-summary-card{align-items:flex-start;flex-direction:column;gap:8px}.pmc-summary-metrics{width:100%;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.pmc-summary-item{flex:1 1 auto;min-width:30%}}.ramp-gauge,.ramp-gauge-marker{position:relative}.pmc-projection-divider{pointer-events:none}.zone-dist-chart{width:100%}.zone-dist-legend{display:flex;justify-content:center;gap:16px;margin-top:12px;flex-wrap:wrap;font-size:var(--text-label);color:var(--color-secondary)}.zone-dist-legend>div{display:flex;align-items:center;gap:6px}.zone-dist-legend>div>div:first-child{width:10px;height:10px;border-radius:2px;flex-shrink:0}.cmp-xmode-btn{background:var(--color-surface-card);border:none;padding:6px 14px;font-size:var(--text-label);font-weight:600;font-family:var(--font-body);color:var(--color-secondary);cursor:pointer;border-right:1px solid var(--color-surface-alt);transition:all .15s}.progress-bar-track{background:var(--color-surface-alt);border-radius:var(--radius-full);height:var(--component-progress-height)}.progress-bar-fill{background:var(--color-accent);border-radius:var(--radius-full);height:var(--component-progress-height)}.route-map-card{border-radius:var(--radius-sm);border:1px solid var(--color-surface-alt)}.route-map-container{width:100%;height:380px}.route-map-legend{display:flex;gap:20px;padding:10px 16px;background:var(--color-surface);border-top:1px solid var(--color-surface-alt)}.route-map-legend-item{display:flex;align-items:center;gap:6px;font-size:var(--text-label);color:var(--color-secondary);font-weight:500;letter-spacing:.03em}.route-map-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@media (max-width: 767px){.route-map-container{height:260px}}.badge{display:inline-block;border:1px solid var(--color-secondary);border-radius:var(--radius-sm);padding:2px 8px;font-size:var(--text-label);font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-secondary);white-space:nowrap}.badge-accent{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 15%,transparent);color:var(--color-primary)}.badge-danger{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent);color:var(--color-danger)}.stat-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:var(--radius-full);background:var(--color-surface-alt);color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.activity-tag{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-secondary);font-family:var(--font-body);font-size:var(--text-label);font-weight:var(--font-weight-medium);line-height:var(--line-height-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.activity-tag-active,.activity-tag.active{background:var(--color-accent);color:var(--color-on-accent)}.activity-header{display:grid;grid-template-columns:64px 1fr 80px 90px 72px 60px 80px;padding:8px 20px;border-bottom:1px solid var(--color-surface-alt);margin-bottom:4px;gap:16px;align-items:center}.activity-row{display:grid;grid-template-columns:64px 1fr 80px 90px 72px 60px 80px;padding:14px 20px;border-bottom:1px solid var(--color-surface-alt);gap:16px;align-items:center;cursor:pointer;transition:background .12s}.activity-row:hover{background:var(--color-surface)}.activity-date-cell{display:flex;gap:6px;align-items:baseline}.activity-date-day{font-family:var(--font-display);font-size:var(--text-h3);line-height:1}.activity-date-month{font-size:var(--text-label);color:var(--color-secondary);letter-spacing:.06em}.activity-dist-cell{display:flex;align-items:baseline}.activity-dist-value{font-family:var(--font-display);font-size:var(--text-h3)}.activity-dist-unit{font-size:var(--text-label);color:var(--color-secondary);margin-left:2px}.activity-pace-cell{display:flex;align-items:center}.activity-pace-value{font-family:var(--font-display);font-size:var(--text-h3)}.activity-hr-cell{display:flex;align-items:center;gap:4px}.activity-hr-icon{font-size:var(--text-body-sm);color:var(--color-danger)}.activity-hr-value{font-family:var(--font-display);font-size:var(--text-h3)}.activity-rtss-cell{display:flex;align-items:center}.activity-rtss-value{font-family:var(--font-display);font-size:var(--text-h3)}.activity-rtss-highlight{background:var(--color-accent);padding:0 4px;border-radius:1px}.activity-zonas-cell{display:flex;align-items:center}.mobile-hide{display:flex}.select-mode .activity-header,.select-mode .activity-row{grid-template-columns:32px 64px 1fr 80px 90px 72px 60px 80px}@media (max-width: 767px){.mobile-hide{display:none!important}.activity-header{grid-template-columns:48px 1fr 60px 72px;padding:6px 12px;gap:8px}.activity-row{grid-template-columns:48px 1fr 60px 72px;padding:10px 12px;gap:8px;align-items:center}.activity-date-cell{flex-direction:row;gap:4px;align-items:baseline}.activity-date-day{font-size:var(--text-body-lg)}.activity-date-month{font-size:var(--text-label)}.activity-dist-value{font-size:var(--text-body-lg)}.activity-dist-unit{font-size:var(--text-label)}.activity-pace-value{font-size:var(--text-body-md)}.activity-row>.activity-date-cell{justify-content:flex-start}.activity-dist-cell,.activity-pace-cell{justify-content:flex-end}.select-mode .activity-header,.select-mode .activity-row{grid-template-columns:32px 48px 1fr 60px 72px}.select-mode .activity-row-checkbox{padding:0 2px}}.activity-row-checkbox{display:flex;align-items:center;justify-content:center;padding:0 4px}.activity-row-checkbox input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:1.5px solid var(--color-secondary);border-radius:3px;cursor:pointer;transition:all .15s ease;position:relative;background:var(--color-on-accent)}.activity-row-checkbox input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}.activity-row-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:solid var(--color-primary);border-width:0 2px 2px 0;transform:rotate(45deg)}.activity-row-checkbox input[type=checkbox]:hover{border-color:var(--color-primary)}.activity-row.selected{background:color-mix(in srgb,var(--color-accent) 15%,transparent)}.selection-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--color-surface);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);margin-bottom:16px;flex-wrap:wrap;gap:12px}.selection-bar-info{font-size:var(--text-body-md);font-weight:500}.selection-bar-actions{display:flex;gap:8px}.selection-action-btn{padding:8px 16px;border:1px solid var(--color-surface-alt);border-radius:6px;background:var(--color-on-accent);font-size:var(--text-body-sm);font-weight:600;cursor:pointer;transition:all .15s}.selection-action-btn:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-accent);border-color:var(--color-primary)}.selection-action-btn:disabled{opacity:.4;cursor:not-allowed}.selection-action-btn.compare-btn:disabled{opacity:.4}.selection-action-btn.compare-btn:not(:disabled){background:var(--color-accent);border-color:var(--color-accent)}.select-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--color-surface-alt);border-radius:50px;background:transparent;color:var(--color-secondary);font-size:var(--text-body-sm);cursor:pointer;transition:all .15s}.select-toggle-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.select-toggle-btn.active{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.pr-row{display:grid;grid-template-columns:160px 1fr auto auto;padding:14px 20px;gap:16px;align-items:center;border-bottom:1px solid var(--color-surface-alt);cursor:pointer;transition:background .12s}.pr-row:last-child{border-bottom:none}.pr-row:hover{background:var(--color-surface)}@media (max-width: 767px){.pr-row{grid-template-columns:1fr auto;row-gap:8px;padding:16px;align-items:flex-start}.pr-row>p:nth-child(1){grid-column:1 / -1;color:var(--color-primary);font-weight:500}.pr-row>p:nth-child(2){grid-column:1 / -1;font-size:var(--text-body-md)}.pr-row>p:nth-child(3){grid-column:1;align-self:center}.pr-row>p:nth-child(4){grid-column:2;align-self:center;text-align:right}}.filter-row-container{display:flex;align-items:center;justify-content:space-between;width:100%;gap:16px}.filter-pills-scroll{display:flex;flex-wrap:wrap;gap:8px;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.filter-pills-scroll::-webkit-scrollbar{display:none}.filter-pill{white-space:nowrap;padding:6px 14px;border-radius:50px;background:var(--color-surface);color:var(--color-secondary);font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:500;letter-spacing:.01em;border:1px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-tap-highlight-color:transparent}.filter-pill:hover{background:var(--color-surface-alt);color:var(--color-primary)}.filter-pill.active{background:var(--color-primary);color:var(--color-on-accent);box-shadow:var(--shadow-md)}.filter-view-controls{display:flex;align-items:center;gap:4px;flex-shrink:0;padding-left:16px;border-left:1px solid var(--color-surface-alt)}.filter-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--color-surface-alt);border-radius:50px;background:transparent;color:var(--color-secondary);font-size:var(--text-body-sm);cursor:pointer;transition:all .15s;font-family:var(--font-body)}.filter-toggle-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-toggle-btn.active{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.filters-panel{max-height:0;overflow:hidden;transition:max-height .35s ease,opacity .25s ease,margin .35s ease;opacity:0;margin-bottom:0}.filters-panel.open{max-height:800px;opacity:1;margin-bottom:24px}.filters-panel-content{display:flex;flex-direction:column;gap:0;padding:20px 24px;background:var(--color-on-accent);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm)}.filters-section{padding:14px 0;border-bottom:1px solid var(--color-surface-alt)}.filters-section:first-child{padding-top:0}.filters-section:last-child{border-bottom:none;padding-bottom:0}.filters-section-label{font-size:var(--text-label);margin-bottom:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-secondary)}.filters-range-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.filters-range-group{display:flex;flex-direction:column;gap:8px}.filters-range-inputs{display:flex;align-items:center;gap:8px}.filters-range-input{width:100%!important;padding:6px 8px!important;font-size:var(--text-body-sm)!important}.filters-range-sep{color:var(--color-secondary);flex-shrink:0}.actividades-search input,.filters-panel-content .profile-input{padding:8px 12px;font-size:var(--text-body-md)}.filters-panel-content .time-range-wrapper{margin-bottom:0}@media (max-width: 767px){.filter-row-container{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.filter-view-controls{padding-left:0;border-left:none}.filters-range-row{grid-template-columns:1fr;gap:16px}.filters-panel-content{padding:16px}}.time-range-wrapper{margin-bottom:16px;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;gap:8px}.time-range-bar{display:flex;align-items:center;gap:4px;border:1px solid var(--color-surface-alt);border-radius:999px;padding:4px;background:var(--color-surface-card);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.time-range-bar::-webkit-scrollbar{display:none}.time-range-btn{background:transparent;border:0;font-size:var(--text-label);color:var(--color-secondary);padding:6px 12px;border-radius:999px;transition:all .15s ease;font-weight:500;white-space:nowrap;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none}.time-range-btn:hover{color:var(--color-primary)}.time-range-btn.active{background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-sm)}.time-range-custom{display:flex;gap:12px;align-items:center;background:var(--color-surface-card);padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--color-surface-alt);box-shadow:var(--shadow-md);width:100%;justify-content:flex-end}.time-range-custom-label{font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:4px}.time-range-input{border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);padding:4px 8px;font-family:var(--font-body);font-size:var(--text-body-sm);background:var(--color-surface-card);color:var(--color-primary)}.time-range-input:focus{outline:none;border-color:var(--color-secondary)}@media (max-width: 767px){.time-range-bar{max-width:100%}.time-range-custom{width:100%;justify-content:space-between}}.chart-builder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-modal);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:400;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chart-builder-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-surface-card);border:1px solid var(--color-surface-alt);color:var(--color-primary);border-radius:6px;padding:28px 32px;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;z-index:401;box-shadow:var(--shadow-modal);animation:fadeUp .25s ease}.chart-builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chart-builder-close{background:none;border:none;font-size:var(--text-h2);color:var(--color-secondary);line-height:1;padding:4px;transition:color .15s}.chart-builder-close:hover{color:var(--color-primary)}.chart-type-pills{display:flex;gap:6px}.chart-type-pill{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-label);font-weight:500;color:var(--color-secondary);transition:all .15s}.chart-type-pill:hover{border-color:var(--color-accent);color:var(--color-primary)}.chart-type-pill.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.chart-type-pill.active span{color:var(--color-on-accent)!important}.chart-builder-search{width:100%;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);padding:8px 12px;font-size:var(--text-body-md);font-family:var(--font-body);color:var(--color-primary);background:var(--color-surface);outline:none;transition:border-color .15s}.chart-builder-search:focus{border-color:var(--color-accent);background:var(--color-surface-card)}.var-selector{max-height:240px;overflow-y:auto;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);padding:8px;background:var(--color-surface)}.var-selector-category{font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-secondary);padding:6px 4px 4px;margin-top:4px}.var-selector-category:first-child{margin-top:0}.var-selector-items{display:flex;flex-wrap:wrap;gap:4px}.var-selector-item{display:flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-surface-card);font-size:var(--text-label);color:var(--color-primary);transition:all .12s;white-space:nowrap}.var-selector-item:hover{border-color:var(--color-accent)}.var-selector-item.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.var-selector-item.active .var-unit{color:color-mix(in srgb,var(--color-on-accent) 60%,transparent)}.var-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.var-label{font-weight:500}.var-unit{font-size:var(--text-label);color:var(--color-secondary)}.chart-builder-preview{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm)}.chart-preview-chip{display:flex;align-items:center;gap:6px;font-size:var(--text-body-sm)}.chart-builder-actions{display:flex;gap:8px;justify-content:flex-end}.chart-builder-btn-cancel{padding:8px 18px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:transparent;font-size:var(--text-label);font-weight:500;color:var(--color-secondary);transition:all .15s}.chart-builder-btn-cancel:hover{border-color:var(--color-primary);color:var(--color-primary)}.chart-builder-btn-add{padding:8px 20px;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);font-size:var(--text-label);font-weight:500;color:var(--color-on-accent);transition:all .15s}.chart-builder-btn-add:disabled{opacity:.3;cursor:not-allowed}.chart-builder-btn-add:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.custom-chart-card{padding:20px 20px 12px;overflow:visible;position:relative;min-width:0}.custom-chart-card--wide{grid-column:1 / -1}.custom-chart-card:has(.chart-settings-dropdown){z-index:10}.custom-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.custom-chart-delete{background:none;border:none;font-size:var(--text-h3);color:var(--color-secondary);padding:2px 6px;line-height:1;transition:color .15s;opacity:0}.custom-chart-card:hover .custom-chart-delete{opacity:1}.custom-chart-delete:hover{color:var(--color-danger)}.add-chart-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:20px;border:2px dashed var(--color-surface-alt);border-radius:var(--radius-sm);background:transparent;font-size:var(--text-body-sm);font-weight:500;color:var(--color-secondary);transition:all .2s;letter-spacing:.03em}.add-chart-btn:hover{border-color:var(--color-secondary);color:var(--color-primary);background:var(--color-surface)}.add-chart-btn-icon{font-size:var(--text-h3);line-height:1}@media (max-width: 767px){.chart-builder-panel{padding:20px;width:calc(100vw - 24px)}.chart-type-pills{flex-wrap:wrap}.custom-chart-delete,.chart-settings-btn{opacity:1}}.chart-settings-btn{background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-secondary);cursor:pointer;font-size:var(--text-h3);padding:2px 6px;opacity:0;transition:all .15s;line-height:1;letter-spacing:2px}.custom-chart-card:hover .chart-settings-btn{opacity:1}.chart-settings-btn:hover{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface-card));border-color:var(--color-accent);color:var(--color-primary)}.chart-settings-wrap{position:relative}.chart-settings-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:100;background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);min-width:260px;padding:12px;animation:fadeSlideDown .15s ease}.chart-active-filters-badge{font-size:var(--text-label);background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-surface-alt);padding:1px 6px;border-radius:999px;font-weight:500}.chart-settings-clear-btn{background:none;border:none;color:var(--color-secondary);font-size:var(--text-label);cursor:pointer;text-decoration:underline}.chart-type-icon-btn{flex:1;padding:4px 0;border:1px solid var(--color-surface-alt);border-radius:3px;background:var(--color-surface);color:var(--color-secondary);cursor:pointer;font-size:.85rem;transition:all .15s}.chart-type-icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.chart-type-icon-btn.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chart-settings-section{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--color-surface-alt)}.chart-settings-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.chart-settings-label{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;color:var(--color-secondary);margin-bottom:6px}.chart-settings-name-input{width:100%;border:1px solid var(--color-surface-alt);border-radius:3px;padding:6px 8px;font-size:var(--text-body-sm);font-family:var(--font-body);color:var(--color-primary);background:var(--color-surface);outline:none;transition:border-color .15s}.chart-settings-name-input:focus{border-color:var(--color-accent)}.chart-settings-filters{display:flex;flex-wrap:wrap;gap:4px}.chart-filter-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--color-surface-alt);border-radius:12px;background:var(--color-surface);cursor:pointer;font-size:var(--text-label);color:var(--color-secondary);transition:all .15s;text-transform:capitalize}.chart-filter-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.chart-filter-chip.active{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.chart-settings-actions{display:flex;gap:6px}.chart-settings-action-btn{flex:1;padding:6px 0;border:1px solid var(--color-surface-alt);border-radius:3px;background:transparent;font-size:var(--text-label);color:var(--color-secondary);cursor:pointer;transition:all .15s}.chart-settings-action-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.chart-settings-action-btn.danger{color:var(--color-danger);border-color:transparent}.chart-settings-action-btn.danger:hover{border-color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}@media (max-width: 767px){.chart-settings-dropdown{position:fixed;right:12px;left:12px;top:auto;bottom:12px;min-width:0;max-height:min(72vh,520px);overflow-y:auto;z-index:450}}.pwm-mode-toggle{display:flex;background:var(--color-surface-alt);border-radius:6px;padding:3px;border:1px solid var(--color-surface-alt)}.pwm-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:none;border-radius:4px;background:transparent;font-family:var(--font-body);font-size:var(--text-body-sm);font-weight:500;color:var(--color-secondary);cursor:pointer;transition:all .2s ease}.pwm-mode-btn:hover{color:var(--color-primary)}.pwm-mode-btn--active{background:var(--color-surface-card);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.pwm-generate-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:14px 20px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:6px;font-family:var(--font-body);font-size:var(--text-body-md);font-weight:600;cursor:pointer;transition:all .2s ease}.pwm-generate-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 88%,var(--color-surface-card))}.pwm-generate-btn--sm{padding:7px 20px;font-size:var(--text-label);width:auto}.pwm-save-btn{display:flex;align-items:center;justify-content:center;padding:7px 20px;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-label);font-weight:600;cursor:pointer;transition:all .2s ease}.pwm-save-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 88%,var(--color-surface-card))}.pwm-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.pwm-textarea-auto{font-size:var(--text-body-md)!important;line-height:1.6!important}.pwm-status{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:4px;font-size:var(--text-label);line-height:1.4}.pwm-status--pending{background:var(--color-warning-surface);color:var(--color-warning);border:1px solid var(--color-zone-3)}.pwm-status--success{background:color-mix(in srgb,var(--color-success) 8%,transparent);color:var(--color-success);border:1px solid var(--color-success)}.pwm-status--error{background:color-mix(in srgb,var(--color-danger) 8%,transparent);color:var(--color-danger);border:1px solid var(--color-danger)}@keyframes pwmSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pwm-spin{animation:pwmSpin 1s linear infinite}@media (max-width: 767px){.pwm-mode-toggle{padding:2px}.pwm-mode-btn{padding:7px 10px;font-size:var(--text-label)}}.coach-layout{display:flex;height:calc(100dvh - var(--header-h));overflow:hidden;margin-top:var(--header-h);margin-left:var(--nav-rail-w)}.coach-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.coach-messages{flex:1;overflow-y:auto;padding:24px 32px 16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.coach-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 0;text-align:center}.coach-suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:600px;width:100%}.coach-suggestion-btn{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:10px;padding:12px 16px;text-align:left;font-family:var(--font-body);font-size:var(--text-body-md);color:var(--color-primary);cursor:pointer;transition:all .15s;line-height:1.45}.coach-suggestion-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-alt)}.coach-suggestion-btn:disabled{opacity:.5;cursor:not-allowed}.coach-message{display:flex}.coach-message-user{justify-content:flex-end}.coach-message-assistant{justify-content:flex-start}.coach-message-bubble{max-width:72%;padding:12px 16px;border-radius:12px;font-size:var(--text-body-md);line-height:1.55}.coach-message-user .coach-message-bubble{background:var(--color-primary);color:var(--color-on-primary);border-bottom-right-radius:4px;white-space:pre-wrap}.coach-message-assistant .coach-message-bubble{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);color:var(--color-primary);border-bottom-left-radius:4px}.coach-message-assistant .coach-message-bubble h1,.coach-message-assistant .coach-message-bubble h2,.coach-message-assistant .coach-message-bubble h3,.coach-message-assistant .coach-message-bubble h4{margin:.65em 0 .25em;font-weight:600;line-height:1.3}.coach-message-assistant .coach-message-bubble h1:first-child,.coach-message-assistant .coach-message-bubble h2:first-child,.coach-message-assistant .coach-message-bubble h3:first-child,.coach-message-assistant .coach-message-bubble h4:first-child{margin-top:0}.coach-message-assistant .coach-message-bubble h1{font-size:var(--text-h3)}.coach-message-assistant .coach-message-bubble h2{font-size:var(--text-body-lg)}.coach-message-assistant .coach-message-bubble h3,.coach-message-assistant .coach-message-bubble h4{font-size:var(--text-body-md)}.coach-message-assistant .coach-message-bubble p{margin:.3em 0}.coach-message-assistant .coach-message-bubble p:first-child{margin-top:0}.coach-message-assistant .coach-message-bubble p:last-child{margin-bottom:0}.coach-message-assistant .coach-message-bubble strong{font-weight:600}.coach-message-assistant .coach-message-bubble em{font-style:italic}.coach-message-assistant .coach-message-bubble ul,.coach-message-assistant .coach-message-bubble ol{margin:.3em 0;padding-left:1.5em}.coach-message-assistant .coach-message-bubble li{margin:.1em 0}.coach-message-assistant .coach-message-bubble code{background:var(--color-surface);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:var(--text-mono)}.coach-message-assistant .coach-message-bubble pre{background:var(--color-surface);padding:12px;border-radius:8px;overflow-x:auto;margin:.75em 0}.coach-message-assistant .coach-message-bubble pre code{background:none;padding:0;font-size:var(--text-mono)}.coach-message-assistant .coach-message-bubble blockquote{margin:.4em 0;padding:.4em 1em;border-left:3px solid var(--color-primary);background:var(--color-surface);border-radius:0 4px 4px 0}.coach-message-assistant .coach-message-bubble table{border-collapse:collapse;margin:.75em 0;width:100%;font-size:var(--text-mono)}.coach-message-assistant .coach-message-bubble th,.coach-message-assistant .coach-message-bubble td{border:1px solid var(--color-surface-alt);padding:6px 10px;text-align:left}.coach-message-assistant .coach-message-bubble th{background:var(--color-surface);font-weight:600}.coach-message-assistant .coach-message-bubble hr{border:none;border-top:1px solid var(--color-surface-alt);margin:1em 0}.coach-message-assistant .coach-message-bubble a{color:var(--color-primary);text-decoration:underline}.coach-message-assistant .coach-message-bubble a:hover{text-decoration:none}.coach-thinking{display:flex;gap:5px;align-items:center;padding:14px 18px}.coach-thinking span{width:6px;height:6px;border-radius:50%;background:var(--color-secondary);animation:coach-bounce 1.2s infinite ease-in-out}.coach-thinking span:nth-child(2){animation-delay:.2s}.coach-thinking span:nth-child(3){animation-delay:.4s}@keyframes coach-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.coach-input-area{flex-shrink:0;padding:12px 40px 16px;border-top:1px solid var(--color-surface-alt);background:var(--color-surface)}.coach-input-row{display:flex;gap:10px;align-items:flex-end}.coach-textarea{flex:1;border:1px solid var(--color-surface-alt);border-radius:10px;padding:11px 16px;font-family:var(--font-body);font-size:var(--text-body-md);color:var(--color-primary);background:var(--color-surface-card);resize:none;outline:none;min-height:44px;max-height:120px;overflow-y:auto;transition:border-color .15s}.coach-textarea:focus{border-color:var(--color-primary)}.coach-textarea:disabled{opacity:.55;cursor:not-allowed}.coach-send-btn{width:44px;height:44px;border-radius:10px;background:var(--color-primary);color:var(--color-on-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s;flex-shrink:0}.coach-send-btn:not(:disabled):hover{opacity:.75}.coach-send-btn:disabled{opacity:.3;cursor:not-allowed}.coach-input-hint{display:none}.coach-clear-btn{font-size:var(--text-label);font-family:var(--font-body);color:var(--color-secondary);background:none;border:1px solid var(--color-surface-alt);border-radius:6px;padding:6px 12px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.coach-clear-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.coach-error{text-align:center;color:var(--color-danger);font-size:var(--text-body-md);padding:8px;margin-top:4px}@media (max-width: 767px){.coach-layout{height:calc(100dvh - var(--header-h));margin-top:var(--header-h);margin-left:0}.coach-main{overflow-x:hidden}.coach-messages{padding:16px 20px 12px}.coach-suggestions{grid-template-columns:1fr}.coach-message-bubble{max-width:88%}.coach-input-area{padding:12px 16px 20px}}.coach-sidebar{width:280px;display:flex;flex-direction:column;background:var(--color-surface-card);overflow:hidden}.coach-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 8px}.coach-sidebar-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-body-md);text-transform:uppercase;letter-spacing:.06em;color:var(--color-secondary)}.coach-sidebar-close{background:none;border:none;font-size:var(--text-h3);color:var(--color-secondary);cursor:pointer;padding:2px 4px;line-height:1;transition:color .15s}.coach-sidebar-close:hover{color:var(--color-primary)}.coach-sidebar-new-btn{width:calc(100% - 24px);margin:4px 12px 8px;padding:8px 12px;background:none;border:1px solid var(--color-surface-alt);border-radius:0;font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-secondary);cursor:pointer;transition:all .15s}.coach-sidebar-new-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface)}.coach-sidebar-list{flex:1;overflow-y:auto;padding:4px 8px}.coach-sidebar-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;background:none;border:none;border-left:3px solid transparent;border-radius:0;text-align:left;cursor:pointer;transition:background .12s,border-color .12s;font-family:var(--font-body)}.coach-sidebar-item:hover{background:var(--color-surface)}.coach-sidebar-item.active{background:var(--color-surface);border-left-color:var(--color-primary)}.coach-sidebar-item-title{font-size:var(--text-body-md);font-weight:500;color:var(--color-primary);display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-sidebar-item-time{font-size:var(--text-label);color:var(--color-secondary)}.coach-sidebar-role-badge{display:inline-block;padding:1px 6px;border-radius:10px;font-size:var(--text-label);font-weight:600;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.coach-sidebar-empty{display:flex;align-items:center;justify-content:center;padding:40px 16px;color:var(--color-secondary);font-size:var(--text-body-sm);text-align:center}.coach-sidebar-skeleton{padding:8px 12px;display:flex;flex-direction:column;gap:12px}.coach-sidebar-skeleton-bar{height:14px;background:var(--color-surface-alt);border-radius:3px;animation:coach-skeleton-pulse 1.2s ease-in-out infinite}.coach-sidebar-skeleton-bar:nth-child(2){width:75%}.coach-sidebar-skeleton-bar:nth-child(3){width:60%}@keyframes coach-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.coach-sidebar-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-strong);z-index:300;animation:fadeIn .15s ease}.coach-sidebar-drawer{position:fixed;top:0;left:0;bottom:0;width:280px;z-index:301;box-shadow:var(--shadow-drawer);animation:coach-drawer-slide .2s ease}@keyframes coach-drawer-slide{0%{transform:translate(-100%)}to{transform:translate(0)}}.coach-chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-surface-alt);flex-shrink:0}.coach-chat-header-title{font-family:var(--font-display);font-size:var(--text-h3);font-weight:600}.coach-chat-header-btn{background:none;border:none;padding:8px;color:var(--color-secondary);cursor:pointer;border-radius:8px;display:flex;align-items:center;transition:all .15s}.coach-chat-header-btn:hover{color:var(--color-primary);background:var(--color-surface)}.coach-sidebar-swipe-wrapper{position:relative;overflow:hidden}.coach-sidebar-delete-bg{position:absolute;right:0;top:0;bottom:0;width:80px;background:var(--color-danger);display:flex;align-items:center;justify-content:center;color:var(--color-on-accent);cursor:pointer}.coach-sidebar-item-wrapper{position:relative}.coach-sidebar-item-wrapper .coach-sidebar-item-delete{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-secondary);cursor:pointer;padding:4px;border-radius:4px;opacity:0;transition:opacity .15s,color .15s}.coach-sidebar-item-wrapper:hover .coach-sidebar-item-delete{opacity:1}.coach-sidebar-item-wrapper .coach-sidebar-item-delete:hover{color:var(--color-danger)}.coach-role-selector{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.coach-role-pill-wrapper{position:relative}.coach-role-pill{background:none;border:1px solid var(--color-surface-alt);border-radius:50px;padding:5px 14px;font-family:var(--font-body);font-size:var(--text-label);font-weight:500;color:var(--color-secondary);cursor:pointer;transition:all .15s;white-space:nowrap}.coach-role-pill:hover:not(:disabled){border-color:var(--color-secondary);color:var(--color-primary)}.coach-role-pill.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.coach-role-pill:disabled{opacity:.5;cursor:not-allowed}.coach-role-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-primary);color:var(--color-on-primary);padding:6px 10px;border-radius:4px;font-size:var(--text-label);line-height:1.4;white-space:nowrap;z-index:50;pointer-events:none;animation:fadeSlideUp .12s ease}.coach-role-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-4px;border-width:4px;border-style:solid;border-color:var(--color-primary) transparent transparent transparent}.ai-coach-bubble,.coach-message-assistant .coach-message-bubble{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-lg);padding:16px 20px}@media (prefers-color-scheme: dark){.ai-coach-bubble,.coach-message-assistant .coach-message-bubble{background:var(--color-ai-coach-bg);color:var(--color-ai-coach-text)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 767px){.coach-role-selector{gap:4px;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;width:100%}.coach-role-pill{padding:4px 10px;font-size:var(--text-label);flex-shrink:0}.coach-role-tooltip{display:none}}.wiki-controls{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);padding:12px 20px;margin-bottom:24px;flex-wrap:wrap;gap:12px}.wiki-toc{display:flex;gap:20px;flex-wrap:wrap}.wiki-toc-group{display:flex;flex-direction:column;gap:6px}.wiki-toc-group-title{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;color:var(--color-secondary);opacity:.9}.wiki-toc-group-items{display:flex;gap:10px;flex-wrap:wrap}.wiki-toc-item{display:flex;align-items:center;gap:6px;font-size:var(--text-label);text-transform:uppercase;letter-spacing:.05em;font-weight:500;color:var(--color-secondary);transition:color .15s}.wiki-toc-item:hover{color:var(--color-primary)}.wiki-toc-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wiki-btn{background:none;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);padding:6px 14px;font-size:var(--text-label);text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);transition:all .15s}.wiki-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.wiki-entries{display:flex;flex-direction:column;gap:18px}.wiki-sport-group{display:flex;flex-direction:column;gap:8px}.wiki-sport-title{font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;letter-spacing:.01em;color:var(--color-primary);margin:2px 2px 4px}.wiki-entry{border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);overflow:hidden;transition:border-color .2s;scroll-margin-top:24px}.wiki-entry:hover{border-color:var(--color-secondary)}.wiki-entry-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:none;border:none;font-family:var(--font-body);font-size:var(--text-body-lg);text-align:left;transition:background .12s}.wiki-entry-header:hover{background:var(--color-surface)}.wiki-tag{display:inline-block;padding:2px 10px;border-radius:var(--radius-sm);font-size:var(--text-label);font-weight:600;letter-spacing:.04em;border:1px solid;white-space:nowrap}.wiki-entry-title{font-weight:400;color:var(--color-primary)}.wiki-chevron{color:var(--color-secondary);transition:transform .2s;display:flex}.wiki-chevron.open{transform:rotate(180deg)}.wiki-entry-body{max-height:0;overflow:hidden;transition:max-height .35s ease}.wiki-entry-body.open{max-height:2000px}.wiki-entry-content{padding:0 20px 24px;border-top:1px solid var(--color-surface-alt)}.wiki-section{margin-top:20px}.wiki-section-label{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:var(--color-secondary);margin-bottom:8px}.wiki-section p{font-size:var(--text-body-md);line-height:1.65;color:var(--color-primary)}.wiki-formula{margin-top:16px;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm)}.wiki-formula code{font-family:var(--font-mono);font-size:var(--text-body-md);color:var(--color-primary)}.wiki-table{width:100%;border-collapse:collapse;font-size:var(--text-body-md);margin-top:8px}.wiki-table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--color-secondary);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;color:var(--color-secondary);font-weight:500}.wiki-table td{padding:10px 12px;border-bottom:1px solid var(--color-surface-alt);vertical-align:top}.wiki-table td code{font-family:var(--font-mono);font-size:var(--text-body-sm);color:var(--color-primary);white-space:nowrap}.wiki-table tr:last-child td{border-bottom:none}.wiki-extra{background:var(--color-surface);padding:16px;border-radius:var(--radius-sm);border:1px solid var(--color-surface-alt)}.wiki-items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.wiki-item-card{padding:14px 16px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm)}.wiki-item-card h4{font-size:var(--text-body-md);font-weight:600;margin-bottom:4px}.wiki-item-card p{font-size:var(--text-body-sm);color:var(--color-secondary);line-height:1.5}.wiki-related{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-surface-alt)}@media (max-width: 767px){.wiki-controls{flex-direction:column;align-items:flex-start}.wiki-items-grid{grid-template-columns:1fr}}.tp-container{margin-top:12px;border:1px solid var(--color-surface-alt);border-radius:12px;overflow:hidden;background:var(--color-surface-card)}.tp-header{padding:16px 16px 12px;border-bottom:1px solid var(--color-surface-alt);background:var(--color-surface)}.tp-title{font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:700;color:var(--color-primary);margin:0 0 6px}.tp-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--text-label);color:var(--color-secondary)}.tp-summary{padding:12px 16px;font-size:var(--text-body-sm);color:var(--color-secondary);line-height:1.5;border-bottom:1px solid var(--color-surface-alt);margin:0}.tp-phase-bar{display:flex;height:4px}.tp-phase-segment{flex:1;min-width:0}.tp-weeks{max-height:400px;overflow-y:auto}.tp-week{border-bottom:1px solid var(--color-surface-alt)}.tp-week:last-child{border-bottom:none}.tp-week-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 16px;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:var(--text-body-sm);color:var(--color-primary);text-align:left;transition:background .1s}.tp-week-header:hover{background:var(--color-surface)}.tp-week-toggle{width:14px;color:var(--color-secondary)}.tp-week-num{font-weight:600;min-width:44px}.tp-week-phase{padding:2px 8px;border-radius:10px;font-size:var(--text-label);font-weight:600;color:#fff}.tp-week-km{color:var(--color-secondary);margin-left:auto}.tp-week-focus{color:var(--color-secondary);font-size:var(--text-label)}.tp-week-sessions{padding:0 16px 10px 38px}.tp-session-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:var(--text-label);color:var(--color-primary)}.tp-session-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tp-session-day{width:28px;font-weight:600;color:var(--color-secondary);flex-shrink:0}.tp-session-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tp-session-km,.tp-session-dur{color:var(--color-secondary);flex-shrink:0}.tp-session-desc{display:none}.tp-confirm-btn{width:100%;padding:12px;background:var(--color-primary);color:var(--color-on-primary);border:none;font-size:var(--text-body-md);font-weight:600;cursor:pointer;transition:opacity .15s;font-family:var(--font-body)}.tp-confirm-btn:hover{opacity:.8}.wc-card{margin-top:10px;padding:14px 16px;border-radius:10px;border:1px solid var(--color-surface-alt);border-left:4px solid;background:var(--color-surface-card)}.wc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.wc-name{font-weight:700;font-size:var(--text-body-md);color:var(--color-primary)}.wc-date{font-size:var(--text-label);color:var(--color-secondary)}.wc-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--text-label);color:var(--color-secondary);margin-bottom:8px}.wc-type-badge{padding:2px 8px;border-radius:10px;font-size:var(--text-label);font-weight:600;color:#fff}.wc-description{font-size:var(--text-body-sm);color:var(--color-secondary);line-height:1.5;margin:0}.wc-steps{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-surface-alt)}.wc-step{display:flex;gap:8px;align-items:center;padding:3px 0;font-size:var(--text-label);color:var(--color-primary)}.wc-step-name{font-weight:500}.wc-step-zone{padding:1px 6px;border-radius:6px;background:var(--color-surface);font-size:var(--text-label);font-weight:600}.tp-calendar-page{display:flex;flex-direction:column;height:calc(100dvh - var(--header-h));margin-top:var(--header-h);margin-left:var(--nav-rail-w);overflow:hidden;background:var(--color-surface);color:var(--color-primary)}@media (max-width: 767px){.tp-calendar-page{margin-left:0;margin-top:var(--header-h);height:calc(100dvh - var(--header-h))}.tp-calendar-grid,.tp-calendar-grid.summary-collapsed{grid-template-columns:repeat(7,1fr) 48px!important}.tp-calendar-cell{min-height:80px;padding:4px 4px 20px;gap:4px}.tp-calendar-cell-date{font-size:var(--text-label)}.tp-activity-card{border-radius:2px}.tp-activity-card-content{padding:4px 5px;font-size:var(--text-label)}.tp-activity-card-title{font-size:var(--text-label);margin-bottom:3px}.tp-activity-card-stat{font-size:var(--text-label)}.tp-activity-card--mini .tp-activity-card-content,.tp-planned-card{padding:3px 4px}.tp-planned-card-content{padding:2px 0}.tp-planned-card-title{font-size:var(--text-label)}.tp-planned-card-stat{font-size:var(--text-label)!important}.tp-cell-add-btn{width:18px;height:18px;font-size:var(--text-label)}.tp-summary-cell{position:sticky;right:0;padding:6px 4px!important;gap:6px;background:var(--color-surface-card);z-index:10;border-left:1px solid var(--color-surface-alt)}.tp-summary-block{gap:2px}.tp-summary-block.metrics{flex-direction:column;gap:2px;padding-bottom:4px;margin-bottom:2px}.tp-summary-block.metrics>div{flex-direction:row;justify-content:space-between;gap:2px}.tp-summary-block.metrics .val,.tp-summary-block.metrics .lbl{font-size:var(--text-label)}.tp-summary-row{justify-content:space-between;gap:2px}.tp-summary-lbl{font-size:var(--text-label)}.tp-summary-val{font-size:var(--text-label);min-width:auto}.tp-view-toggle{display:flex}.tp-view-btn{padding:3px 8px;font-size:var(--text-label)}.tp-month-picker-btn{font-size:var(--text-body-lg)}.tp-calendar-header{padding:8px 12px;flex-wrap:wrap;gap:8px}}.tp-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--color-surface-alt);flex-shrink:0}.tp-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) 240px;flex:1;overflow-y:auto;overflow-x:hidden;border-top:1px solid var(--color-surface-alt);border-left:1px solid var(--color-surface-alt);transition:grid-template-columns .3s cubic-bezier(.22,1,.36,1)}.tp-calendar-grid.summary-collapsed{grid-template-columns:repeat(7,minmax(0,1fr)) 48px}.tp-calendar-day-header{background:var(--color-surface-card);padding:8px 12px;font-size:var(--text-label);text-transform:uppercase;color:var(--color-secondary);letter-spacing:.05em;font-weight:500;border-bottom:2px solid var(--color-surface-alt);border-right:1px solid var(--color-surface-alt)}.tp-calendar-cell{background:var(--color-surface);min-height:100px;height:auto;padding:8px 8px 28px;display:flex;flex-direction:column;gap:6px;transition:background .1s;border-right:1px solid var(--color-surface-alt);border-bottom:1px solid var(--color-surface-alt);position:relative;overflow:visible}.tp-calendar-cell:hover{background:var(--color-surface-card)}.tp-calendar-cell::-webkit-scrollbar{width:0;display:none}.tp-calendar-cell{scrollbar-width:none}.tp-calendar-cell-date{font-size:var(--text-label);color:var(--color-secondary);line-height:1;font-family:var(--font-body)}.tp-calendar-cell.inactive{background:color-mix(in srgb,var(--color-surface) 86%,var(--color-surface-alt))}.tp-calendar-cell.inactive .tp-calendar-cell-date{opacity:.4}.tp-activity-card{width:100%;border:1px solid var(--color-surface-alt);border-radius:4px;background:var(--color-surface-card);overflow:hidden;display:flex;flex-direction:column;transition:all .15s;box-shadow:var(--shadow-md);cursor:pointer}.tp-activity-card:hover{border-color:var(--color-neutral-border)}.tp-activity-card-header{height:12px;background:var(--color-surface-alt)}.tp-activity-card-header.run{background:var(--color-success)}.tp-activity-card-content{padding:6px 8px;font-size:var(--text-label);color:var(--color-primary)}.tp-activity-card-title{display:flex;align-items:center;gap:6px;font-weight:500;margin-bottom:6px;color:var(--color-secondary);font-size:var(--text-label)}.tp-activity-card-stat{display:flex;line-height:1.45;color:var(--color-primary);font-weight:500;font-size:var(--text-label);font-family:var(--font-body)}.tp-activity-card-stat span{color:var(--color-secondary);margin-left:4px;font-weight:400}.tp-activity-card--mini{min-height:auto;box-shadow:none}.tp-activity-card--mini .tp-activity-card-content,.tp-activity-card-content--mini{padding:4px 6px}.tp-activity-card-content--mini .tp-activity-card-title{font-size:var(--text-label);margin-bottom:2px}.tp-activity-card-content--mini svg{width:12px;height:12px}.tp-view-toggle{display:flex;gap:0;border:1px solid var(--color-surface-alt);border-radius:4px;overflow:hidden}.tp-view-btn{padding:4px 12px;background:transparent;border:none;font-size:var(--text-label);color:var(--color-secondary);cursor:pointer;transition:all .15s;font-family:var(--font-body)}.tp-view-btn:hover{background:var(--color-surface);color:var(--color-primary)}.tp-view-btn.active{background:var(--color-primary);color:var(--color-on-primary)}.tp-summary-cell{background:linear-gradient(90deg,color-mix(in srgb,var(--color-surface-card) 86%,var(--color-surface-alt)) 0,var(--color-surface-card) 16px);padding:12px;display:flex;flex-direction:column;justify-content:center;gap:0;font-size:var(--text-label);border-right:1px solid var(--color-surface-alt);border-bottom:1px solid var(--color-surface-alt)}.tp-summary-toggle{background:transparent;border:none;color:var(--color-secondary);font-size:var(--text-h3);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;line-height:1;transition:color .15s}.tp-summary-toggle:hover{color:var(--color-primary)}.tp-summary-card{position:relative;display:flex;flex-direction:column;gap:10px;min-height:calc(100% - 4px);padding:12px 12px 11px;border:1px solid color-mix(in srgb,var(--color-surface-alt) 82%,var(--color-primary));border-left:3px solid color-mix(in srgb,var(--color-secondary) 42%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-surface-card) 94%,var(--color-primary));box-shadow:var(--shadow-xs);overflow:hidden;transition:border-color var(--transition-base),background var(--transition-base),transform var(--transition-base)}.tp-summary-card:hover{border-color:color-mix(in srgb,var(--color-accent) 28%,var(--color-surface-alt));transform:translateY(-1px)}.tp-summary-cell.has-load .tp-summary-card{border-left-color:var(--color-accent)}.tp-summary-cell.is-current-week .tp-summary-card{border-color:color-mix(in srgb,var(--color-accent) 42%,var(--color-surface-alt));background:color-mix(in srgb,var(--color-accent) 6%,var(--color-surface-card))}.tp-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.tp-summary-week{display:block;margin-bottom:3px;color:var(--color-primary);font-size:.66rem;font-weight:700;line-height:1;letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.tp-summary-range{display:block;color:var(--color-secondary);font-size:.62rem;font-weight:500;line-height:1.1;text-transform:uppercase}.tp-summary-load{display:flex;align-items:baseline;gap:3px;padding:4px 7px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 7%,transparent);color:var(--color-primary);white-space:nowrap}.tp-summary-load strong{font-family:var(--font-display);font-size:1.05rem;font-weight:700;line-height:1}.tp-summary-load span{color:var(--color-secondary);font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tp-summary-cell.is-over-plan .tp-summary-load{background:color-mix(in srgb,var(--color-danger) 16%,transparent)}.tp-summary-loadbar{height:4px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);overflow:hidden}.tp-summary-loadbar span{display:block;width:var(--week-load-pct, 0%);height:100%;min-width:4px;border-radius:inherit;background:var(--color-accent)}.tp-summary-cell.is-over-plan .tp-summary-loadbar span{width:100%;background:var(--color-danger)}.tp-summary-cell.is-under-plan .tp-summary-loadbar span{background:var(--color-warning)}.tp-summary-cell.is-empty .tp-summary-loadbar span{min-width:0;background:transparent}.tp-summary-plan-state,.tp-summary-compliance{display:flex;justify-content:space-between;gap:8px;color:var(--color-secondary);font-size:.6rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.tp-summary-compliance strong{color:var(--color-primary);font-weight:700}.tp-summary-cell.is-over-plan .tp-summary-compliance strong{color:var(--color-danger)}.tp-summary-cell.is-under-plan .tp-summary-compliance strong{color:var(--color-warning)}.tp-summary-block{display:flex;flex-direction:column;gap:5px}.tp-summary-block.metrics{flex-direction:row;justify-content:stretch;gap:4px;border-bottom:1px solid color-mix(in srgb,var(--color-surface-alt) 72%,transparent);padding-bottom:9px}.tp-summary-block.metrics>div{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 0;min-width:0;gap:3px;padding:6px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.tp-summary-block.metrics .val{font-size:.88rem;font-family:var(--font-display);font-weight:700;display:flex;align-items:baseline;gap:2px;color:var(--color-primary);line-height:1}.tp-summary-block.metrics .val span{color:var(--color-secondary);font-family:var(--font-body);font-size:.48rem;font-weight:700;letter-spacing:.03em}.tp-summary-block.metrics .lbl{font-size:.56rem;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em}.tp-summary-row{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.tp-summary-lbl{color:var(--color-secondary);font-size:.66rem}.tp-summary-val{font-weight:650;color:var(--color-primary);text-align:right;font-size:.72rem}.tp-summary-val span{color:var(--color-secondary);font-weight:400;margin-left:2px}.tp-summary-empty,.tp-summary-current{padding-top:2px;color:var(--color-secondary);font-size:.6rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tp-summary-current{color:var(--color-accent)}.tp-month-picker-btn{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 0;background:transparent;border:none;font-family:var(--font-body);font-size:var(--text-h3);color:var(--color-primary);cursor:pointer;transition:opacity .15s}.tp-month-picker-btn:hover{opacity:.7}.tp-nav-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--text-body-lg);border-radius:4px;transition:background .1s}.tp-nav-btn:hover{background:var(--color-surface)}.tp-today-btn{padding:4px 12px;background:transparent;border:1px solid var(--color-secondary);border-radius:4px;font-size:var(--text-label);color:var(--color-primary);cursor:pointer;transition:all .15s}.tp-today-btn:hover{background:var(--color-surface);border-color:var(--color-secondary)}.tp-picker-popup{position:absolute;top:100%;left:0;background:var(--color-surface-card);color:var(--color-primary);border:1px solid var(--color-surface-alt);box-shadow:var(--shadow-md);padding:16px 20px;z-index:200;width:min(340px,calc(100vw - 32px));border-radius:6px;animation:fadeSlideDown .15s ease}.tp-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.tp-picker-month-btn{background:transparent;border:none;font-family:var(--font-body);font-size:var(--text-h3);color:var(--color-primary);cursor:pointer;display:flex;align-items:center;gap:6px}.tp-picker-month-btn:hover{opacity:.7}.tp-picker-mini-calendar{display:flex;flex-direction:column;gap:8px}.tp-picker-days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.tp-picker-day-lbl{text-align:center;font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em;padding:4px 0}.tp-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;row-gap:8px}.tp-picker-cell{height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;font-size:var(--text-body-sm);color:var(--color-primary);transition:all .15s}.tp-picker-cell.inactive{color:var(--color-secondary);opacity:.5}.tp-picker-cell:hover:not(.active){background:var(--color-surface)}.tp-picker-cell.active{background:var(--color-data-blue);color:var(--color-on-accent);font-weight:500}.tp-picker-year-list{display:flex;flex-direction:column;max-height:250px;overflow-y:auto;padding-right:4px}.tp-picker-year-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.tp-picker-year-cell{padding:10px 0;text-align:center;cursor:pointer;border-radius:6px;font-size:var(--text-body-md);transition:background .1s}.tp-picker-year-cell:hover{background:var(--color-surface)}.tp-picker-year-cell.active{background:var(--color-data-blue);color:var(--color-on-accent)}.tp-planned-card{width:100%;border:1px solid var(--color-surface-alt);border-radius:4px;background:var(--color-surface-card);overflow:hidden;display:flex;flex-direction:column;transition:all .15s;box-shadow:var(--shadow-md);cursor:pointer}.tp-planned-card:hover{border-color:var(--color-neutral-border)}.tp-planned-card.completed{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 8%,transparent);box-shadow:none}.tp-planned-card-header{height:12px;background:var(--color-secondary)}.tp-planned-card.completed .tp-planned-card-header{background:var(--color-success)}.tp-planned-card-content{padding:6px 8px;display:flex;flex-direction:column;gap:2px}.tp-planned-card-title{display:flex;align-items:center;gap:6px;font-weight:500;margin-bottom:6px;color:var(--color-secondary);font-size:var(--text-label)}.tp-planned-card-stat{display:flex;flex-wrap:wrap;line-height:1.45;color:var(--color-primary);font-weight:500;font-size:var(--text-label);font-family:var(--font-body)}.tp-planned-card-stat span{color:var(--color-secondary);margin-left:4px;font-weight:400}.tp-planned-card-meta{font-size:var(--text-label);color:var(--color-secondary)}.tp-planned-menu-wrap{position:relative;flex-shrink:0}.tp-planned-menu-btn{background:none;border:none;cursor:pointer;color:var(--color-secondary);font-size:var(--text-body-md);line-height:1;padding:2px 4px;border-radius:3px;opacity:1;display:flex;align-items:center}.tp-planned-menu-btn:hover{background:var(--color-surface-alt);color:var(--color-primary)}.tp-planned-menu-dropdown{position:absolute;right:0;top:calc(100% + 2px);background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:110px;overflow:hidden;z-index:30}.tp-planned-menu-dropdown button{display:block;width:100%;text-align:left;background:none;border:none;padding:7px 12px;font-size:var(--text-label);color:var(--color-primary);cursor:pointer;font-family:var(--font-body)}.tp-planned-menu-dropdown button:hover{background:var(--color-surface)}.tp-planned-menu-dropdown button.danger{color:var(--color-danger)}.tp-cell-add-btn{position:absolute;bottom:6px;left:8px;opacity:0;background:none;border:1px dashed var(--color-surface-alt);border-radius:4px;color:var(--color-secondary);font-size:var(--text-body-lg);line-height:1;padding:3px 8px;cursor:pointer;transition:all .15s}.tp-calendar-cell:hover .tp-cell-add-btn{opacity:1}.tp-cell-add-btn:hover{border-color:var(--color-secondary);color:var(--color-primary)}.tp-activity-card-compact{display:flex;flex-direction:row;align-items:center;gap:6px;height:38px;padding:4px 6px;border-radius:3px;background:var(--color-surface);border:1px solid var(--color-surface-alt);font-size:var(--text-label);cursor:pointer;transition:background .12s;overflow:hidden;white-space:nowrap}.tp-activity-card-compact:hover{background:var(--color-surface-alt)}.tp-activity-card-compact-header{width:3px;height:24px;border-radius:2px;flex-shrink:0}.tp-activity-card-compact-content{display:flex;flex-direction:row;align-items:center;gap:6px;flex:1;min-width:0;font-size:var(--text-label);color:var(--color-secondary)}.tp-activity-card-compact-content .tp-compact-label{font-weight:500;color:var(--color-primary);overflow:hidden;text-overflow:ellipsis}.tp-activity-card-compact-content .tp-compact-distance{color:var(--color-secondary);flex-shrink:0}.tp-activity-badge-more{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:10px;background:var(--color-primary);color:var(--color-on-primary);font-size:var(--text-label);font-weight:600;white-space:nowrap;cursor:pointer;transition:opacity .12s}.tp-activity-badge-more:hover{opacity:.8}.tp-calendar-cell--drop-target{background:color-mix(in srgb,var(--color-data-blue) 8%,transparent);border:2px dashed var(--color-data-blue)}.tp-planned-card{cursor:grab;touch-action:none}.tp-planned-card:active{cursor:grabbing}.tp-planned-card.completed{cursor:not-allowed;opacity:.7}.tp-planned-card--dragging{opacity:.8;transform:rotate(2deg) scale(1.05);box-shadow:var(--shadow-modal);z-index:1000}.tp-drag-toast{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:var(--radius-sm);font-size:var(--text-body-md);font-weight:500;z-index:9999;animation:toast-slide-in .3s ease-out;box-shadow:var(--shadow-lg)}.tp-drag-toast--error{background:var(--color-danger-surface);color:var(--color-danger);border:1px solid var(--color-danger-border)}.tp-drag-toast--success{background:var(--color-success-surface);color:var(--color-success);border:1px solid var(--color-success-border)}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr) 88px}.calendar-day-header{padding:6px 8px;font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase;color:var(--color-secondary);text-align:center;border-bottom:2px solid var(--color-surface-alt)}.calendar-cell{padding:8px;min-height:88px;border-top:1px solid var(--color-surface-alt);overflow:hidden;transition:background .1s}.calendar-cell--empty{border-top:1px solid transparent}.calendar-cell:not(.calendar-cell--empty):hover{background:var(--color-surface)}.calendar-week-summary{border-top:1px solid var(--color-surface-alt);border-left:1px solid var(--color-surface-alt);padding:8px 6px;min-height:88px;background:var(--color-surface);display:flex;flex-direction:column;justify-content:center;gap:3px}.calendar-week-stat{display:flex;align-items:baseline;gap:3px}.calendar-week-val{font-family:var(--font-display);font-size:var(--text-body-sm);font-weight:600;color:var(--color-primary);line-height:1.2}.calendar-week-unit{font-size:var(--text-label);color:var(--color-secondary);letter-spacing:.04em}@media (max-width: 767px){.calendar-grid{grid-template-columns:repeat(7,1fr) 60px}.calendar-day-header{padding:4px 2px;font-size:var(--text-label)}.calendar-week-summary{padding:4px 3px}.calendar-week-val{font-size:var(--text-label)}.calendar-cell{min-height:56px;padding:4px 3px}}.activity-heatmap-container{display:flex;flex-direction:column;position:relative;width:100%}.heatmap-cell{aspect-ratio:1;border-radius:2px;background:var(--color-surface);transition:opacity .15s,transform .1s;cursor:pointer;min-width:0}.heatmap-months-row{position:relative;height:20px;margin-bottom:4px;margin-left:20px;font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.heatmap-month-label{position:absolute;top:0;white-space:nowrap}.heatmap-grid-wrapper{display:flex;gap:4px;width:100%}.heatmap-days-col{display:flex;flex-direction:column;gap:2px;justify-content:space-around;padding-top:2px;padding-bottom:2px;flex-shrink:0;width:14px}.heatmap-grid{display:flex;gap:2px;flex:1;min-width:0}.heatmap-column{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.heatmap-cell{width:100%;aspect-ratio:1;border-radius:2px;background:var(--color-surface);transition:opacity .15s,transform .1s;cursor:pointer}.heatmap-cell:hover{opacity:.8;transform:scale(1.1)}.heatmap-cell-0{background:var(--color-heatmap-empty)}.heatmap-cell-1{background:color-mix(in srgb,var(--color-success) 30%,transparent)}.heatmap-cell-2{background:color-mix(in srgb,var(--color-success) 60%,transparent)}.heatmap-cell-3{background:color-mix(in srgb,var(--color-success) 85%,transparent)}.heatmap-cell-4{background:var(--color-success)}.calendar-activity-item{display:flex;align-items:center;gap:5px;padding:3px 0;border-radius:2px;cursor:pointer;transition:background .1s}.calendar-activity-item:hover{background:var(--color-surface)}.calendar-activity-item-color{width:3px;height:16px;border-radius:2px;flex-shrink:0}.calendar-activity-item-info{display:flex;align-items:baseline;gap:6px;min-width:0}.calendar-activity-item-name{font-size:var(--text-label);font-weight:500;color:var(--color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.calendar-activity-item-distance{font-size:var(--text-label);color:var(--color-secondary);line-height:1.3;flex-shrink:0}.calendar-show-more{display:inline-block;font-size:var(--text-label);background:var(--color-surface);border:1px solid var(--color-surface-alt);padding:1px 6px;border-radius:10px;color:var(--color-secondary);cursor:pointer;margin-top:2px;transition:all .1s}.activity-card-v2{display:flex;align-items:stretch;gap:0;width:100%;background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .15s ease,border-color .15s ease;box-shadow:var(--shadow-xs)}.activity-card-v2:hover{border-color:var(--color-neutral-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.activity-card-v2:focus-visible{outline:2px solid var(--color-data-blue);outline-offset:2px}.activity-card-v2__bar{width:4px;flex:0 0 4px;background:var(--color-secondary);align-self:stretch}.activity-card-v2__bar--end{width:4px;flex:0 0 4px;align-self:stretch;background:var(--color-secondary)}.activity-card-v2__body{flex:1 1 auto;min-width:0;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.activity-card-v2__top{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.activity-card-v2__type{font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--color-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-card-v2__chip{font-size:var(--text-label);font-weight:600;padding:1px 6px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-primary) 5%,transparent);color:var(--color-secondary);white-space:nowrap}.activity-card-v2__chip--ok{background:var(--color-success-surface);color:var(--color-success)}.activity-card-v2__name{font-size:var(--text-body-sm);font-weight:500;color:var(--color-primary);line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.activity-card-v2__stats{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;font-size:var(--text-label);color:var(--color-secondary);font-variant-numeric:tabular-nums}.activity-card-v2__stats strong{color:var(--color-primary);font-weight:600}.activity-card-v2__stats .dot-sep{width:3px;height:3px;border-radius:50%;background:var(--color-secondary);flex-shrink:0}.activity-card-v2--mini .activity-card-v2__body{padding:5px 8px;gap:1px}.activity-card-v2--mini .activity-card-v2__type,.activity-card-v2--mini .activity-card-v2__stats{font-size:var(--text-label)}.activity-card-v2--mini .activity-card-v2__stats .dot-sep{display:none}.activity-card-v2--planned{background:var(--color-surface-card);border-style:dashed}.activity-card-v2--planned .activity-card-v2__chip{background:var(--color-surface);color:var(--color-primary)}.activity-card-v2--planned .activity-card-v2__stats{color:var(--color-secondary)}.activity-card-v2--planned.is-completed{background:var(--color-success-surface);border-color:var(--color-success-border);border-style:solid;opacity:.72}.tp-planned-card-shell{width:100%;cursor:grab;touch-action:none}.tp-planned-card-shell:active{cursor:grabbing}.tp-planned-card-shell.completed,.tp-planned-card-shell.completed .calendar-session-card{cursor:not-allowed}.tp-planned-card-shell.tp-planned-card--dragging{opacity:.9;transform:rotate(1deg) scale(1.03);box-shadow:var(--shadow-modal);border-radius:var(--radius-md);z-index:1000}.tp-activity-more-btn{font-size:var(--text-label);font-weight:500;color:var(--color-secondary);background:var(--color-surface);border:1px dashed var(--color-surface-alt);border-radius:6px;padding:3px 8px;cursor:pointer;transition:all .1s;margin-top:2px}.tp-activity-more-btn:hover{background:var(--color-surface-card);color:var(--color-primary);border-color:var(--color-secondary)}@media (min-width: 1024px){.tp-calendar-cell{min-height:140px;padding:8px 8px 4px;gap:5px;overflow-y:visible;overflow-x:visible}.tp-calendar-cell .activity-card-v2__name{-webkit-line-clamp:2}.tp-calendar-grid.summary-collapsed .tp-calendar-cell{padding-right:8px}}.tp-calendar-page--embedded{margin-left:0;margin-top:0;height:calc(100dvh - var(--header-h) - 120px)}@media (max-width: 767px){.tp-calendar-page:not(.tp-calendar-page--embedded){display:none!important}.tp-calendar-page--embedded{display:none!important}}@media (min-width: 1024px){.cal-m-page,.compliance-widget{display:none!important}}.cal-m-page{margin-top:var(--header-h);min-height:calc(100dvh - var(--header-h));display:flex;flex-direction:column;background:var(--color-surface);color:var(--color-primary);padding-bottom:80px}.cal-m-header{position:sticky;top:var(--header-h);z-index:20;background:color-mix(in srgb,var(--color-surface) 92%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);padding:10px 16px 6px;border-bottom:1px solid var(--color-surface-alt)}.cal-m-header__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.cal-m-year-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:var(--color-surface);border:none;border-radius:999px;font-size:var(--text-body-md);font-weight:500;color:var(--color-primary);cursor:pointer;transition:background .15s}.cal-m-year-chip:active{background:var(--color-surface-alt)}.cal-m-year-chip__arrow{font-size:var(--text-body-lg);color:var(--color-secondary)}.cal-m-header__actions{display:flex;gap:4px;background:var(--color-surface);border-radius:999px;padding:4px}.cal-m-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;background:transparent;border:none;border-radius:999px;color:var(--color-primary);cursor:pointer;transition:background .15s}.cal-m-icon-btn:active{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.cal-m-header__title-row{display:flex;align-items:center;gap:8px;margin:4px 0 10px}.cal-m-title{font-family:var(--font-display);font-size:var(--text-h1);font-weight:700;letter-spacing:-.02em;margin:0;flex:1 1 auto;text-transform:capitalize;line-height:1.05}.cal-m-month-nav{width:32px;height:32px;border-radius:50%;background:transparent;border:none;font-size:var(--text-h3);color:var(--color-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cal-m-month-nav:active{background:var(--color-surface);color:var(--color-primary)}.cal-m-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:4px 0 6px}.cal-m-weekday{text-align:center;font-size:var(--text-label);text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary);font-weight:500}.cal-m-weekday.is-weekend{color:var(--color-secondary)}.cal-m-grid{display:flex;flex-direction:column;padding:4px 8px 8px}.cal-m-week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-m-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:8px 2px 6px;min-height:56px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;border-radius:12px;transition:background .12s;color:var(--color-primary);font-family:var(--font-body);position:relative}.cal-m-day:active{background:var(--color-surface)}.cal-m-day.is-out .cal-m-day__num{color:var(--color-secondary);opacity:.45}.cal-m-day.is-weekend .cal-m-day__num{color:var(--color-secondary)}.cal-m-day__num{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-h3);font-weight:500;border-radius:50%;line-height:1}.cal-m-day.is-today .cal-m-day__num{background:var(--color-data-blue);color:var(--color-on-accent);font-weight:600}.cal-m-day.is-selected .cal-m-day__num{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.cal-m-day.is-selected.is-today .cal-m-day__num{background:var(--color-surface-card);color:var(--color-primary);border:2px solid var(--color-primary)}.cal-m-day__dots{display:inline-flex;align-items:center;gap:3px;height:6px}.cal-m-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.cal-m-panel{margin-top:8px;padding:16px 16px 24px;border-top:1px solid var(--color-surface-alt)}.cal-m-panel__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.cal-m-panel__date{font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:600;color:var(--color-primary);text-transform:capitalize}.cal-m-panel__add{background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:999px;padding:6px 14px;font-size:var(--text-label);font-weight:500;cursor:pointer}.cal-m-panel__add:active{opacity:.8}.cal-m-panel__list{display:flex;flex-direction:column;gap:8px}.cal-m-empty{text-align:center;padding:24px 0;color:var(--color-secondary);font-size:var(--text-body-md)}.cal-m-sheet{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--color-surface-card);border-top:1px solid var(--color-surface-alt);border-radius:16px 16px 0 0;box-shadow:var(--shadow-top);transition:transform .25s cubic-bezier(.22,1,.36,1);transform:translateY(0)}.cal-m-sheet__handle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 18px 10px;background:transparent;border:none;cursor:pointer;font-family:var(--font-body)}.cal-m-sheet__grip{position:absolute;top:6px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--color-surface-alt)}.cal-m-sheet__title{font-size:var(--text-body-sm);font-weight:600;color:var(--color-primary);letter-spacing:.02em;flex:1 1 auto;text-align:left}.cal-m-sheet__mini-score{font-size:var(--text-label);font-weight:700;color:var(--color-secondary);white-space:nowrap}.cal-m-sheet__chev{font-size:var(--text-body-md);color:var(--color-secondary)}.cal-m-sheet__body{padding:8px 18px 22px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--color-surface-alt)}.cal-m-sheet__load{display:flex;flex-direction:column;gap:9px;padding:12px 13px;border:1px solid var(--color-surface-alt);border-left:4px solid var(--color-secondary);border-radius:var(--radius-md);background:var(--color-surface)}.cal-m-sheet.has-plan .cal-m-sheet__load{border-left-color:var(--color-accent)}.cal-m-sheet__load-head,.cal-m-sheet__compliance{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cal-m-sheet__week{display:block;margin-bottom:3px;color:var(--color-primary);font-size:var(--text-label);font-weight:700;line-height:1;letter-spacing:var(--letter-spacing-label)}.cal-m-sheet__range{display:block;color:var(--color-secondary);font-size:var(--text-label);font-weight:500;line-height:1.1;text-transform:capitalize}.cal-m-sheet__score{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.cal-m-sheet__score strong{font-family:var(--font-display);font-size:var(--text-h2);font-weight:700;color:var(--color-primary);line-height:.95}.cal-m-sheet__score span{color:var(--color-secondary);font-size:var(--text-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cal-m-sheet__loadbar{height:5px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);overflow:hidden}.cal-m-sheet__loadbar span{display:block;width:var(--week-load-pct, 0%);min-width:4px;height:100%;border-radius:inherit;background:var(--color-accent)}.cal-m-sheet.is-over-plan .cal-m-sheet__loadbar span{width:100%;background:var(--color-danger)}.cal-m-sheet.is-under-plan .cal-m-sheet__loadbar span{background:var(--color-warning)}.cal-m-sheet__compliance,.cal-m-sheet__plan-state{color:var(--color-secondary);font-size:var(--text-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cal-m-sheet__compliance strong{color:var(--color-primary)}.cal-m-sheet.is-over-plan .cal-m-sheet__compliance strong{color:var(--color-danger)}.cal-m-sheet.is-under-plan .cal-m-sheet__compliance strong{color:var(--color-warning)}.cal-m-sheet__metrics,.cal-m-sheet__totals{display:grid;gap:8px}.cal-m-sheet__metrics{grid-template-columns:repeat(3,1fr)}.cal-m-sheet__totals{grid-template-columns:repeat(4,1fr)}.cal-m-sheet__metrics>div,.cal-m-sheet__totals>div{display:flex;flex-direction:column;gap:2px;background:var(--color-surface);padding:8px 10px;border-radius:10px}.cal-m-sheet__metrics .lbl,.cal-m-sheet__totals .lbl{font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.cal-m-sheet__metrics .val,.cal-m-sheet__totals .val{font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:600;color:var(--color-primary);line-height:1.05}.cal-m-sheet__metrics .val em,.cal-m-sheet__totals .val em{font-style:normal;font-family:var(--font-body);font-size:var(--text-label);color:var(--color-secondary);font-weight:400;margin-left:2px}@media (max-width: 380px){.cal-m-title{font-size:var(--text-h2)}.cal-m-day{min-height:50px;padding:6px 0 4px}.cal-m-day__num{width:26px;height:26px;font-size:var(--text-body-lg)}.cal-m-sheet__totals{grid-template-columns:repeat(2,1fr)}.cal-m-sheet__score strong{font-size:var(--text-h3)}.cal-m-sheet__mini-score{display:none}}.calendar-show-more:hover{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.cal-m-weekly{padding:8px 0 24px}.cal-m-weekly__nav{display:flex;align-items:center;gap:8px;padding:8px 16px 16px}.cal-m-weekly__label{flex:1;text-align:center;font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:600;color:var(--color-primary)}.cal-m-weekly__today{background:var(--color-surface);border:none;border-radius:999px;padding:5px 12px;font-size:var(--text-label);font-weight:500;color:var(--color-primary);cursor:pointer}.cal-m-weekly__today:active{background:var(--color-surface-alt)}.cal-m-weekly__days{display:flex;flex-direction:column;gap:2px;padding:0 12px}.cal-m-weekly__day{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--color-surface-alt)}.cal-m-weekly__day:last-child{border-bottom:none}.cal-m-weekly__day.is-today{background:color-mix(in srgb,var(--color-data-blue) 3%,transparent);border-radius:12px;padding:12px 10px;margin:0 -10px}.cal-m-weekly__day-label{display:flex;flex-direction:column;align-items:center;min-width:42px;padding-top:4px}.cal-m-weekly__dow{font-size:var(--text-label);font-weight:500;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.03em}.cal-m-weekly__date-num{font-family:var(--font-display);font-size:var(--text-metric-sm);font-weight:700;color:var(--color-primary);line-height:1.2}.cal-m-weekly__date-num.is-today{color:var(--color-data-blue)}.cal-m-weekly__day-content{flex:1;display:flex;flex-direction:column;gap:6px;min-height:48px;justify-content:center}.cal-m-weekly__empty{display:flex;align-items:center;min-height:40px}.cal-m-weekly__add-btn{background:transparent;border:1px dashed var(--color-surface-alt);border-radius:8px;padding:6px 14px;font-size:var(--text-label);color:var(--color-secondary);cursor:pointer;transition:all .15s}.cal-m-weekly__add-btn:active{background:var(--color-surface);color:var(--color-primary)}.cal-m-icon-btn.is-active{background:color-mix(in srgb,var(--color-data-blue) 10%,transparent);color:var(--color-data-blue)}.tp-view-toggle{display:inline-flex;background:var(--color-surface);border-radius:8px;padding:3px;gap:2px}.tp-view-toggle__btn{background:transparent;border:none;border-radius:6px;padding:6px 14px;font-size:var(--text-body-sm);font-weight:500;color:var(--color-secondary);cursor:pointer;transition:all .15s}.tp-view-toggle__btn.is-active{background:var(--color-surface-card);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.tp-view-toggle__btn:hover:not(.is-active){color:var(--color-primary)}.tp-weekly-desktop{flex:1;display:flex;flex-direction:column;overflow:hidden}.tp-weekly-desktop__header{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-surface-alt)}.tp-weekly-desktop__day-header{display:flex;flex-direction:column;align-items:center;padding:12px 8px 10px;gap:2px;position:relative}.tp-weekly-desktop__day-header.is-today .tp-weekly-desktop__date-num{background:var(--color-data-blue);color:var(--color-on-accent);border-radius:50%;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.tp-weekly-desktop__dow{font-size:var(--text-label);font-weight:500;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em}.tp-weekly-desktop__date-num{font-family:var(--font-display);font-size:var(--text-h3);font-weight:600;color:var(--color-primary);line-height:1}.tp-weekly-desktop__date-row{display:inline-flex;align-items:center;gap:6px}.tp-weekly-desktop__add-btn{width:22px;height:22px;border-radius:999px;border:1px solid var(--color-surface-alt);background:var(--color-surface-card);color:var(--color-secondary);font-size:.95rem;font-weight:600;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(-2px);pointer-events:none;transition:opacity .15s,transform .15s,color .15s,border-color .15s,background .15s}.tp-weekly-desktop__day-header:hover .tp-weekly-desktop__add-btn,.tp-weekly-desktop__day-header:focus-within .tp-weekly-desktop__add-btn{opacity:1;transform:translateY(0);pointer-events:auto}.tp-weekly-desktop__add-btn:hover,.tp-weekly-desktop__add-btn:focus-visible{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-surface)}.tp-weekly-desktop__grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow-y:auto}.tp-weekly-desktop__col{border-right:1px solid var(--color-surface-alt);padding:10px 8px;display:flex;flex-direction:column;gap:8px;min-height:300px}.tp-weekly-desktop__col:last-child{border-right:none}.tp-weekly-desktop__col.is-today{background:color-mix(in srgb,var(--color-data-blue) 2%,transparent)}.tp-weekly-desktop-summary{border-top:1px solid var(--color-surface-alt);padding:12px 16px;display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(240px,1fr) minmax(360px,1.6fr);gap:12px;background:var(--color-surface);align-items:stretch}.tp-weekly-summary__load,.tp-weekly-summary__metrics,.tp-weekly-summary__totals{display:grid;gap:8px}.tp-weekly-summary__load{padding:12px 14px;border:1px solid color-mix(in srgb,var(--color-surface-alt) 82%,var(--color-primary));border-left:4px solid var(--color-secondary);border-radius:var(--radius-md);background:var(--color-surface-card);box-shadow:var(--shadow-xs)}.tp-weekly-desktop-summary.has-plan .tp-weekly-summary__load{border-left-color:var(--color-accent)}.tp-weekly-desktop-summary.is-current-week .tp-weekly-summary__load{background:color-mix(in srgb,var(--color-accent) 5%,var(--color-surface-card));border-color:color-mix(in srgb,var(--color-accent) 36%,var(--color-surface-alt))}.tp-weekly-summary__head,.tp-weekly-summary__compliance{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tp-weekly-summary__week{display:block;margin-bottom:3px;color:var(--color-primary);font-size:var(--text-label);font-weight:700;line-height:1;letter-spacing:var(--letter-spacing-label);text-transform:uppercase}.tp-weekly-summary__range{display:block;color:var(--color-secondary);font-size:var(--text-label);font-weight:500;line-height:1.1;text-transform:uppercase}.tp-weekly-summary__badge{padding:3px 7px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-on-primary);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tp-weekly-summary__score{display:flex;align-items:baseline;gap:6px;color:var(--color-primary)}.tp-weekly-summary__score strong{font-family:var(--font-display);font-size:var(--text-h2);font-weight:700;line-height:.95}.tp-weekly-summary__score span{color:var(--color-secondary);font-size:var(--text-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tp-weekly-summary__loadbar{height:5px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 8%,transparent);overflow:hidden}.tp-weekly-summary__loadbar span{display:block;width:var(--week-load-pct, 0%);min-width:4px;height:100%;border-radius:inherit;background:var(--color-accent)}.tp-weekly-desktop-summary.is-over-plan .tp-weekly-summary__loadbar span{width:100%;background:var(--color-danger)}.tp-weekly-desktop-summary.is-under-plan .tp-weekly-summary__loadbar span{background:var(--color-warning)}.tp-weekly-summary__compliance,.tp-weekly-summary__plan-state{color:var(--color-secondary);font-size:var(--text-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tp-weekly-summary__compliance strong{color:var(--color-primary)}.tp-weekly-desktop-summary.is-over-plan .tp-weekly-summary__compliance strong{color:var(--color-danger)}.tp-weekly-desktop-summary.is-under-plan .tp-weekly-summary__compliance strong{color:var(--color-warning)}.tp-weekly-summary__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.tp-weekly-summary__totals{grid-template-columns:repeat(4,minmax(0,1fr))}.tp-weekly-summary__metrics>div,.tp-weekly-summary__totals>div{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;padding:10px 12px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.tp-weekly-desktop-summary .lbl{display:block;font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.tp-weekly-desktop-summary .val{font-family:var(--font-display);font-size:var(--text-h3);font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums;line-height:1}.tp-weekly-desktop-summary .val em{font-style:normal;font-family:var(--font-body);font-size:var(--text-label);color:var(--color-secondary);font-weight:500;margin-left:2px}@media (max-width: 1180px){.tp-weekly-desktop-summary{grid-template-columns:1fr}}.calendar-popover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-medium);z-index:999;display:flex;align-items:center;justify-content:center;animation:popover-fade-in .15s ease-out}@keyframes popover-fade-in{0%{opacity:0}to{opacity:1}}.calendar-popover{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);box-shadow:var(--shadow-modal);min-width:min(320px,calc(100vw - 32px));max-width:420px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.calendar-popover-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-surface-alt)}.calendar-popover-date{font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:600;color:var(--color-primary);text-transform:capitalize}.calendar-popover-close{background:none;border:none;font-size:var(--text-h3);color:var(--color-secondary);cursor:pointer;padding:0 4px;line-height:1;transition:color .1s}.calendar-popover-close:hover{color:var(--color-primary)}.calendar-popover-list{overflow-y:auto;padding:8px 0}.calendar-popover-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .1s}.calendar-popover-item:hover{background:var(--color-surface)}.calendar-popover-item-color{width:4px;height:32px;border-radius:2px;flex-shrink:0}.calendar-popover-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.calendar-popover-item-name{font-size:var(--text-body-md);font-weight:500;color:var(--color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-popover-item-meta{font-size:var(--text-label);color:var(--color-secondary)}.calendar-popover-item-type{font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.widget-card{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);color:var(--color-primary);overflow:hidden;transition:box-shadow .15s}.widget-card:hover{box-shadow:var(--shadow-xs)}.widget-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--color-surface-alt)}.widget-drag-handle{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-secondary);cursor:grab;padding:4px;border-radius:4px;transition:color .15s,background .15s}.widget-drag-handle:hover{color:var(--color-primary);background:var(--color-surface-alt)}.widget-drag-handle:active{cursor:grabbing}.widget-title{flex:1;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary)}.widget-remove-btn{background:none;border:none;color:var(--color-secondary);font-size:var(--text-h3);line-height:1;padding:2px 6px;border-radius:4px;transition:color .15s,background .15s}.widget-remove-btn:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent)}@media (hover: hover) and (pointer: fine){.widget-remove-btn{opacity:0;pointer-events:none}.widget-card:hover .widget-remove-btn,.widget-card:focus-within .widget-remove-btn{opacity:1;pointer-events:auto}}.widget-content{padding:16px;color:var(--color-primary)}.widget-list{display:flex;flex-direction:column;gap:16px}.widget-placeholder{border:2px dashed var(--color-secondary);border-radius:var(--radius-sm);background:var(--color-surface);min-height:100px}.widget-overlay{background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);color:var(--color-primary);box-shadow:var(--shadow-modal)}.add-widget-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:transparent;color:var(--color-secondary);font-size:var(--text-body-sm);cursor:pointer;transition:all .15s}.add-widget-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-alt)}.dashboard-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.dashboard-controls-left{display:flex;align-items:center;gap:8px}.reorder-btn-mobile{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--color-surface-alt);border-radius:6px;background:var(--color-surface-card);color:var(--color-secondary);font-size:var(--text-body-sm);cursor:pointer;transition:all .15s}.reorder-btn-mobile:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-alt)}@media (min-width: 768px){.reorder-btn-mobile{display:none}}@media (max-width: 767px){.widget-drag-handle{display:none}}.dashboard-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:24px;flex-wrap:wrap}.dashboard-toolbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.dashboard-toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:var(--color-surface-card);color:var(--color-secondary);font-size:var(--text-label);font-weight:500;letter-spacing:.02em;cursor:pointer;transition:all .15s;white-space:nowrap}.dashboard-toolbar-btn:hover,.dashboard-toolbar-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-alt)}.dashboard-toolbar-btn--add,.dashboard-toolbar-btn--add:hover{border-style:solid}.dashboard-timerange-handle{display:none}@media (max-width: 480px){.dashboard-timerange-handle{display:block;width:36px;height:4px;background:var(--color-secondary);border-radius:2px;margin:0 auto 16px}}.dashboard-timerange-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:100;background:var(--color-surface-card);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);color:var(--color-primary);box-shadow:var(--shadow-lg);padding:12px 14px;min-width:300px}.dashboard-timerange-panel .time-range-bar{border:none;background:transparent;padding:0;overflow:visible}.dashboard-timerange-panel .time-range-btn{border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:var(--color-surface-card);color:var(--color-secondary);-moz-appearance:none;appearance:none;-webkit-appearance:none}.dashboard-timerange-panel .time-range-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}@media (max-width: 480px){.dashboard-timerange-panel{position:fixed;top:auto;bottom:0;left:0;right:0;min-width:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:20px 16px 32px;box-shadow:var(--shadow-top)}.dashboard-timerange-panel .time-range-bar{flex-wrap:wrap;gap:8px}.dashboard-timerange-panel .time-range-btn{flex:1 1 calc(33% - 8px);text-align:center;justify-content:center;padding:10px 8px;font-size:var(--text-body-sm)}.dashboard-timerange-panel .time-range-custom{margin-top:12px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-modal);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--color-surface-card);color:var(--color-primary);border-radius:var(--radius-sm);max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-modal)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-surface-alt)}.modal-title{font-family:var(--font-display);font-size:var(--text-h3);font-weight:700}.modal-close{background:none;border:none;font-size:var(--text-metric-sm);color:var(--color-secondary);cursor:pointer;padding:0 4px;line-height:1}.modal-close:hover{color:var(--color-primary)}.widget-catalog-list{padding:12px 0}.widget-catalog-item{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:16px;transition:background .15s}.widget-catalog-item:hover{background:var(--color-surface-alt)}.widget-catalog-info{flex:1;min-width:0}.widget-catalog-name{font-size:var(--text-body-md);font-weight:600;margin-bottom:2px}.widget-catalog-desc{font-size:var(--text-label);color:var(--color-secondary)}.widget-catalog-add-btn{padding:6px 16px;border:1px solid var(--color-surface-alt);border-radius:6px;background:var(--color-surface);color:var(--color-primary);font-size:var(--text-body-sm);cursor:pointer;white-space:nowrap;transition:all .15s}.widget-catalog-add-btn:hover{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.widget-manager{max-width:620px}.widget-manager-section{padding:12px 0}.widget-manager-section+.widget-manager-section{border-top:1px solid var(--color-surface-alt)}.widget-manager-section-title{padding:0 20px 8px;font-size:var(--text-label);font-weight:600;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.widget-toggle-btn{width:46px;height:26px;border:1px solid var(--color-surface-alt);border-radius:999px;background:var(--color-surface);cursor:pointer;position:relative;transition:all .15s;flex-shrink:0}.widget-toggle-btn.enabled{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 15%,var(--color-surface))}.widget-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--color-surface-card);border:1px solid var(--color-surface-alt);transition:transform .15s}.widget-toggle-btn.enabled .widget-toggle-thumb{transform:translate(20px);border-color:var(--color-primary)}.reorder-list{padding:8px 0}.reorder-item{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;gap:12px}.reorder-item-title{flex:1;font-size:var(--text-body-md);font-weight:500;color:var(--color-primary)}.reorder-buttons{display:flex;gap:4px}.reorder-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-surface-alt);border-radius:4px;background:var(--color-surface);color:var(--color-secondary);font-size:var(--text-body-lg);cursor:pointer;transition:all .15s}.reorder-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-alt)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.export-modal{max-width:400px}.export-buttons{display:flex;gap:12px}.export-btn{flex:1;padding:12px 16px;border:1px solid var(--color-surface-alt);border-radius:6px;background:var(--color-surface);color:var(--color-primary);font-size:var(--text-body-md);font-weight:600;cursor:pointer;transition:all .15s}.export-btn:disabled{opacity:.5;cursor:not-allowed}.export-btn-csv:hover:not(:disabled){background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.export-btn-pdf:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent)}.cmp-page{padding-bottom:64px}.cmp-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;flex-wrap:wrap}.cmp-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.05;letter-spacing:-.01em}.cmp-subtitle{margin-top:6px;font-size:var(--text-body-md)}.cmp-back-btn{padding:8px 18px;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);background:var(--color-on-accent);color:var(--color-primary);cursor:pointer;font-size:var(--text-body-sm);font-family:var(--font-body);transition:border-color .15s,background .15s}.cmp-back-btn:hover{border-color:var(--color-primary);background:var(--color-surface)}.cmp-hero-grid{display:grid;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr));gap:12px;margin-bottom:28px}.cmp-hero-card{position:relative;background:var(--color-on-accent);border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);padding:16px 16px 12px;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:border-color .15s,transform .15s}.cmp-hero-card:hover{border-color:var(--color-secondary)}.cmp-hero-stripe{position:absolute;top:0;left:0;right:0;height:3px;background:var(--cmp-color)}.cmp-hero-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.cmp-ref-badge{display:inline-block;background:var(--color-primary);color:var(--color-on-accent);font-size:var(--text-label);font-weight:700;letter-spacing:.08em;padding:2px 6px;border-radius:2px}.cmp-hero-remove{background:none;border:1px solid var(--color-surface-alt);width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:var(--text-body-lg);line-height:1;color:var(--color-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.cmp-hero-remove:hover{border-color:var(--color-danger);color:var(--color-danger)}.cmp-hero-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-body-lg);line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-hero-date{font-size:var(--text-label);color:var(--color-secondary);text-transform:capitalize;margin-bottom:12px}.cmp-hero-stats{display:flex;gap:14px;margin-bottom:8px;flex-wrap:wrap}.cmp-hero-stats>div{display:flex;align-items:baseline;gap:4px}.cmp-hero-stat-num{font-family:var(--font-display);font-weight:600;font-size:var(--text-h3);line-height:1;color:var(--color-primary)}.cmp-hero-stat-unit{font-size:var(--text-label);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.04em}.cmp-hero-spark{margin-top:auto;border-top:1px solid var(--color-surface-alt);padding-top:6px}.cmp-hero-spark-empty{font-size:var(--text-label);color:var(--color-secondary);text-align:center;padding:12px 0;font-style:italic}.cmp-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-bottom:28px}.cmp-metric-group{padding:18px 18px 8px}.cmp-metric-group-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-body-md);text-transform:uppercase;letter-spacing:.08em;color:var(--color-secondary);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--color-surface-alt)}.cmp-metric-list{display:flex;flex-direction:column;gap:10px}.cmp-metric-row{display:flex;flex-direction:column;gap:6px;padding-bottom:8px;border-bottom:1px dashed var(--color-surface-alt)}.cmp-metric-row:last-child{border-bottom:none;padding-bottom:0}.cmp-metric-label{font-size:var(--text-label);color:var(--color-secondary);letter-spacing:.06em}.cmp-metric-unit{font-size:var(--text-label);color:var(--color-secondary);text-transform:lowercase;letter-spacing:0}.cmp-metric-values{display:flex;flex-direction:column;gap:6px}.cmp-metric-value-cell{display:flex;flex-direction:column;gap:3px}.cmp-metric-value-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.cmp-metric-value-num{font-family:var(--font-display);font-weight:600;font-size:var(--text-body-lg);font-variant-numeric:tabular-nums}.cmp-delta{font-size:var(--text-label);font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums;padding:1px 5px;border-radius:2px}.cmp-delta-good{background:color-mix(in srgb,var(--color-success) 8%,transparent);color:var(--color-success)}.cmp-delta-bad{background:color-mix(in srgb,var(--color-danger) 8%,transparent);color:var(--color-danger)}.cmp-delta-neutral{background:var(--color-surface);color:var(--color-secondary)}.cmp-bar{width:100%;height:4px;background:var(--color-surface);border-radius:2px;overflow:hidden}.cmp-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.cmp-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;margin-bottom:28px}.cmp-chart-card{padding:18px 18px 12px;display:flex;flex-direction:column}.cmp-chart-title{font-family:var(--font-display);font-weight:600;font-size:var(--text-body-lg);margin-bottom:2px}.cmp-chart-sub{font-size:var(--text-label);color:var(--color-secondary);margin-bottom:12px}.cmp-streams-card{padding:18px}.cmp-streams-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;flex-wrap:wrap}.cmp-xmode{display:inline-flex;border:1px solid var(--color-surface-alt);border-radius:var(--radius-sm);overflow:hidden}.cmp-xmode-btn{background:var(--color-on-accent);border:none;padding:6px 14px;font-size:var(--text-label);font-weight:600;font-family:var(--font-body);color:var(--color-secondary);cursor:pointer;border-right:1px solid var(--color-surface-alt);transition:all .15s}.cmp-xmode-btn:last-child{border-right:none}.cmp-xmode-btn:hover:not(.active){background:var(--color-surface)}.cmp-xmode-btn.active{background:var(--color-primary);color:var(--color-on-accent)}.cmp-streams-tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-surface-alt);margin-bottom:16px;overflow-x:auto}.cmp-streams-tab{background:none;border:none;padding:8px 14px;font-size:var(--text-body-sm);font-weight:500;font-family:var(--font-body);color:var(--color-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap}.cmp-streams-tab:hover{color:var(--color-primary)}.cmp-streams-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.cmp-streams-body{width:100%}.cmp-streams-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-surface-alt)}.cmp-streams-legend-item{display:flex;align-items:center;gap:6px;font-size:var(--text-label);color:var(--color-secondary);max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmp-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}@media (max-width: 767px){.cmp-hero-grid,.cmp-charts-grid,.cmp-metrics-grid{grid-template-columns:1fr}.cmp-page-head{align-items:flex-start;flex-direction:column}.cmp-streams-tabs{gap:0}.cmp-streams-tab{padding:8px 10px;font-size:var(--text-label)}}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.goals-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;color:var(--color-secondary)}.goals-empty p{margin-top:12px}.goal-card{background:var(--color-on-accent);border:1px solid var(--color-surface-alt);border-radius:2px;padding:20px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.goal-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-xs)}.goal-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.goal-event-badge{font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border:1px solid var(--color-surface-alt);border-radius:2px}.goal-status-dot{width:8px;height:8px;border-radius:50%}.goal-card-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-h3);line-height:1.2;margin-bottom:8px}.goal-card-meta{display:flex;gap:12px;font-size:var(--text-label);color:var(--color-secondary);margin-bottom:6px}.goal-card-countdown{font-weight:600;color:var(--color-accent)}.goal-card-target{display:flex;gap:12px;font-size:var(--text-label);color:var(--color-secondary);margin-bottom:12px}.goal-progress-bar{position:relative;height:4px;background:var(--color-surface-alt);border-radius:2px;overflow:hidden}.goal-progress-bar.large{height:6px}.goal-progress-fill{height:100%;background:var(--color-accent);border-radius:2px;transition:width .3s ease}.goal-progress-label{font-size:var(--text-label);color:var(--color-secondary);position:absolute;top:8px;left:0}.goal-generating{display:flex;align-items:center;gap:8px;font-size:var(--text-label);color:var(--color-secondary)}.goal-generating-spinner{width:12px;height:12px;border:2px solid var(--color-surface-alt);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}.goal-wizard{background:var(--color-on-accent);border:1px solid var(--color-surface-alt);border-radius:2px;width:90vw;max-width:520px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.goal-wizard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--color-surface-alt)}.goal-wizard-header h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-h3)}.goal-wizard-close{background:none;border:none;font-size:var(--text-metric-sm);cursor:pointer;color:var(--color-secondary);padding:4px 8px}.goal-wizard-steps{display:flex;gap:6px;padding:16px 24px;justify-content:center}.goal-wizard-step-dot{width:8px;height:8px;border-radius:50%;background:var(--color-surface-alt);transition:background .2s}.goal-wizard-step-dot.active{background:var(--color-primary)}.goal-wizard-body{padding:8px 24px 24px;flex:1}.goal-wizard-section{display:flex;flex-direction:column}.goal-wizard-label{font-size:var(--text-body-sm);font-weight:600;margin-bottom:8px;color:var(--color-primary)}.goal-wizard-input{width:100%;padding:10px 12px;border:1px solid var(--color-surface-alt);border-radius:2px;font-size:var(--text-body-md);font-family:var(--font-body);background:var(--color-on-accent);transition:border-color .15s}.goal-wizard-input:focus{outline:none;border-color:var(--color-primary)}.goal-wizard-textarea{width:100%;padding:10px 12px;border:1px solid var(--color-surface-alt);border-radius:2px;font-size:var(--text-body-md);font-family:var(--font-body);resize:vertical}.goal-wizard-textarea:focus{outline:none;border-color:var(--color-primary)}.goal-event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.goal-event-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border:1px solid var(--color-surface-alt);border-radius:2px;background:var(--color-on-accent);cursor:pointer;font-size:var(--text-label);transition:border-color .15s,background .15s}.goal-event-option:hover{border-color:var(--color-secondary)}.goal-event-option.selected{border-color:var(--color-primary);background:var(--color-surface)}.goal-event-icon{font-size:var(--text-h3)}.goal-time-inputs{display:flex;align-items:center;gap:6px}.goal-time-field{width:60px;text-align:center}.goal-wizard-checkbox{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:var(--text-body-sm);cursor:pointer;color:var(--color-secondary)}.goal-days-selector{display:flex;gap:8px}.goal-day-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-surface-alt);border-radius:2px;background:var(--color-on-accent);cursor:pointer;font-weight:600;font-size:var(--text-body-md);transition:border-color .15s,background .15s}.goal-day-btn:hover{border-color:var(--color-secondary)}.goal-day-btn.selected{border-color:var(--color-primary);background:var(--color-surface)}.goal-priority-options{display:flex;flex-direction:column;gap:8px}.goal-priority-option{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--color-surface-alt);border-radius:2px;background:var(--color-on-accent);cursor:pointer;text-align:left;transition:border-color .15s}.goal-priority-option strong{font-size:var(--text-body-md)}.goal-priority-option span{font-size:var(--text-label);color:var(--color-secondary)}.goal-priority-option:hover{border-color:var(--color-secondary)}.goal-priority-option.selected{border-color:var(--color-primary);background:var(--color-surface)}.goal-wizard-summary{margin-top:20px;padding:16px;background:var(--color-surface);border-radius:2px;font-size:var(--text-body-sm)}.goal-wizard-summary h4{font-family:var(--font-display);font-weight:700;margin-bottom:8px}.goal-wizard-summary p{margin-bottom:4px;color:var(--color-secondary)}.goal-wizard-summary p strong{color:var(--color-primary)}.goal-wizard-footer{display:flex;align-items:center;padding:16px 24px;border-top:1px solid var(--color-surface-alt);gap:8px}.goal-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.goal-back-btn{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:var(--text-body-md);color:var(--color-secondary);padding:4px 0}.goal-back-btn:hover{color:var(--color-primary)}.goal-detail-actions{display:flex;gap:4px;align-items:center}.goal-action-icon{display:flex;align-items:center;justify-content:center;position:relative;width:36px;height:36px;background:var(--color-on-accent);border:1px solid var(--color-surface-alt);border-radius:8px;cursor:pointer;color:var(--color-primary);transition:border-color .15s,background .15s}.goal-action-icon:hover{border-color:var(--color-primary);background:var(--color-surface-alt)}.goal-action-icon:disabled{opacity:.35;cursor:not-allowed}.goal-action-icon.danger{color:var(--color-danger)}.goal-action-icon.danger:hover{border-color:var(--color-danger)}.goal-action-badge{position:absolute;top:-5px;right:-5px;background:var(--color-primary);color:var(--color-on-accent);font-size:var(--text-label);font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1}.goal-more-wrap{position:relative}.goal-more-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.goal-more-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--color-on-accent);border:1px solid var(--color-surface-alt);border-radius:8px;box-shadow:var(--shadow-md);z-index:100;min-width:180px;padding:4px}.goal-more-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;border-radius:6px;font-size:var(--text-body-sm);cursor:pointer;color:var(--color-primary);transition:background .15s}.goal-more-item:hover{background:var(--color-surface-alt)}.goal-more-item.danger{color:var(--color-danger)}.goal-mobile-only{display:none}.goal-desktop-only{display:table}.goal-workout-card{padding:12px;border-bottom:1px solid var(--color-surface-alt);cursor:pointer;transition:background .15s}.goal-workout-card:last-child{border-bottom:none}.goal-workout-card:hover,.goal-workout-card:active{background:var(--color-surface-alt)}.goal-workout-card.completed{opacity:.55}.goal-workout-card.missed .goal-wcard-title{color:var(--color-danger)}.goal-wcard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.goal-wcard-date{font-size:var(--text-label);color:var(--color-secondary);font-weight:500}.goal-wcard-icons{display:flex;gap:8px;align-items:center;font-size:var(--text-body-sm)}.goal-wcard-title{font-size:var(--text-body-md);font-weight:600;margin-bottom:6px}.goal-wcard-meta{display:flex;gap:8px;align-items:center;font-size:var(--text-label);color:var(--color-secondary)}@media (max-width: 640px){.goal-mobile-only{display:block}.goal-desktop-only{display:none}.goal-block-detail{padding:12px}.goal-block-detail-header{flex-direction:column;align-items:flex-start;gap:2px}}.goal-detail-info{margin-bottom:24px}.goal-detail-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.1;margin-bottom:8px}.goal-detail-meta{display:flex;gap:12px;align-items:center;font-size:var(--text-body-sm);color:var(--color-secondary)}.goal-detail-progress{margin-bottom:32px}.goal-detail-progress-header{display:flex;justify-content:space-between;font-size:var(--text-label);color:var(--color-secondary);margin-bottom:8px}.goal-section-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-h3);margin-bottom:16px}.goal-blocks-timeline{display:flex;width:100%;height:36px;border-radius:2px;overflow:hidden;margin-bottom:20px}.goal-block-bar{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .15s,filter .15s;position:relative;opacity:.6}.goal-block-bar.active,.goal-block-bar.current{opacity:1}.goal-block-bar.current{box-shadow:var(--shadow-current-inset)}.goal-block-label{font-size:var(--text-label);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.goal-block-detail{background:var(--color-on-accent);border:1px solid var(--color-surface-alt);border-radius:2px;padding:20px}.goal-block-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.goal-block-detail-header h4{font-family:var(--font-display);font-weight:700;font-size:var(--text-body-lg)}.goal-block-dates{font-size:var(--text-label);color:var(--color-secondary)}.goal-block-focus{font-size:var(--text-body-sm);color:var(--color-secondary);margin-bottom:4px}.goal-block-volume{font-size:var(--text-body-sm);color:var(--color-secondary);margin-bottom:12px}.goal-block-workouts{overflow:hidden}.goal-no-workouts{font-size:var(--text-body-sm);color:var(--color-secondary)}.goal-workouts-table{width:100%;border-collapse:collapse;font-size:var(--text-label);table-layout:fixed}.goal-workouts-table th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--color-surface-alt);font-weight:600;font-size:var(--text-label);text-transform:uppercase;letter-spacing:.05em;color:var(--color-secondary)}.goal-workouts-table td{padding:6px 8px;border-bottom:1px solid var(--color-surface-alt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-workouts-table td:nth-child(2){white-space:normal;word-break:break-word}.goal-workouts-table tr.completed{color:var(--color-secondary)}.goal-workouts-table tr.missed td{color:var(--color-danger)}.goal-workout-row{cursor:pointer;transition:background .15s}.goal-workout-row:hover{background:var(--color-surface-alt)}.goal-week-group{margin-bottom:1rem}.goal-week-header{font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-secondary);padding:.4rem 0;border-bottom:1px solid var(--color-surface-alt);display:flex;justify-content:space-between;align-items:center}.goal-week-dates{font-weight:400;font-size:var(--text-label)}.goal-tipo-badge{font-size:var(--text-label);padding:1px 6px;border:1px solid var(--color-surface-alt);border-radius:2px}.goal-status-check{color:var(--color-success);font-weight:700}.goal-status-missed{color:var(--color-danger);font-weight:700}.goal-status-pending{opacity:.5}.active-goal-widget{cursor:pointer}.active-goal-widget:hover{opacity:.9}.btn-primary{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-accent);color:var(--color-on-accent);border:none;border-radius:2px;font-size:var(--text-body-sm);font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary:hover{opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{padding:8px 16px;background:var(--color-surface-card);color:var(--color-primary);border:1px solid var(--color-surface-alt);border-radius:2px;font-size:var(--text-body-sm);font-weight:600;cursor:pointer}.btn-secondary:hover{background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface-card));border-color:var(--color-accent)}.btn-danger-outline{padding:8px 16px;background:var(--color-surface-card);color:var(--color-danger);border:1px solid var(--color-danger);border-radius:2px;font-size:var(--text-body-sm);font-weight:600;cursor:pointer;opacity:.7}.btn-danger-outline:hover{opacity:1}.btn-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer}.goal-garmin-status{display:flex;align-items:center;gap:6px;font-size:var(--text-label);color:var(--color-secondary);margin-bottom:16px}.goal-adapt-banner{display:flex;align-items:center;justify-content:space-between;background:color-mix(in srgb,var(--color-warning) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-warning) 25%,transparent);border-radius:8px;padding:12px 16px;margin-bottom:20px;gap:16px}.goal-adapt-banner strong{font-size:var(--text-body-md);display:block;margin-bottom:2px}.goal-adapt-banner p{font-size:var(--text-label);color:var(--color-secondary);margin:0}.goal-proposal-card{background:var(--color-surface);border:1px solid var(--color-surface-alt);border-radius:12px;padding:16px;margin-top:12px}.goal-proposal-header{display:flex;gap:8px;margin-bottom:8px}.goal-priority-badge{font-size:var(--text-label);font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:4px;letter-spacing:.5px}.goal-priority-badge.priority-A{background:color-mix(in srgb,var(--color-accent) 15%,transparent);color:var(--color-accent)}.goal-priority-badge.priority-B{background:color-mix(in srgb,var(--color-priority-b) 15%,transparent);color:var(--color-priority-b)}.goal-priority-badge.priority-C{background:color-mix(in srgb,var(--color-priority-c) 15%,transparent);color:var(--color-priority-c)}.goal-proposal-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-h3);margin-bottom:12px}.goal-proposal-details{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.goal-proposal-row{display:flex;justify-content:space-between;font-size:var(--text-body-sm)}.goal-proposal-label{color:var(--color-secondary)}.goal-proposal-actions{display:flex;gap:8px;align-items:center}.goal-proposal-success{font-size:var(--text-body-sm);color:var(--color-success)}.goal-proposal-success a{color:var(--color-primary);text-decoration:underline}.goal-proposal-error{font-size:var(--text-body-sm);color:var(--color-danger);display:flex;gap:8px;align-items:center}
