: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}.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}.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{display:inline-flex;align-items:center;justify-content:center;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}.contact-card{display:flex;flex-direction:column;gap:.85rem;padding:1.5rem 1.25rem;border-radius:1.25rem;background:hsla(0,0%,100%,.88);border:1px solid rgba(148,163,184,.35)}.contact-card h2{margin:0;font-size:1.25rem;font-weight:600;color:#0f172a}.contact-card__intro{margin:0;font-size:.95rem;color:#475569}.contact-form{display:flex;flex-direction:column;gap:.75rem}.contact-form__label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:600}.contact-form__caption{margin:0;font-size:.9rem;color:#475569}.contact-form__caption strong{color:#0f172a}.contact-form input,.contact-form textarea{width:100%;padding:.85rem 1rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.55);font:inherit;color:#0f172a;background:hsla(0,0%,100%,.95);transition:border-color .2s ease,box-shadow .2s ease;resize:vertical}.contact-form textarea{min-height:120px}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.18)}.contact-form__submit{align-self:flex-start;padding:.75rem 1.3rem;border-radius:.85rem;border:none;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 12px 24px rgba(234,88,12,.22);transition:transform .15s ease,box-shadow .15s ease}.contact-form__submit:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(234,88,12,.28)}.contact-form__submit:active{transform:translateY(0)}.contact-form__status{margin:0;font-size:.85rem}.contact-form__status--error{color:#dc2626}.contact-form__status--success{color:#15803d}@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}}