@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:#fef2f2;--color-red-700:#bf000f;--color-emerald-500:#00bb7f;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-slate-400:#90a1b9;--color-slate-500:#62748e;--color-slate-950:#020618;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-xl:.75rem;--animate-spin:spin 1s linear infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-slate-400:lab(65.5349% -2.25151 -14.5072);--color-slate-500:lab(48.0876% -2.03595 -16.5814);--color-slate-950:lab(1.76974% 1.32743 -9.28855)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.w-full{width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.animate-spin{animation:var(--animate-spin)}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-xl{border-radius:var(--radius-xl)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-red-50{background-color:var(--color-red-50)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-blue-50{color:var(--color-blue-50)}.text-blue-100{color:var(--color-blue-100)}.text-red-700{color:var(--color-red-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.no-underline{text-decoration-line:none}@media (min-width:40rem){.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (min-width:64rem){.lg\:hidden{display:none}}}:root{--background:#f6faff;--surface:#fff;--surface-soft:#f4f9ff;--border:#dceaff;--border-neutral:#e6edf5;--text:#17324d;--muted:#718096;--blue:#2f80ed;--blue-dark:#1e65c1;--navy:#102a43}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{background:var(--background);min-height:100vh;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:30;border-right:1px solid var(--border);background:#fffffff5;flex-direction:column;width:250px;padding:24px 16px;display:none;position:fixed;inset:0 auto 0 0}.sidebar-brand{color:var(--text);align-items:center;gap:11px;padding:0 8px 24px;text-decoration:none;display:flex}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand strong{font-size:14px;line-height:1.2}.sidebar-brand small{color:var(--muted);margin-top:3px;font-size:10px}.brand-mark{background:var(--blue);color:#fff;border-radius:12px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;box-shadow:0 8px 24px #2f80ed33}.brand-mark-large{width:52px;height:52px;box-shadow:none;background:#ffffff29;border-radius:16px}.sidebar-nav{flex-direction:column;gap:5px;display:flex}.nav-link{color:#52647a;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-link:hover{color:var(--text);background:#f4f8fd}.nav-link-active{color:#1769d1;background:#eaf4ff;font-weight:650}.app-main{flex:1;min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;align-items:center;gap:12px;height:70px;padding:0 20px;display:flex;position:sticky;top:0}.topbar-search{color:#7690ad;background:#f8fbff;border:1px solid #dbe7f5;border-radius:11px;align-items:center;gap:10px;width:min(440px,42vw);padding:10px 13px;display:none}.topbar-search input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.topbar-search input::placeholder{color:#8ba0b7}.icon-button{color:#52647a;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.icon-button:hover{border-color:var(--border);background:var(--surface-soft);color:var(--blue)}.notification-button{position:relative}.notification-button>span{background:#ef4444;border:2px solid #fff;border-radius:99px;width:7px;height:7px;position:absolute;top:9px;right:9px}.profile-button{color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:9px;padding:5px 7px;display:flex}.profile-button:hover{background:var(--surface-soft)}.profile-button strong,.profile-button small{display:block}.profile-button strong{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;line-height:1.2;overflow:hidden}.profile-button small{color:var(--muted);margin-top:2px;font-size:10px}.profile-avatar{color:#1769d1;background:#dceeff;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:12px;font-weight:700;display:inline-flex}.content-area{min-height:calc(100vh - 70px);padding:24px 20px 42px}.mobile-sidebar-wrap{z-index:50;position:fixed;inset:0}.mobile-backdrop{background:#0f2a436b;border:0;position:absolute;inset:0}.mobile-sidebar{background:#fff;flex-direction:column;gap:14px;width:min(310px,88vw);height:100%;padding:20px 16px;display:flex;position:relative;box-shadow:24px 0 80px #0f2a432e}.mobile-sidebar .sidebar-brand{padding-bottom:8px}.page-heading-row{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.page-heading-row h1{color:var(--navy);letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(24px,3vw,32px);font-weight:700}.page-heading-row p:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:13px}.eyebrow{color:var(--blue);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:10px;font-weight:750}.primary-button,.secondary-button,.danger-button{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:0 16px;font-size:13px;font-weight:650;transition:all .15s;display:inline-flex}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff;box-shadow:0 8px 22px #2f80ed2e}.primary-button:hover{background:var(--blue-dark)}.primary-button:disabled{cursor:wait;opacity:.7}.secondary-button{border:1px solid var(--border);color:var(--blue-dark);background:#fff}.secondary-button:hover{background:var(--surface-soft);border-color:#b9d7fb}.danger-button{color:#fff;background:#d73e57;border:1px solid #d73e57}.danger-button:hover{background:#bc2c45}.danger-button:disabled{cursor:wait;opacity:.7}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--border);background:#fff;border-radius:15px;align-items:center;gap:15px;min-height:106px;padding:18px;display:flex;box-shadow:0 7px 24px #315d890b}.metric-card p,.finance-strip p{color:#637b94;margin:0 0 4px;font-size:11px;font-weight:650}.metric-card strong{color:#122c4b;font-size:25px;line-height:1;display:block}.metric-icon{border-radius:13px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.metric-blue{color:#2778e5;background:#eaf4ff}.metric-green{color:#17a565;background:#eaf9f0}.metric-sky{color:#2499df;background:#edf8ff}.metric-violet{color:#6153e8;background:#f0efff}.metric-red{color:#e9435b;background:#fff0f2}.finance-strip{border:1px solid var(--border);background:#fff;border-radius:16px;gap:0;margin-top:14px;display:grid;overflow:hidden;box-shadow:0 7px 24px #315d890b}.finance-strip>div{border-bottom:1px solid var(--border-neutral);align-items:center;gap:14px;min-width:0;padding:18px;display:flex}.finance-strip>div>div{flex:1;min-width:0}.finance-strip strong{color:#122c4b;font-size:19px;line-height:1.2;display:block}.finance-strip small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.progress-track{background:#e8eef5;border-radius:99px;height:6px;margin-top:9px;overflow:hidden}.progress-track span{border-radius:inherit;height:100%;display:block}.overdue-card{color:#a45705;background:#fffaf0;border:1px solid #f7cc88;border-radius:13px;align-items:center;gap:12px;margin:12px;padding:15px;text-decoration:none;display:flex}.overdue-card strong,.overdue-card small{display:block}.overdue-card strong{font-size:13px}.overdue-card small{color:#856037;margin-top:3px;font-size:10px}.alert-icon{color:#e89500;background:#fff0c9;border-radius:50%;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.dashboard-grid{gap:18px;display:grid}.panel{border:1px solid var(--border);background:#fff;border-radius:16px;padding:18px;box-shadow:0 7px 24px #315d890b}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.panel-heading h2{color:var(--navy);margin:3px 0 0;font-size:15px;font-weight:700}.panel-kicker{color:#8293a5;letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:9px;font-weight:700}.panel-heading a{color:var(--blue);white-space:nowrap;align-items:center;gap:5px;font-size:10px;font-weight:650;text-decoration:none;display:inline-flex}.chart-legend{color:var(--muted);gap:12px;font-size:9px;display:none}.chart-legend span{align-items:center;gap:5px;display:flex}.chart-legend i{border-radius:50%;width:8px;height:8px}.bar-chart{gap:10px;height:220px;padding-top:5px;display:flex}.chart-axis{color:#8b9caf;flex-direction:column;justify-content:space-between;width:52px;padding-bottom:23px;font-size:8px;display:flex}.chart-bars{background:repeating-linear-gradient(#edf2f7 0 1px,#0000 1px 25%);border-bottom:1px solid #dfe8f2;flex:1;justify-content:space-around;gap:8px;min-width:0;display:flex;position:relative}.bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:22px;display:flex}.bars{justify-content:center;align-items:flex-end;gap:3px;width:100%;max-width:44px;height:calc(100% - 23px);display:flex}.bars span{border-radius:3px 3px 0 0;width:min(15px,42%)}.bar-collected{background:#2f80ed}.bar-expected{background:#d7e8fb}.bar-group small{color:#73869c;height:23px;padding-top:7px;font-size:9px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.room-tile{border:1px solid var(--border-neutral);border-radius:11px;padding:12px}.room-tile strong{color:#203a57;font-size:11px}.room-tile p{margin:7px 0 2px;font-size:10px;font-weight:650}.room-tile small{color:#7f90a3;font-size:10px}.status-dot{background:#19ad68;border-radius:50%;width:8px;height:8px}.status-vacant{background:#ef4761}.table-scroll{margin:0 -18px -18px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:650px;font-size:10px}.data-table th{color:#667b91;text-align:left;background:#f3f7fb;font-size:9px;font-weight:650}.data-table th,.data-table td{white-space:nowrap;border-bottom:1px solid #edf1f5;padding:10px 13px}.data-table th:first-child,.data-table td:first-child{padding-left:18px}.data-table th:last-child,.data-table td:last-child{padding-right:18px}.data-table td{color:#60748a}.data-table td strong{color:#203a57;font-weight:650}.status-pill{border-radius:99px;align-items:center;padding:4px 8px;font-size:8px;font-weight:700;display:inline-flex}.status-paid{color:#12804c;background:#e6f8ee}.status-due{color:#a76205;background:#fff4d9}.alert-list{margin:0 -18px -18px}.alert-list a{color:var(--text);border-top:1px solid #edf1f5;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:11px 16px;text-decoration:none;display:grid}.alert-list a:hover{background:#f9fbfe}.alert-list strong,.alert-list small{display:block}.alert-list strong{font-size:10px}.alert-list small{color:var(--muted);margin-top:2px;font-size:8px}.alert-list b{color:#203a57;font-size:10px}.alert-icon-green{color:#16a260;background:#e6f8ee}.alert-icon-red{color:#e83f59;background:#ffe9ed}.alert-icon-blue{color:#2679e7;background:#e8f3ff}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:420px;display:flex}.empty-state h2{color:var(--navy);margin:18px 0 7px;font-size:20px}.empty-state p{max-width:520px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.room-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.compact-stat{border:1px solid var(--border);background:#fff;border-radius:14px;align-items:center;gap:13px;min-width:0;padding:15px;display:flex;box-shadow:0 7px 24px #315d890a}.compact-stat p{color:#637b94;margin:0 0 4px;font-size:10px;font-weight:650}.compact-stat strong{color:var(--navy);font-size:22px}.muted-note{color:var(--muted);font-size:10px}.rate-grid{gap:10px;display:grid}.rate-card{border:1px solid var(--border-neutral);border-radius:12px;flex-direction:column;gap:13px;padding:14px;display:flex}.rate-card>div:first-child strong,.rate-card>div:first-child span{display:block}.rate-card>div:first-child strong{color:#203a57;font-size:12px}.rate-card>div:first-child span{color:var(--muted);margin-top:4px;font-size:9px}.rate-values{color:#60748a;justify-content:space-between;align-items:end;gap:12px;font-size:11px;display:flex}.rate-values strong{color:var(--blue-dark);font-size:13px}.rate-values small{color:var(--muted);margin-left:3px;font-size:8px;font-weight:500}.filter-bar{border-top:1px solid var(--border-neutral);background:#fbfdff;gap:10px;padding:14px 18px;display:grid}.filter-search{color:#8095ab;background:#fff;border:1px solid #d9e5f2;border-radius:10px;align-items:center;gap:9px;min-height:42px;padding:0 12px;display:flex}.filter-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;font-size:12px}.filter-bar select,.field-group select{color:#40566d;background:#fff;border:1px solid #d9e5f2;border-radius:10px;outline:0;min-height:42px;padding:0 34px 0 11px;font-size:11px}.filter-bar select:focus,.field-group select:focus{border-color:#7db3f3;box-shadow:0 0 0 3px #e7f2ff}.filter-bar .text-link{color:var(--blue);place-self:center;font-size:11px;text-decoration:none}.room-list-heading{margin-bottom:0}.room-table-wrap{margin-top:0}.room-table{min-width:980px}.table-subtext{color:#8b9caf;margin-top:3px;font-size:8px;display:block}.table-action{color:var(--blue);align-items:center;gap:5px;font-size:9px;font-weight:650;text-decoration:none;display:inline-flex}.status-vacant-pill{color:#1769d1;background:#e8f3ff}.status-partial{color:#a76205;background:#fff4d9}.status-full{color:#12804c;background:#e6f8ee}.status-maintenance{color:#c93750;background:#fff0f2}.status-inactive{color:#607084;background:#eef2f6}.inline-empty{color:#88a0b8;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:30px;display:flex}.inline-empty strong{color:#294662;margin-top:11px;font-size:14px}.inline-empty p{color:var(--muted);margin:5px 0 0;font-size:11px}.form-page{max-width:920px;margin:0 auto}.entity-form{padding:0;overflow:hidden}.form-section-heading{border-bottom:1px solid var(--border-neutral);flex-direction:column;justify-content:space-between;gap:8px;padding:20px;display:flex}.form-section-heading h2{color:var(--navy);margin:4px 0 0;font-size:17px}.form-section-heading>p{color:var(--muted);margin:0;font-size:10px}.form-grid{gap:18px;padding:20px;display:grid}.field-group{flex-direction:column;gap:7px;min-width:0;display:flex}.field-group>span{color:#334e68;font-size:11px;font-weight:650}.field-group input,.field-group textarea{width:100%;color:var(--text);background:#fbfdff;border:1px solid #d9e5f2;border-radius:10px;outline:0;padding:11px 12px;font-size:12px;transition:all .15s}.field-group input{min-height:43px}.field-group textarea{resize:vertical;line-height:1.5}.field-group input:focus,.field-group textarea:focus{background:#fff;border-color:#7db3f3;box-shadow:0 0 0 3px #e7f2ff}.field-group small{color:var(--muted);font-size:9px;line-height:1.5}.form-error{color:#b4233a;background:#fff4f5;border:1px solid #ffd6dc;border-radius:10px;margin:0 20px;padding:11px 13px;font-size:11px}.form-success{color:#137a4c;background:#eefbf4;border:1px solid #bfe8d0;border-radius:10px;margin:0 20px;padding:11px 13px;font-size:11px}.form-actions{border-top:1px solid var(--border-neutral);background:#fbfdff;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.student-table{min-width:1060px}.table-phone{color:#678099;align-items:center;gap:4px;width:fit-content;margin-top:4px;font-size:8px;text-decoration:none;display:flex}.table-phone:hover{color:var(--blue)}.form-divider{border-top:1px solid var(--border-neutral);border-bottom:1px solid var(--border-neutral);background:#f8fbff;padding:14px 20px}.form-divider h3{color:var(--navy);margin:4px 0 0;font-size:14px}.heading-actions{flex-wrap:wrap;gap:9px;display:flex}.policy-banner{color:var(--blue-dark);background:#eef7ff;border:1px solid #bcdafb;border-radius:14px;align-items:flex-start;gap:13px;margin-top:20px;padding:16px;display:flex}.policy-banner strong{font-size:12px}.policy-banner p{color:#557593;margin:4px 0 0;font-size:10px;line-height:1.55}.mini-form .form-grid{padding:0}.mini-form .form-error{margin:14px 0 0}.mini-submit{margin-top:16px}.check-field{color:#40566d;align-self:end;align-items:center;gap:9px;min-height:43px;font-size:10px;display:flex}.check-field input{width:16px;height:16px;accent-color:var(--blue)}.policy-note{color:#607b96;background:#f5f9fe;border-radius:9px;padding:10px 12px;font-size:9px;line-height:1.55}.break-table{min-width:1000px}.row-actions{align-items:center;gap:10px;display:flex}.row-actions form{margin:0}.row-actions button{cursor:pointer;background:0 0;border:0}.danger-link{color:#c93750;align-items:center;gap:5px;font-size:9px;font-weight:650;text-decoration:none;display:inline-flex}.payments-table{min-width:1060px}.receipt-page{max-width:900px;margin:0 auto}.receipt-toolbar{justify-content:space-between;margin-bottom:18px;display:flex}.receipt-sheet{border:1px solid var(--border);background:#fff;border-radius:16px;padding:clamp(24px,5vw,48px);box-shadow:0 9px 30px #315d8912}.receipt-header{grid-template-columns:auto 1fr;align-items:center;gap:13px;display:grid}.receipt-header h1{color:var(--navy);margin:0;font-size:20px}.receipt-header p{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:4px 0 0;font-size:10px}.receipt-number{background:#f2f8ff;border-radius:10px;grid-column:1/-1;padding:11px 13px}.receipt-number span,.receipt-number strong{display:block}.receipt-number span,.receipt-meta span,.receipt-payment span,.receipt-details span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:650}.receipt-number strong{color:var(--blue-dark);margin-top:3px;font-size:14px}.receipt-rule{background:var(--border-neutral);height:1px;margin:24px 0}.receipt-meta,.receipt-details{gap:18px;display:grid}.receipt-meta strong,.receipt-meta small{display:block}.receipt-meta strong{color:#203a57;margin-top:5px;font-size:13px}.receipt-meta small{color:var(--muted);margin-top:3px;font-size:9px}.receipt-payment{background:#edf7ff;border-radius:13px;gap:18px;margin:24px 0;padding:18px;display:grid}.receipt-payment strong{color:var(--navy);margin-top:5px;font-size:14px;display:block}.receipt-payment>div:last-child strong{color:var(--blue-dark);font-size:20px}.receipt-details{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-details strong{color:#294662;margin-top:4px;font-size:10px;display:block}.receipt-footer{border-top:1px solid var(--border-neutral);color:#60748a;margin-top:32px;padding-top:18px;font-size:9px}.receipt-footer p{margin:4px 0}.receipt-footer small{color:#8b9caf;margin-top:14px;display:block}.receipt-reversed{border-color:#f0b5bf}.reversal-banner{color:#a6243b;background:#fff3f5;border:2px solid #d73e57;border-radius:12px;margin-bottom:24px;padding:14px 16px}.reversal-banner strong{letter-spacing:.12em;font-size:20px;display:block}.reversal-banner span{margin-top:4px;font-size:10px;font-weight:700;display:block}.reversal-banner p{margin:7px 0 0;font-size:10px;line-height:1.5}.warning-callout{color:#a6243b;background:#fff5f6;border:1px solid #f1c1c9;border-radius:13px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:15px;display:flex}.warning-callout strong{font-size:12px}.warning-callout p{color:#86545d;margin:4px 0 0;font-size:10px;line-height:1.5}.narrow-page{max-width:820px;margin:0 auto}.reversed-row{opacity:.78;background:#fff9fa}.standalone-alert{margin:18px 0 0}.reconciliation-table{min-width:1180px}.reconciliation-matched{color:#12804c;background:#e6f8ee}.reconciliation-unmatched{color:#1769d1;background:#e8f3ff}.reconciliation-amount_mismatch{color:#a76205;background:#fff4d9}.reconciliation-reversed{color:#c93750;background:#fff0f2}.reconciliation-ignored{color:#607084;background:#eef2f6}.reconciliation-actions{align-items:center;gap:8px;display:flex}.reconciliation-actions form{align-items:center;gap:6px;display:flex}.reconciliation-actions select{color:#40566d;background:#fff;border:1px solid #d9e5f2;border-radius:8px;max-width:240px;min-height:34px;padding:0 8px;font-size:9px}.reconciliation-actions button{cursor:pointer;background:0 0;border:0}.muted-action{color:#788b9e;font-size:9px}.detail-grid{gap:18px;display:grid}.detail-list{margin:0}.detail-list>div{border-top:1px solid var(--border-neutral);justify-content:space-between;gap:20px;padding:11px 0;display:flex}.detail-list>div:first-child{border-top:0}.detail-list dt{color:var(--muted);font-size:10px}.detail-list dd{color:#294662;text-align:right;margin:0;font-size:10px;font-weight:650}.detail-list a{color:var(--blue-dark);align-items:center;text-decoration:none;display:inline-flex}.inspection-section{border-top:1px solid var(--border-neutral)}.inspection-list{padding:4px 20px}.inspection-row{border-bottom:1px solid var(--border-neutral);gap:10px;padding:13px 0;display:grid}.inspection-row:last-child{border-bottom:0}.inspection-row strong,.inspection-row small{display:block}.inspection-row strong{color:#294662;font-size:11px}.inspection-row small{color:var(--muted);margin-top:3px;font-size:9px}.inspection-row select{color:#40566d;background:#fff;border:1px solid #d9e5f2;border-radius:9px;min-height:40px;padding:0 10px;font-size:10px}.report-grid{gap:14px;display:grid}.report-card{align-items:flex-start;gap:14px;display:flex}.report-card h2{color:var(--navy);margin:2px 0 5px;font-size:14px}.report-card p{color:var(--muted);margin:0 0 14px;font-size:10px}.print-report{background:#fff;min-height:100vh;padding:clamp(20px,4vw,48px)}.print-report>header{margin-bottom:24px}.print-report h1{color:var(--navy);margin:0;font-size:22px}.print-report h2{color:var(--blue-dark);margin:5px 0;font-size:16px}.print-report header p{color:var(--muted);font-size:10px}.message-preview{text-overflow:ellipsis;white-space:nowrap;max-width:340px;display:block;overflow:hidden}.settings-stack{gap:18px;display:grid}.form-section-heading h2{align-items:center;gap:8px;display:flex}.form-section-heading h2+p{color:var(--muted);margin:6px 0 0;font-size:10px}.settings-rate-list{gap:0;display:grid}.settings-rate-row{border:0;border-bottom:1px solid var(--border-neutral);gap:14px;margin:0;padding:18px 20px;display:grid}.settings-rate-row:last-child{border-bottom:0}.settings-rate-row legend{width:100%;color:var(--navy);font-size:12px;font-weight:700}.settings-rate-row legend small{color:var(--muted);margin-top:3px;font-size:9px;font-weight:500;display:block}.import-result{color:#137a4c;background:#eefbf4;border:1px solid #bfe8d0;border-radius:10px;margin:0 20px;padding:12px 14px;font-size:10px}.import-result strong{font-size:11px}.import-result ul{color:#526f63;max-height:190px;margin:9px 0 0;padding-left:18px;line-height:1.6;overflow-y:auto}.login-page{background:#fff;min-height:100vh;display:grid}.login-brand-panel{background:linear-gradient(145deg,#1f75d6,#153e75);padding:clamp(40px,7vw,90px);display:none}.login-form-panel{justify-content:center;align-items:center;min-height:100vh;padding:34px 24px;display:flex}.form-label{color:#334e68;margin-bottom:7px;font-size:12px;font-weight:650;display:block}.input-shell{color:#8095ab;background:#fbfdff;border:1px solid #d9e5f2;border-radius:11px;align-items:center;gap:10px;height:48px;padding:0 13px;transition:all .15s;display:flex}.input-shell:focus-within{border-color:#7db3f3;box-shadow:0 0 0 3px #e7f2ff}.input-shell input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.input-shell input::placeholder{color:#a0afbe}@media (min-width:640px){.topbar-search{display:flex}.page-heading-row{flex-direction:row;align-items:center}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chart-legend{display:flex}.rate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-card{flex-direction:row;justify-content:space-between;align-items:center}.rate-values{min-width:185px}.filter-bar{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) minmax(140px,.6fr) auto auto}.student-filter-bar{grid-template-columns:minmax(240px,1fr) minmax(150px,.45fr) auto auto}.form-section-heading{flex-direction:row;align-items:center}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-span-2{grid-column:span 2}.receipt-header{grid-template-columns:auto 1fr auto}.receipt-number{text-align:right;grid-column:auto;min-width:180px}.receipt-meta,.receipt-payment{grid-template-columns:1fr 1fr}.inspection-row{grid-template-columns:1fr minmax(180px,.4fr);align-items:center}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-rate-row{grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(120px,1fr));align-items:end}}@media (min-width:1024px){.sidebar{display:flex}.app-main{margin-left:250px}.topbar{padding:0 28px}.content-area{padding:28px 30px 48px}.metric-grid,.room-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-strip{grid-template-columns:1fr 1fr 1fr 1.04fr}.finance-strip>div{border-right:1px solid var(--border-neutral);border-bottom:0}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(330px,.95fr)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-bottom{grid-template-columns:minmax(0,1.7fr) minmax(330px,.9fr)}.login-page{grid-template-columns:minmax(440px,1.05fr) minmax(480px,.95fr)}.login-brand-panel{flex-direction:column;justify-content:center;min-height:100vh;display:flex}}@media (min-width:1440px){.content-area{padding-left:38px;padding-right:38px}}@media print{body{background:#fff}.sidebar,.topbar,.print-hidden{display:none!important}.app-main{margin:0!important}.content-area{padding:0!important}.receipt-page{max-width:none}.receipt-sheet{box-shadow:none;border:0;border-radius:0}.receipt-reversed{border:2px solid #222}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}
