.auth-shell{--auth-ink: #0c1222;--auth-ink-soft: #3d4a63;--auth-card: rgba(255, 255, 255, .78);--auth-card-border: rgba(255, 255, 255, .55);--auth-shadow: 0 24px 80px rgba(15, 23, 42, .18);--auth-primary: #5b4dff;--auth-primary-deep: #3d2fd4;--auth-teal: #0d9f9a;--auth-coral: #ff6b4a;--auth-input-bg: rgba(255, 255, 255, .9);--auth-radius: 1.25rem;--auth-radius-sm: .75rem;min-height:100vh;position:relative;overflow-x:hidden;background:linear-gradient(145deg,#0f172a 0%,#1e1b4b 42%,#134e4a 100%);color:var(--auth-ink);font-family:Outfit,system-ui,sans-serif}.auth-shell__mesh{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(ellipse 120% 80% at 0% -10%,rgba(91,77,255,.45),transparent 55%),radial-gradient(ellipse 90% 60% at 100% 10%,rgba(13,159,154,.35),transparent 50%),radial-gradient(ellipse 70% 50% at 50% 100%,rgba(255,107,74,.2),transparent 45%);opacity:.95}.auth-shell__orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;opacity:.55}.auth-shell__orb--1{width:320px;height:320px;background:#7c6cff;top:-80px;right:8%}.auth-shell__orb--2{width:280px;height:280px;background:#2dd4bf;bottom:5%;left:-40px}.auth-shell__orb--3{width:200px;height:200px;background:#fb7185;top:40%;left:35%;opacity:.25}.auth-shell__main{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1fr minmax(320px,440px);gap:clamp(2rem,5vw,4rem);align-items:center;max-width:1120px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem)}@media (max-width: 900px){.auth-shell__main{grid-template-columns:1fr;align-content:center}.auth-shell__hero{text-align:center;order:2;max-width:32rem;margin:0 auto}.auth-shell__hero-list{justify-content:center}.auth-shell__panel{order:1}}.auth-shell__hero{color:#f1f5f9}.auth-shell__hero--minimal{display:flex;align-items:center;justify-content:center;min-height:12rem;padding:1rem 0}@media (min-width: 901px){.auth-shell__hero--minimal{min-height:auto;justify-content:flex-start;align-items:center;padding:0}}.auth-shell__hero-mark{font-size:clamp(2.25rem,5vw,3.25rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;background:linear-gradient(120deg,#e2e8f0,#a5b4fc 40%,#5eead4 75%,#fda4af);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(165,180,252,.15)}.auth-shell__badge{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .85rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);margin-bottom:1.25rem;color:#e2e8f0}.auth-shell__hero-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15;margin:0 0 1rem;letter-spacing:-.02em}.auth-shell__hero-accent{background:linear-gradient(120deg,#a5b4fc,#5eead4,#fda4af);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-shell__hero-copy{margin:0 0 1.5rem;font-size:1.05rem;line-height:1.65;color:#e2e8f0e0;max-width:28rem}.auth-shell__hero-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem}.auth-shell__hero-list li{font-size:.875rem;color:#f1f5f9d9;padding:.4rem .85rem;border-radius:999px;background:rgba(15,23,42,.35);border:1px solid rgba(148,163,184,.25)}.auth-shell__panel{width:100%}.auth-shell__card{background:var(--auth-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--auth-radius);border:1px solid var(--auth-card-border);box-shadow:var(--auth-shadow);padding:clamp(1.75rem,4vw,2.25rem)}.auth-shell__card-head{margin-bottom:1.5rem}.auth-shell__brand-mark{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--auth-primary)}.auth-shell__title{margin:0;font-size:1.65rem;font-weight:700;letter-spacing:-.02em;color:var(--auth-ink);line-height:1.2}.auth-shell__title-brand{display:inline;background:linear-gradient(120deg,#4f46e5,#7c3aed 45%,#0d9488);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-shell__subtitle{margin:.5rem 0 0;font-size:.95rem;color:var(--auth-ink-soft);line-height:1.5}.auth-shell__footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(15,23,42,.08);text-align:center;font-size:.9rem;color:var(--auth-ink-soft)}.auth-shell__footer a{color:var(--auth-primary);font-weight:600;text-decoration:none}.auth-shell__footer a:hover{text-decoration:underline;color:var(--auth-primary-deep)}.auth-shell__details{margin-top:1.25rem;padding-top:1.2rem;border-top:1px solid rgba(15,23,42,.06)}.auth-shell__details-block+.auth-shell__details-block{margin-top:1rem}.auth-shell__details-label{margin:0 0 .4rem;font-size:.6875rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#94a3b8}.auth-shell__details p{margin:0;font-size:.8125rem;line-height:1.55;color:#64748b}.auth-shell__details-list{margin:.35rem 0 0;padding-left:1.05rem;font-size:.8125rem;line-height:1.5;color:#64748b}.auth-shell__details-list li{margin-bottom:.25rem}.auth-shell__details-list li:last-child{margin-bottom:0}.auth-field{margin-bottom:1.1rem}.auth-field__label{display:block;font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.4rem}.auth-field__req{color:#f97316;font-weight:700}.auth-field__input{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:#0f172a;background:var(--auth-input-bg, rgba(255, 255, 255, .9));border:1px solid rgba(15,23,42,.12);border-radius:var(--auth-radius-sm, .75rem);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth-field__input::placeholder{color:#94a3b8}.auth-field__input:hover{border-color:#5b4dff59}.auth-field__input:focus{border-color:#5b4dff;box-shadow:0 0 0 3px #5b4dff33}.auth-field--error .auth-field__input{border-color:#e11d48}.auth-field--error .auth-field__input:focus{box-shadow:0 0 0 3px #e11d482e}.auth-field__hint{margin:.35rem 0 0;font-size:.8rem;color:#64748b}.auth-field__error{margin:.35rem 0 0;font-size:.8rem;color:#be123c;font-weight:500}.auth-alert{padding:.75rem 1rem;border-radius:.75rem;font-size:.875rem;line-height:1.45;margin-bottom:1rem}.auth-alert--error{background:rgba(225,29,72,.1);border:1px solid rgba(225,29,72,.25);color:#9f1239}.auth-alert--success{background:rgba(13,159,154,.12);border:1px solid rgba(13,159,154,.35);color:#0f766e}.auth-form__submit{width:100%;margin-top:.25rem;padding:.85rem 1.25rem;font-size:1rem;font-weight:600;font-family:inherit;color:#fff;border:none;border-radius:.85rem;cursor:pointer;background:linear-gradient(135deg,#5b4dff 0%,#7c3aed 48%,#0d9f9a 100%);background-size:200% 200%;box-shadow:0 12px 32px #5b4dff59;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.auth-form__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 40px #5b4dff66;filter:brightness(1.03)}.auth-form__submit:active:not(:disabled){transform:translateY(0)}.auth-form__submit:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.auth-form__submit:focus-visible{outline:2px solid #5b4dff;outline-offset:3px}.profile-menu{position:relative;flex-shrink:0}.profile-menu__trigger{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;border-radius:50%;box-shadow:0 0 0 2px #fffffff2,0 4px 20px #4f46e559;transition:transform .15s ease,box-shadow .15s ease}.profile-menu__trigger:hover{transform:translateY(-1px);box-shadow:0 0 0 2px #fffffff2,0 8px 28px #4f46e573}.profile-menu__trigger:focus-visible{outline:2px solid #4f46e5;outline-offset:3px}.profile-menu__avatar{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 45%,#0d9488 100%);background-size:140% 140%;-webkit-user-select:none;user-select:none}.profile-menu__avatar--sm{width:2.25rem;height:2.25rem;font-size:.72rem;flex-shrink:0}.profile-menu__dropdown{position:absolute;right:0;top:calc(100% + .5rem);min-width:15.5rem;padding:.35rem 0;background:#fff;border-radius:.85rem;border:1px solid rgba(15,23,42,.08);box-shadow:0 20px 50px #0f172a1f,0 0 0 1px #0f172a0a;z-index:50;animation:profile-menu-in .18s ease}@keyframes profile-menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.profile-menu__header{display:flex;gap:.65rem;align-items:center;padding:.65rem .85rem .75rem;border-bottom:1px solid rgba(15,23,42,.06)}.profile-menu__meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.profile-menu__display-name{font-weight:600;font-size:.9rem;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu__email{font-size:.75rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-menu__role-pill{font-size:.65rem;font-weight:700;text-transform:capitalize;color:#4f46e5;align-self:flex-start;padding:.15rem .4rem;border-radius:.35rem;background:rgba(79,70,229,.1)}.profile-menu__section{padding:.35rem 0}.profile-menu__section--footer{border-top:1px solid rgba(15,23,42,.06);padding-top:.35rem}.profile-menu__item{display:block;width:100%;text-align:left;padding:.55rem .95rem;font-family:inherit;font-size:.875rem;font-weight:500;color:#334155;background:transparent;border:none;cursor:pointer;transition:background .12s ease}.profile-menu__item:hover{background:rgba(79,70,229,.06);color:#1e293b}.profile-menu__item--accent{color:#4f46e5;font-weight:600}.profile-menu__item--accent:hover{background:rgba(79,70,229,.1)}.profile-menu__item--danger{color:#be123c}.profile-menu__item--danger:hover{background:rgba(190,18,60,.06)}.admin-pg-selector{display:flex;flex-direction:column;align-items:stretch;gap:.2rem;min-width:0;max-width:min(320px,55vw)}.admin-pg-selector__label{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0;white-space:nowrap}.admin-pg-selector__select{font-family:inherit;font-size:.8125rem;font-weight:600;color:#0f172a;padding:.4rem 2rem .4rem .65rem;border-radius:.55rem;border:1px solid rgba(79,70,229,.25);background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234f46e5' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;box-shadow:0 1px 2px #0f172a0d}.admin-pg-selector__select:hover{border-color:#4f46e573}.admin-pg-selector__select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e533}.admin-pg-selector__single{font-size:.8125rem;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-pg-selector--muted,.admin-pg-selector--hint{font-size:.75rem;color:#64748b;text-align:center;padding:.35rem .5rem;max-width:min(280px,50vw);line-height:1.3}.admin-pg-selector--hint{color:#94a3b8;font-weight:500}@media (max-width: 480px){.admin-pg-selector{max-width:min(200px,42vw)}.admin-pg-selector__label{display:none}}.navbar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(15,23,42,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.navbar__inner{max-width:1200px;margin:0 auto;padding:.65rem 1.25rem .55rem;display:flex;flex-direction:column;gap:.55rem}.navbar__top{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;width:100%;gap:.75rem}.navbar__brand{font-weight:700;font-size:1.05rem;letter-spacing:-.02em;color:#4f46e5;text-decoration:none;flex-shrink:0}.navbar__pg-slot{flex:1;min-width:0;display:flex;justify-content:center;align-items:center;padding:0 .25rem}.navbar__brand:hover{color:#4338ca}.navbar__links{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .15rem;width:100%;padding-top:.35rem;border-top:1px solid rgba(15,23,42,.06)}.navbar__link{padding:.45rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:#475569;text-decoration:none;transition:background .12s ease,color .12s ease}.navbar__link:hover{color:#0f172a;background:rgba(15,23,42,.05)}.navbar__link--active{color:#4f46e5;background:rgba(79,70,229,.1)}.app-layout{min-height:100vh;background:linear-gradient(180deg,#f8fafc 0%,#eef2ff 55%,#f8fafc 100%)}.app-layout__main{max-width:1200px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem}.page h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:#0f172a}.page__lead{margin:0 0 1.25rem;color:#64748b;font-size:.95rem}.page__panel{background:#fff;border-radius:1rem;border:1px solid rgba(15,23,42,.06);box-shadow:0 8px 32px #0f172a0f;padding:1.25rem 1.35rem;margin-bottom:1rem}.page__panel h2{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:#1e293b}.page__error{padding:.65rem .85rem;border-radius:.65rem;background:rgba(225,29,72,.08);border:1px solid rgba(225,29,72,.2);color:#9f1239;font-size:.875rem;margin-bottom:1rem}.page__success{padding:.65rem .85rem;border-radius:.65rem;background:rgba(13,159,154,.1);border:1px solid rgba(13,159,154,.25);color:#0f766e;font-size:.875rem;margin-bottom:1rem}.page__table-wrap{overflow-x:auto}.page table{width:100%;border-collapse:collapse;font-size:.875rem}.page th,.page td{text-align:left;padding:.55rem .65rem;border-bottom:1px solid #e2e8f0}.page th{font-weight:600;color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.page__btn{font-family:inherit;font-size:.8125rem;font-weight:600;padding:.45rem .85rem;border-radius:.5rem;border:none;cursor:pointer;background:linear-gradient(135deg,#5b4dff,#7c3aed);color:#fff}.page__btn:disabled{opacity:.55;cursor:not-allowed}.page__btn--ghost{background:#f1f5f9;color:#334155;border:1px solid #e2e8f0}.page__input,.page__select,.page__textarea{width:100%;max-width:420px;padding:.55rem .75rem;border-radius:.5rem;border:1px solid #e2e8f0;font-family:inherit;font-size:.875rem;margin-bottom:.65rem}.page__textarea{max-width:100%;min-height:100px;resize:vertical}.page__label{display:block;font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:.25rem}.field-row{margin-bottom:.85rem}.home-invite__list{display:flex;flex-direction:column;gap:.65rem}.home-invite__card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-radius:.85rem;background:linear-gradient(135deg,#eef2ff,#f5f3ff);border:1px solid rgba(99,102,241,.2);box-shadow:0 2px 8px #6366f114}.home-invite__info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.home-invite__pg-name{font-size:1rem;font-weight:700;color:#1e293b}.home-invite__pg-addr{font-size:.78rem;color:#64748b}.home-invite__room{font-size:.78rem;font-weight:600;color:#4f46e5}.home-invite__actions{display:flex;gap:.45rem;flex-shrink:0}.home-invite__btn{font-family:inherit;font-size:.8rem;font-weight:700;padding:.4rem .85rem;border-radius:.5rem;border:none;cursor:pointer;transition:all .15s ease}.home-invite__btn:disabled{opacity:.55;cursor:not-allowed}.home-invite__btn--accept{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff}.home-invite__btn--accept:hover:not(:disabled){box-shadow:0 2px 8px #16a34a4d}.home-invite__btn--decline{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.home-invite__btn--decline:hover:not(:disabled){background:#fee2e2;color:#991b1b;border-color:#e11d4833}.home-pay-alert{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:.85rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid rgba(245,158,11,.3);box-shadow:0 2px 10px #f59e0b1a}.home-pay-alert--overdue{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#dc262640;box-shadow:0 2px 10px #dc26261a}.home-pay-alert__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(245,158,11,.12)}.home-pay-alert--overdue .home-pay-alert__icon{background:rgba(220,38,38,.1)}.home-pay-alert__body{flex:1;min-width:0}.home-pay-alert__title{margin:0;font-size:.95rem;font-weight:700;color:#92400e}.home-pay-alert--overdue .home-pay-alert__title{color:#991b1b}.home-pay-alert__desc{margin:.15rem 0 0;font-size:.82rem;color:#78716c}.home-pay-alert--overdue .home-pay-alert__desc{color:#7f1d1d}.home-pay-alert__reminder{display:inline-block;margin-top:.35rem;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;background:rgba(245,158,11,.15);color:#b45309}.home-pay-alert--overdue .home-pay-alert__reminder{background:rgba(220,38,38,.1);color:#dc2626}.home-pay-alert__action{flex-shrink:0;font-family:inherit;font-size:.82rem;font-weight:700;padding:.5rem 1rem;border-radius:.55rem;border:none;cursor:pointer;text-decoration:none;background:linear-gradient(135deg,#d97706,#b45309);color:#fff;transition:all .15s ease;white-space:nowrap}.home-pay-alert--overdue .home-pay-alert__action{background:linear-gradient(135deg,#dc2626,#b91c1c)}.home-pay-alert__action:hover{box-shadow:0 3px 10px #b453094d;transform:translateY(-1px)}.home-pay-alert--overdue .home-pay-alert__action:hover{box-shadow:0 3px 10px #dc26264d}@media (max-width: 520px){.home-pay-alert{flex-wrap:wrap}.home-pay-alert__action{width:100%;text-align:center}}.home-leaves__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.home-leaves__header h2{margin:0}.home-leaves__form{margin-bottom:1rem;padding:.85rem;border-radius:.75rem;background:#f8fafc;border:1px solid #e2e8f0}.home-leaves__form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;margin-bottom:.75rem}.home-leaves__reason{grid-column:1 / -1}.home-leaves__stats{display:flex;gap:.65rem;margin:.75rem 0}.home-leaves__stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:.65rem .5rem;border-radius:.75rem;cursor:pointer;transition:all .15s ease;border:1.5px solid transparent;-webkit-user-select:none;user-select:none}.home-leaves__stat:hover{transform:translateY(-1px)}.home-leaves__stat--active{background:#f0fdf4}.home-leaves__stat--upcoming{background:#eff6ff}.home-leaves__stat--pending{background:#fffbeb}.home-leaves__stat--total{background:#f8fafc}.home-leaves__stat--total .home-leaves__stat-count{color:#475569}.home-leaves__stat--selected.home-leaves__stat--active{border-color:#16a34a;box-shadow:0 2px 8px #16a34a26}.home-leaves__stat--selected.home-leaves__stat--upcoming{border-color:#2563eb;box-shadow:0 2px 8px #2563eb26}.home-leaves__stat--selected.home-leaves__stat--pending{border-color:#d97706;box-shadow:0 2px 8px #d9770626}.home-leaves__stat-count{font-size:1.35rem;font-weight:800;line-height:1}.home-leaves__stat--active .home-leaves__stat-count{color:#16a34a}.home-leaves__stat--upcoming .home-leaves__stat-count{color:#2563eb}.home-leaves__stat--pending .home-leaves__stat-count{color:#d97706}.home-leaves__stat-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-top:.2rem}.home-leaves__list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.home-leaves__item{display:flex;align-items:center;justify-content:space-between;padding:.7rem .85rem;border-radius:.65rem;background:#f8fafc;border:1px solid #f1f5f9;transition:border-color .15s ease}.home-leaves__item--active{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#16a34a33}.home-leaves__dates{display:flex;flex-direction:column;gap:.15rem;min-width:0}.home-leaves__date-range{font-size:.85rem;font-weight:600;color:#1e293b}.home-leaves__days{font-size:.72rem;font-weight:500;color:#94a3b8}.home-leaves__reason-text{font-size:.75rem;font-weight:400;color:#64748b;margin-top:.1rem}.home-leaves__item-right{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.home-leaves__active-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;animation:home-leaves-pulse 1.5s ease-in-out infinite}@keyframes home-leaves-pulse{0%,to{opacity:1}50%{opacity:.4}}.home-leaves__badge{padding:.2rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:capitalize;flex-shrink:0}.home-leaves__badge--pending{background:#fef3c7;color:#92400e}.home-leaves__badge--approved{background:#dcfce7;color:#166534}.home-leaves__badge--rejected{background:#fee2e2;color:#991b1b}.leaves-empty{text-align:center;padding:2rem 1rem;border-radius:.75rem;background:#f8fafc;border:1px dashed #e2e8f0}.leaves-empty__text{margin:0;font-size:.95rem;font-weight:600;color:#64748b}.leaves-empty__hint{margin:.35rem 0 0;font-size:.82rem;color:#94a3b8}@media (max-width: 480px){.home-leaves__stats{gap:.4rem}.home-leaves__stat{padding:.5rem .35rem}.home-leaves__stat-count{font-size:1.1rem}}.page__btn--sm{font-size:.8rem;padding:.35rem .75rem}.home-payments__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.home-payments__header h2{margin:0}.home-payments__current{padding:.85rem;border-radius:.75rem;background:#f8fafc;border:1px solid #e2e8f0;margin-bottom:.75rem}.home-payments__current-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.home-payments__amount{font-size:1.25rem;font-weight:800;color:#1e293b}.home-payments__due{font-size:.75rem;color:#64748b}.home-payments__reminder{padding:.4rem .65rem;border-radius:.5rem;background:#fef3c7;border:1px solid rgba(245,158,11,.25);color:#92400e;font-size:.8rem;font-weight:600;margin-top:.5rem}.home-payments__actions{display:flex;align-items:center;gap:.5rem;margin-top:.65rem}.home-payments__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.home-payments__item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-radius:.5rem;background:#f8fafc;border:1px solid #f1f5f9;font-size:.85rem}.home-payments__item-info{display:flex;flex-direction:column;gap:.1rem}.home-payments__item-month{font-weight:600;color:#1e293b}.home-payments__item-amount{font-size:.75rem;color:#64748b}.pay-badge{padding:.2rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:capitalize;flex-shrink:0}.pay-badge--pending{background:#fef3c7;color:#92400e}.pay-badge--paid{background:#dbeafe;color:#1e40af}.pay-badge--verified{background:#dcfce7;color:#166534}.pay-badge--overdue{background:#fee2e2;color:#991b1b}.tenants-dash{margin-bottom:1.35rem;padding:1.15rem 1.25rem 1.35rem;border-radius:1.15rem;background:#fff;border:1px solid rgba(15,23,42,.07);box-shadow:0 12px 40px #0f172a0f}.tenants-dash--loading,.tenants-dash--error{text-align:center;color:#64748b;font-size:.9rem}.tenants-dash--error{color:#9f1239;background:rgba(225,29,72,.06);border-color:#e11d4826}.tenants-dash__pg-label{margin:0 0 .5rem}.tenants-dash__pg-label-text{display:inline-block;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:rgba(13,148,136,.12);color:#0f766e}.tenants-dash__hint{margin:0 0 1rem;font-size:.78rem;color:#94a3b8;line-height:1.45}.tenants-dash__warn{margin:0 0 1rem;padding:.5rem .65rem;border-radius:.6rem;font-size:.8rem;background:rgba(245,158,11,.12);color:#b45309;border:1px solid rgba(245,158,11,.25)}.tenants-dash__kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:.65rem;margin-bottom:1.25rem}.tenants-dash__kpi{padding:.65rem .75rem;border-radius:.85rem;background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0}.tenants-dash__kpi--paid{border-color:#0d948859;background:linear-gradient(145deg,rgba(13,148,136,.08),#f0fdfa)}.tenants-dash__kpi--pending{border-color:#f59e0b59;background:linear-gradient(145deg,rgba(245,158,11,.08),#fffbeb)}.tenants-dash__kpi--overdue{border-color:#e11d4840;background:linear-gradient(145deg,rgba(225,29,72,.06),#fff1f2)}.tenants-dash__kpi-value{display:block;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:#0f172a;line-height:1.1}.tenants-dash__kpi-label{display:block;margin-top:.2rem;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.tenants-dash__charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.tenants-dash__charts--single{grid-template-columns:minmax(260px,420px)}.tenants-dash__chart-card{padding:.85rem 1rem 1rem;border-radius:1rem;background:#fafafa;border:1px solid #e2e8f0}.tenants-dash__chart-title{margin:0 0 .5rem;font-size:.85rem;font-weight:700;color:#334155}.tenants-dash__chart-inner{width:100%;min-height:220px}.tenants-dash__empty-chart{margin:0;padding:2rem .5rem;text-align:center;font-size:.85rem;color:#94a3b8}.tenants-dash__kpi--present{border-color:#22c55e59;background:linear-gradient(145deg,rgba(34,197,94,.08),#f0fdf4)}.tenants-dash__kpi--on-leave{border-color:#a855f74d;background:linear-gradient(145deg,rgba(168,85,247,.08),#faf5ff)}.tenants-dash__kpi--clickable{cursor:pointer;transition:all .15s ease}.tenants-dash__kpi--clickable:hover{box-shadow:0 2px 8px #a855f726;border-color:#a855f780}.tenants-dash__kpi-hint{display:block;font-size:.55rem;color:#a855f7;margin-top:.15rem;font-weight:500}.tenants-dash__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.tenants-dash__modal{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0f172a2e;width:100%;max-width:420px;max-height:80vh;overflow-y:auto;padding:1.25rem}.tenants-dash__modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.tenants-dash__modal-header h3{margin:0;font-size:1rem;font-weight:700;color:#1e293b}.tenants-dash__modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:#f1f5f9;color:#64748b;font-size:1.25rem;cursor:pointer;transition:all .15s ease}.tenants-dash__modal-close:hover{background:#e2e8f0;color:#1e293b}.tenants-dash__leave-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.tenants-dash__leave-item{display:flex;align-items:center;justify-content:space-between;padding:.55rem .65rem;border-radius:.5rem;background:#f8fafc;border:1px solid #f1f5f9}.tenants-dash__leave-name{display:block;font-size:.85rem;font-weight:700;color:#1e293b}.tenants-dash__leave-room{display:block;font-size:.7rem;color:#64748b}.tenants-dash__leave-dates{font-size:.75rem;font-weight:600;color:#a855f7;flex-shrink:0}.tenant-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;padding:0}@media (min-width: 640px){.tenant-modal{align-items:center;padding:1.5rem}}.tenant-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;margin:0;background:rgba(15,23,42,.45);cursor:pointer}.tenant-modal__panel{position:relative;z-index:1;width:100%;max-width:520px;max-height:min(92vh,720px);display:flex;flex-direction:column;background:#fff;border-radius:1.15rem 1.15rem 0 0;box-shadow:0 -8px 40px #0f172a2e;overflow:hidden}@media (min-width: 640px){.tenant-modal__panel{border-radius:1.15rem;max-height:90vh}}.tenant-modal__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;border-bottom:1px solid #e2e8f0;flex-shrink:0}.tenant-modal__title{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.tenant-modal__close{width:2.25rem;height:2.25rem;border:none;border-radius:.5rem;background:#f1f5f9;color:#475569;font-size:1.35rem;line-height:1;cursor:pointer}.tenant-modal__close:hover{background:#e2e8f0}.tenant-modal__body{padding:1rem 1.1rem 1.25rem;overflow-y:auto;flex:1}.tenant-modal__status{margin:0;color:#64748b;font-size:.9rem}.tenant-modal__error{margin:0 0 .75rem;padding:.5rem .65rem;border-radius:.5rem;background:rgba(225,29,72,.08);color:#9f1239;font-size:.85rem}.tenant-modal__dl{margin:0;display:grid;grid-template-columns:minmax(0,34%) 1fr;gap:.5rem .85rem;font-size:.875rem}.tenant-modal__dl dt{margin:0;font-weight:700;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.tenant-modal__dl dd{margin:0;color:#0f172a;word-break:break-word}.tenant-modal__cap{text-transform:capitalize}.tenant-modal__form{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .85rem}.tenant-modal__field{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.tenant-modal__field--full{grid-column:1 / -1}.tenant-modal__field input,.tenant-modal__field select,.tenant-modal__field textarea{font-family:inherit;font-size:.875rem;font-weight:500;text-transform:none;letter-spacing:normal;padding:.45rem .55rem;border-radius:.5rem;border:1px solid #e2e8f0;color:#0f172a}.tenant-modal__field textarea{resize:vertical;min-height:3.5rem}.tenant-modal__actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:.85rem;border-top:1px solid #e2e8f0}.tenant-modal__footer{padding:.75rem 1.1rem 1.1rem;border-top:1px solid #e2e8f0;flex-shrink:0}.tenant-modal__btn-primary{font-family:inherit;font-size:.875rem;font-weight:700;padding:.5rem 1rem;border-radius:.6rem;border:none;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;cursor:pointer}.tenant-modal__btn-primary:disabled{opacity:.6;cursor:not-allowed}.tenant-modal__btn-secondary{font-family:inherit;font-size:.875rem;font-weight:600;padding:.5rem .9rem;border-radius:.6rem;border:1px solid #e2e8f0;background:#fff;color:#334155;cursor:pointer}.tenants-page{max-width:1120px;margin:0 auto}.tenants-hero{position:relative;overflow:hidden;border-radius:1.25rem;padding:1.75rem 1.75rem 1.5rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#0f766e 0%,#0d9488 38%,#14b8a6 100%);color:#f0fdfa;box-shadow:0 20px 50px #0f766e59}.tenants-hero:after{content:"";position:absolute;inset:-40% -20% auto auto;width:55%;height:140%;background:radial-gradient(circle,rgba(255,255,255,.18) 0%,transparent 65%);pointer-events:none}.tenants-hero__inner{position:relative;z-index:1}.tenants-hero__eyebrow{margin:0 0 .35rem;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.88}.tenants-hero__title{margin:0 0 .4rem;font-size:1.65rem;font-weight:800;letter-spacing:-.03em;line-height:1.15}.tenants-hero__sub{margin:0;max-width:36rem;font-size:.9375rem;line-height:1.5;opacity:.92}.tenants-hero__pg{margin:.85rem 0 0;display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);font-size:.8125rem;font-weight:600}.tenants-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-top:1.25rem}.tenants-stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:.85rem;padding:.75rem .9rem}.tenants-stat__value{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.tenants-stat__label{margin-top:.2rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.85}.tenants-page__no-pg{margin-bottom:1rem}.tenants-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem}.tenants-toolbar--pg{margin-bottom:.85rem}.tenants-pg-inline{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.tenants-pg-inline label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.tenants-pg-select{font-family:inherit;font-size:.875rem;padding:.45rem .65rem;border-radius:.65rem;border:1px solid #e2e8f0;min-width:200px;background:#fff}.tenants-search-wrap{flex:1;min-width:200px;position:relative}.tenants-search-wrap svg{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:1rem;height:1rem;opacity:.45;pointer-events:none}.tenants-search{width:100%;box-sizing:border-box;padding:.6rem .85rem .6rem 2.35rem;border-radius:.75rem;border:1px solid rgba(15,23,42,.1);background:#fff;font-family:inherit;font-size:.875rem;box-shadow:0 2px 12px #0f172a0a}.tenants-search:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d948833}.tenants-btn-primary{font-family:inherit;font-size:.875rem;font-weight:700;padding:.6rem 1.1rem;border-radius:.75rem;border:none;cursor:pointer;background:linear-gradient(135deg,#0f766e,#0d9488);color:#fff;box-shadow:0 8px 24px #0f766e59;transition:transform .15s ease,box-shadow .15s ease}.tenants-btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #0f766e66}.tenants-btn-ghost{font-family:inherit;font-size:.875rem;font-weight:600;padding:.6rem 1rem;border-radius:.75rem;border:1px solid rgba(15,23,42,.12);background:#fff;color:#334155;cursor:pointer}.tenants-btn-ghost:hover{background:#f8fafc}.tenants-onboard{border-radius:1.15rem;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);box-shadow:0 16px 48px #0f172a14;padding:1.35rem 1.4rem 1.5rem;margin-bottom:1.25rem}.tenants-onboard__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1.1rem}.tenants-onboard__head h2{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.tenants-onboard__hint{margin:.25rem 0 0;font-size:.8125rem;color:#64748b;max-width:32rem;line-height:1.45}.tenants-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem 1rem}.tenants-field{display:flex;flex-direction:column;gap:.3rem}.tenants-field label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.tenants-field input,.tenants-field select,.tenants-field textarea{font-family:inherit;font-size:.875rem;padding:.5rem .65rem;border-radius:.6rem;border:1px solid #e2e8f0;background:#fff}.tenants-field input:focus,.tenants-field select:focus,.tenants-field textarea:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 2px #0d948826}.tenants-field--full{grid-column:1 / -1}.tenants-field textarea{min-height:4rem;resize:vertical}.tenants-form-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.tenants-btn-submit{font-family:inherit;font-size:.875rem;font-weight:700;padding:.55rem 1.15rem;border-radius:.65rem;border:none;cursor:pointer;background:#0f172a;color:#fff}.tenants-btn-submit:disabled{opacity:.55;cursor:not-allowed}.tenants-list-card{border-radius:1.15rem;border:1px solid rgba(15,23,42,.06);background:#fff;box-shadow:0 8px 32px #0f172a0f;overflow:hidden}.tenants-list-card__bar{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.15rem;background:linear-gradient(90deg,#f8fafc,#fff);border-bottom:1px solid #e2e8f0}.tenants-list-card__bar h2{margin:0;font-size:.95rem;font-weight:700;color:#1e293b}.tenants-list-card__meta{font-size:.75rem;color:#64748b;font-weight:600}.tenants-table-wrap{overflow-x:auto}.tenants-table{width:100%;border-collapse:collapse;font-size:.8125rem}.tenants-table th,.tenants-table td{text-align:left;padding:.7rem 1rem;border-bottom:1px solid #f1f5f9}.tenants-table th{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b;background:#fafafa}.tenants-table tbody tr:hover{background:#f8fafc}.tenants-table--slim th:last-child,.tenants-table--slim td:last-child{text-align:right;width:7rem}.tenants-slim-photo{width:44px;height:44px;border-radius:.75rem;object-fit:cover;display:block;border:1px solid rgba(15,23,42,.08)}.tenants-avatar--slim{width:44px;height:44px;border-radius:.75rem;font-size:.8rem}.tenants-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem .65rem}.tenants-link-btn{font-family:inherit;font-size:.8125rem;font-weight:600;padding:0;border:none;background:none;color:#0d9488;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tenants-link-btn:hover{color:#0f766e}.tenants-cell-user{display:flex;align-items:center;gap:.65rem}.tenants-avatar{width:2.25rem;height:2.25rem;border-radius:.65rem;background:linear-gradient(135deg,#0d9488,#2dd4bf);color:#fff;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tenants-name{font-weight:600;color:#0f172a}.tenants-muted{font-size:.72rem;color:#94a3b8;margin-top:.1rem}.tenants-badge{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tenants-badge--ok{background:rgba(13,148,136,.12);color:#0f766e}.tenants-badge--off{background:rgba(225,29,72,.1);color:#be123c}.tenants-empty{padding:2.5rem 1.5rem;text-align:center;color:#64748b;font-size:.9rem}.tenants-empty strong{display:block;color:#334155;margin-bottom:.35rem;font-size:1rem}.tenants-loading{padding:2rem;text-align:center;color:#64748b;font-size:.875rem}.tenants-onboard-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.65rem;font-weight:700;text-transform:capitalize;letter-spacing:.02em}.tenants-onboard-badge--accepted{background:#dcfce7;color:#166534}.tenants-onboard-badge--pending{background:#fef3c7;color:#92400e}.tenants-onboard-badge--declined{background:#fee2e2;color:#991b1b}@media (max-width: 640px){.tenants-hero{padding:1.35rem 1.15rem}.tenants-hero__title{font-size:1.35rem}}.bed-occ-chart{margin-bottom:1.25rem}.bed-occ-chart--loading,.bed-occ-chart--error{padding:1.15rem 1.25rem;border-radius:1.15rem;text-align:center;font-size:.9rem;color:#64748b;background:#fff;border:1px solid rgba(15,23,42,.07);box-shadow:0 12px 40px #0f172a0f}.bed-occ-chart--error{color:#9f1239;background:rgba(225,29,72,.06);border-color:#e11d4826}.bed-occ-chart__warn{margin:0 0 .75rem;padding:.5rem .65rem;border-radius:.6rem;font-size:.8rem;background:rgba(245,158,11,.12);color:#b45309;border:1px solid rgba(245,158,11,.25)}.bed-occ-chart__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem;margin-bottom:.75rem}.bed-occ-stat{padding:.7rem .85rem;border-radius:.75rem;background:#fff;border:1px solid #e2e8f0;text-align:center}.bed-occ-stat__value{display:block;font-size:1.35rem;font-weight:800;color:#1e293b;line-height:1.2}.bed-occ-stat__label{display:block;font-size:.7rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;margin-top:.15rem}.bed-occ-stat--occupied .bed-occ-stat__value{color:#6d28d9}.bed-occ-stat--empty .bed-occ-stat__value{color:#4f46e5}.bed-occ-stat--upcoming .bed-occ-stat__value{color:#d97706}.bed-occ-stat--pct .bed-occ-stat__value{color:#0f766e}.bed-occ-stat--clickable{cursor:pointer;transition:all .15s ease;position:relative}.bed-occ-stat--clickable:hover{border-color:#a5b4fc;background:#eef2ff;box-shadow:0 2px 8px #4f46e51a}.bed-occ-stat__hint{display:block;font-size:.6rem;color:#818cf8;margin-top:.25rem;font-weight:500}.bed-occ-chart__card{padding:.85rem 1rem 1rem;border-radius:1rem;background:#fafafa;border:1px solid #e2e8f0}.bed-occ-chart__title{margin:0 0 .5rem;font-size:.85rem;font-weight:700;color:#334155}.bed-occ-chart__inner{width:100%;min-height:200px}.bed-occ-chart__empty{margin:0;padding:2rem .5rem;text-align:center;font-size:.85rem;color:#94a3b8}.bed-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:bedModalFadeIn .15s ease}@keyframes bedModalFadeIn{0%{opacity:0}to{opacity:1}}.bed-modal{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0f172a2e;width:100%;max-width:440px;max-height:80vh;overflow-y:auto;padding:1.25rem;animation:bedModalSlideUp .2s ease}@keyframes bedModalSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.bed-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}.bed-modal__header h3{margin:0;font-size:1rem;font-weight:700;color:#1e293b}.bed-modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:#f1f5f9;color:#64748b;cursor:pointer;transition:all .15s ease}.bed-modal__close:hover{background:#e2e8f0;color:#1e293b}.bed-modal__summary{display:flex;gap:.5rem;margin-bottom:1rem}.bed-modal__pill{padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700}.bed-modal__pill--empty{background:#eef2ff;color:#4338ca}.bed-modal__pill--total{background:#f1f5f9;color:#64748b}.bed-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.bed-modal__room{display:flex;align-items:center;gap:.75rem;padding:.55rem .65rem;border-radius:.6rem;background:#f8fafc;border:1px solid #f1f5f9}.bed-modal__room-info{flex-shrink:0;min-width:90px}.bed-modal__room-name{display:block;font-size:.8125rem;font-weight:700;color:#1e293b}.bed-modal__room-floor{display:block;font-size:.65rem;color:#94a3b8;font-weight:500}.bed-modal__room-bar-wrap{flex:1;display:flex;align-items:center;gap:.5rem}.bed-modal__room-bar{flex:1;height:8px;border-radius:4px;background:#e2e8f0;overflow:hidden}.bed-modal__room-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#6d28d9,#8b5cf6);transition:width .3s ease}.bed-modal__room-label{flex-shrink:0;font-size:.7rem;font-weight:600;color:#64748b;min-width:65px;text-align:right}.bed-modal__none{margin:0;padding:1.5rem 0;text-align:center;font-size:.85rem;color:#94a3b8}.bed-modal__pill--occupied{background:#ede9fe;color:#6d28d9}.bed-modal__room-bar-fill--full{background:linear-gradient(90deg,#dc2626,#ef4444)}.bed-modal__note{margin:.75rem 0 0;padding:.4rem .6rem;border-radius:.5rem;font-size:.7rem;font-weight:600;text-align:center}.bed-modal__note--full{background:#fef2f2;color:#991b1b}.bed-modal__note--empty{background:#f0fdf4;color:#166534}.bed-modal__pill--upcoming{background:#fef3c7;color:#92400e}.bed-modal__vacancy-item{list-style:none}.bed-modal__month-divider{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;padding:.5rem 0 .25rem;border-bottom:1px solid #f1f5f9;margin-bottom:.35rem}.bed-modal__vacancy-item:first-child .bed-modal__month-divider{padding-top:0}.bed-modal__vacancy-row{display:flex;align-items:center;justify-content:space-between;padding:.5rem .65rem;border-radius:.5rem;background:#f8fafc;border:1px solid #f1f5f9}.bed-modal__vacancy-info{display:flex;flex-direction:column;gap:.1rem}.bed-modal__vacancy-name{font-size:.8125rem;font-weight:700;color:#1e293b}.bed-modal__vacancy-room{font-size:.7rem;color:#64748b}.bed-modal__vacancy-date{flex-shrink:0;font-size:.75rem;font-weight:600;color:#d97706;background:#fef3c7;padding:.2rem .5rem;border-radius:999px}.forecast-tooltip{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:.5rem .65rem;box-shadow:0 4px 12px #0f172a1a;max-width:240px}.forecast-tooltip__date{margin:0 0 .2rem;font-size:.7rem;font-weight:600;color:#64748b}.forecast-tooltip__count{margin:0;font-size:.85rem;font-weight:700;color:#1e293b}.forecast-tooltip__deps{margin:.35rem 0 0;padding:.35rem 0 0;border-top:1px solid #f1f5f9;list-style:none;font-size:.7rem;color:#64748b;display:flex;flex-direction:column;gap:.15rem}.rooms-page .page__lead{margin-top:0;margin-bottom:1rem}.rooms__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .4rem;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:.7rem;font-weight:700;margin-left:.4rem;vertical-align:middle}.rooms__table-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.rooms__table-header h2{margin:0}.rooms__add-btn{display:inline-flex;align-items:center;gap:.35rem;font-family:inherit;font-size:.8rem;font-weight:600;padding:.4rem .85rem;border-radius:.5rem;border:none;cursor:pointer;background:linear-gradient(135deg,#5b4dff,#7c3aed);color:#fff;transition:all .15s ease}.rooms__add-btn:hover{box-shadow:0 3px 10px #5b4dff4d;transform:translateY(-1px)}.rooms__type-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.01em}.rooms__type-badge--single{background:#dbeafe;color:#1e40af}.rooms__type-badge--double{background:#dcfce7;color:#166534}.rooms__type-badge--triple{background:#fef3c7;color:#92400e}.rooms__type-badge--quad{background:#fce7f3;color:#9d174d}.rooms__empty-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .35rem;border-radius:.4rem;font-size:.8rem;font-weight:700;background:#dcfce7;color:#166534}.rooms__empty-badge--full{background:#fee2e2;color:#991b1b}.rooms__cell-rent{font-variant-numeric:tabular-nums;font-weight:500}.rooms__cell-room{font-weight:600}.rooms__edit-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:1px solid #e2e8f0;background:#f8fafc;color:#64748b;cursor:pointer;transition:all .15s ease}.rooms__edit-btn:hover{background:#ede9fe;color:#6d28d9;border-color:#c4b5fd}.rooms-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:roomsModalFadeIn .15s ease}@keyframes roomsModalFadeIn{0%{opacity:0}to{opacity:1}}.rooms-modal{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0f172a2e;width:100%;max-width:480px;padding:1.25rem;animation:roomsModalSlideUp .2s ease}@keyframes roomsModalSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.rooms-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.rooms-modal__header h3{margin:0;font-size:1.05rem;font-weight:700;color:#1e293b}.rooms-modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:#f1f5f9;color:#64748b;cursor:pointer;transition:all .15s ease}.rooms-modal__close:hover{background:#e2e8f0;color:#1e293b}.rooms-modal__field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.rooms-modal__field-grid .field-row{margin-bottom:.85rem}.rooms-modal__field-grid .page__input,.rooms-modal__field-grid .page__select{max-width:100%}.rooms-modal__field-full{grid-column:1 / -1}.rooms-modal__actions{display:flex;align-items:center;gap:.6rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.rooms__form-error{padding:.5rem .75rem;border-radius:.5rem;background:rgba(225,29,72,.07);border:1px solid rgba(225,29,72,.18);color:#9f1239;font-size:.8125rem;margin-bottom:.85rem}.rooms__form-success{padding:.5rem .75rem;border-radius:.5rem;background:rgba(13,159,154,.08);border:1px solid rgba(13,159,154,.2);color:#0f766e;font-size:.8125rem;margin-bottom:.85rem}.rooms__input--error{border-color:#e11d48;background:rgba(225,29,72,.04);box-shadow:0 0 0 2px #e11d481f}.rooms__input--error:focus{border-color:#e11d48;box-shadow:0 0 0 3px #e11d4826;outline:none}.pay-page__controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.25rem}.pay-page__month-selector{display:flex;align-items:center;gap:.5rem}.pay-page__month-selector .page__select,.pay-page__month-selector .page__input{margin-bottom:0;max-width:160px}.pay-page__year-input{max-width:90px!important}.pay-page__actions-row{display:flex;gap:.5rem}.pay-page__summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.55rem;margin-bottom:1.25rem}.pay-page__stat{padding:.55rem .65rem;border-radius:.75rem;background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;text-align:center}.pay-page__stat--verified{border-color:#16a34a59;background:linear-gradient(145deg,rgba(22,163,74,.08),#f0fdf4)}.pay-page__stat--paid{border-color:#2563eb59;background:linear-gradient(145deg,rgba(37,99,235,.08),#eff6ff)}.pay-page__stat--pending{border-color:#f59e0b59;background:linear-gradient(145deg,rgba(245,158,11,.08),#fffbeb)}.pay-page__stat--overdue{border-color:#e11d4840;background:linear-gradient(145deg,rgba(225,29,72,.06),#fff1f2)}.pay-page__stat-value{display:block;font-size:1.25rem;font-weight:800;color:#0f172a;line-height:1.1}.pay-page__stat-label{display:block;margin-top:.15rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.pay-page__amount-cell{font-weight:700;font-variant-numeric:tabular-nums}.pay-page__actions-cell{white-space:nowrap}.pay-page__badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:capitalize}.pay-page__badge--pending{background:#fef3c7;color:#92400e}.pay-page__badge--paid{background:#dbeafe;color:#1e40af}.pay-page__badge--verified{background:#dcfce7;color:#166534}.pay-page__badge--overdue{background:#fee2e2;color:#991b1b}.pay-page__proof-btn{font-family:inherit;font-size:.75rem;font-weight:600;padding:.2rem .5rem;border-radius:.35rem;border:1px solid #e2e8f0;background:#f8fafc;color:#4f46e5;cursor:pointer;transition:all .15s ease}.pay-page__proof-btn:hover{background:#eef2ff;border-color:#a5b4fc}.pay-page__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(15,23,42,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.pay-page__modal{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0f172a2e;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;padding:1.25rem}.pay-page__modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.pay-page__modal-header h3{margin:0;font-size:1rem;font-weight:700;color:#1e293b}.pay-page__modal-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;border:none;background:#f1f5f9;color:#64748b;font-size:1.25rem;cursor:pointer;transition:all .15s ease}.pay-page__modal-close:hover{background:#e2e8f0;color:#1e293b}.pay-page__proof-container{text-align:center}.pay-page__proof-img{max-width:100%;max-height:60vh;border-radius:.75rem;border:1px solid #e2e8f0;object-fit:contain}:root{font-family:Outfit,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}
