:root{--c-purple-900:#3d2935;--c-purple-700:#5b4de5;--c-purple-500:#8f84ee;--c-purple-400:#9b8ef5;--c-purple-300:#aea5f4;--c-purple-200:#c3beea;--c-purple-100:#ede9fe;--c-purple-50:#f5f3ff;--c-pink-700:#c42d50;--c-pink-600:#e10c3c;--c-pink-500:#f93e6e;--c-pink-400:#f9799a;--c-pink-300:#fbaec0;--c-pink-200:#fde8ee;--c-pink-100:#f7e9f1;--c-pink-50:#ffe8ed;--c-orange-700:#c47f00;--c-orange-500:#ffac32;--c-orange-400:#ffbd5c;--c-orange-300:#ffc35c;--c-orange-200:#ffd280;--c-orange-100:#fff6e0;--c-yellow-700:#a16207;--c-yellow-500:#f59e0b;--c-yellow-400:#fcd34d;--c-yellow-300:#fde68a;--c-yellow-200:#fef08a;--c-yellow-100:#fefce8;--c-yellow-50:#fffde7;--c-green-700:#2d9b5f;--c-green-500:#34d399;--c-green-400:#4ade80;--c-green-300:#91fac1;--c-green-100:#f0fff8;--c-teal-500:#8fd1d4;--c-teal-100:#e0f2fe;--c-ink-900:#1a1a2e;--c-ink-800:#3d2935;--c-ink-700:#846277;--c-ink-500:#9ca3af;--c-ink-400:#c4b8cb;--c-ink-300:#adb5bd;--c-ink-200:#e8d9e2;--c-ink-100:#f1f3f5;--c-gray-900:#1a1a1a;--c-gray-700:#6c757d;--c-gray-600:#555;--c-gray-500:#888;--c-gray-400:#aaa;--c-gray-300:#bbb;--c-gray-200:#ddd;--c-gray-100:#e5e7eb;--c-gray-50:#fafafa;--c-white:#fff;--c-black:#000;--cycle:var(--c-yellow-500);--cycle-2:var(--c-yellow-400);--cycle-3:var(--c-yellow-200);--cycle-soft:var(--c-yellow-100);--cycle-bg:var(--c-yellow-50);--mental:var(--c-purple-700);--mental-2:var(--c-purple-500);--mental-3:var(--c-purple-100);--mental-soft:color-mix(in srgb,var(--mental) 12%,#0000);--phase-primary:#e10c3c;--mental-concentration:#f93e6e;--mental-productivite:#ff91aa;--mental-estime:#aea5f4;--sport:var(--c-orange-500);--sport-2:var(--c-orange-200);--sport-rest:var(--c-green-300);--sport-soft:color-mix(in srgb,var(--sport) 15%,#0000);--sport-rpe-facile:#8fd1d4;--sport-rpe-intense:#5b4de5;--phase-menstruations:var(--c-yellow-700);--phase-folliculaire:var(--c-yellow-200);--phase-ovulation:var(--c-yellow-500);--phase-luteale:var(--c-yellow-400);--bg:var(--c-pink-100);--surface:var(--c-white);--surface-alt:var(--c-gray-50);--surface-muted:var(--c-purple-50);--track-bg-wine:color-mix(in srgb,var(--c-ink-200) 55%,#0000);--text:var(--c-ink-900);--text-strong:var(--c-ink-800);--text-muted:var(--c-ink-700);--text-secondary:var(--c-gray-700);--text-faint:var(--c-ink-500);--text-axis:var(--c-gray-300);--text-placeholder:var(--c-ink-300);--border:var(--c-gray-100);--border-wine:var(--c-ink-200);--border-strong:#dee2e6;--border-subtle:var(--c-ink-100);--grid:#e9ecef;--progress-inactive:var(--c-gray-200);--success:var(--c-green-700);--success-bg:var(--c-green-100);--danger:var(--c-pink-600);--danger-bg:var(--c-pink-50);--warning:var(--c-orange-700);--warning-bg:var(--c-orange-100);--share-cta:var(--c-pink-700);--overlay-backdrop:#00000073;--shadow-button:0 8px 20px color-mix(in srgb,var(--mental) 30%,#0000);--shadow-button-secondary:0 8px 20px color-mix(in srgb,var(--cycle) 30%,#0000);--shadow-card:0 10px 30px #00000026;--shadow-card-soft:0 2px 8px #0000000f;--shadow-xs:0 1px 2px #0000001f;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:12px;--radius-xl:20px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--footer-height:calc(68px + max(0px, env(safe-area-inset-bottom, 0px) - 12px));--z-footer:100;--z-overlay:200;--z-modal:1000;--cycle-primary:var(--cycle);--cycle-4:var(--cycle-soft);--mental-primary:var(--mental);--sport-primary:var(--sport);--sport-repos:var(--sport-rest);--cycle-folliculaire:var(--phase-folliculaire);--cycle-luteale-chart:var(--phase-luteale);--background:var(--bg);--color-background:var(--bg);--color-grid:var(--grid);--color-primary:var(--mental);--color-secondary:var(--cycle);--color-accent:var(--sport);--color-mint:var(--sport-rest);--color-teal:var(--phase-folliculaire);--color-pink-light:var(--bg);--color-white:var(--surface);--color-purple-light:var(--phase-luteale);--color-black:var(--c-black);--color-rose:var(--cycle-2);--color-text-primary:var(--text);--color-text-secondary:var(--text-secondary);--color-text-muted:var(--text-faint);--color-border:var(--border);--color-border-hover:var(--border-strong);--color-placeholder:var(--text-placeholder);--color-bg-hover:var(--surface-alt);--color-progress-inactive:var(--progress-inactive)}.page{align-items:center;background-color:var(--color-pink-light);box-sizing:border-box;display:flex;flex-direction:column;margin:0 auto;max-width:390px;min-height:100vh;padding:20px;width:100%}.page--centered{justify-content:center}.container{background:var(--color-pink-light);border-radius:var(--radius-xl);display:flex;flex:1 1;flex-direction:column;max-width:295px;padding:40px 0;text-align:center;width:100%}.title{color:var(--color-text-primary);font-size:28px;font-weight:700;line-height:1.3;margin:0 0 15px}.subtitle{color:var(--color-text-secondary);font-size:15px;line-height:1.5;margin:0 0 24px}.form-group{margin-bottom:16px}.form-label{color:var(--color-text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:8px;text-align:left}.form-input{background:var(--color-pink-light);border:1px solid var(--c-white);border-radius:16px;box-sizing:border-box;font-family:inherit;font-size:15px;padding:16px 18px;transition:box-shadow var(--transition-normal);width:100%}.form-input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--mental) 10%,#0000);outline:none}.form-input::placeholder{color:var(--color-placeholder)}.input-with-unit{align-items:center;display:flex;position:relative}.input-with-unit .form-input{padding-right:60px}.input-unit{color:var(--color-text-secondary);font-weight:500;pointer-events:none;position:absolute;right:20px}.btn{border:none;border-radius:30px;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:16px;transition:transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.btn:active{transform:translateY(0)}.btn--primary{background:var(--color-primary);color:var(--color-white)}.btn--primary:hover{box-shadow:var(--shadow-button);transform:translateY(-2px)}.btn--secondary{background:var(--color-secondary);color:var(--color-white)}.btn--secondary:hover{box-shadow:var(--shadow-button-secondary);transform:translateY(-2px)}.btn--outline{background:#0000;border:2px solid var(--color-border);color:var(--color-text-secondary)}.btn--outline:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.button-group{display:flex;flex-direction:column;gap:15px;margin-top:auto;padding-bottom:20px;padding-top:20px}.link{color:var(--color-secondary);font-weight:600;text-decoration:none}.link:hover{text-decoration:underline}.link--subtle{color:var(--color-text-secondary);font-size:16px;font-weight:500;transition:color var(--transition-fast)}.link--subtle:hover{color:var(--color-text-primary);text-decoration:underline}.progress-bar{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);margin-top:var(--spacing-xl)}.progress-bar__dot{background-color:var(--color-progress-inactive);border-radius:2px;height:3px;transition:background-color var(--transition-normal);width:24px}.progress-bar__dot--active{background-color:var(--color-primary)}@media (min-width:480px){.page{padding:40px 20px}.container{max-width:360px;padding:48px 0}}@media (min-width:768px){.page{background-color:var(--color-pink-light);padding:60px 20px}.container{max-width:420px;padding:48px 40px}.title{font-size:32px}.subtitle{font-size:16px}}#root,body,html{background-color:var(--bg);min-height:100%;overflow-x:hidden}@media screen and (max-width:768px){input,select,textarea{font-size:16px!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.splash-logo-container{align-items:center;display:flex;flex-direction:column;gap:28px;justify-content:center}.splash-logo{animation:pulse 1.6s ease-in-out infinite;height:auto;max-width:200px;transform-origin:center}@keyframes pulse{0%,to{transform:scale(.88)}50%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.splash-logo{animation-duration:3s}}@media (max-width:768px){.splash-logo{max-width:150px}}@media (max-width:480px){.splash-logo{max-width:120px}}.consent-checkbox{align-items:flex-start;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;gap:10px;line-height:1.5;margin:16px 0 4px}.consent-checkbox input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.signup-logo{display:flex;justify-content:center;margin-bottom:10px;margin-top:40px}.signup-logo-image{height:auto;max-width:80px}.signup-brand{font-size:28px;font-weight:700;margin:0 0 4px;text-align:center}.signup-brand--cycle{color:var(--color-primary)}.signup-brand--gala{color:var(--color-secondary)}.auth-link-row{color:var(--color-text-secondary);font-size:14px;margin-top:16px;padding-bottom:20px;text-align:center}.auth-link-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font:inherit;font-weight:600;padding:0}.auth-link-btn:disabled{color:var(--color-text-secondary);cursor:default}.auth-link-row--split{align-items:center;display:flex;gap:12px;justify-content:space-between}.auth-hint{color:var(--color-text-secondary);font-size:13px;margin:8px 0 0;text-align:center}.verify-icon{font-size:48px;margin:8px 0;text-align:center}.auth-error,.signup-error{color:var(--danger);font-size:13px;margin:-8px 0 8px;padding:0}.auth-notice{background:var(--surface);border:1px solid var(--border-subtle);border-left:3px solid var(--color-primary);border-radius:12px;margin:-4px 0 12px;padding:12px 14px}.auth-notice__title{color:var(--color-text-primary);font-size:14px;font-weight:600;margin:0 0 6px}.auth-notice__text{color:var(--color-text-secondary);font-size:13px;line-height:1.5;margin:0 0 6px}.auth-notice__text:last-child{margin-bottom:0}.auth-notice__text a{color:var(--color-primary)}.pwd-checklist{font-size:12px;list-style:none;margin:-4px 0 12px;padding:0}.pwd-checklist__item{color:var(--color-text-secondary);line-height:1.6}.pwd-checklist__item--ok{color:var(--success)}.date-input-wrapper{cursor:pointer;position:relative}.date-input-wrapper .form-input{background-color:var(--color-white);cursor:pointer;padding-right:50px}.date-icon{font-size:20px;pointer-events:none;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.calendar{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);left:0;margin-top:10px;overflow:hidden;position:absolute;right:0;z-index:1000}.calendar__header{align-items:center;background:var(--color-bg-hover);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:15px 20px}.calendar__nav{background:none;border:none;border-radius:5px;cursor:pointer;font-size:18px;padding:5px 10px;transition:background-color var(--transition-fast)}.calendar__nav:hover{background:var(--color-border)}.calendar__month{align-items:center;color:var(--color-text-primary);display:flex;font-weight:600;gap:6px}.calendar__year-select{background:none;border:none;border-radius:4px;color:var(--color-primary);cursor:pointer;font-size:15px;font-weight:600;outline:none;padding:2px 4px}.calendar__year-select:hover{background:var(--color-border)}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:10px 15px 0}.calendar__weekday{color:var(--color-text-secondary);font-size:12px;font-weight:600;padding:5px;text-align:center}.calendar__grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr);padding:5px 15px 15px}.calendar__day{border-radius:8px;cursor:pointer;font-size:14px;padding:8px;text-align:center;transition:background-color var(--transition-fast)}.calendar__day:hover{background:var(--color-bg-hover)}.calendar__day--selected{color:var(--color-white)}.calendar__day--selected,.calendar__day--selected:hover{background:var(--color-primary)}.calendar__day--empty{cursor:default}.calendar__day--empty:hover{background:#0000}.sport-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:24px}.sport-chip{align-items:center;background:var(--color-white);border:1.5px solid var(--color-border);border-radius:50px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;gap:6px;max-width:100%;padding:8px 16px;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sport-chip__emoji{flex-shrink:0;font-size:15px;line-height:1}.sport-chip__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sport-chip--selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);font-weight:500}.sport-chip:disabled{cursor:not-allowed;opacity:.4}.sport-custom{margin-bottom:24px;text-align:left}.sport-custom__label{color:var(--color-text-secondary);display:block;font-size:13px;margin-bottom:8px}.sport-custom__row{align-items:stretch;display:flex;gap:8px}.sport-custom__input{flex:1 1;margin:0;min-width:0}.sport-custom__add{background:none;border:1.5px solid var(--color-primary);border-radius:12px;color:var(--color-primary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;padding:0 16px}.sport-custom__add:disabled{cursor:not-allowed;opacity:.4}.form-group--left{text-align:left}.level-label{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 10px}.form-select{-webkit-appearance:auto;appearance:auto;cursor:pointer}.cycle-dates__label{color:var(--color-text-primary);display:block;font-size:15px;font-weight:600;margin-bottom:8px}.cycle-dates__optional{color:var(--color-text-secondary);font-weight:400}.cycle-dates__help{font-size:12px;margin:6px 0 0}.cycle-dates__help,.cycle-dates__skip{color:var(--color-text-secondary);line-height:1.4}.cycle-dates__skip{font-size:13px;margin:0 0 24px;text-align:left}.summary-card{background:var(--color-white);border-radius:15px;margin-bottom:30px;padding:20px;text-align:left}.summary-card__item{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:12px 0}.summary-card__item:last-child{border-bottom:none}.summary-card__label{color:var(--color-text-secondary);font-size:16px;font-weight:500}.summary-card__value{color:var(--color-text-primary);font-size:16px;font-weight:600}.notifications-icon{font-size:64px;margin-bottom:30px}.notifications-later{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:block;font-family:inherit;font-size:16px;font-weight:500;margin-top:20px;transition:color var(--transition-fast)}.notifications-later:hover{color:var(--color-text-primary);text-decoration:underline}@media (max-width:480px){.notifications-icon{font-size:48px;margin-bottom:20px}}.footer{background:var(--color-white);border-top:1px solid var(--color-border);bottom:0;box-sizing:border-box;justify-content:space-around;left:50%;max-width:390px;padding:8px 0 max(12px,env(safe-area-inset-bottom));position:fixed;transform:translateX(-50%);width:100%;z-index:100}.footer,.footer__tab{align-items:center;display:flex}.footer__tab{background:none;border:none;border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:4px;min-width:48px;padding:6px 8px;transition:all var(--transition-fast)}.footer__tab:hover{background:color-mix(in srgb,var(--color-primary) 6%,#0000)}.footer__tab--active{background:color-mix(in srgb,var(--color-primary) 10%,#0000)}.footer__tab--active .footer__label{color:var(--color-primary);font-weight:600}.footer__icon{height:24px;object-fit:contain;opacity:.5;transition:opacity var(--transition-fast);width:24px}.footer__icon path{stroke:var(--c-ink-700)}.footer__tab--active .footer__icon{opacity:1}.footer__label{color:var(--color-text-secondary);font-family:inherit;font-size:12px;transition:color var(--transition-fast)}@media (min-width:480px){.footer{max-width:480px}}@media (min-width:768px){.footer{max-width:600px}}@media (min-width:1024px){.footer{max-width:680px}}.app-layout{align-items:center;background-color:var(--color-pink-light);display:flex;flex-direction:column;min-height:100vh}.app-layout__content{box-sizing:border-box;max-width:390px;overflow-x:hidden;padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px));width:100%}@media (min-width:480px){.app-layout__content{max-width:480px}}@media (min-width:768px){.app-layout__content{max-width:600px}}@media (min-width:1024px){.app-layout__content{max-width:680px}}.page-header{align-items:center;display:flex;justify-content:space-between;padding:4px 0}.page-header__title{font-size:26px;font-weight:800;margin:0}.page-header__actions{align-items:center;display:flex;gap:12px}.page-header__btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;padding:4px}.page-header__icon{height:24px;width:24px}.page-header__avatar-btn{background:none;border:none;cursor:pointer;display:flex;padding:0}.page-header__avatar{border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.period-selector{display:inline-flex;position:relative}.period-selector__button{background:inherit;border:none;color:inherit;cursor:pointer;font:inherit;padding:0}.period-selector__arrow{font-size:10px;margin-left:2px}.period-selector__menu{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-card);min-width:140px;padding:6px;position:absolute;top:calc(100% + 6px);z-index:50}.period-selector__menu--right{right:0}.period-selector__menu--left{left:0}.period-selector__option{background:#0000;border:none;border-radius:10px;color:var(--color-text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:10px;text-align:left;width:100%}.period-selector__option:hover{background:color-mix(in srgb,var(--mental) 8%,#0000)}.period-selector__option--active{background:var(--mental-soft)}.info-btn{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;line-height:0;margin-left:6px;opacity:.75;padding:0;transition:opacity var(--transition-fast);vertical-align:middle}.info-btn svg{display:block;height:15px;width:15px}.info-btn:hover{color:var(--color-primary);opacity:1}.info-btn__backdrop{align-items:center;background:var(--overlay-backdrop);display:flex;inset:0;justify-content:center;padding:var(--spacing-lg);position:fixed;z-index:1000}.info-btn__dialog{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);max-height:85vh;max-width:360px;overflow-y:auto;padding:24px 20px 20px;width:100%}.info-btn__text{color:var(--color-text-primary);font-size:14px;line-height:1.6;margin:0 0 20px;white-space:pre-line}.info-btn__close{background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:var(--color-white);cursor:pointer;display:block;font-family:inherit;font-size:15px;font-weight:600;padding:12px;width:100%}.error-banner{align-items:center;background:var(--danger-bg);border-radius:var(--radius-lg);color:var(--danger);display:flex;font-size:14px;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.error-banner__text{flex:1 1}.error-banner__retry{background:var(--danger);border:none;border-radius:var(--radius-lg);color:var(--c-white);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:6px 14px}.error-banner__retry:hover{opacity:.9}.home{background-color:var(--background);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 80px);padding:16px 16px 20px}.home__greeting{align-items:center;background:var(--color-white);border-radius:var(--radius-xl);border-top-left-radius:0;display:flex;gap:12px;justify-content:space-between;padding:18px 20px}.home__greeting-text{flex:1 1}.home__greeting-text h2{color:var(--color-text-primary);font-size:20px;font-weight:700;margin:0 0 4px}.home__name{color:var(--color-secondary)}.home__greeting-text p{color:var(--color-text-secondary);font-size:13px;line-height:1.4;margin:0}.home__greeting-text p strong{color:var(--color-text-primary);font-weight:600}.home__greeting-actions{display:flex;flex-direction:row;flex-shrink:0;gap:8px}.home__greeting-btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:flex;height:40px;justify-content:center;transition:transform var(--transition-fast);width:40px}.home__greeting-btn:hover{transform:scale(1.08)}.home__greeting-icon{height:20px;width:20px}.home__greeting-btn--form{background:color-mix(in srgb,var(--mental) 10%,#0000)}.home__greeting-btn--share{background:color-mix(in srgb,var(--cycle) 10%,#0000)}.home__greeting-tip{color:var(--color-primary);font-size:13px;font-weight:500;margin:6px 0 0}.home__daily-cta{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-xl);box-shadow:0 4px 14px color-mix(in srgb,var(--color-primary) 30%,#0000);color:var(--color-white);cursor:pointer;display:flex;font-family:inherit;gap:12px;margin-bottom:12px;padding:16px;text-align:left;transition:transform var(--transition-fast);width:100%}.home__daily-cta:hover{transform:translateY(-1px)}.home__daily-cta--done{background:var(--color-white);border:1.5px solid color-mix(in srgb,var(--color-primary) 30%,#0000);box-shadow:none;color:var(--color-text-primary)}.home__daily-cta-icon{align-items:center;background:#ffffff38;border-radius:12px;display:flex;flex-shrink:0;font-size:22px;font-weight:700;height:40px;justify-content:center;width:40px}.home__daily-cta--done .home__daily-cta-icon{background:color-mix(in srgb,var(--color-primary) 12%,#0000);color:var(--color-primary)}.home__daily-cta-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.home__daily-cta-title{font-size:15px;font-weight:700;line-height:1.25}.home__daily-cta-sub{font-size:12px;line-height:1.3;opacity:.85}.home__daily-cta-arrow{flex-shrink:0;font-size:24px;line-height:1;opacity:.8}@keyframes home-notification-pop{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.home__notification{align-items:center;animation:home-notification-pop .25s ease-out;background:var(--color-white);border:1.5px solid color-mix(in srgb,var(--mental-primary) 25%,#0000);border-radius:var(--radius-xl);box-shadow:var(--shadow-card-soft);display:flex;gap:12px;padding:14px 16px}.home__notification-icon{align-items:center;background:color-mix(in srgb,var(--mental-primary) 15%,#0000);border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.home__notification-icon-svg{color:var(--mental-primary);height:20px;width:20px}.home__notification-icon-svg *{stroke:currentColor}.home__notification-text{flex:1 1;min-width:0}.home__notification-title{color:var(--color-text-primary);font-size:13px;line-height:1.3;margin:0}.home__notification-title strong{font-weight:700}.home__notification-sub{color:var(--color-text-secondary);font-size:12px;line-height:1.3;margin:2px 0 0}.home__notification-actions{display:flex;flex-shrink:0;gap:8px}.home__notification-btn{border:none;border-radius:50px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:opacity var(--transition-fast)}.home__notification-btn:disabled{cursor:default;opacity:.6}.home__notification-btn--no{background:var(--c-gray-100);color:var(--color-text-secondary)}.home__notification-btn--yes{background:var(--mental-primary);color:var(--color-white)}.home__bubbles{display:flex;gap:10px}.home__bubble{align-items:center;aspect-ratio:1;background:var(--color-white);border:7.5px solid #0000;border-radius:50%;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:center;padding:10px;text-align:center}.home__bubble--cycle{--bubble-accent:var(--phase-primary)}.home__bubble--cycle,.home__bubble--mood{border-color:var(--bubble-accent);color:var(--bubble-accent)}.home__bubble--mood{--bubble-accent:var(--mental-primary)}.home__bubble--feeling{--bubble-accent:var(--sport-primary);border-color:var(--bubble-accent);color:var(--bubble-accent)}.home__bubble-label{font-size:11px;font-weight:600;opacity:.9}.home__bubble-value{font-size:28px;font-weight:800;line-height:1}.home__bubble-fraction{font-size:14px;font-weight:600;opacity:.8}.home__bubble-sub{text-wrap:balance;font-size:11px;font-weight:500;-webkit-hyphens:auto;hyphens:auto;line-height:1.15;max-width:100%;opacity:.85;overflow-wrap:break-word}.home__chart-widget{align-items:center;display:flex;flex-direction:column}.home__circle-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;width:100%}.home__circle-legend{align-items:center;color:var(--color-text-secondary);display:flex;font-size:11px;font-weight:500;gap:5px}.home__circle-legend-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:8px;width:8px}.home__circle-reliability{align-items:center;background:var(--background);border:none;border-radius:20px;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:4px;padding:5px 12px;white-space:nowrap}.home__circle-reliability-icon{flex-shrink:0;height:14px;vertical-align:middle;width:14px}.home__circle-svg{display:block;margin:0 auto;max-width:270px;width:100%}.home__modal-overlay{align-items:center;background:color-mix(in srgb,var(--c-black) 45%,#0000);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.home__modal{background:var(--surface);border-radius:20px;max-width:380px;padding:28px 24px;width:100%}.home__modal-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.home__modal-title{color:var(--color-text-primary);font-size:22px;font-weight:700;margin:0}.home__modal-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:0}.home__modal-text{color:var(--color-text-secondary);font-size:15px;line-height:1.65;margin:0}.home__chart-placeholder{align-items:center;background:linear-gradient(135deg,var(--color-purple-light) 0,var(--color-teal) 100%);border-radius:var(--radius-lg);color:var(--color-white);display:flex;flex-direction:column;font-size:16px;font-weight:600;height:200px;justify-content:center;width:100%}.home__chart-hint{font-size:12px;font-weight:400;margin:8px 0 0;opacity:.8}.home__pies{align-items:center;display:flex;flex-direction:column;gap:8px;padding:8px 0 4px;width:100%}.home__pies-legend{display:flex;flex-wrap:wrap;font-size:12px;font-weight:600;gap:8px 16px;justify-content:center;padding:4px 0}.home__widget{background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;padding:20px;position:relative}.home__widget--cycle:before,.home__widget--mental:before,.home__widget--sport:before{-webkit-clip-path:polygon(100% 0,0 0,100% 100%);clip-path:polygon(100% 0,0 0,100% 100%);content:"";height:40px;position:absolute;right:0;top:0;width:40px}.home__widget--cycle:before{background:var(--phase-ovulation)}.home__widget--mental:before{background:var(--mental-primary)}.home__widget--sport:before{background:var(--sport-rpe-intense)}.home__widget-header{align-items:center;display:flex;margin-bottom:16px}.home__widget-header h3{color:var(--color-text-primary);font-size:15px;font-weight:600;margin:0}.home__widget-title-group{flex:1 1;margin-left:10px}.home__widget-subtitle{color:var(--color-text-secondary);font-size:13px;font-weight:500;margin:2px 0 0}.home__widget-subtitle--cycle{color:var(--color-accent)}.home__widget-subtitle--mental{color:var(--mental-concentration)}.home__widget-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.home__widget-icon svg{height:22px;width:22px}.home__widget-icon--cycle svg *{stroke:currentColor}.home__widget-icon--cycle{background:color-mix(in srgb,var(--phase-primary) 15%,#0000)}.home__widget-icon--mental{background:color-mix(in srgb,var(--mental-primary) 10%,#0000)}.home__widget-icon--sport{background:color-mix(in srgb,var(--sport-primary) 10%,#0000)}.home__widget-badge{background:var(--c-gray-100);border-radius:20px;color:var(--color-text-secondary);font-size:12px;font-weight:500;padding:6px 12px;white-space:nowrap}.home__badge-arrow{font-size:10px;margin-left:2px}.home__cycle-week{margin-top:4px}.home__cycle-days{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr);margin-bottom:10px;text-align:center}.home__cycle-days span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.home__cycle-numbers{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.home__cycle-day{align-items:center;display:flex;flex-direction:column;gap:6px}.home__cycle-num{align-items:center;aspect-ratio:1;background:var(--c-purple-50);border-radius:50%;color:var(--color-text-primary);display:flex;font-size:15px;font-weight:500;justify-content:center;max-width:38px;width:100%}.home__cycle-num--active{background:var(--background)!important;color:var(--color-primary)!important;font-weight:700}.home__cycle-num--green{border:2px solid var(--color-teal)}.home__cycle-num--dashed,.home__cycle-num--green{background:#0000;color:var(--color-text-secondary)}.home__cycle-num--dashed{border:2px dashed var(--color-accent)}.home__cycle-dot{border-radius:50%;height:6px;width:6px}.home__cycle-dot--pink{background:var(--color-secondary)}.home__cycle-dot--green{background:var(--color-mint)}.home__mental-stats{display:flex;gap:16px;justify-content:space-around}.home__mental-stat{align-items:center;display:flex;flex-direction:column;gap:4px}.home__mental-stat-icon{margin-bottom:4px}.home__mental-stat-icon svg{height:32px;width:32px}.home__mental-stat-icon svg path{fill:currentColor}.home__mental-stat-icon--energy{color:var(--mental-productivite)}.home__mental-stat-icon--focus{color:var(--mental-concentration)}.home__mental-stat-icon--esteem{color:var(--mental-estime)}.home__mental-stat-value{font-size:18px;font-weight:700}.home__mental-stat-value--energy{color:var(--mental-productivite)}.home__mental-stat-value--focus{color:var(--mental-concentration)}.home__mental-stat-value--esteem{color:var(--mental-estime)}.home__mental-stat-label{color:var(--color-text-secondary);font-size:12px;font-weight:500;text-align:center}.home__sport-chart-placeholder{align-items:center;background:var(--background);border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;font-size:13px;font-weight:500;height:180px;justify-content:center;margin-bottom:16px;width:100%}.home__sport-stats{display:flex;gap:10px;margin-top:14px}.home__sport-stat{align-items:flex-start;border-radius:var(--radius-lg);display:flex;flex:1 1;flex-direction:column;gap:6px;padding:14px}.home__sport-stat--yellow{background:color-mix(in srgb,var(--sport-rest) 10%,#0000)}.home__sport-stat--red{background:color-mix(in srgb,var(--sport) 10%,#0000)}.home__sport-stat--blue{background:color-mix(in srgb,var(--sport-rpe-intense) 10%,#0000)}.home__sport-stat-label{color:var(--color-text-secondary);font-size:12px;font-weight:500}.home__sport-stat-value{font-size:18px;font-weight:700}.home__sport-stat-value--yellow{color:var(--sport-rest)}.home__sport-stat-value--red{color:var(--sport)}.home__sport-stat-value--blue{color:var(--sport-rpe-intense)}@media (max-width:359px){.home{padding-left:12px;padding-right:12px}}@media (min-width:480px){.home{padding-left:24px;padding-right:24px}}@media (min-width:768px){.home{padding-left:40px;padding-right:40px}}.home__pie-legend{display:flex;gap:20px;justify-content:center;margin-bottom:4px;margin-top:4px}.home__pie-legend-item{align-items:center;color:var(--text-faint);display:flex;font-size:.75rem;font-weight:500;gap:6px}.home__pie-legend-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.home__ring-modal-btn{background:var(--color-primary);border:none;border-radius:12px;color:var(--c-white);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;margin-top:16px;padding:12px;width:100%}.home__ring-modal-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;font-size:14px;gap:8px;padding:6px 0}.home__ring-modal-row:last-child{border-bottom:none}.home__pies-estimated{color:var(--text-faint);font-size:.7rem;margin:.25rem 0 0;text-align:center}.view-toggle{align-items:center;background:var(--c-gray-100);border-radius:10px;display:inline-flex;flex-shrink:0;gap:2px;padding:2px}.view-toggle__btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;display:flex;height:26px;justify-content:center;padding:0;transition:background .15s,color .15s,box-shadow .15s;width:30px}.view-toggle__btn svg{display:block;height:16px;width:16px}.view-toggle__btn--on{background:var(--color-white);box-shadow:var(--shadow-xs);color:var(--color-primary)}.view-controls{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.cycle-evolution-chart{padding:.5rem 0}.cycle-evolution-chart__svg{display:block;margin:0 auto}.cycle-evolution-chart__empty{color:var(--text-faint);font-size:.85rem;padding:2rem 0;text-align:center}.cycle-evolution-chart__legend{border-top:1px solid var(--color-border);margin-top:16px;padding-top:16px}.cycle-evolution-chart__legend-item{align-items:center;color:var(--color-text-primary);display:flex;font-size:13px;font-weight:500;gap:8px}.cycle-evolution-chart__legend-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.cycle-evolution-chart__estimated-badge{background:var(--surface-muted);border-radius:8px;color:var(--text-faint);display:inline-block;float:right;font-size:.7rem;margin-bottom:.3rem;padding:.2rem .6rem;text-align:right}.bbt-chart{padding:.5rem 0}.bbt-chart__svg{display:block;margin:0 auto}.bbt-chart__empty{color:var(--text-faint);font-size:.85rem;padding:2rem 0;text-align:center}.bbt-chart__badge{background:var(--surface-muted);border-radius:8px;color:var(--text-faint);display:inline-block;float:right;font-size:.7rem;margin-bottom:.3rem;padding:.2rem .6rem}.bbt-chart__legend{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;margin-top:16px;padding-top:16px}.bbt-chart__legend-item{align-items:center;color:var(--color-text-primary);display:flex;font-size:13px;font-weight:500;gap:8px}.bbt-chart__legend-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.bbt-chart__legend-dot--hollow{background:var(--surface);border:1.5px solid var(--color-border)}.bbt-chart__legend-dash{border-radius:1px;display:inline-block;flex-shrink:0;height:2px;width:14px}.symptom-bar{display:flex;flex-direction:column;gap:6px}.symptom-bar__row{align-items:center;display:flex;gap:8px}.symptom-bar__emoji{flex-shrink:0;font-size:18px}.symptom-bar__label{color:var(--text);flex:1 1;font-size:15px;font-weight:600}.symptom-bar__days{color:var(--text);font-size:15px;font-weight:700;white-space:nowrap}.symptom-bar__track{background:var(--track-bg-wine);border-radius:4px;height:8px;overflow:hidden;position:relative;width:100%}.symptom-bar__avg,.symptom-bar__fill{border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.cycle-page{background-color:var(--background);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 80px);padding:16px 16px 20px}.cycle-page__cards{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.cycle-page__card{align-items:center;aspect-ratio:1/1;background:var(--surface);border-radius:20px;box-sizing:border-box;color:var(--color-text-primary);display:flex;flex-direction:column;gap:2px;justify-content:center;min-height:-webkit-min-content;min-height:min-content;text-align:center}.cycle-page__card--blue{--card-accent:var(--phase-luteale)}.cycle-page__card--pink{--card-accent:var(--phase-menstruations)}.cycle-page__card--orange{--card-accent:var(--phase-ovulation)}.cycle-page__card--purple{--card-accent:var(--phase-folliculaire)}.cycle-page__card--blue,.cycle-page__card--orange,.cycle-page__card--pink,.cycle-page__card--purple{background:var(--card-accent);border:none;color:var(--c-white);padding:12px}.cycle-page__card .info-btn,.cycle-page__card .info-btn:hover,.cycle-page__card--blue .cycle-page__card-value,.cycle-page__card--orange .cycle-page__card-value,.cycle-page__card--pink .cycle-page__card-value,.cycle-page__card--purple .cycle-page__card-value{color:var(--c-white)}.cycle-page__card .cycle-page__card-icon{background:color-mix(in srgb,var(--c-white) 26%,#0000);color:var(--c-white)}.cycle-page__card-top{flex-wrap:wrap;gap:6px;margin-bottom:6px;max-width:100%}.cycle-page__card-icon,.cycle-page__card-top{align-items:center;display:flex;justify-content:center}.cycle-page__card-icon{border-radius:8px;flex-shrink:0;height:clamp(26px,8vw,32px);width:clamp(26px,8vw,32px)}.cycle-page__card-icon svg{height:18px;width:18px}.cycle-page__card-icon svg *{stroke:currentColor}.cycle-page__card-label{font-size:clamp(12px,3.6vw,14px);font-weight:600}.cycle-page__card-value{font-size:clamp(26px,8.5vw,34px);font-weight:700;line-height:1.1}.cycle-page__card-sub{opacity:.95}.cycle-page__card-avg,.cycle-page__card-sub{font-size:clamp(11px,3.2vw,12px);font-weight:500;max-width:100%}.cycle-page__card-avg{margin-top:3px;opacity:.88}@media (max-width:479px){.cycle-page__cards{gap:10px}.cycle-page__card,.cycle-page__card--blue,.cycle-page__card--orange,.cycle-page__card--pink,.cycle-page__card--purple{aspect-ratio:auto;padding:12px 10px}.cycle-page__card-top{margin-bottom:3px}}.cycle-page__empty{background:var(--surface);border:1.5px dashed color-mix(in srgb,var(--phase-primary) 35%,#0000);border-radius:20px;padding:18px 16px;text-align:center}.cycle-page__empty-title{color:var(--color-text-primary);font-size:15px;font-weight:700;margin:0 0 6px}.cycle-page__empty-text{color:var(--color-text-secondary);font-size:13px;line-height:1.45;margin:0 0 14px}.cycle-page__empty-btn{background:var(--phase-primary);border:none;border-radius:14px;color:var(--c-white);cursor:pointer;font-family:inherit;font-size:15px;font-weight:700;padding:14px;width:100%}.cycle-page__empty-help{color:var(--color-text-secondary);font-size:12px;line-height:1.4;margin:10px 0 0}.cycle-page__symptom-groups{display:flex;flex-direction:column;gap:16px}.cycle-page__symptom-group{border-left:3px solid;border-radius:6px;padding-left:12px}.cycle-page__symptom-group-label{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.cycle-page__widget{background:var(--color-white);border-radius:var(--radius-xl);padding:20px}.cycle-page__widget-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.cycle-page__widget-header h3{color:var(--color-text-primary);font-size:15px;font-weight:600;margin:0}.cycle-page__widget-title-group{flex:1 1}.cycle-page__widget-subtitle{color:var(--color-text-secondary);font-size:13px;font-weight:500;margin:2px 0 0}.cycle-page__widget-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.cycle-page__widget-icon svg{height:22px;width:22px}.cycle-page__widget-icon--cal,.cycle-page__widget-icon--evo,.cycle-page__widget-icon--sym{background:color-mix(in srgb,var(--sport-rest) 22%,#0000)}.cycle-page__widget-icon svg path{stroke:var(--phase-ovulation)}.cycle-page__widget-badge{background:var(--c-gray-100);border-radius:20px;color:var(--color-text-secondary);font-size:12px;font-weight:500;padding:6px 12px;white-space:nowrap}.cycle-page__badge-arrow{font-size:10px;margin-left:2px}.cycle-page__cal{margin-top:4px}.cycle-page__cal-nav{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;margin-bottom:16px}.cycle-page__cal-month{color:var(--color-text-primary);font-size:16px;font-weight:700}.cycle-page__cal-arrows{display:flex;gap:40px}.cycle-page__cal-arrow{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:22px;font-weight:600;padding:4px 8px}.cycle-page__cal-days{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px;text-align:center}.cycle-page__cal-days span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.cycle-page__cal-grid{grid-gap:6px 0;display:grid;gap:6px 0;grid-template-columns:repeat(7,1fr)}.cycle-page__cal-cell{align-items:center;display:flex;flex-direction:column;gap:4px;min-height:48px}.cycle-page__cal-num{align-items:center;border-radius:50%;color:var(--color-text-primary);display:flex;font-size:14px;font-weight:500;height:36px;justify-content:center;width:36px}.cycle-page__cal-num--today{background:color-mix(in srgb,var(--phase-ovulation) 22%,var(--c-white));color:var(--phase-ovulation);font-weight:700}.cycle-page__cal-num--ovulation{border:2px solid var(--phase-ovulation);border-radius:8px;font-weight:600}.cycle-page__cal-num--ovulation-adjacent{border:2px dashed var(--phase-ovulation);border-radius:8px;font-weight:500}.cycle-page__cal-dot{border-radius:50%;height:6px;width:6px}.cycle-page__cal-dot--regles{background:var(--phase-menstruations)}.cycle-page__cal-dot--folliculaire{background:var(--phase-folliculaire)}.cycle-page__cal-dot--ovulation{background:var(--phase-ovulation)}.cycle-page__cal-dot--luteale{background:var(--phase-luteale)}.cycle-page__legend{grid-gap:8px 32px;border-top:1px solid var(--color-border);display:grid;gap:8px 32px;grid-template-columns:auto auto;justify-content:center;margin-top:16px;padding-top:16px}.cycle-page__legend-item{align-items:center;color:var(--color-text-primary);display:flex;font-size:13px;font-weight:500;gap:8px}.cycle-page__legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.cycle-page__legend-dot--regles{background:var(--phase-menstruations)}.cycle-page__legend-dot--folliculaire{background:var(--phase-folliculaire)}.cycle-page__legend-dot--ovulation{background:var(--phase-ovulation)}.cycle-page__legend-dot--luteale{background:var(--phase-luteale)}.cycle-page__day-overlay{align-items:flex-end;background:color-mix(in srgb,var(--c-black) 35%,#0000);display:flex;inset:0;position:fixed;z-index:200}.cycle-page__day-modal{background:var(--c-white);border-radius:20px 20px 0 0;display:flex;flex-direction:column;gap:12px;padding:20px 20px 32px;width:100%}.cycle-page__day-modal-header{align-items:center;display:flex;justify-content:space-between}.cycle-page__day-modal-date{color:var(--text);font-size:1rem;font-weight:700}.cycle-page__day-modal-close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:1.1rem;padding:4px}.cycle-page__day-modal-phase{align-self:flex-start;border-radius:50px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 12px}.cycle-page__day-modal-data{display:flex;flex-direction:column;gap:8px}.cycle-page__day-modal-row{color:var(--text);display:flex;font-size:.85rem;justify-content:space-between}.cycle-page__day-modal-row span:first-child{color:var(--text-faint)}.cycle-page__day-modal-note{border-top:1px solid var(--border-subtle);color:var(--text-faint);font-size:.8rem;font-style:italic;padding-top:8px}.cycle-page__day-modal-empty{color:var(--text-faint);font-size:.85rem;margin:0;text-align:center}.cycle-page__day-modal-btn{background:var(--color-primary);border:none;border-radius:12px;color:var(--c-white);cursor:pointer;font-size:.95rem;font-weight:600;margin-top:4px;padding:14px;width:100%}.cycle-page__chart-placeholder{align-items:center;background:var(--background);border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;font-size:13px;font-weight:500;height:200px;justify-content:center;width:100%}.cycle-page__next-rules{display:flex;flex-direction:column;gap:10px}.cycle-page__next-rules-row{align-items:center;background:color-mix(in srgb,var(--sport) 8%,#0000);border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:16px 18px}.cycle-page__next-rules-label{color:var(--color-text-primary);font-size:15px;font-weight:600}.cycle-page__next-rules-value{color:var(--phase-menstruations);font-size:16px;font-weight:700}.cycle-page__symptoms{display:flex;flex-direction:column;gap:16px}.cycle-page__symptom{display:flex;flex-direction:column;gap:6px}.cycle-page__symptom-row{align-items:center;display:flex;gap:8px}.cycle-page__symptom-emoji{flex-shrink:0;font-size:18px}.cycle-page__symptom-label{color:var(--color-text-primary);flex:1 1;font-size:15px;font-weight:600}.cycle-page__symptom-days{color:var(--color-text-primary);font-size:15px;font-weight:700;white-space:nowrap}.cycle-page__symptom-bar-bg{background:color-mix(in srgb,var(--border-wine) 30%,#0000);border-radius:4px;height:8px;overflow:hidden;position:relative;width:100%}.cycle-page__symptom-bar,.cycle-page__symptom-bar-avg{border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.cycle-page__phase-nav{align-items:center;display:flex;flex-shrink:0;gap:4px}.cycle-page__phase-nav-btn{align-items:center;background:#0000;border:1.5px solid;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;line-height:1;padding:0;transition:opacity .15s;width:28px}.cycle-page__phase-nav-btn:hover{opacity:.7}.cycle-page__prediction .cycle-page__widget-title-group h3{align-items:center;display:flex;height:2.6rem;line-height:1.2;overflow:hidden}.cycle-page__prediction-rows{display:flex;flex-direction:column}.cycle-page__prediction-row{align-items:center;display:flex;justify-content:space-between;padding:14px 0}.cycle-page__prediction-divider{background:color-mix(in srgb,var(--c-black) 7%,#0000);background:var(--color-border,color-mix(in srgb,var(--c-black) 7%,#0000));height:1px}.cycle-page__prediction-row-label{color:var(--color-text-secondary);font-size:14px;font-weight:500}.cycle-page__prediction-row-value{font-size:18px;font-weight:800;line-height:1.3;text-align:right}@media (max-width:359px){.cycle-page{padding-left:12px;padding-right:12px}}@media (min-width:480px){.cycle-page{padding-left:24px;padding-right:24px}}@media (min-width:768px){.cycle-page{padding-left:40px;padding-right:40px}}.cycle-page__estimation-badge{background:var(--c-purple-50);border:1px solid var(--c-purple-100);border-radius:10px;color:var(--text-faint);font-size:.75rem;margin-bottom:.75rem;padding:.35rem .75rem;text-align:center}.cycle-page__bbt-prompt{background:var(--surface);border-left:1px solid var(--phase-ovulation);border:1px solid var(--phase-ovulation);border-left-width:4px;border-radius:12px;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.25rem;margin-bottom:.75rem;padding:.75rem 1rem;text-align:left;width:100%}.cycle-page__bbt-prompt-title{font-size:.875rem;font-weight:600}.cycle-page__bbt-prompt-text{color:var(--text-faint);font-size:.75rem;line-height:1.4}.cycle-page__cal-dot--regles,.cycle-page__legend-dot--regles{background:var(--phase-menstruations)}.cycle-page__cal-dot--folliculaire,.cycle-page__legend-dot--folliculaire{background:var(--phase-folliculaire)}.cycle-page__cal-dot--ovulation,.cycle-page__legend-dot--ovulation{background:var(--phase-ovulation)}.cycle-page__cal-dot--luteale,.cycle-page__legend-dot--luteale{background:var(--phase-luteale)}.cycle-page__cal-dot--estimated{background:#0000!important;border:1.5px solid;box-sizing:border-box}.cycle-page__cal-dot--regles.cycle-page__cal-dot--estimated{color:var(--phase-menstruations)}.cycle-page__cal-dot--folliculaire.cycle-page__cal-dot--estimated{color:var(--phase-folliculaire)}.cycle-page__cal-dot--ovulation.cycle-page__cal-dot--estimated{color:var(--phase-ovulation)}.cycle-page__cal-dot--luteale.cycle-page__cal-dot--estimated{color:var(--phase-luteale)}.cycle-page__legend-dot--estimated{background:#0000;border:1.5px solid var(--text-faint);box-sizing:border-box}.cycle-page__cal-num--ovulation,.cycle-page__cal-num--ovulation-adjacent{border-color:var(--phase-ovulation)}.day-modal__overlay{align-items:flex-end;background:color-mix(in srgb,var(--c-black) 35%,#0000);display:flex;inset:0;position:fixed;z-index:var(--z-modal)}.day-modal{background:var(--c-white);border-radius:20px 20px 0 0;display:flex;flex-direction:column;gap:12px;max-height:85vh;overflow-y:auto;padding:20px 20px 32px;width:100%}.day-modal__header{align-items:center;display:flex;justify-content:space-between}.day-modal__date{color:var(--text);font-size:1rem;font-weight:700;text-transform:capitalize}.day-modal__close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:1.1rem;padding:4px}.day-modal__phase{align-self:flex-start;border-radius:50px;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 12px}.day-modal__sections{display:flex;flex-direction:column;gap:16px}.day-modal__section{display:flex;flex-direction:column;gap:8px}.day-modal__section-title{color:var(--text-faint);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.day-modal__row{color:var(--text);display:flex;font-size:.85rem;gap:12px;justify-content:space-between}.day-modal__row span:first-child{color:var(--text-faint);flex-shrink:0}.day-modal__row span:last-child{text-align:right}.day-modal__note{border-top:1px solid var(--border-subtle);color:var(--text-faint);font-size:.8rem;font-style:italic;margin:0;padding-top:8px}.day-modal__empty,.day-modal__rest{color:var(--text-faint);font-size:.85rem;margin:0;padding:8px 0;text-align:center}.day-modal__actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.day-modal__btn{background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;color:var(--text);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:12px;transition:background .2s;width:100%}.day-modal__btn:hover{background:var(--bg)}.mental-page{background-color:var(--background);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 80px);padding:16px 16px 20px}.mental-page__widget{background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;padding:20px}.mental-page__widget-header{align-items:center;display:flex;margin-bottom:10px}.mental-page__widget-header h3{color:var(--color-text-primary);font-size:15px;font-weight:600;margin:0}.mental-page__widget-title-group{flex:1 1;margin-left:5px}.mental-page__widget-subtitle{color:var(--color-text-secondary);font-size:13px;font-weight:500;margin:2px 0 0}.mental-page__widget-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.mental-page__widget-icon svg{height:22px;width:22px}.mental-page__widget-icon--cal,.mental-page__widget-icon--evo,.mental-page__widget-icon--rep,.mental-page__widget-icon--sym{background:color-mix(in srgb,var(--color-primary) 10%,#0000)}.mental-page__widget-badge{background:var(--c-gray-100);border-radius:20px;color:var(--color-text-secondary);font-size:12px;font-weight:500;padding:6px 12px;white-space:nowrap}.mental-page__badge-arrow{font-size:10px;margin-left:2px}.mental-page__chart-placeholder{align-items:center;background:var(--background);border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;font-size:13px;font-weight:500;height:180px;justify-content:center;width:100%}.mental-page__legend{align-items:center;border-top:1px solid var(--color-border);display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;justify-content:space-between;margin-top:16px;padding-top:16px}.mental-page__legend--wrap{justify-content:center}.mental-page__legend-item{align-items:center;color:var(--color-text-primary);display:flex;font-size:12px;font-weight:500;gap:6px}.mental-page__legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.mental-page__mood-grid{grid-gap:4px 0;display:grid;gap:4px 0;grid-template-columns:repeat(7,1fr)}.mental-page__mood-cell{align-items:center;display:flex;flex-direction:column;gap:2px}.mental-page__mood-cell--clickable{border-radius:10px;cursor:pointer;padding:2px;transition:background .15s}.mental-page__mood-cell--clickable:hover{background:var(--bg)}.mental-page__mood-cell--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mental-page__mood-day{color:var(--color-text-primary);font-size:12px;font-weight:600}.mental-page__mood-emoji{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 6%,#0000) 0,color-mix(in srgb,var(--border-wine) 27%,#0000) 100%);border-radius:12px;display:flex;font-size:22px;height:40px;justify-content:center;line-height:1;width:40px}.mental-page__donut-placeholder{align-items:center;display:flex;justify-content:center;padding:20px 0}.mental-page__donut-ring{align-items:center;border:24px solid var(--color-secondary);border-radius:50%;color:var(--color-text-secondary);display:flex;font-size:12px;font-weight:500;height:160px;justify-content:center;position:relative;width:160px}.mental-page__symptoms{display:flex;flex-direction:column;gap:14px}.mental-page__symptom-groups{display:flex;flex-direction:column;gap:16px}.mental-page__symptom-group-label{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.mental-page__symptom{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:6px;padding-bottom:14px}.mental-page__symptom-row{align-items:center;display:flex;gap:10px}.mental-page__symptom:last-child{border-bottom:none;padding-bottom:0}.mental-page__symptom-emoji{flex-shrink:0;font-size:20px}.mental-page__symptom-label{color:var(--color-text-primary);flex:1 1;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mental-page__symptom-bar{background:color-mix(in srgb,var(--border-wine) 30%,#0000);border-radius:4px;height:8px;overflow:hidden;position:relative;width:100%}.mental-page__symptom-bar-avg,.mental-page__symptom-bar-fill{border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.mental-page__symptom-days{color:var(--color-text-primary);font-size:15px;font-weight:700;white-space:nowrap}.mental-page__chart-title-clickable{align-items:center;cursor:pointer;display:inline-flex;gap:4px}.mental-page__chart-title-clickable:hover{text-decoration:underline;text-underline-offset:3px}.mental-page__symptom-group{border-left:4px solid;border-radius:2px;padding-bottom:4px;padding-left:14px;padding-top:4px}.mental-page__history-overlay{align-items:flex-end;background:color-mix(in srgb,var(--c-black) 45%,#0000);display:flex;inset:0;position:fixed;z-index:200}.mental-page__history-modal{background:var(--c-white);border-radius:20px 20px 0 0;max-height:80vh;overflow-y:auto;padding:20px 20px 32px;width:100%}.mental-page__history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.mental-page__history-title{color:var(--color-text-primary);font-size:16px;font-weight:700;margin:0}.mental-page__history-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:18px;padding:4px}.mental-page__history-periods{display:flex;gap:8px;margin-bottom:16px}.mental-page__history-period{background:var(--surface-alt);border:1.5px solid var(--border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:6px 16px;transition:background .15s,border-color .15s,color .15s}.mental-page__history-period--active{background:color-mix(in srgb,var(--color-primary) 10%,#0000);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}@media (max-width:359px){.mental-page{padding-left:12px;padding-right:12px}}@media (min-width:480px){.mental-page{padding-left:24px;padding-right:24px}}@media (min-width:768px){.mental-page{padding-left:40px;padding-right:40px}}.phase-profile{display:flex;flex-direction:column;gap:12px}.phase-profile__card{background:var(--surface);border-left:3px solid var(--border-subtle);border-radius:0 12px 12px 0;display:flex;flex-direction:column;gap:8px;padding:12px 14px}.phase-profile__head{align-items:center;display:flex;gap:8px;justify-content:space-between}.phase-profile__phase{font-size:.875rem;font-weight:700}.phase-profile__badge{background:var(--bg);border-radius:50px;color:var(--text-faint);font-size:.688rem;font-weight:600;padding:3px 8px;white-space:nowrap}.phase-profile__badge--personal{background:color-mix(in srgb,var(--color-primary) 12%,#0000);color:var(--color-primary)}.phase-profile__metrics{display:flex;flex-wrap:wrap;gap:8px 20px}.phase-profile__metric{display:flex;flex-direction:column;gap:1px}.phase-profile__metric-label{color:var(--text-faint);font-size:.688rem}.phase-profile__metric-value{color:var(--text);font-size:.938rem;font-weight:700}.phase-profile__ranges{color:var(--text-faint);display:flex;flex-direction:column;font-size:.75rem;gap:3px;margin:0;padding-left:16px}.phase-profile__tendency{color:var(--text);font-size:.813rem;line-height:1.4;margin:0}.phase-profile__progress{color:var(--text-faint);font-size:.719rem;font-style:italic;margin:0}.sport-page{background-color:var(--background);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 80px);padding:16px 16px 20px}.sport-page__widget{background:var(--color-white);border-radius:var(--radius-xl);overflow:hidden;padding:20px}.sport-page__widget-header{align-items:center;display:flex;margin-bottom:16px}.sport-page__widget-header h3{color:var(--color-text-primary);font-size:15px;font-weight:600;margin:0}.sport-page__widget-title-group{flex:1 1;margin-left:5px}.sport-page__widget-subtitle{color:var(--color-text-secondary);font-size:13px;font-weight:500;margin:2px 0 0}.sport-page__widget-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.sport-page__widget-icon svg{height:22px;width:22px}.sport-page__widget-icon--activity,.sport-page__widget-icon--ess{background:color-mix(in srgb,var(--color-primary) 10%,#0000)}.sport-page__widget-badge{background:var(--c-gray-100);border-radius:20px;color:var(--color-text-secondary);font-size:12px;font-weight:500;padding:6px 12px;white-space:nowrap}.sport-page__badge-arrow{font-size:10px;margin-left:2px}.sport-page__week-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:10px}.sport-page__week-cell{align-items:center;display:flex;flex-direction:column;gap:4px}.sport-page__week-day{color:var(--color-text-secondary);font-size:13px;font-weight:500}.sport-page__week-num{color:var(--color-text-primary);font-size:14px;font-weight:600}.sport-page__week-emojis{color:var(--surface);display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:6px}.sport-page__week-legend{color:var(--color-text-secondary);font-size:11px;margin:0;text-align:center}.sport-page__week-emoji-cell{align-items:center;background:var(--background);border-radius:50%;display:flex;height:34px;justify-content:center;margin:0 auto;width:34px}.sport-page__week-emoji-cell--active{background:var(--color-primary)}.sport-page__week-emoji-cell--rpe-high{background:var(--sport-rpe-intense)}.sport-page__week-emoji-cell--rpe-low{background:var(--sport-rpe-facile)}.sport-page__week-emoji-cell--rest{background:var(--sport-rest)}.sport-page__week-emoji-cell--rest .sport-page__week-emoji{color:var(--c-white);font-size:14px;font-weight:700;letter-spacing:.5px}.sport-page__week-emoji{font-size:20px;font-weight:700;line-height:1}.sport-page__chart-placeholder{align-items:center;background:var(--background);border-radius:var(--radius-lg);color:var(--color-text-secondary);display:flex;font-size:13px;font-weight:500;height:160px;justify-content:center;width:100%}.sport-page__fc-week{display:flex;justify-content:space-between;padding:12px 0 8px}.sport-page__fc-day{align-items:center;border-radius:50%;color:var(--color-text-secondary);display:flex;font-size:13px;font-weight:600;height:28px;justify-content:center;width:28px}.sport-page__fc-day--active{background:var(--color-primary);color:var(--color-white)}.sport-page__legend{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:12px;padding-top:12px}.sport-page__legend--wrap{justify-content:center}.sport-page__legend-item{align-items:center;color:var(--color-text-primary);display:flex;font-size:12px;font-weight:500;gap:6px}.sport-page__legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.sport-page__symptom-groups{display:flex;flex-direction:column;gap:16px}.sport-page__symptom-group{border-left:4px solid;border-radius:2px;padding-bottom:4px;padding-left:14px;padding-top:4px}.sport-page__symptom-group-label{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;margin-bottom:8px;text-transform:uppercase}.sport-page__symptoms{display:flex;flex-direction:column;gap:10px}.sport-page__symptom{display:flex;flex-direction:column;gap:5px}.sport-page__symptom-row{align-items:center;display:flex;gap:8px}.sport-page__symptom-emoji{flex-shrink:0;font-size:17px}.sport-page__symptom-label{color:var(--color-text-primary);flex:1 1;font-size:14px;font-weight:600}.sport-page__symptom-days{color:var(--color-text-primary);font-size:14px;font-weight:700;white-space:nowrap}.sport-page__symptom-bar-bg{background:color-mix(in srgb,var(--border-wine) 30%,#0000);border-radius:4px;height:7px;overflow:hidden;position:relative;width:100%}.sport-page__symptom-bar{border-radius:4px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.sport-page__hr-avg-block{display:flex;gap:12px;margin-right:8px}.sport-page__hr-avg{align-items:center;display:flex;flex-direction:column;line-height:1}.sport-page__hr-avg-value{font-size:22px;font-weight:800;line-height:1}.sport-page__hr-avg-label{color:var(--color-text-secondary);font-size:11px;font-weight:500;margin-top:2px}.sport-page__rpe-score-block{align-items:center;display:flex;flex-direction:column;margin-right:8px}.sport-page__rpe-score{color:var(--sport-rest);font-size:36px;font-weight:800;line-height:1}.sport-page__rpe-avg{color:var(--color-text-secondary);font-size:12px;font-weight:500;margin:0}.sport-page__rpe-chart{display:flex;gap:8px;height:200px;margin-top:8px;overflow:visible}.sport-page__rpe-y-axis{color:var(--color-text-secondary);flex-shrink:0;font-size:11px;font-weight:500;position:relative;width:20px}.sport-page__rpe-bars{align-items:flex-end;display:flex;flex:1 1;gap:4px;min-width:0;padding-bottom:32px;position:relative}.sport-page__rpe-bar-col{align-items:center;display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:flex-end;min-width:0}.sport-page__rpe-bar{background:var(--sport-rest);border-radius:4px 4px 0 0;transition:height .3s ease;width:100%}.sport-page__rpe-bar-label{color:var(--color-text-secondary);font-size:clamp(9px,1.8vw,11px);font-weight:500;margin-top:4px}.sport-page__rpe-bar-dot{border-radius:50%;display:block;flex-shrink:0;height:8px;margin-top:4px;width:8px}.sport-page__ess-chart{display:flex;gap:8px;height:160px}.sport-page__ess-y-axis{flex-direction:column;font-size:11px;justify-content:space-between;white-space:nowrap}.sport-page__ess-area,.sport-page__ess-y-axis{color:var(--color-text-secondary);display:flex;font-weight:500}.sport-page__ess-area{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 15%,#0000) 0,color-mix(in srgb,var(--sport-rest) 30%,#0000) 100%);border-radius:var(--radius-lg);flex:1 1;font-size:12px;justify-content:center}.sport-page__ess-x-axis{color:var(--color-text-secondary);display:flex;font-size:13px;font-weight:600;justify-content:space-around;padding:8px 0 0 50px}.sport-page__chart-title-clickable{align-items:center;cursor:pointer;display:inline-flex;gap:4px}.sport-page__chart-title-clickable:hover{text-decoration:underline;text-underline-offset:3px}.sport-page__history-overlay{align-items:flex-end;background:color-mix(in srgb,var(--c-black) 45%,#0000);display:flex;inset:0;position:fixed;z-index:200}.sport-page__history-modal{background:var(--c-white);border-radius:20px 20px 0 0;max-height:80vh;overflow-y:auto;padding:20px 20px 32px;width:100%}.sport-page__history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.sport-page__history-title{color:var(--color-text-primary);font-size:16px;font-weight:700;margin:0}.sport-page__history-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:18px;padding:4px}.sport-page__history-periods{display:flex;gap:8px;margin-bottom:16px}.sport-page__history-period{background:var(--surface-alt);border:1.5px solid var(--border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:6px 16px;transition:background .15s,border-color .15s,color .15s}.sport-page__history-period--active{background:color-mix(in srgb,var(--color-primary) 10%,#0000);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}@media (max-width:359px){.sport-page{padding-left:12px;padding-right:12px}}@media (min-width:480px){.sport-page{padding-left:24px;padding-right:24px}}@media (min-width:768px){.sport-page{padding-left:40px;padding-right:40px}}.article-cover{overflow:hidden;position:relative}.article-cover__img{display:block;height:100%;object-fit:cover;width:100%}.article-cover__glyph{align-items:center;display:flex;filter:drop-shadow(0 1px 2px color-mix(in srgb,var(--c-black) 12%,transparent));inset:0;justify-content:center;opacity:.55;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none}.article-cover__glyph--sm{font-size:30px}.article-cover__glyph--md{font-size:40px}.article-cover__glyph--lg{font-size:60px}.blog-page{background-color:var(--color-pink-light);box-sizing:border-box;display:flex;flex-direction:column;gap:10px;min-height:calc(100vh - 80px);padding:16px 16px 20px}.blog-page__editor-link{align-self:flex-start;background:var(--surface);border:1px solid var(--color-primary);border-radius:50px;color:var(--color-primary);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:7px 14px}.blog-page__editor-link:hover{filter:brightness(.97)}.blog-page__section-title{color:var(--color-text-primary);font-size:18px;font-weight:700;margin:6px 0 0}.blog-page__phases{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.blog-page__phases::-webkit-scrollbar{display:none}.blog-page__phase{align-items:center;background:var(--surface);border:1px solid var(--border-subtle);border-radius:50px;color:var(--color-text-secondary);display:flex;flex-shrink:0;font-size:12px;font-weight:500;gap:6px;padding:6px 12px}.blog-page__phase--active{border-width:1.5px;font-weight:700}.blog-page__phase-dot{border-radius:50%;flex-shrink:0;height:7px;width:7px}.blog-page__phase:not(.blog-page__phase--active) .blog-page__phase-dot{opacity:.35}.blog-page__filters{-webkit-overflow-scrolling:touch;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.blog-page__filters::-webkit-scrollbar{display:none}.blog-page__filter{background:var(--color-white);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-primary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:6px 14px;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}.blog-page__filter--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.blog-page__grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.blog-page__card{background:var(--color-white);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.blog-page__card-meta{margin-top:auto}.blog-page__card-img{border-radius:16px 16px 0 0;flex-shrink:0;height:104px;width:100%}.blog-page__card-badge{border-radius:8px;color:var(--color-white);font-size:9px;font-weight:600;left:8px;padding:3px 8px;position:absolute;top:8px}.blog-page__card-title{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-primary);display:-webkit-box;font-size:13px;font-weight:600;line-height:1.35;margin:10px 12px 6px;overflow:hidden}.blog-page__card-meta{align-items:center;color:var(--color-text-secondary);display:flex;font-size:11.5px;font-weight:500;justify-content:space-between;padding:0 12px 10px}.blog-page__card-bookmark{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;padding:2px}.blog-page__card-bookmark-icon{height:14px;width:14px}@media (max-width:359px){.blog-page{padding-left:12px;padding-right:12px}}@media (min-width:480px){.blog-page{padding-left:24px;padding-right:24px}}@media (min-width:768px){.blog-page{padding-left:40px;padding-right:40px}}.article-page{background-color:var(--color-pink-light);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 80px);padding:16px 16px 24px}@media (max-width:359px){.article-page{padding-left:12px;padding-right:12px}}@media (min-width:480px){.article-page{padding-left:24px;padding-right:24px}}@media (min-width:768px){.article-page{padding-left:40px;padding-right:40px}}.article-page__hero{border-radius:var(--radius-xl);flex-shrink:0;height:170px;overflow:hidden;width:100%}.article-page__widget{background:var(--color-white);border-radius:var(--radius-xl);display:flex;flex-direction:column}.article-page__content{display:flex;flex-direction:column;gap:14px;padding:18px 16px 22px}@media (min-width:480px){.article-page__content{padding:20px 20px 24px}}.article-page__badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:-8px}.article-page__badge{border-radius:12px;color:var(--c-white);font-size:11px;font-weight:600;padding:4px 12px}.article-page__title{color:var(--color-text-primary);font-size:22px;font-weight:700;line-height:1.3;margin:0}.article-page__meta{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:12.5px;font-weight:500;gap:6px 16px}.article-page__intro{color:var(--color-text-primary);font-size:15px;line-height:1.65;margin:0}.article-page__callout{background:color-mix(in srgb,var(--cycle) 8%,#0000);border-left:3px solid var(--color-primary);border-radius:0 12px 12px 0;padding:12px 16px}.article-page__callout p{color:var(--color-primary);font-size:13.5px;font-style:italic;font-weight:500;line-height:1.6;margin:0}.article-page__section-title{color:var(--color-text-primary);font-size:17px;font-weight:700;line-height:1.35;margin:0}.article-page__block--titre:not(:first-child){margin-top:10px}.article-page__section-text{color:var(--color-text-primary);font-size:15px;line-height:1.65;margin:0;white-space:pre-line}.article-page__link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.article-page__figure{display:flex;flex-direction:column;gap:6px;margin:0}.article-page__figure-img{border-radius:12px;display:block;height:auto;width:100%}.article-page__figure-caption{color:var(--color-text-secondary);font-size:12px;line-height:1.5;text-align:center}.article-page__bullets{display:flex;flex-direction:column;gap:8px;margin:0;padding-left:20px}.article-page__bullet{color:var(--color-text-primary);font-size:15px;line-height:1.6}.article-page__bullet::marker{color:var(--color-primary)}.article-page__list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.article-page__list-item{align-items:flex-start;display:flex;gap:10px}.article-page__list-num{color:var(--color-primary);flex-shrink:0;font-size:15px;font-weight:800;line-height:1.5;min-width:18px}.article-page__list-body{display:flex;flex:1 1;flex-direction:column;gap:4px}.article-page__list-subtitle{color:var(--color-text-primary);font-size:15px;font-weight:700;line-height:1.35}.article-page__list-text{color:var(--color-text-primary);font-size:14.5px;line-height:1.6;margin:0}.article-page__similar{display:flex;flex-direction:column;gap:12px}.article-page__similar-title{color:var(--color-text-primary);font-size:17px;font-weight:700;margin:0}.article-page__similar-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.article-page__similar-card{background:var(--color-white);border-radius:14px;cursor:pointer;overflow:hidden;transition:transform .15s}.article-page__similar-card:active{transform:scale(.97)}.article-page__similar-img{height:96px;overflow:hidden;position:relative;width:100%}.article-page__similar-badge{border-radius:8px;color:var(--c-white);font-size:9px;font-weight:600;left:8px;padding:3px 8px;position:absolute;top:8px}.article-page__similar-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-primary);display:-webkit-box;font-size:13px;font-weight:600;line-height:1.3;margin:10px 12px 4px;overflow:hidden}.article-page__similar-time{color:var(--color-text-secondary);display:block;font-size:11px;font-weight:500;padding:0 12px 10px}.profile-page{background-color:var(--color-pink-light);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;min-height:calc(100vh - 80px);padding:16px 16px 30px}.profile-page__title{color:var(--color-primary);font-size:26px;font-weight:800;margin:0}.profile-page__card{background:var(--color-white);border-radius:20px;padding:20px}.profile-page__card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.profile-page__card-header h3{color:var(--color-text-primary);font-size:15px;font-weight:700;margin:0}.profile-page__edit-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:2px}.profile-page__edit-btn svg{height:20px;width:20px}.profile-page__identity{align-items:center;display:flex;flex-direction:column;padding:24px 20px}.profile-page__avatar-wrapper{margin-bottom:12px;position:relative}.profile-page__avatar-circle{align-items:center;background:linear-gradient(135deg,var(--c-orange-500),var(--cycle));border-radius:50%;display:flex;height:96px;justify-content:center;width:96px}.profile-page__avatar-initials{color:var(--c-white);font-size:26px;font-weight:700;letter-spacing:1px}.profile-page__avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.profile-page__avatar-camera{align-items:center;background:none;border:none;bottom:0;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;position:absolute;right:0;width:32px}.profile-page__avatar-camera:disabled{cursor:default;opacity:.6}.profile-page__avatar-camera svg{height:100%;width:100%}.profile-page__badge{align-items:center;background:var(--cycle);background:var(--color-secondary,var(--cycle));border-radius:20px;color:var(--color-white);display:flex;font-size:12px;font-weight:600;gap:6px;margin-bottom:12px;padding:6px 16px}.profile-page__badge-icon{flex-shrink:0;height:16px;width:16px}.profile-page__name{color:var(--color-text-primary);font-size:18px;font-weight:700;margin:0}.profile-page__email{margin:2px 0 0}.profile-page__age,.profile-page__email{color:var(--color-text-secondary);font-size:13px}.profile-page__age{margin:0}.profile-page__section-title{color:var(--color-text-primary);font-size:16px;font-weight:700;margin:4px 0 0}.profile-page__subscription{align-items:center;display:flex;justify-content:space-between}.profile-page__sub-left{align-items:center;display:flex;gap:12px}.profile-page__sub-icon-wrap{align-items:center;background:var(--mental);border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.profile-page__sub-icon{height:22px;width:22px}.profile-page__sub-plan{color:var(--color-text-primary);display:block;font-size:16px;font-weight:700}.profile-page__sub-price{color:var(--color-text-primary);font-size:14px;font-weight:600}.profile-page__sub-period{color:var(--color-text-secondary);font-weight:400}.profile-page__sub-old{color:var(--color-text-secondary);font-size:12px;margin-left:4px;text-decoration:line-through}.profile-page__info-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:10px 0}.profile-page__info-row--last{border-bottom:none}.profile-page__info-label{color:var(--color-text-secondary);font-size:13px}.profile-page__info-value{color:var(--color-text-primary);font-size:13px;font-weight:600}.profile-page__cycle-warning{color:var(--color-text-secondary);font-size:12px;line-height:1.4;margin:12px 0 0}.profile-page__share-desc{color:var(--color-text-secondary);font-size:13px;line-height:1.4;margin:0 0 12px}.profile-page__share-row{align-items:center;background:var(--color-pink-light);border-radius:16px;display:flex;gap:16px;justify-content:space-between}.profile-page__share-tag{border-radius:14px;color:var(--color-text-primary);font-size:12px;font-weight:500;padding:6px 14px}.profile-page__share-icon{height:18px;width:18px}.profile-page__share-link{background:none;border:none;color:var(--sport-primary);cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;padding:6px 14px}.profile-page__notif-icon{flex-shrink:0;height:20px;width:20px}.profile-page__toggle-row{align-items:center;color:var(--color-text-primary);display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.profile-page__toggle{background:var(--progress-inactive);border-radius:12px;cursor:pointer;height:24px;position:relative;width:42px}.profile-page__toggle:after{background:var(--color-white);border-radius:50%;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.profile-page__toggle--on{background:var(--color-primary)}.profile-page__toggle--on:after{transform:translateX(18px)}.profile-page__legal-row{align-items:center;border-bottom:1px solid var(--border-subtle);color:var(--color-text-primary);display:flex;font-size:13px;justify-content:space-between;padding:10px 0}.profile-page__legal-item{align-items:center;display:flex;gap:8px}.profile-page__legal-file-icon{flex-shrink:0;height:18px;width:18px}.profile-page__legal-arrow{flex-shrink:0;height:16px;width:16px}.profile-page__edit-input{background:var(--surface-alt);border:1px solid var(--color-border,var(--border));border-radius:8px;color:var(--color-text-primary);flex:1 1;font-family:inherit;font-size:13px;min-width:0;padding:6px 10px}.profile-page__save-btn{background:var(--color-primary);border:none;border-radius:20px;color:var(--color-white)}.profile-page__cancel-btn,.profile-page__save-btn{cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;padding:10px}.profile-page__cancel-btn{background:var(--color-white);border:1px solid var(--color-border,var(--border));border-radius:20px;color:var(--color-text-secondary)}.profile-page__sports-chips{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.profile-page__sport-chip{align-items:center;background:color-mix(in srgb,var(--mental) 10%,#0000);border-radius:20px;color:var(--color-primary);display:inline-flex;font-size:13px;font-weight:600;gap:6px;max-width:100%;padding:6px 12px}.profile-page__sport-chip-remove{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:inherit;font-size:15px;line-height:1;opacity:.6;padding:0}.profile-page__sport-chip-remove:hover{opacity:1}.profile-page__sport-add{align-items:center;background:none;border:2px dashed var(--color-primary);border-radius:50%;color:var(--color-primary);cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:20px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.profile-page__sport-picker{border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.profile-page__sport-picker-item{background:var(--border-subtle);border:none;border-radius:20px;color:var(--color-text-primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:6px 14px}.profile-page__sport-picker-item:hover{background:color-mix(in srgb,var(--mental) 8%,#0000);color:var(--color-primary)}.profile-page__sport-chip-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-page__sport-custom{align-items:stretch;display:flex;gap:8px;margin-top:10px}.profile-page__sport-custom .profile-page__edit-input{flex:1 1;min-width:0}.profile-page__sport-custom-add{background:none;border:1.5px solid var(--color-primary);border-radius:20px;color:var(--color-primary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;padding:0 14px}.profile-page__sport-custom-add:disabled{cursor:not-allowed;opacity:.4}.profile-page__version{color:var(--color-text-secondary);font-size:12px;margin:4px 0 0;text-align:center}.profile-page__logout{background:var(--bg);border:1px solid var(--danger);border-radius:16px;color:var(--danger);cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;margin-top:4px;padding:14px;width:100%}@media (min-width:480px){.profile-page{padding-left:24px;padding-right:24px}}@media (min-width:768px){.profile-page{padding-left:40px;padding-right:40px}}.profile-page__delete-account{background:none;border:none;color:var(--danger);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;margin-top:10px;padding:14px;text-decoration:underline;width:100%}.profile-page__modal-overlay{align-items:flex-end;background:#00000073;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.profile-page__modal{background:var(--color-white);border-radius:20px 20px 0 0;box-sizing:border-box;max-height:85vh;max-width:480px;overflow-y:auto;padding:24px 20px calc(24px + env(safe-area-inset-bottom));width:100%}.profile-page__modal-title{color:var(--color-text-primary);font-size:18px;font-weight:700;margin:0 0 12px}.profile-page__modal-text{color:var(--color-text-secondary);font-size:14px;line-height:1.5;margin:0 0 10px}.profile-page__modal-label{color:var(--color-text-primary);display:block;font-size:12px;font-weight:600;margin:14px 0 6px}.profile-page__modal-textarea{border:1px solid var(--color-border,var(--border));border-radius:12px;box-sizing:border-box;color:var(--color-text-primary);font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;width:100%}.profile-page__modal-error{color:var(--danger);font-size:13px;margin:10px 0 0}.profile-page__modal-actions{display:flex;gap:10px;margin-top:18px}.profile-page__modal-confirm{background:var(--danger);border:none;border-radius:20px;color:var(--color-white);cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;padding:10px}.profile-page__cancel-btn:disabled,.profile-page__modal-confirm:disabled{cursor:not-allowed;opacity:.5}.form-cycle{background:var(--bg);box-sizing:border-box;display:flex;flex-direction:column;gap:10px;min-height:100vh;padding:20px 24px 30px}.form-cycle__header{background:linear-gradient(180deg,color-mix(in srgb,var(--phase-primary) 10%,#0000) 0,color-mix(in srgb,var(--phase-primary) 5%,#0000) 100%);border-bottom:1px solid var(--border-wine);margin:-20px -24px 10px;padding:calc(20px + env(safe-area-inset-top, 0px)) 24px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.form-cycle__header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.form-cycle__header-left{align-items:center;display:flex;gap:10px}.form-cycle__header-logo{align-items:center;background:var(--phase-primary);border-radius:16px;display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.form-cycle__header-icon{height:28px;width:28px}.form-cycle__header-title{color:var(--color-text-primary);font-size:18px;font-weight:800;line-height:1.2;margin:0}.form-cycle__header-sub{color:var(--color-text-secondary);font-size:13px;margin:3px 0 0}.form-cycle__close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:20px;padding:4px}.form-cycle__tabs-wrapper{background:color-mix(in srgb,var(--border-wine) 50%,#0000);border:none;border-radius:16px;margin:0;padding:5px}.form-cycle__tabs{display:flex}.form-cycle__tab{align-items:center;background:#0000;border:none;border-radius:14px;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 0;transition:background .2s,color .2s}.form-cycle__tab--active{background:var(--phase-primary);color:var(--color-white)}.form-cycle__tab-icon{height:18px;width:18px}.form-cycle__section{align-items:center;background:#0000;border:none;border-radius:18px;display:flex;justify-content:space-between;padding:8px 0;transition:opacity .3s ease,max-height .3s ease,margin .3s ease}.form-cycle__section--hidden{margin:0;max-height:0;opacity:0;overflow:hidden;padding:0}.form-cycle__section--bordered{background:color-mix(in srgb,var(--phase-primary) 10%,#0000);border:2px solid color-mix(in srgb,var(--phase-primary) 20%,#0000);padding:16px 18px}.form-cycle__section--rest{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;padding:16px 18px}.form-cycle__section--rest .form-cycle__section-header{flex:1 1;min-width:0}.form-cycle__section--rest .form-cycle__switch{flex-shrink:0}.form-cycle__section--note{background:color-mix(in srgb,var(--phase-primary) 10%,#0000);border:2px solid color-mix(in srgb,var(--phase-primary) 20%,#0000);border-radius:18px;padding:16px 18px}.form-cycle__note-sub{color:var(--color-text-secondary);font-size:12px;margin:4px 0 0}.form-cycle__section--col{align-items:stretch;flex-direction:column}.form-cycle__section-top{align-items:center;display:flex;justify-content:space-between;width:100%}.form-cycle__section-header{align-items:center;display:flex;gap:10px;width:100%}.form-cycle__section-icon{flex-shrink:0;height:16px;width:16px}.form-cycle__section-icon.croissant{height:20px;width:20px}.form-cycle__section-title{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;letter-spacing:0;line-height:20px;margin:0}.form-cycle__section-sub{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:12px;font-weight:400;letter-spacing:0;line-height:16px;margin:1px 0 0}.form-cycle__switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.form-cycle__switch input{height:0;opacity:0;width:0}.form-cycle__switch-slider{background:var(--surface);border-radius:12px;cursor:pointer;inset:0;position:absolute;transition:background .2s}.form-cycle__switch-slider:after{background:var(--bg);border-radius:50%;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.form-cycle__switch input:checked+.form-cycle__switch-slider{background:var(--mental)}.form-cycle__section--bordered .form-cycle__switch input:checked+.form-cycle__switch-slider{background:var(--phase-primary)}.form-cycle__switch input:checked+.form-cycle__switch-slider:after{transform:translateX(20px)}.form-cycle__options{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}.form-cycle__options--2x2 .form-cycle__option{flex-basis:calc(50% - 5px);flex-grow:0;flex-shrink:0}.form-cycle__options--3col .form-cycle__option{flex-basis:calc(33.33333% - 6.66667px);flex-grow:0;flex-shrink:0}@media (max-width:339px){.form-cycle__options--3col .form-cycle__option{flex-basis:calc(50% - 5px);flex-grow:0;flex-shrink:0}}.form-cycle__option{align-items:center;background:var(--bg);border:2px solid var(--border-wine);border-radius:16px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:5px;padding:14px 6px;transition:border-color .2s,background .2s}.form-cycle__option--large{padding:18px 10px}.form-cycle__option--selected{background:color-mix(in srgb,var(--phase-primary) 10%,#0000);border-color:var(--phase-primary);border-width:2px}.form-cycle__option-img{height:28px;object-fit:contain;width:28px}.form-cycle__option--large .form-cycle__option-img{height:36px;width:36px}.form-cycle__option-emoji{align-items:center;display:flex;font-size:1.8rem;justify-content:center;line-height:1}.form-cycle__craving-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.form-cycle__craving-chip{background:var(--surface-alt);border:1.5px solid var(--border);border-radius:20px;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;min-height:44px;padding:12px 16px;transition:background .15s,color .15s,border-color .15s}.form-cycle__craving-chip--on{background:color-mix(in srgb,var(--phase-primary) 15%,#0000);border-color:var(--phase-primary);color:var(--phase-primary);font-weight:600}.form-cycle__option-label{color:var(--text-strong);font-size:11px;font-weight:700;line-height:1.2;text-align:center}.form-cycle__option-sub{color:var(--text-muted);font-size:10px;text-align:center}.form-cycle__temp-modes{background:var(--color-pink-light);border-radius:50px;display:flex;gap:6px;margin-top:12px;padding:3px}.form-cycle__temp-mode{background:#0000;border:none;border-radius:50px;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font-family:inherit;font-size:13px;font-weight:600;padding:8px 12px;transition:background .2s,color .2s}.form-cycle__temp-mode--active{background:var(--color-white);color:var(--phase-primary)}.form-cycle__temp-scale{display:flex;gap:6px;margin-top:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.form-cycle__temp-scale::-webkit-scrollbar{display:none}.form-cycle__temp-step{font-feature-settings:"tnum";background:var(--color-pink-light);border:2px solid var(--color-white);border-radius:12px;color:var(--color-text-primary);cursor:pointer;flex:0 0 auto;font-family:inherit;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;min-width:46px;padding:10px 6px;transition:background .2s,border-color .2s,color .2s}.form-cycle__temp-step--active{background:var(--phase-primary);border-color:var(--phase-primary);color:var(--color-white)}.form-cycle__temp-hint{color:var(--color-text-secondary);font-size:12px;margin:8px 0 0}.form-cycle__temp-disturbed{align-items:center;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:12px;gap:8px;margin-top:12px}.form-cycle__temp-disturbed input{accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.form-cycle__declare{align-items:center;background:var(--surface-alt);border:1.5px solid var(--border);border-radius:12px;cursor:pointer;display:flex;font-family:inherit;gap:10px;margin-top:12px;min-height:48px;padding:12px 14px;text-align:left;transition:background .15s,border-color .15s;width:100%}.form-cycle__declare--on{background:color-mix(in srgb,var(--phase-primary) 10%,#0000);border-color:var(--phase-primary);border-width:2px}.form-cycle__declare-check{align-items:center;background:var(--surface);border:1.5px solid var(--border);border-radius:6px;color:var(--phase-primary);display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:20px;justify-content:center;line-height:1;width:20px}.form-cycle__declare--on .form-cycle__declare-check{border-color:var(--phase-primary)}.form-cycle__declare-label{color:var(--text-strong);font-size:13px;font-weight:600}.form-cycle__declare-hint{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;gap:4px;margin:6px 0 0}.form-cycle__input{background:var(--color-pink-light);border:2px solid var(--color-white);border-radius:12px;color:var(--color-text-primary);font-family:inherit;font-size:14px;margin-top:12px;outline:none;padding:12px 14px;transition:border-color .2s}.form-cycle__input:focus{border-color:var(--phase-primary)}.form-cycle__input::placeholder{color:var(--text-placeholder)}.form-cycle__textarea{background:var(--bg);border:1px solid var(--border);border-radius:12px;color:var(--color-text-primary);font-family:inherit;font-size:14px;margin-top:12px;outline:none;padding:12px 14px;resize:none;transition:border-color .2s}.form-cycle__textarea--note{background:var(--bg);border:2px solid var(--color-white)}.form-cycle__textarea:focus{border-color:var(--phase-primary)}.form-cycle__textarea::placeholder{color:var(--text-placeholder)}.form-cycle__footer{background:#0000;border-top:none;bottom:0;margin:10px -24px -30px;padding:16px 24px 20px;position:-webkit-sticky;position:sticky;z-index:10}.form-cycle__ovul-btns{display:flex;gap:.75rem;margin-top:10px}.form-cycle__ovul-btn{background:var(--surface);border:1.5px solid var(--c-gray-200);border-radius:10px;cursor:pointer;flex:1 1;font-family:inherit;font-size:.9rem;padding:.5rem}.form-cycle__ovul-btn--pos.form-cycle__ovul-btn--selected{background:var(--success-bg);border-color:var(--sport-rest);color:var(--success)}.form-cycle__ovul-btn--neg.form-cycle__ovul-btn--selected{background:var(--danger-bg);border-color:var(--cycle);color:var(--c-pink-700)}.form-cycle__submit{background:var(--phase-primary);color:var(--color-white);font-size:17px;font-weight:700;padding:16px}.form-cycle__cancel,.form-cycle__submit{border:none;border-radius:14px;cursor:pointer;font-family:inherit;width:100%}.form-cycle__cancel{background:none;color:var(--text-faint);font-size:15px;font-weight:500;margin-top:4px;padding:12px}.form-mental{background:var(--background);box-sizing:border-box;display:flex;flex-direction:column;gap:10px;min-height:100vh;padding:20px 24px 30px}.form-mental__header{background:linear-gradient(180deg,color-mix(in srgb,var(--mental-estime) 18%,#0000) 0,color-mix(in srgb,var(--mental-estime) 8%,#0000) 100%);border-bottom:1px solid var(--border-wine);margin:-20px -24px 10px;padding:calc(20px + env(safe-area-inset-top, 0px)) 24px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.form-mental__header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.form-mental__header-left{align-items:center;display:flex;gap:10px}.form-mental__header-logo{align-items:center;background:var(--mental-primary);border-radius:16px;display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.form-mental__header-icon{height:28px;width:28px}.form-mental__header-title{color:var(--color-text-primary);font-size:18px;font-weight:800;line-height:1.2;margin:0}.form-mental__header-sub{color:var(--color-text-secondary);font-size:13px;margin:3px 0 0}.form-mental__close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:20px;padding:4px}.form-mental__tabs-wrapper{background:color-mix(in srgb,var(--border-wine) 50%,#0000);border:none;border-radius:16px;margin:0;padding:5px}.form-mental__tabs{display:flex}.form-mental__tab{align-items:center;background:#0000;border:none;border-radius:14px;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 0;transition:background .2s,color .2s}.form-mental__tab--active{background:var(--mental-primary);color:var(--color-white)}.form-mental__tab-icon{height:18px;width:18px}.form-mental__section{align-items:center;background:#0000;border:none;border-radius:18px;display:flex;justify-content:space-between;padding:8px 0;transition:opacity .3s ease,max-height .3s ease,margin .3s ease}.form-mental__section--hidden{margin:0;max-height:0;opacity:0;overflow:hidden;padding:0}.form-mental__section--bordered{background:color-mix(in srgb,var(--mental-primary) 10%,#0000);border:2px solid color-mix(in srgb,var(--mental-primary) 20%,#0000);padding:16px 18px}.form-mental__section--rest{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;padding:16px 18px}.form-mental__section--rest .form-mental__section-header{flex:1 1;min-width:0}.form-mental__section--rest .form-mental__switch{flex-shrink:0}.form-mental__section--note{background:color-mix(in srgb,var(--mental-primary) 10%,#0000);border:2px solid color-mix(in srgb,var(--mental-primary) 20%,#0000);border-radius:18px;padding:16px 18px}.form-mental__note-sub{color:var(--color-text-secondary);font-size:12px;margin:4px 0 0}.form-mental__section--col{align-items:stretch;flex-direction:column}.form-mental__section-header{align-items:center;display:flex;gap:10px;width:100%}.form-mental__section-icon{flex-shrink:0;height:16px;width:16px}.form-mental__section-icon.croissant{height:20px;width:20px}.form-mental__section-title-row{align-items:center;display:flex;flex:1 1;justify-content:space-between}.form-mental__section-title{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;letter-spacing:0;line-height:20px;margin:0}.form-mental__section-sub{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:12px;font-weight:400;letter-spacing:0;line-height:16px;margin:1px 0 0}.form-mental__slider-value{color:var(--mental-primary);font-size:15px;font-weight:700}.form-mental__switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.form-mental__switch input{height:0;opacity:0;width:0}.form-mental__switch-slider{background-color:var(--surface);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.form-mental__switch-slider:after{background:var(--bg);border-radius:50%;content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}.form-mental__switch input:checked+.form-mental__switch-slider{background-color:var(--mental-primary)}.form-mental__section--bordered .form-mental__switch input:checked+.form-mental__switch-slider{background-color:var(--mental-estime)}.form-mental__switch input:checked+.form-mental__switch-slider:after{transform:translateX(20px)}.form-mental__slider{-webkit-appearance:none;appearance:none;border-radius:3px;height:6px;margin-top:12px;outline:none;width:100%}.form-mental__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--mental-primary);border-radius:50%;cursor:pointer;height:20px;width:20px}.form-mental__slider::-moz-range-thumb{background:var(--mental-primary);border:none;border-radius:50%;cursor:pointer;height:20px;width:20px}.form-mental__slider-labels{color:var(--text-muted);display:flex;font-size:11px;justify-content:space-between;margin-top:4px}.form-mental__options{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}.form-mental__options--3col{gap:8px}.form-mental__options--3col .form-mental__option{flex-basis:calc(33.33333% - 5.33333px);flex-grow:0;flex-shrink:0}@media (max-width:339px){.form-mental__options--3col .form-mental__option{flex-basis:calc(50% - 4px);flex-grow:0;flex-shrink:0}}.form-mental__options--5col{gap:6px}.form-mental__options--5col .form-mental__option{flex-basis:calc(33.33333% - 4px);flex-grow:0;flex-shrink:0}@media (min-width:360px){.form-mental__options--5col .form-mental__option{flex-basis:calc(20% - 4.8px);flex-grow:0;flex-shrink:0}}.form-mental__option{align-items:center;aspect-ratio:70/86;background:var(--bg);border:2px solid var(--border-wine);border-radius:16px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:5px;justify-content:center;padding:10px 6px;transition:border-color .2s,background .2s;width:100%}.form-mental__options--3col .form-mental__option{aspect-ratio:122/91}.form-mental__option--selected{background:color-mix(in srgb,var(--mental-primary) 12%,#0000);border-color:var(--mental-primary);border-width:2px}.form-mental__group-label{color:var(--color-text-secondary);font-size:12px;font-weight:600;letter-spacing:.02em;margin:12px 0 6px}.form-mental__option-img{height:30px;object-fit:contain;width:30px}.form-mental__option-emoji{align-items:center;display:flex;font-size:24px;height:30px;justify-content:center;line-height:1;width:30px}.form-mental__option-label{color:var(--color-text-primary);font-family:Poppins,sans-serif;font-size:8px;font-weight:500;letter-spacing:0;line-height:10px;text-align:center}.form-mental__options--3col .form-mental__option-label{font-size:10px;line-height:12.5px}.form-mental__textarea{border-radius:12px;color:var(--color-text-primary);font-family:inherit;font-size:14px;margin-top:12px;outline:none;padding:12px 14px;resize:none;transition:border-color .2s}.form-mental__textarea,.form-mental__textarea--note{background:var(--bg);border:2px solid var(--color-white)}.form-mental__textarea:focus{border-color:var(--mental-primary)}.form-mental__textarea::placeholder{color:var(--text-placeholder)}.form-mental__footer{background:#0000;border-top:none;bottom:0;margin:10px -24px -30px;padding:16px 24px 20px;position:-webkit-sticky;position:sticky;z-index:10}.form-mental__submit{background:var(--mental-primary);border:none;border-radius:14px;color:var(--color-white);cursor:pointer;font-family:inherit;font-size:17px;font-weight:700;padding:16px;width:100%}.form-sport__sport-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.form-sport__sport-chip{align-items:center;background:var(--color-white);border:1px solid var(--color-border);border-radius:50px;color:var(--color-text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:500;gap:5px;max-width:100%;min-height:44px;padding:12px 16px;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.form-sport__sport-chip--selected{background:var(--sport-primary);border-color:var(--sport-primary);color:var(--color-white)}.form-sport__sport-chip-emoji{flex-shrink:0;font-size:16px;line-height:1}.form-sport__sport-chip-label{line-height:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-sport{background:var(--bg);box-sizing:border-box;display:flex;flex-direction:column;gap:10px;min-height:100vh;padding:20px 24px 30px}.form-sport__header{background:linear-gradient(135deg,color-mix(in srgb,var(--sport) 8%,#0000) 0,color-mix(in srgb,var(--sport) 15%,#0000) 100%);border-bottom:1px solid var(--border-wine);margin:-20px -24px 10px;padding:calc(20px + env(safe-area-inset-top, 0px)) 24px 16px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.form-sport__header-top{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.form-sport__header-left{align-items:center;display:flex;gap:10px}.form-sport__header-logo{align-items:center;background:var(--sport-primary);border-radius:16px;display:flex;flex-shrink:0;height:52px;justify-content:center;width:52px}.form-sport__header-icon{height:28px;width:28px}.form-sport__header-title{color:var(--color-text-primary);font-size:18px;font-weight:800;line-height:1.2;margin:0}.form-sport__header-sub{color:var(--color-text-secondary);font-size:13px;margin:3px 0 0}.form-sport__close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:20px;padding:4px}.form-sport__tabs-wrapper{background:color-mix(in srgb,var(--border-wine) 50%,#0000);border:none;border-radius:16px;margin:0;padding:5px}.form-sport__tabs{display:flex}.form-sport__tab{align-items:center;background:#0000;border:none;border-radius:14px;color:var(--color-text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 0;transition:background .2s,color .2s}.form-sport__tab--active{background:var(--sport-primary);color:var(--color-white)}.form-sport__tab-icon{height:18px;width:18px}.form-sport__section{align-items:center;background:#0000;border:none;border-radius:18px;display:flex;justify-content:space-between;padding:8px 0;transition:opacity .3s ease,max-height .3s ease,margin .3s ease}.form-sport__section--hidden{margin:0;max-height:0;opacity:0;overflow:hidden;padding:0}.form-sport__section--bordered{background:color-mix(in srgb,var(--sport) 10%,#0000);border:2px solid color-mix(in srgb,var(--sport) 20%,#0000);padding:16px 18px}.form-sport__section--rest{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:.5rem;max-width:100%;padding:16px 18px}.form-sport__section--rest .form-sport__section-header{flex:1 1;min-width:0}.form-sport__section--rest .form-sport__switch{flex-shrink:0}.form-sport__section--competition{background:color-mix(in srgb,var(--sport) 10%,#0000);border:2px solid color-mix(in srgb,var(--sport) 20%,#0000)}.form-sport__section--injury{align-items:stretch;background:color-mix(in srgb,var(--cycle) 10%,#0000);border:2px solid color-mix(in srgb,var(--cycle) 20%,#0000);flex-direction:column}.form-sport__section-top{align-items:center;display:flex;justify-content:space-between;width:100%}.form-sport__section--note{background:color-mix(in srgb,var(--sport) 10%,#0000);border:2px solid color-mix(in srgb,var(--sport) 20%,#0000);border-radius:18px;padding:16px 18px}.form-sport__note-sub{color:var(--color-text-secondary);font-size:12px;margin:4px 0 0}.form-sport__section--col{align-items:stretch;flex-direction:column}.form-sport__section--row{display:flex;gap:8px;padding:0}.form-sport__fc-box{background:color-mix(in srgb,var(--sport) 10%,#0000);border:2px solid color-mix(in srgb,var(--sport) 20%,#0000);border-radius:18px;box-sizing:border-box;display:flex;flex-direction:column;height:140px;padding:16px 18px;width:calc(50% - 4px)}.form-sport__section-header{align-items:center;display:flex;gap:10px}.form-sport__section-icon{flex-shrink:0;height:16px;width:16px}.form-sport__section-icon.croissant,.form-sport__section-icon.trophy,.form-sport__section-icon.warning{height:20px;width:20px}.form-sport__section-title{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;letter-spacing:0;line-height:20px;margin:0}.form-sport__section-sub{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:12px;font-weight:400;letter-spacing:0;line-height:16px;margin:1px 0 0}.form-sport__section-title-row{align-items:center;display:flex;flex:1 1;justify-content:space-between}.form-sport__slider-value{color:var(--sport-primary);font-size:15px;font-weight:700}.form-sport__switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.form-sport__switch input{height:0;opacity:0;width:0}.form-sport__switch-slider{background-color:var(--surface);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.form-sport__switch-slider:before{background-color:var(--bg);border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.form-sport__switch input:checked+.form-sport__switch-slider{background-color:var(--sport-primary)}.form-sport__section--competition .form-sport__switch input:checked+.form-sport__switch-slider{background-color:var(--color-accent)}.form-sport__section--injury .form-sport__switch input:checked+.form-sport__switch-slider{background-color:var(--color-secondary)}.form-sport__switch input:checked+.form-sport__switch-slider:before{transform:translateX(20px)}.form-sport__slider{-webkit-appearance:none;appearance:none;border-radius:8px;height:8px;margin-top:12px;outline:none;width:100%}.form-sport__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--phase-folliculaire);background:var(--rpe-color,var(--phase-folliculaire));border:3px solid var(--surface);border-radius:50%;box-shadow:0 2px 4px color-mix(in srgb,var(--c-black) 10%,#0000);cursor:pointer;height:20px;width:20px}.form-sport__slider::-moz-range-thumb{background:var(--phase-folliculaire);background:var(--rpe-color,var(--phase-folliculaire));border:3px solid var(--surface);border-radius:50%;box-shadow:0 2px 4px color-mix(in srgb,var(--c-black) 10%,#0000);cursor:pointer;height:20px;width:20px}.form-sport__input{background:var(--bg);border:2px solid var(--color-white);border-radius:12px;color:var(--color-text-primary);font-family:inherit;font-size:14px;margin-top:12px;outline:none;padding:12px 14px;transition:border-color .2s}.form-sport__input:focus{border-color:var(--sport-primary)}.form-sport__input::placeholder{color:var(--text-placeholder)}.form-sport__textarea{background:var(--bg);border:2px solid var(--color-white);border-radius:12px;color:var(--color-text-primary);font-family:inherit;font-size:14px;margin-top:12px;outline:none;padding:12px 14px;resize:none;transition:border-color .2s}.form-sport__textarea:focus{border-color:var(--sport-primary)}.form-sport__textarea::placeholder{color:var(--text-placeholder)}.form-sport__textarea--note{background:var(--bg);border:2px solid var(--color-white)}.form-sport__options{grid-gap:10px;display:grid;gap:10px;margin-top:12px}.form-sport__options--3col{grid-template-columns:repeat(3,1fr)}@media (max-width:339px){.form-sport__options--3col{grid-template-columns:1fr 1fr}}.form-sport__options--1col{grid-template-columns:1fr}.form-sport__option{align-items:center;background:var(--bg);border:2px solid var(--border-wine);border-radius:16px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:row;font-family:inherit;gap:12px;justify-content:flex-start;padding:16px 18px;transition:border-color .2s,background .2s;width:100%}.form-sport__options--3col .form-sport__option{aspect-ratio:122/91;flex-direction:column;gap:5px;justify-content:center;padding:10px 6px}.form-sport__option--selected{background:color-mix(in srgb,var(--sport) 12%,#0000);border-color:var(--sport-primary);border-width:2px}.form-sport__option-img{flex-shrink:0;height:32px;object-fit:contain;width:33px}.form-sport__options--3col .form-sport__option-img{height:auto;width:auto}.form-sport__option-emoji{align-items:center;display:flex;font-size:1.6rem;justify-content:center;line-height:1}.form-sport__option-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.form-sport__option-label{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;line-height:20px;text-align:left}.form-sport__options--3col .form-sport__option-label{font-size:11px;text-align:center}.form-sport__option-sub{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:12px;font-weight:400;line-height:16px;text-align:left}.form-sport__options--3col .form-sport__option-sub{font-size:10px;text-align:center}.form-sport__footer{background:#0000;border-top:none;bottom:0;margin:10px -24px -30px;padding:16px 24px 20px;position:-webkit-sticky;position:sticky;z-index:10}.form-sport__submit{background:var(--sport-primary);border:none;border-radius:14px;color:var(--color-white);cursor:pointer;font-family:inherit;font-size:17px;font-weight:700;padding:16px;width:100%}.form-sport__ponctuel{margin-top:12px}.form-sport__ponctuel-toggle{border-color:var(--sport-primary);border-style:dashed;color:var(--sport-primary);font-weight:600}.form-sport__ponctuel-row{align-items:stretch;display:flex;gap:8px;margin-top:10px}.form-sport__rpe-levels{display:flex;gap:8px;margin:8px 0 4px}.form-sport__rpe-level{border:1.5px solid #0000;border-radius:50px;color:var(--color-text-primary);flex:1 1;font-size:12px;opacity:.45;padding:8px 10px;text-align:center;transition:opacity var(--transition-fast)}.form-sport__rpe-level--active{opacity:1}.form-sport__ponctuel-input{flex:1 1;min-width:0}.form-sport__ponctuel-add{background:none;border:1px solid var(--sport-primary);border-radius:50px;color:var(--sport-primary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;padding:0 14px}.form-sport__ponctuel-add:disabled{cursor:not-allowed;opacity:.4}.form-sport__seance{border:1px solid var(--color-border);border-radius:16px;margin-bottom:12px;padding:14px}.form-sport__seance-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.form-sport__seance-remove{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-family:inherit;font-size:16px;line-height:1;padding:4px}.form-sport__seance-row{display:flex;flex-direction:column;gap:6px;margin-top:12px}.form-sport__seance-label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.form-sport__seance-check{align-items:center;color:var(--color-text-secondary);display:flex;font-size:13px;gap:8px;margin-top:12px}.form-sport__add-seance{background:none;border:1.5px dashed var(--sport-primary);border-radius:14px;color:var(--sport-primary);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:14px;width:100%}.form-confirmation{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.form-confirmation__overlay{background:color-mix(in srgb,var(--c-black) 45%,#0000);bottom:0;left:0;position:absolute;right:0;top:0}.form-confirmation__modal{background:var(--surface);border-radius:24px;box-shadow:0 8px 32px color-mix(in srgb,var(--c-black) 18%,#0000);display:flex;flex-direction:column;gap:18px;max-height:90vh;max-width:420px;overflow-y:auto;padding:32px 24px 24px;position:relative;width:calc(100% - 48px)}.form-confirmation__close{align-items:center;background:none;border:none;color:var(--text-faint);cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;padding:4px;position:absolute;right:8px;top:8px;width:44px}.form-confirmation__header{align-items:center;display:flex;flex-direction:column;gap:10px;padding:4px 8px 0;text-align:center}.form-confirmation__emoji{height:57px;object-fit:contain;width:67px}.form-confirmation__title{color:var(--text);font-family:Poppins,sans-serif;font-size:20px;font-weight:700;letter-spacing:-.4px;line-height:28px;margin:0}.form-confirmation__subtitle{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:20px;margin:0}.form-confirmation__reminder{align-items:flex-start;background:color-mix(in srgb,var(--mental) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--mental) 14%,#0000);border-radius:16px;display:flex;gap:12px;padding:16px}.form-confirmation__reminder-icon{flex-shrink:0;height:24px;margin-top:1px;object-fit:contain;width:24px}.form-confirmation__reminder-content{flex:1 1}.form-confirmation__reminder-title{color:var(--text);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;line-height:20px;margin:0 0 4px}.form-confirmation__reminder-text{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:13px;font-weight:400;line-height:19px;margin:0}.form-confirmation__info{padding:0 4px}.form-confirmation__info-text{color:var(--text-faint);font-family:Poppins,sans-serif;font-size:13px;font-weight:400;line-height:19px;margin:0;text-align:center}.form-confirmation__tabs{background:var(--surface-muted);border-radius:14px;display:flex;gap:4px;padding:4px}.form-confirmation__tab{align-items:center;background:#0000;border:none;border-radius:11px;color:var(--text-muted);cursor:pointer;display:flex;flex:1 1;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;gap:6px;justify-content:center;line-height:20px;padding:10px 0;text-align:center;transition:background .2s,color .2s}.form-confirmation__tab:hover{background:var(--surface);box-shadow:var(--shadow-xs);color:var(--mental)}.form-confirmation__tab-icon{height:16px;width:16px}.form-confirmation__footer{border-top:1px solid var(--border-subtle);margin-top:2px;padding:18px 0 0}.form-confirmation__actions{display:flex;flex-direction:column;gap:4px}.form-confirmation__confirm{background:var(--mental);border:none;border-radius:14px;box-shadow:var(--shadow-button);color:var(--surface);cursor:pointer;font-family:Poppins,sans-serif;font-size:15px;font-weight:600;line-height:20px;padding:16px;text-align:center;transition:filter .2s;width:100%}.form-confirmation__confirm:hover{filter:brightness(1.08)}.form-confirmation__back{background:none;border:none;border-radius:14px;color:var(--text-muted);cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;line-height:20px;padding:14px;text-align:center;transition:color .2s;width:100%}.form-confirmation__back:hover{color:var(--text)}.form-recap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.form-recap__overlay{background:color-mix(in srgb,var(--c-black) 50%,#0000);bottom:0;left:0;position:absolute;right:0;top:0}.form-recap__modal{background:linear-gradient(180deg,var(--c-pink-50) 0,var(--bg) 100%);border-radius:24px;box-shadow:0 8px 32px color-mix(in srgb,var(--c-black) 15%,#0000);display:flex;flex-direction:column;gap:20px;max-height:90vh;max-width:390px;overflow-y:auto;padding:32px 24px 24px;position:relative;width:calc(100% - 48px)}.form-recap__close{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;padding:4px;position:absolute;right:8px;top:8px;width:44px}.form-recap__header{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--mental) 10%,#0000) 0,color-mix(in srgb,var(--cycle) 10%,#0000) 50%,color-mix(in srgb,var(--sport) 10%,#0000) 100%);border-bottom:1px solid var(--border-wine);border-radius:24px 24px 0 0;display:flex;flex-direction:column;gap:12px;margin:-32px -24px 20px;padding:24px 24px 20px;text-align:center}.form-recap__bravo{height:auto;max-width:100px;object-fit:contain;width:auto}.form-recap__title{color:var(--text-strong);font-size:24px;font-weight:700;line-height:32px}.form-recap__subtitle,.form-recap__title{font-family:Poppins,sans-serif;margin:0;text-align:center}.form-recap__subtitle{color:var(--text-muted);font-size:14px;font-weight:400;line-height:20px}.form-recap__summary{background:linear-gradient(135deg,color-mix(in srgb,var(--border-wine) 30%,#0000) 0,color-mix(in srgb,var(--border-wine) 10%,#0000) 100%);border:2px solid color-mix(in srgb,var(--border-wine) 40%,#0000);border-radius:18px;display:flex;flex-direction:column;gap:16px;padding:20px}.form-recap__summary-header{align-items:center;display:flex;gap:10px}.form-recap__summary-icon{height:32px;object-fit:contain;width:32px}.form-recap__summary-title{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:18px;font-weight:700;line-height:24px;margin:0}.form-recap__summary-text{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:20px;margin:0}.form-recap__cards{display:flex;gap:6px;justify-content:space-between}.form-recap__card{align-items:center;background:var(--color-white);border-radius:14px;box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center;max-width:110px;min-height:92px;padding:10px 6px;text-align:center}.form-recap__card--cycle{background:linear-gradient(135deg,color-mix(in srgb,var(--sport) 10%,#0000) 0,color-mix(in srgb,var(--sport) 5%,#0000) 100%);border:1px solid color-mix(in srgb,var(--sport) 20%,#0000)}.form-recap__card--humeur{background:linear-gradient(135deg,color-mix(in srgb,var(--cycle) 5%,#0000) 0,color-mix(in srgb,var(--cycle) 10%,#0000) 100%);border:1px solid color-mix(in srgb,var(--cycle) 20%,#0000)}.form-recap__card--rpe{background:linear-gradient(135deg,color-mix(in srgb,var(--mental) 5%,#0000) 0,color-mix(in srgb,var(--mental) 10%,#0000) 100%);border:1px solid color-mix(in srgb,var(--mental) 20%,#0000)}.form-recap__card-icon{height:24px;width:24px}.form-recap__card-label{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:12px;font-weight:500;line-height:16px}.form-recap__card-value{font-family:Poppins,sans-serif;font-size:16px;font-weight:700;line-height:20px}.form-recap__card--cycle .form-recap__card-value{color:var(--sport-primary)}.form-recap__card--humeur .form-recap__card-value{color:var(--cycle)}.form-recap__card--rpe .form-recap__card-value{color:var(--mental)}.form-recap__share-question{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:20px;margin:0;text-align:center}.form-recap__actions{display:flex;flex-direction:column;gap:12px}.form-recap__footer{background:var(--color-white);border-radius:0 0 24px 24px;border-top:1px solid var(--border-wine);display:flex;justify-content:center;margin:20px -24px -24px;padding:16px 24px 20px}.form-recap__share{align-items:center;background:var(--share-cta);border:none;border-radius:14px;color:var(--surface);cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;line-height:20px;padding:16px;text-align:center;transition:opacity .2s;width:100%}.form-recap__share:hover{opacity:.9}.form-recap__share-icon{color:var(--surface);height:18px;width:18px}.form-recap__close-btn{background:color-mix(in srgb,var(--border-wine) 50%,#0000);border:2px solid var(--surface);border-radius:14px;color:var(--text-strong);cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;line-height:20px;padding:16px;text-align:center;transition:background .2s;width:100%}.form-recap__close-btn:hover{background:color-mix(in srgb,var(--border-wine) 70%,#0000)}.form-recap__modify{align-items:center;background:none;border:none;color:var(--text-strong);cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;gap:6px;padding:0;text-align:center;transition:color .2s}.form-recap__modify:hover{opacity:.8}.form-recap__modify-icon{height:16px;width:16px}.form-share{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.form-share__overlay{background:color-mix(in srgb,var(--c-black) 50%,#0000);bottom:0;left:0;position:absolute;right:0;top:0}.form-share__modal{background:var(--bg);border-radius:24px;box-shadow:0 8px 32px color-mix(in srgb,var(--c-black) 15%,#0000);display:flex;flex-direction:column;gap:20px;max-height:90vh;max-width:390px;overflow-y:auto;padding:24px;position:relative;width:calc(100% - 48px)}.form-share__close{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;padding:4px;position:absolute;right:8px;top:8px;width:44px}.form-share__header{align-items:center;display:flex;gap:12px}.form-share__header-icon{flex-shrink:0;height:28px;width:28px}.form-share__title{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:18px;font-weight:600;line-height:24px;margin:0}.form-share__subtitle{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:13px;font-weight:400;line-height:18px;margin:-8px 0 0}.form-share__section{display:flex;flex-direction:column;gap:12px}.form-share__section-header{align-items:center;display:flex;gap:8px}.form-share__section-icon{flex-shrink:0;height:20px;width:20px}.form-share__section-title,.form-share__section-title-solo{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;line-height:20px;margin:0}.form-share__data-options{display:flex;flex-direction:column;gap:8px}.form-share__data-option{align-items:center;background:var(--surface);border:2px solid #0000;border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;text-align:left;transition:all .2s}.form-share__data-option--cycle.form-share__data-option--selected{background:color-mix(in srgb,var(--cycle) 10%,#0000);border-color:var(--cycle)}.form-share__data-option--mental.form-share__data-option--selected{background:color-mix(in srgb,var(--mental) 10%,#0000);border-color:var(--mental)}.form-share__data-option--sport.form-share__data-option--selected{background:color-mix(in srgb,var(--sport) 10%,#0000);border-color:var(--sport)}.form-share__data-option-icons{display:flex;gap:4px}.form-share__data-option-icon{height:20px;width:20px}.form-share__data-option-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.form-share__data-option-label{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;line-height:20px}.form-share__data-option-sub{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:12px;font-weight:400;line-height:16px}.form-share__period-options{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.form-share__period-option{background:var(--surface);border:2px solid #0000;border-radius:12px;color:var(--text-strong);cursor:pointer;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;line-height:18px;padding:12px 16px;text-align:center;transition:all .2s}.form-share__period-option--selected{background:color-mix(in srgb,var(--share-cta) 10%,#0000);border-color:var(--share-cta);color:var(--share-cta);font-weight:600}.form-share__period-custom{align-items:center;background:var(--surface);border:2px solid #0000;border-radius:12px;color:var(--text-strong);cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:13px;font-weight:500;gap:8px;justify-content:center;margin-top:4px;padding:12px 16px;transition:all .2s}.form-share__period-custom--selected{background:color-mix(in srgb,var(--share-cta) 10%,#0000);border-color:var(--share-cta);color:var(--share-cta);font-weight:600}.form-share__period-custom-icon{height:16px;width:16px}.form-share__detail-options{display:flex;flex-direction:column;gap:8px}.form-share__detail-option{align-items:flex-start;background:var(--surface);border:2px solid #0000;border-radius:16px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;text-align:left;transition:all .2s}.form-share__detail-option--selected{background:color-mix(in srgb,var(--share-cta) 10%,#0000);border-color:var(--share-cta)}.form-share__detail-option-radio{border:2px solid var(--text-muted);border-radius:50%;flex-shrink:0;height:20px;margin-top:2px;position:relative;width:20px}.form-share__detail-option--selected .form-share__detail-option-radio{border-color:var(--share-cta)}.form-share__detail-option--selected .form-share__detail-option-radio:after{background:var(--share-cta);border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.form-share__detail-option-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.form-share__detail-option-label{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:14px;font-weight:600;line-height:20px}.form-share__detail-option-sub{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:12px;font-weight:400;line-height:16px}.form-share__actions{display:flex;gap:12px;margin-top:8px}.form-share__cancel{background:var(--surface);border:2px solid var(--border-wine);border-radius:14px;color:var(--text-strong);cursor:pointer;flex:1 1;font-family:Poppins,sans-serif;font-size:14px;font-weight:500;line-height:20px;padding:14px;text-align:center;transition:background .2s}.form-share__cancel:hover{background:var(--bg)}.form-share__submit{align-items:center;background:var(--share-cta);border:none;border-radius:14px;color:var(--c-white);cursor:pointer;display:flex;flex:1 1;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;line-height:20px;padding:14px;text-align:center;transition:opacity .2s}.form-share__submit:hover{opacity:.9}.form-share__submit-icon{height:18px;width:18px}.form-share__summary{background:var(--surface);border:1px solid var(--border-wine);border-radius:16px;box-shadow:0 2px 8px color-mix(in srgb,var(--c-black) 6%,#0000);display:flex;flex-direction:column;gap:8px;padding:16px}.form-share__summary-title{color:var(--text-muted);font-family:Poppins,sans-serif;font-size:11px;font-weight:700;letter-spacing:.5px;line-height:16px;margin:0}.form-share__summary-text{color:var(--text-strong);font-family:Poppins,sans-serif;font-size:13px;font-weight:400;line-height:18px;margin:0}.form-share__summary-text strong{font-weight:600}.legal-page{box-sizing:border-box;flex-direction:column;min-height:calc(100vh - 80px);padding:0 0 40px}.legal-page,.legal-page__header{background-color:var(--color-pink-light);display:flex}.legal-page__header{align-items:center;gap:12px;padding:calc(20px + env(safe-area-inset-top, 0px)) 20px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.legal-page__back-btn{align-items:center;background:var(--c-white);border:none;border-radius:50%;box-shadow:0 2px 8px color-mix(in srgb,var(--c-black) 8%,#0000);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.legal-page__back-btn svg{stroke:var(--color-primary);height:18px;width:18px}.legal-page__title{color:var(--color-text-primary);font-size:20px;font-weight:700;margin:0}.legal-page__card{background:var(--c-white);border-radius:20px;margin:0 16px 12px;padding:24px 20px}.legal-page__section{margin-bottom:24px}.legal-page__section:last-child{margin-bottom:0}.legal-page__section-title{color:var(--color-text-primary);font-size:14px;font-weight:700;margin:0 0 8px}.legal-page__section-text{color:var(--color-text-secondary);font-size:13px;line-height:1.6;margin:0 0 8px}.legal-page__section-text:last-child{margin-bottom:0}.legal-page__section-list{color:var(--color-text-secondary);font-size:13px;line-height:1.6;margin:0 0 8px;padding-left:18px}.legal-page__section-list li{margin-bottom:6px}.legal-page__section-list li:last-child{margin-bottom:0}.legal-page__section-list a,.legal-page__section-text a{color:var(--color-primary)}.legal-page__divider{background:var(--border-subtle);height:1px;margin:16px 0}.legal-page__placeholder-badge{align-items:center;background:var(--color-pink-light);border-radius:10px;color:var(--color-primary);display:inline-flex;font-size:11px;font-weight:600;gap:6px;margin-bottom:12px;padding:4px 10px}.legal-page__contact-row{align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;gap:14px;padding:14px 0}.legal-page__contact-row:last-child{border-bottom:none}.legal-page__contact-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;width:40px}.legal-page__contact-icon--email{background:var(--c-purple-50)}.legal-page__contact-icon--chat{background:var(--c-pink-50)}.legal-page__contact-icon--faq{background:var(--c-orange-100)}.legal-page__contact-info{flex:1 1}.legal-page__contact-label{color:var(--color-text-primary);font-size:13px;font-weight:600;margin:0 0 2px}.legal-page__contact-sublabel{color:var(--color-text-secondary);font-size:12px;margin:0}.legal-page__contact-arrow{color:var(--color-text-secondary);font-size:16px}.legal-page__version{color:var(--color-text-secondary);font-size:11px;margin:8px 0 0;text-align:center}.legal-page__form{display:flex;flex-direction:column;gap:6px;margin-top:12px}.legal-page__form-label{color:var(--color-text-primary);font-size:12px;font-weight:600;margin-top:6px}.legal-page__form-input,.legal-page__form-textarea{background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;box-sizing:border-box;color:var(--color-text-primary);font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.legal-page__form-textarea{min-height:96px;resize:vertical}.legal-page__form-submit{background:var(--color-primary);border:none;border-radius:12px;color:var(--c-white);cursor:pointer;font-size:15px;font-weight:600;margin-top:12px;padding:12px;width:100%}.legal-page__form-submit:disabled{cursor:not-allowed;opacity:.5}.legal-page__form-error{color:var(--danger);font-size:13px;margin:8px 0 0}.legal-page__form-success{color:var(--color-primary);font-size:13px;margin:8px 0 0}.legal-page__ticket-row{background:none;border-left:none;border-right:none;border-top:none;font:inherit;text-align:left;width:100%}.support-thread{display:flex;flex-direction:column;gap:12px}.support-thread__msg{border-radius:16px;max-width:85%;padding:12px 14px}.support-thread__msg--me{align-self:flex-end;background:var(--surface-muted);border-bottom-right-radius:4px}.support-thread__msg--admin{align-self:flex-start;background:var(--surface-alt);border-bottom-left-radius:4px}.support-thread__author{color:var(--color-text-secondary);font-size:11px;font-weight:600;margin:0 0 4px}.support-thread__body{color:var(--color-text-primary);font-size:14px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.support-thread__date{color:var(--color-text-secondary);font-size:11px;margin:6px 0 0}.spinner{align-items:center;box-sizing:border-box;display:inline-flex;flex-shrink:0;justify-content:center}.spinner__logo{animation:spinner-pulse 1.2s ease-in-out infinite;height:100%;object-fit:contain;transform-origin:center;width:100%}@keyframes spinner-pulse{0%,to{opacity:.6;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.spinner__logo{animation-duration:2.6s}}.spinner__sr{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.coach{background-color:var(--color-pink-light);box-sizing:border-box;display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 80px);padding:16px 16px 24px}.coach__stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.coach__stat-card{border-radius:20px;color:var(--c-white);flex-direction:column;gap:4px;min-height:110px;padding:18px 16px 14px}.coach__stat-card,.coach__stat-icon{align-items:center;display:flex;justify-content:center}.coach__stat-icon{height:28px;opacity:.95;width:28px}.coach__stat-icon svg{height:100%;width:100%}.coach__stat-emoji{font-size:28px;line-height:1}.coach__stat-value{font-size:30px;font-weight:800;line-height:1.1;margin-top:2px}.coach__stat-label{font-size:13px;font-weight:500;opacity:.9;text-align:center}.coach__loading{display:flex;justify-content:center;padding:2.5rem 0}.coach__athletes{grid-gap:12px;display:grid;gap:12px;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.coach__athlete-card{background:var(--c-white);border-radius:20px;box-shadow:0 2px 12px color-mix(in srgb,var(--c-black) 6%,#0000);cursor:pointer;display:flex;flex-direction:column;gap:12px;min-height:250px;padding:16px;transition:box-shadow .15s}.coach__athlete-card:hover{box-shadow:0 4px 16px color-mix(in srgb,var(--c-black) 10%,#0000)}.coach__athlete-header{align-items:center;display:flex;gap:12px}.coach__athlete-chevron{color:var(--color-text-secondary);flex-shrink:0;font-size:22px;font-weight:700;line-height:1}.coach__athlete-avatar{align-items:center;border-radius:50%;color:var(--c-white);display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:44px;justify-content:center;width:44px}.coach__athlete-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.coach__athlete-name{color:var(--color-text-primary);font-size:15px;font-weight:700}.coach__athlete-age{color:var(--color-text-secondary);font-size:12px}.coach__athlete-time{color:var(--color-text-secondary);font-size:11px;white-space:nowrap}.coach__athlete-pie{align-items:center;display:flex;flex:1 1;justify-content:center;padding:4px 0 2px}.coach__athlete-pie-chart{max-width:140px;width:100%}.coach__athlete-badges{display:flex;flex-wrap:wrap;gap:8px}.coach__badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px}.coach__badge--mood{background:var(--c-orange-100);color:var(--warning);font-size:16px;padding:4px 10px}.coach__athlete-unshared{color:var(--color-text-secondary);flex-basis:100%;font-size:11px;font-style:italic}.coach__team-bar{align-items:center;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.coach__team-bar::-webkit-scrollbar{display:none}.coach__team-chip{background:#0000;border:1.5px solid var(--border);border-radius:50px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s;white-space:nowrap}.coach__team-chip--active{border-color:#0000;font-weight:700}.coach__team-manage-btn{background:#0000;border:1.5px solid var(--border-wine);border-radius:50px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:500;margin-left:auto;padding:8px 16px;white-space:nowrap}.coach__team-error{color:var(--danger);font-size:13px;margin:0 0 8px}.coach__athlete-detail{background:var(--color-pink-light);border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:10px 12px}.coach__athlete-detail-note{color:var(--color-text-primary);font-size:12px;line-height:1.4;margin:0}.coach__athlete-detail-note strong{font-weight:700}.coach__athlete-detail-locked{color:var(--color-text-secondary);font-size:12px;font-style:italic;margin:0}.coach__athlete-teams{display:flex;flex-wrap:wrap;gap:6px}.coach__team-tag{align-items:center;border:1px solid;border-radius:12px;display:inline-flex;font-size:11px;font-weight:600;padding:3px 9px}@media (min-width:480px){.coach{padding-left:24px;padding-right:24px}}@media (min-width:768px){.coach{padding-left:40px;padding-right:40px}}.coach__add-btn{align-items:center;background:#0000;border:2px dashed var(--c-purple-200);border-radius:16px;color:var(--color-primary);cursor:pointer;display:flex;font-family:inherit;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:background .2s,border-color .2s;width:100%}.coach__add-btn:hover{background:color-mix(in srgb,var(--mental) 5%,#0000);border-color:var(--color-primary)}.coach__modal-overlay{align-items:flex-end;background:color-mix(in srgb,var(--c-black) 40%,#0000);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.coach__modal{background:var(--bg);border-radius:24px 24px 0 0;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;max-width:480px;padding:24px 24px 36px;width:100%}.coach__modal-header{align-items:center;display:flex;justify-content:space-between}.coach__modal-title{color:var(--color-text-primary);font-size:18px;font-weight:700;margin:0}.coach__modal-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:18px;padding:4px}.coach__modal-sub{color:var(--color-text-secondary);font-size:14px;margin:0}.coach__modal-row{display:flex;gap:8px}.coach__modal-input{background:var(--surface);border:1px solid var(--border-wine);border-radius:12px;box-sizing:border-box;color:var(--color-text-primary);flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:13px 16px}.coach__modal-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--mental) 10%,#0000)}.coach__modal-search-btn{background:var(--color-primary);border:none;border-radius:12px;color:var(--c-white);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:13px 18px;white-space:nowrap}.coach__modal-search-btn:disabled{opacity:.6}.coach__modal-error{color:var(--color-secondary);font-size:13px;margin:0;text-align:center}.coach__modal-found{align-items:center;background:var(--surface);border-radius:14px;display:flex;gap:14px;padding:14px 16px}.coach__modal-avatar{align-items:center;background:var(--color-primary);border-radius:50%;color:var(--c-white);display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:44px;justify-content:center;width:44px}.coach__modal-found-name{color:var(--color-text-primary);font-size:15px;font-weight:700;margin:0}.coach__modal-found-email{color:var(--color-text-secondary);font-size:12px;margin:2px 0 0}.coach__modal-dates{display:flex;flex-direction:column;gap:10px}.coach__modal-date-group{display:flex;flex-direction:column;gap:6px}.coach__modal-label{color:var(--color-text-primary);font-size:13px;font-weight:600}.coach__modal-actions{display:flex;gap:10px;margin-top:4px}.coach__modal-cancel{background:none;border:1px solid var(--border-wine);border-radius:12px;color:var(--color-text-secondary);flex:1 1;font-size:14px;font-weight:600}.coach__modal-cancel,.coach__modal-confirm{cursor:pointer;font-family:inherit;padding:14px}.coach__modal-confirm{background:var(--color-primary);border:none;border-radius:12px;color:var(--c-white);flex:2 1;font-size:15px;font-weight:700}.coach__modal-confirm:disabled{opacity:.6}.coach-teams{background-color:var(--color-pink-light);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 80px);padding:16px 16px 20px}.coach-teams__error{color:var(--danger);font-size:13px;margin:0}.coach-teams__section{background:var(--surface);border-radius:16px;padding:16px}.coach-teams__section-title{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 10px}.coach-teams__input{background:var(--surface);border:1px solid var(--border-wine);border-radius:12px;box-sizing:border-box;color:var(--color-text-primary);flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:13px 16px}.coach-teams__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,#0000)}.coach__team-create{background:var(--surface);border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px}.coach__team-create-label{color:var(--color-text-primary);font-size:13px;font-weight:600;margin:0}.coach__team-create-row{display:flex;gap:8px}.coach__team-create-btn{background:var(--color-primary);border:none;border-radius:12px;color:var(--c-white);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:14px;font-weight:600;padding:13px 18px;white-space:nowrap}.coach__team-create-btn:disabled{cursor:default;opacity:.45}.coach__team-swatches{display:flex;flex-wrap:wrap;gap:8px}.coach__team-swatch{border:2.5px solid #0000;border-radius:50%;cursor:pointer;flex-shrink:0;height:28px;outline:none;transition:transform .12s,border-color .12s;width:28px}.coach__team-swatch--selected{border-color:var(--color-text-primary);transform:scale(1.18)}.coach__team-list{display:flex;flex-direction:column}.coach__team-list-empty{color:var(--color-text-secondary);font-size:14px;padding:12px 0;text-align:center}.coach__team-row{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:13px 0}.coach__team-row:last-child{border-bottom:none}.coach__team-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.coach__team-row-name{color:var(--color-text-primary);flex:1 1;font-size:15px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach__team-count{background:var(--c-purple-50);border-radius:20px;font-size:12px;padding:2px 8px}.coach__team-count,.coach__team-row-btn{color:var(--color-text-secondary);flex-shrink:0;white-space:nowrap}.coach__team-row-btn{background:#0000;border:1px solid var(--border-wine);border-radius:10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:6px 12px}.coach__team-delete-btn{background:none;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-size:16px;line-height:1;padding:4px 6px}.coach__team-delete-btn:hover{background:var(--danger-bg);color:var(--danger)}.coach__team-confirm{align-items:center;color:var(--color-text-primary);display:flex;flex:1 1;flex-wrap:wrap;font-size:13px;gap:8px}.coach__team-confirm-text{flex:1 1;font-size:13px;min-width:0}.coach__team-confirm-cancel{background:#0000;border:1px solid var(--border-wine);border-radius:8px;color:var(--color-text-secondary)}.coach__team-confirm-cancel,.coach__team-confirm-delete{cursor:pointer;font-family:inherit;font-size:13px;padding:5px 10px;white-space:nowrap}.coach__team-confirm-delete{background:var(--danger);border:none;border-radius:8px;color:var(--c-white);font-weight:600}.coach-teams__member-head{align-items:center;display:flex;gap:10px;margin-bottom:12px}.coach__team-back-btn{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:20px;line-height:1;padding:0}.coach__team-modal-team-name{align-items:center;color:var(--color-text-primary);display:flex;font-size:18px;font-weight:700;gap:8px}.coach__team-modal-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.coach__team-member-list{display:flex;flex-direction:column}.coach__team-member-list-empty{color:var(--color-text-secondary);font-size:14px;padding:12px 0;text-align:center}.coach__team-member-row{align-items:center;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:12px;padding:11px 0}.coach__team-member-row:last-child{border-bottom:none}.coach__team-member-avatar{align-items:center;border-radius:50%;color:var(--c-white);display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:38px;justify-content:center;width:38px}.coach__team-member-info{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.coach__team-member-name{color:var(--color-text-primary);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach__team-member-sub{color:var(--color-text-secondary);font-size:12px}.coach__team-member-check{align-items:center;background:#0000;border:2px solid var(--border-wine);border-radius:50%;color:var(--c-white);display:flex;flex-shrink:0;font-size:13px;height:24px;justify-content:center;transition:background .15s,border-color .15s;width:24px}.coach__team-member-check--on{background:var(--color-primary);border-color:var(--color-primary)}.cs{background-color:var(--color-pink-light);box-sizing:border-box;display:flex;flex-direction:column;gap:14px;min-height:calc(100vh - 80px);padding:12px 16px 24px}.cs__topbar{gap:10px}.cs__back,.cs__topbar{align-items:center;display:flex}.cs__back{background:var(--c-white);border:none;border-radius:50%;box-shadow:0 2px 8px color-mix(in srgb,var(--c-black) 6%,#0000);color:var(--color-text-primary);cursor:pointer;flex-shrink:0;height:40px;justify-content:center;width:40px}.cs__topbar-title{color:var(--color-text-secondary);font-size:14px;font-weight:600}.cs__hero{background:var(--c-white);border-radius:20px;box-shadow:0 2px 12px color-mix(in srgb,var(--c-black) 6%,#0000);gap:14px;padding:16px}.cs__avatar,.cs__hero{align-items:center;display:flex}.cs__avatar{border-radius:50%;color:var(--c-white);flex-shrink:0;font-size:18px;font-weight:800;height:56px;justify-content:center;width:56px}.cs__hero-info{display:flex;flex:1 1;flex-direction:column;gap:3px;min-width:0}.cs__name{color:var(--color-text-primary);font-size:20px;font-weight:800;margin:0}.cs__phase{font-size:13px;font-weight:600}.cs__hero-mood{flex-shrink:0;font-size:28px;line-height:1}.cs__chips{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.cs__chip{align-items:center;background:var(--c-white);border-radius:14px;box-shadow:0 2px 8px color-mix(in srgb,var(--c-black) 5%,#0000);display:flex;flex-direction:column;gap:3px;padding:10px 8px}.cs__chip-label{color:var(--color-text-secondary);font-size:11px}.cs__chip-value{color:var(--color-text-primary);font-size:15px;font-weight:700}.cs__suivi-band{align-items:center;background:var(--c-white);border-radius:12px;color:var(--color-text-secondary);display:flex;font-size:12px;font-weight:600;gap:8px;justify-content:space-between;padding:10px 14px}.cs__suivi-status{background:var(--c-orange-100);border-radius:20px;color:var(--warning);font-size:11px;font-weight:700;padding:3px 10px}.cs__card{background:var(--c-white);border-radius:20px;box-shadow:0 2px 12px color-mix(in srgb,var(--c-black) 6%,#0000);display:flex;flex-direction:column;gap:12px;padding:16px}.cs__card-head{align-items:center;display:flex;gap:8px;justify-content:space-between}.cs__card-title{color:var(--color-text-primary);font-size:16px;font-weight:700;margin:0}.cs__card-title--cycle{color:var(--phase-primary)}.cs__card-title--mental{color:var(--mental-primary)}.cs__card-title--sport{color:var(--sport-primary)}.cs__reliability{background:var(--color-pink-light);border-radius:20px;color:var(--color-text-secondary);font-size:12px;font-weight:700;padding:4px 10px}.cs__empty,.cs__locked{color:var(--color-text-secondary);font-size:13px;margin:0;padding:4px 0}.cs__locked{font-style:italic}.cs__pie{margin:0 auto;max-width:240px;width:100%}.cs__legend,.cs__pie{display:flex;justify-content:center}.cs__legend{flex-wrap:wrap;gap:18px}.cs__legend-item{align-items:center;color:var(--color-text-primary);display:inline-flex;font-size:13px;font-weight:600;gap:6px}.cs__legend-dot{border-radius:50%;height:10px;width:10px}.cs__estimated{font-size:12px;font-style:italic;text-align:center}.cs__estimated,.cs__phase-line{color:var(--color-text-secondary);margin:0}.cs__phase-line{font-size:13px}.cs__week{display:flex;gap:4px;justify-content:space-between}.cs__week-day{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:5px}.cs__week-label{color:var(--color-text-secondary);font-size:11px}.cs__week-num{align-items:center;border-radius:50%;color:var(--color-text-primary);display:flex;font-size:14px;font-weight:600;height:30px;justify-content:center;width:30px}.cs__week-num--today{background:var(--color-primary);color:var(--c-white)}.cs__week-dot{border-radius:50%;height:7px;width:7px}.cs__metrics{align-items:flex-end;display:flex;gap:12px}.cs__metric{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px}.cs__metric-bar-track{align-items:flex-end;background:var(--color-pink-light);border-radius:10px;display:flex;height:90px;overflow:hidden;width:100%}.cs__metric-bar{border-radius:10px 10px 0 0;min-height:3px;transition:height .4s ease;width:100%}.cs__metric-value{font-size:16px;font-weight:800}.cs__metric-label{color:var(--color-text-secondary);font-size:11px;text-align:center}.cs__sport-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.cs__sport-stat{align-items:center;background:var(--color-pink-light);border-radius:14px;display:flex;flex-direction:column;gap:4px;padding:12px 8px}.cs__sport-stat-label{color:var(--color-text-secondary);font-size:11px}.cs__sport-stat-value{color:var(--color-text-primary);font-size:20px;font-weight:800}.cs__sport-stat-value small{font-size:11px;font-weight:600;opacity:.7}.cs__notes{gap:10px}.cs__note,.cs__notes{display:flex;flex-direction:column}.cs__note{background:var(--color-pink-light);border-radius:12px;gap:6px;padding:10px 12px}.cs__note-tag{align-self:flex-start;border-radius:20px;font-size:11px;font-weight:700;padding:3px 10px}.cs__note-text{color:var(--color-text-primary);font-size:13px;line-height:1.45;margin:0}.cs__teams{display:flex;flex-wrap:wrap;gap:8px}.cs__team-tag{align-items:center;border:1px solid;border-radius:14px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px}@media (min-width:480px){.cs{padding-left:24px;padding-right:24px}}@media (min-width:768px){.cs{padding-left:40px;padding-right:40px}}.cal-page{background:var(--color-background);min-height:100vh;padding:70px 0 calc(66px + var(--footer-height))}.cal-page .page-header{background:var(--color-white);border-bottom:1px solid var(--color-border);top:0;z-index:30}.cal-page .page-header,.cal-page__filters{box-sizing:border-box;left:50%;max-width:390px;padding:10px 16px;position:fixed;transform:translateX(-50%);width:100%}.cal-page__filters{background:var(--color-background);border-top:1px solid var(--color-border);bottom:var(--footer-height);display:flex;gap:8px;z-index:95}.cal-page__filter-btn{background:var(--color-background);border:none;border-radius:50px;color:var(--color-text-secondary);cursor:pointer;flex:1 1;font-family:inherit;font-size:13px;font-weight:500;padding:9px 0;transition:all .15s}.cal-page__filter-btn--active{background:var(--color-primary);color:var(--c-white);font-weight:600}.cal-page__legend{align-items:center;display:flex;flex-wrap:wrap;gap:14px;padding:10px 16px}.cal-page__legend-item{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;gap:5px}.cal-page__legend-dot{border-radius:50%;display:inline-block;flex-shrink:0;height:10px;width:10px}.cal-page__loading{color:var(--color-text-secondary);padding:2rem;text-align:center}.cal-page__months{display:flex;flex-direction:column;gap:16px;padding:12px 8px}.cal-page__month{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:0 2px 8px color-mix(in srgb,var(--c-black) 6%,#0000);padding:14px 10px}.cal-page__month-title{color:var(--color-primary);font-size:15px;font-weight:700;margin:0 0 10px}.cal-page__grid-header{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}.cal-page__grid-header span{color:var(--color-text-secondary);font-size:11px;font-weight:600;padding:2px 0 6px;text-align:center}.cal-page__grid{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(7,1fr)}.cal-page__cell{-webkit-tap-highlight-color:transparent;align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:3px;padding:0}.cal-page__cell:active .cal-page__cell-rings-wrap{transform:scale(.9)}.cal-page__cell-rings-wrap{transition:transform .12s}.cal-page__cell--empty{background:#0000}.cal-page__cell-rings-wrap{aspect-ratio:1;position:relative;width:100%}.cal-page__cell-rings{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.cal-page__cell-num{color:var(--color-text-primary);font-size:13px;font-weight:600;line-height:1}.cal-page__cell--today .cal-page__cell-rings-wrap{background:color-mix(in srgb,var(--color-primary) 12%,#0000);border-radius:50%}.cal-page__cell--today .cal-page__cell-num{color:var(--color-primary);font-weight:700}.cal-page__day-overlay{align-items:flex-end;background:color-mix(in srgb,var(--c-black) 35%,#0000);display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.cal-page__day-modal{background:var(--c-white);border-radius:20px 20px 0 0;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;max-height:82vh;max-width:390px;padding:20px 20px max(28px,env(safe-area-inset-bottom,0px));width:100%}.cal-page__day-modal-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.cal-page__day-modal-date{color:var(--color-text-primary);font-size:16px;font-weight:700}.cal-page__day-modal-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;font-size:17px;line-height:1;padding:4px}.cal-page__day-modal-body{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto}.cal-page__day-section{display:flex;flex-direction:column;gap:8px}.cal-page__day-section-title{align-items:center;display:flex;font-size:14px;font-weight:700;gap:6px;margin:0}.cal-page__day-rows{display:flex;flex-direction:column;gap:7px}.cal-page__day-row{align-items:baseline;color:var(--color-text-primary);display:flex;font-size:13px;gap:14px;justify-content:space-between}.cal-page__day-row span:first-child{color:var(--color-text-secondary);flex-shrink:0}.cal-page__day-row span:last-child{font-weight:500;text-align:right}.cal-page__day-note{border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:12px;font-style:italic;margin:2px 0 0;padding-top:8px}.cal-page__day-empty{color:var(--color-text-secondary);font-size:13px;margin:0}.cal-page__day-modal-btn{background:var(--color-primary);border:none;border-radius:12px;color:var(--c-white);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:15px;font-weight:600;padding:14px;width:100%}@media (min-width:480px){.cal-page .page-header,.cal-page__day-modal,.cal-page__filters{max-width:480px}}@media (min-width:768px){.cal-page .page-header,.cal-page__day-modal,.cal-page__filters{max-width:600px}}@media (min-width:1024px){.cal-page .page-header,.cal-page__day-modal,.cal-page__filters{max-width:680px}}.admin-page{--ap-bg:#f1f5f9;--ap-surface:#fff;--ap-text:#111827;--ap-muted:#6b7280;--ap-border:#e5e7eb;--ap-blue:#2563eb;--ap-orange:#ea580c;--ap-yellow:#d97706;--ap-red:#dc2626;background:var(--ap-bg);box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif;min-height:100vh;padding:24px}.admin-page__inner{margin:0 auto;max-width:1100px}.admin-page__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.admin-page__title{color:var(--ap-text);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.admin-page__logout{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:8px;color:var(--ap-muted);cursor:pointer;font-size:13px;font-weight:500;padding:7px 16px;transition:border-color .15s,color .15s}.admin-page__logout:hover{border-color:var(--ap-red);color:var(--ap-red)}.admin-page__error{color:var(--ap-red);font-size:14px}.admin-page__loading{color:var(--ap-muted);font-size:14px}.admin-page__notice{background:#fef9c3;border:1px solid #fde68a;border-radius:8px;color:var(--ap-text);font-size:14px;margin-bottom:16px;padding:10px 14px}.admin-page__notice--muted{background:none;border:none;color:var(--ap-muted);font-size:12px;margin-bottom:12px;padding:0}.admin-lookup{display:flex;gap:8px;margin-bottom:10px}.admin-lookup__input{border:1px solid var(--ap-border);border-radius:8px;color:var(--ap-text);flex:1 1;font-size:14px;padding:8px 12px}.admin-lookup__button{background:var(--ap-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;white-space:nowrap}.admin-lookup__button:hover{opacity:.9}.admin-lookup__button--danger{background:var(--ap-red)}.admin-lookup__button:disabled{cursor:not-allowed;opacity:.4}.admin-lookup__button:disabled:hover{opacity:.4}.admin-lookup__result{margin-top:10px}.admin-lookup__result .admin-lookup{margin-bottom:0;margin-top:12px}.admin-lookup__actions{display:flex;gap:8px;margin-top:10px}.admin-section{margin-bottom:32px}.admin-section__title{color:var(--ap-muted);font-size:11px;font-weight:700;letter-spacing:.08em;margin:0 0 12px 2px;text-transform:uppercase}.admin-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:16px}.admin-card{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:12px;box-shadow:0 1px 3px #00000012;padding:16px 16px 14px}.admin-card__value{color:var(--ap-text);font-size:26px;font-weight:700;line-height:1;margin-bottom:6px}.admin-card__value--blue{color:var(--ap-blue)}.admin-card__value--orange{color:var(--ap-orange)}.admin-card__value--yellow{color:var(--ap-yellow)}.admin-card__value--red{color:var(--ap-red)}.admin-card__label{color:var(--ap-muted);font-size:12px;line-height:1.3}.admin-token{background:var(--ap-bg);border:1px solid var(--ap-border);border-radius:8px;color:var(--ap-text);display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;margin-top:10px;padding:10px 12px;-webkit-user-select:all;user-select:all;word-break:break-all}.admin-distributions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.admin-distribution{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:12px;box-shadow:0 1px 3px #00000012;padding:14px 16px}.admin-distribution__title{color:var(--ap-text);font-size:12px;font-weight:600;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.admin-distribution__list{list-style:none;margin:0;padding:0}.admin-distribution__row{align-items:center;border-bottom:1px solid var(--ap-border);color:var(--ap-text);display:flex;font-size:13px;justify-content:space-between;padding:5px 0}.admin-distribution__row:last-child{border-bottom:none}.admin-distribution__count{color:var(--ap-blue);font-weight:600;min-width:28px;text-align:right}.admin-distribution__empty{color:var(--ap-muted);font-size:13px}.admin-lookup--wrap{flex-wrap:wrap}.admin-lookup--wrap .admin-lookup__input{flex:1 1 160px;min-width:140px}.admin-audit-table-wrap{background:var(--ap-surface);border:1px solid var(--ap-border);border-radius:12px;box-shadow:0 1px 3px #00000012;overflow-x:auto}.admin-audit-table{border-collapse:collapse;font-size:13px;width:100%}.admin-audit-table td,.admin-audit-table th{border-bottom:1px solid var(--ap-border);padding:10px 14px;text-align:left;white-space:nowrap}.admin-audit-table th{color:var(--ap-muted);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.admin-audit-table tbody tr:last-child td{border-bottom:none}.admin-audit-pagination{align-items:center;display:flex;gap:14px;justify-content:center;margin-top:12px}.admin-audit-pagination .admin-lookup__button:disabled{cursor:not-allowed;opacity:.4}.admin-thread{display:flex;flex-direction:column;gap:8px;margin-top:12px}.admin-thread__msg{border-radius:12px;max-width:85%;padding:10px 12px}.admin-thread__msg--user{align-self:flex-start;background:var(--ap-bg)}.admin-thread__msg--admin{align-self:flex-end;background:var(--ap-surface);border:1px solid var(--ap-border)}.admin-thread__author{color:var(--ap-muted);font-size:11px;margin:0 0 4px}.admin-thread__body{color:var(--ap-text);font-size:13px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.blogs-page{background:#f7e9f1;background:var(--bg,#f7e9f1);box-sizing:border-box;min-height:100vh;padding:24px 16px 64px}.blogs-page__inner{margin:0 auto;max-width:760px}.blogs-page__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.blogs-page__title{color:#5b4de5;color:var(--color-primary,#5b4de5);font-size:24px;font-weight:700;margin:0}.blogs-page__header-actions{align-items:center;display:flex;gap:8px}.blogs-page__back,.blogs-page__logout{background:none;border:1px solid #e5e0ea;border:1px solid var(--color-border,#e5e0ea);border-radius:10px;color:#6c757d;color:var(--color-text-secondary,#6c757d);cursor:pointer;font-family:inherit;font-size:13px;padding:8px 14px;white-space:nowrap}.blogs-page__back{border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.blogs-page__error{background:#fdecef;border-radius:10px;color:#c62740;font-size:14px;margin:0 0 14px;padding:10px 14px}.blogs-page__notice{color:#6c757d;color:var(--color-text-secondary,#6c757d);font-size:14px;margin:0 0 14px}.blogs-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.blogs-toggle__count{background:#0000000f;border-radius:50px;display:inline-block;font-size:11px;line-height:17px;min-width:18px;padding:0 5px;text-align:center}.blogs-toggle__btn--active .blogs-toggle__count{background:#f7e9f1;background:var(--c-pink-100,#f7e9f1)}.blogs-badge{border-radius:50px;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;padding:2px 8px;vertical-align:middle}.blogs-badge--brouillon{background:#00000012;color:#6c757d;color:var(--c-gray-700,#6c757d)}.blogs-badge--avenir{background:#ffac322e;color:#a86a00}.blogs-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.blogs-list__row{align-items:center;background:#fff;background:var(--surface,#fff);border-radius:14px;box-shadow:0 2px 8px #0000000d;display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.blogs-list__main{display:flex;flex-direction:column;gap:4px;min-width:0}.blogs-list__title{color:#1a1a2e;color:var(--c-ink-900,#1a1a2e);font-size:15px;font-weight:600}.blogs-list__meta{color:#6c757d;color:var(--color-text-secondary,#6c757d);font-size:12px}.blogs-list__actions{display:flex;flex-shrink:0;gap:8px}.blogs-btn{background:#fff;background:var(--surface,#fff);border:1px solid #e5e0ea;border:1px solid var(--color-border,#e5e0ea);border-radius:10px;color:#1a1a2e;color:var(--c-ink-900,#1a1a2e);cursor:pointer;font-size:13px;padding:8px 14px;transition:background .15s,opacity .15s}.blogs-btn:hover{background:#f4f0f8}.blogs-btn:disabled{cursor:default;opacity:.6}.blogs-btn--primary{border-color:#5b4de5;border-color:var(--color-primary,#5b4de5);color:#fff}.blogs-btn--primary,.blogs-btn--primary:hover{background:#5b4de5;background:var(--color-primary,#5b4de5)}.blogs-btn--primary:hover{opacity:.9}.blogs-btn--danger{border-color:#f3c9d1;color:#c62740}.blogs-btn--danger:hover{background:#fdecef}.blogs-form{background:#fff;background:var(--surface,#fff);border-radius:16px;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column;gap:16px;padding:20px}.blogs-form__heading{color:#1a1a2e;color:var(--c-ink-900,#1a1a2e);font-size:18px;font-weight:700;margin:0}.blogs-form__head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.blogs-toggle{background:#f7e9f1;background:var(--c-pink-100,#f7e9f1);border-radius:50px;display:flex;gap:4px;padding:3px}.blogs-toggle__btn{background:#0000;border:none;border-radius:50px;color:#6c757d;color:var(--c-gray-700,#6c757d);cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:7px 16px;transition:background .15s,color .15s}.blogs-toggle__btn--active{background:#fff;color:#5b4de5;color:var(--c-purple-500,#5b4de5)}.blogs-preview{align-items:center;display:flex;flex-direction:column;gap:10px}.blogs-preview__frame{background:#f7e9f1;background:var(--c-pink-100,#f7e9f1);border:1px solid #e7e6ee;border:1px solid var(--c-gray-200,#e7e6ee);border-radius:20px;max-width:390px;overflow:hidden;width:100%}.blogs-preview__hint{color:#6c757d;color:var(--c-gray-700,#6c757d);font-size:12px;margin:0;text-align:center}.blogs-field{display:flex;flex-direction:column;gap:6px}.blogs-field-row{display:flex;flex-wrap:wrap;gap:16px}.blogs-field-row .blogs-field{flex:1 1;min-width:140px}.blogs-field__label{color:#1a1a2e;color:var(--c-ink-900,#1a1a2e);font-size:13px;font-weight:600}.blogs-field__hint{color:#6c757d;color:var(--color-text-secondary,#6c757d);font-size:12px;line-height:1.45}.blogs-image-preview{aspect-ratio:16/9;background:#f4f0f8;border-radius:10px;margin-top:4px;max-width:320px;object-fit:cover}.blogs-image-preview,.blogs-input{border:1px solid #e5e0ea;border:1px solid var(--color-border,#e5e0ea);width:100%}.blogs-input{background:#fff;border-radius:10px;box-sizing:border-box;color:#1a1a2e;color:var(--c-ink-900,#1a1a2e);font-family:inherit;font-size:14px;padding:10px 12px}.blogs-input:focus{border-color:#5b4de5;border-color:var(--color-primary,#5b4de5);outline:none}textarea.blogs-input{resize:vertical}.blogs-checkbox{align-items:center;color:#1a1a2e;color:var(--c-ink-900,#1a1a2e);cursor:pointer;display:flex;font-size:14px;gap:8px}.blogs-chips{display:flex;flex-wrap:wrap;gap:8px}.blogs-chip{background:#fff;border:1px solid #e5e0ea;border:1px solid var(--color-border,#e5e0ea);border-radius:50px;color:#6c757d;color:var(--color-text-secondary,#6c757d);cursor:pointer;font-size:13px;padding:6px 14px}.blogs-chip--active{background:color-mix(in srgb,#5b4de5 12%,#0000);background:color-mix(in srgb,var(--color-primary,#5b4de5) 12%,#0000);border-color:#5b4de5;border-color:var(--color-primary,#5b4de5);color:#5b4de5;color:var(--color-primary,#5b4de5);font-weight:600}.blogs-sections__label{margin-top:4px}.blogs-section{background:#faf8fc;border:1px solid #e5e0ea;border:1px solid var(--color-border,#e5e0ea);border-radius:12px;display:flex;flex-direction:column;gap:10px;padding:14px}.blogs-section__head{align-items:center;display:flex;gap:8px}.blogs-section__titre{flex:1 1}.blogs-section__type{flex-shrink:0;width:auto}.blogs-bloc__type{color:#5b4de5;color:var(--color-primary,#5b4de5);flex:1 1;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.blogs-bloc__move{display:flex;flex-shrink:0;gap:4px}.blogs-bloc__move .blogs-btn{line-height:1;padding:6px 10px}.blogs-items{display:flex;flex-direction:column;gap:10px}.blogs-item{align-items:flex-start;display:flex;gap:8px}.blogs-item__num{color:#5b4de5;color:var(--color-primary,#5b4de5);font-weight:700;padding-top:10px}.blogs-item__fields{display:flex;flex:1 1;flex-direction:column;gap:6px}.blogs-sections__add{display:flex;flex-wrap:wrap;gap:8px}.blogs-form__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:8px}.blogs-form__autosave{color:#6c757d;color:var(--color-text-secondary,#6c757d);font-size:12px;margin-right:auto}.blogs-form__schedule-hint{margin-top:-4px;text-align:right}.blogs-draft-banner{align-items:center;background:#ffac321f;border:1px solid #ffac3273;border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 14px}.blogs-draft-banner__text{color:#1a1a2e;color:var(--c-ink-900,#1a1a2e);font-size:13px}.blogs-draft-banner__actions{display:flex;flex-wrap:wrap;gap:8px}.sv-root{--sv-primary:#5b4de5;--sv-primary-soft:color-mix(in srgb,var(--sv-primary) 12%,#0000);--sv-bg:#f7e9f1;--sv-surface:#fff;--sv-text:#1a1a2e;--sv-muted:#6c757d;--sv-border:#e5e7eb;--sv-danger:#e10c3c;-webkit-font-smoothing:antialiased;color:var(--sv-text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:640px;padding:16px 16px 48px}.sv-root,.sv-root *,.sv-root :after,.sv-root :before{box-sizing:border-box}.sv-header{background:var(--sv-bg);padding:8px 0 12px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.sv-progress{background:#fff;border-radius:50px;box-shadow:inset 0 0 0 1px var(--sv-border);height:6px;overflow:hidden}.sv-progress-fill{background:var(--sv-primary);border-radius:50px;height:100%;transition:width .3s ease}.sv-step{color:var(--sv-muted);font-size:12px;font-weight:600;margin-top:10px}.sv-title{color:var(--sv-primary);font-size:24px;font-weight:700;margin:2px 0 0}.sv-intro{color:var(--sv-muted);font-size:14px;line-height:1.5;margin:8px 0 0}.sv-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}.sv-card{background:var(--sv-surface);border-radius:16px;box-shadow:0 2px 8px #0000000f;padding:16px}.sv-q.has-error{box-shadow:0 0 0 2px var(--sv-danger)}.sv-label{display:block;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:12px}.sv-field-error,.sv-req{color:var(--sv-danger)}.sv-field-error{font-size:13px;margin-top:10px}.sv-scale-btns{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(5,1fr)}.sv-scale-btn{background:#fff;border:2px solid var(--sv-border);border-radius:12px;color:var(--sv-text);cursor:pointer;font-size:18px;font-weight:700;min-height:56px;transition:all .15s ease}.sv-scale-btn.is-active,.sv-scale-btn:hover{border-color:var(--sv-primary)}.sv-scale-btn.is-active{background:var(--sv-primary);color:#fff}.sv-scale-ends{color:var(--sv-muted);display:flex;font-size:12px;justify-content:space-between;margin-top:8px}.sv-options{display:flex;flex-wrap:wrap;gap:8px}.sv-chip{background:#fff;border:2px solid var(--sv-border);border-radius:50px;color:var(--sv-text);cursor:pointer;font-size:14px;font-weight:500;min-height:44px;padding:10px 16px;transition:all .15s ease}.sv-chip.is-active,.sv-chip:hover{border-color:var(--sv-primary)}.sv-chip.is-active{background:var(--sv-primary);color:#fff}.sv-branch{display:flex;flex-direction:column;gap:10px}.sv-branch-btn{background:#fff;border:2px solid var(--sv-border);border-radius:12px;color:var(--sv-text);cursor:pointer;font-size:16px;font-weight:600;min-height:60px;transition:all .15s ease}.sv-branch-btn.is-active,.sv-branch-btn:hover{border-color:var(--sv-primary)}.sv-branch-btn.is-active{background:var(--sv-primary-soft);color:var(--sv-primary)}.sv-na{background:#fff;border:2px dashed var(--sv-border);border-radius:12px;color:var(--sv-muted);cursor:pointer;font-size:14px;margin-top:12px;min-height:44px;padding:8px 12px;width:100%}.sv-na.is-active{background:var(--sv-primary-soft);border-color:var(--sv-primary);border-style:solid;color:var(--sv-primary)}.sv-na:disabled{cursor:not-allowed;opacity:.7}.sv-text,.sv-textarea{background:#fff;border:2px solid var(--sv-border);border-radius:12px;color:var(--sv-text);font-family:inherit;font-size:14px;margin-top:8px;padding:12px;width:100%}.sv-textarea{resize:vertical}.sv-text:focus,.sv-textarea:focus{border-color:var(--sv-primary);outline:none}.sv-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:8px}.sv-back{background:none;color:var(--sv-muted);font-size:15px;padding:12px}.sv-back,.sv-next{border:none;cursor:pointer}.sv-next{background:var(--sv-primary);border-radius:12px;box-shadow:0 8px 20px color-mix(in srgb,var(--sv-primary) 30%,#0000);color:#fff;flex:1 1;font-size:16px;font-weight:700;max-width:320px;min-height:52px}.sv-next:disabled{cursor:default;opacity:.6}.sv-error{color:var(--sv-danger)}.sv-thanks{padding:40px 20px;text-align:center}.sv-thanks-emoji{font-size:48px}.sv-thanks h2{color:var(--sv-primary);font-size:22px;margin:12px 0 8px}.sv-thanks p{color:var(--sv-muted);line-height:1.5}@media (max-width:380px){.sv-scale-btn{font-size:16px;min-height:48px}}
/*# sourceMappingURL=main.6ce0b813.css.map*/