@charset "UTF-8";:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--color-bg-app: #f4f5f8;--color-bg-surface: #ffffff;--color-bg-raised: #eaf0fa;--color-bg-input: #fbfbfd;--color-border-default: #e7e9ee;--color-border-strong: #d0d5de;--color-border-warning: #d39513;--color-border-selected: #ff7893;--color-text-warning: #855c0a;--color-text-primary: #17181c;--color-text-secondary: #5a5e70;--color-text-tertiary: #8e94a8;--color-text-accent: #af4b5f;--color-accent-primary: #ff7893;--color-accent-tint: #ffe4e6;--color-toggle-on-track: #2d6ac1;--color-text-on-accent: #17181c;--color-text-on-tint: #1f4171;--app-page-background: var(--color-bg-app);--app-panel-background: var(--color-bg-surface);--app-border-color: var(--color-border-default);--app-muted-color: var(--p-text-muted-color);--app-header-height: 4rem;--app-sidebar-width: 15.5rem;--app-sidebar-compact-width: 5.5rem;--app-hover-background: var(--p-surface-100);--app-raised-background: var(--color-bg-raised);--app-text-primary: var(--color-text-primary);--app-text-secondary: var(--color-text-secondary);--app-text-tertiary: var(--color-text-tertiary);--app-header-menu-icon: var(--color-text-secondary);--app-sidebar-background: var(--color-bg-surface);--app-sidebar-border: var(--color-border-default);--app-sidebar-text: var(--color-text-primary);--app-sidebar-muted: var(--color-text-secondary);--app-sidebar-hover: var(--color-bg-app);--app-sidebar-active-background: var(--color-accent-tint);--app-sidebar-active-text: var(--color-text-primary);--app-sidebar-active-icon: var(--color-text-accent);--app-sidebar-mark-background: var(--color-bg-raised);--app-theme-switch-background: var(--color-bg-raised);--app-theme-switch-border: var(--color-border-default);--app-theme-switch-selected: var(--color-bg-surface);--app-theme-switch-text: var(--color-text-tertiary);--app-theme-switch-selected-text: var(--color-text-primary);--app-sidebar-avatar-background: #2aa7e0;--app-sidebar-avatar-text: #0b1b24;--color-status-success: #0b7a56;--app-button-primary-background: var(--color-accent-primary);--app-button-primary-hover: #e66c84;--app-button-primary-text: var(--color-text-on-accent);--app-button-secondary-background: var(--color-bg-surface);--app-button-secondary-hover: var(--color-bg-app);--app-button-secondary-border: var(--color-border-strong);--app-button-secondary-text: var(--color-text-primary);--app-button-focus: var(--color-accent-primary);--app-input-background: var(--color-bg-input);--app-input-border: var(--color-border-strong);--app-input-text: var(--color-text-primary);--app-input-placeholder: var(--color-text-tertiary);--app-input-focus: var(--color-accent-primary);--app-input-error: #dc2626;--app-search-border: var(--color-border-default);--app-chip-background: var(--color-bg-surface);--app-chip-border: var(--color-border-strong);--app-chip-text: var(--color-text-primary);--app-chip-hover: var(--color-bg-raised);--app-chip-selected-background: var(--color-accent-tint);--app-chip-selected-border: var(--color-accent-primary);--app-chip-selected-accent: var(--color-text-accent);--app-badge-success-background: #d9f4e4;--app-badge-success-text: #054832;--app-badge-success-dot: var(--color-status-success);--app-badge-neutral-background: var(--color-bg-raised);--app-badge-neutral-text: var(--color-text-primary);--app-badge-neutral-dot: var(--color-text-secondary);--app-badge-draft-border: var(--p-surface-300);--app-badge-draft-text: var(--p-surface-600);--app-badge-draft-dot: var(--p-surface-400);--app-tag-warning-border: var(--color-border-warning);--app-tag-warning: var(--color-text-warning);--app-tag-neutral-background: var(--p-surface-200);--app-tag-neutral-text: var(--p-surface-800);--app-toast-background: var(--color-bg-raised);--app-toast-border: var(--color-border-strong);--app-toast-text: var(--color-text-primary);--app-toast-ok-background: #d9f4e4;--app-toast-ok-icon: #2e7d4f;--app-toast-action: var(--color-text-accent);--app-add-option-background: var(--color-bg-raised);--app-addon-head-background: var(--color-bg-raised);--app-add-option-border: var(--color-border-default);--app-add-option-icon-background: var(--color-bg-surface);--app-add-option-icon: #4b5160;--app-switch-border: var(--color-border-strong);--app-switch-knob: #4b5160;--app-switch-on: var(--color-toggle-on-track);--app-final-price: #2e7d4f;--app-tab-active-text: var(--color-text-primary);--app-tab-indicator: var(--color-accent-primary);--app-option-card-background: var(--color-bg-surface);--app-option-card-border: var(--color-border-default);--app-option-card-hover-border: var(--color-border-strong);--app-option-card-selected-background: var(--color-accent-tint);--app-option-card-accent: var(--color-accent-primary);--app-option-card-radio: var(--color-text-tertiary);--app-option-card-title: var(--color-text-primary);--app-settings-icon-background: var(--color-accent-tint);--app-settings-icon: #e5486f;--app-settings-card-shadow: 0 4px 12px rgb(26 29 36 / 6%);--app-checkbox-on: var(--color-accent-primary);--app-checkbox-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--app-segmented-neutral-selected: var(--color-bg-surface);--app-segmented-neutral-border: var(--color-border-strong);--app-schedule-day-background: var(--color-bg-surface);--app-schedule-day-border: var(--color-border-strong);--app-schedule-day-on: var(--color-accent-primary);--app-schedule-day-on-text: var(--color-text-on-accent);--app-time-field-selected: var(--color-accent-primary);--app-time-field-selected-text: var(--color-text-on-accent);--app-menu-danger: #d64550;--color-brand: var(--p-primary-color);--color-brand-contrast: var(--p-primary-contrast-color);--color-surface: var(--app-panel-background);--color-border: var(--app-border-color);--color-muted: var(--app-muted-color);--color-danger: var(--p-red-600, #dc2626);--color-camera: #111;--color-overlay: #0009;--app-overlay-mask: rgb(0 0 0 / 40%);--app-sheet-handle: var(--color-border-strong);--app-required-mark: var(--color-accent-primary);--app-eyebrow: var(--color-border-selected);--app-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}:root.app-dark{color-scheme:dark;--color-bg-app: #1b1c22;--color-bg-surface: #262831;--color-bg-raised: #2e3039;--color-bg-input: #181920;--color-border-default: #3a3d4a;--color-border-strong: #5a5e70;--color-text-primary: #ffffff;--color-text-secondary: #b4b9c8;--color-text-tertiary: #8e94a8;--color-text-accent: #fcdc45;--color-accent-tint: #45402b;--color-status-danger: #ff7a7a;--color-status-neutral: #3a3d4a;--color-status-warning: #f5b544;--color-accent-primary: #fcdc45;--color-text-on-accent: #17181c;--color-text-on-tint: var(--color-text-primary);--app-page-background: var(--color-bg-app);--app-panel-background: var(--color-bg-surface);--app-border-color: var(--color-border-default);--app-hover-background: #30323d;--app-raised-background: var(--color-bg-raised);--app-text-primary: var(--color-text-primary);--app-text-secondary: var(--color-text-secondary);--app-text-tertiary: var(--color-text-tertiary);--app-header-menu-icon: var(--color-text-primary);--app-sidebar-background: var(--color-bg-surface);--app-sidebar-border: var(--color-border-default);--app-sidebar-text: var(--color-text-primary);--app-sidebar-muted: var(--color-text-secondary);--app-sidebar-hover: #30323d;--app-sidebar-active-background: var(--color-accent-tint);--app-sidebar-active-text: var(--color-text-primary);--app-sidebar-active-icon: var(--color-text-accent);--app-sidebar-mark-background: #323a4a;--app-theme-switch-background: var(--color-bg-input);--app-theme-switch-border: var(--color-border-default);--app-theme-switch-selected: var(--color-bg-raised);--app-theme-switch-text: var(--color-text-tertiary);--app-theme-switch-selected-text: var(--color-text-primary);--app-overlay-mask: rgb(0 0 0 / 60%);--app-button-primary-hover: #fde36e;--app-button-secondary-background: var(--color-bg-raised);--app-button-secondary-hover: #383b46;--app-button-secondary-border: var(--color-border-strong);--app-button-secondary-text: var(--color-text-primary);--app-button-focus: var(--color-accent-primary);--app-input-background: var(--color-bg-input);--app-input-border: var(--color-border-strong);--app-input-text: var(--color-text-primary);--app-input-placeholder: var(--color-text-tertiary);--app-input-focus: var(--color-accent-primary);--app-input-error: var(--color-status-danger);--app-search-border: var(--color-border-default);--color-danger: var(--color-status-danger);--app-chip-background: var(--color-bg-surface);--app-chip-border: var(--color-border-strong);--app-chip-text: var(--color-text-primary);--app-chip-hover: var(--color-bg-raised);--app-chip-selected-background: var(--color-accent-tint);--app-chip-selected-border: var(--color-accent-primary);--app-chip-selected-accent: var(--color-accent-primary);--app-badge-success-background: var(--color-status-success);--app-badge-success-text: var(--color-text-primary);--app-badge-success-dot: var(--color-text-primary);--app-badge-neutral-background: var(--color-status-neutral);--app-badge-neutral-text: var(--color-text-primary);--app-badge-neutral-dot: var(--color-text-secondary);--app-badge-draft-border: var(--color-border-strong);--app-badge-draft-text: var(--color-text-secondary);--app-badge-draft-dot: var(--color-text-tertiary);--app-tag-warning-border: var(--color-status-warning);--app-tag-warning: var(--color-status-warning);--app-tag-neutral-background: var(--color-status-neutral);--app-tag-neutral-text: var(--color-text-primary);--app-toast-background: var(--color-bg-raised);--app-toast-border: var(--color-border-strong);--app-toast-text: var(--color-text-primary);--app-toast-ok-background: var(--color-status-success);--app-toast-ok-icon: var(--color-text-primary);--app-toast-action: var(--color-text-accent);--app-add-option-background: var(--color-bg-raised);--app-addon-head-background: var(--color-bg-raised);--app-add-option-border: var(--color-border-default);--app-add-option-icon-background: var(--color-bg-surface);--app-add-option-icon: var(--color-text-secondary);--app-switch-border: var(--color-border-strong);--app-switch-knob: var(--color-text-secondary);--app-switch-on: var(--color-accent-primary);--app-final-price: var(--color-text-primary);--app-tab-active-text: var(--color-text-primary);--app-tab-indicator: var(--color-accent-primary);--app-sheet-handle: var(--color-border-strong);--app-required-mark: var(--color-accent-primary);--app-eyebrow: var(--color-accent-primary);--app-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b4b9c8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");--app-option-card-background: var(--color-bg-surface);--app-option-card-border: var(--color-border-default);--app-option-card-hover-border: var(--color-border-strong);--app-option-card-selected-background: var(--color-accent-tint);--app-option-card-accent: var(--color-accent-primary);--app-option-card-radio: var(--color-text-tertiary);--app-option-card-title: var(--color-text-primary);--app-settings-icon-background: var(--color-accent-tint);--app-settings-icon: var(--color-text-accent);--app-settings-card-shadow: none;--app-checkbox-on: var(--color-accent-primary);--app-checkbox-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317181c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");--app-segmented-neutral-selected: var(--color-bg-raised);--app-segmented-neutral-border: var(--color-border-strong);--app-schedule-day-background: var(--color-bg-surface);--app-schedule-day-border: var(--color-border-strong);--app-schedule-day-on: var(--color-accent-primary);--app-schedule-day-on-text: var(--color-text-on-accent);--app-time-field-selected: var(--color-accent-primary);--app-time-field-selected-text: var(--color-text-on-accent);--app-menu-danger: var(--color-status-danger)}*{box-sizing:border-box}body{margin:0;background:var(--app-page-background);color:var(--app-text-primary)}button,input{font:inherit}.ui-input{box-sizing:border-box;width:100%;min-height:3.25rem;padding:0 .875rem;border:1px solid var(--app-input-border);border-radius:.75rem;background:var(--app-input-background);color:var(--app-input-text);font-family:inherit;font-size:1rem;font-weight:400;line-height:1.375rem}.ui-input::placeholder{color:var(--app-input-placeholder);opacity:1}.ui-input[aria-invalid=true]{padding-inline:.8125rem;border:2px solid var(--app-input-error)}.ui-input:focus{padding-inline:.8125rem;border:2px solid var(--app-input-focus);outline:none}textarea.ui-input{padding-block:.875rem;resize:vertical}textarea.ui-input:focus,textarea.ui-input[aria-invalid=true]{padding-block:.8125rem}select.ui-input{appearance:none;padding-right:2.625rem;background-image:var(--app-select-chevron);background-position:right .875rem center;background-repeat:no-repeat;background-size:1.25rem;text-overflow:ellipsis;cursor:pointer}select.ui-input:focus,select.ui-input[aria-invalid=true]{padding-right:2.5625rem;background-position:right .8125rem center}.ui-input:disabled{opacity:.5;cursor:not-allowed}.ui-tab-list{display:flex;overflow-x:auto;scrollbar-width:none}.ui-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:6.09375rem;min-height:3rem;padding:0 1.25rem;border:0;background:transparent;color:var(--app-text-secondary);font-family:inherit;font-size:1rem;font-weight:500;line-height:1.375rem;white-space:nowrap;cursor:pointer}.ui-tab:hover{color:var(--app-tab-active-text)}.ui-tab--active{color:var(--app-tab-active-text);font-weight:600}.ui-tab--active:after{position:absolute;right:0;bottom:0;left:0;height:.1875rem;background:var(--app-tab-indicator);content:""}.ui-tab:focus-visible{border-radius:.375rem;outline:2px solid var(--app-tab-indicator);outline-offset:-2px}.ui-option-card{display:flex;align-items:center;gap:.875rem;box-sizing:border-box;min-height:4.5rem;padding:.875rem;border:1px solid var(--app-option-card-border);border-radius:1rem;background:var(--app-option-card-background);cursor:pointer}.ui-option-card:has(>input:checked){padding:.8125rem;border:2px solid var(--app-option-card-accent);background:var(--app-option-card-selected-background)}.ui-option-card:hover:not(:has(>input:checked,>input:disabled)){border-color:var(--app-option-card-hover-border)}.ui-option-card:has(>input:focus-visible){outline:2px solid var(--app-option-card-accent);outline-offset:2px}.ui-option-card:has(>input:disabled){opacity:.5;cursor:not-allowed}.ui-option-card>input[type=radio]{appearance:none;flex-shrink:0;width:1.375rem;height:1.375rem;margin:0;border:2px solid var(--app-option-card-radio);border-radius:50%;background:transparent;cursor:inherit}.ui-option-card>input[type=radio]:checked{border-color:var(--app-option-card-accent);background:radial-gradient(circle,var(--app-option-card-accent) .3125rem,transparent calc(.3125rem + .5px))}.ui-option-card>input[type=radio]:focus-visible{outline:none}.ui-option-card>span{display:grid;flex:1;gap:.125rem;min-width:0}.ui-option-card strong{color:var(--app-option-card-title);font-size:1rem;font-weight:600;line-height:1.375rem}.ui-option-card small{color:var(--app-text-secondary);font-size:.8125rem;line-height:1.125rem}.admin-page{max-width:72rem}.admin-page header{margin-bottom:1.5rem}.admin-page h1{margin:.35rem 0}.admin-page h2{margin-top:0}.admin-page .muted{color:var(--color-muted)}.admin-page .toolbar,.admin-page .actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0}.admin-page .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}.admin-page .surface{padding:1.25rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-surface)}.admin-page .surface p:last-child{margin-bottom:0}.admin-page form{display:grid;gap:1rem;max-width:40rem;margin:1rem 0 1.5rem}.admin-page label:not(.check){display:grid;gap:.35rem;font-weight:600}.admin-page .form-field{display:grid;gap:.35rem}.admin-page .form-field label{font-weight:600}.admin-page label.check{display:flex;align-items:center;gap:.6rem;font-weight:600}.admin-page .alert{padding:.85rem 1rem;border-radius:.6rem;background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.admin-page .field-error{color:var(--color-danger);font-size:.9rem}.admin-page input:not(.ui-input,.ui-search-field__input):focus-visible,.admin-page button:not(.ui-button,.ui-tab):focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.programs-page__limits{display:grid;gap:1rem;min-width:0;padding:1rem;border:1px solid var(--color-border);border-radius:.75rem}.programs-page__limits legend{padding:0 .3rem;font-weight:700}.programs-page__limits p{margin:0}.programs-page__locked-target{padding:.85rem 1rem;border-radius:.7rem;background:var(--app-page-background)}.programs-page__card{display:flex;flex-direction:column;gap:1rem}.programs-page__card--inactive{opacity:.8}.programs-page__card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.programs-page__card-heading h2{margin:.6rem 0 0}.programs-page__reward-icon{display:grid;width:2.6rem;height:2.6rem;place-items:center;border-radius:.75rem;background:color-mix(in srgb,var(--color-brand) 12%,var(--color-surface));color:var(--color-brand)}.programs-page__goal{display:flex;align-items:center;gap:.85rem;padding:1rem;border-radius:.8rem;background:var(--app-page-background)}.programs-page__goal strong{color:var(--color-brand);font-size:clamp(2.5rem,6vw,3.5rem);line-height:1}.programs-page__goal span{font-weight:600;line-height:1.35}.programs-page__reward{margin:0;font-weight:700}.programs-page__reward svg{margin-right:.35rem;color:var(--color-brand)}.programs-page__details{display:grid;gap:.5rem;margin:0}.programs-page__details div{display:flex;justify-content:space-between;gap:1rem}.programs-page__details dt{color:var(--color-muted)}.programs-page__details dd{margin:0;text-align:right;font-weight:600}.programs-page__card button{align-self:flex-start;margin-top:auto}@media(max-width:40rem){.admin-page .surface{padding:1rem}}.admin-page .table-wrap{overflow-x:auto}.admin-page table{width:100%;border-collapse:collapse}.admin-page th,.admin-page td{padding:.8rem;border-bottom:1px solid var(--color-border);text-align:left}.admin-page th{white-space:nowrap}.admin-page progress{width:100%;height:.75rem;accent-color:var(--color-brand)}.admin-page .grid .surface>p>strong{color:var(--color-brand);font-size:1.4rem}@media(width>=80rem){:root{--app-sidebar-width: 16.25rem;--app-sidebar-compact-width: 5rem}}:root:has(.panel-shell){--app-toast-offset: var(--app-sidebar-width)}:root:has(.panel-shell--collapsed){--app-toast-offset: var(--app-sidebar-compact-width)}@media(width<80rem){:root:has(.panel-shell--focused){--app-toast-offset: 0px}}@media(width<48rem){:root:has(.app-bottom-bar){--app-toast-bottom: calc(4.75rem + max(1rem, env(safe-area-inset-bottom))) }}svg.lucide{width:1em;height:1em;flex-shrink:0;vertical-align:-.125em}.icon-spin{animation:icon-spin .9s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.icon-spin{animation-duration:2.5s}}
