:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef6f7;--card:#fcffff;--text:#17323a;--muted:#5f7980;--accent:#19706a;--accent-blue:#2c63d6;--accent-orange:#d7772d;--accent-purple:#7b4fd6;--border:#c8dde0;--danger:#b42318;--success:#18794e}*{box-sizing:border-box}html,body{background:linear-gradient(180deg, #f8feff 0%, var(--bg) 100%);color:var(--text);min-height:100%;margin:0;padding:0;font-family:Trebuchet MS,Segoe UI,sans-serif}body{min-height:100vh}a{color:inherit}button,input,select{font:inherit}.site-header{width:min(100%,1100px);margin:0 auto;padding:1rem 1rem .35rem}.brand{text-align:center;background:radial-gradient(circle at 100% 0,#3867ff29,#0000 30%),radial-gradient(circle at 0 100%,#11998e29,#0000 34%),linear-gradient(135deg,#fff 0%,#f2fcfb 45%,#f2f6ff 100%);border:1px solid #d6e8ea;border-radius:30px;justify-items:center;gap:.28rem;padding:1.1rem 1.05rem 1rem;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 44px #17323a1a,inset 0 1px #ffffffd9}.brand:before,.brand:after{content:"";pointer-events:none;border-radius:999px;position:absolute}.brand:before{background:radial-gradient(circle,#11998e1f 0%,#0000 70%);width:7rem;height:7rem;top:-2.8rem;left:-2rem}.brand:after{background:radial-gradient(circle,#3867ff24 0%,#0000 72%);width:8rem;height:8rem;bottom:-3.1rem;right:-2.6rem}.brand__title{letter-spacing:.01em;color:#17323a;z-index:1;font-size:1.6rem;font-weight:800;line-height:1.05;position:relative}.brand__subtitle{color:#37606f;z-index:1;font-size:.98rem;font-weight:700;position:relative}.brand__caption{color:var(--muted);z-index:1;max-width:18rem;font-size:.88rem;line-height:1.35;position:relative}.page-shell{width:min(100%,1100px);margin:0 auto;padding:.5rem 1rem 2.5rem}.card{background:radial-gradient(circle at 100% 0,#2c63d614,#0000 30%),radial-gradient(circle at 0 100%,#19706a14,#0000 34%),linear-gradient(160deg,#fffffffa,#f7fcfffa);border:1px solid #c8dde0f2;border-radius:28px;gap:1rem;width:min(100%,30rem);margin:1rem auto;padding:1.2rem;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 48px #123a3d1a,inset 0 1px #ffffffe0}.card h1{margin:0;font-size:1.7rem;line-height:1.08}.card label{gap:.45rem;font-size:.95rem;font-weight:600;display:grid}.card input,.card select{width:100%;min-height:3rem;color:var(--text);background:#fffffff5;border:1px solid #cfe0e3;border-radius:14px;padding:.8rem .9rem;box-shadow:inset 0 1px #fffc}.card input:-webkit-autofill{-webkit-text-fill-color:var(--text);transition:background-color 9999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #fff}.card input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);transition:background-color 9999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #fff}.card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);transition:background-color 9999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #fff}.card select:-webkit-autofill{-webkit-text-fill-color:var(--text);transition:background-color 9999s ease-out;-webkit-box-shadow:inset 0 0 0 1000px #fff}.phone-row{grid-template-columns:7.5rem 1fr;gap:.65rem;display:grid}.card button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#15998e 0%,#2b63d9 100%);border:1px solid #10706a26;border-radius:18px;min-height:3.25rem;padding:.95rem 1rem;font-weight:700;box-shadow:0 16px 28px #1f62ab33}.card button:disabled{opacity:.7;cursor:wait}.error{color:var(--danger);margin:0}.success{color:var(--success);margin:0}.muted{color:var(--muted);margin:0}.auth-card{gap:1.05rem}.auth-card__intro{gap:.45rem;display:grid}.auth-card__eyebrow,.dashboard-hero__eyebrow,.admin-section-eyebrow{color:#3f7488;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.auth-card__footer{padding-top:.25rem}.dashboard{border:1px solid var(--border);background:radial-gradient(circle at 100% 0,#2c63d614,#0000 26%),radial-gradient(circle at 0 100%,#19706a14,#0000 30%),linear-gradient(155deg,#fffffffa,#f4fbfffa);border-radius:30px;gap:1rem;width:min(100%,900px);margin:1rem auto;padding:1.2rem;display:grid;box-shadow:0 22px 48px #123a3d1a,inset 0 1px #ffffffdb}.dashboard h1,.dashboard h2{margin:0}.dashboard .muted{line-height:1.5}.dashboard-hero{background:linear-gradient(135deg,#dff6f3f2,#eef5fffa),#fff;border:1px solid #b9d7dce6;border-radius:24px;gap:.9rem;padding:1rem;display:grid}.dashboard-hero__content{gap:.4rem;display:grid}.dashboard-hero__badge{background:linear-gradient(135deg,#2a63d61f,#7b4fd61f);border:1px solid #718adc3d;border-radius:20px;justify-self:start;gap:.2rem;min-width:8.5rem;padding:.8rem .95rem;display:inline-grid}.dashboard-hero__badge span{color:#4d6f8f;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.dashboard-hero__badge strong{font-size:1rem}.dashboard-section{background:#ffffffeb;border:1px solid #ccdfe2e6;border-radius:24px;gap:.85rem;padding:1rem;display:grid}.dashboard-section--soft{background:linear-gradient(135deg,#f3fbfff0,#f7fcfaf5)}.dashboard-section__header{gap:.4rem;display:grid}.dashboard-summary-grid{grid-template-columns:1fr;gap:.8rem;margin:0;display:grid}.dashboard-summary-card{background:linear-gradient(160deg,#fffffffa,#f4fbfffa);border:1px solid #cbdfe4e6;border-radius:20px;gap:.35rem;margin:0;padding:.95rem;display:grid;box-shadow:0 12px 24px #123a3d0d}.dashboard dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:0;font-size:.78rem;font-weight:800}.dashboard dd{overflow-wrap:anywhere;word-break:break-word;margin:0;font-size:1.02rem;font-weight:700}.dashboard-summary-card--email dd{font-size:.98rem;line-height:1.45}.dashboard-nav{gap:.75rem;display:grid}.dashboard-link{background:linear-gradient(150deg,#fffffffa,#f5fbfffa);border:1px solid #c7dde4f2;border-radius:18px;justify-content:center;align-items:center;width:100%;min-height:3.25rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 12px 24px #123a3d0f}.dashboard-link--primary{color:#fff;background:linear-gradient(135deg,#16988d 0%,#2c63d6 100%);border-color:#0000}.dashboard-link--secondary{color:#4e57a2;background:linear-gradient(135deg,#f3ebfffa,#f0f8fffa)}.app-auth-nav{background:#ffffffeb;border:1px solid #ccdfe2e6;border-radius:24px;gap:.8rem;padding:.95rem 1rem;display:grid;box-shadow:0 14px 28px #123a3d0f}.app-auth-nav__links{flex-wrap:wrap;gap:.65rem;display:flex}.app-auth-nav__link{min-height:2.8rem;color:var(--text);background:linear-gradient(150deg,#fffffffa,#f5fbfffa);border:1px solid #c7dde4f2;border-radius:16px;justify-content:center;align-items:center;gap:.45rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 10px 20px #123a3d0d}.app-auth-nav__badge{color:#fff;background:#d92d20;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.app-auth-nav__link--active{color:#fff;background:linear-gradient(135deg,#17323a 0%,#2758a5 100%);border-color:#0000}.app-auth-nav__link--secondary{color:#4e57a2;background:linear-gradient(135deg,#f3ebfffa,#f0f8fffa)}.app-auth-nav__signout{gap:.45rem;display:grid}.app-auth-nav__signout button{width:100%}.app-auth-nav__error{margin:0}.dashboard-note{gap:.35rem;display:grid}.dashboard-note__label{color:#56748a;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.dashboard-messages-card{background:linear-gradient(160deg,#fffffffa,#f4fbfffa);border:1px solid #cbdfe4e6;border-radius:20px;gap:.85rem;padding:.95rem;display:grid;box-shadow:0 12px 24px #123a3d0d}.dashboard-messages-card__copy{gap:.28rem;display:grid}.dashboard-messages-card__copy strong{font-size:2rem;line-height:1}.dashboard-messages-card__eyebrow{color:#56748a;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.messages-page{width:min(100%,900px);margin:0 auto}.messages-card{border:1px solid var(--border);background:radial-gradient(circle at 100% 0,#2c63d614,#0000 26%),radial-gradient(circle at 0 100%,#19706a14,#0000 30%),linear-gradient(155deg,#fffffffa,#f4fbfffa);border-radius:30px;gap:1rem;padding:1.2rem;display:grid;box-shadow:0 22px 48px #123a3d1a,inset 0 1px #ffffffdb}.messages-card__header{gap:.4rem;display:grid}.messages-card__header h1{margin:0}.messages-card__eyebrow{color:#3f7488;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.messages-empty-state,.message-item{background:linear-gradient(160deg,#fffffffa,#f5fbfffa);border:1px solid #ccdfe2f2;border-radius:22px;gap:.75rem;padding:1rem;display:grid;box-shadow:0 14px 28px #123a3d0f}.messages-list{gap:.9rem;display:grid}.message-item--unread{border-color:#718adc5c;box-shadow:0 16px 30px #123a3d0f,inset 0 0 0 1px #718adc1f}.message-item__top{gap:.8rem;display:grid}.message-item__top h2{margin:.15rem 0 0;font-size:1.18rem}.message-item__badges{flex-wrap:wrap;gap:.5rem;display:flex}.message-item__status{border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:.35rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}.message-item__status--unread{color:#2958a6;background:#e5f0ff}.message-item__status--read{color:#18794e;background:#eef7f2}.message-item__action{min-height:2.8rem;color:var(--text);cursor:pointer;background:linear-gradient(150deg,#fffffffa,#f5fbfffa);border:1px solid #c7dde4f2;border-radius:16px;padding:.75rem 1rem;font-weight:700}.message-item__action:disabled{opacity:.68;cursor:wait}.message-item__body{white-space:pre-wrap;color:#21434d;margin:0;line-height:1.55}.admin-shell{gap:1.15rem;width:min(100%,1100px);margin:0 auto;padding:1rem 1rem 2.5rem;display:grid}.admin-header,.admin-card{border:1px solid var(--border);background:radial-gradient(circle at 100% 0,#2c63d614,#0000 28%),radial-gradient(circle at 0 100%,#7b4fd614,#0000 32%),linear-gradient(155deg,#fffffffa,#f5fbfffa);border-radius:28px;box-shadow:0 22px 48px #123a3d1a,inset 0 1px #ffffffd6}.admin-header{background:radial-gradient(circle at 100% 0,#ffb45a2e,#0000 28%),radial-gradient(circle at 0 100%,#19706a1f,#0000 32%),linear-gradient(155deg,#fffffffa,#fffaf4fa);gap:1rem;padding:1.25rem;display:grid}.admin-header h1,.admin-card h2,.admin-payment-card h3{margin:0}.admin-header__eyebrow{color:#467682;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .35rem;font-size:.8rem;font-weight:700}.admin-nav{flex-wrap:wrap;gap:.75rem;display:flex}.admin-nav__link{color:#155b59;background:linear-gradient(135deg,#fff6ecfa,#ecf4fffa);border:1px solid #c5dee1eb;border-radius:16px;justify-content:center;align-items:center;min-height:2.8rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 10px 20px #123a3d0d}.admin-nav__button{font:inherit;cursor:pointer}.admin-nav__link--secondary{color:var(--text);background:linear-gradient(135deg,#f6f5fffa,#fffffffa);border:1px solid #d0dee6eb}.admin-page{gap:1rem;display:grid}.admin-card{gap:1rem;padding:1.25rem;display:grid}.admin-card__header{gap:1rem;display:grid}.admin-cta-link{width:100%}.admin-section-eyebrow{margin-bottom:.35rem}.admin-summary-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem;display:grid}.admin-summary-card,.admin-payment-card,.admin-empty-state{background:linear-gradient(160deg,#fffffffa,#f5fbfffa);border:1px solid #ccdfe2f2;border-radius:22px;gap:.65rem;padding:1rem;display:grid;box-shadow:0 14px 28px #123a3d0f}.admin-summary-card strong{font-size:2rem}.admin-overview-hero{background:radial-gradient(circle at 100% 0,#ffb87a29,#0000 28%),radial-gradient(circle at 0 100%,#467aff1f,#0000 32%),linear-gradient(155deg,#fffffffc,#fff9f2fa)}.admin-overview-highlight{background:linear-gradient(135deg,#fff8ecfa,#f7fafffa);border:1px solid #ffd2aaf2;border-radius:22px;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1rem 1.05rem;display:grid}.admin-overview-highlight__icon,.admin-overview-card__icon,.admin-guide-tip__icon,.admin-guide-card__icon{border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:1.2rem;display:inline-flex}.admin-overview-highlight__icon{background:linear-gradient(135deg,#ffe1b8 0%,#fff0db 100%)}.admin-overview-card{position:relative;overflow:hidden}.admin-overview-card__icon{margin-bottom:.15rem}.admin-overview-card--payments .admin-overview-card__icon{background:linear-gradient(135deg,#dfeaff 0%,#eef4ff 100%)}.admin-overview-card--messages .admin-overview-card__icon{background:linear-gradient(135deg,#efe4ff 0%,#f7f0ff 100%)}.admin-overview-card--residents .admin-overview-card__icon{background:linear-gradient(135deg,#e1f7ef 0%,#eefcf7 100%)}.admin-overview-card--guide .admin-overview-card__icon{background:linear-gradient(135deg,#ffe7cc 0%,#fff4e5 100%)}.admin-guide-page{gap:1rem}.admin-guide-hero{background:radial-gradient(circle at 100% 0,#ffb87a2e,#0000 28%),radial-gradient(circle at 0 100%,#7856ff1f,#0000 32%),linear-gradient(155deg,#fffffffc,#fff8f1fa)}.admin-guide-tip{background:linear-gradient(135deg,#fffaf0fa,#f7fafffa);border:1px solid #fed7aaf2;border-radius:22px;grid-template-columns:auto 1fr;align-items:start;gap:.9rem;padding:1rem 1.05rem;display:grid}.admin-guide-tip__icon{background:linear-gradient(135deg,#ffe5b7 0%,#fff2d9 100%)}.admin-guide-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.admin-guide-card{background:radial-gradient(circle at 100% 0,#ffc1871f,#0000 30%),linear-gradient(160deg,#fffffffa,#f9fbfffa);gap:.9rem}.admin-guide-card h3{margin:0}.admin-guide-card__header{grid-template-columns:auto 1fr;align-items:start;gap:.8rem;display:grid}.admin-guide-card__icon{background:linear-gradient(135deg,#fff1d6 0%,#fff8ea 100%)}.admin-guide-list{color:#27414a;gap:.65rem;margin:0;padding-left:1.1rem;display:grid}.admin-guide-list li{line-height:1.5}.admin-status-badge,.admin-method-badge{border-radius:999px;justify-content:center;align-items:center;min-height:2rem;padding:.35rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}.admin-status-badge--declarado_sinpe{color:#2958a6;background:#e5f0ff}.admin-status-badge--observado{color:#9a5c00;background:#fff2de}.admin-status-badge--cargo_mensualidad{color:#6b34a9;background:#f3ebff}.admin-status-badge--cobrado{color:#17603c;background:#e6f6ed}.admin-method-badge--sinpe{color:#2758a5;background:#ebf4ff}.admin-method-badge--mensualidad{color:#0d6f68;background:#ebfbf8}.admin-method-badge--legacy{color:#5f7980;background:#f0f3f5}.admin-filters{flex-wrap:wrap;gap:.65rem;display:flex}.admin-filter-chip,.admin-action-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:linear-gradient(160deg,#fffffffa,#f4fafffa);border-radius:999px;font-weight:700}.admin-filter-chip{min-height:2.6rem;padding:.65rem .95rem}.admin-filter-chip--active{color:#fff;background:linear-gradient(135deg,#17323a 0%,#2758a5 100%);border-color:#0000}.admin-payments-list{gap:.9rem;display:grid}.admin-residents-toolbar{gap:.75rem;display:grid}.admin-search-field{gap:.45rem;font-size:.92rem;font-weight:700;display:grid}.admin-search-field input{width:100%;min-height:3rem;color:var(--text);background:linear-gradient(160deg,#fffffffa,#f5fbfffa);border:1px solid #c7dde4f2;border-radius:16px;padding:.8rem .9rem}.admin-residents-list,.admin-messages-list{gap:.9rem;display:grid}.admin-resident-card{background:linear-gradient(160deg,#fffffffa,#f5fbfffa);border:1px solid #ccdfe2f2;border-radius:22px;gap:.95rem;padding:1rem;display:grid;box-shadow:0 14px 28px #123a3d0f}.admin-resident-card h3{margin:0}.admin-resident-card__top{gap:.75rem;display:grid}.admin-resident-card__badges{flex-wrap:wrap;gap:.55rem;display:flex}.admin-resident-card__email{overflow-wrap:anywhere;word-break:break-word}.admin-resident-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;display:grid}.admin-resident-grid__wide{grid-column:1/-1}.admin-resident-grid__invitation-code{letter-spacing:.05em;font-family:Consolas,Courier New,monospace}.admin-resident-compact{background:#ffffffbd;border:1px solid #cfdfe1f2;border-radius:18px;gap:.5rem;padding:.9rem 1rem;display:grid}.admin-resident-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.admin-resident-confirmation{background:linear-gradient(135deg,#fffaf1fa,#fff5e6fa);border:1px solid #f0cd96f2;border-radius:20px;gap:.9rem;padding:1rem;display:grid}.admin-checkbox-field{grid-template-columns:auto 1fr;align-items:start;gap:.7rem;font-size:.93rem;font-weight:700;line-height:1.45;display:grid}.admin-checkbox-field input{accent-color:#19706a;width:1rem;height:1rem;margin-top:.22rem}.admin-textarea-field--compact{min-height:6rem}.admin-resident-confirmation__actions{flex-wrap:wrap;gap:.65rem;display:flex}.admin-message-card{background:linear-gradient(150deg,#fffffffa,#f5fbfffa),#fffffff2;border:1px solid #ccdfe2f2;border-radius:22px;gap:.95rem;padding:1rem;display:grid;box-shadow:0 18px 34px #7290a614}.admin-message-card h3{margin:0}.admin-message-card__top{gap:.75rem;display:grid}.admin-message-card__body{white-space:pre-wrap;margin-top:.45rem}.admin-message-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.admin-message-grid__wide{overflow-wrap:anywhere;word-break:break-word;grid-column:1/-1}.admin-message-form{gap:1rem;display:grid}.admin-form-section,.admin-form-subsection{background:#ffffffc7;border:1px solid #ccdfe2f2;border-radius:22px;gap:.9rem;padding:1rem;display:grid}.admin-form-section__header{gap:.3rem;display:grid}.admin-form-section__header h3{margin:0}.admin-select-field,.admin-textarea-field{width:100%;color:var(--text);font:inherit;background:linear-gradient(160deg,#fffffffa,#f5fbfffa);border:1px solid #c7dde4f2;border-radius:16px}.admin-select-field{min-height:3rem;padding:.8rem .9rem}.admin-textarea-field{resize:vertical;min-height:10rem;padding:.9rem}.admin-targets-preview{background:#ffffffd1;border:1px solid #ccdfe2f2;border-radius:20px;gap:.65rem;padding:.95rem 1rem;display:grid}.admin-targets-preview__list{gap:.45rem;margin:0;padding-left:1.1rem;display:grid}.admin-targets-preview__list li{gap:.12rem;display:grid}.admin-targets-preview__list li span{overflow-wrap:anywhere;word-break:break-word}.admin-message-form__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.admin-message-form__actions .dashboard-link{border:none}.admin-payment-card__top{gap:.75rem;display:grid}.admin-payment-card__badges{flex-wrap:wrap;gap:.55rem;display:flex}.admin-payment-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.admin-payment-grid__label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem;font-size:.8rem;font-weight:700;display:block}.admin-payment-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.admin-action-button{min-height:2.8rem;padding:.75rem 1rem}.admin-action-button:disabled,.admin-filter-chip:disabled{opacity:.65;cursor:wait}.admin-action-button--warning{color:#9a5c00;background:#fff5e9;border-color:#f2cf99}.admin-action-button--secondary{color:#155b59;background:#eff7f6;border-color:#bfe4df}.reservations-page{gap:1.35rem;display:grid}.reservations-accordion{gap:1.1rem;display:grid}.accordion-section{gap:.8rem;display:grid}.accordion-tile{text-align:left;color:#fff;cursor:pointer;border:0;border-radius:24px;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;width:100%;min-height:5.5rem;padding:1.05rem 1.1rem;transition:transform .18s,box-shadow .18s,filter .18s;display:grid;box-shadow:0 18px 36px #233a6624}.accordion-tile:hover,.accordion-tile:focus-visible{filter:saturate(1.03);transform:translateY(-1px);box-shadow:0 22px 42px #233a662e}.accordion-tile--featured{box-shadow:0 24px 48px #233a6633}.accordion-tile--teal{background:linear-gradient(135deg,#11998e 0%,#38b2ac 45%,#58c6d8 100%)}.accordion-tile--blue{background:linear-gradient(135deg,#3867ff 0%,#5a8dff 52%,#6caaf8 100%)}.accordion-tile--orange{background:linear-gradient(135deg,#ff8a00 0%,#ffb347 52%,#ffcb74 100%)}.accordion-tile--purple{background:linear-gradient(135deg,#7f5af0 0%,#9b6df6 50%,#b98bff 100%)}.accordion-tile__icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border-radius:18px;justify-content:center;align-items:center;width:3.15rem;height:3.15rem;font-size:1.65rem;display:inline-flex}.accordion-tile__content{gap:.18rem;display:grid}.accordion-tile__content strong{font-size:1.12rem}.accordion-tile__content p{color:#ffffffe6;margin:0;font-size:.92rem;line-height:1.35}.accordion-tile__chevron{background:#ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:1.7rem;font-weight:700;line-height:1;transition:transform .18s,background .18s;display:inline-flex}.accordion-section--open .accordion-tile__chevron{background:#ffffff47;transform:scale(1.04)}.accordion-panel{gap:1rem;display:grid}.my-reservations-panel,.reservations-hero,.reservations-controls,.reservations-empty,.week-toolbar{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:1.15rem;box-shadow:0 18px 40px #123a3d14}.my-reservations-panel{background:radial-gradient(circle at 0 0,#467aff29,#0000 30%),radial-gradient(circle at 100% 0,#81b2ff1f,#0000 26%),linear-gradient(#fff 0%,#f5faff 100%);border:1px solid #d7e6f7;box-shadow:0 28px 56px #354d7826}.my-reservations-panel--pending{background:radial-gradient(circle at 0 0,#ff983729,#0000 28%),radial-gradient(circle at 100% 0,#7f5af01f,#0000 24%),linear-gradient(#fffef9 0%,#fff7ee 100%);border:1px solid #ffd8a8}.my-reservations-panel__eyebrow{color:#3862b8;letter-spacing:.02em;background:linear-gradient(135deg,#ebf2ff 0%,#f2f8ff 100%);border-radius:999px;width:fit-content;margin-bottom:.7rem;padding:.45rem .85rem;font-size:.8rem;font-weight:800;display:inline-flex}.my-reservations-panel__header h1,.reservations-hero h2,.reservations-empty h2{margin-top:0;margin-bottom:.5rem}.my-reservations-panel__header h1{font-size:1.75rem;line-height:1.05}.my-reservations-panel__header{margin-bottom:1rem}.my-reservations-panel__header .muted{margin-bottom:.25rem;line-height:1.55}.my-reservations-panel--pending .my-reservations-panel__header .muted{margin-bottom:1rem}.reservations-hero{background:radial-gradient(circle at 100% 0,#1eb69329,#0000 26%),linear-gradient(135deg,#fff 0%,#f2fbf8 48%,#eef8ff 100%)}.reservations-hero .muted{line-height:1.55}.reservations-controls{gap:.95rem;display:grid}.reservations-status-stack{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.8rem;display:grid}.reservations-feedback-grid{grid-template-columns:minmax(0,1fr);gap:.8rem;display:grid}.reservations-feedback-grid>*{min-height:100%;margin:0}.availability-range-card{background:var(--card);border:1px solid var(--border);border-radius:22px;gap:.25rem;padding:1.15rem;display:grid;box-shadow:0 18px 40px #123a3d14}.availability-range-card strong{font-size:1rem}.availability-range-card p{color:#3d6070;text-transform:none;margin:0;line-height:1.45}.calendar-card{background:linear-gradient(#fff 0%,#f5fcfb 100%);border:1px solid #d9e9ec;border-radius:24px;gap:.95rem;padding:1rem;display:grid;box-shadow:0 18px 40px #123a3d14}.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.calendar-weekdays span{text-align:center;color:#5c7882;font-size:.82rem;font-weight:800}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem;display:grid}.calendar-day{color:#264651;text-align:center;background:linear-gradient(#fff 0%,#f7fcff 100%);border:1px solid #dce9ef;border-radius:18px;align-content:center;justify-items:center;gap:.3rem;min-height:3.9rem;padding:.5rem .25rem .45rem;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;box-shadow:0 10px 22px #32525c0f}.calendar-day:hover,.calendar-day:focus-visible{transform:translateY(-1px);box-shadow:0 14px 26px #32525c1a}.calendar-day__number{font-size:1rem;font-weight:800}.calendar-day__dot{background:0 0;border-radius:999px;width:.42rem;height:.42rem}.calendar-day--available{background:linear-gradient(#fff 0%,#eefcf8 100%);border-color:#86d7c8}.calendar-day--available .calendar-day__dot{background:#1ab28b}.calendar-day--busy{background:linear-gradient(#fff 0%,#f5f8fc 100%);border-color:#d8e3f5}.calendar-day--busy .calendar-day__dot{background:#97a7b8}.calendar-day--mine{background:linear-gradient(#f7fbff 0%,#ebf4ff 100%);border-color:#9ec5ff;box-shadow:0 12px 24px #3e6ec41a}.calendar-day--mine .calendar-day__dot{background:#4c8bff}.calendar-day--selected{color:#fff;background:linear-gradient(135deg,#159b91 0%,#3b82ff 100%);border-color:#0000;box-shadow:0 18px 34px #266c8e3d}.calendar-day--selected .calendar-day__dot{background:#ffffffeb}.calendar-day--today{position:relative}.calendar-day--today:after{content:"";background:#11706aad;border-radius:999px;width:.45rem;height:.45rem;position:absolute;top:.42rem;right:.42rem}.calendar-day--disabled{opacity:.45;color:#7a8a92;box-shadow:none;background:linear-gradient(#f4f6f7 0%,#edf1f3 100%)}.calendar-day--disabled .calendar-day__dot{background:#8c9ca373}.calendar-day--disabled.calendar-day--mine .calendar-day__dot{background:#4c8bff}.calendar-day--empty .calendar-day__dot{background:#bcc5cd80}.calendar-legend{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .9rem;display:grid}.calendar-legend__item{color:#5a7280;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;display:inline-flex}.calendar-legend__swatch{border-radius:999px;flex-shrink:0;width:.85rem;height:.85rem}.calendar-legend__swatch--available{background:#1ab28b}.calendar-legend__swatch--mine{background:#4c8bff}.calendar-legend__swatch--busy{background:#97a7b8}.calendar-legend__swatch--disabled{background:#c8d0d5}.week-label--current{background:linear-gradient(135deg,#e7f7f3 0%,#eef4ff 100%);border-color:#bbd8ff}.benefit-banner{color:#115247;background:linear-gradient(135deg,#e8fff5 0%,#eaf7ff 100%);border:1px solid #cde9dd;border-radius:20px;height:100%;padding:1rem 1.05rem;font-weight:600;line-height:1.5;box-shadow:0 14px 28px #1152470f}.benefit-banner--soft{color:#80511f;background:linear-gradient(135deg,#fff5de 0%,#fff1e8 100%);border-color:#ffd8a8}.payment-choice-card{z-index:1;background:linear-gradient(#fff 0%,#f6fbff 100%);border:1px solid #cfe0f3;border-radius:22px;gap:.95rem;padding:1rem 1.05rem;display:grid;position:relative;box-shadow:0 18px 34px #2d568a14}.payment-choice-card__header{gap:.3rem;display:grid}.payment-choice-grid{z-index:1;gap:.75rem;display:grid;position:relative}.payment-choice-option{text-align:left;z-index:1;color:#27405d;cursor:pointer;pointer-events:auto;background:#fffffff5;border:1px solid #d6e4f5;border-radius:18px;gap:.3rem;width:100%;padding:.95rem 1rem;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;display:grid;position:relative;box-shadow:0 12px 24px #405c8014}.payment-choice-option:hover,.payment-choice-option:focus-visible{transform:translateY(-1px);box-shadow:0 16px 26px #405c801f}.payment-choice-option strong{pointer-events:none;padding-right:2rem;font-size:.98rem}.payment-choice-option span{color:#61758b;pointer-events:none;font-size:.92rem;line-height:1.4}.payment-choice-option__check{color:#0000;pointer-events:none;background:#eef5fb;border:1px solid #b9cee7;border-radius:999px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.9rem;font-weight:800;display:inline-flex;position:absolute;top:.85rem;right:.9rem}.payment-choice-option--active{background:linear-gradient(135deg,#eaf7ff 0%,#f4fbff 100%);border-color:#2e8fd8;box-shadow:0 16px 28px #2e8fd829}.payment-choice-option--active .payment-choice-option__check{color:#fff;background:#2e8fd8;border-color:#2e8fd8}.payment-terms-check{z-index:1;color:#7d5622;background:linear-gradient(135deg,#fff8ea 0%,#fff3e1 100%);border:1px solid #f5d4a1;border-radius:18px;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.9rem .95rem;font-size:.92rem;line-height:1.45;display:grid;position:relative}.payment-terms-check input{accent-color:#2b82cf;width:1rem;height:1rem;margin-top:.2rem}.payment-confirm-button{z-index:1;color:#fff;background:linear-gradient(135deg,#0e9f8a 0%,#347cff 100%);border:0;border-radius:16px;width:100%;min-height:3.2rem;font-weight:700;position:relative;box-shadow:0 16px 28px #276cc433}.payment-confirm-button:disabled{opacity:.68;box-shadow:none}.slots-grid+.payment-choice-card,.reservations-empty-inline+.payment-choice-card{display:none}.day-picker{grid-auto-columns:minmax(5.75rem,1fr);grid-auto-flow:column;gap:.75rem;padding-bottom:.35rem;display:grid;overflow-x:auto}.day-card{background:linear-gradient(#fff 0%,#f8fcff 100%);border:1px solid #d8e8f6;border-radius:24px;gap:.9rem;padding:1.15rem;display:grid;box-shadow:0 20px 42px #354d781a}.reservations-empty-inline{background:linear-gradient(#fff 0%,#f8fbfd 100%);border:1px dashed #d5e1e7;border-radius:20px;gap:.35rem;padding:1rem;display:grid}.day-pill{color:#2a4261;text-align:center;background:linear-gradient(#fff 0%,#f6f9ff 100%);border:1px solid #d9e6f7;border-radius:20px;align-content:center;gap:.2rem;min-height:5.15rem;padding:.75rem;font-weight:700;line-height:1.3;display:grid;box-shadow:0 12px 24px #3c527d14}.day-pill small{color:var(--muted);font-weight:600}.day-pill--active{color:#fff;background:linear-gradient(135deg,#19706a 0%,#3e83ff 100%);border-color:#0000;box-shadow:0 18px 34px #1e5f883d}.day-pill--active small{color:#ffffffd6}.day-card--today{border-color:#9fd7c9;box-shadow:0 18px 40px #1c6b521f}.day-card__header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.day-card__header h2{margin:0;font-size:1.05rem}.day-note{color:#12584b;background:#e7f7f3;border-radius:999px;padding:.35rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.slots-grid{gap:1rem;display:grid}.slot-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:1rem;box-shadow:0 18px 40px #123a3d14}.slot-card__header{gap:.6rem;display:grid}.slot-card__header h3{margin:0;font-size:1.05rem;line-height:1.4}.slot-card__message{color:var(--muted);margin:.85rem 0 1rem}.slot-card__message:empty{display:none}.slot-card button{background:var(--accent);color:#fff;border:0;border-radius:14px;width:100%;min-height:3.2rem;font-weight:700}.slot-card button:disabled{opacity:.75}.slot-badge{border-radius:999px;width:fit-content;padding:.45rem .7rem;font-size:.84rem;font-weight:700;display:inline-flex}.slot-badge--available{color:#12584b;background:#e7f7f3}.slot-badge--occupied{color:#8a4b28;background:#f4ece8}.slot-badge--pending_payment{color:#8b5a00;background:#fff2d9}.slot-badge--my_reservation{color:#2358a5;background:#e6f0ff}.slot-badge--past{color:#60717a;background:#eceff1}.slot-card--past{opacity:.7;background:#f3f5f6}.my-reservations-list{gap:1rem;display:grid}.my-reservation-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dfe9f6;border-radius:26px;gap:.85rem;padding:1.2rem;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 48px #233a661a}.my-reservation-card--gratis_confirmada{background:radial-gradient(circle at 100% 0,#508aff2e,#0000 34%),linear-gradient(#fff 0%,#f4f8ff 100%);border:1px solid #d4e2f8}.my-reservation-card--pagada_confirmada{background:radial-gradient(circle at 100% 0,#4078ff33,#0000 34%),linear-gradient(#fff 0%,#f2f7ff 100%);border:1px solid #cfddff}.my-reservation-card--pendiente_pago{background:radial-gradient(circle at 100% 0,#ffa0333d,#0000 34%),linear-gradient(#fffef9 0%,#fff7ea 100%);border:1px solid #ffd59c}.my-reservation-card--cancelada{background:radial-gradient(circle at 100% 0,#95a2ae29,#0000 34%),linear-gradient(#fff 0%,#f5f7f8 100%);border:1px solid #dbe3e8}.my-reservation-card__content{gap:1.05rem;display:grid}.my-reservation-card__top{gap:.75rem;display:grid}.my-reservation-card__title-group{gap:.25rem;display:grid}.my-reservation-card__title-group strong{font-size:1.08rem}.reservation-title-line{align-items:center;gap:.55rem;display:inline-flex}.my-reservation-meta{gap:.8rem;display:grid}.my-reservation-meta--compact{grid-template-columns:1fr}.my-reservation-meta__item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border:1px solid #d6e2f1f2;border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:.75rem;padding:.8rem .9rem;display:grid}.my-reservation-meta__icon{color:#3463b8;background:linear-gradient(135deg,#edf5ff 0%,#f4f8ff 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex;box-shadow:inset 0 1px #fffc}.my-reservation-meta__icon svg{width:1.2rem;height:1.2rem}.my-reservation-meta__item div{gap:.1rem;display:grid}.my-reservation-meta__label{letter-spacing:.03em;text-transform:uppercase;color:#6d839d;font-size:.77rem;font-weight:700}.my-reservation-card__actions{gap:.65rem;display:grid}.payment-placeholder-card{background:linear-gradient(135deg,#f7fbff 0%,#eef5ff 100%);border:1px dashed #a9c8f5;border-radius:18px;gap:.55rem;padding:.95rem 1rem;display:grid}.payment-placeholder-card strong{color:#2758a5}.payment-placeholder-card--interactive{gap:.75rem}.payment-placeholder-card--interactive>.payment-placeholder-intro,.payment-placeholder-card--interactive>.payment-placeholder-button:not(.payment-placeholder-button--active),.payment-placeholder-card--interactive>.payment-placeholder-note{display:none}.payment-placeholder-copy{margin:0}.payment-placeholder-link{color:#2758a5;background:#ffffffeb;border:1px solid #7ba7e8;border-radius:16px;justify-content:center;align-items:center;min-height:2.75rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.payment-upload-stack{gap:.7rem;display:grid}.payment-upload-card{background:linear-gradient(135deg,#f5fafff2 0%,#eff7fffa 100%);border:1px dashed #3e76c93d;border-radius:18px;gap:.8rem;margin-top:.25rem;padding:.95rem 1rem;display:grid}.payment-upload-field{gap:.45rem;display:grid}.payment-upload-field span{letter-spacing:.02em;color:#45638d;font-size:.8rem;font-weight:700}.payment-upload-field input[type=file],.payment-upload-field textarea{color:#244a7f;background:#fffffff5;border:1px solid #c6d9f3;border-radius:14px;width:100%}.payment-upload-field input[type=file]{padding:.7rem .8rem}.payment-upload-field textarea{resize:vertical;min-height:5.5rem;font:inherit;padding:.8rem .9rem}.payment-upload-field textarea:focus,.payment-upload-field input[type=file]:focus-visible{outline-offset:2px;outline:2px solid #4c8bff33}.payment-placeholder-button{color:#3d66a8;opacity:1;cursor:not-allowed;background:#ffffffdb;border:1px dashed #7ba7e8;border-radius:16px;width:100%;min-height:3rem;font-weight:700}.payment-placeholder-button--active{color:#fff;cursor:pointer;background:linear-gradient(135deg,#4f8dff 0%,#3c72d1 100%);border-style:solid;border-color:#477ad8}.payment-placeholder-button--active:disabled{opacity:.65;cursor:wait}.payment-placeholder-note{color:#5f78a0}.payment-placeholder-note-readonly{color:#5f78a0;margin:0}.payment-detail-feedback{margin:0}.my-reservations-empty-card{background:linear-gradient(135deg,#fff 0%,#f7fbff 52%,#f4f9ff 100%);border:1px dashed #cddcf2;border-radius:24px;grid-template-columns:auto 1fr;align-items:center;gap:.9rem;padding:1rem;display:grid}.my-reservations-empty-icon{color:#3463b8;background:#edf5ff;border-radius:18px;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}.my-reservations-empty-icon svg{width:1.5rem;height:1.5rem}.reservation-inline-button{color:#fff;background:linear-gradient(135deg,#ff7b7b 0%,#f96 100%);border:1px solid #ea53531f;border-radius:18px;width:100%;min-height:3.25rem;font-weight:700;transition:transform .16s,box-shadow .16s;box-shadow:0 16px 30px #ff7e5b42}.my-reservations-panel:not(.my-reservations-panel--pending) .reservation-inline-button{color:#fff;background:linear-gradient(135deg,#ff8c5a 0%,#f6a23c 100%);border:1px solid #e471462e;box-shadow:0 16px 30px #f084423d}.my-reservations-panel:not(.my-reservations-panel--pending) .reservation-inline-button:hover,.my-reservations-panel:not(.my-reservations-panel--pending) .reservation-inline-button:focus-visible{box-shadow:0 20px 34px #f084424d}.reservation-inline-button:hover,.reservation-inline-button:focus-visible{transform:translateY(-1px);box-shadow:0 20px 34px #ff7e5b52}.reservation-inline-button:disabled{opacity:.78;cursor:not-allowed;box-shadow:none}.reservation-inline-locked{color:#8a5602;background:linear-gradient(135deg,#fff7e7 0%,#fff1d9 100%);border:1px solid #ffd59c;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;padding:.85rem .95rem;display:grid}.reservation-inline-locked__icon{background:#ffa7262e;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.reservation-inline-note{color:#9a5e00;margin:0;font-size:.92rem;font-weight:600;line-height:1.45}.reservation-inline-help{color:#47656f;margin:0;font-size:.92rem;line-height:1.45}.my-reservation-badge{letter-spacing:.01em;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;width:fit-content;padding:.5rem .85rem;font-size:.82rem;font-weight:800;display:inline-flex;box-shadow:inset 0 -1px #0000000f}.reservation-status-glyph{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:.84rem;font-weight:900;line-height:1;display:inline-flex}.reservation-status-glyph--blue{color:#fff;background:linear-gradient(135deg,#2f6ff7 0%,#6ea2ff 100%)}.my-reservation-badge--gratis_confirmada{color:#fff;background:linear-gradient(135deg,#3c7dff 0%,#69a1ff 100%)}.my-reservation-badge--pagada_confirmada{color:#fff;background:linear-gradient(135deg,#235df2 0%,#4b88ff 100%)}.my-reservations-panel:not(.my-reservations-panel--pending) .my-reservation-meta__item:last-child .my-reservation-meta__icon{color:#fff;background:linear-gradient(135deg,#3f79f7 0%,#6aa0ff 100%)}.my-reservations-panel:not(.my-reservations-panel--pending) .my-reservation-meta__item:last-child{background:linear-gradient(135deg,#f2f7fffa 0%,#f8fbfffa 100%);border-color:#b1cbf4f2}.my-reservations-panel:not(.my-reservations-panel--pending) .my-reservation-meta__item:last-child strong,.my-reservations-panel:not(.my-reservations-panel--pending) .my-reservation-card__title-group strong{color:#214f9f}.my-reservations-panel:not(.my-reservations-panel--pending) .reservation-inline-help{color:#486582}.my-reservation-badge--pendiente_pago{color:#fff;background:linear-gradient(135deg,#ff9f1c 0%,#ffb347 100%)}.my-reservation-badge--cancelada{color:#fff;background:linear-gradient(135deg,#94a3ad 0%,#b4bec6 100%)}.reservations-feedback{border-radius:20px;height:100%;margin:0;padding:1rem 1.05rem;font-weight:700;box-shadow:0 16px 30px #123a3d14}.reservations-feedback.error{background:linear-gradient(135deg,#fff1f0 0%,#ffe2df 100%);border:1px solid #ffcdc7}.reservations-feedback.success{background:linear-gradient(135deg,#ecfff6 0%,#dffcf4 100%);border:1px solid #b8ecd3}.help-panel{gap:.95rem;display:grid}.help-panel__intro,.help-faq-item{background:linear-gradient(135deg,#fff 0%,#f7f6ff 100%);border:1px solid #ddd7ff;border-radius:20px;gap:.35rem;padding:1rem;display:grid;box-shadow:0 14px 28px #4f378e14}.help-panel__intro p{color:#5f617a;margin:0;line-height:1.45}.help-faq-list{gap:.85rem;display:grid}.help-faq-item{gap:0;padding:0;overflow:hidden}.help-faq-item--open{box-shadow:0 18px 34px #4f378e1c}.help-faq-question{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.help-faq-question__content{gap:.35rem;display:grid}.help-faq-question__content strong{color:#2b2348}.help-faq-question__chevron{color:#4f378e;background:#7e66c41f;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.15rem;font-weight:700;display:inline-flex}.help-faq-answer{padding:0 1rem 1rem}.help-faq-answer p{color:#5f617a;margin:0;line-height:1.5}.help-faq-tag{color:#4f378e;letter-spacing:.01em;background:#4f378e1f;border-radius:999px;width:fit-content;padding:.2rem .65rem;font-size:.77rem;font-weight:700;display:inline-flex}@media (min-width:641px){.site-header{padding:1.2rem 1.25rem .45rem}.brand__title{font-size:2rem}.brand__subtitle{font-size:1.05rem}.brand__caption{max-width:none}.page-shell{padding:1rem 1.25rem 3rem}.card{margin:2.75rem auto;padding:1.55rem}.card h1{font-size:1.9rem}.dashboard{margin:2rem auto;padding:1.55rem}.dashboard-link{width:auto;padding-inline:1.25rem}.dashboard-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-hero{grid-template-columns:1fr auto;align-items:end}.dashboard-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.app-auth-nav{grid-template-columns:1fr auto;align-items:center}.app-auth-nav__signout button{width:auto;min-width:11rem}.dashboard-messages-card{grid-template-columns:1fr auto;align-items:center}.message-item__top,.admin-resident-card__top,.admin-message-card__top{grid-template-columns:1fr auto;align-items:start}.admin-card__header{grid-template-columns:1fr auto;align-items:center}.admin-header{grid-template-columns:1fr auto;align-items:end}.payment-choice-grid,.reservations-status-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.reservations-feedback-grid{align-items:stretch}.accordion-tile{min-height:5rem;padding:1rem 1.2rem}.day-card .slots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-legend{grid-template-columns:repeat(4,minmax(0,1fr))}.slot-card__header{grid-template-columns:1fr auto;align-items:start}.my-reservation-card{padding:1.3rem}.my-reservation-card__top{grid-template-columns:1fr auto;align-items:start}.my-reservation-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.my-reservation-meta--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}:root{--surface-warm:#fff9f0fa;--surface-cool:#f4fafffa;--surface-soft:#ffffffe0;--shadow-soft:0 22px 44px #193a411a;--shadow-lift:0 18px 32px #264c5c24;--ring-soft:0 0 0 4px #2c63d61f;--tone-teal:#11998e;--tone-teal-soft:#38b2ac;--tone-teal-light:#58c6d8;--tone-blue:#3867ff;--tone-blue-soft:#5a8dff;--tone-blue-light:#6caaf8;--tone-orange:#ff8a00;--tone-orange-soft:#ffb347;--tone-orange-light:#ffcb74;--tone-purple:#7f5af0;--tone-purple-soft:#9b6df6;--tone-purple-light:#b98bff}body{background:radial-gradient(circle at 0 0,#ffca922e,#0000 26%),radial-gradient(circle at 100% 0,#3d84ff29,#0000 28%),radial-gradient(circle at 0 100%,#1d99861f,#0000 26%),linear-gradient(#fbfffe 0%,#eef6f7 48%,#f4f8ff 100%)}.brand,.card,.dashboard,.messages-card,.admin-header,.admin-card,.reservations-accordion,.accordion-panel,.calendar-card,.day-card,.payment-choice-card,.help-panel__intro,.help-faq-item,.my-reservation-card,.admin-summary-card,.admin-payment-card,.admin-empty-state,.admin-message-card,.admin-resident-card,.admin-targets-preview,.admin-form-section,.admin-form-subsection{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{background:radial-gradient(circle at top right, #ffffff3d, transparent 28%), radial-gradient(circle at bottom left, #fff3, transparent 32%), linear-gradient(135deg, var(--tone-teal) 0%, var(--tone-teal-soft) 42%, var(--tone-teal-light) 100%);border-color:#2d998f42;box-shadow:0 24px 50px #11677833,inset 0 1px #ffffff3d}.brand__title,.brand__subtitle,.brand__caption{color:#fff}.brand__subtitle{color:#ffffffeb}.brand__caption{color:#ffffffe0}.card,.dashboard,.messages-card,.admin-header,.admin-card,.reservations-accordion{box-shadow:0 24px 52px #123a3d1c,inset 0 1px #ffffffe0}.card input,.card select,.admin-search-field input,.admin-select-field,.admin-textarea-field,.payment-upload-field textarea,.payment-upload-field input[type=file]{transition:border-color .16s,box-shadow .16s,background-color .16s,transform .16s}.card input:focus-visible,.card select:focus-visible,.admin-search-field input:focus-visible,.admin-select-field:focus-visible,.admin-textarea-field:focus-visible,.payment-upload-field textarea:focus-visible,.payment-upload-field input[type=file]:focus-visible{box-shadow:var(--ring-soft);background:#fffffffc;border-color:#366fd773;outline:none}.card button,.dashboard-link,.app-auth-nav__link,.admin-nav__link,.message-item__action,.admin-action-button,.payment-confirm-button,.reservation-inline-button{transition:transform .16s,box-shadow .16s,filter .16s}.card button:hover,.card button:focus-visible,.dashboard-link:hover,.dashboard-link:focus-visible,.app-auth-nav__link:hover,.app-auth-nav__link:focus-visible,.admin-nav__link:hover,.admin-nav__link:focus-visible,.message-item__action:hover,.message-item__action:focus-visible,.admin-action-button:hover,.admin-action-button:focus-visible,.payment-confirm-button:hover,.payment-confirm-button:focus-visible{box-shadow:var(--shadow-lift);transform:translateY(-1px)}.auth-card{background:radial-gradient(circle at 100% 0,#4182ff1c,#0000 32%),radial-gradient(circle at 0 100%,#1f9e911f,#0000 35%),linear-gradient(160deg,#fffffffc,#f7fcfffa);width:min(100%,34rem);padding:1.35rem}.auth-card__intro{color:#fff;border:1px solid #ffffff38;border-radius:22px;gap:.55rem;padding:1rem 1.05rem;display:grid;box-shadow:0 16px 28px #2d527c2e}.auth-card__intro h1,.auth-card__intro .muted,.auth-card__intro .auth-card__eyebrow{color:inherit}.auth-card--login .auth-card__intro{background:radial-gradient(circle at top right, #ffffff2e, transparent 28%), linear-gradient(135deg, var(--tone-teal) 0%, var(--tone-blue) 58%, var(--tone-purple-soft) 100%)}.auth-card--register .auth-card__intro{background:radial-gradient(circle at top right, #ffffff29, transparent 28%), linear-gradient(135deg, var(--tone-orange) 0%, var(--tone-orange-soft) 46%, var(--tone-teal-soft) 100%)}.auth-card .muted{line-height:1.55}.auth-card__footer a{color:#2b63d9;font-weight:700;text-decoration:none}.auth-card__footer a:hover,.auth-card__footer a:focus-visible{text-decoration:underline}.dashboard{position:relative;overflow:hidden}.dashboard:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffbc7e21,#0000 24%),radial-gradient(circle at 0 100%,#6084ff1c,#0000 26%);position:absolute;inset:0}.dashboard>*{z-index:1;position:relative}.dashboard--resident .dashboard-hero{background:radial-gradient(circle at top right, #ffffff2e, transparent 28%), linear-gradient(135deg, var(--tone-orange) 0%, var(--tone-orange-soft) 48%, var(--tone-orange-light) 100%)}.dashboard--admin .dashboard-hero{background:radial-gradient(circle at top right, #ffffff2e, transparent 28%), linear-gradient(135deg, var(--tone-orange) 0%, #f29b3d 46%, var(--tone-purple-light) 100%)}.dashboard-hero{box-shadow:0 18px 34px #1e455214}.dashboard-hero h1,.dashboard-hero .muted,.dashboard-hero .dashboard-hero__eyebrow{color:#fff}.dashboard-hero__badge{background:#fff3;border-color:#ffffff4d;box-shadow:inset 0 1px #fffc}.dashboard-hero__badge span,.dashboard-hero__badge strong{color:#fff}.dashboard-section{background:linear-gradient(160deg,#fffffff5,#f7fcfff5);box-shadow:0 14px 28px #1b3f460f}.dashboard-summary-card{background:radial-gradient(circle at 100% 0,#fff9,#0000 40%),linear-gradient(160deg,#fffffffc,#f5fbfffc);border-top:3px solid #0000}.dashboard-summary-card:nth-child(3n+1){border-top-color:#2362d666}.dashboard-summary-card:nth-child(3n+2){border-top-color:#1c8f7a66}.dashboard-summary-card:nth-child(3n+3){border-top-color:#dd883e66}.app-auth-nav{background:radial-gradient(circle at 100% 0,#ffc48d1f,#0000 28%),linear-gradient(145deg,#fffffff5,#f4fafff7)}.app-auth-nav__link{background:linear-gradient(145deg,#fffffffc,#f6fbfffa)}.app-auth-nav__link--active{box-shadow:0 16px 28px #2455a038}.messages-page--resident{gap:1rem;display:grid}.messages-page--resident .messages-card{background:radial-gradient(circle at 100% 0,#9070ff24,#0000 28%),radial-gradient(circle at 0 100%,#409dc41f,#0000 30%),linear-gradient(155deg,#fffffffc,#f6f9fffa)}.messages-card__header{background:radial-gradient(circle at top right, #ffffff2e, transparent 28%), linear-gradient(135deg, var(--tone-orange) 0%, var(--tone-orange-soft) 50%, var(--tone-purple-soft) 100%);border:1px solid #ffffff2e;border-radius:22px;padding:1rem 1.05rem;box-shadow:0 16px 28px #46447c29}.messages-card__header h1,.messages-card__header .muted,.messages-card__header .messages-card__eyebrow{color:#fff}.message-item,.messages-empty-state{background:radial-gradient(circle at 100% 0,#ffcc9f1a,#0000 34%),linear-gradient(160deg,#fffffffc,#f6fafffc)}.message-item--unread{background:radial-gradient(circle at 100% 0,#786cff1f,#0000 30%),linear-gradient(160deg,#fffffffc,#f4f8fffc)}.reservations-page--resident{gap:1rem;display:grid}.reservations-accordion{background:radial-gradient(circle at 100% 0,#568fff1f,#0000 28%),radial-gradient(circle at 0 100%,#ffbf7f1a,#0000 26%),linear-gradient(160deg,#fffffffa,#f6fbfffa);border:1px solid #c8dce0f2;border-radius:30px;padding:1rem}.accordion-tile{box-shadow:0 18px 32px #22496529}.accordion-tile,.my-reservations-panel,.availability-range-card,.calendar-card,.payment-choice-card,.reservations-empty-inline,.reservations-empty,.help-panel__intro,.help-faq-item{box-shadow:0 14px 28px #1b3f4612}.my-reservations-panel,.availability-range-card,.calendar-card,.payment-choice-card,.help-panel__intro,.help-faq-item{border-color:#cddde7eb}.admin-header{background:radial-gradient(circle at top right, #fff3, transparent 30%), radial-gradient(circle at bottom left, #ffffff1f, transparent 32%), linear-gradient(135deg, var(--tone-teal) 0%, var(--tone-teal-soft) 44%, var(--tone-teal-light) 100%)}.admin-header h1,.admin-header .muted,.admin-header__eyebrow{color:#fff}.admin-nav__link{background:linear-gradient(145deg,#fff9f0fc,#f3f8fffa)}.admin-nav__link--secondary{background:linear-gradient(145deg,#f4f1fffc,#fffffffa)}.admin-card{background:radial-gradient(circle at 100% 0,#ffbf7d1a,#0000 30%),radial-gradient(circle at 0 100%,#6783ff14,#0000 32%),linear-gradient(155deg,#fffffffc,#f7fbfffa)}.admin-card__header{background:radial-gradient(circle at top right, #ffffff2e, transparent 28%), linear-gradient(135deg, var(--tone-orange) 0%, var(--tone-orange-soft) 52%, var(--tone-orange-light) 100%);border:1px solid #fff3;border-radius:22px;padding:1rem 1.05rem;box-shadow:0 16px 28px #915f1729}.admin-card__header h2,.admin-card__header .muted,.admin-card__header .admin-section-eyebrow{color:#fff}.admin-page--overview .admin-overview-hero{background:radial-gradient(circle at 100% 0,#ffb56738,#0000 28%),radial-gradient(circle at 0 100%,#4b86ff1f,#0000 30%),linear-gradient(155deg,#fffffffc,#fff7effa)}.admin-page--payments .admin-card:first-child{background:radial-gradient(circle at 100% 0,#4780ff3d,#0000 28%),linear-gradient(155deg,#fffffffc,#f2f7fffa)}.admin-page--messages .admin-card,.admin-page--new-message .admin-card{background:radial-gradient(circle at 100% 0,#a07aff38,#0000 28%),linear-gradient(155deg,#fffffffc,#f7f6fffa)}.admin-page--residents .admin-card{background:radial-gradient(circle at 100% 0,#5caa9033,#0000 28%),radial-gradient(circle at 0 100%,#ffc07f29,#0000 28%),linear-gradient(155deg,#fffffffc,#f5fbf9fa)}.admin-page--guide .admin-guide-hero{background:radial-gradient(circle at 100% 0,#ffba6e42,#0000 28%),radial-gradient(circle at 0 100%,#765fff2e,#0000 30%),linear-gradient(155deg,#fffffffc,#fff7f0fa)}.admin-summary-card,.admin-payment-card,.admin-empty-state,.admin-message-card,.admin-resident-card,.admin-targets-preview,.admin-form-section,.admin-form-subsection{background:radial-gradient(circle at 100% 0,#ffffff80,#0000 34%),linear-gradient(160deg,#fffffffc,#f7fbfffa);box-shadow:0 14px 28px #1b3f4612}.admin-message-card,.admin-payment-card,.admin-resident-card{position:relative;overflow:hidden}.admin-message-card:before,.admin-payment-card:before,.admin-resident-card:before{content:"";border-radius:999px;width:5px;position:absolute;inset:0 auto 0 0}.admin-payment-card:before{background:linear-gradient(#4f89ff 0%,#7ab4ff 100%)}.admin-message-card:before{background:linear-gradient(#8f6cff 0%,#b392ff 100%)}.admin-resident-card:before{background:linear-gradient(#20a089 0%,#67c0a7 100%)}.admin-overview-card,.admin-guide-card{box-shadow:0 16px 30px #1b3f4614}.admin-overview-card--payments .admin-overview-card__icon,.admin-page--payments .admin-summary-card:first-child .admin-status-badge{background:linear-gradient(135deg, var(--tone-blue) 0%, var(--tone-blue-light) 100%);color:#fff}.admin-overview-card--messages .admin-overview-card__icon{background:linear-gradient(135deg, var(--tone-purple) 0%, var(--tone-purple-light) 100%);color:#fff}.admin-overview-card--residents .admin-overview-card__icon{background:linear-gradient(135deg, var(--tone-teal) 0%, var(--tone-teal-light) 100%);color:#fff}.admin-overview-card--guide .admin-overview-card__icon,.admin-guide-card__icon,.admin-guide-tip__icon{background:linear-gradient(135deg, var(--tone-orange) 0%, var(--tone-orange-light) 100%);color:#fff}.admin-search-field span,.admin-payment-grid__label,.my-reservation-meta__label{color:#5d7893}.admin-search-field input,.admin-select-field,.admin-textarea-field{background:#fffffffa}.admin-form-section{gap:1rem}.admin-message-form__actions .dashboard-link--primary{box-shadow:0 16px 30px #5365d633}.admin-page--new-message .admin-targets-preview{background:radial-gradient(circle at 100% 0,#967aff14,#0000 32%),linear-gradient(145deg,#fffffffc,#f7f7fffa)}.admin-page--guide .admin-guide-card{background:radial-gradient(circle at 100% 0,#ffc58f1f,#0000 28%),linear-gradient(160deg,#fffffffc,#f9fbfffa)}@media (min-width:641px){.auth-card{margin:2.4rem auto;padding:1.6rem}.reservations-accordion{padding:1.2rem}}
