@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:ui-sans-serif, system-ui, 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;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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,ui-sans-serif, system-ui, 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{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}.block{display:block}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--vacant:#10b981;--vacant-bg:#ecfdf5;--vacant-text:#065f46;--dirty:#f59e0b;--dirty-bg:#fffbeb;--dirty-text:#92400e;--occupied:#3b82f6;--occupied-bg:#eff6ff;--occupied-text:#1e40af;--reserved:#ef4444;--reserved-bg:#fef2f2;--reserved-text:#991b1b;--ooo:#333;--ooo-bg:#f3f3f3;--ooo-text:#333;--karaoke:#8b5cf6;--karaoke-bg:#f5f3ff;--karaoke-text:#5b21b6;--bg:#f0f2f5;--card:#fff;--text:#1a1a2e;--sub:#6b7280;--muted:#9ca3af;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 10px 40px #0000001f}*{-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans KR,sans-serif;overflow-x:hidden}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}.header{color:#fff;padding:16px 20px;padding-top:max(16px, env(safe-area-inset-top));z-index:50;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-title{letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.header-user{color:#ffffffb3;cursor:pointer;white-space:nowrap;background:#ffffff1f;border-radius:20px;flex-shrink:0;margin-left:10px;padding:6px 12px;font-size:12px}.header-user:active{background:#fff3}.tabs{background:var(--card);z-index:40;display:flex;position:sticky;top:56px;box-shadow:0 1px #0000000f}.tab{text-align:center;color:var(--muted);border-bottom:2.5px solid #0000;flex:1;padding:14px 0;font-size:14px;font-weight:600;transition:all .2s}.tab.active{color:#1a1a2e;border-bottom-color:#1a1a2e}.tab-orders{position:relative}.tab-badge{color:#fff;background:#ef4444;border-radius:10px;min-width:16px;padding:1px 6px;font-size:10px;font-weight:800;line-height:1.5;position:absolute;top:5px;right:max(6px,50% - 40px)}.rs-popup-overlay{z-index:90;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.rs-popup{color:#fff;text-align:center;background:#1d4ed8;border-radius:20px;width:100%;max-width:360px;padding:26px 22px;box-shadow:0 16px 48px #1d4ed873}.rs-popup-icon{margin-bottom:6px;font-size:40px}.rs-popup h2{margin-bottom:10px;font-size:18px;font-weight:800}.rs-popup-room{font-size:20px;font-weight:800}.rs-popup-room span{opacity:.85;margin-left:8px;font-size:13px;font-weight:600}.rs-popup-items{opacity:.9;margin-top:8px;font-size:13px;line-height:1.5}.rs-popup-total{margin-top:6px;font-size:17px;font-weight:800}.rs-popup-actions{gap:8px;margin-top:18px;display:flex}.rs-popup-view{color:#1d4ed8;background:#fff;border-radius:12px;flex:1;padding:12px 0;font-size:15px;font-weight:800}.rs-popup-later{color:#fff;background:#ffffff26;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:600}.orders-frame-wrap{height:calc(100vh - 106px);margin:-16px}.orders-frame{background:#fff;border:0;width:100%;height:100%;display:block}.content{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));min-height:70vh}.summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.sum-card{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:12px;padding:12px 8px}.sum-num{font-size:24px;font-weight:800;line-height:1}.sum-label{letter-spacing:.5px;margin-top:4px;font-size:10px;font-weight:700}.room-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:640px){.room-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:639px){.room-grid{grid-auto-flow:dense}.room-card.side-road{grid-column:1}.room-card.side-inner{grid-column:2}}.room-card{background:var(--card);text-align:center;box-shadow:var(--shadow);cursor:pointer;border-left:8px solid #0000;border-radius:14px;padding:16px 10px;transition:transform .15s;position:relative;overflow:hidden}.room-card:active{transform:scale(.96)}.room-num{letter-spacing:-.5px;margin-bottom:2px;font-size:26px;font-weight:800}.room-type{color:var(--muted);letter-spacing:.3px;margin-bottom:6px;font-size:10px;font-weight:600}.room-badge{letter-spacing:.5px;border-radius:20px;margin-bottom:8px;padding:4px 14px;font-size:12px;font-weight:700;display:inline-block}.room-preview{color:var(--muted);min-height:14px;font-size:11px;font-weight:500}.room-remaining{margin-top:2px;font-size:11px;font-weight:700}.room-note{color:var(--sub);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:4px;font-size:10px;font-weight:600;overflow:hidden}.room-note .note-flag{color:var(--reserved);font-weight:800}.room-card.urgent{box-shadow:var(--shadow), 0 0 0 2px var(--dirty)}.room-card.overdue,.room-card.has-pending{box-shadow:var(--shadow), 0 0 0 2px var(--reserved)}.pending-badge{background:var(--reserved);color:#fff;letter-spacing:.2px;z-index:1;border-radius:0 14px 0 10px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:0;right:0}.remaining-ok{color:var(--occupied)}.remaining-urgent{color:var(--dirty)}.remaining-overdue{color:var(--reserved);animation:1.5s infinite pulse}.bl-vacant{border-left-color:var(--vacant)}.bl-dirty{border-left-color:var(--dirty)}.bl-occupied{border-left-color:var(--occupied)}.bl-reserved{border-left-color:var(--reserved)}.bl-ooo{border-left-color:var(--ooo)}.bg-vacant{background:var(--vacant-bg);color:var(--vacant-text)}.bg-dirty{background:var(--dirty-bg);color:var(--dirty-text)}.bg-occupied{background:var(--occupied-bg);color:var(--occupied-text)}.bg-reserved{background:var(--reserved-bg);color:var(--reserved-text)}.bg-ooo{background:var(--ooo-bg);color:var(--ooo-text)}.bg-karaoke{background:var(--karaoke-bg);color:var(--karaoke-text)}.overlay{z-index:100;-webkit-backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--card);width:100%;max-width:500px;padding:8px 20px 20px;padding-bottom:max(20px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:90vh;animation:.25s ease-out slideUp;overflow-y:auto}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{background:#ddd;border-radius:2px;width:36px;height:4px;margin:0 auto 16px}.modal-title{text-align:center;margin-bottom:4px;font-size:22px;font-weight:800}.modal-sub{color:var(--sub);text-align:center;margin-bottom:20px;font-size:13px}.modal-section-title{color:var(--sub);letter-spacing:.3px;margin:18px 0 10px;font-size:13px;font-weight:800}.status-error{background:var(--reserved-bg);color:var(--reserved-text);text-align:center;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:600}.dirty-notice{background:var(--dirty-bg);border:2px solid var(--dirty);text-align:center;border-radius:14px;margin:14px 0;padding:20px 16px}.dirty-notice-icon{margin-bottom:8px;font-size:32px}.dirty-notice-title{color:var(--dirty-text);margin-bottom:6px;font-size:16px;font-weight:800}.dirty-notice-sub{color:var(--dirty-text);font-size:13px;line-height:1.5}.status-btn{border:2px solid #f0f0f0;border-radius:14px;align-items:center;gap:14px;width:100%;margin-bottom:10px;padding:16px 18px;font-size:15px;font-weight:700;transition:all .15s;display:flex}.status-btn:active{transform:scale(.98)}.status-btn.current{opacity:.3;pointer-events:none}.status-btn.disabled{opacity:.4;pointer-events:none;color:var(--muted)}.status-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.status-label{text-align:left;flex:1}.status-sub{color:var(--sub);font-size:11px;font-weight:500}.form-group{margin-bottom:14px}.form-label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.required-mark{color:var(--reserved-text)}.form-input,.form-select{width:100%;color:var(--text);background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:14px}.form-input:focus,.form-select:focus{background:#f0f9ff;border-color:#3b82f6;outline:none}.form-textarea{resize:vertical;background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;min-height:60px;padding:10px 12px;font-size:14px}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-row .form-group,.form-input{min-width:0}.amount-summary{background:var(--bg);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;padding:12px 8px;display:grid}.amount-summary>div{flex-direction:column;align-items:center;gap:2px;display:flex}.amount-label{color:var(--muted);letter-spacing:.4px;font-size:10px;font-weight:700}.amount-value{color:var(--text);font-size:15px;font-weight:800}.amount-paid{color:var(--vacant-text)}.amount-pending{color:var(--reserved-text)}.security-toggle{gap:8px;display:flex}.sec-btn{color:var(--sub);background:#fff;border:2px solid #e5e7eb;border-radius:10px;flex:1;padding:12px 0;font-size:14px;font-weight:700;transition:all .15s}.sec-btn:active{transform:scale(.98)}.sec-btn.active{border-color:var(--occupied);background:var(--occupied-bg);color:var(--occupied-text)}.quick-hint{color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600}.quick-row{gap:8px;margin-bottom:14px;display:flex}.clear-btn{background:var(--bg);color:var(--sub);border:1px solid #e5e7eb}.clear-btn:active{background:#e5e7eb}.quick-btn{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;flex:1;padding:10px 0;font-size:13px;font-weight:700}.quick-btn:active{background:#dbeafe}.btn-row{gap:10px;margin-top:6px;display:flex}.btn-save{color:#fff;background:#10b981;border-radius:10px;flex:1;padding:12px;font-weight:600}.btn-save:active{background:#059669}.cancel-btn{background:var(--bg);color:var(--sub);border-radius:10px;flex:1;padding:12px;font-weight:600}.btn-checkout{color:#92400e;background:#fffbeb;border:1.5px solid #fcd34d;border-radius:10px;width:100%;margin-bottom:14px;padding:12px;font-weight:700}.btn-checkout:active{background:#fef3c7}.sum-num-sm{padding-top:5px;font-size:15px}.stat-title{color:var(--sub);letter-spacing:.3px;margin:20px 0 10px;font-size:13px;font-weight:800}.stat-row{background:var(--card);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:10px 14px;font-size:13px;display:flex}.stat-label{width:64px;color:var(--sub);flex-shrink:0;font-size:12px;font-weight:600}.stat-bar-wrap{background:var(--bg);border-radius:6px;flex:1;height:14px;display:block;overflow:hidden}.stat-bar{background:var(--occupied);border-radius:6px;height:100%;display:block}.stat-bar-month{background:var(--vacant)}.stat-count{text-align:right;min-width:28px;font-weight:800}.stat-revenue{text-align:right;min-width:72px;color:var(--sub);font-size:12px}.search-row{align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.search-field{flex:1;min-width:0}.search-btn{color:#fff;background:#1a1a2e;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:700}.search-btn:active{background:#16213e}.search-btn:disabled{opacity:.5}.search-summary{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:700}.sale-amount{font-size:14px;font-weight:800}.charge-add{gap:8px;margin-bottom:8px;display:flex}.charge-add .form-input:first-child{flex:1;min-width:0}.charge-amt{text-align:right;flex-shrink:0;width:84px}.charge-btns{gap:8px;margin-bottom:12px;display:flex}.charge-btn{border:1.5px solid #0000;border-radius:10px;flex:1;padding:11px 0;font-size:13px;font-weight:700}.charge-btn:active{transform:scale(.98)}.charge-btn:disabled{opacity:.4}.charge-btn.paid{background:var(--vacant-bg);color:var(--vacant-text);border-color:#a7f3d0}.charge-btn.unpaid{background:var(--reserved-bg);color:var(--reserved-text);border-color:#fecaca}.charge-list{margin-bottom:14px}.charge-item{background:var(--bg);border-radius:10px;align-items:center;gap:10px;margin-bottom:6px;padding:9px 12px;font-size:13px;display:flex}.charge-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.charge-tag{color:var(--occupied-text);flex-shrink:0;font-size:12px;font-weight:700}.charge-del{width:22px;height:22px;color:var(--sub);background:#e5e7eb;border-radius:50%;flex-shrink:0;font-size:14px;font-weight:800;line-height:1}.payment-list{margin-bottom:10px}.payment-item{background:var(--bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;padding:9px 12px;font-size:12px;display:flex}.payment-method-tag{border-radius:8px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:800}.pm-cash{background:var(--vacant-bg);color:var(--vacant-text)}.pm-card,.pm-credit_card{background:var(--occupied-bg);color:var(--occupied-text)}.pm-debit_card{color:#155e75;background:#cffafe}.pm-gcash{color:#5b21b6;background:#ede9fe}.pm-bank_transfer{background:var(--dirty-bg);color:var(--dirty-text)}.pm-agoda_prepaid{color:#3730a3;background:#e0e7ff}.payment-amount{flex-shrink:0;font-weight:700}.payment-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-style:italic;overflow:hidden}.payment-time{color:var(--muted);flex-shrink:0;font-size:10px}.shift-summary-list{background:var(--bg);border-radius:10px;margin-bottom:14px;padding:10px 14px}.shift-summary-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:6px 0;font-size:13px;display:flex}.shift-summary-row:last-child{border-bottom:none}.shift-summary-amount{font-weight:700}.shift-summary-total{border-top:1.5px solid var(--text);margin-top:4px;padding-top:8px;font-size:14px;font-weight:800}.log-item{background:var(--card);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:14px;margin-bottom:8px;padding:14px 16px;display:flex}.log-room-num{min-width:38px;font-size:18px;font-weight:800}.log-body{flex:1}.log-change{align-items:center;gap:6px;margin-bottom:4px;display:flex}.log-arrow{color:var(--muted);font-size:14px}.log-meta{color:var(--muted);font-size:11px}.log-badge{border-radius:10px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.login{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-icon{margin-bottom:16px;font-size:48px}.login-logo{border-radius:26px;margin-bottom:16px;box-shadow:0 8px 30px #00000059}.login-title{color:#fff;text-align:center;margin-bottom:6px;font-size:26px;font-weight:800}.login-sub{color:#fff9;margin-bottom:24px;font-size:14px}.login-form{width:100%;max-width:340px}.login-label{color:#ffffffb3;margin-bottom:8px;font-size:12px;font-weight:600;display:block}.login-input{color:#fff;background:#ffffff1a;border:1px solid #fff3;border-radius:10px;width:100%;padding:12px 14px;font-size:15px}.login-input::placeholder{color:#ffffff59}.login-input:focus{border-color:#ffffff80;outline:none}.login-btn{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:10px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:all .15s}.login-btn:active{background:#ffffff40;transform:scale(.98)}.login-btn:disabled{opacity:.5}.error-msg{color:#fca5a5;text-align:center;min-height:16px;margin-bottom:12px;font-size:12px}.vacancy-count{margin:18px 0 8px;font-size:96px;font-weight:800;line-height:1}.vacancy-count--open{color:#4ade80;text-shadow:0 0 40px #4ade8059}.vacancy-count--full{color:#f87171;text-shadow:0 0 40px #f8717159}.vacancy-status{color:#fff;text-align:center;margin-bottom:8px;font-size:20px;font-weight:700}.vacancy-hint{color:#ffffff8c;text-align:center;max-width:280px;font-size:13px}.vacancy-loading{color:#fff9;text-align:center;margin:40px 0;font-size:15px;line-height:1.6}.vacancy-notice{color:#ffffff73;text-align:center;max-width:300px;margin-top:22px;font-size:12px;line-height:1.6}.vacancy-updated{bottom:max(20px, env(safe-area-inset-bottom));color:#fff6;font-size:12px;position:fixed}.toast{color:#fff;z-index:200;opacity:0;box-shadow:var(--shadow-lg);pointer-events:none;background:#1a1a2e;border-radius:12px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s;position:fixed;top:80px;left:50%;transform:translate(-50%)translateY(-20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.empty{text-align:center;color:var(--muted);padding:60px 20px}.empty-icon{opacity:.3;margin-bottom:12px;font-size:40px}.empty-text{font-size:14px}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:100vh;padding:32px 24px;display:flex}.error-icon{margin-bottom:6px;font-size:48px}.error-title{font-size:20px;font-weight:800}.error-sub{color:var(--sub);margin-bottom:16px;font-size:14px}.error-retry{color:#fff;background:#1a1a2e;border-radius:12px;width:100%;max-width:320px;padding:14px 0;font-size:15px;font-weight:700}.error-reload{width:100%;max-width:320px;color:var(--text);background:#fff;border:2px solid #e5e7eb;border-radius:12px;margin-top:4px;padding:14px 0;font-size:15px;font-weight:700}.alert-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:24px;animation:.25s alertFade;display:flex;position:fixed;inset:0}.alert-box{text-align:center;border:3px solid var(--dirty);width:100%;max-width:380px;box-shadow:var(--shadow-lg);background:#fff;border-radius:22px;padding:26px 22px;animation:.35s alertPop}.alert-overlay.reservation .alert-box{border-color:#3b82f6}.alert-icon{font-size:52px;line-height:1;animation:1s infinite alertRing;display:inline-block}.alert-title{letter-spacing:-.3px;margin:10px 0 14px;font-size:22px;font-weight:800}.alert-room{background:var(--dirty-bg);color:var(--dirty-text);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:14px 16px;font-size:20px;font-weight:800;display:flex}.alert-overlay.reservation .alert-room{background:var(--occupied-bg);color:var(--occupied-text)}.alert-time{color:var(--dirty-text);text-align:right;font-size:13px;font-weight:700}.alert-time.overdue{color:var(--reserved)}.alert-overlay.reservation .alert-time{color:var(--occupied-text)}.alert-dismiss{color:#fff;background:#1a1a2e;border-radius:14px;width:100%;margin-top:12px;padding:15px 0;font-size:16px;font-weight:700}.alert-dismiss:active{transform:scale(.98)}@keyframes alertFade{0%{opacity:0}to{opacity:1}}@keyframes alertPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes alertRing{0%,to{transform:rotate(0)}20%{transform:rotate(-18deg)}40%{transform:rotate(14deg)}60%{transform:rotate(-9deg)}80%{transform:rotate(5deg)}}.refresh-bar{color:var(--muted);justify-content:center;align-items:center;gap:6px;padding:8px;font-size:11px;display:flex}.pulse{background:var(--vacant);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.pulse.offline{background:var(--reserved);animation:none}@keyframes pulse{50%{opacity:.5}}.btn-reservations-folder{width:100%;color:var(--text);background:linear-gradient(135deg,#e0e7ff 0%,#f0f9ff 100%);border:2px solid #c7d2fe;border-radius:14px;align-items:center;gap:10px;margin-bottom:14px;padding:14px 16px;font-size:14px;font-weight:700;transition:all .15s;display:flex;position:relative}.btn-reservations-folder:active{background:linear-gradient(135deg,#c7d2fe 0%,#dbeafe 100%);transform:scale(.98)}.folder-icon{font-size:18px}.folder-text{text-align:left;flex:1}.badge{color:#fff;text-align:center;background:#ef4444;border-radius:12px;flex-shrink:0;min-width:20px;padding:3px 8px;font-size:11px;font-weight:800}.reservation-modal{max-height:85vh;overflow-y:auto}.btn-add-reservation{color:#fff;background:#3b82f6;border-radius:12px;width:100%;margin-bottom:12px;padding:12px 0;font-size:14px;font-weight:700;transition:all .15s}.btn-add-reservation:active{background:#2563eb;transform:scale(.98)}.reservation-form-modal{border-bottom:1px solid #e5e7eb;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;padding-bottom:14px;display:grid}.reservation-form-modal input{color:var(--text);background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;font-size:13px}.reservation-form-modal input:focus{background:#f0f9ff;border-color:#3b82f6;outline:none}.reservation-form-modal .notes-input-full{grid-column:1/-1}.reservation-form-modal .form-label{grid-column:1/-1;margin-bottom:-4px}.time-picker-row{grid-column:1/-1;align-items:center;gap:6px;display:flex}.time-picker-row input[type=date]{color:var(--text);background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex:1.4;padding:10px 8px;font-size:13px}.time-picker-row select{color:var(--text);background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex:.7;padding:10px 4px;font-size:13px}.btn-confirm-time{background:var(--occupied);color:#fff;white-space:nowrap;border-radius:10px;flex:none;padding:10px 14px;font-size:12px;font-weight:700}.btn-confirm-time:disabled{opacity:.4}.confirmed-time{color:var(--occupied);grid-column:1/-1;margin-top:-4px;font-size:12px;font-weight:700}.form-button-group{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.form-button-group .btn-save,.form-button-group .cancel-btn{padding:10px 0}.reservation-empty{text-align:center;color:var(--muted);padding:30px 20px;font-size:13px}.reservation-list-section{margin-bottom:14px}.reservation-items{flex-direction:column;gap:8px;display:flex}.reservation-item-modal{background:var(--bg);border-left:4px solid #3b82f6;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.reservation-item-modal.urgent{border-left-color:var(--dirty);background:var(--dirty-bg)}.reservation-item-modal.assigned{border-left-color:var(--occupied)}.reservation-info{flex:1;min-width:0}.reservation-guest{color:var(--text);font-size:13px;font-weight:700}.reservation-times{color:var(--sub);margin-top:2px;font-size:11px}.reservation-notes{color:var(--muted);margin-top:4px;font-size:10px;font-style:italic}.reservation-room{color:var(--occupied);margin-top:4px;font-size:10px;font-weight:700}.reservation-btn-group{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.btn-assign{color:#fff;background:#3b82f6;border-radius:8px;flex-shrink:0;padding:8px 12px;font-size:12px;font-weight:700;transition:all .15s}.btn-assign:active{background:#2563eb;transform:scale(.96)}.btn-unassign{background:var(--dirty);color:#fff;white-space:nowrap;border-radius:8px;flex-shrink:0;padding:8px 12px;font-size:11px;font-weight:700;transition:all .15s}.btn-unassign:active{background:#d97706;transform:scale(.96)}.btn-delete-sm{color:#fff;white-space:nowrap;background:#ef4444;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700;transition:all .15s}.btn-delete-sm:active{background:#dc2626;transform:scale(.96)}.room-selector-inline{flex-shrink:0;align-items:center;gap:6px;display:flex}.room-selector-inline select{color:var(--text);background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:6px 8px;font-size:12px}.btn-assign-confirm{color:#fff;background:#10b981;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;transition:all .15s}.btn-assign-confirm:active{background:#059669;transform:scale(.96)}.btn-assign-cancel{background:var(--muted);color:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;transition:all .15s}.btn-assign-cancel:active{background:#6b7280;transform:scale(.96)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
