.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);min-height:var(--min-touch-target);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius);font-size:var(--font-base);font-weight:500;text-decoration:none;transition:background-color .2s,transform .1s;white-space:nowrap}.btn:active{transform:scale(.98)}.btn--primary{background-color:var(--color-primary);color:#fff}.btn--primary:hover{background-color:var(--color-primary-hover)}.btn--secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn--secondary:hover{background-color:var(--color-primary-light)}.btn--danger{background-color:var(--color-danger);color:#fff}.btn--danger:hover{background-color:#b91c1c}.btn--full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.btn{padding:var(--spacing-sm) var(--spacing-md)}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-sm);font-weight:500;color:var(--color-text)}.form-input{min-height:var(--min-touch-target);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);color:var(--color-text);transition:border-color .2s}.form-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-input--error{border-color:var(--color-danger)}.form-error{font-size:var(--font-sm);color:var(--color-danger)}.form-hint{font-size:var(--font-sm);color:var(--color-text-secondary)}.alert{padding:var(--spacing-md);border-radius:var(--radius);margin-bottom:var(--spacing-md)}.alert--error{background-color:var(--color-danger-light);color:var(--color-danger);border:1px solid #fecaca}.alert--success{background-color:#dcfce7;color:var(--color-success);border:1px solid #bbf7d0}.alert--warning{background-color:#fef3c7;color:var(--color-warning);border:1px solid #fde68a}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card--interactive{transition:box-shadow .2s}.card--interactive:hover{box-shadow:var(--shadow)}@media (max-width: 768px){.card{padding:var(--spacing-md)}}.badge{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);border-radius:999px;font-size:var(--font-sm);font-weight:500}.badge--danger{background-color:var(--color-danger-light);color:var(--color-danger)}.badge--warning{background-color:#fef3c7;color:var(--color-warning)}.badge--success{background-color:#dcfce7;color:var(--color-success)}.phone-input{display:flex;position:relative;border:1px solid var(--color-border);border-radius:var(--radius);overflow:visible;transition:border-color .2s}.phone-input:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.phone-input__country-btn{display:flex;align-items:center;gap:4px;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:none;border-right:1px solid var(--color-border);cursor:pointer;min-height:var(--min-touch-target);white-space:nowrap;transition:background-color .2s}.phone-input__country-btn:hover{background-color:var(--color-primary-light)}.phone-input__flag{font-size:1.25rem}.phone-input__dial{font-size:var(--font-sm);color:var(--color-text-secondary);font-weight:500}.phone-input__arrow{font-size:.7rem;color:var(--color-text-secondary)}.phone-input__number{flex:1;min-height:var(--min-touch-target);padding:var(--spacing-sm) var(--spacing-md);border:none;background:var(--color-surface);color:var(--color-text);font-size:var(--font-base);outline:none}.phone-input__dropdown{position:absolute;top:calc(100% + 4px);left:0;width:280px;max-height:300px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;display:flex;flex-direction:column;animation:slideDown .15s ease-out}.phone-input__search{padding:var(--spacing-sm) var(--spacing-md);border:none;border-bottom:1px solid var(--color-border);font-size:var(--font-sm);outline:none}.phone-input__list{list-style:none;overflow-y:auto;max-height:240px}.phone-input__option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;cursor:pointer;min-height:var(--min-touch-target);text-align:left;transition:background-color .15s}.phone-input__option:hover{background-color:var(--color-primary-light)}.phone-input__option--selected{background-color:var(--color-primary-light);font-weight:500}.phone-input__option-name{flex:1;font-size:var(--font-sm)}.phone-input__option-dial{font-size:var(--font-sm);color:var(--color-text-secondary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.phone-input__dropdown{width:100%;right:0}}.skeleton{background:linear-gradient(90deg,var(--color-border) 25%,#f1f5f9 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:var(--spacing-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-card{padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-card__header{display:flex;gap:var(--spacing-md);align-items:flex-start}.skeleton-card__text{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.password-input__wrapper{position:relative;display:flex}.password-input__field{flex:1;padding-right:48px!important}.password-input__toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;padding:4px;line-height:1}.password-strength{margin-top:var(--spacing-xs);display:flex;flex-direction:column;gap:var(--spacing-xs)}.password-strength__bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.password-strength__fill{height:100%;border-radius:2px;transition:width .3s,background-color .3s}.password-strength__label{font-size:var(--font-sm);font-weight:500}.password-strength__checks{list-style:none;display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md);font-size:var(--font-sm);color:var(--color-text-secondary)}.password-strength__check--met{color:var(--color-success)}.logo{border-radius:var(--radius-lg);object-fit:contain;display:block}.lang-switcher{display:flex;gap:2px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border)}.lang-switcher__btn{padding:4px 10px;border:none;background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--font-sm);cursor:pointer;transition:background-color .2s,color .2s;min-height:32px}.lang-switcher__btn:hover{background-color:var(--color-primary-light)}.lang-switcher__btn--active{background-color:var(--color-primary);color:#fff;font-weight:500}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-md)}.auth-card{width:100%;max-width:440px}.auth-title{font-size:var(--font-2xl);font-weight:700;margin-bottom:var(--spacing-xs)}.auth-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.auth-footer{text-align:center;margin-top:var(--spacing-lg);color:var(--color-text-secondary)}.auth-footer a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-tabs{display:flex;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border)}.auth-tab{flex:1;min-height:var(--min-touch-target);padding:var(--spacing-sm);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .2s,border-color .2s}.auth-tab:hover{color:var(--color-primary)}.auth-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0;color:var(--color-text-secondary);font-size:var(--font-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}@media (max-width: 768px){.auth-page{align-items:flex-start;padding-top:var(--spacing-xl)}}.auth-card--wide{max-width:560px}.register-fieldset{border:none;padding:0;margin:0 0 var(--spacing-lg)}.register-legend{font-size:var(--font-base);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border);width:100%;display:block}.register-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media (max-width: 768px){.register-row{grid-template-columns:1fr}.auth-card--wide{max-width:100%}}.medications-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.medications-page__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.medications-page__header-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.medications-page__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.medications-page__search-live{position:relative}.medications-page__search-live .form-group{margin-bottom:0}.medications-page__search-indicator{position:absolute;right:var(--spacing-md);top:50%;transform:translateY(-50%);font-size:var(--font-sm);color:var(--color-primary);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.medications-page__results{list-style:none;max-height:350px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.medications-page__result-item{display:flex;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);border:none;background:none;text-align:left;cursor:pointer;min-height:var(--min-touch-target);transition:background-color .15s}.medications-page__result-item:hover{background-color:var(--color-primary-light)}.medications-page__result-item+.medications-page__result-item{border-top:1px solid var(--color-border)}.medications-page__result-img{width:44px;height:44px;object-fit:cover;border-radius:var(--radius);flex-shrink:0}.medications-page__result-name{font-weight:500;display:block}.medications-page__result-lab{font-size:var(--font-sm);color:var(--color-text-secondary);display:block}.medications-page__selected-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-primary-light);border-radius:var(--radius);margin-bottom:var(--spacing-md)}.medications-page__selected-img{width:56px;height:56px;object-fit:cover;border-radius:var(--radius)}.medications-page__selected-card strong{display:block}.medications-page__selected-card p{font-size:var(--font-sm);color:var(--color-text-secondary)}.medications-page__change-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-sm);text-decoration:underline;margin-left:auto}.medications-page__dose-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.medications-page__schedule-row{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-sm)}.medications-page__schedule-row .form-input{flex:1}.medications-page__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:var(--spacing-md)}.medications-page__days{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.medications-page__day-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--color-border);background:none;font-weight:600;cursor:pointer;transition:all .15s;font-size:var(--font-sm)}.medications-page__day-btn:hover{border-color:var(--color-primary)}.medications-page__day-btn--active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.medications-page__list,.medications-page__card{display:flex;flex-direction:column;gap:var(--spacing-md)}.medications-page__card-header{display:flex;gap:var(--spacing-md);align-items:flex-start}.medications-page__card-img{width:72px;height:72px;object-fit:cover;border-radius:var(--radius);flex-shrink:0;border:1px solid var(--color-border)}.medications-page__card-info{flex:1}.medications-page__card-info h4{font-weight:600;margin-bottom:2px}.medications-page__card-dose{font-size:var(--font-lg);color:var(--color-primary);font-weight:500}.medications-page__card-lab{font-size:var(--font-sm);color:var(--color-text-secondary)}.medications-page__card-form{font-size:var(--font-sm);color:var(--color-text-secondary);font-style:italic}.medications-page__card-schedule{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);font-size:var(--font-sm)}.medications-page__card-times{background:var(--color-primary-light);color:var(--color-primary);padding:2px var(--spacing-sm);border-radius:999px;font-weight:500}.medications-page__card-days{color:var(--color-text-secondary)}.medications-page__card-dates{color:var(--color-warning)}.medications-page__card-notes{color:var(--color-text-secondary);font-style:italic;width:100%}.medications-page__card-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.medications-page__empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-secondary)}@media (max-width: 768px){.medications-page__dose-row{grid-template-columns:1fr}.medications-page__card-img{width:56px;height:56px}.medications-page__card-actions .btn{flex:1}}.medications-page__analyzing{display:flex;align-items:center;gap:var(--spacing-md);border-left:4px solid var(--color-primary);animation:fadeIn .3s ease-out}.medications-page__analyzing p{font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:2px}.medications-page__analyzing-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.medications-page__interactions{display:flex;flex-direction:column;gap:var(--spacing-md);animation:fadeIn .3s ease-out}.medications-page__interaction{border-left:4px solid var(--color-border)}.medications-page__interaction--alto{border-left-color:var(--color-danger);background-color:var(--color-danger-light)}.medications-page__interaction--medio{border-left-color:var(--color-warning);background-color:#fef3c7}.medications-page__interaction--bajo,.medications-page__interaction--ok{border-left-color:var(--color-success);background-color:#dcfce7}.medications-page__interaction-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.medications-page__interaction-badge{font-size:var(--font-sm);font-weight:600}.medications-page__interaction-rec{font-size:var(--font-sm);color:var(--color-text-secondary);font-style:italic;margin-top:var(--spacing-xs)}.notifications-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.notifications-page__tabs{display:flex;gap:var(--spacing-xs);border-bottom:2px solid var(--color-border)}.notifications-page__tab{flex:1;min-height:var(--min-touch-target);padding:var(--spacing-sm);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;text-align:center}.notifications-page__tab:hover{color:var(--color-primary)}.notifications-page__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.notifications-page__list{display:flex;flex-direction:column;gap:var(--spacing-md)}.notifications-page__item{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.notifications-page__item-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.notifications-page__time{color:var(--color-primary);font-weight:600}.notifications-page__actions{display:flex;gap:var(--spacing-sm)}.notifications-page__empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}@media (max-width: 768px){.notifications-page__item{flex-direction:column;align-items:stretch}.notifications-page__actions{flex-direction:column}}.notifications-page__dose{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);transition:opacity .2s}.notifications-page__dose--past{opacity:.5}.notifications-page__dose--confirmed{opacity:.7}.notifications-page__dose--confirmed .notifications-page__dose-time{text-decoration:line-through}.notifications-page__dose-info{display:flex;align-items:center;gap:var(--spacing-md)}.notifications-page__dose-time{font-size:var(--font-lg);font-weight:700;color:var(--color-primary);min-width:50px}.notifications-page__dose-amount{display:block;font-size:var(--font-sm);color:var(--color-text-secondary)}.notifications-page__check{width:44px;height:44px;border-radius:50%;border:2px solid var(--color-border);background:none;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.notifications-page__check:hover{border-color:var(--color-success);background:#dcfce7}.notifications-page__check--done{border-color:var(--color-success);background:var(--color-success);color:#fff}.medical-profile__desc{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:var(--font-sm)}.medical-profile__form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.medical-profile__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.medical-profile__checks{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin:var(--spacing-sm) 0}.medical-profile__checkbox{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;min-height:var(--min-touch-target)}.medical-profile__checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary)}.medical-profile__skip{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;margin-top:var(--spacing-md);text-align:center;width:100%;padding:var(--spacing-sm)}.medical-profile__skip:hover{color:var(--color-primary)}.medical-profile--onboarding{max-width:600px;margin:0 auto}@media (max-width: 768px){.medical-profile__row{grid-template-columns:1fr}.medical-profile__checks{flex-direction:column}}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.pricing-card{display:flex;flex-direction:column;padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative;background:var(--color-surface);transition:border-color .2s,box-shadow .2s}.pricing-card:hover{border-color:var(--color-primary)}.pricing-card--current{border-color:var(--color-success);background:var(--color-success-bg, rgba(34, 197, 94, .05))}.pricing-card--featured{border-color:var(--color-primary);box-shadow:0 4px 12px #00000014}.pricing-card__badge{position:absolute;top:-10px;right:var(--spacing-md);background:var(--color-primary);color:#fff;font-size:var(--font-xs);font-weight:600;padding:2px 10px;border-radius:var(--radius-sm)}.pricing-card__name{font-size:var(--font-lg);font-weight:600;margin-bottom:var(--spacing-xs)}.pricing-card__price{font-size:var(--font-xl, 1.5rem);font-weight:700;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.pricing-card__desc{font-size:var(--font-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.pricing-card__features{list-style:none;padding:0;margin:0 0 var(--spacing-lg) 0;flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.pricing-card__features li{font-size:var(--font-sm);padding-left:1.2em;position:relative}.pricing-card__features li:before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:700}.pricing-card__action{margin-top:auto}.pricing-card__action .btn{width:100%}.pricing-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}@media (max-width: 768px){.pricing-grid{grid-template-columns:1fr}.pricing-actions{flex-direction:column}.pricing-actions .btn{width:100%}}.settings-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-page__section{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-page__section h3{font-size:var(--font-lg);font-weight:600;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.settings-page__section-header{display:flex;align-items:center;justify-content:space-between}.settings-page__section-header h3{border-bottom:none;padding-bottom:0}.settings-page__plan{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.settings-page__plan p{color:var(--color-text-secondary)}.settings-page__profile{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-page__profile-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.settings-page__profile-field{display:flex;flex-direction:column;gap:2px}.settings-page__profile-label{font-size:var(--font-sm);color:var(--color-text-secondary);font-weight:500}.settings-page__profile-value{font-size:var(--font-base);color:var(--color-text)}.settings-page__profile-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-page__profile-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}@media (max-width: 768px){.settings-page__plan .btn{width:100%}.settings-page__profile-row{grid-template-columns:1fr;gap:var(--spacing-md)}}.settings-page__danger{border:1px solid var(--color-danger)}.settings-page__danger h3{color:var(--color-danger);border-bottom-color:var(--color-danger)}.settings-page__danger p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.page-transition{will-change:opacity,transform}.page-enter{animation:pageEnter .25s ease-out forwards}.page-exit{animation:pageExit .15s ease-in forwards}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pageExit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion: reduce){.page-enter,.page-exit{animation:none;opacity:1;transform:none}}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header__container{max-width:1200px;margin:0 auto;padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.header__logo-link{display:flex;align-items:center;text-decoration:none}.header__logo-img{height:40px;width:auto;border-radius:var(--radius);background:#fff;padding:2px}.header__menu-toggle{display:none;width:var(--min-touch-target);height:var(--min-touch-target);align-items:center;justify-content:center;background:none;border:none}.header__menu-icon{display:block;width:24px;height:2px;background-color:var(--color-text);position:relative}.header__menu-icon:before,.header__menu-icon:after{content:"";position:absolute;width:24px;height:2px;background-color:var(--color-text);left:0}.header__menu-icon:before{top:-7px}.header__menu-icon:after{top:7px}.nav{display:flex;align-items:center;gap:var(--spacing-sm)}.nav__link{display:inline-flex;align-items:center;min-height:var(--min-touch-target);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius);color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:background-color .2s,color .2s}.nav__link:hover,.nav__link.active{background-color:var(--color-primary-light);color:var(--color-primary)}.nav__user{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:var(--spacing-md);padding-left:var(--spacing-md);border-left:1px solid var(--color-border)}.nav__email{font-size:var(--font-sm);color:var(--color-text-secondary)}.main{flex:1;padding:var(--spacing-xl) 0}@media (max-width: 768px){.header__menu-toggle{display:flex}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:var(--spacing-xs);padding-top:var(--spacing-md);order:3}.nav--open{display:flex}.nav__link{padding:var(--spacing-md)}.nav__user{margin-left:0;padding-left:0;padding-top:var(--spacing-md);border-left:none;border-top:1px solid var(--color-border);flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.main{padding:var(--spacing-md) 0}}.dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard__header{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.dashboard__section{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard__section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm)}.dashboard__alert{display:flex;align-items:center;justify-content:space-between}.dashboard__time{color:var(--color-primary);font-weight:600}.dashboard__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.dashboard__grid h4{font-weight:600;margin-bottom:var(--spacing-xs)}.dashboard__grid p{font-size:var(--font-sm);color:var(--color-text-secondary)}.dashboard__schedule{color:var(--color-primary)!important;margin-top:var(--spacing-xs)}.dashboard__empty{color:var(--color-text-secondary);padding:var(--spacing-xl);text-align:center}.dashboard__empty a{color:var(--color-primary)}@media (max-width: 768px){.dashboard__grid{grid-template-columns:1fr}}.landing{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--color-text);overflow-x:hidden;--landing-gradient-start: #0f172a;--landing-gradient-mid: #1e293b;--landing-accent: #3b82f6;--landing-accent-light: #60a5fa;--landing-glow: rgba(59, 130, 246, .15);--landing-section-padding: 120px;--landing-container: 1180px}.landing__container{max-width:var(--landing-container);margin:0 auto;padding:0 var(--spacing-xl)}.landing__nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fffc;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06);padding:var(--spacing-sm) 0;transition:background .3s,box-shadow .3s}.landing__nav-container{max-width:var(--landing-container);margin:0 auto;padding:0 var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;height:56px}.landing__nav-brand{display:flex;align-items:center;gap:10px}.landing__nav-name{font-size:1.1rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.landing__nav-links{display:flex;align-items:center;gap:var(--spacing-xl)}.landing__nav-links a{text-decoration:none;color:var(--color-text-secondary);font-size:var(--font-sm);font-weight:500;letter-spacing:-.01em;transition:color .2s}.landing__nav-links a:hover{color:var(--color-text)}.landing__nav-cta{background:var(--color-text)!important;color:#fff!important;padding:10px 20px;border-radius:100px;font-weight:600!important;font-size:var(--font-sm)!important;transition:transform .2s,box-shadow .2s!important}.landing__nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026!important;background:var(--landing-gradient-start)!important}.landing__hero{padding:180px var(--spacing-xl) 120px;text-align:center;position:relative;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(59,130,246,.08) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 50%,rgba(139,92,246,.04) 0%,transparent 60%),var(--color-bg);overflow:hidden}.landing__hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='grid' width='60' height='60' patternUnits='userSpaceOnUse'%3E%3Cpath d='M 60 0 L 0 0 0 60' fill='none' stroke='%23e2e8f0' stroke-width='0.5'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23grid)'/%3E%3C/svg%3E");opacity:.4;mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);pointer-events:none}.landing__hero-content{max-width:800px;margin:0 auto;position:relative;z-index:1}.landing__hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:var(--spacing-lg);color:var(--color-text);letter-spacing:-.03em;background:linear-gradient(135deg,var(--color-text) 0%,#475569 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing__hero-tagline{display:inline-block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--landing-accent);margin-bottom:var(--spacing-md);padding:6px 16px;border-radius:100px;background:#3b82f614;border:1px solid rgba(59,130,246,.15)}.landing__hero-subtitle{font-size:clamp(1.1rem,2vw,1.35rem);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-xl);max-width:600px;margin-left:auto;margin-right:auto}.landing__hero-actions{display:flex;gap:var(--spacing-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.landing__hero-note{font-size:var(--font-sm);color:var(--color-text-secondary);opacity:.8}.landing__btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 32px;border-radius:100px;font-weight:600;font-size:var(--font-base);text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;border:none;text-align:center;letter-spacing:-.01em}.landing__btn--primary{background:linear-gradient(135deg,var(--landing-accent) 0%,#2563eb 100%);color:#fff;box-shadow:0 4px 14px #3b82f64d,0 1px 3px #00000014}.landing__btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666,0 2px 6px #0000001a}.landing__btn--primary:active{transform:translateY(0)}.landing__btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.landing__btn--secondary:hover{border-color:var(--color-text-secondary);box-shadow:var(--shadow);transform:translateY(-1px)}.landing__btn--large{padding:18px 48px;font-size:1.1rem}.landing__proof{padding:var(--spacing-2xl) 0;border-bottom:1px solid var(--color-border)}.landing__proof-stats{display:flex;justify-content:center;gap:80px;flex-wrap:wrap}.landing__proof-stat{display:flex;flex-direction:column;align-items:center;gap:6px}.landing__proof-number{font-size:2.5rem;font-weight:800;letter-spacing:-.03em;background:linear-gradient(135deg,var(--landing-accent) 0%,#7c3aed 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing__proof-label{font-size:var(--font-sm);color:var(--color-text-secondary);font-weight:500}.landing__features{padding:var(--landing-section-padding) 0}.landing__features h2{text-align:center;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--spacing-md)}.landing__features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-top:var(--spacing-2xl)}.landing__feature-card{padding:var(--spacing-xl) var(--spacing-lg);border-radius:16px;border:1px solid var(--color-border);background:var(--color-surface);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.landing__feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--landing-accent),#7c3aed);opacity:0;transition:opacity .3s}.landing__feature-card:hover{border-color:transparent;box-shadow:0 20px 40px #0000000f,0 1px 3px #0000000a;transform:translateY(-4px)}.landing__feature-card:hover:before{opacity:1}.landing__feature-icon{font-size:2.25rem;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#3b82f614,#7c3aed0d);margin-bottom:var(--spacing-md)}.landing__feature-card h3{font-size:1.1rem;font-weight:700;margin-bottom:var(--spacing-xs);letter-spacing:-.01em}.landing__feature-card p{font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.6}.landing__how{padding:var(--landing-section-padding) 0;background:var(--color-surface);position:relative}.landing__how:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}.landing__how h2{text-align:center;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--spacing-2xl)}.landing__how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-2xl);text-align:center;position:relative}.landing__how-steps:before{content:"";position:absolute;top:28px;left:20%;right:20%;height:2px;background:linear-gradient(90deg,var(--landing-accent),#7c3aed);opacity:.2;border-radius:1px}.landing__how-step{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);position:relative}.landing__how-number{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--landing-accent) 0%,#2563eb 100%);color:#fff;font-size:1.25rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #3b82f640;position:relative;z-index:1}.landing__how-step h3{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.landing__how-step p{font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.6;max-width:280px}.landing__pricing{padding:var(--landing-section-padding) 0}.landing__pricing h2{text-align:center;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--spacing-sm)}.landing__pricing-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:60px;font-size:1.1rem}.landing__pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);align-items:start}.landing__plan{padding:36px 32px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);display:flex;flex-direction:column;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.landing__plan:hover{transform:translateY(-6px);box-shadow:0 25px 50px #00000014}.landing__plan--highlighted{border-color:var(--landing-accent);background:linear-gradient(180deg,rgba(59,130,246,.02) 0%,var(--color-surface) 100%);box-shadow:0 4px 30px #3b82f61a,0 1px 3px #0000000d}.landing__plan--highlighted:hover{box-shadow:0 25px 60px #3b82f626}.landing__plan-badge{position:absolute;top:-14px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--landing-accent) 0%,#7c3aed 100%);color:#fff;font-size:.7rem;font-weight:700;padding:5px 16px;border-radius:100px;text-transform:uppercase;letter-spacing:.8px}.landing__plan h3{font-size:1.2rem;font-weight:700;margin-bottom:var(--spacing-sm);letter-spacing:-.01em}.landing__plan-price{display:flex;align-items:baseline;gap:6px;margin-bottom:var(--spacing-lg)}.landing__plan-amount{font-size:3rem;font-weight:800;color:var(--color-text);letter-spacing:-.03em}.landing__plan-period{font-size:var(--font-sm);color:var(--color-text-secondary)}.landing__plan ul{list-style:none;padding:0;margin:0 0 var(--spacing-xl) 0;flex:1;display:flex;flex-direction:column;gap:10px}.landing__plan li{font-size:var(--font-sm);padding-left:1.75em;position:relative;line-height:1.5}.landing__plan li:before{content:"✓";position:absolute;left:0;color:var(--landing-accent);font-weight:800}.landing__plan .landing__btn{width:100%}.landing__faq{padding:var(--landing-section-padding) 0;background:var(--color-surface)}.landing__faq h2{text-align:center;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--spacing-2xl)}.landing__faq-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.landing__faq-item{border:1px solid var(--color-border);border-radius:14px;overflow:hidden;background:var(--color-bg);transition:border-color .2s,box-shadow .2s}.landing__faq-item:hover{border-color:var(--color-text-secondary)}.landing__faq-item--open{border-color:var(--landing-accent);box-shadow:0 2px 12px #3b82f60f}.landing__faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:none;border:none;font-size:var(--font-base);font-weight:600;text-align:left;cursor:pointer;color:var(--color-text);letter-spacing:-.01em;transition:color .2s}.landing__faq-question:hover{color:var(--landing-accent)}.landing__faq-chevron{font-size:1.25rem;font-weight:400;color:var(--color-text-secondary);transition:transform .2s}.landing__faq-item--open .landing__faq-chevron{transform:rotate(45deg)}.landing__faq-answer{padding:0 20px 18px;font-size:var(--font-sm);color:var(--color-text-secondary);line-height:1.7}.landing__cta{padding:var(--landing-section-padding) 0;text-align:center;position:relative;background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(59,130,246,.06) 0%,transparent 70%),var(--color-bg)}.landing__cta h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;letter-spacing:-.03em;margin-bottom:var(--spacing-sm)}.landing__cta p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:1.15rem}.landing__footer{padding:var(--spacing-xl) 0;border-top:1px solid var(--color-border)}.landing__footer-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md)}.landing__footer-content p{font-size:var(--font-sm);color:var(--color-text-secondary)}.landing__footer-links{display:flex;gap:var(--spacing-lg)}.landing__footer-links a{font-size:var(--font-sm);color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .2s}.landing__footer-links a:hover{color:var(--color-text)}@media (max-width: 768px){.landing{--landing-section-padding: 80px}.landing__hero{padding:140px var(--spacing-md) 80px}.landing__hero-subtitle{font-size:1rem}.landing__nav-links a:not(.landing__nav-cta){display:none}.landing__nav-container,.landing__container{padding:0 var(--spacing-md)}.landing__features-grid,.landing__how-steps,.landing__pricing-grid{grid-template-columns:1fr}.landing__how-steps:before{display:none}.landing__proof-stats{gap:var(--spacing-xl)}.landing__hero-actions{flex-direction:column;align-items:center}.landing__footer-content{flex-direction:column;text-align:center}.landing__plan{max-width:400px;margin:0 auto;width:100%}}@media (prefers-color-scheme: dark){.landing{--landing-gradient-start: #0f172a;--landing-accent: #60a5fa;--landing-accent-light: #93c5fd;--landing-glow: rgba(96, 165, 250, .12)}.landing__nav{background:#0f172ad9;border-bottom-color:#ffffff0f}.landing__nav-cta{background:#fff!important;color:var(--landing-gradient-start)!important}.landing__nav-cta:hover{background:#f1f5f9!important}.landing__hero{background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(96,165,250,.08) 0%,transparent 70%),radial-gradient(ellipse 60% 50% at 80% 50%,rgba(139,92,246,.04) 0%,transparent 60%),var(--color-bg)}.landing__hero:before{background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='grid' width='60' height='60' patternUnits='userSpaceOnUse'%3E%3Cpath d='M 60 0 L 0 0 0 60' fill='none' stroke='%23334155' stroke-width='0.5'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100%25' height='100%25' fill='url(%23grid)'/%3E%3C/svg%3E");opacity:.3}.landing__hero h1{background:linear-gradient(135deg,#f1f5f9,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing__feature-card{background:var(--color-surface);border-color:var(--color-border)}.landing__feature-card:hover{box-shadow:0 20px 40px #0003;border-color:transparent}.landing__feature-icon{background:linear-gradient(135deg,#60a5fa1a,#8b5cf614)}.landing__plan--highlighted{border-color:var(--landing-accent);background:linear-gradient(180deg,rgba(96,165,250,.04) 0%,var(--color-surface) 100%);box-shadow:0 4px 30px #60a5fa1a}.landing__plan--highlighted:hover{box-shadow:0 25px 60px #60a5fa1f}.landing__plan:hover{box-shadow:0 25px 50px #0000004d}.landing__btn--primary{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 4px 14px #60a5fa4d}.landing__btn--primary:hover{box-shadow:0 8px 25px #60a5fa66}.landing__cta{background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(96,165,250,.06) 0%,transparent 70%),var(--color-bg)}.landing__faq-item--open{border-color:var(--landing-accent);box-shadow:0 2px 12px #60a5fa14}}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-danger-light: #fef2f2;--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #1e293b;--color-text-secondary: #64748b;--color-border: #e2e8f0;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 1.875rem;--min-touch-target: 44px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--color-text);background-color:var(--color-bg);line-height:1.5;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}input,button,select,textarea{font-family:inherit;font-size:var(--font-base)}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 768px){:root{--font-3xl: 1.5rem;--font-2xl: 1.25rem;--font-xl: 1.125rem}}@media (prefers-color-scheme: dark){:root{--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-primary-light: #1e3a5f;--color-success: #4ade80;--color-warning: #fbbf24;--color-danger: #f87171;--color-danger-light: #2d1b1b;--color-bg: #0f172a;--color-surface: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-border: #334155;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}}
