@import "https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-base:#0a0c14;--bg-surface:#111827;--bg-card:#1a2236;--bg-hover:#1f2d45;--bg-input:#0f1929;--border:#ffffff12;--border-light:#ffffff1f;--indigo:#6366f1;--indigo-dim:#6366f126;--cyan:#06b6d4;--cyan-dim:#06b6d426;--amber:#f59e0b;--amber-dim:#f59e0b26;--emerald:#10b981;--emerald-dim:#10b98126;--rose:#f43f5e;--rose-dim:#f43f5e26;--violet:#8b5cf6;--violet-dim:#8b5cf626;--naver:#03c75a;--airbnb:#ff5a5f;--lotte:#e50000;--gmarket:#f60;--direct:#8b5cf6;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#4b5563;--text-accent:#a5b4fc;--status-confirmed:#10b981;--status-pending:#f59e0b;--status-cancelled:#f43f5e;--status-completed:#6366f1;--status-no_show:#6b7280;--shadow-sm:0 2px 8px #0006;--shadow-md:0 8px 24px #00000080;--shadow-lg:0 16px 48px #0009;--glow-indigo:0 0 20px #6366f14d;--sidebar-w:230px;--header-h:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--ease:cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:14px}body{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Noto Sans KR,Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}button,.btn,.nav-item,.badge,.status-badge,.header-title,.card-title,.modal-title,.form-label{word-break:keep-all}.btn,.nav-item,.badge,.status-badge{white-space:nowrap}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}#app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--bg-surface);border-right:1px solid var(--border);z-index:100;height:100vh;transition:transform .3s var(--ease);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-backdrop{display:none}.sidebar-logo{border-bottom:1px solid var(--border);padding:20px 20px 16px}.sidebar-logo .logo-icon{background:linear-gradient(135deg, var(--indigo), var(--cyan));width:36px;height:36px;box-shadow:var(--glow-indigo);border-radius:10px;justify-content:center;align-items:center;margin-bottom:10px;font-size:18px;display:flex}.sidebar-logo .logo-title{color:var(--text-primary);letter-spacing:.5px;font-size:13px;font-weight:700}.sidebar-logo .logo-sub{color:var(--text-muted);margin-top:2px;font-size:11px}.sidebar-nav{flex:1;padding:12px 10px;overflow-y:auto}.nav-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:12px 10px 6px;font-size:10px;font-weight:600}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all .18s var(--ease);cursor:pointer;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--indigo-dim);color:var(--indigo)}.nav-item.active:before{content:"";background:var(--indigo);border-radius:2px;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-item .nav-icon{text-align:center;width:20px;font-size:16px}.nav-badge{background:var(--rose);color:#fff;text-align:center;border-radius:10px;min-width:18px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}.sidebar-footer{border-top:1px solid var(--border);padding:12px 10px}.main-content{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.top-header{height:var(--header-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:50;background:#111827cc;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.header-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:700;overflow:hidden}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head-main{flex:280px;min-width:0}.page-title{color:var(--text-primary);font-size:18px;font-weight:700;line-height:1.3}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.5}.page-head-actions{flex-wrap:wrap;flex:260px;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.page-head-actions>*{flex-shrink:0}.page-action-group,.page-control-row,.page-control-group{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.page-control-row{justify-content:space-between;align-items:flex-end}.page-control-group{align-items:flex-end}.segmented-control{border:1px solid var(--border);background:var(--bg-surface);border-radius:10px;display:inline-flex;overflow:hidden}.segmented-control .btn-mode{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:7px 12px;font-size:12px;font-weight:600}.segmented-control .btn-mode.active{background:var(--indigo);color:#fff}.page-content{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;min-width:0;animation:fadeIn .25s var(--ease);flex:1;padding:24px;overflow:auto visible}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;transition:border-color .2s var(--ease);padding:20px}.card:hover{border-color:var(--border-light)}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-title{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.4}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s var(--ease);padding:20px;position:relative;overflow:hidden}.kpi-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card:before{content:"";height:2px;position:absolute;top:0;left:0;right:0}.kpi-card.indigo:before{background:linear-gradient(90deg, var(--indigo), var(--cyan))}.kpi-card.cyan:before{background:linear-gradient(90deg, var(--cyan), var(--emerald))}.kpi-card.amber:before{background:linear-gradient(90deg, var(--amber), var(--rose))}.kpi-card.emerald:before{background:linear-gradient(90deg, var(--emerald), var(--cyan))}.kpi-icon{margin-bottom:12px;font-size:22px}.kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:11px;font-weight:500}.kpi-value{color:var(--text-primary);font-family:Inter,sans-serif;font-size:26px;font-weight:700;line-height:1}.kpi-sub{color:var(--text-secondary);margin-top:6px;font-size:11px}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-gutter:stable both-edges;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;max-width:100%;overflow:auto hidden}table{border-collapse:collapse;width:max-content;min-width:100%}thead tr{background:var(--bg-surface)}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;white-space:nowrap;border-bottom:1px solid var(--border);padding:11px 14px;font-size:11px;font-weight:600}td{color:var(--text-secondary);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px;font-size:13px}tr:last-child td{border-bottom:none}tbody tr{transition:background .15s var(--ease)}tbody tr:hover{background:var(--bg-hover)}.td-primary{color:var(--text-primary);font-weight:500}.badge{white-space:nowrap;border-radius:99px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-naver{color:var(--naver);background:#03c75a26}.badge-airbnb{color:var(--airbnb);background:#ff5a5f26}.badge-lotte{color:#f44;background:#e5000026}.badge-gmarket{color:var(--gmarket);background:#ff660026}.badge-direct{background:var(--violet-dim);color:var(--violet)}.status-badge{border-radius:99px;padding:3px 9px;font-size:11px;font-weight:600}.status-confirmed{color:var(--status-confirmed);background:#10b98126}.status-pending{color:var(--status-pending);background:#f59e0b26}.status-cancelled{color:var(--status-cancelled);background:#f43f5e26}.status-completed{color:var(--status-completed);background:#6366f126}.status-no_show{color:var(--status-no_show);background:#6b728026}.trial-badge-미방문{color:var(--amber);background:#f59e0b26}.trial-badge-방문완료{color:var(--cyan);background:#06b6d426}.trial-badge-리뷰완료{color:var(--emerald);background:#10b98126}.trial-badge-취소{color:var(--rose);background:#f43f5e26}.btn{border-radius:var(--radius-sm);transition:all .18s var(--ease);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;line-height:1.25;display:inline-flex}.btn-primary{background:var(--indigo);color:#fff}.btn-primary:hover{box-shadow:var(--glow-indigo);background:#7c7ff5}.btn-secondary{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{color:var(--text-primary);border-color:var(--border-light)}.btn-danger{background:var(--rose-dim);color:var(--rose);border:1px solid #f43f5e33}.btn-danger:hover{background:#f43f5e40}.btn-sm{padding:5px 10px;font-size:12px}.btn-icon{padding:7px 9px}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);transition:border-color .18s var(--ease);outline:none;padding:9px 12px;font-size:13px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px #6366f126}.form-textarea{resize:vertical;min-height:80px}.form-select option{background:var(--bg-card)}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;animation:fadeIn .2s var(--ease);background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overscroll-behavior:contain;width:100%;min-width:0;max-width:560px;max-height:90vh;box-shadow:var(--shadow-lg);animation:slideUp .25s var(--ease);overflow:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{color:var(--text-primary);font-size:15px;font-weight:700}.modal-close{background:var(--bg-hover);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all .15s var(--ease);border:none;border-radius:6px;justify-content:center;align-items:center;font-size:16px;display:flex}.modal-close:hover{color:var(--text-primary);background:var(--border-light)}.modal-body{min-width:0;padding:20px 24px;overflow-x:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.calendar-grid-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;padding-bottom:4px;overflow:auto hidden}.calendar-grid{background:var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(7,1fr);gap:1px;min-width:720px;display:grid;overflow:hidden}.cal-header-cell{background:var(--bg-surface);text-align:center;color:var(--text-muted);text-transform:uppercase;padding:9px 4px;font-size:11px;font-weight:600}.cal-cell{background:var(--bg-card);min-height:148px;transition:background .15s var(--ease);cursor:pointer;padding:6px}.cal-cell:hover{background:var(--bg-hover)}.cal-cell.today{background:#6366f114}.cal-cell.other-month{background:#0a0c1499}.cal-date{color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-bottom:4px;font-size:12px;font-weight:600;display:inline-flex}.cal-cell.today .cal-date{background:var(--indigo);color:#fff}.cal-event{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;margin-bottom:2px;padding:2px 6px;font-size:10px;font-weight:500;overflow:hidden}.cal-event-reservation{background:var(--indigo-dim);color:var(--text-accent)}.cal-event-duty{background:var(--amber-dim);color:var(--amber)}.cal-event-surf{background:var(--cyan-dim);color:var(--cyan)}.cal-event-pub{background:var(--amber-dim);color:var(--amber)}.cal-day-summary{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.cal-summary-chip{letter-spacing:-.01em;border-radius:999px;align-items:center;padding:2px 7px;font-size:9px;font-weight:700;display:inline-flex}.cal-summary-chip.is-duty{color:var(--violet);background:#8b5cf62e}.cal-summary-chip.is-reservation{background:var(--indigo-dim);color:var(--text-accent)}.cal-summary-chip.is-checkout{color:var(--rose);background:#f43f5e29}.cal-day-group+.cal-day-group{margin-top:7px}.cal-day-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:9px}.cal-duty-entry{min-width:0;color:var(--text-primary);background:#8b5cf624;border-radius:6px;align-items:center;gap:6px;margin-bottom:3px;padding:3px 6px;display:flex}.cal-duty-dot{border-radius:999px;flex-shrink:0;width:7px;height:7px}.cal-duty-name{white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.cal-more-indicator{color:var(--text-muted);margin-top:2px;font-size:10px}.stat-bar-wrap{flex-direction:column;gap:10px;display:flex}.stat-bar-row{align-items:center;gap:10px;display:flex}.stat-bar-label{color:var(--text-secondary);flex-shrink:0;width:90px;font-size:12px}.stat-bar-track{background:var(--bg-input);border-radius:4px;flex:1;height:8px;overflow:hidden}.stat-bar-fill{height:100%;transition:width .6s var(--ease);border-radius:4px}.stat-bar-value{color:var(--text-primary);text-align:right;width:40px;font-size:12px;font-weight:600}.room-availability-summary{background:linear-gradient(135deg,#10b98129,#06b6d414);border:1px solid #10b9812e;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:16px;display:flex}.room-availability-summary.is-full{background:linear-gradient(135deg,#f59e0b29,#6366f114);border-color:#f59e0b38}.room-availability-summary.is-danger{background:linear-gradient(135deg,#f43f5e2e,#f59e0b14);border-color:#f43f5e3d}.room-availability-label{color:var(--text-secondary);letter-spacing:.04em;font-size:11px;font-weight:700}.room-availability-total{color:var(--text-primary);margin-top:5px;font-size:32px;font-weight:800;line-height:1}.room-availability-total span{color:var(--text-secondary);font-size:15px;font-weight:600}.room-availability-note{color:var(--text-secondary);white-space:nowrap;font-size:12px}.room-availability-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.room-availability-item{border:1px solid var(--border);background:#ffffff06;border-radius:14px;padding:14px}.room-availability-item.is-full{background:#f59e0b0d;border-color:#f59e0b29}.room-availability-item-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.room-name{font-size:14px;font-weight:800;line-height:1.3}.room-meta{color:var(--text-muted);margin-top:4px;font-size:11px}.room-left{color:var(--text-primary);text-align:right;white-space:nowrap;font-size:26px;font-weight:800;line-height:1}.room-left span{color:var(--text-muted);margin-left:2px;font-size:11px;font-weight:700}.room-progress{background:var(--bg-input);border-radius:99px;height:8px;overflow:hidden}.room-progress-fill{border-radius:inherit;height:100%;transition:width .45s var(--ease)}.room-progress-caption{color:var(--text-muted);justify-content:space-between;gap:8px;margin-top:8px;font-size:11px;display:flex}.room-availability-warning{background:var(--amber-dim);color:var(--amber);border-radius:10px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.5}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-select{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:border-color .15s var(--ease);outline:none;padding:7px 12px;font-size:12.5px}.filter-select:focus{border-color:var(--indigo)}.search-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color .15s var(--ease);outline:none;min-width:200px;padding:7px 12px;font-size:12.5px}.search-input:focus{border-color:var(--indigo)}.search-input::placeholder{color:var(--text-muted)}.reservation-shell{flex-direction:column;gap:16px;display:flex}.reservation-toolbar{background:radial-gradient(circle at 100% 0,#6366f129,#0000 32%),linear-gradient(#1a2236fa,#111827fa)}.reservation-toolbar-head{gap:16px;margin-bottom:18px}.reservation-page-title{font-size:20px}.reservation-page-subtitle{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.45}.reservation-header-actions{flex-wrap:wrap;justify-content:flex-end}.reservation-filter-grid{grid-template-columns:minmax(220px,1.6fr) repeat(6,minmax(120px,1fr));gap:12px;display:grid}.reservation-filter-group{flex-direction:column;gap:6px;min-width:0;display:flex}.reservation-filter-label{color:var(--text-secondary);letter-spacing:.02em;font-size:11px;font-weight:600}.reservation-filter-group .search-input,.reservation-filter-group .filter-select{width:100%;min-width:0}.reservation-filter-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.reservation-filter-hint{color:var(--text-muted);font-size:12px}.reservation-filter-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.reservation-filter-subhint{color:var(--indigo);font-size:11px;font-weight:600}.reservation-table-wrap{display:block}.reservation-mobile-list{display:none}.reservation-request-cell{min-width:180px;max-width:240px}.reservation-request-chip{background:#06b6d414;border:1px solid #06b6d429;border-radius:10px;flex-direction:column;gap:4px;min-width:0;padding:8px 10px;display:flex}.reservation-request-chip-label{color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.reservation-request-chip-text{color:var(--text-secondary);white-space:normal;word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.reservation-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px}.reservation-card+.reservation-card{margin-top:12px}.reservation-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reservation-card-head-main{flex:1;min-width:0}.reservation-card-business{font-size:15px;font-weight:700;line-height:1.3}.reservation-card-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.reservation-card-amount{color:var(--text-primary);white-space:nowrap;font-family:Inter,sans-serif;font-size:16px;font-weight:700}.reservation-card-name{color:var(--text-primary);margin-top:14px;font-size:16px;font-weight:700}.reservation-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;margin-top:14px;display:grid}.reservation-card-field{flex-direction:column;gap:4px;min-width:0;display:flex}.reservation-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.reservation-card-value{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.reservation-card-value.is-primary{color:var(--text-primary);font-weight:600}.reservation-card-request{background:#06b6d414;border:1px solid #06b6d429;border-radius:12px;margin-top:12px;padding:12px}.reservation-card-request-label{color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.reservation-card-request-text{color:var(--text-primary);word-break:break-word;margin-top:6px;font-size:12px;line-height:1.55}.calendar-reservation-request{background:#06b6d414;border:1px solid #06b6d429;border-radius:10px;margin-top:10px;padding:10px 12px}.calendar-reservation-request-label{color:var(--cyan);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.calendar-reservation-request-text{color:var(--text-primary);word-break:break-word;margin-top:5px;font-size:12px;line-height:1.55}.reservation-card-actions{gap:8px;margin-top:14px;display:flex}.reservation-card-actions .btn{flex:1;justify-content:center;min-height:42px}.reservation-pagination{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;font-size:12px;display:flex}.reservation-pagination-actions{align-items:center;gap:8px;display:flex}.staff-card{align-items:center;gap:14px;margin-bottom:10px;padding:16px;display:flex}.staff-card-main{flex:1;min-width:0}.staff-card-period{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.5}.staff-card-actions{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.staff-week-desktop{display:block}.staff-week-mobile{display:none}.staff-week-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:14px}.staff-week-card+.staff-week-card{margin-top:10px}.staff-week-row{justify-content:space-between;align-items:flex-start;gap:12px;font-size:12px;display:flex}.staff-week-row+.staff-week-row{margin-top:8px}.staff-week-label{color:var(--text-muted);flex-shrink:0}.staff-week-value{color:var(--text-primary);text-align:right;min-width:0}.staff-week-actions{margin-top:12px;display:flex}.staff-week-actions .btn{width:100%}.trial-card{margin-bottom:16px}.trial-card-body{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.trial-card-main{flex:320px;min-width:0}.trial-chip-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.trial-card-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.analytics-year-nav{align-items:center;gap:8px;display:flex}.analytics-export-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-page-head{align-items:center}.calendar-nav-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.calendar-month-label{text-align:center;min-width:100px;font-size:14px;font-weight:700}.calendar-legend{flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.flex{display:flex}.flex-1{flex:1}.gap-4{gap:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.text-muted{color:var(--text-muted)}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-bold{font-weight:700}.w-full{width:100%}.grid-2>*,.grid-3>*,.page-action-group,.page-control-row,.page-control-group,.calendar-nav-group,.analytics-export-actions,.reservation-shell,.reservation-toolbar-head,.reservation-filter-footer{min-width:0}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-hover) 50%, var(--bg-card) 75%);background-size:200% 100%;border-radius:4px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon{margin-bottom:16px;font-size:48px}.empty-state-text{font-size:14px}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);box-shadow:var(--shadow-md);animation:slideUp .3s var(--ease);align-items:center;gap:8px;max-width:320px;padding:12px 16px;font-size:13px;display:flex}.toast.success{border-left:3px solid var(--emerald)}.toast.error{border-left:3px solid var(--rose)}.toast.info{border-left:3px solid var(--indigo)}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);white-space:nowrap;pointer-events:none;z-index:1000;border-radius:4px;padding:4px 8px;font-size:11px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}@media (width<=1100px){.grid-2{grid-template-columns:1fr}.reservation-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-filter-search{grid-column:1/-1}}@media (width<=768px){:root{--sidebar-w:0px}.sidebar{width:min(82vw,300px);box-shadow:var(--shadow-lg);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{opacity:0;pointer-events:none;transition:opacity .2s var(--ease);z-index:90;background:#0a0c14ad;display:block;position:fixed;inset:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.main-content{margin-left:0}.grid-2,.grid-3{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.page-content{padding:16px}.top-header{height:auto;min-height:var(--header-h);flex-wrap:wrap;align-items:flex-start;padding:12px 16px}.header-title{flex:calc(100% - 56px);order:1;font-size:15px}.header-actions{order:2;justify-content:space-between;gap:8px;width:100%}#mask-toggle-btn,#push-toggle-btn{flex:100%;min-height:40px;padding:8px 12px!important}#today-info{text-align:right;width:100%}.page-head{margin-bottom:16px}.page-title{font-size:17px}.page-head-actions,.page-action-group,.page-control-row,.page-control-group{width:100%}.page-head-actions,.page-control-row{flex-direction:column;align-items:stretch}.page-action-group,.page-control-group{justify-content:stretch}.page-head-actions>*,.page-action-group>*,.page-control-group>*{flex:100%;min-width:0}.page-head-actions>.btn,.page-action-group .btn,.page-control-group .btn,.analytics-export-actions .btn{width:100%;min-height:42px}.analytics-year-nav{justify-content:space-between;width:100%}.analytics-export-actions{width:100%}.analytics-export-actions .btn{flex:1 1 0}.modal-overlay{align-items:flex-end;padding:12px}.modal{border-radius:18px 18px 0 0;max-width:none;max-height:min(90vh,760px)}.modal-header,.modal-body,.modal-footer{padding-left:16px;padding-right:16px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{justify-content:center;width:100%;min-height:44px}.toast-container{bottom:12px;left:12px;right:12px}.toast{max-width:none}.reservation-toolbar{padding:16px}.room-inventory-row{grid-template-columns:1fr!important}.reservation-toolbar-head{flex-direction:column;align-items:stretch;margin-bottom:14px}.reservation-header-actions{width:100%}.reservation-header-actions .btn{flex:1 1 0;justify-content:center;min-height:42px}.reservation-filter-grid{grid-template-columns:1fr 1fr;gap:10px}.reservation-filter-search{grid-column:1/-1}.reservation-filter-footer{flex-direction:column;align-items:stretch}.reservation-filter-footer .btn{justify-content:center;width:100%;min-height:40px}.reservation-table-wrap{display:none}.reservation-mobile-list{display:block}.reservation-card{padding:14px}.reservation-card-grid{grid-template-columns:1fr 1fr}.reservation-pagination{align-items:stretch}.reservation-pagination-summary,.reservation-pagination-actions{width:100%}.reservation-pagination-actions .btn{flex:1;justify-content:center;min-height:42px}.staff-card{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.staff-card-actions{width:100%}.staff-card-actions .btn{flex:1 1 0}.staff-week-desktop{display:none}.staff-week-mobile{display:block}.trial-card-actions{align-items:stretch;width:100%}.trial-card-actions .btn{width:100%}.calendar-page-head{align-items:stretch}.calendar-nav-group{justify-content:space-between;width:100%}.calendar-nav-group .btn{flex:1 1 0}.calendar-month-label{flex:100%;order:-1;min-width:0}.calendar-legend{gap:8px 10px;width:100%}.cal-cell{min-height:132px;padding:5px}.cal-summary-chip{padding:2px 6px;font-size:8px}.cal-duty-name,.cal-event,.cal-more-indicator{font-size:9px}}@media (width<=560px){.kpi-grid{grid-template-columns:1fr}.page-content{padding:14px}.top-header{padding:12px}.page-head-actions>.btn,.page-action-group .btn,.page-control-group .btn,.analytics-export-actions .btn{flex:100%}.analytics-export-actions{flex-direction:column}.cal-cell{min-height:120px}.room-availability-summary{flex-direction:column;align-items:flex-start}.room-availability-note{white-space:normal}.room-availability-grid{grid-template-columns:1fr}.reservation-page-title{font-size:18px}.reservation-filter-grid,.reservation-card-grid{grid-template-columns:1fr}.reservation-card-head{flex-direction:column}.reservation-card-amount{font-size:17px}.reservation-card-actions{flex-direction:column}}
