:root{color-scheme:light}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(135deg,#ffedd5,#fdba74 25%,#fb923c);color:#0f172a}body{line-height:1.5}button,input{font:inherit}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.25rem}.card{width:min(100%,460px);gap:1.75rem;padding:2.5rem 2.25rem;border-radius:1.5rem;background:hsla(0,0%,100%,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 25px 50px rgba(15,23,42,.18)}.card,.card__header{display:flex;flex-direction:column}.card__header{gap:.75rem;text-align:center}.auth-bar{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.35);background:hsla(0,0%,100%,.78)}.auth-bar__loader{width:100%;text-align:center;font-size:.95rem;color:#475569}.auth-bar__avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid rgba(148,163,184,.4)}.auth-bar__avatar--placeholder{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fb923c,#f97316);color:#fff;font-weight:600}.auth-bar__text{display:flex;flex-direction:column;gap:.15rem;flex:1 1;min-width:0}.auth-bar__welcome{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.auth-bar__name{font-weight:600;color:#0f172a}.auth-bar__email,.auth-bar__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.auth-bar__email{font-size:.9rem;color:#475569}.auth-bar__button{border:none;border-radius:.75rem;padding:.65rem 1rem;font-weight:600;background:rgba(148,163,184,.25);color:#1f2937;cursor:pointer;transition:background .2s ease,transform .2s ease}.auth-bar__button:hover{background:rgba(148,163,184,.4)}.auth-bar__button:active{transform:translateY(1px)}.auth-bar__button--compact{padding:.55rem .9rem}.auth-bar__button--primary{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 10px 20px rgba(234,88,12,.25)}.auth-bar__button--primary:hover{background:linear-gradient(135deg,#fb923c,#f97316)}.auth-bar__link{font-size:.85rem;font-weight:500;color:#0f172a;text-decoration:underline}.title{margin:0;font-size:2.25rem;font-weight:700;letter-spacing:-.02em;color:#dc2626;text-shadow:0 0 12px hsla(34,44%,69%,.9)}.title__logo{display:inline-block;width:1em;height:1em;margin:0 .05em;vertical-align:middle;background:50%/contain no-repeat url(/sunny.png)}.store-banner{display:flex;justify-content:center;align-items:center;gap:1rem;width:100%;flex-wrap:wrap}.store-banner__button{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.4rem;border-radius:.9rem;border:1px solid rgba(15,23,42,.08);background:hsla(0,0%,100%,.86);color:#0f172a;font-weight:600;box-shadow:0 10px 20px rgba(15,23,42,.08);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.store-banner__button--apple{background:linear-gradient(135deg,rgba(248,250,252,.95),rgba(226,232,240,.9))}.store-banner__button--android{background:linear-gradient(135deg,rgba(236,253,245,.95),rgba(220,252,231,.9))}.store-banner__button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.12)}.store-banner__button:active{transform:translateY(0);box-shadow:0 6px 16px rgba(15,23,42,.12)}.store-banner__icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.75rem;background:rgba(15,23,42,.08);color:#0f172a}.store-banner__text{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}.store-banner__eyebrow{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(15,23,42,.65)}.store-banner__title{font-size:1.05rem;letter-spacing:-.01em}.seo-summary{display:flex;flex-direction:column;gap:.9rem;padding:1.5rem 1.35rem;border-radius:1.1rem;background:hsla(0,0%,100%,.92);border:1px solid rgba(148,163,184,.3);text-align:left}.seo-summary h2{margin:0;font-size:1.35rem;font-weight:700;color:#0f172a;letter-spacing:-.01em}.seo-summary p{margin:0;font-size:.95rem;line-height:1.6;color:#334155}.seo-summary abbr{text-decoration:none;border-bottom:1px dotted rgba(15,23,42,.4);cursor:help}.subtitle{margin:0;font-size:1rem;color:#475569}.field-group{display:flex;flex-direction:column;gap:.75rem}.field-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#64748b}.autocomplete{position:relative}.autocomplete__input-wrapper{display:flex;align-items:stretch;gap:.5rem}.autocomplete input{flex:1 1;width:100%;padding:.9rem 1rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.6);background:hsla(0,0%,100%,.95);color:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.autocomplete input::placeholder{color:#94a3b8}.autocomplete input:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.2)}.location-button{display:inline-flex;align-items:center;justify-content:center;min-height:100%;padding:1rem;border-radius:.9rem;border:1px solid rgba(249,115,22,.55);background:hsla(0,0%,100%,.98);color:#9a3412;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.location-button:hover{border-color:#ea580c;box-shadow:0 0 0 3px rgba(234,88,12,.14);background:#fff}.location-button:focus-visible{outline:none;border-color:#ea580c;box-shadow:0 0 0 3px rgba(234,88,12,.28)}.location-button:disabled{cursor:not-allowed;opacity:.7;box-shadow:none}.location-button svg{width:20px;height:20px}.location-button__spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(234,88,12,.35);border-top-color:#ea580c;animation:location-spin .75s linear infinite}@keyframes location-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.field-hint{margin:.5rem 0 0;font-size:.875rem;color:#475569}.field-hint--error{color:#dc2626}.location-suggestion{margin-top:1rem;padding:.85rem 1rem;border-radius:.875rem;border:1px solid rgba(148,163,184,.35);background:#f8fafc;color:#0f172a;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;font-size:.95rem}.location-suggestion strong{color:#0f172a}.location-suggestion__button{margin-left:auto;background:#ea580c;color:#fff;border:none;border-radius:999px;padding:.4rem .9rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.location-suggestion__button:hover{background:#c2410c;transform:translateY(-1px);box-shadow:0 8px 16px rgba(234,88,12,.25)}.location-suggestion__button:focus-visible{outline:3px solid rgba(234,88,12,.45);outline-offset:2px}.location-suggestion__button:active{transform:translateY(0);box-shadow:none}.suggestions{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:10;border-radius:1rem;border:1px solid rgba(148,163,184,.35);background:#fff;box-shadow:0 18px 36px rgba(15,23,42,.16);max-height:260px;overflow-y:auto}.suggestions ul{list-style:none;margin:0;padding:.35rem 0}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:200}.modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45)}.modal__dialog{position:relative;z-index:1;width:min(100%,420px);max-height:90vh;overflow-y:auto;padding:1.75rem;border-radius:1.25rem;background:#fff;box-shadow:0 22px 44px rgba(15,23,42,.22);display:flex;flex-direction:column;gap:1rem}.modal__close{position:absolute;top:.85rem;right:.85rem;border:none;background:transparent;color:#475569;font-size:1.5rem;line-height:1;cursor:pointer}.modal__title{margin:0;font-size:1.5rem;font-weight:600}.modal__intro{margin:0;color:#475569}.modal__link{margin:0;font-size:.95rem;color:#0f172a;word-break:break-word}.modal__link a{color:#ea580c;text-decoration:underline}.modal__copy-button{margin-left:.5rem;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;border:1px solid rgba(234,88,12,.5);border-radius:.5rem;background:rgba(249,115,22,.1);color:#9a3412;cursor:pointer;font-size:.85rem;transition:background .2s ease,border-color .2s ease}.modal__copy-button:focus-visible,.modal__copy-button:hover{background:rgba(249,115,22,.2);border-color:#ea580c;outline:none}.modal__copy-text{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal__copy-status{margin-left:.5rem;font-size:.8rem;color:#16a34a}.modal__copy-status--error{color:#dc2626}.modal__copy-hint{margin-left:.5rem;font-size:.8rem;color:#64748b}.modal__subtitle{margin:0;font-size:1.1rem;font-weight:600}.modal__list{margin:0;padding-left:1.15rem;display:flex;flex-direction:column;gap:.5rem;color:#334155}.login{min-height:100vh;justify-content:center;padding:2.5rem 1.5rem;background:linear-gradient(135deg,#ffedd5,#fdba74 25%,#fb923c)}.login,.login__card{display:flex;align-items:center}.login__card{width:min(100%,420px);flex-direction:column;gap:1rem;padding:2.25rem 2rem;border-radius:1.75rem;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 25px 40px rgba(15,23,42,.16);text-align:center}.login__button{border:none;border-radius:.85rem;padding:.85rem 1.4rem;font-weight:600;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;cursor:pointer;width:100%;transition:transform .2s ease,box-shadow .2s ease}.login__button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(234,88,12,.25)}.login__status{font-size:1rem;color:#1f2937}.login__actions{display:flex;gap:.75rem;width:100%;flex-direction:column}.login__link{font-size:.9rem;color:#1f2937;text-decoration:none;font-weight:500}.suggestions__item{padding:.75rem 1rem;cursor:pointer;transition:background .15s ease}.suggestions__item:focus-visible,.suggestions__item:hover{background:rgba(234,88,12,.12)}.suggestions__hint{padding:.9rem 1rem;font-size:.9rem;color:#64748b}.suggestions__hint--error{color:#dc2626}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1rem;border:none;border-radius:999px;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.primary-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 20px rgba(234,88,12,.28)}.primary-button:disabled:hover{transform:none;box-shadow:none}.primary-button:active{transform:translateY(0)}.unit-toggle{display:flex;gap:.6rem;background:hsla(0,0%,100%,.65);padding:.35rem;border-radius:999px;border:1px solid rgba(148,163,184,.4)}.unit-button{flex:1 1;padding:.6rem 1rem;border-radius:999px;border:none;background:transparent;color:#334155;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.unit-button--active{background:linear-gradient(135deg,#fb923c,#ea580c);color:#fff;box-shadow:0 10px 18px rgba(234,88,12,.22)}.status{display:flex;flex-direction:column;gap:.4rem;font-size:.95rem;color:#475569}.status__success{margin:0;padding:.65rem .9rem;border-radius:.75rem;background:rgba(34,197,94,.14);color:#166534;font-weight:600;box-shadow:0 0 0 rgba(34,197,94,.2)}.status__success--flash{animation:status-flash 1s ease-out}@keyframes status-flash{0%{box-shadow:0 0 0 0 rgba(34,197,94,.35);background:rgba(34,197,94,.28)}60%{box-shadow:0 0 0 6px rgba(34,197,94,.08);background:rgba(34,197,94,.18)}to{box-shadow:0 0 0 12px rgba(34,197,94,0);background:rgba(34,197,94,.14)}}.status__hint{margin:0;font-size:.85rem;color:#64748b}.status__hint--error{color:#dc2626}.calendar-buttons{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.calendar-button__wrapper{position:relative;width:100%}.calendar-button{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.85rem 1rem;border:none;border-radius:.95rem;background:linear-gradient(135deg,#fb923c,#ea580c);color:#fff;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.calendar-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 26px rgba(234,88,12,.28)}.calendar-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.calendar-button__content{display:inline-flex;align-items:center;gap:.55rem}.calendar-button__icon{width:1.5rem;height:1.5rem;object-fit:contain;border-radius:.35rem;background:hsla(0,0%,100%,.12);padding:.15rem}.calendar-button:disabled .calendar-button__icon{filter:grayscale(.35);opacity:.8}.calendar-button:focus-visible,.primary-button:focus-visible,.unit-button:focus-visible{outline:3px solid rgba(37,99,235,.35);outline-offset:2px}.calendar-button__tooltip{position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%,.2rem);padding:.35rem .6rem;border-radius:.45rem;background:rgba(15,23,42,.95);color:#f8fafc;font-size:.75rem;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;z-index:10}.calendar-button__tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);width:0;height:0;border-color:rgba(15,23,42,.95) transparent transparent;border-style:solid;border-width:6px 6px 0}.calendar-button__wrapper:focus-within .calendar-button__tooltip,.calendar-button__wrapper:hover .calendar-button__tooltip{opacity:1;transform:translate(-50%,-.2rem)}@media (max-width:640px){.card{padding:2rem 1.5rem;gap:1.5rem}.title{font-size:1.9rem}.subtitle{font-size:.95rem}.calendar-buttons{grid-template-columns:1fr}}