:root{color:#172026;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}optgroup{font-weight:800;color:#0f766e;background:#f0fdfa;padding:4px}optgroup option{font-weight:500;color:#1e293b;background:#fff;padding:4px 8px}button{border:0;border-radius:6px;background:#136f63;color:#fff;cursor:pointer;font-weight:700;min-height:42px;padding:0 16px}button:hover{background:#0c5c52}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;overflow:hidden}.sidebar{align-content:start;background:#172026;color:#fff;display:flex;flex-direction:column;gap:24px;padding:28px 20px;height:100vh;overflow-y:auto;position:sticky;top:0;left:0;z-index:100;box-shadow:2px 0 12px #00000014}.sidebar h1,.topbar h2,.panel h3{margin:0}.eyebrow{color:#7fc7b7;font-size:.75rem;font-weight:800;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar .nav-link{background:transparent;border:0;border-radius:6px;color:#dce7e2;cursor:pointer;font-weight:700;padding:12px;text-align:left;text-decoration:none}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:#ffffff14}.content{display:flex;flex-direction:column;gap:24px;padding:28px;height:100vh;overflow-y:auto}.topbar{align-items:center;display:flex;justify-content:space-between}.alert{background:#fff0dc;border:1px solid #edb458;border-radius:6px;color:#6f4100;padding:14px 16px}.alert-inline{margin-bottom:12px}.metric-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.panel{background:#fff;border:1px solid #dde5df;border-radius:8px;box-shadow:0 16px 40px #1720260f}.metric{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;box-shadow:0 2px 6px #00000008;display:flex;flex-direction:column;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;min-width:0}.metric:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000000f;border-color:#cbd5e1}.metric-header{display:flex;align-items:center;justify-content:space-between;gap:4px}.metric-label{font-size:.72rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-icon-mini{font-size:.95rem;line-height:1;flex-shrink:0}.metric-value{font-size:1.22rem;font-weight:800;color:#0f172a;margin:3px 0 1px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-detail{font-size:.71rem;font-weight:600;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lower{align-items:start}.panel{min-width:0;padding:20px}.panel-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.panel-subtitle{color:#64716b;font-size:.92rem;margin:4px 0 0}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}.filter-field{display:grid;gap:6px;color:#43514a;font-size:.9rem;font-weight:700;min-width:180px}.filter-field-wide{flex:1 1 240px;min-width:220px}.table{display:grid;gap:10px}.table-compact{gap:8px}.table-head{color:#43514a;display:grid;font-size:.82rem;font-weight:800;gap:10px;letter-spacing:.04em;padding:0 4px 8px;text-transform:uppercase}.table-row{align-items:center;background:#f8faf8;border:1px solid #e5ece7;border-radius:6px;display:grid;gap:10px;grid-template-columns:1.2fr 1fr 1fr .9fr;min-height:52px;padding:10px 12px}.overview-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.overview-card{background:#f8faf8;border:1px solid #e5ece7;border-radius:8px;display:grid;gap:6px;padding:16px}.overview-card strong{font-size:1rem}.overview-card span{color:#64716b}.payment-actions{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:8px;justify-content:flex-end;min-width:0}.payment-actions button{min-height:32px;padding:0 12px;font-size:.85rem;font-weight:700;min-width:84px}.payment-actions .secondary-button{background:#eef4f0;color:#136f63}.payment-actions .secondary-button:hover{background:#dde9e2}.table-head-rooms,.table-row-rooms{grid-template-columns:1.2fr .9fr .9fr 1fr .9fr}.table-head-residents,.table-row-residents{grid-template-columns:1.2fr .8fr 1fr 1fr .9fr}.table-head-student-payments,.table-row-student-payments{grid-template-columns:1.1fr 1fr 1fr 1fr 1fr}.table-head-payments,.table-row-payments{grid-template-columns:1.3fr .9fr 1fr 1fr .9fr}.table-head-maintenance,.table-row-maintenance{grid-template-columns:1.5fr .9fr .9fr .9fr}.table-head-ratelimit,.table-row-ratelimit{grid-template-columns:1.6fr 1.2fr 1fr 1.8fr 130px}.empty-state{background:#f8faf8;border:1px dashed #cfd9d3;border-radius:6px;color:#64716b;padding:16px;text-align:center}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.84rem;font-weight:700;justify-content:center;min-height:30px;min-width:84px;padding:0 10px;width:fit-content}.status-pill.paid{background:#e9f7f2;color:#136f63}.status-pill.unpaid{background:#fff3eb;color:#b54600}.status-pill.upcoming{background:#fef7de;color:#8b5e00}.resident-list{display:grid;gap:10px}.resident-card{background:#f8faf8;border:1px solid #e5ece7;border-radius:6px;display:grid;gap:4px;padding:12px}.reminder-list{display:grid;gap:10px}.reminder-card{align-items:center;gap:12px;grid-template-columns:minmax(0,1fr) auto}.form-grid{border-top:1px solid #e5ece7;display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:18px;padding-top:18px}.resident-form{grid-template-columns:repeat(2,minmax(0,1fr))}.resident-form button{grid-column:span 2}input,select{background:#fff;border:1px solid #cfd9d3;border-radius:6px;min-height:42px;min-width:0;padding:0 12px}@media (max-width: 980px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:42vh;padding:36px}.app-shell{grid-template-columns:1fr;height:auto;overflow:visible}.sidebar{gap:18px;height:auto;overflow-y:visible;position:relative}.content{height:auto;overflow-y:visible}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.metric-grid,.workspace,.overview-grid{grid-template-columns:1fr}}@media (max-width: 680px){.auth-panel,.auth-visual{padding:24px}.content{padding:18px}.topbar,.panel-heading{align-items:flex-start;gap:12px;flex-direction:column}.sidebar nav,.form-grid,.resident-form{grid-template-columns:1fr}.toolbar{flex-direction:column}.resident-form button{grid-column:auto}.table-row{grid-template-columns:1fr}}.auth-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);min-height:100vh}.auth-visual{align-content:end;background:linear-gradient(135deg,#172026,#136f63 58%,#edb458);color:#fff;display:grid;gap:24px;padding:56px}.auth-visual h1{font-size:clamp(2rem,5vw,4.6rem);line-height:1.02;margin:0;max-width:780px}.auth-stats{display:flex;flex-wrap:wrap;gap:10px}.auth-stats span,.user-chip{background:#ffffff24;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;font-size:.85rem;font-weight:800;padding:8px 12px}.auth-panel{align-content:center;background:#fff;display:grid;gap:22px;padding:48px}.auth-panel h2{font-size:2rem;margin:0}.auth-intro{display:grid;gap:8px}.auth-copy{color:#64716b;line-height:1.5;margin:0}.auth-tabs{background:#eef4f0;border:1px solid #dce7e2;border-radius:8px;display:grid;grid-template-columns:repeat(3,1fr);padding:4px}.auth-tabs button{background:transparent;color:#43514a}.auth-tabs button.active{background:#136f63;color:#fff}.auth-form{display:grid;gap:16px}.auth-form label{color:#43514a;display:grid;font-weight:800;gap:8px}.auth-form input{width:100%}.auth-switch{color:#43514a;display:flex;flex-wrap:wrap;gap:6px;margin:0}.link-button{background:transparent;color:#136f63;min-height:auto;padding:0}.link-button:hover{background:transparent;color:#0c5c52;text-decoration:underline}.topbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.secondary-button{background:#e7efeb;color:#172026}.secondary-button:hover{background:#d8e5df}.content .user-chip{background:#e7efeb;border-color:#d8e5df;color:#43514a;display:inline-flex;margin-top:8px}.student-shell{display:grid;gap:24px;min-height:100vh;padding:28px}.student-hero{align-items:end;background:#172026;border-radius:8px;color:#fff;display:flex;justify-content:space-between;min-height:220px;padding:32px}.student-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:0 0 12px}.student-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.student-layout{display:grid;gap:24px;grid-template-columns:1fr 1fr}.student-card{background:#fff;border:1px solid #dde5df;border-radius:8px;box-shadow:0 16px 40px #1720260f;display:grid;gap:8px;min-height:140px;padding:22px}.student-card span,.student-card small{color:#64716b}.student-card strong{font-size:1.8rem}.highlight-card{background:#136f63;border-color:#136f63;color:#fff}.highlight-card span,.highlight-card small{color:#d7fff5}.info-list{display:flex;flex-direction:column;gap:4px}.info-row{align-items:center;border-bottom:1px solid #f1f5f9;display:grid;grid-template-columns:140px 1fr;gap:16px;padding:10px 12px;border-radius:8px;transition:background .15s ease-in-out}.info-row:hover{background:#f8fafc}.info-row span{color:#64748b;font-size:.86rem;font-weight:600;text-align:left}.info-row strong{color:#0f172a;font-size:.9rem;font-weight:700;text-align:right;word-break:break-word;display:flex;justify-content:flex-end;align-items:center;gap:6px}.info-row:last-child{border-bottom:0}.nav-badge{background:#e63946;color:#fff;font-size:.72rem;font-weight:800;border-radius:999px;padding:2px 8px;margin-left:8px;display:inline-block;vertical-align:middle}.danger-button{background:#d90429;color:#fff}.danger-button:hover{background:#b8001f}.pending-card{background:#fff;border:1px solid #e1e8e4;border-left:4px solid #f39c12;border-radius:8px;padding:20px;margin-bottom:16px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;box-shadow:0 4px 12px #00000008}.pending-details h4{margin:0 0 6px;font-size:1.15rem;color:#172026;display:flex;align-items:center;gap:10px}.pending-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px;margin-top:10px;font-size:.88rem;color:#4a5550}.pending-meta strong{color:#172026}.pending-address{grid-column:1 / -1;background:#f8faf9;border-radius:6px;padding:8px 12px;margin-top:4px;border:1px solid #eaeaea;font-size:.88rem}.pending-actions{display:flex;flex-direction:column;gap:10px;min-width:220px}.pending-actions select{width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;background:#fff}.auth-form textarea{font:inherit;border:1px solid #cbd5e1;border-radius:6px;padding:10px;width:100%;resize:vertical;min-height:70px}.alert-success{background:#e6f4ea;border:1px solid #b7e1cd;color:#137333;padding:12px 16px;border-radius:6px;margin-bottom:16px;font-weight:500}.pg-switcher-box{display:flex;align-items:center;gap:8px}.pg-switcher-label{font-size:.82rem;font-weight:600;color:#576560}.pg-select-dropdown{background:#f0f5f2;border:1px solid #c4d4cc;border-radius:6px;font-weight:600;color:#0f1c17;padding:4px 10px}.pg-hero-card{background:#fff;border:1px solid #e1e8e4;border-radius:10px;overflow:hidden;box-shadow:0 4px 14px #0000000d}.pg-hero-cover{position:relative;height:180px;overflow:hidden}.pg-hero-cover img{width:100%;height:100%;object-fit:cover}.pg-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000001a,#000000bf);color:#fff;padding:16px 20px;display:flex;flex-direction:column;justify-content:flex-end}.badge-featured{background:#00875a;color:#fff;font-size:.68rem;font-weight:800;padding:2px 8px;border-radius:4px;width:fit-content;margin-bottom:6px}.pg-hero-overlay h2{margin:0;font-size:1.4rem;color:#fff}.pg-hero-address{margin:4px 0 0;font-size:.85rem;opacity:.9}.pg-hero-body{padding:14px 18px}.amenities-pills,.student-amenities-bar{display:flex;flex-wrap:wrap;gap:8px}.amenity-pill{background:#edf7f2;border:1px solid #c6e6d5;color:#0d5e3a;font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px}.pg-gallery-row{display:flex;gap:8px}.gallery-thumb{width:90px;height:60px;object-fit:cover;border-radius:6px;border:1px solid #d4ded8}.student-pg-banner{position:relative;height:140px;border-radius:12px;overflow:hidden;margin-bottom:20px}.student-banner-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000001a,#000c);color:#fff;padding:16px 20px;display:flex;flex-direction:column;justify-content:flex-end}.student-banner-overlay h2{margin:0;font-size:1.5rem;color:#fff}.settings-shell{display:flex;flex-direction:column;gap:20px}.settings-header{display:flex;justify-content:space-between;align-items:center}.tab-pills{display:flex;gap:8px;background:#eaf0ec;padding:4px;border-radius:8px}.tab-pills button{background:transparent;border:none;font-weight:600;color:#4a5550;padding:6px 14px;border-radius:6px;cursor:pointer}.tab-pills button.active{background:#fff;color:#0f1c17;box-shadow:0 2px 6px #00000014}.tier-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tier-card{background:#fff;border:2px solid #e1e8e4;border-radius:10px;padding:20px;cursor:pointer;transition:all .2s ease;position:relative}.tier-card:hover{border-color:#00875a;box-shadow:0 4px 14px #00875a1a}.tier-card.active-tier{border-color:#00875a;background:#f4faf6}.tier-badge{display:inline-block;font-size:.7rem;font-weight:800;color:#576560;background:#e5ece7;padding:3px 8px;border-radius:4px;margin-bottom:8px}.tier-badge.popular{background:#00875a;color:#fff}.tier-badge.enterprise{background:#6b46c1;color:#fff}.tier-price{font-size:1.6rem;font-weight:800;color:#0f1c17;margin:8px 0 4px}.tier-price span{font-size:.85rem;font-weight:400;color:#61736b}.tier-desc{font-size:.84rem;color:#576560;margin:0}.modules-toggle-list{display:flex;flex-direction:column;gap:12px}.module-toggle-item{display:flex;justify-content:space-between;align-items:center;background:#f8faf9;border:1px solid #e3eae5;border-radius:8px;padding:14px 18px}.module-toggle-item.enabled{border-left:4px solid #00875a;background:#fff}.module-info{display:flex;flex-direction:column;gap:2px}.module-title{font-weight:700;color:#0f1c17;font-size:.95rem}.module-desc{font-size:.82rem;color:#61736b;margin:2px 0 0}.badge-tier{display:inline-block;font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:4px;width:fit-content;margin-top:2px}.badge-tier.starter{background:#e2e8f0;color:#334155}.badge-tier.pro{background:#dcfce7;color:#166534}.badge-tier.enterprise{background:#f3e8ff;color:#6b21a8}.btn-toggle{padding:6px 14px;font-size:.8rem;font-weight:700;border-radius:6px;cursor:pointer}.btn-toggle.on{background:#00875a;color:#fff}.btn-toggle.off{background:#e2e8f0;color:#64748b}.sidebar-tier-badge{font-size:.68rem;font-weight:700;background:#e2f0d9;color:#1e5a2b;padding:2px 8px;border-radius:4px;display:inline-block;margin-top:4px}.pg-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.pg-property-card{background:#fff;border:1px solid #e1e8e4;border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #0000000a;display:flex;flex-direction:column;transition:all .2s ease}.pg-property-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000014}.pg-property-card.active-pg-card{border:2px solid #00875a;background:#fbfdfc}.pg-card-cover{position:relative;height:150px;overflow:hidden}.pg-card-cover img{width:100%;height:100%;object-fit:cover}.pg-card-badge-row{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center}.active-now-badge{background:#00875a;color:#fff;font-size:.68rem;font-weight:800;padding:3px 8px;border-radius:4px;box-shadow:0 2px 6px #0003}.pg-card-content{padding:18px;display:flex;flex-direction:column;flex:1}.pg-card-content h3{margin:0 0 4px;font-size:1.25rem;color:#0f1c17}.pg-card-address,.pg-card-phone{margin:2px 0;font-size:.84rem;color:#576560}.pg-card-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f4f8f5;border-radius:8px;padding:10px;text-align:center}.stat-num{display:block;font-weight:800;font-size:1.1rem;color:#0f1c17}.stat-lbl{display:block;font-size:.72rem;color:#61736b}.pg-card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.link-btn{color:#00875a;font-weight:600;text-decoration:none}.link-btn:hover{text-decoration:underline}.property-scope-locked{display:inline-flex;align-items:center;gap:6px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:600;color:#166534}.property-scope-locked .scope-badge{background:#dcfce7;color:#15803d;font-size:.7rem;font-weight:800;padding:2px 6px;border-radius:4px;text-transform:uppercase}.user-role-tag{color:#0c5c52;font-weight:800}.quick-demo-login-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px;margin-top:20px}.quick-demo-title{font-size:.85rem;font-weight:800;color:#334155;margin:0 0 10px}.quick-demo-buttons-grid{display:flex;flex-direction:column;gap:8px}.quick-demo-btn{width:100%;text-align:left;padding:10px 14px;font-size:.82rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:flex-start}.super-admin-btn{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.super-admin-btn:hover{background:#dbeafe}.owner-btn{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.owner-btn:hover{background:#dcfce7}.student-btn{background:#faf5ff;color:#7e22ce;border:1px solid #e9d5ff}.student-btn:hover{background:#f3e8ff}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172aa6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{background:#fff;border-radius:12px;max-width:680px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0003;padding:24px}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e2e8f0;padding-bottom:14px;margin-bottom:18px}.modal-header h3{margin:0;font-size:1.25rem;color:#0f172a}.close-btn{background:transparent;border:0;color:#64748b;font-size:1.2rem;min-height:auto;padding:4px 8px;cursor:pointer}.close-btn:hover{color:#0f172a;background:#f1f5f9}.card-registration-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.reg-box-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.reg-title{font-size:.76rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.3px}.copy-success-badge{font-size:.72rem;font-weight:800;color:#16a34a}.reg-url-row{display:flex;gap:6px;align-items:center}.reg-url-input{flex:1;font-size:.78rem;padding:6px 10px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#1e293b;font-family:monospace}.btn-copy-icon,.btn-open-icon{min-height:32px;padding:0 10px;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:6px}.btn-copy-icon{background:#0284c7;color:#fff}.btn-copy-icon:hover{background:#0369a1}.btn-open-icon{background:#16a34a;color:#fff}.btn-open-icon:hover{background:#15803d}.registration-link-banner{display:flex;align-items:center;gap:10px;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:10px 14px}.link-label{font-size:.82rem;font-weight:700;color:#065f46}.link-code{flex:1;background:#fff;border:1px solid #6ee7b7;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:.82rem;color:#047857}.preset-thumbs-row{display:flex;gap:8px;margin-top:6px}.preset-thumb{width:70px;height:46px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:all .15s ease}.preset-thumb:hover{opacity:.85}.preset-thumb.selected{border-color:#0d9488;box-shadow:0 0 0 2px #0d94884d}.flex-between{display:flex;justify-content:space-between;align-items:center}.w-full{width:100%}.onboard-grid{display:grid;grid-template-columns:minmax(0,2fr) 320px;gap:24px;align-items:start}.form-section-card{padding:24px}.form-section-header{border-bottom:1px solid #e2e8f0;padding-bottom:8px;margin-bottom:16px}.form-section-header h4{margin:0;font-size:1rem;color:#0f766e;font-weight:700}.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-group.span-2{grid-column:span 2}.onboard-summary-card{padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 14px #0000000a}.onboard-summary-card h4{margin:0 0 4px;font-size:1.1rem;color:#0f172a}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px dashed #e2e8f0;font-size:.88rem}.summary-label{color:#64748b;font-weight:500}.summary-value{font-weight:600;color:#1e293b}.summary-value.highlight{color:#0f766e;font-weight:800}.summary-value.money-tag{color:#16a34a;font-size:1rem;font-weight:800}.onboard-tip-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px;font-size:.8rem;color:#166534;line-height:1.4}.py-3{padding-top:12px;padding-bottom:12px}.text-base{font-size:1rem}.signup-flow-container{display:flex;flex-direction:column;gap:20px}.pg-registration-hero{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 10px 30px #0000001f;min-height:160px;background:#172026}.hero-image-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hero-image-wrap img{width:100%;height:100%;object-fit:cover}.hero-gradient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a33,#0f172ae0)}.hero-info-badge{position:relative;z-index:2;padding:24px;color:#fff}.hero-tag{display:inline-block;background:#0d9488e6;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.5px;padding:3px 10px;border-radius:999px;margin-bottom:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-info-badge h2{margin:0 0 4px;font-size:1.6rem;color:#fff;font-weight:800}.hero-location{margin:0 0 12px;font-size:.88rem;color:#cbd5e1}.hero-amenities{display:flex;flex-wrap:wrap;gap:6px}.hero-amenity-chip{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#f8fafc;font-size:.74rem;font-weight:600;padding:2px 10px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pg-selection-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:12px}.pg-select-label{font-size:.86rem;font-weight:700;color:#334155;display:flex;align-items:center;gap:6px}.pg-hero-select{flex:1;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-weight:600;color:#0f172a}.beautiful-signup-form{display:flex;flex-direction:column;gap:20px}.form-card-step{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px;box-shadow:0 4px 20px #00000008;transition:transform .2s ease,box-shadow .2s ease}.form-card-step:hover{box-shadow:0 8px 28px #0000000f}.step-header{display:flex;align-items:center;gap:14px;border-bottom:1px solid #f1f5f9;padding-bottom:14px;margin-bottom:18px}.step-number{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#136f63);color:#fff;font-size:1.1rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0d94884d;flex-shrink:0}.step-header h3{margin:0;font-size:1.1rem;color:#0f172a;font-weight:800}.step-sub{margin:2px 0 0;font-size:.82rem;color:#64748b}.form-row-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:14px}.form-row-2:last-child{margin-bottom:0}.input-group{display:flex;flex-direction:column;gap:6px}.input-group.full-width{width:100%}.input-group label{font-size:.84rem;font-weight:700;color:#334155}.input-prefix-row{display:flex;align-items:center;gap:10px;width:100%}.prefix-icon-badge{width:44px;height:44px;background:#f0fdf4;border:1px solid #bbf7d0;color:#0f766e;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.form-select-enhanced{flex:1;width:100%;min-height:44px;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#0f172a;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s ease}.input-with-icon{position:relative;display:flex;align-items:center;width:100%}.input-with-icon.align-top{align-items:center}.field-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:1.05rem;pointer-events:none;z-index:2;line-height:1;display:flex;align-items:center;justify-content:center}.input-with-icon input,.input-with-icon select,.input-with-icon textarea{width:100%;padding-left:42px!important;border:1px solid #cbd5e1;border-radius:8px;min-height:44px;background:#f8fafc;color:#0f172a;font-size:.92rem;transition:all .2s ease}.input-with-icon select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.input-with-icon textarea{padding-top:10px!important;padding-bottom:10px!important;resize:vertical}.input-with-icon input:focus,.input-with-icon select:focus,.input-with-icon textarea:focus{outline:none;background:#fff;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.section-field-label{display:block;font-size:.86rem;font-weight:700;color:#334155;margin-bottom:10px}.sharing-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.sharing-card-btn{background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:all .2s ease;min-height:auto}.sharing-card-btn:hover{border-color:#99f6e4;background:#f0fdf4}.sharing-card-btn.selected{border-color:#0d9488;background:#ecfdf5;box-shadow:0 4px 12px #0d948826}.sharing-card-icon{font-size:1.5rem;margin-bottom:4px}.sharing-card-title{font-size:.84rem;font-weight:800;color:#0f172a}.sharing-card-sub{font-size:.72rem;color:#64748b;margin-top:2px}.room-selection-banner{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #a7f3d0;border-left:4px solid #0d9488;border-radius:10px;padding:16px 20px;margin-top:24px}.room-banner-details h4{margin:4px 0;font-size:1.05rem;color:#065f46}.banner-badge{font-size:.68rem;font-weight:800;color:#047857;letter-spacing:.5px}.password-match-tag{font-size:.82rem}.text-success{color:#16a34a}.text-danger{color:#dc2626}.font-medium{font-weight:600}.submit-registration-btn{width:100%;background:linear-gradient(135deg,#0d9488,#115e59);color:#fff;font-size:1.05rem;font-weight:800;padding:14px 20px;border-radius:10px;border:none;cursor:pointer;box-shadow:0 8px 24px #0d94884d;transition:all .2s ease}.submit-registration-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0d948866;background:linear-gradient(135deg,#0f766e,#0f514d)}.submit-footnote{text-align:center;font-size:.78rem;color:#64748b;margin:10px 0 0}@media (max-width: 640px){.form-row-2{grid-template-columns:1fr}.sharing-cards-grid{grid-template-columns:repeat(2,1fr)}}.onboard-header-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#172026,#0f766e);color:#fff;padding:24px 28px;border-radius:14px;box-shadow:0 10px 30px #0f172a1a}.onboard-badge{display:inline-block;background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#99f6e4;font-size:.7rem;font-weight:800;letter-spacing:.5px;padding:2px 8px;border-radius:4px;margin-bottom:6px}.onboard-header-banner h2{margin:0;font-size:1.6rem;font-weight:800;color:#fff}.onboard-sub{margin:4px 0 0;font-size:.88rem;color:#cbd5e1}.btn-directory-shortcut{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:700;padding:10px 18px;border-radius:8px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-directory-shortcut:hover{background:#ffffff40}.onboard-form-container{display:flex;flex-direction:column;gap:20px}.onboard-section-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:24px;box-shadow:0 4px 20px #00000008;transition:box-shadow .2s ease}.onboard-section-card:hover{box-shadow:0 8px 28px #0000000f}.section-card-header{display:flex;align-items:center;gap:14px;border-bottom:1px solid #f1f5f9;padding-bottom:14px;margin-bottom:18px}.section-step-badge{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#115e59);color:#fff;font-size:1.05rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #0d948840;flex-shrink:0}.section-card-header h3{margin:0;font-size:1.08rem;color:#0f172a;font-weight:800}.section-step-desc{margin:2px 0 0;font-size:.82rem;color:#64748b}.onboard-submit-btn{width:100%;background:linear-gradient(135deg,#0d9488,#0f514d);color:#fff;font-size:1.05rem;font-weight:800;padding:14px;border-radius:10px;border:none;cursor:pointer;box-shadow:0 8px 24px #0d94884d;transition:all .2s ease}.onboard-submit-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0d948866}.summary-header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #f1f5f9;padding-bottom:14px;margin-bottom:14px}.resident-avatar-preview{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#0f766e,#064e3b);color:#fff;font-weight:800;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0f766e40}.vacant-rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.room-picker-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.room-picker-card:hover{border-color:#0d9488;background:#f0fdf4;transform:translateY(-2px);box-shadow:0 8px 20px #0d94881f}.room-picker-card.selected{border-color:#0d9488;background:linear-gradient(135deg,#fff,#ecfdf5);box-shadow:0 0 0 3px #0d948833,0 8px 24px #0d948826}.room-picker-top{display:flex;justify-content:space-between;align-items:center}.room-picker-number{font-size:1.05rem;font-weight:800;color:#0f172a}.room-picker-badge{background:#e2e8f0;color:#334155;font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:6px;text-transform:uppercase}.room-picker-card.selected .room-picker-badge{background:#ccfbf1;color:#0f766e}.room-picker-middle{display:flex;flex-direction:column;gap:4px}.room-picker-rent{font-size:1.15rem;font-weight:800;color:#16a34a}.room-picker-rent span{font-size:.8rem;font-weight:500;color:#64748b}.room-picker-beds{font-size:.82rem;color:#475569}.room-picker-footer{border-top:1px solid #e2e8f0;padding-top:8px;display:flex;justify-content:flex-end}.picker-status-tag{font-size:.76rem;font-weight:700;color:#64748b}.picker-status-tag.selected{color:#0d9488;font-weight:800}.empty-rooms-box{background:#fffbebfb;border:1px solid #fde68a;border-radius:10px;padding:16px;color:#92400e;font-size:.9rem;text-align:center}.view-header-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#172026,#0f766e);color:#fff;padding:24px 28px;border-radius:14px;box-shadow:0 10px 30px #0f172a1a}.view-badge{display:inline-block;background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#99f6e4;font-size:.7rem;font-weight:800;letter-spacing:.5px;padding:2px 8px;border-radius:4px;margin-bottom:6px}.view-header-banner h2{margin:0;font-size:1.6rem;font-weight:800;color:#fff}.view-sub{margin:4px 0 0;font-size:.88rem;color:#cbd5e1}.header-kpi-row{display:flex;gap:12px}.kpi-chip{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:8px 16px;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kpi-chip.kpi-success{border-color:#34d39966}.kpi-chip.kpi-warning{border-color:#fbbf2466}.kpi-label{font-size:.72rem;font-weight:700;color:#94a3b8;text-transform:uppercase}.kpi-chip.kpi-success .kpi-label{color:#a7f3d0}.kpi-chip.kpi-warning .kpi-label{color:#fde68a}.kpi-value{font-size:1.25rem;font-weight:800;color:#fff}.btn-onboard-cta{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:700;padding:10px 18px;border-radius:8px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-onboard-cta:hover{background:#ffffff4d;transform:translateY(-1px)}.payments-toolbar-row,.residents-toolbar-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}.status-filter-tabs{display:flex;gap:6px;background:#f1f5f9;padding:4px;border-radius:8px}.tab-btn{background:transparent;border:none;font-size:.84rem;font-weight:700;color:#64748b;padding:6px 14px;border-radius:6px;cursor:pointer;transition:all .15s ease;min-height:auto}.tab-btn:hover{color:#0f172a}.tab-btn.active{background:#fff;color:#0d9488;box-shadow:0 2px 6px #00000014}.payment-search-box,.resident-search-box{position:relative;display:flex;align-items:center;min-width:260px}.search-input-wrap .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem;pointer-events:none}.payment-search-input,.resident-search-input{width:100%;border:none!important;background:transparent!important;outline:none!important;box-shadow:none!important;min-height:0!important;height:28px!important;padding:0!important;font-size:.8rem;color:#1e293b}.payment-search-input:focus,.resident-search-input:focus{outline:none!important;box-shadow:none!important}.directory-count-badge{font-size:.85rem;font-weight:700;color:#0d9488;background:#f0fdf4;border:1px solid #bbf7d0;padding:6px 12px;border-radius:8px}.table-head-payments-enhanced,.table-row-payments-enhanced{grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr}.table-head-residents-enhanced,.table-row-residents-enhanced{grid-template-columns:1.3fr .9fr 1.1fr 1.2fr .9fr .9fr}.occupancy-type-badge{display:inline-flex;align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;color:#334155;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:6px}.btn-eye-toggle{background:transparent;border:none;font-size:.92rem;cursor:pointer;padding:2px 4px;border-radius:4px;transition:transform .15s ease;min-height:auto}.btn-eye-toggle:hover{background:#e2e8f0;transform:scale(1.15)}.avatar-initials{width:38px;height:38px;border-radius:50%;background:#0d9488;color:#fff;font-size:.9rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-initials.pending{background:#f59e0b}.resident-profile-cell{display:flex;align-items:center;gap:12px}.avatar-initials-lg{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-size:.92rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 10px #0d948833}.avatar-initials-lg.pending{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 10px #f59e0b33}.avatar-initials-lg.paid{background:linear-gradient(135deg,#10b981,#047857);box-shadow:0 4px 10px #10b98133}.resident-details-stack{display:flex;flex-direction:column;gap:4px}.resident-name-title{display:block;font-size:.95rem;font-weight:800;color:#0f172a;line-height:1.3;margin-bottom:2px}.resident-email-sub{display:block;font-size:.82rem;color:#64748b;line-height:1.35}.room-tag-pill{display:inline-flex;align-items:center;gap:4px;background:#f1f5f9;border:1px solid #e2e8f0;color:#334155;font-size:.82rem;font-weight:700;padding:4px 10px;border-radius:6px}.room-tag-pill.highlight{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.cycle-month-tag{font-size:.84rem;font-weight:600;color:#475569}.phone-contact-pill{font-size:.84rem;font-weight:600;color:#334155}.payment-amount-tag{font-size:.96rem;font-weight:800}.payment-amount-tag.paid{color:#16a34a}.payment-amount-tag.unpaid{color:#dc2626}.btn-verify-action{background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border:none;font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;min-height:32px}.btn-verify-action:hover{background:linear-gradient(135deg,#15803d,#166534);transform:translateY(-1px)}.btn-unverify-action{background:#fef3c7;color:#92400e;border:1px solid #fde68a;font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;min-height:32px}.btn-unverify-action:hover{background:#fde68a}.empty-state-enhanced{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:10px;padding:32px;text-align:center;color:#64748b;margin:12px 0}.empty-icon{font-size:2rem;display:block;margin-bottom:8px}.empty-state-enhanced h4{margin:0 0 4px;font-size:1.05rem;color:#334155}.empty-state-enhanced p{margin:0;font-size:.85rem}.dashboard-view-shell{display:flex;flex-direction:column;gap:20px}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.dashboard-kpi-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 4px 14px #00000008;transition:transform .2s ease,box-shadow .2s ease}.dashboard-kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #0000000f}.kpi-icon-wrap{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.dashboard-kpi-card.bg-emerald .kpi-icon-wrap{background:#dcfce7;color:#166534}.dashboard-kpi-card.bg-teal .kpi-icon-wrap{background:#ccfbf1;color:#0f766e}.dashboard-kpi-card.bg-amber .kpi-icon-wrap{background:#fef3c7;color:#92400e}.dashboard-kpi-card.bg-purple .kpi-icon-wrap{background:#f3e8ff;color:#6b21a8}.kpi-card-label{display:block;font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px}.kpi-card-value{display:block;font-size:1.45rem;font-weight:800;color:#0f172a;margin:2px 0}.kpi-card-trend{display:block;font-size:.74rem;font-weight:600}.kpi-card-trend.positive{color:#16a34a}.kpi-card-trend.neutral{color:#0d9488}.kpi-card-trend.warning{color:#d97706}.kpi-card-trend.info{color:#7c3aed}.chart-container-panel{padding:24px}.chart-tabs-pills{display:flex;gap:6px;background:#f1f5f9;padding:4px;border-radius:8px}.chart-tab{background:transparent;border:none;font-size:.82rem;font-weight:700;color:#64748b;padding:6px 14px;border-radius:6px;cursor:pointer;transition:all .15s ease;min-height:auto}.chart-tab.active{background:#fff;color:#0d9488;box-shadow:0 2px 6px #00000014}.chart-wrapper{margin-top:16px}.chart-legend-row{display:flex;justify-content:space-between;align-items:center;font-size:.84rem;color:#475569}.legend-item{display:flex;align-items:center;gap:8px;font-weight:600}.legend-color-dot{width:10px;height:10px;border-radius:50%}.legend-color-dot.emerald{background:#10b981}.legend-color-dot.teal{background:#0d9488}.legend-stat{font-size:.84rem;color:#64748b}.bar-chart-grid{display:flex;justify-content:space-between;align-items:flex-end;height:200px;gap:16px;padding:20px 10px 10px;border-bottom:2px solid #e2e8f0}.bar-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative}.bar-value-tag{font-size:.76rem;font-weight:800;color:#0f766e;margin-bottom:6px}.bar-track{width:100%;max-width:44px;height:100%;background:#f1f5f9;border-radius:8px 8px 0 0;display:flex;align-items:flex-end;overflow:hidden;position:relative}.bar-fill{width:100%;background:linear-gradient(180deg,#34d399,#059669);border-radius:8px 8px 0 0;transition:height .6s cubic-bezier(.16,1,.3,1);position:relative}.bar-fill.current{background:linear-gradient(180deg,#2dd4bf,#0d9488);box-shadow:0 0 12px #0d948866}.bar-label{margin-top:10px;font-size:.8rem;font-weight:700;color:#64748b}.bar-label.highlight{color:#0d9488;font-weight:800}.line-chart-container{display:flex;flex-direction:column;gap:10px}.occupancy-svg-chart{width:100%;height:180px;overflow:visible}.svg-x-axis{display:flex;justify-content:space-between;padding:8px 10px 0;border-top:2px solid #e2e8f0;font-size:.8rem;font-weight:700;color:#64748b}.header-actions-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-pill-btn{display:inline-flex;align-items:center;gap:6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.82rem;font-weight:700;padding:8px 14px;border-radius:20px;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:36px;white-space:nowrap}.action-pill-btn:hover{background:#ffffff38;border-color:#fff6;transform:translateY(-1px)}.action-pill-btn.masked{background:#10b98133;border-color:#34d39966;color:#a7f3d0}.action-pill-btn.masked:hover{background:#10b98152}.action-pill-btn.qr-pill{background:#0d948840;border-color:#99f6e466;color:#ccfbf1}.action-pill-btn.qr-pill:hover{background:#0d948866}.btn-header-primary{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#2dd4bf,#0f766e);color:#fff;font-size:.84rem;font-weight:800;padding:8px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #0d94884d;min-height:36px;white-space:nowrap}.btn-header-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0d948873;background:linear-gradient(135deg,#14b8a6,#0d9488)}.btn-header-primary .arrow{transition:transform .15s ease}.btn-header-primary:hover .arrow{transform:translate(3px)}.modules-card-panel{padding:24px}.dashboard-modules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px}.module-shortcut-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:all .2s ease}.module-shortcut-card:hover{background:#fff;border-color:#0d9488;transform:translateY(-2px);box-shadow:0 8px 20px #0d94881a}.module-card-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.module-card-icon.amber{background:#fef3c7}.module-card-icon.teal{background:#ccfbf1}.module-card-icon.blue{background:#dbeafe}.module-card-icon.green{background:#dcfce7}.module-card-icon.emerald{background:#d1fae5}.module-card-icon.purple{background:#f3e8ff}.module-card-body{flex:1}.module-card-body strong{display:block;font-size:.92rem;color:#0f172a}.module-card-body span{display:block;font-size:.78rem;color:#64748b;margin-top:2px}.card-arrow{font-size:1.1rem;color:#94a3b8;font-weight:800;transition:transform .2s ease}.module-shortcut-card:hover .card-arrow{color:#0d9488;transform:translate(4px)}@media (max-width: 900px){.onboard-header-banner,.view-header-banner{flex-direction:column;align-items:flex-start;gap:14px}.vacant-rooms-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.table-head-payments-enhanced,.table-row-payments-enhanced,.table-head-residents-enhanced,.table-row-residents-enhanced{grid-template-columns:1fr}}.rooms-view-shell{display:flex;flex-direction:column;gap:20px}.rooms-kpi-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.rooms-kpi-chip{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px #00000008}.rooms-kpi-chip.highlight{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.rooms-kpi-chip .chip-icon{font-size:1.4rem}.rooms-kpi-chip .chip-val{display:block;font-size:1.35rem;font-weight:800;color:#0f172a;line-height:1.1}.rooms-kpi-chip .chip-lbl{display:block;font-size:.76rem;font-weight:700;color:#64748b;margin-top:2px}.add-room-card{padding:24px;background:#fff;border:1px solid #cbd5e1}.room-creator-form{margin-top:16px}.form-group-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.form-group-row label{display:flex;flex-direction:column;gap:6px;font-size:.82rem;font-weight:700;color:#334155}.form-actions-right{display:flex;justify-content:flex-end;gap:10px}.room-form-actions{margin-top:22px;padding-top:16px;border-top:1px solid #f1f5f9}.btn-sm-action{font-size:.84rem!important;font-weight:700!important;padding:7px 16px!important;min-height:36px!important;border-radius:8px!important}.rooms-table-panel{padding:24px}.badge-total-count{background:#f1f5f9;border:1px solid #cbd5e1;color:#475569;font-size:.8rem;font-weight:700;padding:4px 12px;border-radius:999px}.rooms-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}.search-input-wrap{position:relative;flex:1;min-width:220px}.search-input-wrap .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem}.room-search-input{padding-left:36px!important;width:100%}.filter-group-right{display:flex;gap:12px}.table-head-rooms-enhanced,.table-row-rooms-enhanced,.table-row-rooms-editing{grid-template-columns:1.2fr 1.3fr 1.8fr 1.1fr 1.2fr 1.2fr;align-items:center}.room-identity-cell{display:flex;flex-direction:column;gap:4px}.room-number-badge{font-size:.96rem;font-weight:800;color:#0f172a}.room-floor-tag{font-size:.78rem;font-weight:600;color:#64748b}.room-type-badge-pill{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:700;padding:5px 12px;border-radius:8px}.badge-room-single{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.badge-room-double{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.badge-room-triple{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.badge-room-dorm{background:#f3e8ff;color:#6b21a8;border:1px solid #e9d5ff}.bed-occupancy-cell{display:flex;flex-direction:column;gap:6px}.bed-status-tag-row{display:flex;align-items:center;gap:8px}.bed-count-text{font-size:.85rem;color:#334155}.occupancy-status-pill{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:4px;text-transform:uppercase}.occupancy-status-pill.full{background:#fee2e2;color:#991b1b}.occupancy-status-pill.vacant{background:#dcfce7;color:#166534}.bed-progress-track{width:100%;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.bed-progress-fill{height:100%;background:#0d9488;border-radius:999px;transition:width .3s ease}.bed-progress-fill.full{background:#ef4444}.room-rent-tag{font-size:.95rem;font-weight:800;color:#0f172a}.room-rent-tag small{font-size:.78rem;font-weight:600;color:#64748b}.quick-bed-actions{display:flex;gap:6px}.btn-quick-bed{font-size:.76rem;font-weight:700;padding:4px 8px;border-radius:6px;cursor:pointer;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;transition:all .15s ease;min-height:28px}.btn-quick-bed:hover:not(:disabled){background:#0d9488;color:#fff;border-color:#0d9488}.btn-quick-bed.remove:hover:not(:disabled){background:#ea580c;color:#fff;border-color:#ea580c}.btn-quick-bed:disabled{opacity:.45;cursor:not-allowed}.table-actions-cell{display:flex;gap:6px;justify-content:flex-end}.btn-icon-action{font-size:.78rem;font-weight:700;padding:5px 10px;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:all .15s ease;min-height:30px}.btn-icon-action.edit{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.btn-icon-action.edit:hover{background:#dbeafe}.btn-icon-action.delete{background:#fef2f2;color:#dc2626;border-color:#fecaca}.btn-icon-action.delete:hover{background:#fee2e2}.table-row-rooms-editing{background:#f0fdf4;border:1px solid #86efac;padding:12px;border-radius:8px;gap:8px}.edit-cell-group{display:flex;gap:6px}.inline-edit-lbl{display:flex;flex-direction:column;font-size:.72rem;font-weight:700;color:#475569}.edit-input-sm,.edit-select-sm{font-size:.82rem!important;padding:4px 8px!important;min-height:32px!important}.edit-actions-cell{display:flex;gap:6px;justify-content:flex-end}.btn-save-action{background:#16a34a;color:#fff;border:none;font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:6px;cursor:pointer}.btn-cancel-action{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1;font-size:.78rem;font-weight:700;padding:6px 12px;border-radius:6px}.pending-view-shell{display:flex;flex-direction:column;gap:22px}.pending-hero-banner{background:linear-gradient(135deg,#0f766e,#0d9488 45%,#0284c7);border-radius:16px;padding:24px 28px;color:#fff;box-shadow:0 10px 25px -5px #0f766e59;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.pending-hero-banner:after{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,#ffffff1f,#fff0 70%);pointer-events:none}.hero-badge-row{display:flex;align-items:center;gap:10px}.glass-badge{background:#ffffff2e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.72rem;font-weight:800;letter-spacing:.6px;padding:4px 10px;border-radius:20px}.live-pulse-chip{display:inline-flex;align-items:center;gap:6px;background:#10b98140;border:1px solid rgba(16,185,129,.4);color:#6ee7b7;font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:20px}.pulse-dot{width:7px;height:7px;background-color:#10b981;border-radius:50%;box-shadow:0 0 #10b981b3;animation:pulse-emerald 1.8s infinite}@keyframes pulse-emerald{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 8px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.glowing-counter{background:#fff3!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)!important;color:#fff!important;font-size:.92rem;padding:8px 16px;border-radius:12px;box-shadow:0 4px 12px #0000001a}.pending-application-card{padding:24px;background:#fff;border:1px solid #e2e8f0;border-left:5px solid #f59e0b;border-radius:16px;box-shadow:0 4px 20px #0000000a;transition:all .25s ease;position:relative}.pending-application-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00000014;border-color:#cbd5e1;border-left-color:#d97706}.avatar-ring-container{padding:2px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:50%;display:inline-block}.pending-avatar{background:linear-gradient(135deg,#fffbeb,#fef3c7)!important;color:#b45309!important;border:2px solid #ffffff!important;font-weight:800!important}.pending-glow-pill{background:#fffbeb!important;border:1px solid #fde68a!important;color:#b45309!important;font-size:.72rem!important;font-weight:800!important;letter-spacing:.3px;padding:3px 10px!important;border-radius:12px!important}.tiny-pulse-dot{width:6px;height:6px;background:#f59e0b;border-radius:50%;display:inline-block;animation:pulse-amber 1.5s infinite}@keyframes pulse-amber{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.property-tag-chip{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-size:.73rem;font-weight:700;padding:2px 8px;border-radius:8px}.resident-contact-item{font-size:.82rem;color:#64748b;font-weight:500}.room-allocation-box{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:14px;padding:18px 20px;box-shadow:inset 0 1px 3px #10b9810d}.allocation-header{border-bottom:1px solid #dcfce7;padding-bottom:10px}.step-badge{background:#10b981;color:#fff;font-size:.68rem;font-weight:800;padding:2px 7px;border-radius:6px;letter-spacing:.5px}.selected-room-mini-badge{background:#fff;border:1px solid #86efac;color:#15803d;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:8px;box-shadow:0 2px 6px #16653414}.sharing-type-pills-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.sharing-type-pill{background:#fff;border:1px solid #cbd5e1;color:#475569;font-size:.78rem;font-weight:600;padding:5px 11px;border-radius:8px;cursor:pointer;transition:all .2s ease}.sharing-type-pill:hover{background:#f8fafc;border-color:#94a3b8;color:#1e293b}.sharing-type-pill.active{background:#10b981;border-color:#059669;color:#fff;font-weight:700;box-shadow:0 3px 8px #10b98140}.room-select-highlight{background:#fff!important;border:1px solid #86efac!important;font-weight:600!important;color:#14532d!important;border-radius:8px!important;padding:7px 12px!important}.room-select-highlight:focus{border-color:#10b981!important;box-shadow:0 0 0 3px #10b98133!important}.btn-approve-enhanced{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;font-size:.85rem;font-weight:700;padding:9px 18px;border-radius:10px;cursor:pointer;box-shadow:0 4px 12px #10b98140;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-approve-enhanced:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #10b98159}.btn-reject-enhanced{background:#fff;border:1px solid #fecdd3;color:#e11d48;font-size:.85rem;font-weight:700;padding:9px 16px;border-radius:10px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-reject-enhanced:hover{background:#fff1f2;border-color:#fda4af;color:#be123c}.maintenance-view-shell{display:flex;flex-direction:column;gap:20px}.maintenance-panel{padding:24px}.table-head-maintenance-enhanced,.table-row-maintenance-enhanced{grid-template-columns:2fr 1fr 1fr 1.1fr 1.1fr;align-items:center}.issue-details-cell{display:flex;align-items:center;gap:12px}.issue-icon-badge{width:38px;height:38px;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.issue-text-stack{display:flex;flex-direction:column;gap:2px}.issue-title{font-size:.94rem;font-weight:800;color:#0f172a}.ticket-id-sub{font-size:.76rem;color:#64748b}.category-pill-tag{display:inline-flex;align-items:center;gap:4px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:6px}.settings-view-shell{display:flex;flex-direction:column;gap:20px}.settings-card-panel{padding:24px}.preview-banner-container{width:100%;max-height:160px;border-radius:10px;overflow:hidden;border:1px solid #cbd5e1}.preview-banner-img{width:100%;height:160px;object-fit:cover}.span-half{flex:1;min-width:280px}.span-full{width:100%}.btn-toggle-switch{font-size:.78rem;font-weight:800;padding:6px 14px;border-radius:8px;cursor:pointer;border:none;transition:all .15s ease}.btn-toggle-switch.on{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.btn-toggle-switch.off{background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1}.btn-toggle-switch:hover{transform:scale(1.03)}.student-pg-banner-enhanced{position:relative;width:100%;height:180px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px #00000014}.student-banner-img{width:100%;height:100%;object-fit:cover}.student-banner-overlay-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a33,#0f172ad9);color:#fff;padding:24px;display:flex;flex-direction:column;justify-content:flex-end}.student-banner-overlay-gradient h2{font-size:1.8rem;font-weight:800;margin:4px 0 2px}.banner-address{font-size:.88rem;color:#cbd5e1;margin:0}.student-pg-banner-fallback{background:linear-gradient(135deg,#1e293b,#0d9488);color:#fff;padding:28px;border-radius:16px;box-shadow:0 6px 20px #0d948826}.student-hero-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 14px #00000008}.student-hero-content{display:flex;align-items:center;gap:16px}.student-avatar{width:54px;height:54px;font-size:1.2rem;box-shadow:0 4px 14px #0d948840}.hero-welcome-text h1{font-size:1.45rem;font-weight:800;color:#0f172a;margin:2px 0 6px}.hero-chips-row{display:flex;gap:8px;flex-wrap:wrap}.hero-pill-badge{font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:6px}.hero-pill-badge.room{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.hero-pill-badge.floor{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.hero-pill-badge.status.pending{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.hero-pill-badge.status.active{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.btn-logout-pill{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;font-size:.84rem;font-weight:700;padding:8px 16px;border-radius:8px;cursor:pointer;transition:all .15s ease}.btn-logout-pill:hover{background:#fee2e2}.student-amenities-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 18px}.amenities-title{font-size:.8rem;font-weight:800;color:#475569}.amenity-pill-chip{background:#fff;border:1px solid #cbd5e1;color:#334155;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:6px}.student-card-enhanced{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;display:flex;flex-direction:column;box-shadow:0 4px 12px #00000008}.student-card-enhanced.due-card{border-left:4px solid #f59e0b;background:linear-gradient(180deg,#fffbeb,#fff)}.card-top-row{display:flex;justify-content:space-between;align-items:center}.card-label-sub{font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase}.card-icon-emoji{font-size:1.2rem}.card-amount-val{font-size:1.6rem;font-weight:800;color:#0f172a;margin:6px 0 2px}.card-meta-text{font-size:.78rem;color:#64748b}.submit-receipts-wrapper{margin-top:18px!important;padding-top:14px;border-top:1px dashed rgba(245,158,11,.3)}.btn-pay-action-cta{background:linear-gradient(135deg,#10b981,#047857);color:#fff;border:none;font-size:.84rem;font-weight:700;padding:9px 16px;border-radius:8px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease;box-shadow:0 4px 12px #10b98140}.btn-pay-action-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b98159}.table-head-student-payments,.table-row-student-payments{grid-template-columns:1.2fr 1fr 1fr 1fr 1.1fr;align-items:center}.avatar-initials-sm{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-size:.8rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.topbar-user-badge{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid #e2e8f0;padding:6px 12px;border-radius:999px;margin-right:4px}.user-badge-info{display:flex;flex-direction:column;gap:1px}.user-badge-name{font-size:.85rem;font-weight:800;color:#0f172a;line-height:1.1}.user-badge-role{font-size:.7rem;font-weight:700;color:#0d9488;text-transform:uppercase}.sidebar-user-card{display:flex;align-items:center;gap:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);padding:10px 14px;border-radius:12px;margin-bottom:16px}.sidebar-user-name{display:block;font-size:.88rem;font-weight:800;color:#fff;line-height:1.25}.sidebar-user-role{display:block;font-size:.68rem;font-weight:800;color:#2dd4bf;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.student-top-userbar{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px 20px;box-shadow:0 2px 8px #00000008}.top-user-name{font-size:.95rem;font-weight:800;color:#0f172a}.top-user-sub{font-size:.76rem;color:#64748b}.auth-registration-shell{min-height:100vh;background:#f8fafc;display:flex;flex-direction:column}.registration-topbar{background:#fff;border-bottom:1px solid #e2e8f0;padding:16px 36px;box-shadow:0 2px 10px #00000008}.registration-logo-group{display:flex;align-items:center;gap:12px}.brand-logo-icon{font-size:1.6rem}.brand-title{display:block;font-size:1.05rem;font-weight:800;color:#0f172a;line-height:1.15}.brand-sub{display:block;font-size:.76rem;color:#64748b}.registration-content-container{max-width:920px;width:100%;margin:28px auto;padding:0 20px 40px}.dashboard-onboarding-link-banner{background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;padding:18px 24px;border-radius:14px;box-shadow:0 4px 18px #0f766e38;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.onboarding-link-info{display:flex;align-items:center;gap:14px;flex:1;min-width:280px}.onboarding-link-icon-badge{width:44px;height:44px;border-radius:12px;background:#ffffff26;display:flex;align-items:center;justify-content:center;font-size:1.4rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex-shrink:0}.onboarding-link-title-group h4{margin:0;font-size:1rem;font-weight:800;color:#fff;letter-spacing:-.2px}.onboarding-link-subtitle{margin:3px 0 0;font-size:.78rem;color:#ccfbf1;opacity:.95}.onboarding-link-input-pill{display:flex;align-items:center;background:#0003;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:4px 10px;margin-top:6px;max-width:480px}.onboarding-link-input-pill code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;color:#5eead4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-link-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-banner-copy{background:#fff!important;color:#0f766e!important;font-weight:800!important;font-size:.82rem!important;padding:8px 16px!important;border-radius:8px!important;transition:all .2s ease!important;box-shadow:0 2px 6px #0000001a!important}.btn-banner-copy:hover{background:#f0fdfa!important;transform:translateY(-1px)}.btn-banner-qr{background:#ffffff26!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;font-weight:700!important;font-size:.82rem!important;padding:8px 14px!important;border-radius:8px!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;transition:all .2s ease!important}.btn-banner-qr:hover{background:#ffffff40!important;transform:translateY(-1px)}.mobile-hamburger-btn{display:none;background:#0d9488;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:.88rem;font-weight:700;cursor:pointer;min-height:36px}.mobile-sidebar-close-btn{display:none;background:#ffffff26;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:1.1rem;font-weight:800;cursor:pointer;align-items:center;justify-content:center;line-height:1;padding:0;min-height:auto}.sidebar-header-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172aa6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:998;opacity:0;transition:opacity .25s ease}.sidebar-overlay.active{display:block;opacity:1}@media (max-width: 900px){.app-shell{grid-template-columns:minmax(0,1fr)!important;width:100vw;max-width:100vw;overflow-x:hidden}.content{width:100%;max-width:100%;min-width:0;box-sizing:border-box;height:auto;overflow-y:visible;overflow-x:hidden;padding:12px 10px;gap:12px}.sidebar{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;height:100vh;max-height:100vh;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:flex;flex-direction:column;z-index:999;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:6px 0 24px #0000004d}.sidebar.mobile-open{transform:translate(0)}.mobile-hamburger-btn{display:inline-flex;align-items:center;gap:6px}.mobile-sidebar-close-btn{display:flex}.onboard-header-banner,.view-header-banner{width:100%;max-width:100%;box-sizing:border-box;padding:16px 14px;flex-direction:column;align-items:stretch;gap:12px}.view-header-banner h2{font-size:1.25rem;line-height:1.3;word-break:break-word;overflow-wrap:break-word}.view-sub{font-size:.8rem;line-height:1.35;word-break:break-word;overflow-wrap:break-word}.header-actions-row{width:100%;flex-direction:column;gap:8px}.btn-onboard-cta{width:100%;text-align:center;justify-content:center}.panel,.rooms-table-panel,.residents-main-card,.payments-main-card,.maintenance-panel,.add-room-card{width:100%;max-width:100%;box-sizing:border-box;padding:14px 12px}.panel-heading{flex-direction:column;align-items:flex-start;gap:6px}.panel-heading h3{font-size:1.05rem;word-break:break-word}.topbar{flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:100%;box-sizing:border-box}.topbar-left-stack{display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;min-width:0}.topbar-title-row{display:flex;align-items:center;gap:10px;width:100%;max-width:100%;min-width:0}.topbar .eyebrow{font-size:.72rem;word-break:break-word;overflow-wrap:break-word;max-width:100%;margin-bottom:2px}.topbar h2{font-size:1.25rem;line-height:1.25;word-break:break-word;overflow-wrap:break-word}.user-chip{font-size:.76rem;word-break:break-word;overflow-wrap:break-word;max-width:100%;line-height:1.3}.property-scope-locked{width:100%;max-width:100%;box-sizing:border-box;flex-wrap:wrap;gap:6px;padding:6px 10px}.property-scope-locked .property-name{font-size:.82rem;font-weight:800;word-break:break-word;overflow-wrap:break-word;max-width:100%}.topbar-actions{flex-wrap:wrap;gap:8px;width:100%}.pg-switcher-box{width:100%;flex-direction:column;align-items:stretch}.pg-select-dropdown{width:100%}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px;width:100%}.dashboard-kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px;width:100%}.dashboard-modules-grid{grid-template-columns:1fr;gap:10px;width:100%}.rooms-kpi-bar{grid-template-columns:repeat(2,1fr);gap:10px;width:100%}.rooms-kpi-chip{padding:10px 12px;gap:8px}.rooms-kpi-chip .chip-icon{font-size:1.2rem}.rooms-kpi-chip .chip-val{font-size:1.15rem}.rooms-kpi-chip .chip-lbl{font-size:.7rem}.rooms-toolbar,.residents-toolbar-row,.payments-toolbar-row,.maintenance-toolbar{flex-direction:column;align-items:stretch;gap:10px;width:100%}.search-input-wrap,.resident-search-box,.payment-search-box{width:100%;min-width:0}.room-search-input,.resident-search-input,.payment-search-input{width:100%;min-height:0!important;height:28px!important;box-sizing:border-box}.filter-group-right{flex-direction:column;width:100%;gap:8px}.filter-field{width:100%;display:flex;flex-direction:column;gap:4px;font-size:.8rem}.filter-field select{width:100%;min-height:38px}.status-filter-tabs,.status-pills-row{flex-wrap:wrap;width:100%;gap:4px}.tab-btn,.chart-tab{flex:1 1 auto;text-align:center;font-size:.78rem;padding:6px 10px;min-height:36px}.dashboard-onboarding-link-banner{flex-direction:column;align-items:stretch;padding:14px;width:100%;max-width:100%;box-sizing:border-box;gap:12px}.onboarding-link-info{width:100%;max-width:100%;min-width:0;display:flex;align-items:flex-start;gap:10px}.onboarding-link-icon-badge{width:38px;height:38px;font-size:1.2rem;flex-shrink:0}.onboarding-link-title-group{width:100%;max-width:100%;min-width:0;word-break:break-word;overflow-wrap:break-word}.onboarding-link-title-group h4{font-size:.92rem;line-height:1.3;word-break:break-word;overflow-wrap:break-word;margin:0 0 2px}.onboarding-link-subtitle{font-size:.76rem;line-height:1.35;word-break:break-word;overflow-wrap:break-word;margin:2px 0 6px}.onboarding-link-input-pill{width:100%;max-width:100%;box-sizing:border-box;min-width:0;overflow:hidden;padding:6px 10px}.onboarding-link-input-pill code{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem}.onboarding-link-actions{width:100%;display:flex;flex-direction:column;gap:8px}.btn-banner-copy,.btn-banner-qr{width:100%!important;text-align:center!important;justify-content:center!important;min-height:38px!important;display:flex!important;align-items:center!important}.table-responsive{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:12px;box-sizing:border-box}.table-head-rooms-enhanced,.table-row-rooms-enhanced,.table-row-rooms-editing{min-width:720px}.table-head-payments-enhanced,.table-row-payments-enhanced{min-width:660px}.table-head-residents-enhanced,.table-row-residents-enhanced{min-width:720px}.table-head-maintenance-enhanced,.table-row-maintenance-enhanced{min-width:660px}.table-head-student-payments,.table-row-student-payments{min-width:620px}.allocation-controls-grid{grid-template-columns:1fr;align-items:stretch}.app-details-grid{grid-template-columns:1fr}.registration-topbar{padding:14px 18px}.registration-content-container{padding:0 12px 30px;margin:14px auto}.student-hero-card{flex-direction:column;align-items:stretch;gap:14px}.btn-logout-pill{width:100%;text-align:center}.add-room-card{padding:16px}.form-group-row{grid-template-columns:1fr;gap:10px}}@media (max-width: 480px){.metric-grid,.dashboard-kpi-grid{grid-template-columns:1fr}.rooms-kpi-bar{grid-template-columns:1fr 1fr;gap:8px}.header-actions-row{flex-direction:column;width:100%}.btn-onboard-cta{width:100%;text-align:center;justify-content:center}.chart-legend-row{flex-direction:column;align-items:flex-start;gap:6px}.bar-chart-grid{height:160px;gap:6px}.bar-value-tag{font-size:.68rem}.bar-label{font-size:.72rem}}.modal-backdrop-blur{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1050;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}.share-qr-modal-card{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0f172a59;border:1px solid rgba(255,255,255,.4);animation:scaleUp .25s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.qr-modal-header-banner{background:linear-gradient(135deg,#172026,#0d9488);color:#fff;padding:22px 24px;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:flex-start;position:relative}.qr-badge-pill{display:inline-block;background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#99f6e4;font-size:.68rem;font-weight:800;letter-spacing:.5px;padding:2px 8px;border-radius:4px;margin-bottom:6px}.qr-modal-header-banner h3{margin:0;font-size:1.25rem;font-weight:800;color:#fff}.qr-sub-text{margin:4px 0 0;font-size:.82rem;color:#ccfbf1}.qr-close-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:50%;width:34px;height:34px;font-size:1rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;min-height:auto}.qr-close-btn:hover{background:#ffffff4d;transform:scale(1.08)}.qr-modal-body{padding:22px;display:flex;flex-direction:column;gap:16px}.qr-onboard-shortcut-pill{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border:1px solid #99f6e4;border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shortcut-text-group strong{display:block;font-size:.84rem;color:#0f766e}.shortcut-text-group span{display:block;font-size:.74rem;color:#115e59;margin-top:2px}.btn-shortcut-action{background:#0d9488;color:#fff;font-size:.78rem;font-weight:800;padding:6px 14px;border-radius:8px;border:none;cursor:pointer;transition:background .15s ease;min-height:32px}.btn-shortcut-action:hover{background:#0f766e}.qr-hero-card{background:linear-gradient(180deg,#f8fafc,#fff);border:2px solid #e2e8f0;border-radius:16px;padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 8px 24px #0000000a}.qr-image-wrapper{display:flex;flex-direction:column;align-items:center;gap:10px}.qr-code-img{width:190px;height:190px;border-radius:14px;background:#fff;padding:10px;border:2px solid #0d9488;box-shadow:0 8px 24px #0d948826}.qr-scan-badge{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;font-size:.74rem;font-weight:800;padding:4px 10px;border-radius:999px}.qr-property-details{margin-top:14px}.qr-property-name{margin:0;font-size:1.15rem;font-weight:800;color:#0f172a}.qr-property-address{margin:4px 0 8px;font-size:.78rem;color:#64748b}.qr-scope-tag{display:inline-block;font-size:.72rem;font-weight:700;color:#0d9488;background:#e6fffa;border:1px solid #99f6e4;padding:3px 10px;border-radius:6px}.qr-copy-url-box{display:flex;flex-direction:column;gap:6px;text-align:left}.url-label{font-size:.8rem;font-weight:700;color:#334155}.url-input-action-row{display:flex;gap:8px;align-items:center}.qr-url-input{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;padding:8px 12px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;color:#0f172a;min-height:38px}.qr-url-input:focus{outline:none;border-color:#0d9488;background:#fff}.btn-qr-copy{background:#0d9488;color:#fff;font-weight:800;font-size:.82rem;padding:8px 16px;border-radius:8px;border:none;cursor:pointer;min-height:38px;white-space:nowrap;transition:all .2s ease}.btn-qr-copy.copied{background:#16a34a}.qr-actions-grid{display:flex;gap:10px;flex-wrap:wrap}.btn-whatsapp-pill{flex:1 1 180px;background:linear-gradient(135deg,#25d366,#1da851);color:#fff!important;font-size:.84rem;font-weight:800;padding:10px 14px;border-radius:10px;text-decoration:none;text-align:center;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #25d36640;transition:all .15s ease}.btn-whatsapp-pill:hover{transform:translateY(-1px);box-shadow:0 6px 16px #25d36659}.btn-secondary-pill{flex:1 1 120px;background:#f1f5f9;color:#334155!important;border:1px solid #cbd5e1;font-size:.84rem;font-weight:700;padding:10px 14px;border-radius:10px;text-decoration:none;text-align:center;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-secondary-pill.highlight{background:#f0fdf4;border-color:#bbf7d0;color:#166534!important}.btn-secondary-pill:hover{background:#e2e8f0;transform:translateY(-1px)}.residents-toolbar-row,.payments-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px!important}.resident-search-box,.payment-search-box{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:0 10px;height:32px!important;min-height:32px!important;max-height:32px!important;box-sizing:border-box;flex:1 1 240px;width:100%;transition:all .15s ease}.resident-search-box:focus-within,.payment-search-box:focus-within{border-color:#0d9488;box-shadow:0 0 0 2px #0d94881f;background:#fff}.resident-search-box .search-icon,.payment-search-box .search-icon{position:static!important;transform:none!important;font-size:.78rem;line-height:1;flex-shrink:0;pointer-events:none;display:inline-flex;align-items:center}.resident-search-input,.payment-search-input{border:none!important;background:transparent!important;outline:none!important;box-shadow:none!important;min-height:0!important;height:28px!important;padding:0!important;width:100%;font-size:.8rem;color:#1e293b}.directory-count-badge{display:inline-flex;align-items:center;gap:4px;background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:20px;white-space:nowrap}.mobile-resident-cards,.mobile-payment-cards{display:none;flex-direction:column;gap:12px;margin:12px 0}.resident-card-mobile,.payment-card-mobile{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;gap:10px}.resident-card-mobile-header,.payment-card-mobile-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.truncate-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.resident-details-stack{min-width:0}.resident-name-title{font-size:.95rem;color:#0f172a;font-weight:800}.resident-email-sub{font-size:.74rem;color:#64748b}.rent-sub-label{display:block;font-size:.7rem;color:#64748b;margin-top:1px}.resident-card-mobile-grid,.payment-card-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-meta-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:4px;min-width:0}.mobile-meta-box.justify-center{justify-content:center}.meta-box-label{font-size:.66rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.mobile-meta-box .room-tag-pill,.mobile-meta-box .occupancy-type-badge,.mobile-meta-box .phone-contact-pill,.mobile-meta-box .cycle-month-tag{font-size:.74rem;padding:3px 6px;width:fit-content;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-card-mobile-actions{display:flex;gap:8px;margin-top:4px;padding-top:8px;border-top:1px dashed #e2e8f0}.btn-card-action{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .15s ease}.btn-card-action.btn-call{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1!important}.btn-card-action.btn-call:hover{background:#e0f2fe}.btn-card-action.btn-wa{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d!important}.btn-card-action.btn-wa:hover{background:#dcfce7}@media (max-width: 768px){.desktop-table-view{display:none!important}.mobile-resident-cards,.mobile-payment-cards{display:flex!important}.residents-toolbar-row,.payments-toolbar-row{flex-direction:column;align-items:stretch}.directory-count-badge{align-self:flex-start}}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #f1f5f9;flex-wrap:wrap}.pagination button{background:#fff;color:#334155;border:1px solid #cbd5e1;border-radius:8px;padding:6px 14px;font-size:.82rem;font-weight:700;min-height:34px;box-shadow:0 1px 3px #0000000a;transition:all .15s ease}.pagination button:hover:not(:disabled){background:#0d9488;color:#fff;border-color:#0d9488;box-shadow:0 2px 6px #0d948840}.pagination button:disabled{opacity:.45;cursor:not-allowed;background:#f8fafc;border-color:#e2e8f0;box-shadow:none}.pagination span{font-size:.84rem;font-weight:700;color:#475569}.input-with-icon.align-top .field-icon{top:14px!important;transform:none!important}.input-prefix-row{position:relative;display:flex;align-items:center;width:100%}.prefix-icon-badge{position:absolute;left:14px;z-index:2;font-size:1rem;pointer-events:none}.form-select-enhanced{width:100%;padding-left:42px!important;min-height:44px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;color:#0f172a;font-size:.92rem;transition:all .2s ease;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.form-select-enhanced:focus{outline:none;background:#fff;border-color:#0d9488;box-shadow:0 0 0 3px #0d948826}.onboard-success-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.onboard-success-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media (max-width: 980px){.onboard-grid{grid-template-columns:1fr!important;gap:16px}.onboard-header-banner{flex-direction:column;align-items:stretch;gap:12px;padding:18px 20px}.onboard-header-banner h2{font-size:1.35rem}.btn-directory-shortcut{width:100%;text-align:center}}@media (max-width: 640px){.onboard-section-card{padding:16px 14px}.form-grid-2{grid-template-columns:1fr!important;gap:12px}.form-group.span-2{grid-column:span 1!important}.sharing-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sharing-card-btn{padding:10px 6px}.sharing-card-icon{font-size:1.25rem;margin-bottom:2px}.sharing-card-title{font-size:.78rem}.sharing-card-sub{font-size:.68rem}.room-selection-banner{padding:12px 14px}.onboard-submit-btn{font-size:.95rem;padding:12px 14px}.onboard-success-row{flex-direction:column;align-items:stretch}.onboard-success-actions{width:100%}.onboard-success-actions button{flex:1;text-align:center;justify-content:center}}@media (max-width: 980px){.tier-cards-grid{grid-template-columns:1fr!important;gap:14px}.qr-widget-container{flex-direction:column;align-items:stretch;gap:16px}.qr-code-box{flex-direction:column;text-align:center;align-items:center;padding:16px}.qr-instructions{display:flex;flex-direction:column;align-items:center}.reg-url-row{flex-direction:column;align-items:stretch;gap:8px}.reg-url-row .reg-url-input{width:100%;box-sizing:border-box}.reg-url-row button,.reg-url-row a{width:100%;text-align:center;justify-content:center}}@media (max-width: 640px){.pg-cards-grid{grid-template-columns:1fr!important;gap:16px}.settings-card-panel{padding:16px 14px}.form-group-row{grid-template-columns:1fr!important;gap:12px}.form-group-row .span-2,.form-group-row .span-full,.form-group-row .span-half{grid-column:span 1!important}.module-toggle-item{flex-direction:column;align-items:stretch;gap:12px;padding:12px 14px}.btn-toggle-switch{width:100%;text-align:center;justify-content:center}.chart-tabs-pills{width:100%;flex-direction:column;gap:6px}.chart-tabs-pills .chart-tab{width:100%;text-align:center;justify-content:center}.card-registration-box .reg-url-row{flex-direction:row;gap:6px}.card-registration-box .reg-url-input{font-size:.72rem;flex:1;min-width:0}}.pending-view-shell{display:flex;flex-direction:column;gap:20px}.pending-hero-banner{background:linear-gradient(135deg,#0f172a,#1e293b 60%,#0f766e);border-radius:16px;padding:24px 28px;color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 30px #0f172a26;position:relative;overflow:hidden}.pending-hero-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:300px;height:300px;background:radial-gradient(circle,rgba(13,148,136,.25) 0%,transparent 70%);pointer-events:none}.hero-text-content h2{color:#fff!important;font-size:1.6rem;font-weight:800;margin:4px 0 6px;letter-spacing:-.3px}.glass-badge{background:#ffffff1f;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e2e8f0;font-size:.7rem;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.5px}.live-pulse-chip{display:inline-flex;align-items:center;gap:6px;background:#10b98126;border:1px solid rgba(16,185,129,.3);color:#34d399;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:#10b981;box-shadow:0 0 #10b981b3;animation:pulse-ring 1.8s infinite}@keyframes pulse-ring{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 8px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.glowing-counter{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 18px;border-radius:12px;font-size:.9rem;color:#f8fafc}.glowing-counter strong{color:#f59e0b;font-size:1.25rem}.rooms-kpi-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rooms-kpi-chip{display:flex;align-items:center;gap:14px;padding:16px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #00000008}.rooms-kpi-chip.highlight{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#bbf7d0}.chip-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.chip-icon.amber{background:#fef3c7;color:#d97706}.chip-icon.emerald{background:#dcfce7;color:#15803d}.chip-icon.cyan{background:#cff4fc;color:#0891b2}.chip-val{display:block;font-size:1.4rem;font-weight:800;color:#0f172a;line-height:1.1}.chip-lbl{font-size:.78rem;color:#64748b;font-weight:600}.pending-applications-stack{display:flex;flex-direction:column;gap:20px}.pending-application-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px 26px;box-shadow:0 4px 20px #0000000a;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;position:relative;overflow:hidden}.pending-application-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:linear-gradient(180deg,#f59e0b,#d97706);border-radius:4px 0 0 4px}.pending-application-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #00000012;border-color:#cbd5e1}.resident-profile-cell{display:flex;align-items:center;gap:16px}.avatar-ring-container{position:relative}.avatar-initials-lg.pending-avatar{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-size:1.15rem;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0d94884d;border:2px solid #ffffff}.pending-glow-pill{background:#fef3c7;border:1px solid #fde68a;color:#b45309;font-size:.72rem;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.3px}.tiny-pulse-dot{width:6px;height:6px;border-radius:50%;background:#d97706;display:inline-block}.property-tag-chip{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569;font-size:.74rem;font-weight:700;padding:3px 10px;border-radius:6px;margin-left:6px}.border-bottom-subtle{border-bottom:1px solid #f1f5f9;padding-bottom:16px;margin-bottom:20px!important}.resident-contact-row{margin-top:8px;margin-bottom:4px;gap:16px!important}.resident-contact-item{font-size:.84rem;color:#334155;font-weight:600;background:#f8fafc;border:1px solid #e2e8f0;padding:4px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.movein-date-badge{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;font-size:.8rem;padding:6px 14px;border-radius:8px}.app-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.detail-label{display:block;font-size:.75rem;font-weight:800;color:#475569;text-transform:uppercase;letter-spacing:.4px;margin-bottom:8px}.detail-value-group{display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:#0f172a}.address-text{margin:0;font-size:.88rem;color:#334155;line-height:1.4}.room-allocation-box{background:linear-gradient(180deg,#f0fdfa,#f8fafc);border:1.5px solid #99f6e4;border-radius:14px;padding:18px 20px;margin-top:10px}.step-badge{background:#0d9488;color:#fff;font-size:.65rem;font-weight:900;padding:3px 10px;border-radius:4px;letter-spacing:.5px;margin-right:12px;display:inline-block}.allocation-title{font-size:.92rem;color:#0f766e;display:flex;align-items:center;gap:10px}.selected-room-mini-badge{background:#dcfce7;border:1px solid #86efac;color:#166534;font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:20px}.allocation-controls-grid{display:flex;flex-direction:column;gap:14px}.alloc-step{display:flex;flex-direction:column;gap:6px}.input-label-sm{font-size:.78rem;font-weight:700;color:#334155}.sharing-type-pills-row{display:flex;flex-wrap:wrap;gap:8px}.sharing-type-pill{background:#fff;border:1px solid #cbd5e1;color:#475569;font-size:.8rem;font-weight:700;padding:6px 14px;border-radius:8px;cursor:pointer;transition:all .15s ease}.sharing-type-pill:hover{border-color:#0d9488;color:#0f766e;background:#f0fdfa}.sharing-type-pill.active{background:#0d9488;border-color:#0d9488;color:#fff;box-shadow:0 3px 10px #0d948840}.room-select-highlight{background:#fff;border:1.5px solid #0d9488!important;font-weight:600}.alloc-actions{display:flex;gap:10px;margin-top:4px}.btn-approve-enhanced{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:.88rem;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px #10b9814d;transition:all .2s ease;flex:1;justify-content:center}.btn-approve-enhanced:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 6px 18px #10b98166}.btn-approve-enhanced:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-reject-enhanced{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5;border-radius:10px;padding:10px 18px;font-size:.88rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.btn-reject-enhanced:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c}@media (max-width: 768px){.pending-hero-banner{flex-direction:column;align-items:flex-start;gap:14px;padding:18px 20px}.rooms-kpi-bar{grid-template-columns:1fr;gap:10px}.pending-application-card{padding:16px 14px;border-radius:12px}.app-card-header{flex-direction:column;align-items:flex-start;gap:14px}.application-meta-right{text-align:left!important;width:100%}.movein-date-badge{display:inline-block;width:100%;box-sizing:border-box;text-align:center}.resident-profile-cell{flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:12px;width:100%}.resident-details-stack{flex:1;min-width:0}.property-tag-chip{margin-left:0!important;margin-top:4px}.resident-contact-row{flex-direction:column;align-items:stretch;gap:8px!important;width:100%}.resident-contact-item{width:100%;box-sizing:border-box;font-size:.8rem;word-break:break-all;justify-content:flex-start}.app-details-grid{grid-template-columns:1fr;gap:10px}.room-allocation-box{padding:14px 12px;border-radius:12px}.allocation-header{flex-direction:column;align-items:flex-start;gap:10px}.allocation-title{flex-wrap:wrap;gap:8px!important}.selected-room-mini-badge{width:100%;max-width:100%;font-size:.75rem;white-space:normal;line-height:1.4;box-sizing:border-box;display:block;text-align:left}.sharing-type-pills-row{display:flex;flex-wrap:wrap;gap:6px}.sharing-type-pill{flex:1 1 calc(50% - 6px);text-align:center;justify-content:center;font-size:.76rem;padding:8px 6px}.alloc-actions{flex-direction:column;width:100%}.btn-approve-enhanced,.btn-reject-enhanced{width:100%;min-height:44px;font-size:.88rem;justify-content:center}}@media (max-width: 480px){.avatar-initials-lg.pending-avatar{width:44px;height:44px;font-size:1rem}.sharing-type-pill{flex:1 1 100%}}.floating-toast-popup{position:fixed;top:24px;right:24px;z-index:99999;max-width:420px;width:calc(100vw - 48px);background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;box-shadow:0 16px 45px #0f172a2e,0 4px 12px #0000000d;border:1.5px solid #e2e8f0;overflow:hidden;animation:toast-slide-down .4s cubic-bezier(.16,1,.3,1)}@keyframes toast-slide-down{0%{transform:translateY(-30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.floating-toast-popup.success{border-color:#10b981;background:linear-gradient(135deg,#fff,#f0fdf4)}.floating-toast-popup.error,.floating-toast-popup.warning{border-color:#f59e0b;background:linear-gradient(135deg,#fff,#fffbeb)}.toast-content-wrapper{display:flex;align-items:flex-start;gap:12px;padding:16px 18px}.toast-icon-badge{font-size:1.5rem;line-height:1;flex-shrink:0;margin-top:2px}.toast-text-stack{flex:1;display:flex;flex-direction:column;gap:4px}.toast-title{font-size:.95rem;font-weight:800;color:#0f172a}.toast-message{margin:0;font-size:.86rem;color:#334155;line-height:1.4}.toast-action-btn{margin-top:8px;background:#0d9488;color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:700;cursor:pointer;width:fit-content;transition:all .15s ease}.toast-action-btn:hover{background:#0f766e}.toast-close-btn{background:transparent;border:none;color:#94a3b8;font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s ease;line-height:1}.toast-close-btn:hover{color:#0f172a;background:#0000000d}.toast-progress-bar{height:3px;background:#10b981;width:100%;animation:toast-progress 6s linear forwards}@keyframes toast-progress{0%{width:100%}to{width:0%}}.floating-modal-backdrop{background:#0f172abf!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.floating-success-card{text-align:center;max-width:480px!important;border-radius:20px!important;padding:32px 28px!important;border:1px solid rgba(255,255,255,.2);box-shadow:0 25px 60px #0000004d!important;animation:modal-pop .35s cubic-bezier(.16,1,.3,1)}@keyframes modal-pop{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.success-icon-badge-xl{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#dcfce7,#bbf7d0);display:flex;align-items:center;justify-content:center;font-size:2.2rem;margin:0 auto 16px;box-shadow:0 8px 24px #10b98140}.floating-success-card h3{font-size:1.4rem;font-weight:800;color:#0f172a;margin:0 0 8px}.success-modal-sub{font-size:.9rem;color:#475569;margin:0 0 20px;line-height:1.45}.success-details-summary-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px 18px;text-align:left;display:flex;flex-direction:column;gap:10px}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.86rem}.summary-lbl{color:#64748b;font-weight:600}.summary-val{color:#0f172a;font-weight:800}.success-modal-notice-banner{background:#f0fdfa;border:1px solid #99f6e4;color:#0f766e;font-size:.82rem;font-weight:600;padding:10px 14px;border-radius:10px;text-align:left;line-height:1.4}@media (max-width: 640px){.floating-toast-popup{top:12px;right:12px;left:12px;width:auto;max-width:none}}.phone-digit-badge{margin-top:8px;border-radius:12px;transition:all .25s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 3px #0000000a}.phone-digit-badge.badge-zero{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border:1px solid #fca5a5;padding:9px 12px}.phone-digit-badge.badge-typing{background:#f8fafc;border:1px solid #e2e8f0;padding:9px 12px}.phone-digit-badge .progress-track{height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:6px}.phone-digit-badge .progress-bar-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#0d9488);border-radius:999px;transition:width .3s cubic-bezier(.16,1,.3,1)}.phone-digit-badge.badge-success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1.5px solid #86efac;color:#065f46;padding:8px 12px;box-shadow:0 2px 8px #10b9811f}.phone-digit-badge.badge-danger{background:linear-gradient(135deg,#fff1f2,#ffe4e6);border:1.5px solid #fca5a5;color:#9f1239;padding:8px 12px;box-shadow:0 2px 8px #e11d481f}.digit-pills-row{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;margin-top:7px}.digit-pill{height:20px;line-height:20px;text-align:center;border-radius:5px;font-size:10px;font-weight:800;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;transition:all .2s ease-in-out}.digit-pill.pill-filled{background:linear-gradient(135deg,#0d9488,#059669);color:#fff;box-shadow:0 1px 4px #0d948859;transform:translateY(-1px)}.digit-pill.pill-empty{background:#cbd5e1;color:#64748b}.digit-pill.pill-zero{background:#fef3c7;color:#b45309;border:1px dashed #f59e0b}.digit-pill.pill-active-emerald{background:linear-gradient(135deg,#10b981,#047857);color:#fff;box-shadow:0 0 6px #10b98199}.btn-ddos-clear-all{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:linear-gradient(135deg,#ef4444,#dc2626,#b91c1c);color:#fff!important;font-weight:700;font-size:14px;letter-spacing:.01em;padding:0 20px;min-height:44px;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;box-shadow:0 4px 14px #dc262659,inset 0 1px #ffffff40;transition:all .22s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-ddos-clear-all:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#ef4444,#dc2626);transform:translateY(-2px);box-shadow:0 6px 20px #dc26267a,inset 0 1px #ffffff59}.btn-ddos-clear-all:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #dc26264d}.btn-ddos-clear-all:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-ddos-refresh{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#fff,#f8fafc);color:#1e293b;font-weight:600;font-size:14px;padding:0 18px;min-height:44px;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;box-shadow:0 1px 3px #0f172a14,inset 0 1px #ffffffe6;transition:all .2s ease}.btn-ddos-refresh:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;color:#0f172a;transform:translateY(-1px);box-shadow:0 3px 8px #0f172a1f}.btn-ddos-refresh:active:not(:disabled){transform:translateY(0)}.btn-ddos-refresh.is-spinning .icon-spin{animation:ddosSpin .8s linear infinite}@keyframes ddosSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-ddos-nav{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#0f172a,#1e293b);color:#38bdf8!important;font-weight:700;font-size:13px;padding:0 18px;min-height:42px;border-radius:8px;border:1px solid rgba(56,189,248,.3);cursor:pointer;box-shadow:0 2px 8px #0f172a40,inset 0 1px #ffffff1a;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-ddos-nav:hover{background:linear-gradient(135deg,#1e293b,#334155);color:#7dd3fc!important;border-color:#38bdf8;transform:translateY(-1px);box-shadow:0 4px 14px #38bdf84d}.btn-ddos-quick-unban{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff!important;font-weight:700;font-size:14px;padding:0 22px;min-height:44px;border-radius:8px;border:1px solid rgba(255,255,255,.2);cursor:pointer;box-shadow:0 3px 10px #0d948859,inset 0 1px #ffffff4d;transition:all .2s ease}.btn-ddos-quick-unban:hover:not(:disabled){background:linear-gradient(135deg,#14b8a6,#0d9488);transform:translateY(-1px);box-shadow:0 5px 16px #0d948873}.btn-ddos-quick-unban:active:not(:disabled){transform:translateY(0)}.btn-ddos-quick-unban:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn-ddos-unban-pill{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#15803d;font-size:12px;font-weight:700;padding:6px 14px;border:1px solid #86efac;border-radius:20px;cursor:pointer;transition:all .18s ease;box-shadow:0 1px 3px #16a34a1f}.btn-ddos-unban-pill:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;border-color:#15803d;transform:translateY(-1px);box-shadow:0 3px 8px #16a34a4d}.btn-ddos-unban-pill:active:not(:disabled){transform:translateY(0)}.ddos-pulse-dot{width:8px;height:8px;border-radius:50%;background:#10b981;display:inline-block;box-shadow:0 0 #10b981b3;animation:ddosPulse 2s infinite}.ddos-pulse-dot.warning{background:#ef4444;box-shadow:0 0 #ef4444b3;animation:ddosPulseWarning 1.5s infinite}@keyframes ddosPulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}@keyframes ddosPulseWarning{0%{transform:scale(.95);box-shadow:0 0 #ef4444b3}70%{transform:scale(1);box-shadow:0 0 0 7px #ef444400}to{transform:scale(.95);box-shadow:0 0 #ef444400}}
