:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root:not([data-theme]){--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}:root[data-theme=dark]{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}body{margin:0}#root{text-align:left;border:none;width:auto;max-width:none;min-height:100svh;margin:0;display:block}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.site-summary{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.auth-shell{place-items:center;min-height:100svh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:var(--bg);width:420px;max-width:100%;box-shadow:var(--shadow);border-radius:14px;padding:24px}.auth-card h1{text-align:left;margin:0 0 8px}.muted{color:var(--text);opacity:.85;margin-top:0}.page-loader{place-items:center;min-height:40vh;font-size:.95rem;display:grid}.error{color:#b91c1c;background:#ff50501f;border:1px solid #ff505059;border-radius:10px;margin-top:12px;padding:10px 12px}.form-alert{border:1px solid #0000;border-radius:12px;margin-top:12px;padding:12px 14px}.form-alert-error{color:#991b1b;background:#fee2e28c;border-color:#f8717173}.form-alert-title{text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.78rem;font-weight:800}.form-alert-field{color:#b45309;margin-bottom:4px;font-size:.82rem;font-weight:700}.form-alert-message{font-size:.92rem;line-height:1.45}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#ef4444;box-shadow:0 0 0 1px #ef444426}.field-error-hint{color:#dc2626;margin-top:4px;font-size:.78rem}.auth-form{gap:12px;margin-top:16px;display:grid}.field{text-align:left;gap:6px;display:grid}.field span,.field label{color:var(--text-h);font-size:14px}.field input,.field select{border:1px solid var(--border);color:var(--text-h);font:inherit;background:0 0;border-radius:10px;padding:10px 12px}.btn{border:1px solid var(--border);color:var(--text-h);cursor:pointer;font:inherit;background:0 0;border-radius:12px;padding:10px 12px;transition:transform 50ms,background .15s,border-color .15s}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent-bg);color:var(--accent);border-color:#aa3bff59}.btn.ghost{opacity:.9}.btn.danger{color:#b91c1c;background:#ff50501f;border-color:#ff505059}.shell{background:var(--bg);min-height:100svh;display:flex}.sidebar{border-right:1px solid var(--border);flex-direction:column;gap:16px;width:260px;padding:18px;display:flex}.brand{color:var(--text-h);letter-spacing:-.2px;font-weight:650}.nav{gap:8px;display:grid}.nav a{color:var(--text-h);border:1px solid #0000;border-radius:12px;padding:10px 12px;text-decoration:none}.nav a:hover{border-color:var(--border);background:#00000005}.nav a.active{background:var(--accent-bg);color:var(--accent);border-color:#aa3bff59}.sidebar-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.user-name{color:var(--text-h);font-weight:600}.user-role{color:var(--text);opacity:.9;font-size:13px}.main{flex:1;padding:18px}.topbar{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.grid{gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px 16px}.card-label{color:var(--text);font-size:13px}.card-value{color:var(--text-h);margin-top:6px;font-size:26px;font-weight:750}.panel{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:14px;padding:14px 16px}.panel-title{color:var(--text-h);margin-bottom:12px;font-weight:700}.panel-actions{flex-wrap:wrap;gap:10px;display:flex}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.toolbar-actions{gap:10px;margin-left:auto;display:flex}.table-wrap{margin-top:14px;overflow:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:10px;font-size:14px}.table thead th{color:var(--text);font-size:13px;font-weight:600}.row-actions{align-items:center;gap:8px;display:flex}.mono{font-family:var(--mono)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (width<=1024px){.sidebar{width:220px}.grid-3,.form-grid{grid-template-columns:1fr}}.portal-shell{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1f2937;background:#f5f3fb;grid-template-columns:205px 1fr;min-height:100svh;display:grid}.portal-sidebar{color:#dfe8ff;background:#131c31;flex-direction:column;gap:20px;padding:18px 14px;display:flex}.portal-brand{color:#fff;letter-spacing:-.03em;font-size:1.6rem;font-weight:800}.portal-brand-subtitle{text-transform:uppercase;letter-spacing:.18em;color:#dfe8ffa8;margin-top:4px;font-size:.78rem}.hotel-logo{align-items:center;gap:12px;display:flex}.hotel-logo-image{object-fit:contain;flex-shrink:0;display:block}.hotel-logo-text{min-width:0}.hotel-logo-name{letter-spacing:-.02em;font-weight:800;line-height:1.15}.hotel-logo-subtitle{text-transform:uppercase;letter-spacing:.14em;opacity:.72;margin-top:4px;font-size:.72rem}.portal-brand-block{border-bottom:1px solid #ffffff1a;margin-bottom:2px;padding-bottom:16px}.hotel-logo-mark{flex-shrink:0;justify-content:center;align-items:center;display:flex}.hotel-logo-sidebar{flex-direction:column;align-items:stretch;gap:8px}.hotel-logo-sidebar .hotel-logo-brand-row{align-items:center;gap:11px;display:flex}.hotel-logo-sidebar .hotel-logo-title-group{flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:0;display:flex}.hotel-logo-sidebar .hotel-logo-mark{background:#fff;border-radius:10px;align-self:center;width:46px;height:46px;padding:3px;box-shadow:0 4px 14px #0000002e}.hotel-logo-sidebar .hotel-logo-image{object-fit:contain;width:100%;height:100%;display:block}.hotel-logo-sidebar .hotel-logo-name{color:#fff;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:800;line-height:1.15;overflow:hidden}.hotel-logo-sidebar .hotel-logo-tagline{color:#c9a962;letter-spacing:.04em;white-space:nowrap;font-size:.72rem;font-weight:600;line-height:1.15}.hotel-logo-sidebar .hotel-logo-subtitle{color:#dfe8ff80;letter-spacing:.18em;text-transform:uppercase;text-align:center;border-top:1px solid #ffffff14;margin:0;padding-top:8px;font-size:.56rem;font-weight:700}.hotel-logo-lg{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-bottom:8px}.hotel-logo-lg .hotel-logo-mark{background:#fff;border-radius:20px;width:96px;height:96px;padding:10px;box-shadow:0 10px 24px #0f172a1a}.hotel-logo-lg .hotel-logo-image{object-fit:contain;width:100%;height:100%}.hotel-logo-lg .hotel-logo-name{color:#111827;font-size:1.65rem}.hotel-logo-lg .hotel-logo-subtitle{color:#6b7280;letter-spacing:.12em}.auth-brand-logo{margin-bottom:6px}.auth-brand-logo .hotel-logo-mark{background:#fff;border:none;border-radius:14px;width:128px;height:84px;padding:4px;overflow:hidden;box-shadow:0 8px 22px #0f172a1f}.auth-brand-logo .hotel-logo-image{object-fit:contain;object-position:center;width:100%;height:100%}:root[data-theme=dark] .hotel-logo-lg .hotel-logo-mark{background:#151d33;border:1px solid #2a3558}:root[data-theme=dark] .auth-brand-logo .hotel-logo-mark{background:#fff;border:none;box-shadow:0 10px 28px #00000059}:root[data-theme=dark] .hotel-logo-lg .hotel-logo-name{color:#f8fafc}:root[data-theme=dark] .hotel-logo-lg .hotel-logo-subtitle{color:#94a3b8}.portal-nav{gap:8px;display:grid}.portal-nav-link{color:#dfe8ff;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:.95rem;text-decoration:none;display:flex}.portal-nav-link.active{color:#fff;background:linear-gradient(#3b68ee,#2a56d9);box-shadow:inset 0 0 0 1px #ffffff14}.portal-nav-icon,.portal-top-icon{background:#ffffff38;border-radius:4px;width:16px;height:16px;display:inline-block}.portal-sidebar-bottom{gap:10px;margin-top:auto;display:grid}.portal-side-action{appearance:none;color:#dfe8ff;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 12px}.portal-side-action:hover{background:#ffffff0d}.portal-main{padding:12px 18px 24px}.portal-topbar{justify-content:space-between;align-items:center;gap:18px;padding:4px 0 16px;display:flex}.portal-search{flex:1;max-width:420px}.portal-search input{width:100%;font:inherit;color:#111827;background:#fff;border:1px solid #e3e6f0;border-radius:12px;padding:13px 16px}.portal-topbar-right{align-items:center;gap:14px;display:flex}.portal-profile{background:#fff;border:1px solid #e4e7f0;border-radius:14px;align-items:center;gap:12px;padding:8px 12px;display:flex}.portal-profile-role{color:#2956cf;font-size:.76rem;font-weight:700}.portal-profile-name{color:#7d869a;font-size:.78rem}.portal-avatar{color:#fff;background:linear-gradient(#2149be,#17274b);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.portal-page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.portal-page-title{color:#111827;margin:0;font-size:2rem;font-weight:800}.portal-page-subtitle{color:#6b7280;margin-top:6px}.portal-header-actions{align-items:center;gap:12px;display:flex}.portal-btn{appearance:none;color:#1f2937;font:inherit;cursor:pointer;background:#fff;border:1px solid #d9deeb;border-radius:12px;justify-content:center;align-items:center;padding:12px 16px;font-weight:600;text-decoration:none;display:inline-flex}.portal-btn-primary{color:#fff;background:linear-gradient(#3d63e8,#284fce);border-color:#0000;box-shadow:0 10px 18px #284fce38}.portal-btn-secondary{background:#fff}.portal-btn-danger{color:#c2410c;background:#fff1f2;border-color:#fed7d7}.portal-surface{background:#fff;border:1px solid #e4e7f0;border-radius:16px;padding:18px;box-shadow:0 4px 12px #0f172a0a}.portal-surface+.portal-surface{margin-top:16px}.portal-surface-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.portal-surface-head h3{color:#111827;margin:0;font-size:1.1rem}.portal-surface .field span{color:#374151;font-size:.92rem;font-weight:600}.portal-surface .field input,.portal-surface .field select{color:#111827;font:inherit;background:#fff;border:1px solid #d1d5db;border-radius:12px;padding:12px 14px}.portal-surface .field input::placeholder{color:#9ca3af}.portal-surface .field input:read-only{color:#1f2937;cursor:default;background:#f3f4f6}.portal-surface .field input:focus,.portal-surface .field select:focus{border-color:#6b8ae8;outline:2px solid #284fce38}.portal-surface .muted{color:#4b5563}.portal-surface .error{grid-column:1/-1}.portal-surface .success{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:10px;grid-column:1/-1;margin-top:0;padding:10px 12px}.portal-surface-head span{color:#7b8498;font-size:.82rem}.portal-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.portal-stat-card{background:#fff;border:1px solid #e4e7f0;border-radius:16px;padding:18px}.portal-stat-label{color:#6b7280;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.portal-stat-value{color:#111827;margin-top:10px;font-size:2rem;font-weight:800}.portal-stat-hint{color:#16a34a;margin-top:8px;font-size:.84rem;font-weight:600}.tone-purple{box-shadow:inset 0 4px #c8d0ff}.tone-blue{box-shadow:inset 0 4px #8cb4ff}.tone-peach{box-shadow:inset 0 4px #ffd3b5}.tone-rose{box-shadow:inset 0 4px #ffc8cf}.portal-dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:16px;margin-top:16px;display:grid}.portal-fake-chart{background:linear-gradient(#fcfcff,#f4f6fb);border:1px solid #eef1f8;border-radius:14px;height:290px;padding:18px}.portal-bar-chart{align-items:flex-end;gap:42px;display:flex}.portal-bar-chart span{opacity:.95;background:linear-gradient(#cfd5f6,#3955be);border-radius:12px 12px 0 0;width:26px}.portal-donut{background:conic-gradient(#284fce 0 88%, #eceef7 88% 100%);border-radius:50%;place-items:center;width:220px;height:220px;margin:8px auto 18px;display:grid}.portal-donut-inner{text-align:center;background:#fff;border-radius:50%;place-items:center;width:150px;height:150px;display:grid}.portal-donut-inner strong{font-size:2rem}.portal-donut-inner span{color:#6b7280;margin-top:-20px}.portal-legend{color:#374151;gap:10px;font-size:.95rem;display:grid}.portal-legend div{justify-content:space-between;gap:12px;display:flex}.dot{border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.dot.blue{background:#284fce}.dot.indigo{background:#5c6fd7}.dot.gold{background:#a16207}.portal-inline-link{color:#3159d9;font-weight:600;text-decoration:none}.portal-table-wrap{overflow:auto}.portal-table{border-collapse:collapse;width:100%}.portal-table th,.portal-table td{text-align:left;border-bottom:1px solid #eceef6;padding:14px 10px}.portal-table th{color:#6b7280;text-transform:uppercase;font-size:.78rem}.portal-badge{text-transform:capitalize;border-radius:999px;align-items:center;padding:6px 10px;font-size:.77rem;font-weight:700;display:inline-flex}.portal-badge.checked_in,.portal-badge.paid,.portal-badge.available{color:#15803d;background:#dcfce7}.portal-badge.checked_out,.portal-badge.occupied{color:#1d4ed8;background:#dbeafe}.portal-badge.pending,.portal-badge.partial,.portal-badge.maintenance{color:#c2410c;background:#ffedd5}.portal-filter-bar{grid-template-columns:200px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.portal-filter-bar-expenses{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,1.8fr) auto;align-items:end;gap:12px}.portal-filter-bar-expenses .field{gap:6px;min-width:0}.portal-filter-bar-expenses .field span{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:.72rem;font-weight:700}.portal-filter-bar-expenses .filter-field-action{align-items:flex-end;display:flex}.portal-filter-bar-expenses .filter-field-action .portal-btn{margin:0}@media (width<=1100px){.portal-filter-bar-expenses{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-filter-bar-expenses .filter-field-grow,.portal-filter-bar-expenses .filter-field-action{grid-column:1/-1}}.portal-filter-bar input,.portal-filter-bar select{width:100%;min-width:0;font:inherit;color:#111827;background:#f9faff;border:1px solid #e3e6f0;border-radius:10px;padding:10px 12px;font-size:.88rem}.portal-filter-bar .portal-btn{white-space:nowrap;justify-self:start;width:auto;min-width:96px;padding:10px 18px}.room-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.room-card{background:#fff;border:1px solid #e3e7f0;border-radius:12px;flex-direction:column;gap:8px;padding:10px;display:flex;box-shadow:0 4px 12px #0f172a0a}.room-card.status-available{box-shadow:inset 4px 0 #22c55e,0 4px 12px #0f172a0a}.room-card.status-occupied{box-shadow:inset 4px 0 #3b82f6,0 4px 12px #0f172a0a}.room-card.status-maintenance{box-shadow:inset 4px 0 #ef4444,0 4px 12px #0f172a0a}.room-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-card-title{color:#111827;font-size:.95rem;font-weight:800;line-height:1.2}.room-card-note{color:#9ca3af;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.35;display:-webkit-box;overflow:hidden}.room-card-image{background:linear-gradient(135deg,#e8edf5,#cfd8e8 55%,#f8fafc) 50%/cover no-repeat;border-radius:8px;height:72px}.room-card-image.has-image{background-color:#e8edf5}.room-card-footer{flex-direction:column;gap:8px;margin-top:auto;display:flex}.room-card-rate span{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}.room-card-rate strong{color:#2142aa;margin-top:2px;font-size:1.15rem;line-height:1.2;display:block}.room-card-actions{gap:6px;display:flex}.room-card-actions .portal-btn{flex:1;padding:6px 8px;font-size:.72rem}.room-card .portal-badge{text-transform:capitalize;flex-shrink:0;padding:4px 8px;font-size:.62rem}.checkin-layout{grid-template-columns:minmax(0,2fr) 330px;gap:16px;display:grid}.checkin-main{gap:16px;display:grid}.checkin-summary{display:grid}.billing-card{background:linear-gradient(#2f48b4 0 50px,#fff 50px 100%);border:1px solid #dfe4f4;border-radius:16px;padding:0 0 16px;overflow:hidden}.billing-card-head{color:#fff;padding:15px 18px;font-weight:700}.billing-line{justify-content:space-between;gap:12px;padding:14px 18px 0;display:flex}.billing-line.total strong{color:#2f48b4;font-size:1.5rem}.billing-line.danger strong{color:#dc2626}.billing-action{width:calc(100% - 36px);margin:14px 18px 0}.reports-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.reports-document{--report-chart-h:220px;--report-chart-h-tall:260px;gap:14px;display:grid}.reports-document .portal-stat-grid{gap:12px}.reports-document .portal-stat-card{border-radius:12px;padding:14px 16px}.reports-document .portal-stat-value{margin-top:6px;font-size:1.35rem;line-height:1.2}.reports-document .portal-stat-label{font-size:.72rem}.reports-document .portal-stat-hint{margin-top:6px;font-size:.78rem;font-weight:500}.reports-document .portal-surface{box-shadow:none;border-radius:12px;padding:14px 16px}.reports-document .portal-surface-head{margin-bottom:10px}.reports-document .portal-surface-head h3{font-size:.95rem}.reports-document .portal-surface-head span{font-size:.75rem}.reports-stat-text{word-break:break-word;font-weight:700;line-height:1.3;font-size:1.05rem!important}.reports-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.reports-toolbar-info{min-width:0}.reports-toolbar-title{color:#111827;margin:0;font-size:1.05rem;font-weight:800}.reports-toolbar-period{color:#6b7280;margin:2px 0 0;font-size:.82rem}.reports-toolbar-meta{color:#9ca3af;margin-top:4px;font-size:.72rem;display:block}.reports-toolbar-controls{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.reports-toolbar-controls .field{min-width:140px}.reports-doc-body{gap:18px;display:grid}.reports-ops-block{margin-top:4px}.reports-chart-panel{flex-direction:column;min-height:0;display:flex}.reports-chart-canvas{height:var(--report-chart-h);width:100%;position:relative}.reports-chart-canvas-tall{height:var(--report-chart-h-tall)}.reports-chart-empty{height:var(--report-chart-h);place-items:center;font-size:.85rem;display:grid}.reports-financial-banner{color:#fff;background:linear-gradient(135deg,#111827 0%,#1e293b 100%);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;margin-top:0;padding:14px 20px;display:flex}.reports-financial-banner-item{text-align:center;min-width:120px}.reports-financial-banner-item span{text-transform:uppercase;letter-spacing:.08em;opacity:.75;margin-bottom:2px;font-size:.68rem;display:block}.reports-financial-banner-item strong{font-size:1.25rem;font-weight:800;display:block}.reports-financial-banner-item em{opacity:.7;margin-top:2px;font-size:.75rem;font-style:normal;display:block}.reports-financial-banner-divider{opacity:.5;font-size:1.1rem;font-weight:300}.reports-financial-block{margin-top:0}.reports-section-head{border-bottom:1px solid #e4e7f0;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;display:flex}.reports-section-head h2{color:#111827;margin:0;font-size:1rem;font-weight:800}.reports-section-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;display:flex}.reports-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.reports-ops-charts{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.reports-stat-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.reports-stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.reports-profit-grid{grid-template-columns:minmax(0,1.6fr) minmax(240px,.8fr);align-items:stretch;gap:12px;display:grid}.reports-profit-formula{background:#fff;border:1px solid #e4e7f0;border-radius:12px;flex-direction:column;justify-content:center;padding:16px 18px;display:flex}.reports-profit-formula-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:.88rem;display:flex}.reports-profit-formula-row span{color:#6b7280}.reports-profit-formula-row strong{font-size:.95rem;font-weight:800}.reports-profit-formula-row strong.positive{color:#059669}.reports-profit-formula-row strong.negative{color:#dc2626}.reports-profit-formula-row.total{padding-top:8px}.reports-profit-formula-row.total span{color:#111827;font-weight:700}.reports-profit-formula-row.total strong{font-size:1.1rem}.reports-profit-formula-divider{background:#e4e7f0;height:1px;margin:2px 0}.reports-profit-formula-margin{text-align:center;color:#6b7280;border-top:1px dashed #e4e7f0;margin-top:8px;padding-top:6px;font-size:.78rem}.reports-financial-banner-item.income strong{color:#34d399}.reports-financial-banner-item.expense strong{color:#f87171}.reports-financial-banner-item.profit.positive strong{color:#a5b4fc}.reports-financial-banner-item.profit.negative strong{color:#fca5a5}.reports-section-head-expense .reports-section-icon{background:#fef2f2}.reports-section-head-expense{border-bottom-color:#fecaca}.reports-section-head-income .reports-section-icon{background:#ecfdf5}.reports-section-head-income{border-bottom-color:#a7f3d0}.reports-section-head-profit .reports-section-icon{background:#eef2ff}.reports-section-head-profit{border-bottom-color:#c7d2fe}.reports-section-head-ops .reports-section-icon{background:#f3f4f6}.reports-site-footer{text-align:center;letter-spacing:.06em;text-transform:lowercase;color:#9ca3af;margin-top:4px;padding:14px 16px 6px;font-size:.82rem;font-weight:600}@media print{.portal-sidebar,.portal-topbar,.portal-page-header,.portal-header-actions,.form-alert,.checkout-alerts{display:none!important}.portal-main{padding:0!important}.reports-site-footer{color:#6b7280;background:#fff;margin:0;padding:10px 16px 14px;font-size:11pt;position:fixed;bottom:0;left:0;right:0}}.tone-expense{box-shadow:inset 0 4px #fca5a5}.tone-income{box-shadow:inset 0 4px #6ee7b7}.tone-profit-positive{box-shadow:inset 0 4px #818cf8}.tone-profit-negative{box-shadow:inset 0 4px #f87171}.billing-actions{gap:10px;padding:14px 18px 0;display:grid}.billing-actions .portal-btn{width:100%}.billing-action-secondary{color:#2f48b4;background:#fff;border:1px solid #c7d2fe}.billing-action-secondary:hover:not(:disabled){background:#eef2ff}@media (width<=1200px){.reports-stat-grid-4,.reports-chart-grid,.reports-ops-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-profit-grid{grid-template-columns:1fr}}@media (width<=820px){.reports-stat-grid-4,.reports-stat-grid-3,.reports-chart-grid,.reports-ops-charts{grid-template-columns:1fr}.reports-financial-banner{flex-direction:column;gap:6px}.reports-financial-banner-divider{transform:rotate(90deg)}.reports-toolbar{flex-direction:column;align-items:stretch}.reports-toolbar-controls{width:100%}.reports-toolbar-controls .field{flex:1;min-width:0}}@media (width<=1200px){.portal-stat-grid,.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkin-layout,.portal-dashboard-grid,.reports-grid{grid-template-columns:1fr}}@media (width<=820px){.portal-shell{grid-template-columns:1fr}.portal-topbar,.portal-page-header{flex-direction:column;align-items:stretch}.portal-stat-grid,.room-grid,.portal-filter-bar{grid-template-columns:1fr}}.portal-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.portal-modal{width:min(720px,100%);max-height:min(90vh,720px);margin:0;overflow-y:auto;box-shadow:0 24px 60px #0f172a33}.portal-modal-close{appearance:none;color:#4b5563;cursor:pointer;background:#f3f4f6;border:none;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.4rem;line-height:1;display:inline-flex}.portal-modal-close:hover{color:#111827;background:#e5e7eb}.booking-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.booking-detail-label{color:#6b7280;margin-bottom:4px;font-size:.82rem;display:block}.booking-detail-proof{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:18px}.booking-detail-proof h4{color:#111827;margin:0 0 12px;font-size:1rem}.guest-proof-centered{justify-content:center;display:flex}.guest-proof-image{object-fit:contain;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;width:100%;max-width:640px;max-height:70vh}@media (width<=640px){.booking-detail-grid{grid-template-columns:1fr}}.auth-shell{position:relative}.auth-theme-toggle{z-index:2;position:absolute;top:20px;right:20px}.theme-moon-toggle{--moon-size:38px;--moon-bg:linear-gradient(145deg, #1e2a5a 0%, #131c31 55%, #0f172a 100%);--moon-border:#6366f147;--moon-shadow:inset 0 1px 1px #ffffff1f, 0 6px 18px #1e295f47;--moon-halo:#6366f159;appearance:none;width:var(--moon-size);height:var(--moon-size);border:1px solid var(--moon-border);cursor:pointer;background:var(--moon-bg);box-shadow:var(--moon-shadow);isolation:isolate;border-radius:50%;padding:0;transition:transform .3s cubic-bezier(.34,1.4,.64,1),box-shadow .35s,border-color .35s,background .45s;position:relative;overflow:hidden}.theme-moon-toggle.is-dark{--moon-bg:linear-gradient(145deg, #2a1f08 0%, #1a1408 55%, #0f0d08 100%);--moon-border:#fbbf2452;--moon-shadow:inset 0 1px 1px #ffffff14, 0 6px 20px #b4530947;--moon-halo:#fbbf2466}.theme-moon-toggle__halo{background:radial-gradient(circle, var(--moon-halo) 0%, transparent 68%);opacity:0;pointer-events:none;border-radius:50%;transition:opacity .35s,transform .45s;position:absolute;inset:-40%;transform:scale(.6)}.theme-moon-toggle__stars{pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.theme-moon-toggle.is-dark .theme-moon-toggle__stars{opacity:0}.theme-moon-toggle__star{background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 4px #fffc}.theme-moon-toggle__star--1{width:2px;height:2px;animation:2.4s ease-in-out infinite theme-star-twinkle;top:9px;right:10px}.theme-moon-toggle__star--2{width:1.5px;height:1.5px;animation:3s ease-in-out .6s infinite theme-star-twinkle;top:14px;left:9px}.theme-moon-toggle__star--3{width:1.5px;height:1.5px;animation:2.8s ease-in-out 1.1s infinite theme-star-twinkle;bottom:10px;right:12px}@keyframes theme-star-twinkle{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.theme-moon-toggle__icon{z-index:1;place-items:center;width:100%;height:100%;animation:.45s cubic-bezier(.34,1.4,.64,1) theme-icon-enter;display:grid;position:relative}.theme-moon-toggle__svg{filter:drop-shadow(0 2px 6px #00000040);width:18px;height:18px;display:block}.theme-moon-toggle.is-light .theme-moon-toggle__svg{transform:rotate(-14deg)}.theme-moon-toggle__svg--sun{animation:12s linear infinite theme-sun-spin}@keyframes theme-sun-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes theme-icon-enter{0%{opacity:0;transform:scale(.5)rotate(-30deg)}to{opacity:1;transform:scale(1)rotate(0)}}.theme-moon-toggle:hover{transform:translateY(-1px)scale(1.06);box-shadow:inset 0 1px 1px #ffffff24,0 10px 26px #1e295f57}.theme-moon-toggle.is-dark:hover{box-shadow:inset 0 1px 1px #ffffff1a,0 10px 28px #b453095c}.theme-moon-toggle:hover .theme-moon-toggle__halo{opacity:1;transform:scale(1)}.theme-moon-toggle:active{transition-duration:.12s;transform:translateY(0)scale(.96)}.theme-moon-toggle:focus-visible{outline-offset:3px;outline:2px solid #6366f1a6}.theme-moon-toggle.is-dark:focus-visible{outline-color:#fbbf24a6}:root[data-theme=dark] .portal-shell{color:#e8edff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b1020}:root[data-theme=dark] .portal-search input,:root[data-theme=dark] .portal-profile,:root[data-theme=dark] .portal-surface,:root[data-theme=dark] .portal-stat-card,:root[data-theme=dark] .portal-btn,:root[data-theme=dark] .portal-btn-secondary,:root[data-theme=dark] .room-card,:root[data-theme=dark] .card,:root[data-theme=dark] .panel,:root[data-theme=dark] .auth-card{color:#e8edff;background:#151d33;border-color:#2a3558}:root[data-theme=dark] .portal-filter-bar-expenses .field span{color:#94a3b8}:root[data-theme=dark] .portal-search input,:root[data-theme=dark] .portal-surface .field input,:root[data-theme=dark] .portal-surface .field select,:root[data-theme=dark] .portal-filter-bar input,:root[data-theme=dark] .portal-filter-bar select,:root[data-theme=dark] .field input,:root[data-theme=dark] .field select{color:#f8fafc;background:#0f1628;border-color:#334155}:root[data-theme=dark] .portal-surface .field input:read-only{color:#cbd5e1;background:#1a2340}:root[data-theme=dark] .portal-page-title,:root[data-theme=dark] .portal-surface-head h3,:root[data-theme=dark] .portal-stat-value,:root[data-theme=dark] .room-card-title,:root[data-theme=dark] .booking-detail-proof h4,:root[data-theme=dark] .field span,:root[data-theme=dark] .portal-surface .field span,:root[data-theme=dark] .auth-card h1{color:#f8fafc}:root[data-theme=dark] .portal-page-subtitle,:root[data-theme=dark] .portal-surface-head span,:root[data-theme=dark] .portal-stat-label,:root[data-theme=dark] .portal-profile-name,:root[data-theme=dark] .portal-table th,:root[data-theme=dark] .portal-legend,:root[data-theme=dark] .muted,:root[data-theme=dark] .portal-surface .muted,:root[data-theme=dark] .booking-detail-label,:root[data-theme=dark] .room-card-note,:root[data-theme=dark] .portal-donut-inner span{color:#94a3b8}:root[data-theme=dark] .portal-profile-role,:root[data-theme=dark] .portal-inline-link,:root[data-theme=dark] .room-card-rate strong,:root[data-theme=dark] .billing-line.total strong{color:#93c5fd}:root[data-theme=dark] .portal-table th,:root[data-theme=dark] .portal-table td{border-bottom-color:#2a3558}:root[data-theme=dark] .portal-fake-chart{background:linear-gradient(#121a31,#0f1628);border-color:#2a3558}:root[data-theme=dark] .portal-donut-inner{background:#151d33}:root[data-theme=dark] .portal-btn-danger{color:#fca5a5;background:#7f1d1d40;border-color:#f8717159}:root[data-theme=dark] .portal-surface .success{color:#86efac;background:#16653440;border-color:#4ade8059}:root[data-theme=dark] .error{color:#fca5a5;background:#7f1d1d38;border-color:#f8717159}:root[data-theme=dark] .form-alert-error{color:#fecaca;background:#7f1d1d3d;border-color:#f8717159}:root[data-theme=dark] .form-alert-field{color:#fcd34d}:root[data-theme=dark] .field-error-hint{color:#fca5a5}:root[data-theme=dark] .billing-card{background:linear-gradient(#1d4ed8 0 50px,#151d33 50px 100%);border-color:#2a3558}:root[data-theme=dark] .billing-line{color:#e2e8f0}:root[data-theme=dark] .portal-modal-overlay{background:#020617b8}:root[data-theme=dark] .portal-modal{box-shadow:0 24px 60px #0000008c}:root[data-theme=dark] .portal-modal-close{color:#cbd5e1;background:#1f2937}:root[data-theme=dark] .portal-modal-close:hover{color:#f8fafc;background:#334155}:root[data-theme=dark] .guest-proof-image{background:#0f1628;border-color:#334155}:root[data-theme=dark] .booking-detail-proof{border-top-color:#2a3558}:root[data-theme=dark] .reports-toolbar-title,:root[data-theme=dark] .reports-section-head h2{color:#fff}:root[data-theme=dark] .reports-toolbar-period{color:#cbd5e1}:root[data-theme=dark] .reports-toolbar-meta{color:#94a3b8}:root[data-theme=dark] .reports-section-head{border-bottom-color:#2a3558}:root[data-theme=dark] .reports-document .portal-surface-head h3{color:#fff}:root[data-theme=dark] .reports-profit-formula{background:#151d33;border-color:#2a3558}:root[data-theme=dark] .reports-profit-formula-row.total span{color:#f8fafc}.checkout-alerts{position:relative}.checkout-alerts-trigger{appearance:none;cursor:pointer;background:#fff;border:1px solid #e4e7f0;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;transition:border-color .2s,box-shadow .2s;display:inline-flex;position:relative}.checkout-alerts-trigger:hover{border-color:#c7d2fe;box-shadow:0 4px 14px #6366f11f}.checkout-alerts-trigger.has-alerts{background:linear-gradient(#fffbeb 0%,#fff 100%);border-color:#fcd34d}.checkout-alerts-trigger.has-overdue{background:linear-gradient(#fef2f2 0%,#fff 100%);border-color:#fca5a5;animation:2s ease-in-out infinite checkout-alert-pulse}@keyframes checkout-alert-pulse{0%,to{box-shadow:0 0 #ef444440}50%{box-shadow:0 0 0 6px #ef444400}}.checkout-alerts-bell{font-size:1.15rem;line-height:1}.checkout-alerts-badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;top:-4px;right:-4px}.checkout-alerts-panel{z-index:120;background:#fff;border:1px solid #e4e7f0;border-radius:16px;flex-direction:column;width:min(420px,100vw - 32px);max-height:min(78vh,640px);display:flex;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 24px 60px #0f172a2e}.checkout-alerts-panel-head{background:linear-gradient(#f8fafc 0%,#fff 100%);border-bottom:1px solid #eef0f6;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;display:flex}.checkout-alerts-panel-head h3{color:#111827;margin:0;font-size:1rem;font-weight:800}.checkout-alerts-panel-head p{color:#6b7280;margin:4px 0 0;font-size:.78rem}.checkout-alerts-refresh{appearance:none;cursor:pointer;color:#4b5563;background:#fff;border:1px solid #e4e7f0;border-radius:10px;width:34px;height:34px;font-size:1.1rem}.checkout-alerts-refresh:hover:not(:disabled){background:#f3f4f6}.checkout-alerts-refresh:disabled{opacity:.7;cursor:wait}.checkout-alerts-refresh.is-refreshing{animation:.8s linear infinite checkout-alert-spin}@keyframes checkout-alert-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checkout-alerts-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 12px;padding:8px 10px;font-size:.78rem}.checkout-alerts-updated{padding:0 18px 10px;font-size:.72rem}.checkout-alerts-list{gap:12px;padding:12px;display:grid;overflow-y:auto}.checkout-alerts-empty{text-align:center;padding:28px 20px}.checkout-alerts-empty-icon{color:#059669;background:#ecfdf5;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:10px;font-weight:800;display:inline-flex}.checkout-notice{background:#fff;border:1px solid #e4e7f0;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 8px 24px #0f172a0f}.checkout-notice-due_soon{border-left:4px solid #f59e0b}.checkout-notice-overdue{border-left:4px solid #ef4444}.checkout-notice-letterhead{color:#f8fafc;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(90deg,#111827 0%,#1f2937 100%);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:.72rem;display:flex}.checkout-notice-letterhead em{color:#fde68a;font-style:normal;font-weight:800}.checkout-notice-overdue .checkout-notice-letterhead em{color:#fca5a5}.checkout-notice-status-row{justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 0;display:flex}.checkout-notice-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.checkout-notice-badge.due_soon{color:#b45309;background:#fef3c7}.checkout-notice-badge.overdue{color:#b91c1c;background:#fee2e2}.checkout-notice-time{color:#374151;font-size:.82rem;font-weight:700}.checkout-notice-title{color:#111827;margin:8px 14px 0;font-size:.92rem;font-weight:800;line-height:1.35}.checkout-notice-details{background:#f8fafc;border:1px solid #eef0f6;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:12px 14px 0;padding:12px;display:grid}.checkout-notice-details dt{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin:0;font-size:.68rem}.checkout-notice-details dd{color:#111827;margin:2px 0 0;font-size:.86rem;font-weight:700}.checkout-notice-balance{color:#c2410c!important}.checkout-notice-body{color:#4b5563;margin:12px 14px 0;font-size:.82rem;line-height:1.55}.checkout-notice-action{text-align:center;background:linear-gradient(90deg,#4f46e5 0%,#6366f1 100%);border-radius:10px;margin:14px;padding:11px 14px;font-size:.84rem;font-weight:800;text-decoration:none;display:block;color:#fff!important}.checkout-notice-action:hover{filter:brightness(1.05)}:root[data-theme=dark] .checkout-alerts-trigger{background:#151d33;border-color:#2a3558}:root[data-theme=dark] .checkout-alerts-trigger.has-alerts{background:linear-gradient(#f59e0b1f 0%,#151d33 100%);border-color:#fbbf2473}:root[data-theme=dark] .checkout-alerts-trigger.has-overdue{background:linear-gradient(#ef444424 0%,#151d33 100%);border-color:#f8717173}:root[data-theme=dark] .checkout-alerts-badge{border-color:#151d33}:root[data-theme=dark] .checkout-alerts-panel{background:#151d33;border-color:#2a3558;box-shadow:0 24px 60px #0000008c}:root[data-theme=dark] .checkout-alerts-panel-head{background:linear-gradient(#1a2340 0%,#151d33 100%);border-bottom-color:#2a3558}:root[data-theme=dark] .checkout-alerts-panel-head h3,:root[data-theme=dark] .checkout-notice-title,:root[data-theme=dark] .checkout-notice-details dd{color:#f8fafc}:root[data-theme=dark] .checkout-alerts-panel-head p,:root[data-theme=dark] .checkout-notice-body,:root[data-theme=dark] .checkout-notice-time{color:#94a3b8}:root[data-theme=dark] .checkout-alerts-refresh{color:#cbd5e1;background:#0f1628;border-color:#334155}:root[data-theme=dark] .checkout-alerts-error{color:#fca5a5;background:#7f1d1d38;border-color:#f8717159}:root[data-theme=dark] .checkout-notice{background:#121a31;border-color:#2a3558}:root[data-theme=dark] .checkout-notice-details{background:#0f1628;border-color:#2a3558}:root[data-theme=dark] .checkout-notice-details dt{color:#94a3b8}@media (width<=820px){.auth-theme-toggle{top:14px;right:14px}}@media (width<=1400px){.room-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1100px){.portal-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=992px){.portal-shell{grid-template-columns:1fr}.portal-sidebar{z-index:1200;width:min(290px,88vw);max-width:100%;transition:transform .28s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%);box-shadow:16px 0 40px #00000038}.portal-sidebar.is-open{transform:translate(0)}.portal-sidebar-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.portal-sidebar-title{letter-spacing:.14em;text-transform:uppercase;color:#dfe8ff8c;font-size:.72rem;font-weight:800}.portal-nav-toggle,.portal-nav-close{display:inline-flex}.portal-sidebar-backdrop{z-index:1190;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#0f172a7a;border:0;padding:0;position:fixed;inset:0}body.portal-nav-open{overflow:hidden}.portal-main{min-width:0;padding:10px 14px 20px}.portal-topbar{flex-flow:wrap;align-items:center;gap:10px}.portal-topbar-left{flex:220px;align-items:center;gap:10px;min-width:0;display:flex}.portal-search{flex:1;min-width:0;max-width:none}.portal-topbar-right{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:8px}.portal-page-header{flex-direction:column;align-items:stretch;gap:12px}.portal-header-actions{flex-wrap:wrap;width:100%}.portal-header-actions .portal-btn{flex:auto;min-width:0}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-filter-bar{grid-template-columns:1fr}.portal-filter-bar .portal-btn{justify-self:stretch;width:100%}.checkin-layout{grid-template-columns:1fr}.checkin-summary{order:-1}.billing-card{position:static}}@media (width>=993px){.portal-nav-toggle,.portal-nav-close,.portal-sidebar-head,.portal-sidebar-backdrop{display:none}}.portal-nav-toggle,.portal-nav-close{appearance:none;color:#111827;cursor:pointer;background:#fff;border:1px solid #e4e7f0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center}.portal-nav-toggle{flex-direction:column;gap:5px;width:44px;height:44px;padding:0}.portal-nav-toggle span{background:#1f2937;border-radius:999px;width:18px;height:2px;display:block}.portal-nav-close{width:38px;height:38px;font-size:1.5rem;line-height:1}@media (width<=768px){.portal-page-title{font-size:1.55rem}.portal-stat-value{font-size:1.65rem}.portal-surface{padding:14px}.portal-surface-head{flex-direction:column;align-items:flex-start}.portal-table{min-width:640px}.portal-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -4px;padding-bottom:4px}.row-actions{flex-wrap:wrap}.row-actions .portal-btn{flex:auto;min-width:88px}.form-actions{flex-direction:column;align-items:stretch}.form-actions .portal-btn,.form-actions .btn{width:100%}.portal-modal-overlay{align-items:flex-end;padding:12px}.portal-modal{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:92vh}.reports-financial-banner{grid-template-columns:1fr;gap:10px}.reports-financial-banner-divider{display:none}}@media (width<=640px){.auth-shell{align-items:flex-start;padding:56px 16px 16px}.auth-card{padding:18px 16px}.portal-search{display:none}.portal-topbar-left{flex:none}.portal-profile-text{display:none}.portal-profile{border-radius:999px;padding:6px}.portal-page-title{font-size:1.35rem}.portal-page-subtitle{font-size:.88rem}.portal-stat-grid,.room-grid,.reports-stat-grid-4,.reports-stat-grid-3,.reports-chart-grid,.reports-ops-charts,.portal-dashboard-grid{grid-template-columns:1fr}.portal-header-actions{flex-direction:column}.portal-header-actions .portal-btn{width:100%}.portal-btn{min-height:44px}.checkout-alerts-panel{width:auto;max-width:none;position:fixed;top:64px;left:12px;right:12px}}@media (width<=480px){.portal-main{padding:8px 10px 18px}.room-card-actions{flex-direction:column}.room-card-actions .portal-btn{width:100%}.billing-actions{padding-inline:12px}}:root[data-theme=dark] .portal-nav-toggle,:root[data-theme=dark] .portal-nav-close{color:#f8fafc;background:#151d33;border-color:#2a3558}:root[data-theme=dark] .portal-nav-toggle span{background:#f8fafc}
