/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@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-border-style:solid}}}@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;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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}.hidden{display:none}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}}:root{color:#233b59;font-synthesis:none;background:#f5f7fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;font-size:clamp(1.8rem,2.4vw,2.3rem);line-height:1.15}h2{letter-spacing:-.025em;font-size:1.2rem}h3{font-size:1rem}.app-shell{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e8eeee;flex-direction:column;flex:0 0 248px;width:248px;height:100vh;min-height:100vh;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:30px 24px 44px;display:flex}.brand-mark{color:#fff;background:#0f695e;border-radius:13px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 5px 14px #0f695e2c}.brand strong{letter-spacing:-.05em;color:#16323a;font-size:20px;line-height:1.1;display:block}.brand span{color:#87999e;letter-spacing:.04em;font-size:11px}.sidebar-section-label{letter-spacing:.14em;color:#a1afb3;padding:0 27px 11px;font-size:10px;font-weight:600}.nav-list{gap:4px;padding:0 12px;display:grid}.nav-item{color:#6d8085;border-radius:9px;align-items:center;gap:13px;height:43px;padding:0 14px;font-size:13px;font-weight:600;transition:all .16s;display:flex}.nav-item.active svg{stroke-width:2.5px}.nav-chevron{opacity:.6;margin-left:auto}.subnav{border-left:1px solid #dce8e6;gap:3px;margin:5px 13px 0 43px;padding-left:11px;display:grid}.subnav a{color:#798b90;border-radius:7px;align-items:center;gap:7px;padding:8px 9px;font-size:12px;display:flex}.sidebar-bottom{margin-top:auto;padding:22px}.sidebar-help{color:#46635f;background:#f9fbfa;border:1px solid #e8eeee;border-radius:12px;padding:12px 13px;font-size:12px;font-weight:600}.sidebar-help small{color:#9aabaa;margin:4px 0 0 18px;font-size:10px;font-weight:400;display:block}.help-dot{background:#42b788;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block;box-shadow:0 0 0 3px #ddf5e8}.main-column{flex:1;min-width:0}.topbar{background:#fff;border-bottom:1px solid #e8eeee;justify-content:space-between;align-items:center;height:75px;padding:0 38px;display:flex}.topbar-title{color:#a1afb3;align-items:center;gap:10px;font-size:13px;display:flex}.topbar-title b{color:#d6dfdf;font-weight:400}.topbar-actions{align-items:center;gap:16px;display:flex}.role-pill{color:#428074;background:#f0f7f4;border:1px solid #e0ecea;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:600}.user-button{color:#415b60;background:0 0;border:0;align-items:center;gap:9px;font-size:12px;font-weight:600;display:flex}.user-button svg{color:#247267;background:#e6f2ef;border-radius:50%;width:29px;height:29px;padding:4px}.icon-button{color:#829397;background:0 0;border:0;border-radius:7px;place-items:center;min-width:31px;min-height:31px;display:inline-grid}.icon-button:hover{color:#1a645b;background:#eef4f3}.main-content{max-width:1540px;margin:auto;padding:35px 38px 80px}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:29px;display:flex}.page-header h1{margin:5px 0 7px}.page-header p{margin:0;font-size:13px}.eyebrow{letter-spacing:.17em;color:#559084;text-transform:uppercase;font-size:10px;font-weight:600}.page-actions{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.btn{white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:10px 15px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:#fff;background:#116e63;box-shadow:0 4px 10px #0e786a19}.btn-secondary{color:#365b60;background:#fff;border-color:#dce8e6}.btn-danger{color:#ac463b;background:#fff3f2;border-color:#f3dad6}.btn-ghost{color:#34796e;background:0 0}.panel{background:#fff;border:1px solid #e6eded;border-radius:15px;padding:22px;box-shadow:0 2px 8px #1c49430a}.panel-header{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px;display:flex}.panel-header h2{margin:0;font-size:16px}.panel-header p{margin:5px 0 0;font-size:12px}.section-title{justify-content:space-between;align-items:center;margin:28px 0 15px;display:flex}.section-title h2{margin:0;font-size:18px}.section-title span{color:#95a4a8;font-size:12px}.grid-2{grid-template-columns:1.2fr .8fr;gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.stat-card{background:#fff;border:1px solid #e6eded;border-radius:14px;min-height:108px;padding:17px 20px;position:relative;overflow:hidden}.stat-card .stat-label{color:#768c90;font-size:12px;font-weight:600}.stat-card strong{letter-spacing:-.05em;color:#1e3c43;margin-top:9px;font-size:29px;line-height:1.3;display:block}.stat-card small{color:#a3b1b3;font-size:11px}.stat-card svg{color:#83aea7;position:absolute;top:17px;right:18px}.stat-card.blue svg{color:#66a9c4}.stat-card.purple svg{color:#a78dc3}.stat-card.yellow svg{color:#ddad55}.stat-card.red svg{color:#d48980}.room-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.room-card{text-align:left;background:#fff;border:1px solid #e6eded;border-radius:13px;flex-direction:column;gap:13px;width:100%;min-height:134px;padding:18px;transition:all .18s;display:flex}.room-card:hover{border-color:#a7cfc6;transform:translateY(-2px);box-shadow:0 8px 20px #194d4312}.room-top{justify-content:space-between;align-items:center;display:flex}.room-number{color:#21424a;letter-spacing:-.05em;font-size:21px;font-weight:600}.room-type{color:#92a3a5;font-size:11px}.room-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-guest{color:#70868a;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:11px;overflow:hidden}.badge{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:5px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:#91a1a5;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid #ecf0f0;padding:12px 9px;font-size:10px}.data-table td{color:#3f5960;border-bottom:1px solid #f0f3f3;padding:14px 9px}.data-table tr:last-child td{border-bottom:0}.data-table strong{color:#23434a}.data-table button{color:#167569;background:0 0;border:0;font-size:12px;font-weight:600}.muted{color:#93a4a7}.empty-state{text-align:center;padding:44px 20px}.empty-state h3{color:#3a5960;margin:8px 0 5px}.empty-state p{font-size:12px}.empty-icon{color:#8bb6ad;font-size:30px}.loading-state{text-align:center;color:#8ba0a2;padding:45px;font-size:13px}.error-state{color:#a64e45;background:#fff7f6;border:1px solid #f2d2cf;border-radius:10px;gap:9px;padding:20px;font-size:13px;display:grid}.form-error{color:#b0473e;margin:8px 0;font-size:12px}.form-success{color:#26765d;margin:8px 0;font-size:12px}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid .full{grid-column:1/-1}label{color:#597078;font-size:11px;font-weight:600;display:block}input,select,textarea{color:#24454d;background:#fff;border:1px solid #dce7e7;border-radius:8px;outline:0;width:100%;min-height:39px;margin-top:6px;padding:10px 11px;font-size:12px}input::placeholder,textarea::placeholder{color:#aebabc}textarea{resize:vertical;min-height:80px}.form-actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.filter-row{flex-wrap:wrap;align-items:end;gap:9px;margin-bottom:17px;display:flex}.filter-row input,.filter-row select{min-width:145px}.search-input{max-width:310px}.modal-backdrop{z-index:30;background:#112d33a6;place-items:center;padding:18px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border-radius:17px;width:min(100%,590px);max-height:min(90vh,900px);padding:25px;overflow-y:auto;box-shadow:0 25px 70px #061d2261}.modal.wide{width:min(100%,780px)}.modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:19px;display:flex}.modal-heading h2{margin:0 0 4px;font-size:19px}.modal-heading p{margin:0;font-size:12px}.modal-heading .icon-button{font-size:22px}.detail-list{gap:12px;display:grid}.detail-row{border-bottom:1px solid #eef2f1;justify-content:space-between;gap:18px;padding:6px 0 12px;font-size:12px;display:flex}.detail-row span{color:#899ca0}.detail-row strong{color:#24474e;text-align:right}.action-stack{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.divider{background:#edf1f0;height:1px;margin:20px 0}.inline-note{color:#5b7978;background:#f1f7f5;border-radius:9px;padding:12px 14px;font-size:12px}.today-list{gap:10px;display:grid}.today-item{border:1px solid #edf1f1;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.today-item-icon{color:#318071;background:#edf7f4;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.today-item strong{font-size:12px;display:block}.today-item small{color:#9aabac;font-size:11px}.today-item .room-tag{color:#4b7c79;margin-left:auto;font-size:11px;font-weight:600}.summary-row{border-bottom:1px solid #edf1f1;justify-content:space-between;padding:11px 0;font-size:12px;display:flex}.summary-row:last-child{border:0}.summary-row span{color:#758e91}.summary-row strong{color:#294b50}.summary-row.total strong{color:#106a60;font-size:17px}.tabs{border-bottom:1px solid #e4eaea;gap:5px;margin-bottom:18px;display:flex}.tabs button{color:#7d9093;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px;font-size:12px;font-weight:600}.quick-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.quick-link{text-align:left;background:#fff;border:1px solid #e5eceb;border-radius:14px;align-items:center;gap:13px;padding:20px;display:flex}.quick-link:hover{border-color:#9ac9bd}.quick-link svg{color:#267b70}.quick-link strong{font-size:13px;display:block}.quick-link small{color:#9dacad;font-size:11px}.full-screen-loading{color:#73918d;place-items:center;min-height:100vh;display:grid}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-decoration{color:#fff;background:linear-gradient(160deg,#0b554e,#0e7567 65%,#14856f);flex-direction:column;justify-content:space-between;padding:48px 8%;display:flex;position:relative;overflow:hidden}.login-decoration:after{content:"";border:1px solid #ffffff25;border-radius:50%;width:590px;height:590px;position:absolute;bottom:-280px;right:-310px;box-shadow:0 0 0 80px #ffffff09,0 0 0 160px #ffffff08}.login-brand{letter-spacing:-.04em;align-items:center;gap:12px;font-size:22px;font-weight:600;display:flex}.login-brand .brand-mark{box-shadow:none;background:#ffffff23}.login-brand small{letter-spacing:.04em;color:#a8e0d5;font-size:10px;font-weight:400;display:block}.login-message{z-index:1;max-width:480px;position:relative}.login-message .eyebrow{color:#a9e0d2}.login-message h1{color:#fff;margin:16px 0 25px;font-size:clamp(2.8rem,5vw,4.7rem);line-height:1.03}.login-footer{color:#bde0d7;font-size:11px}.login-panel{place-items:center;padding:35px;display:grid}.login-card{width:min(100%,390px)}.login-secure{color:#1f8a73;align-items:center;gap:6px;margin-bottom:25px;font-size:11px;font-weight:600;display:flex}.login-card h2{letter-spacing:-.05em;margin:0 0 8px;font-size:31px}.login-card>p{margin-bottom:30px;font-size:13px}.login-form{gap:18px;display:grid}.login-form label{font-size:12px}.input-icon{position:relative}.input-icon svg{color:#91a5a7;position:absolute;top:18px;left:12px}.input-icon input{min-height:45px;padding-left:40px}.login-submit{justify-content:space-between;min-height:45px;margin-top:7px;padding:0 17px;font-size:13px}.mobile-nav{display:none}@media (width<=1180px){.room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar{flex-basis:216px;width:216px}.main-content{padding:30px 28px 70px}.topbar{padding:0 28px}}@media (width<=850px){.sidebar{display:none}.topbar{padding:0 20px}.main-content{padding:25px 18px 90px}.mobile-nav{z-index:20;padding:7px 4px max(7px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e1eae9;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#8da1a2;background:0 0;border:0;justify-items:center;gap:3px;padding:4px 8px;font-size:10px;display:grid}.mobile-nav button.active{color:#0e786a}.grid-2{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:1fr}.login-decoration{display:none}.login-panel{min-height:100vh}.quick-links{grid-template-columns:1fr}}@media (width<=560px){.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.stat-grid{gap:8px}.stat-card{min-height:96px;padding:13px}.stat-card strong{font-size:24px}.stat-card svg{width:17px;top:12px;right:12px}.room-grid{gap:9px}.room-card{min-height:120px;padding:13px}.room-number{font-size:19px}.field-grid,.field-grid.three{grid-template-columns:1fr}.topbar-actions .role-pill,.user-button span{display:none}.modal{padding:18px}.quick-links{gap:10px}}.method-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;display:grid}.method-grid>div{border-right:1px solid #edf1f1;padding:4px 12px}.method-grid>div:last-child{border:0}.method-grid span{color:#90a2a4;font-size:11px;display:block}.method-grid strong{color:#31565a;margin-top:7px;font-size:16px;display:block}.stat-card .money-stat{font-size:22px}.checkbox-label{align-items:center;gap:8px;margin-top:12px;display:flex}.checkbox-label input{width:16px;min-height:16px;margin:0}@media (width<=850px){.method-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card .money-stat{font-size:18px}}.availability-list{gap:7px;max-height:170px;display:grid;overflow:auto}.availability-option{text-align:left;background:#fff;border:1px solid #e4eceb;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.availability-option span strong{color:#31545a;font-size:12px;display:block}.availability-option small{color:#8da2a3;font-size:10px}.availability-option b{color:#21776c;font-size:11px}.reservation-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.reservation-toolbar .tabs button{align-items:center;gap:7px;display:flex}.calendar-controls{color:#446469;justify-content:center;align-items:center;gap:13px;margin-bottom:14px;font-size:12px;display:flex}.calendar-controls .btn{min-width:35px;padding:6px}.calendar-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:800px}.calendar-table th,.calendar-table td{border:1px solid #e8eeee;height:49px;padding:8px}.calendar-table thead th{color:#90a2a4;background:#fafcfc;font-size:10px;font-weight:600}.calendar-table tbody th{text-align:left;color:#35575d;background:#fafcfc;width:100px;font-size:13px}.calendar-table tbody th small{color:#9caeae;font-size:9px;font-weight:400;display:block}.calendar-block{color:#1e7568;text-overflow:ellipsis;white-space:nowrap;background:#e4f2ed;border:0;border-radius:5px;width:100%;height:28px;padding:4px;font-size:10px;font-weight:600;overflow:hidden}@media (width<=560px){.reservation-toolbar{flex-direction:column;align-items:stretch}.reservation-toolbar .search-input{max-width:none}}:root{color:#172033;background:#f7f8fa;font-family:Inter,Segoe UI,Arial,sans-serif}body{background:#f7f8fa}h1,h2,h3{color:#172033;letter-spacing:-.025em}p{color:#64748b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #334b72}.sidebar,.topbar{background:#fff;border-color:#e2e8f0}.brand-mark{box-shadow:none;background:#172033;border-radius:7px}.brand strong,.topbar-title strong{color:#172033}.nav-item{color:#526174;border-radius:6px}.nav-item:hover,.subnav a:hover{color:#172033;background:#f1f5f9}.nav-item.active{color:#172033;background:#e9edf3}.subnav{border-color:#d5dce7}.sidebar-help{color:#475569;background:#f8fafc;border-color:#e2e8f0;border-radius:7px}.user-button,.topbar-title{color:#475569}.user-button svg:first-child{color:#172033;background:#e9edf3;border-radius:6px}.profile-menu-wrap{position:relative}.profile-menu{z-index:25;background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:190px;padding:5px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 12px 32px #1720331c}.profile-menu button{text-align:left;color:#334155;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;width:100%;padding:10px 11px;font-size:12px;display:flex}.profile-menu button:hover{background:#f1f5f9}.eyebrow{color:#566b8c}.btn{box-shadow:none;border-radius:6px}.btn-primary{color:#fff;box-shadow:none;background:#172033}.btn-secondary{color:#334155;border-color:#cbd5e1}.btn-secondary:hover{background:#f1f5f9}.btn-ghost,.data-table button{color:#243f69}.panel,.stat-card,.room-card,.quick-link{box-shadow:none;border-color:#e2e8f0;border-radius:8px}.stat-card strong,.room-number,.data-table strong,.summary-row strong{color:#172033}.room-card:hover,.quick-link:hover{border-color:#94a3b8;transform:none;box-shadow:0 5px 18px #17203310}.room-card.reserved-today{background:#f8faff;border-color:#576da0 #576da0 #576da0 #334b72;border-left-style:solid;border-left-width:4px}.reservation-indicator{color:#2c4274;background:#e9edf8;border-radius:4px;align-self:flex-start;padding:5px 8px;font-size:10px;font-weight:600;display:inline-flex}.room-card.reserved-today .reservation-indicator{color:#fff;background:#334b72}.badge{border-radius:5px;padding:4px 7px}.badge.available{color:#1f5c78;background:#e8f2f7}.badge.occupied{color:#59467e;background:#edeaf5}.badge.cleaning{color:#8b641b;background:#fcf2da}.badge.maintenance{color:#9b423a;background:#f9e9e7}.data-table th{color:#64748b;background:#f8fafc;border-color:#e2e8f0}.data-table td{color:#475569;border-color:#e2e8f0}input,select,textarea{color:#172033;border-color:#cbd5e1;border-radius:6px}.modal{border-radius:10px;box-shadow:0 22px 70px #0f172a40}.permission-picker{border:1px solid #dce7e7;border-radius:12px;margin:16px 0;padding:16px}.permission-picker legend{color:#344955;padding:0 7px;font-size:14px;font-weight:600}.permission-help{color:#526579;margin:0 0 14px;font-size:13px}.permission-options{gap:7px;max-height:190px;margin-top:9px;display:grid;overflow-y:auto}.permission-modules{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;display:grid}.permission-module{background:#f8fbfd;border:1px solid #dbe6ee;border-radius:10px;min-width:0;padding:12px}.permission-module-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.permission-module-heading h3{color:#17334d;margin:0;font-size:15px}.permission-all{color:#0d645b;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:600;text-decoration:underline}.permission-all:focus-visible{outline-offset:2px;outline:2px solid #0d645b}.permission-row{color:#334155;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:6px 0;font-size:13px;display:flex}.permission-row+.permission-row{border-top:1px solid #e3edf1}.permission-row input{accent-color:#116e63;flex:none;width:20px;height:20px;min-height:0}.permission-row input:disabled{cursor:not-allowed}.permission-access{color:#0d5d55;font-weight:600}.user-advanced-permissions{margin:14px 0}.user-advanced-permissions summary{cursor:pointer;color:#344955;font-weight:600}.check-row{color:#334155;align-items:center;gap:9px;padding:6px 4px;font-size:12px;display:flex}.check-row input{accent-color:#116e63;flex:none;width:17px;height:17px;min-height:0;margin:0}.check-row span{gap:2px;display:grid}.check-row small,.block-muted{color:#64748b;font-size:11px;display:block}.user-flags{gap:3px;margin:12px 0;display:grid}.table-actions{white-space:nowrap}.table-actions .btn{margin:2px}.empty-list{color:#64748b;padding:16px}.inline-note{color:#475569;background:#f1f5f9;border-radius:6px}.tabs button.active{color:#172033;border-color:#172033}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.shift-meta{flex-wrap:wrap;gap:36px;display:flex}.shift-meta span{color:#64748b;margin-bottom:5px;font-size:11px;display:block}.shift-meta strong{color:#172033;font-size:13px}.shift-gate{background:#f7f8fa;place-items:center;min-height:100vh;padding:24px;display:grid}.shift-gate-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:9px;width:min(100%,430px);padding:37px;box-shadow:0 10px 32px #1720330d}.shift-gate-icon{color:#172033;background:#e9edf3;border-radius:8px;place-items:center;width:52px;height:52px;margin:0 auto 24px;display:grid}.shift-gate-card h1{margin:12px 0;font-size:25px}.shift-gate-card p{margin-bottom:26px;font-size:13px}.shift-gate-card .btn{min-width:160px}.login-decoration{background:linear-gradient(155deg,#111c30,#263b5c 70%,#344a68)}.login-message .eyebrow,.login-brand small,.login-message p,.login-footer{color:#d3dce9}@media (width<=560px){.cash-stats{grid-template-columns:1fr}.shift-meta{gap:16px}}.gate-logout{margin:12px auto 0;display:block}.mobile-menu-button{display:none}.nav-item{padding:0}.nav-item>a{flex:1;align-items:center;gap:13px;min-width:0;height:100%;padding:0 14px;display:flex}.nav-expand{width:43px;height:43px;color:inherit;background:0 0;border:0;flex:none;place-items:center;display:grid}.nav-expand svg{transition:transform .15s}.nav-expand svg.rotated{transform:rotate(180deg)}.subnav a{min-height:42px;font-size:13px}.subnav a.active{color:#172033;background:#e9edf3;font-weight:600}.drawer-backdrop,.calendar-mobile{display:none}.calendar-panel,.calendar-table{min-width:0}.calendar-table th,.calendar-table td{overflow:hidden}.calendar-controls{flex-wrap:wrap;margin-top:18px}.calendar-controls strong{text-align:center;min-width:0}.calendar-today{min-width:54px!important}.pdf-button{align-items:center;gap:6px;display:inline-flex;min-height:44px!important;padding:6px!important}.data-table td button{min-height:44px;padding:6px 10px}.data-table td button+button{margin-left:8px}.management-tabs{width:100%;overflow:visible}.management-tabs button{min-height:44px}.report-revenue{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.report-revenue .summary-row{border:1px solid #e2e8f0;border-radius:6px;padding:14px;display:block}.report-revenue .summary-row strong{margin-top:8px;font-size:19px;display:block}.responsive-table{table-layout:auto}.responsive-table td{overflow-wrap:anywhere}.modal{min-width:0}.modal-heading{z-index:1;background:#fff;padding-top:3px;position:sticky;top:-25px}.modal-heading .icon-button{min-width:44px;min-height:44px}.form-actions .btn{min-height:44px}@media (width<=1023px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-table th,.calendar-table td{padding:6px}.calendar-table thead th{font-size:9px}.calendar-table tbody th{width:90px}.calendar-block{height:34px}}@media (width<=850px){.mobile-menu-button{min-width:44px;min-height:44px;margin-left:-8px;display:inline-grid}.topbar{height:62px}.topbar-title{gap:8px;min-width:0}.topbar-title strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions{gap:4px}.user-button{justify-content:center;min-width:44px;min-height:44px}.drawer-backdrop{z-index:50;opacity:0;visibility:hidden;pointer-events:none;background:#0f172a99;transition:opacity .22s,visibility 0s linear .3s;display:block;position:fixed;inset:0}.drawer-backdrop.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s,visibility}.mobile-drawer{width:min(320px,88vw);height:100dvh;padding-bottom:env(safe-area-inset-bottom);background:#fff;transition:transform .3s cubic-bezier(.22,1,.36,1);overflow-y:auto;transform:translate(-104%);box-shadow:8px 0 30px #0f172a33}.drawer-backdrop.is-open .mobile-drawer{transform:translate(0)}.drawer-header{border-bottom:1px solid #e2e8f0;align-items:center;gap:11px;margin-bottom:18px;padding:18px 16px;display:flex}.drawer-header strong{color:#172033;font-size:18px}.drawer-header .icon-button{min-width:44px;min-height:44px;margin-left:auto}.mobile-drawer .nav-list{padding:0 12px}.mobile-drawer .nav-item,.mobile-drawer .nav-item>a{min-height:48px}.mobile-drawer .nav-expand{width:48px;height:48px}.main-content{padding-bottom:40px}}@media (prefers-reduced-motion:reduce){.drawer-backdrop,.drawer-backdrop.is-open,.mobile-drawer{transition:none}}@media (width<=767px){.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{width:100%;display:block}.responsive-table thead{display:none}.responsive-table tbody{gap:10px;display:grid}.responsive-table tr{background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:10px 12px}.responsive-table td{text-align:right;border-bottom:1px solid #edf1f4;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:8px 0;font-size:13px;display:flex}.responsive-table td:last-child{border-bottom:0}.responsive-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:#64748b;text-align:left;flex:0 0 90px;font-size:11px;font-weight:600}.responsive-table td[colspan]:before{display:none}.responsive-table td[colspan]{text-align:left}.responsive-table td strong{overflow-wrap:anywhere}.responsive-table td button{background:#f1f5f9;border-radius:5px}.calendar-table{display:none}.calendar-mobile{gap:9px;display:grid}.calendar-day-room{border:1px solid #e2e8f0;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:13px;display:flex}.calendar-day-room>div{min-width:0}.calendar-day-room strong{color:#172033;font-size:14px;display:block}.calendar-day-room small{color:#64748b;margin-top:3px;font-size:12px;display:block}.calendar-day-status{color:#475569;text-align:right;overflow-wrap:anywhere;max-width:50%;font-size:12px}.calendar-day-reservation{color:#243f69;text-align:right;overflow-wrap:anywhere;background:#e9edf8;border:0;border-radius:5px;max-width:55%;min-height:44px;padding:6px 8px;font-size:12px;font-weight:600}.calendar-day-reservation span{font-size:10px;text-decoration:underline;display:block}.report-revenue{grid-template-columns:repeat(2,minmax(0,1fr))}.report-revenue .summary-row.total{grid-column:1/-1}.filter-row{grid-template-columns:1fr 1fr;display:grid}.filter-row label{min-width:0}.filter-row label:nth-child(3),.filter-row button{grid-column:1/-1}.filter-row input,.filter-row select{min-width:0}.cash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-stats .stat-card:last-child{grid-column:1/-1}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:1fr}}@media (width<=639px){body{min-width:320px}.main-content{padding:20px 14px 38px}.topbar{padding:0 14px}.topbar-title>span,.topbar-title>b{display:none}.topbar-title strong{font-size:14px}.page-header{gap:14px;margin-bottom:20px}.page-header h1{font-size:24px}.page-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-actions .btn:only-child{grid-column:1/-1}.btn{white-space:normal;text-align:center;min-height:44px;font-size:13px}.panel{padding:14px}.section-title{align-items:flex-start;gap:8px}.section-title h2{font-size:17px}.section-title span{text-align:right}.stat-card{min-height:88px;padding:12px}.stat-card strong{font-size:23px}.stat-card .money-stat{font-size:18px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.room-card{gap:8px;min-width:0;min-height:126px;padding:12px}.room-bottom{flex-direction:column;align-items:flex-start}.room-guest{max-width:100%;font-size:12px}.room-type{font-size:12px}.badge{white-space:normal}.quick-link{min-height:70px;padding:14px}.field-grid,.field-grid.three{grid-template-columns:1fr}.form-actions{padding:12px 0 max(12px, env(safe-area-inset-bottom));z-index:1;background:#fff;margin-top:15px;position:sticky;bottom:0}.form-actions .btn{flex:1;min-width:0}.modal-backdrop{padding:0;display:block}.modal,.modal.wide{width:100%;max-width:none;height:100dvh;max-height:none;padding:18px 16px calc(18px + env(safe-area-inset-bottom));border-radius:0;overflow-y:auto}.modal-heading{border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding:4px 0 10px;top:-18px}.action-stack{grid-template-columns:1fr;display:grid}.action-stack .btn{width:100%}.detail-row{font-size:13px}.detail-row strong{overflow-wrap:anywhere}.reservation-toolbar{flex-direction:column;align-items:stretch}.reservation-toolbar .tabs{grid-template-columns:1fr 1fr;display:grid}.reservation-toolbar .tabs button{justify-content:center}.reservation-toolbar .search-input{max-width:none}.calendar-controls{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;display:grid}.calendar-controls strong{font-size:12px}.calendar-today{grid-column:1/-1}.management-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.management-tabs button{white-space:normal;padding:10px 4px;font-size:12px}.filter-row{grid-template-columns:1fr}.filter-row label:nth-child(3),.filter-row button{grid-column:auto}.report-revenue .summary-row strong{font-size:16px}.login-panel{min-height:100dvh;padding:24px 18px}.login-card{max-width:390px}.login-card h2{font-size:28px}.login-form{gap:16px}input,select,textarea{min-height:44px;font-size:16px}label{font-size:12px}.checkbox-label input{width:20px;min-height:20px}}@media (width<=359px){.room-grid,.report-revenue{grid-template-columns:1fr}.report-revenue .summary-row.total{grid-column:auto}}@media (width<=639px){.user-button svg:last-child{display:none}.modal form{padding-bottom:56px}}@media (width>=768px) and (width<=1023px){.calendar-table thead th{font-size:10px}.calendar-block{min-height:40px;font-size:11px}}:root{--background:#f5f9f7;--surface:#fff;--surface-secondary:#f8fafc;--foreground:#172033;--foreground-secondary:#475569;--muted:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--input:#fff;--primary:#0b6b60;--primary-hover:#07584f;--primary-foreground:#f8fafc;--accent:#0b6b60;--accent-soft:#e3f4ed;--ring:#208b7c;--danger:#9b423a;--danger-soft:#f9e9e7;--success:#166b54;--success-soft:#e7f4ee;--warning:#8b641b;--warning-soft:#fcf2da;--info:#1f5c78;--info-soft:#e8f2f7;--available:#1f5c78;--available-soft:#e8f2f7;--occupied:#59467e;--occupied-soft:#edeaf5;--cleaning:#8b641b;--cleaning-soft:#fcf2da;--maintenance:#9b423a;--maintenance-soft:#f9e9e7;--reservation:#2c4274;--reservation-soft:#e9edf8;--overlay:#0f172a99;--shadow:#17203314;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{background:var(--background);color:var(--foreground)}html,.modal,.mobile-drawer,.availability-list{scrollbar-color:var(--border-strong) var(--surface)}h1,h2,h3,.brand strong,.topbar-title strong,.stat-card strong,.room-number,.data-table strong,.summary-row strong,.shift-meta strong,.detail-row strong,.method-grid strong,.calendar-day-room strong,.drawer-header strong{color:var(--foreground)}p,.page-header p,.panel-header p{color:var(--muted)}label,.topbar-title,.user-button,.role-pill,.data-table td,.calendar-controls,.calendar-day-status{color:var(--foreground-secondary)}.muted,.sidebar-section-label,.section-title span,.room-type,.room-guest,.stat-card small,.stat-card .stat-label,.today-item small,.detail-row span,.summary-row span,.shift-meta span,.method-grid span,.quick-link small,.calendar-day-room small,.calendar-table tbody th small,.calendar-table thead th,.data-table th,.responsive-table td:before,.loading-state,.full-screen-loading,.subnav a,.nav-item,.mobile-nav button,.icon-button{color:var(--muted)}.sidebar,.topbar,.mobile-nav,.mobile-drawer,.profile-menu,.panel,.stat-card,.room-card,.quick-link,.modal,.shift-gate-card,.responsive-table tr,.form-actions,.modal-heading{background:var(--surface);border-color:var(--border)}.shift-gate{background:var(--background)}.panel,.stat-card,.room-card,.quick-link,.shift-gate-card{box-shadow:none}.sidebar,.topbar,.mobile-nav,.drawer-header,.profile-menu,.today-item,.data-table th,.data-table td,.tabs,.detail-row,.summary-row,.divider,.method-grid>div,.calendar-table th,.calendar-table td,.calendar-day-room,.report-revenue .summary-row,.responsive-table tr,.responsive-table td,.modal-heading{border-color:var(--border)}.divider{background:var(--border)}.brand-mark,.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-secondary,.availability-option{background:var(--surface);border-color:var(--border-strong);color:var(--foreground-secondary)}.btn-secondary:hover,.btn-ghost:hover,.icon-button:hover,.profile-menu button:hover,.data-table tbody tr:hover,.nav-item:hover,.subnav a:hover,.responsive-table td button{background:var(--surface-secondary);color:var(--foreground)}.btn-ghost,.data-table button,.tabs button.active,.quick-link svg,.today-item .room-tag,.eyebrow{color:var(--accent)}.btn-danger,.error-state{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.form-error,.amount-out{color:var(--danger)}.form-success,.amount-in{color:var(--success)}.amount-in,.amount-out{font-weight:600}.role-pill,.user-button svg:first-child,.nav-item.active,.subnav a.active,.shift-gate-icon,.sidebar-help,.inline-note,.today-item-icon{background:var(--accent-soft);color:var(--foreground);border-color:var(--border)}.nav-item.active,.subnav a.active{font-weight:600}.help-dot{box-shadow:0 0 0 3px var(--success-soft)}.profile-menu{box-shadow:0 12px 32px var(--shadow);width:190px}.profile-menu button{color:var(--foreground-secondary)}.login-secure{color:var(--accent)}.icon-button:hover{color:var(--foreground)}.room-card:hover,.quick-link:hover{border-color:var(--border-strong);box-shadow:0 5px 18px var(--shadow)}.room-top svg,.quick-link-arrow{color:var(--muted)}.quick-link-arrow{margin-left:auto}.room-card.reserved-today{background:var(--surface);border-color:var(--reservation);border-left:4px solid var(--reservation)}.badge.available{background:var(--available-soft);color:var(--available)}.badge.occupied{background:var(--occupied-soft);color:var(--occupied)}.badge.cleaning{background:var(--cleaning-soft);color:var(--cleaning)}.badge.maintenance{background:var(--maintenance-soft);color:var(--maintenance)}.data-table th,.calendar-table thead th,.calendar-table tbody th{background:var(--surface-secondary)}.calendar-table tbody th{color:var(--foreground)}.data-table button{background:0 0}input,select,textarea{background:var(--input);border-color:var(--border-strong);color:var(--foreground)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:disabled,select:disabled,textarea:disabled,.btn:disabled{opacity:.6;cursor:not-allowed}input[type=checkbox]{accent-color:var(--accent)}input:-webkit-autofill{-webkit-text-fill-color:var(--foreground);box-shadow:0 0 0 1000px var(--input) inset;transition:background-color 9999s}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--foreground);box-shadow:0 0 0 1000px var(--input) inset;transition:background-color 9999s}.modal-backdrop,.drawer-backdrop{background:var(--overlay)}.modal,.mobile-drawer{box-shadow:0 22px 70px var(--shadow)}.detail-row strong,.summary-row strong{text-align:right}.inline-note{color:var(--foreground-secondary)}.tabs button{color:var(--muted)}.tabs button:hover{color:var(--foreground);background:var(--surface-secondary)}.tabs button.active{border-color:var(--accent);color:var(--accent)}.today-item-icon,.empty-icon{color:var(--accent)}.empty-state h3{color:var(--foreground)}.availability-option.selected{background:var(--accent-soft);border-color:var(--accent)}.availability-option span strong{color:var(--foreground)}.availability-option small{color:var(--muted)}.availability-option b{color:var(--accent)}.calendar-table .calendar-current-day{background:var(--accent-soft);color:var(--foreground)}.calendar-table td.calendar-current-day{box-shadow:inset 2px 0 var(--accent)}.calendar-table .calendar-occupied-cell{background:var(--occupied-soft);color:var(--occupied);border-left:2px solid var(--occupied);font-size:12px;font-weight:600}.calendar-occupied-cell small{margin-top:3px;font-size:10px;font-weight:500;display:block}.calendar-block,.calendar-day-reservation{background:var(--reservation-soft);color:var(--reservation)}.calendar-block[data-status=PENDING],.calendar-day-reservation[data-status=PENDING]{background:var(--warning-soft);color:var(--warning)}.calendar-block[data-status=CHECKED_IN],.calendar-day-reservation[data-status=CHECKED_IN]{background:var(--occupied-soft);color:var(--occupied)}.calendar-day-room,.report-revenue .summary-row{background:var(--surface)}.pdf-button{color:var(--accent)}::selection{background:var(--accent-soft);color:var(--foreground)}@media (width<=767px){.responsive-table tr{background:var(--surface)}.responsive-table td button{background:var(--surface-secondary)}}:root{--background:#f5f7fb;--surface-secondary:#f7f9fd;--border:#dfe6ef;--primary:#0b7068;--primary-hover:#075b55;--accent:#0b7068;--accent-soft:#e3f4ef;--overlay:#142341ad;--shadow:#273d5c17}.brand-mark{background:linear-gradient(145deg,#0b7068,#397ab6);border-radius:12px;box-shadow:0 9px 18px #16736b2b}.sidebar{background:linear-gradient(#fff 0%,#f9fbff 100%)}.topbar{box-shadow:0 2px 18px #29426b0a}.role-pill{color:#6245a2;background:#eeeafd;border-color:#dcd3f7;border-radius:999px}.nav-item{--nav-accent:#0b7068;--nav-soft:#e3f4ef;border-radius:11px}.nav-item[data-section=home]{--nav-accent:#306aa5;--nav-soft:#e7f1fb}.nav-item[data-section=reservations]{--nav-accent:#704ea6;--nav-soft:#f0eafb}.nav-item[data-section=cash]{--nav-accent:#a45a1c;--nav-soft:#fff1dd}.nav-item[data-section=rooms]{--nav-accent:#0d786b;--nav-soft:#e1f4ed}.nav-item[data-section=inventory]{--nav-accent:#ab4965;--nav-soft:#fbeaf0}.nav-item[data-section=users]{--nav-accent:#4c5fb0;--nav-soft:#ebefff}.nav-item[data-section=reports]{--nav-accent:#8b6220;--nav-soft:#fcf3dc}.nav-item>a>svg{background:var(--nav-soft);width:29px;height:29px;color:var(--nav-accent);border-radius:9px;flex:none;padding:5px}.nav-item:hover,.nav-item.active{background:var(--nav-soft);color:var(--nav-accent)}.nav-item.active{box-shadow:inset 3px 0 var(--nav-accent)}.page-header{background:linear-gradient(112deg,#e8f5f1 0%,#eef2ff 58%,#fff4e7 100%);border:1px solid #e1e8f1;border-radius:20px;padding:24px 28px;box-shadow:0 9px 25px #29426b0b}.page-header .eyebrow{color:#5260a5}.btn{border-radius:10px}.btn-primary{box-shadow:0 7px 15px #0b70682b}.panel,.stat-card,.room-card,.quick-link{border-radius:15px;box-shadow:0 4px 18px #29426b0a}.stat-card{border-top:4px solid #0b7068}.stat-card.blue{background:linear-gradient(145deg,#fff,#f0f8ff);border-top-color:#468dc0}.stat-card.purple{background:linear-gradient(145deg,#fff,#f6f1ff);border-top-color:#8a6cba}.stat-card.yellow{background:linear-gradient(145deg,#fff,#fff8ea);border-top-color:#d49b3a}.stat-card.red{background:linear-gradient(145deg,#fff,#fff2f1);border-top-color:#d97878}.modal{border:1px solid #dbe5ee;border-radius:22px;padding:0;box-shadow:0 30px 85px #0c214263}html:has(.modal-backdrop){overflow:hidden}.modal-heading{background:linear-gradient(112deg,#e6f5f0 0%,#eef0ff 64%,#fff0df 100%);border-bottom:1px solid #dce9ed;align-items:center;margin:0;padding:24px 28px;top:0}.modal-heading h2{margin-bottom:5px;font-size:21px;line-height:1.2}.modal-heading p{max-width:49ch;font-size:13px;line-height:1.5}.modal-heading .icon-button{color:#3d5667;background:#ffffffc9;border-radius:12px;flex:none;box-shadow:0 2px 7px #334b7212}.modal-body label{font-size:12px;font-weight:600}.modal-body input:not([type=checkbox]),.modal-body select,.modal-body textarea{border-color:#cddce5;border-radius:10px;min-height:44px;box-shadow:0 2px 5px #283e6010}.modal .form-actions{border-top:1px solid var(--border);padding-top:19px}.modal .form-actions .btn{min-height:44px;padding-inline:19px}.form-section-heading{align-items:flex-start;gap:11px;margin:22px 0 14px;display:flex}.form-section-heading:first-child{margin-top:0}.form-section-number{color:#0b7068;background:#e8f4f0;border-radius:10px;flex:none;place-items:center;width:30px;height:30px;font-size:11px;font-weight:600;display:grid}.form-section-heading h3{margin:0 0 2px;font-size:14px}.form-section-heading p{margin:0;font-size:12px;line-height:1.4}.user-status-card{background:#eef9f3;border:1px solid #cde9de;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:10px 14px;display:flex}.user-status-card .check-row{color:#145d4e;flex:none;font-size:13px}.user-status-card span{color:#426c61;font-size:12px;line-height:1.4}.user-role-card{background:linear-gradient(145deg,#f9f6ff,#fff);border:1px solid #ded6f2;border-radius:14px;margin-top:20px;padding:16px}.user-role-card .form-section-heading{margin-top:0}.user-role-card .form-section-number{color:#6546a8;background:#eee8fc}.user-role-card select{width:100%;margin-top:6px}.role-description{color:#5c5274;margin:9px 0 0;font-size:12px}.user-advanced-permissions{background:#f7fbff;border:1px solid #d9e5ee;border-radius:13px}.user-advanced-permissions summary{color:#355d87;padding:15px 17px;font-size:13px}.user-advanced-permissions[open] summary{border-bottom:1px solid #d9e5ee}.user-advanced-permissions .permission-picker{background:#fff;margin:14px}.permission-module{background:#f7fbff;border-top:3px solid #3b86ba;border-radius:12px}.permission-modules{align-items:start}.permission-module:nth-child(3n+2){background:#faf7ff;border-top-color:#8c70bd}.permission-module:nth-child(3n){background:#fffaf0;border-top-color:#d39d48}.permission-row input{accent-color:var(--primary)}.login-page{background:#f7f9fd;min-height:100dvh}.login-decoration{isolation:isolate;color:#17394b;background:radial-gradient(circle at 82% 16%,#fffa 0 12%,#0000 34%),radial-gradient(circle at 9% 92%,#ffddc6 0,#0000 34%),linear-gradient(145deg,#dff2eb 0%,#e8ebfa 53%,#f7e9e7 100%);padding:48px clamp(32px,6vw,90px)}.login-decoration:before{content:"";z-index:-1;background:#ffffff37;border:1px solid #ffffffad;border-radius:32%;width:310px;height:310px;position:absolute;top:29%;right:-105px;transform:rotate(24deg)}.login-decoration:after{border-color:#ffffffa6;width:300px;height:300px;bottom:-100px;right:-120px;box-shadow:0 0 0 64px #ffffff25,0 0 0 128px #ffffff1a}.login-brand{z-index:1;color:#17394b;position:relative}.login-brand .brand-mark{background:linear-gradient(145deg,#0b7068,#397ab6);box-shadow:0 10px 22px #176c7a35}.login-message .eyebrow{color:#246c68;background:#ffffffa6;border-radius:999px;align-items:center;gap:9px;padding:8px 12px;display:inline-flex;box-shadow:0 4px 12px #2c47620d}.login-message .eyebrow:before{content:"";background:#e79755;border-radius:50%;width:7px;height:7px}.login-message h1{color:#17394b;max-width:640px;margin:22px 0;font-size:clamp(3rem,4.6vw,4.7rem);line-height:1.06}.login-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:515px;margin-top:34px;display:grid}.login-feature{color:#215d78;background:#ffffff9e;border:1px solid #ffffffc9;border-radius:16px;align-content:center;justify-items:start;gap:12px;min-height:96px;padding:15px;font-size:12px;font-weight:600;display:grid;box-shadow:0 10px 22px #47617a12}.login-feature:nth-child(2){color:#7354a3}.login-feature:nth-child(3){color:#aa672b}.login-feature svg{background:#e8f3fa;border-radius:9px;width:32px;height:32px;padding:6px}.login-feature:nth-child(2) svg{background:#f0eafb}.login-feature:nth-child(3) svg{background:#fff0dc}.login-footer{z-index:1;color:#5d7481;font-weight:600;position:relative}.login-panel{background:radial-gradient(circle at 92% 14%,#e8ecff 0,#0000 29%),radial-gradient(circle at 9% 91%,#e1f5ed 0,#0000 30%),#f8fafd;padding:36px}.login-card{background:#fff;border:1px solid #e4eaf2;border-radius:24px;width:min(100%,470px);padding:clamp(28px,3.2vw,44px);position:relative;overflow:hidden;box-shadow:0 24px 65px #2d4b7521}.login-card:before{content:"";background:linear-gradient(90deg,#0b8a77,#6981c2 55%,#e79d69);height:6px;position:absolute;inset:0 0 auto}.login-secure{color:#136f5e;background:#e8f6f1;border-radius:999px;gap:8px;width:fit-content;margin-bottom:24px;padding:7px 11px;font-size:11px;display:inline-flex}.login-card h2{color:#1c3448;font-size:clamp(27px,2.5vw,34px)}.login-card>p{color:#617386;margin-bottom:27px}.login-form{gap:18px}.login-form label{color:#334c62;font-size:13px}.input-icon svg{color:#668398;top:20px;left:15px}.input-icon input{background:#fbfcff;border-color:#d8e2eb;border-radius:12px;min-height:52px;padding-left:47px;font-size:14px}.input-icon input:focus{background:#fff}.login-submit{background:linear-gradient(105deg,#0b7068,#257d92);border-radius:12px;min-height:52px;margin-top:5px;padding-inline:19px;font-size:14px;box-shadow:0 10px 20px #0c6e782a}@media (width<=850px){.login-page{flex-direction:column;display:flex}.login-decoration{border-radius:0 0 27px 27px;min-height:290px;padding:24px 22px 58px;display:flex}.login-message{margin-top:37px}.login-message h1{margin:12px 0 10px;font-size:clamp(30px,6vw,42px)}.login-message p{margin:0;font-size:13px}.login-feature-grid,.login-footer{display:none}.login-panel{background:0 0;flex:1;min-height:0;padding:0 18px 40px}.login-card{width:min(100%,470px);max-width:none;margin-top:-30px;padding:30px 26px}}@media (width<=480px){.login-card{border-radius:20px;padding:27px 22px}}@media (width<=639px){.login-decoration{display:none}.login-panel{place-items:center;min-height:100dvh;padding:24px 18px;display:grid}.login-card{margin-top:0}.page-header{border-radius:16px;padding:19px}.modal,.modal.wide{border-radius:0;padding:0}.modal-backdrop{overflow:hidden}.modal-heading{padding:20px 17px;top:0}.modal-body{padding:20px 17px calc(20px + env(safe-area-inset-bottom))}.modal .form-actions{padding:13px 0 max(13px, env(safe-area-inset-bottom))}.user-status-card{flex-direction:column;align-items:flex-start}}.login-page{background:var(--background);grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}.login-decoration{background:var(--primary);color:#f8fbff;padding:clamp(34px,5vw,76px)}.login-decoration:before,.login-decoration:after{content:none}.login-brand,.login-message,.login-footer{z-index:1;position:relative}.login-brand{color:#f8fbff}.login-brand .brand-mark{color:var(--primary);box-shadow:none;background:#d3e5f5;border-radius:5px}.login-brand small{color:#bccbdd}.login-message{max-width:590px}.login-message .eyebrow{box-shadow:none;color:#bdd9f2;letter-spacing:.16em;background:0 0;border-bottom:1px solid #b9cbe067;border-radius:0;padding:0 0 11px;font-size:11px}.login-message .eyebrow:before{display:none}.login-message h1{color:#f8fbff;letter-spacing:-.055em;max-width:760px;margin:25px 0 22px;font-family:inherit;font-size:clamp(3.1rem,4.4vw,5rem);font-weight:600;line-height:1.03}.login-message h1 span{color:#d3e5f5}.login-message p{color:#d9e4f2;max-width:450px;font-size:15px;line-height:1.7}.login-feature-grid{border-top:1px solid #b9cbe044;flex-wrap:wrap;gap:18px 32px;max-width:none;margin-top:44px;padding-top:19px;display:flex}.login-feature,.login-feature:nth-child(2),.login-feature:nth-child(3){min-height:0;box-shadow:none;color:#ebf2fa;background:0 0;border:0;border-radius:0;align-items:center;gap:8px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.login-feature svg,.login-feature:nth-child(2) svg,.login-feature:nth-child(3) svg{color:#bdd9f2;background:0 0;border-radius:0;width:18px;height:18px;padding:0}.login-footer{color:#b5c7da;letter-spacing:.18em;font-size:10px}.login-panel{background:var(--background)}.login-card{width:min(100%,440px);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.login-card:before{display:none}.login-secure{color:#5a718c;letter-spacing:.11em;text-transform:uppercase;background:0 0;border-radius:0;margin-bottom:29px;padding:0;font-size:11px}.login-card h2{color:#233b59;letter-spacing:-.045em;font-family:inherit;font-size:clamp(2.2rem,3vw,3rem);font-weight:600}.login-card>p{color:#60738a}.login-form label{color:#354b68}.input-icon input{box-shadow:none;background:#fff;border:1px solid #bdcbdc;border-radius:5px}.input-icon svg{color:#69809a}.login-submit,.login-submit:hover:not(:disabled){border-radius:var(--radius-sm);background:var(--primary);box-shadow:none}.login-submit:hover:not(:disabled){background:var(--primary-hover)}.modal-backdrop{background:#0b2340aa}.modal,.modal.wide{background:#fff;border:1px solid #dce4ee;border-radius:7px;box-shadow:0 22px 60px #142c4b33}.modal-heading{background:#f3f6fa;border-bottom:1px solid #dce4ee;padding:23px 28px}.modal-heading>div{border-left:3px solid var(--accent);padding-left:14px}.modal-heading h2{color:var(--foreground);letter-spacing:-.025em;font-family:inherit;font-size:23px;font-weight:600}.modal-heading p{color:#61758e}.modal-heading .icon-button{box-shadow:none;color:var(--accent);background:0 0;border:1px solid #bdccde;border-radius:5px}.modal-heading .icon-button:hover{background:var(--accent-soft)}.modal-body{padding:28px}.modal-body label{color:#405a77}.modal-body input:not([type=checkbox]),.modal-body select,.modal-body textarea{box-shadow:none;background:#fff;border:1px solid #bdcbdc;border-radius:5px;font-size:14px}.modal-body input:not([type=checkbox]):focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--accent-soft)}.modal .form-actions{border-color:#dce4ee}.modal .form-actions .btn{border-radius:5px}.modal .btn-primary{background:var(--primary);box-shadow:none}.modal .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.modal .btn-secondary{background:#fff;border-color:#bdcbdc}@media (width<=850px){.login-decoration{border-radius:0}.login-message h1{font-size:clamp(2.4rem,6vw,3.5rem)}.login-card{margin-top:0}}@media (width<=639px){.login-panel{padding:28px 24px}.login-card{width:min(100%,420px)}.modal,.modal.wide{border-radius:0}.modal-heading{padding:20px}.modal-body{padding:22px 20px calc(22px + env(safe-area-inset-bottom))}.modal-body .field-grid{grid-template-columns:1fr}.modal .form-actions{flex-wrap:wrap}}:root{--background:#f0f4f9;--surface:#fff;--surface-secondary:#f1f5fa;--foreground:#102744;--foreground-secondary:#334f70;--muted:#576f8a;--border:#d0dce9;--border-strong:#9fb5cb;--primary:#0b2340;--primary-hover:#173b63;--primary-foreground:#fff;--accent:#1b4a78;--accent-soft:#e4eef8;--ring:#245d91;--shadow:#0b234014;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;font-family:Inter,Avenir Next,ui-sans-serif,system-ui,sans-serif}.main-content{max-width:1480px;padding-top:30px}.sidebar{background:var(--primary);border-right:0}.sidebar .brand{border-bottom:1px solid #d5e2f238;margin:0 21px 27px;padding:28px 3px 24px}.sidebar .brand-mark,.mobile-drawer .brand-mark{border-radius:var(--radius-sm);color:var(--primary);box-shadow:none;background:#d3e5f5}.sidebar .brand strong,.mobile-drawer .drawer-header strong{color:#fff;font-weight:600}.sidebar .brand span{color:#c5d5e6}.sidebar-section-label{color:#c5d5e6;font-weight:500}.sidebar .nav-item,.mobile-drawer .nav-item{color:#d8e5f2;border-radius:var(--radius-sm);font-weight:500}.sidebar .nav-item>a>svg,.mobile-drawer .nav-item>a>svg{color:#b8cce1;background:0 0}.sidebar .nav-item:hover,.mobile-drawer .nav-item:hover{color:#fff;background:#1a3c60}.sidebar .nav-item.active,.mobile-drawer .nav-item.active{color:var(--primary);box-shadow:none;background:#d3e5f5;font-weight:600}.sidebar .nav-item.active>a>svg,.mobile-drawer .nav-item.active>a>svg{color:var(--primary)}.sidebar-help{border-radius:var(--radius-md);color:#e7f0fa;background:#ffffff0d;border-color:#b9cde145}.sidebar-help small{color:#b9cde1}.sidebar-help .help-dot{box-shadow:0 0 0 3px #4e88bf55}.topbar{border-bottom:1px solid var(--border);box-shadow:none;background:#fff}.topbar-title strong{color:var(--foreground);font-weight:600}.role-pill,.user-button svg:first-child{color:var(--accent);background:#e5eef8;border-color:#c9d9e9}.role-pill{border-radius:var(--radius-sm);font-weight:500}.user-button{font-weight:500}.page-header{border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 2px 8px var(--shadow);padding:25px 30px;position:relative}.page-header:after{content:none}.page-header>div{z-index:1;position:relative}.page-header .eyebrow{color:var(--accent);font-weight:600}.page-header h1{color:var(--foreground);font-weight:600}.page-header p{color:var(--muted);font-size:13px}.page-header .btn-primary{background:var(--primary);color:#fff}.page-header .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn{border-radius:var(--radius-sm);box-shadow:none;min-height:42px;font-size:13px;font-weight:500}.btn-primary{background:var(--primary);box-shadow:none}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{border-color:var(--border-strong);color:var(--accent);background:#fff}.btn-secondary:hover{background:var(--surface-secondary);border-color:var(--accent)}.btn-danger:hover:not(:disabled){background:#f5dddd;border-color:#d99891}.panel,.stat-card,.room-card,.quick-link{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 1px 3px var(--shadow)}.panel-header h2,.section-title h2{color:var(--foreground)}.section-title:before{content:none}.section-title h2{border-left:3px solid var(--accent);padding-left:13px}.stat-card,.stat-card.blue,.stat-card.purple,.stat-card.yellow,.stat-card.red{border-top:1px solid var(--border);border-left:3px solid var(--stat-accent,var(--accent));background:var(--surface);padding:21px}.stat-card.blue{--stat-accent:var(--accent);--stat-soft:var(--accent-soft)}.stat-card.purple{--stat-accent:#655c8e;--stat-soft:#efedf7}.stat-card.yellow{--stat-accent:#9b722e;--stat-soft:#fbf1dd}.stat-card.red{--stat-accent:#a35a4c;--stat-soft:#faece6}.stat-card svg,.stat-card.blue svg,.stat-card.purple svg,.stat-card.yellow svg,.stat-card.red svg{background:var(--stat-soft,var(--accent-soft));width:38px;height:38px;color:var(--stat-accent,var(--accent));border-radius:5px;padding:9px}.stat-card strong{color:var(--foreground);font-size:32px;font-weight:600}.stat-card .stat-label{color:var(--foreground-secondary);font-size:13px}.stat-card small{color:var(--muted)}.room-card{min-height:145px}.room-card:hover,.quick-link:hover{border-color:var(--ring);box-shadow:0 3px 12px var(--shadow);transform:none}.room-number{color:var(--foreground);font-size:24px;font-weight:600}.room-type,.room-guest{color:var(--muted)}.room-card.reserved-today{border:1px solid #b6cee4;border-left:3px solid var(--accent);background:var(--surface-secondary)}.reservation-indicator,.room-card.reserved-today .reservation-indicator{background:var(--accent-soft);color:var(--accent)}.data-table{font-size:13px}.data-table th{border-color:var(--border);background:var(--surface-secondary);color:var(--foreground-secondary);padding-block:13px;font-size:11px;font-weight:500}.data-table strong{font-weight:600}.data-table td{color:var(--foreground-secondary);border-color:#e7ecf2;padding-block:15px}.data-table tbody tr:hover{background:#f7f9fc}.data-table button{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);padding:7px 10px;font-weight:500}.data-table button:hover{background:#d3e4f4}.tabs{border-bottom:0;gap:7px}.tabs button{border:1px solid var(--border-strong);color:var(--foreground-secondary);background:#fff;border-radius:5px;font-weight:500}.tabs button:hover{background:var(--accent-soft);color:var(--primary)}.tabs button.active,.tabs button.active:hover{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:600}input,select,textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--foreground);background:#fff}input:focus,select:focus,textarea:focus{border-color:var(--ring);box-shadow:0 0 0 3px var(--accent-soft)}.quick-link svg,.today-item-icon,.empty-icon{color:var(--accent)}.today-item,.calendar-day-room{border-color:var(--border);border-radius:6px}.user-role-card,.user-advanced-permissions,.permission-module,.permission-module:nth-child(3n+2),.permission-module:nth-child(3n){border-color:var(--border);background:#f3f6fa}.form-section-number,.user-status-card,.user-role-card,.user-advanced-permissions,.permission-module,.today-item,.calendar-block,.calendar-day-reservation,.responsive-table tr{border-radius:6px}.modal .pending-payment-trigger{color:#694a20;background:#fbf4e8;border-color:#d5b889}.modal .pending-payment-trigger:hover{background:#f5e9d5}.pending-payment-note{color:var(--foreground-secondary);margin-bottom:16px}.pending-payment-form{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.form-section-number{background:var(--accent-soft);color:var(--accent)}.calendar-occupied-button{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;padding:4px}.calendar-occupied-button:hover{text-decoration:underline}@media (width<=767px){.calendar-mobile{gap:0}.calendar-mobile-heading,.calendar-mobile-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:stretch;gap:8px;display:grid}.calendar-mobile-heading{color:var(--muted);padding:0 4px 8px;font-size:11px;font-weight:600}.calendar-mobile-heading span:last-child{text-align:center}.calendar-mobile-row{border-top:1px solid var(--border);padding:7px 0}.calendar-mobile-room{align-content:center;min-width:0;padding-left:4px;display:grid}.calendar-mobile-room strong{color:var(--foreground);font-size:14px}.calendar-mobile-room small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.calendar-mobile-cell{background:var(--available-soft);min-height:44px;color:var(--available);text-align:left;border:1px solid #0000;border-radius:5px;justify-content:space-between;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.calendar-mobile-cell span{white-space:nowrap;font-size:10px;font-weight:600}.calendar-mobile-cell:hover{filter:brightness(.96)}.calendar-mobile-cell[data-status=PENDING],.calendar-mobile-cell[data-status=LIMPIEZA]{background:var(--warning-soft);color:var(--warning)}.calendar-mobile-cell[data-status=CONFIRMED]{background:var(--reservation-soft);color:var(--reservation)}.calendar-mobile-cell[data-status=CHECKED_IN],.calendar-mobile-cell[data-status=OCUPADA]{background:var(--occupied-soft);color:var(--occupied)}.calendar-mobile-cell[data-status=MANTENIMIENTO]{background:var(--maintenance-soft);color:var(--maintenance)}}@media (width<=850px){.mobile-drawer{background:var(--primary)}.drawer-header{border-color:#d5e2f238}.drawer-header .icon-button{color:#d8e5f2}.drawer-header .icon-button:hover{color:#fff;background:#1a3c60}}@media (width<=639px){.page-header{padding:24px 21px}.page-header h1{font-size:27px}.stat-card,.stat-card.blue,.stat-card.purple,.stat-card.yellow,.stat-card.red{padding:14px}.stat-card strong{font-size:25px}.stat-card svg,.stat-card.blue svg,.stat-card.purple svg,.stat-card.yellow svg,.stat-card.red svg{width:28px;height:28px;padding:6px}.room-card{min-height:126px}.responsive-table tr{border-color:var(--border);background:var(--surface)}.modal .form-actions{background:var(--surface)}.modal-backdrop.compact-backdrop{place-items:center;padding:12px;display:grid}.modal.compact{border-radius:7px;width:min(100%,430px);height:auto;max-height:calc(100dvh - 24px);padding:0;overflow-y:auto}.modal.compact .modal-heading{margin-bottom:0;top:0}.modal.compact .form-actions{position:static}}h1,h2,h3,h4,strong,b{font-weight:600}label,.modal-body label{color:var(--foreground-secondary);font-size:12px;font-weight:500;line-height:1.4}.sidebar-help,.login-feature,.responsive-table td:before,.user-advanced-permissions summary{font-weight:500}input,select,textarea{min-height:42px;font-size:13px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn:disabled{opacity:.55;box-shadow:none}.data-table .btn-secondary{border-color:var(--border-strong);color:var(--foreground-secondary);background:#fff}.data-table .btn-secondary:hover:not(:disabled){background:var(--surface-secondary);border-color:var(--accent)}.data-table .btn-danger{background:var(--danger-soft);color:var(--danger);border-color:#e9c4bf}.data-table .btn-danger:hover:not(:disabled){background:#f5dddd;border-color:#d99891}.main-content>.filter-row:not(.panel){border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:16px 18px}.main-content>.filter-row:not(.panel) label{min-width:min(100%,280px)}.section-title{margin-top:31px}.section-title h2{font-size:17px;font-weight:600}.panel-header h2{font-size:16px}.summary-row{font-size:13px}.summary-row.total{border-radius:var(--radius-sm);background:#edf4fa;border:1px solid #d6e5f3;margin-top:4px;padding:13px 10px}.summary-row.total strong{color:var(--primary)}.modal .detail-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);gap:0;padding:6px 16px}.modal .detail-row{align-items:center;padding:12px 0;font-size:13px}.modal .detail-row:last-child{border-bottom:0}.modal .detail-row span{color:var(--muted)}.modal .detail-row strong{color:var(--foreground)}.inline-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary)}.empty-state{padding:36px 20px}.empty-icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--accent);background:#edf4fa;border:1px solid #d2e2ef;place-items:center;margin:0 auto 10px;display:grid}.empty-state h3{font-size:14px}.empty-state p{color:var(--muted);font-size:13px}.form-error,.form-success{border-radius:var(--radius-sm);border:1px solid;padding:10px 12px;font-size:12px;line-height:1.5}.form-error{background:var(--danger-soft);color:var(--danger);border-color:#e9c4bf}.form-success{background:var(--success-soft);color:var(--success);border-color:#b9d9c9}.status-badge{border:1px solid var(--status-border,var(--border));border-radius:var(--radius-sm);background:var(--status-bg,var(--surface-secondary));width:fit-content;color:var(--status-color,var(--foreground-secondary));white-space:nowrap;align-items:center;gap:7px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.status-badge--success{--status-bg:#e9f5ee;--status-border:#b9ddc8;--status-color:#176545}.status-badge--info{--status-bg:#eaf2fa;--status-border:#c4d9ed;--status-color:#24577f}.status-badge--purple{--status-bg:#f0ecf8;--status-border:#d8cdea;--status-color:#614c82}.status-badge--warning{--status-bg:#fff5df;--status-border:#ead4a6;--status-color:#825e17}.status-badge--danger{--status-bg:#faece9;--status-border:#e9c6c0;--status-color:#933f38}.status-badge--neutral{--status-bg:#f0f3f7;--status-border:#d8e1eb;--status-color:#4d6178}.topbar-action{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--foreground);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.topbar-action:hover{background:var(--surface-secondary)}.topbar-action:disabled{opacity:.55;cursor:not-allowed}.topbar-start-cash{border-color:var(--primary);background:var(--primary);color:#fff}.topbar-start-cash:hover{background:var(--accent)}.topbar-cash-open{color:var(--success);background:var(--success-soft);border-color:#b9ddc8}.topbar-cash-open:hover{background:#dcefe4}.product-state-cell{min-width:112px;padding-left:20px!important;padding-right:20px!important}@media (width<=850px){.topbar-actions{gap:6px}.topbar-action{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.topbar-action span{display:none}}@media (width<=639px){.product-state-cell{min-width:0;padding-left:12px!important;padding-right:12px!important}}.profile-card{max-width:640px}.profile-card-heading{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding-bottom:18px;display:flex}.profile-card-heading h2{color:var(--foreground);margin:0 0 3px;font-size:18px}.profile-card-heading p{color:var(--muted);margin:0;font-size:12px}.profile-fields{gap:0;margin:5px 0 0;display:grid}.profile-fields>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(120px,.65fr) minmax(0,1.35fr);gap:12px;padding:14px 0;display:grid}.profile-fields>div:last-child{border-bottom:0}.profile-fields dt{color:var(--muted);font-size:12px}.profile-fields dd{color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}@media (width<=639px){.page-header{padding:20px}.main-content>.filter-row:not(.panel){padding:14px}.main-content>.filter-row:not(.panel) label{min-width:0}.profile-fields>div{grid-template-columns:minmax(0,1fr);gap:4px}}@media print{:root{--background:#fff;--surface:#fff;--surface-secondary:#f8fafc;--foreground:#172033;--foreground-secondary:#475569;--muted:#64748b;--border:#cbd5e1;--border-strong:#94a3b8;--input:#fff;--accent:#334b72;--accent-soft:#e9edf3;--reservation:#2c4274;--reservation-soft:#e9edf8;--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}html,body{color:#172033!important;background:#fff!important}.sidebar,.topbar,.mobile-nav,.mobile-menu-button{display:none!important}.panel,.stat-card,.room-card,.quick-link{box-shadow:none!important;background:#fff!important}}.guest-profile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);justify-items:start;gap:17px;padding:19px;display:grid}.guest-profile-identity{align-items:center;gap:13px;min-width:0;display:flex}.guest-avatar{border-radius:var(--radius-sm);background:var(--primary);color:#fff;letter-spacing:.02em;flex:none;place-items:center;width:44px;height:44px;font-size:14px;font-weight:600;display:grid}.guest-profile-identity strong{color:var(--foreground);font-size:18px;line-height:1.25;display:block}.guest-profile-identity span:last-child{color:var(--muted);margin-top:3px;font-size:12px;display:block}.guest-profile-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;display:grid}.guest-profile-contact>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;gap:3px;padding:11px 13px;display:grid}.guest-profile-contact span{color:var(--muted);font-size:11px}.guest-profile-contact strong{color:var(--foreground);overflow-wrap:anywhere;font-size:13px}.guest-edit-form{border:1px solid var(--border);border-radius:var(--radius-md);margin-top:16px;padding:18px}.guest-edit-form h3{color:var(--foreground);margin-bottom:16px}.guest-history-list{gap:16px;margin-top:13px;display:grid}.guest-history-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow:hidden}.guest-history-heading{border-bottom:1px solid var(--border);background:var(--surface-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:15px 17px;display:flex}.guest-history-heading small{color:var(--accent);letter-spacing:.1em;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.guest-history-heading strong{color:var(--foreground);font-size:16px;display:block}.guest-history-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;padding:16px 17px;display:grid}.guest-history-meta>div{gap:4px;display:grid}.guest-history-meta span{color:var(--muted);font-size:11px}.guest-history-meta strong{color:var(--foreground);font-size:13px}.guest-history-breakdown{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0 17px;padding:8px 14px;display:grid}.guest-history-breakdown>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:9px 0;font-size:12px;display:flex}.guest-history-breakdown span{color:var(--muted)}.guest-history-breakdown strong{color:var(--foreground);text-align:right;white-space:nowrap}.guest-history-breakdown .guest-history-total strong,.guest-history-breakdown .guest-history-balance strong{color:var(--primary);font-size:14px}.guest-consumptions{margin:17px 17px 0}.guest-consumptions h3{color:var(--foreground);margin-bottom:9px;font-size:12px}.guest-consumptions ul{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.guest-consumptions li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;font-size:12px;display:flex}.guest-consumptions li span{color:var(--foreground-secondary)}.guest-consumptions li small{color:var(--muted);margin-top:3px;display:block}.guest-consumptions li strong{color:var(--foreground);white-space:nowrap}.guest-history-footer{justify-content:flex-end;padding:15px 17px;display:flex}.room-grid-toolbar{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 16px;padding:16px 18px;display:flex}.room-grid-toolbar label{gap:5px;min-width:180px;display:grid}.room-grid-toolbar input,.room-grid-toolbar select{min-height:42px}.room-grid-count{color:var(--muted);margin-left:auto;font-size:13px}.room-grid-pages{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.rental-toolbar{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.rental-toolbar label{min-width:min(100%,220px);color:var(--foreground-secondary);flex:1;gap:5px;font-size:12px;display:grid}.rental-toolbar input,.rental-toolbar select{width:100%;min-height:42px}.rental-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.rental-detail-grid>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);gap:5px;padding:12px;display:grid}.rental-detail-grid>div>span:first-child{color:var(--muted);font-size:12px}.rental-detail-grid strong{color:var(--foreground);font-size:14px}.rental-payments,.rental-payment-form{margin-top:20px}.rental-payments h3,.rental-payment-form h3{margin:0 0 10px;font-size:14px}.rental-payments ul{margin:0;padding:0;list-style:none}.rental-payments li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.rental-payment-form .field-grid{align-items:end}@media (width>=768px) and (width<=1100px){.rental-table,.rental-table tbody,.rental-table tr,.rental-table td{width:100%;display:block}.rental-table thead{display:none}.rental-table tbody{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rental-table tr{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.rental-table td{border-bottom:1px solid var(--border);text-align:right;justify-content:space-between;gap:10px;padding:8px 0;display:flex}.rental-table td:last-child{border-bottom:0}.rental-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;text-align:left;flex:0 0 90px;font-size:11px}}@media (width<=560px){.rental-toolbar{grid-template-columns:minmax(0,1fr);display:grid}.guest-profile-contact,.guest-history-breakdown{grid-template-columns:minmax(0,1fr)}.guest-profile{padding:14px}.guest-history-breakdown{padding-inline:12px}.room-grid-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.room-grid-toolbar label{min-width:0}.room-grid-toolbar input,.room-grid-toolbar select{width:100%;min-width:0}.room-grid-count{grid-column:1/-1;margin-left:0}.room-grid-pages{justify-content:space-between}.room-grid-pages .btn{min-width:0}}:root{--primary:#071a31;--primary-hover:#102e50;--accent:#153c66;--accent-soft:#e7eef6;--radius-sm:4px;--radius-md:5px;--radius-lg:6px}.modal,.modal.wide{border-radius:var(--radius-lg)}.apartment-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);cursor:pointer;align-items:center;gap:11px;width:fit-content;max-width:100%;min-height:48px;padding:8px 11px;display:inline-flex}.apartment-toggle input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:16px;margin:0;padding:0}.apartment-toggle span{gap:2px;display:grid}.apartment-toggle strong{color:var(--foreground);font-size:12px}.apartment-toggle small{color:var(--muted);font-size:11px;font-weight:400}.apartment-toggle:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.availability-heading{color:var(--foreground);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:18px 0 9px;font-size:13px;font-weight:600;display:flex}.availability-heading span{color:var(--muted);font-size:11px;font-weight:400}.availability-heading+.inline-note{margin-bottom:10px}.availability-hint{color:var(--muted);margin:8px 0 0;font-size:11px}.availability-option{border-radius:var(--radius-sm)}.availability-option:hover{border-color:var(--accent);background:var(--surface-secondary)}.availability-option.selected,.availability-option.selected:hover{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.badge.available,.badge.occupied,.badge.cleaning,.badge.maintenance{border-radius:var(--radius-sm);border:1px solid}@media (width<=639px){.modal,.modal.wide{border-radius:0}.availability-option{align-items:flex-start}.availability-option b{text-align:right}.room-top{gap:6px}.room-top svg{flex:none}.room-number-apartment{letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;font-size:clamp(11px,3.25vw,14px);line-height:1.2}}@media (width<=359px){.room-number-apartment{font-size:14px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
