@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:#cbd5e1;--text-muted:#94a3b8;--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:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.header-toggle-btn{border:1px solid var(--border-light);cursor:pointer;white-space:nowrap;min-height:34px;transition:all .2s var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.header-toggle-push{color:var(--emerald);background:#10b9811f;border-color:#10b9813d}.header-toggle-mask{color:var(--indigo);background:#6366f11f;border-color:#6366f140}.header-toggle-btn:hover{border-color:currentColor;transform:translateY(-1px)}.header-toggle-icon{font-size:14px;line-height:1}.header-toggle-label{font-size:12px;line-height:1}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.page-head-main{display:none}.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:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.page-head-actions>*{flex-shrink:0}.page-intro{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-intro h1{color:var(--text-primary);letter-spacing:-.03em;margin-top:4px;font-size:22px;font-weight:800;line-height:1.2}.page-intro p{color:var(--text-muted);margin-top:5px;font-size:12px;line-height:1.5}.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-card.rose:before{background:linear-gradient(90deg, var(--rose), var(--amber))}.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}.dashboard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.trial-overview-grid.dashboard-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-summary-card .card-header{margin-bottom:14px}.dashboard-summary-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);align-items:stretch;gap:16px;display:grid}.dashboard-summary-layout .dashboard-kpi-grid{margin-bottom:0}.dashboard-operation-card{min-width:0;min-height:178px;color:inherit;flex-direction:column;text-decoration:none;display:flex}.dashboard-operation-card .kpi-sub{margin-bottom:10px}.dashboard-operation-card.is-clickable{cursor:pointer}.dashboard-operation-card.is-clickable:hover{border-color:#6366f170;transform:translateY(-1px)}.dashboard-kpi-details{border-top:1px solid var(--border);flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;margin-top:0;padding-top:10px;display:flex}.dashboard-stay-chip{min-width:0;max-width:100%;color:var(--text-secondary);white-space:nowrap;background:#0f172a85;border:1px solid #94a3b82e;border-radius:999px;align-items:center;gap:5px;padding:4px 7px 4px 4px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.dashboard-stay-chip-plain{white-space:normal;border-radius:10px;align-items:flex-start;padding:5px 7px;line-height:1.25}.dashboard-stay-chip-plain .dashboard-stay-room,.dashboard-stay-chip-plain .dashboard-stay-name{text-overflow:clip;white-space:normal;max-width:none;overflow:visible}.dashboard-experience-chip{width:100%}.dashboard-party-chip{padding-left:8px;padding-right:8px}.dashboard-kiosk-status-dot{border-radius:50%;flex:none;align-self:center;width:.7em;height:.7em;display:inline-block;box-shadow:0 0 0 2px #0f172a73}.dashboard-kiosk-status-dot.is-done{background:var(--emerald)}.dashboard-kiosk-status-dot.is-pending{background:#facc15}.dashboard-stay-badge{width:18px;height:18px;color:var(--cyan);background:#6366f12e;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:900;display:inline-flex}.dashboard-stay-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-stay-room{min-width:0;max-width:92px;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-kpi-empty{border-top:1px solid var(--border);color:var(--text-muted);margin-top:0;padding-top:10px;font-size:11px;font-weight:700}.dashboard-duty-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff06;min-width:0;padding:14px}.dashboard-duty-head{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:11px;font-weight:800;display:flex}.dashboard-duty-head span:first-child{color:var(--text-secondary);letter-spacing:.04em}.dashboard-duty-item{border-bottom:1px solid var(--border);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.dashboard-duty-item:last-child{border-bottom:0;padding-bottom:0}.dashboard-duty-avatar{background:linear-gradient(135deg, var(--indigo), var(--cyan));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:flex}.dashboard-duty-copy{gap:2px;min-width:0;display:grid}.dashboard-duty-copy strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.dashboard-duty-copy span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.dashboard-duty-item em{background:var(--amber-dim);color:var(--amber);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:800}.dashboard-duty-empty{color:var(--text-muted);text-align:center;padding:24px 10px;font-size:12px}.dashboard-focus-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;gap:16px;display:grid}.ops-snapshot-card{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f11a,#06b6d40f);padding:14px}.ops-snapshot-card.is-warn{background:linear-gradient(135deg,#f59e0b1f,#f43f5e0f);border-color:#f59e0b47}.ops-snapshot-main{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.ops-snapshot-title{color:var(--text-primary);font-size:14px;font-weight:800}.ops-snapshot-sub{color:var(--text-muted);margin-top:3px;font-size:11px}.ops-snapshot-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ops-snapshot-items>div{background:#0f172a2e;border:1px solid #ffffff14;border-radius:12px;min-width:0;padding:10px}.ops-snapshot-items span,.ops-snapshot-items small{color:var(--text-muted);font-size:10px;line-height:1.3;display:block}.ops-snapshot-items strong{color:var(--text-primary);margin-top:4px;font-size:16px;line-height:1.1;display:block}.action-queue-card{background:radial-gradient(circle at 100% 0,#6366f138,#0000 32%),linear-gradient(145deg,#1a2236fa,#0f172af5);border:1px solid #6366f13d;border-radius:18px;padding:16px;box-shadow:inset 0 1px #ffffff0d}.action-queue-card.is-clear{background:radial-gradient(circle at 100% 0,#10b98129,#0000 32%),linear-gradient(145deg,#1a2236fa,#0f172af5);border-color:#10b9813d}.action-queue-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.action-queue-head h2{color:var(--text-primary);letter-spacing:-.02em;margin-top:4px;font-size:17px;font-weight:800}.action-queue-head p{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.45}.action-queue-count{background:var(--indigo-dim);min-width:34px;height:34px;color:var(--text-accent);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-family:Inter,sans-serif;font-weight:900;display:inline-flex}.action-queue-list{gap:8px;display:grid}.action-queue-item{transition:border-color .18s var(--ease), transform .18s var(--ease), background .18s var(--ease);background:#0f172a6b;border:1px solid #ffffff14;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.action-queue-item:hover{border-color:var(--border-light);background:#1f2d45b8;transform:translateY(-1px)}.action-queue-icon{background:#ffffff0f;border-radius:12px;justify-content:center;align-items:center;width:34px;height:34px;font-size:17px;display:inline-flex}.action-queue-copy{min-width:0}.action-queue-copy strong,.action-queue-copy small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.action-queue-copy strong{color:var(--text-primary);font-size:13px}.action-queue-copy small{color:var(--text-muted);margin-top:3px;font-size:11px}.action-queue-cta{color:var(--text-accent);white-space:nowrap;font-size:11px;font-weight:800}.action-queue-item.is-danger .action-queue-icon{background:#f43f5e24}.action-queue-item.is-warn .action-queue-icon{background:#f59e0b24}.action-queue-item.is-info .action-queue-icon{background:#06b6d424}.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}.surf-ocean-grid{grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.surf-ocean-card{background:radial-gradient(circle at 100% 0,#38bdf833,#0000 38%),linear-gradient(145deg,#1e293beb,#0f172aeb);border:1px solid #7dd3fc47;border-radius:14px;min-width:0;padding:13px;box-shadow:inset 0 1px #ffffff0d}.surf-ocean-label{color:#bae6fd;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.surf-ocean-card strong{color:var(--text-primary);margin-top:7px;font-size:20px;line-height:1.1;display:block}.surf-ocean-card small{color:#cbd5e1;text-overflow:ellipsis;min-height:28px;margin-top:6px;font-size:10.5px;line-height:1.35;display:block;overflow:hidden}.surf-ocean-pairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.surf-ocean-pairs div{background:#0f172a6b;border-radius:10px;min-width:0;padding:8px}.surf-ocean-pairs span{color:#bae6fd;white-space:nowrap;font-size:10px;font-weight:700;display:block}.surf-ocean-pairs strong{white-space:nowrap;word-break:keep-all;margin-top:4px;font-size:15px}.surf-tide-lines{gap:3px;margin-top:7px;display:grid}.surf-tide-lines span{color:#e2e8f0;white-space:nowrap;font-size:10.5px;line-height:1.25}.surf-ocean-card-tide small{min-height:0;text-overflow:initial;overflow:visible}.surf-tide-chart{background:#0f172a6b;border:1px solid #7dd3fc2e;border-radius:11px;margin-top:8px;padding:6px 7px 16px;position:relative}.surf-tide-chart svg{width:100%;height:54px;display:block;overflow:visible}.surf-tide-chart-fill{fill:#38bdf824}.surf-tide-chart-line{fill:none;stroke:#7dd3fc;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.surf-tide-chart-high{fill:#fbbf24;stroke:#0f172ad9;stroke-width:1.5px}.surf-tide-chart-low{fill:#38bdf8;stroke:#0f172ad9;stroke-width:1.5px}.surf-tide-chart-axis{color:#bae6fd;height:12px;margin:1px 8px 0;font-size:9.5px;line-height:1.2;position:relative}.surf-tide-chart-axis span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.surf-tide-chart-range{color:#e2e8f0;font-size:9.5px;line-height:1;position:absolute;bottom:4px;right:8px}.surf-experience-panel{margin-bottom:14px}.surf-experience-title{justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:9px;display:flex}.surf-experience-title strong{color:var(--text-primary);font-size:14px}.surf-experience-title span{color:#cbd5e1;font-size:11px}.surf-experience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.surf-experience-card{background:radial-gradient(circle at 100% 0,#0ea5e929,#0000 34%),linear-gradient(145deg,#0f172af0,#1e293be0);border:1px solid #94a3b838;border-radius:14px;min-width:0;padding:13px;box-shadow:inset 0 1px #ffffff0d}.surf-experience-snorkel{background:radial-gradient(circle at 100% 0,#2dd4bf2e,#0000 36%),linear-gradient(145deg,#0f172af0,#134e4a5c);border-color:#14b8a64d}.surf-experience-freedive{background:radial-gradient(circle at 100% 0,#818cf82e,#0000 36%),linear-gradient(145deg,#0f172af0,#312e8152);border-color:#818cf84d}.surf-experience-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.surf-experience-head strong{color:var(--text-primary);font-size:14px}.surf-experience-metrics{grid-template-columns:1fr 1fr;gap:5px 8px;margin-top:10px;display:grid}.surf-experience-metrics span{color:#e2e8f0;white-space:nowrap;min-width:0;font-size:10.5px;line-height:1.25}.surf-experience-copy{color:#cbd5e1;margin-top:9px;font-size:11px;line-height:1.45}.surf-timeline{margin-bottom:14px;padding:14px}.surf-timeline-head{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.surf-timeline-head strong{color:var(--text-primary);font-size:14px;display:block}.surf-timeline-head span{color:var(--text-secondary);margin-top:4px;font-size:11px;display:block}.surf-timeline-scroll{-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(158px,1fr);grid-auto-flow:column;gap:9px;padding-bottom:4px;display:grid;overflow-x:auto}.surf-time-cell{background:#0f172ad6;border:1px solid #94a3b838;border-radius:13px;min-width:0;padding:11px}.surf-time-가능{background:linear-gradient(145deg,#10b9811a,#ffffff08);border-color:#10b98133}.surf-time-주의{background:linear-gradient(145deg,#f59e0b1c,#ffffff08);border-color:#f59e0b3d}.surf-time-불가{background:linear-gradient(145deg,#f43f5e1a,#ffffff08);border-color:#f43f5e38}.surf-time-확인필요{border-color:#6b72803d}.surf-time-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.surf-time-top strong{color:var(--text-primary);font-size:15px}.surf-time-metrics{grid-template-columns:1fr 1fr;gap:5px 8px;margin-top:10px;display:grid}.surf-time-metrics span{color:#e2e8f0;white-space:nowrap;min-width:0;font-size:10.5px;line-height:1.25}.surf-time-reason{color:#cbd5e1;white-space:normal;margin-top:9px;font-size:10.5px;line-height:1.35}.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-day-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 16px;display:flex}.calendar-grid-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;width:100%;padding-bottom:4px;overflow:auto hidden}.calendar-grid-scroll.is-compact{padding-bottom:0;overflow:visible}.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}.calendar-grid.is-compact{min-width:0}.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:190px;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;justify-content:center;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,.cal-summary-chip.is-checkin{background:var(--indigo-dim);color:var(--text-accent)}.cal-summary-chip.is-checkout{color:var(--rose);background:#f43f5e29}.cal-summary-chip.is-stay{color:var(--indigo);background:#6366f129}.cal-summary-chip.is-experience{background:var(--cyan-dim);color:var(--cyan)}.cal-summary-chip.is-party{color:var(--amber);background:#f59e0b2e}.cal-day-group+.cal-day-group{margin-top:7px}.cal-duty-list{flex-direction:column;gap:4px;display:flex}.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:flex-start;gap:6px;padding:4px 6px;display:flex}.cal-duty-dot{border-radius:999px;flex-shrink:0;width:7px;height:7px;margin-top:5px}.cal-duty-name{white-space:normal;text-overflow:clip;word-break:keep-all;font-size:11px;font-weight:700;line-height:1.35;overflow:visible}.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{width:40px;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:12px;font-weight:600}.stat-bar-row-revenue .stat-bar-value{width:clamp(86px,24%,118px)}.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-occupancy-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.room-occupancy-row{background:#ffffff05;border:1px solid #94a3b829;border-radius:12px;padding:10px 11px}.room-occupancy-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-occupancy-room{color:var(--text-primary);font-size:12px;font-weight:800}.room-occupancy-date,.room-occupancy-source{color:var(--text-muted);white-space:nowrap;font-size:11px}.room-occupancy-guest{color:var(--text-secondary);margin-top:4px;font-size:13px;font-weight:700}.room-occupancy-source{margin-top:2px}.room-occupancy-empty,.room-occupancy-more{color:var(--text-muted);padding:0 2px;font-size:11px}.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}.dash-lab{gap:18px;display:grid}.dash-lab-intro{align-items:flex-end}.dash-lab-topline{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dash-lab-metric{border:1px solid var(--border);background:linear-gradient(135deg,#ffffff0b,#ffffff04);border-radius:18px;min-width:0;padding:16px;position:relative;overflow:hidden}.dash-lab-metric:before{content:"";background:var(--indigo);width:4px;position:absolute;inset:0 auto 0 0}.dash-lab-metric.is-arrival:before{background:var(--indigo)}.dash-lab-metric.is-departure:before{background:var(--cyan)}.dash-lab-metric.is-stay:before{background:var(--emerald)}.dash-lab-metric.is-revenue:before{background:var(--amber)}.dash-lab-metric span,.dash-lab-metric small{color:var(--text-muted);letter-spacing:.02em;font-size:11px;font-weight:700;display:block}.dash-lab-metric strong{color:var(--text-primary);white-space:nowrap;margin:8px 0 4px;font-size:clamp(22px,3vw,34px);line-height:1;display:block}.dash-lab-hero{grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);align-items:start;gap:18px;display:grid}.dash-lab-side,.dash-lab-bottom{gap:18px;display:grid}.dash-lab-bottom{grid-template-columns:minmax(0,1fr) minmax(320px,.76fr)}.dash-lab-building-card{background:radial-gradient(circle at 16% 12%, #06b6d433, transparent 30%), radial-gradient(circle at 86% 16%, #f43f5e29, transparent 32%), var(--bg-card);box-shadow:var(--shadow-md);border:1px solid #ffffff1a;border-radius:26px;padding:18px}.dash-lab-building-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.dash-lab-building-head h2,.dash-lab-command-card h2{margin:4px 0 0;font-size:18px;line-height:1.25}.dash-lab-legend{color:var(--text-muted);flex-wrap:wrap;justify-content:flex-end;gap:8px;font-size:11px;display:flex}.dash-lab-legend span{border:1px solid var(--border);background:#ffffff09;border-radius:999px;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.dash-lab-legend i{border-radius:99px;width:8px;height:8px}.dash-lab-legend i.is-open{background:var(--emerald)}.dash-lab-legend i.is-tight{background:var(--amber)}.dash-lab-legend i.is-full{background:var(--text-muted)}.dash-lab-legend i.is-danger{background:var(--rose)}.dash-lab-building-svg{border-radius:22px;width:100%;height:auto;min-height:430px;display:block}.dash-lab-floor-label{fill:#f1f5f9b8;letter-spacing:.02em;font-size:13px;font-weight:800}.dash-lab-zone-shape{fill:#10b98142;stroke:#10b981d1;stroke-width:2px}.dash-lab-zone.is-tight .dash-lab-zone-shape{fill:#f59e0b45;stroke:#f59e0be0}.dash-lab-zone.is-full .dash-lab-zone-shape{fill:#64748b57;stroke:#cbd5e194}.dash-lab-zone.is-danger .dash-lab-zone-shape{fill:#f43f5e4d;stroke:#f43f5eeb}.dash-lab-zone-label,.dash-lab-zone-status,.dash-lab-zone-summary{pointer-events:none;fill:#f8fafc;font-family:Noto Sans KR,sans-serif}.dash-lab-zone-label{font-size:14px;font-weight:900}.dash-lab-zone-status{font-size:18px;font-weight:900}.dash-lab-zone-summary{fill:#e2e8f0e6;font-size:12px;font-weight:800}.dash-lab-building-note{color:var(--text-muted);margin-top:12px;font-size:12px;line-height:1.55}.dash-lab-command-card{min-width:0}.dash-lab-command-card h2{margin-bottom:12px}.dash-lab-total{background:linear-gradient(135deg,#10b9812e,#06b6d40f);border:1px solid #10b9812e;border-radius:18px;align-items:baseline;gap:8px;padding:14px;display:flex}.dash-lab-total.is-full{background:linear-gradient(135deg,#64748b33,#6366f10f);border-color:#94a3b838}.dash-lab-total.is-danger{background:linear-gradient(135deg,#f43f5e33,#f59e0b12);border-color:#f43f5e47}.dash-lab-total strong{font-size:42px;line-height:1}.dash-lab-total span{color:var(--text-secondary);font-weight:700}.dash-lab-total+p{color:var(--text-muted);margin:10px 0 12px;font-size:12px}.dash-lab-room-strip{gap:8px;display:grid}.dash-lab-room-chip{background:#10b98114;border:1px solid #10b9812e;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.dash-lab-room-chip.is-tight{background:#f59e0b17;border-color:#f59e0b38}.dash-lab-room-chip.is-full{background:#94a3b814;border-color:#94a3b833}.dash-lab-room-chip.is-danger{background:#f43f5e1a;border-color:#f43f5e42}.dash-lab-room-chip strong{font-size:13px}.dash-lab-room-chip span{color:var(--text-secondary);white-space:nowrap;font-size:12px;font-weight:800}.dash-lab-alert{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff09;border-radius:14px;padding:12px 13px;font-size:12px;line-height:1.45}.dash-lab-alert.is-ok{color:#bbf7d0;background:#10b98114;border-color:#10b98133}.dash-lab-alert.is-warn{color:#fde68a;background:#f59e0b1a;border-color:#f59e0b40}.dash-lab-mini-list{gap:8px;display:grid}.dash-lab-alert+.dash-lab-mini-list{margin-top:10px}.dash-lab-mini-list a{border:1px solid var(--border);background:#ffffff07;border-radius:14px;gap:4px;padding:11px 12px;display:grid}.dash-lab-mini-list a:hover{border-color:var(--border-light);background:#ffffff0b}.dash-lab-mini-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.dash-lab-mini-list span{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.dash-lab-duty-row{flex-wrap:wrap;gap:8px;display:flex}.dash-lab-duty-row span{background:#6366f11a;border:1px solid #6366f133;border-radius:14px;gap:2px;padding:9px 11px;font-size:12px;font-weight:800;display:inline-grid}.dash-lab-duty-row small{color:var(--text-muted);font-size:10px;font-weight:700}.dash-lab-copy{color:var(--text-secondary);gap:10px;font-size:13px;line-height:1.65;display:grid}.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-toolbar-head>div:first-child{display:none}.reservation-page-title{font-size:20px}.reservation-page-subtitle{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.45}.reservation-smartplace-panel{margin-bottom:18px}.reservation-smartplace-status-card{background:#6366f114;border:1px solid #6366f138;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.reservation-smartplace-status-copy{flex:1;min-width:0}.reservation-smartplace-status-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reservation-smartplace-status-title{color:var(--text-primary);font-size:12px}.reservation-smartplace-status-text{color:var(--text-secondary);margin-top:8px;font-size:12px;line-height:1.55}.reservation-smartplace-status-meta{color:var(--text-muted);margin-top:6px;font-size:11px}.reservation-smartplace-status-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.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}.reservation-option-cell{min-width:150px;max-width:240px}.reservation-option-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.reservation-option-badge{max-width:190px;min-height:22px;color:var(--cyan);overflow-wrap:anywhere;background:#06b6d41f;border-radius:6px;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.35;display:inline-flex}.reservation-option-badge.is-more{background:var(--bg-input);color:var(--text-muted)}.reservation-card-options{border:1px solid var(--border);background:var(--bg-secondary);border-radius:8px;margin-top:12px;padding:10px}.calendar-reservation-request{background:#06b6d414;border:1px solid #06b6d429;border-radius:10px;margin-top:10px;padding:10px 12px}.calendar-reservation-admin-panel{background:#6366f114;border:1px solid #6366f129;border-radius:10px;margin-top:10px;padding:10px 12px}.calendar-reservation-kiosk-panel{background:#10b98114;border:1px solid #10b98129;border-radius:10px;margin-top:10px;padding:10px 12px}.calendar-reservation-kiosk-title{color:var(--emerald);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.calendar-reservation-kiosk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.calendar-reservation-kiosk-grid>div{background:#0f172a3d;border-radius:8px;min-width:0;padding:8px}.calendar-reservation-kiosk-grid span{color:var(--text-muted);font-size:10px;font-weight:700;display:block}.calendar-reservation-kiosk-grid strong{color:var(--text-muted);margin-top:3px;font-size:12px;font-weight:900;display:block}.calendar-reservation-kiosk-grid .is-done strong{color:var(--emerald)}.calendar-reservation-admin-title{color:var(--indigo);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.calendar-reservation-admin-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:8px;margin-top:8px;display:grid}.calendar-reservation-admin-box{background:#0f172a40;border-radius:8px;min-width:0;padding:8px}.calendar-reservation-admin-box>span{color:var(--text-muted);margin-bottom:5px;font-size:10px;font-weight:700;display:block}.calendar-reservation-option-list{flex-direction:column;gap:4px;display:flex}.calendar-reservation-option-row,.calendar-reservation-money-row{min-width:0;color:var(--text-primary);justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;display:flex}.calendar-reservation-option-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.calendar-reservation-option-row em{color:var(--text-muted);font-style:normal}.calendar-reservation-option-row strong,.calendar-reservation-money-row strong{color:var(--text-primary);flex-shrink:0;font-size:11px}.calendar-reservation-money-row small{color:var(--text-muted);font-size:10px}.calendar-reservation-diff{margin-top:5px;font-size:10px;font-weight:700;display:inline-flex}.calendar-reservation-diff.over{color:var(--emerald)}.calendar-reservation-diff.under{color:var(--rose)}.calendar-reservation-empty-detail{color:var(--text-muted);font-size:11px;line-height:1.45}.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}@media (width<=560px){.calendar-reservation-admin-grid{grid-template-columns:1fr}}.calendar-display-settings{gap:14px;display:grid}.calendar-display-group{border:1px solid var(--border);background:#ffffff06;border-radius:12px;padding:13px}.calendar-display-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.calendar-display-option{background:#0f172a29;border:1px solid #ffffff12;border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:8px;padding:10px;display:grid}.calendar-display-option input{width:16px;height:16px;accent-color:var(--indigo);margin-top:2px}.calendar-display-option strong,.calendar-display-option small{min-width:0;display:block}.calendar-display-option strong{color:var(--text-primary);font-size:12px;font-weight:800}.calendar-display-option small{color:var(--text-muted);margin-top:3px;font-size:10px;line-height:1.4}.calendar-display-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}@media (width<=560px){.calendar-display-options{grid-template-columns:1fr}}.party-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.party-toolbar .filter-bar{flex:220px}.party-toolbar .filter-select{min-width:160px}.party-date-groups{gap:16px;display:grid}.party-list{flex-direction:column;gap:10px;display:flex}.party-row{border:1px solid var(--border);background:var(--bg-input);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:12px;padding:12px;display:grid}.party-row-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.party-source-chip{color:var(--violet);background:#8b5cf629;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.party-source-chip.is-smartplace{color:var(--naver);background:#03c75a24}.party-source-chip.is-manual{color:var(--amber);background:#f59e0b24}.party-row-meta{color:var(--text-muted);font-size:11px;line-height:1.5}.party-row-stats{text-align:right;min-width:92px;color:var(--text-secondary);font-size:12px}.party-row-stats strong{color:var(--text-primary);font-size:18px}.party-row-quick-date{align-items:center;gap:6px;display:flex}.party-row-quick-date .form-input{min-width:140px}.party-row-actions{gap:6px;display:flex}.party-event-list{flex-direction:column;gap:10px;display:flex}.party-event-card{background:#f59e0b14;border:1px solid #f59e0b2e;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.party-event-card.is-compact{grid-template-columns:1fr}.party-event-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.party-event-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.party-default-save{color:var(--text-secondary);align-items:center;gap:8px;margin-top:10px;font-size:12px;display:inline-flex}.party-default-save input{width:15px;height:15px;accent-color:var(--amber)}.party-event-preview-panel{background:#f59e0b12;border:1px solid #f59e0b38;border-radius:14px;margin-top:14px;padding:14px}.party-event-preview-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.party-preview-recipient-list{flex-direction:column;gap:9px;max-height:420px;padding-right:2px;display:flex;overflow:auto}.party-preview-recipient{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:11px;display:grid}.party-preview-recipient.is-disabled{opacity:.62}.party-preview-recipient input{width:16px;height:16px;accent-color:var(--amber);margin-top:3px}.party-preview-recipient-main{min-width:0}.party-notice-settings,.party-notice-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.party-notice-summary span{color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);border-radius:999px;padding:4px 9px;font-size:11px}.party-notice-recipient-list{flex-direction:column;gap:10px;display:flex}.party-notice-recipient{border:1px solid var(--border);background:var(--bg-input);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:12px;display:grid}.party-notice-recipient.has-error{background:#f43f5e14;border-color:#f43f5e47}.party-notice-recipient input{margin-top:3px}.party-notice-recipient-title{justify-content:space-between;gap:8px;margin-bottom:4px;font-size:13px;display:flex}.party-notice-recipient-title span{color:var(--text-muted);font-size:11px}.party-notice-preview{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:#00000029;border-radius:10px;margin:8px 0 0;padding:10px;font-family:inherit;font-size:11px;line-height:1.55}.party-notice-error{color:var(--rose);margin-top:6px;font-size:11px}.form-help{color:var(--text-muted);margin-top:6px;font-size:11px;line-height:1.45}.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-date-unknown{color:var(--amber);font-weight:800}.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{gap:8px;margin-top:12px;display:flex}.staff-week-actions .btn{flex:1 1 0}.staff-week-actions-inline{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.staff-duty-shift-pill{min-width:38px;color:var(--violet);white-space:nowrap;background:#8b5cf629;border:1px solid #8b5cf647;border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.staff-duty-choice{cursor:pointer;border:1px solid var(--border);color:var(--text-secondary);transition:all .18s var(--ease);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.staff-duty-choice:hover,.staff-duty-choice.is-checked{border-color:var(--indigo);background:var(--indigo-dim);color:var(--text-primary)}.staff-duty-help{border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);border-radius:10px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.6}.staff-duty-month-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.staff-duty-pattern-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:radial-gradient(circle at 0 0,#6366f124,#0000 34%),#0f172a47;margin-bottom:14px;padding:12px}.staff-duty-pattern-panel[hidden]{display:none}.staff-duty-preview{margin-top:10px}.staff-duty-preview:empty{display:none}.staff-duty-preview-summary{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;padding:10px 0 4px;font-size:12px;display:flex}.staff-duty-preview-summary strong{color:var(--emerald);white-space:nowrap}.staff-duty-preview-meta{color:var(--text-muted);margin-bottom:8px;font-size:11px;line-height:1.5}.staff-duty-preview-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.staff-duty-day{border:1px solid var(--border);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:42px;font-size:11px;font-weight:800;display:flex}.staff-duty-day small{color:var(--text-muted);font-size:10px;font-weight:700}.staff-duty-day.is-work{color:var(--emerald);background:#10b9811f;border-color:#10b98147}.staff-duty-day.is-off{color:var(--text-muted);background:#94a3b814}.staff-duty-conflicts{color:var(--amber);background:#f59e0b1a;border:1px solid #f59e0b38;border-radius:10px;margin-top:10px;padding:10px;font-size:11px;line-height:1.5}.staff-duty-conflicts strong,.staff-duty-conflicts span{display:block}.staff-duty-conflicts span{color:var(--text-secondary);margin-top:4px}.staff-duty-batch{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-card);justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.staff-duty-batch+.staff-duty-batch{margin-top:8px}.staff-duty-batch.is-cancelled{opacity:.62}.staff-duty-batch-main{min-width:0}.staff-duty-batch-main strong,.staff-duty-batch-main span,.staff-duty-batch-main small{display:block}.staff-duty-batch-main strong{color:var(--text-primary);font-size:12px}.staff-duty-batch-main span{color:var(--text-secondary);margin-top:3px;font-size:11px}.staff-duty-batch-main small,.staff-duty-batch-status{color:var(--text-muted);margin-top:3px;font-size:10px}.staff-list-section+.staff-departed-section{margin-top:12px}.staff-list-section-head,.staff-departed-section summary{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;font-weight:800;display:flex}.staff-list-section-head span,.staff-departed-section summary strong{color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:3px 8px;font-size:11px}.staff-departed-section{border:1px dashed var(--border);border-radius:var(--radius-md);background:#0f172a2e;padding:10px}.staff-departed-section summary{cursor:pointer;margin-bottom:0;list-style:none}.staff-departed-section summary::-webkit-details-marker{display:none}.staff-departed-section[open] summary{margin-bottom:10px}.staff-status-pill{vertical-align:1px;border-radius:999px;align-items:center;margin-left:6px;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex}.staff-status-pill.is-assignable{color:var(--emerald);background:#10b98124}.staff-status-pill.is-departed{color:var(--amber);background:#f59e0b24}.staff-card-note{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;background:#ffffff0a;border-radius:10px;margin-top:8px;padding:8px 10px;font-size:11px;line-height:1.5}.staff-departed-toggle{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:#0f172a47;align-items:flex-start;gap:10px;padding:12px;display:flex}.staff-date-option{border-radius:var(--radius-md);cursor:pointer;background:#f59e0b14;border:1px solid #f59e0b42;align-items:flex-start;gap:10px;margin-top:-2px;margin-bottom:10px;padding:10px 12px;display:flex}.staff-date-option strong,.staff-date-option small{display:block}.staff-date-option strong{color:var(--text-primary);font-size:13px}.staff-date-option small{color:var(--text-muted);margin-top:3px;font-size:11px;line-height:1.4}.staff-departed-toggle strong,.staff-departed-toggle small{display:block}.staff-departed-toggle strong{color:var(--text-primary);font-size:13px}.staff-departed-toggle small{color:var(--text-muted);margin-top:3px;font-size:11px;line-height:1.4}.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-auto-settings-grid{grid-template-columns:minmax(220px,1fr) minmax(260px,1.4fr);gap:12px}.trial-auto-block-summary{border:1px solid var(--border);border-radius:var(--radius-md);background:#0f1929ad;flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;padding:9px 10px;display:flex}.trial-auto-block-summary span{color:var(--text-muted);font-size:11px}.trial-auto-block-summary strong{color:var(--text-primary);margin-right:auto;font-size:13px}.trial-settings-accordion{padding:0;overflow:hidden}.trial-settings-accordion-summary{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;list-style:none;display:flex}.trial-settings-accordion-summary::-webkit-details-marker{display:none}.trial-settings-accordion-summary:after{content:"펼치기";border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-input);border-radius:999px;flex:none;padding:5px 10px;font-size:11px;font-weight:700}.trial-settings-accordion[open] .trial-settings-accordion-summary:after{content:"접기"}.trial-settings-accordion-title{color:var(--text-primary);font-size:14px;font-weight:700}.trial-settings-accordion-subtitle{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.5}.trial-settings-accordion-body{padding:0 16px 16px}.trial-toggle-row{color:var(--text-secondary);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:700;display:inline-flex}.trial-auto-manual{border:1px solid var(--border);border-radius:var(--radius-md);background:#0f19296b;margin-top:10px;padding:10px 12px}.trial-auto-manual summary{color:var(--text-secondary);cursor:pointer;font-size:12px;font-weight:700}.trial-period-modal{max-width:760px}.trial-period-picker{min-width:0}.trial-period-toolbar,.trial-period-actions,.trial-period-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trial-period-toolbar{justify-content:space-between;margin-bottom:10px}.trial-period-toolbar strong{font-size:18px}.trial-period-actions{margin-bottom:10px}.trial-period-help{border-radius:var(--radius-md);background:var(--cyan-dim);color:var(--text-secondary);margin-bottom:12px;padding:10px 12px;font-size:12px;line-height:1.5}.trial-period-weekdays,.trial-period-week-row{grid-template-columns:58px repeat(7,minmax(0,1fr));gap:6px;display:grid}.trial-period-weekdays{color:var(--text-muted);text-align:center;margin-bottom:6px;font-size:11px;font-weight:700}.trial-period-week-row{margin-bottom:6px}.trial-period-week,.trial-period-day{border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);transition:all .15s var(--ease);border-radius:10px}.trial-period-week{min-height:42px;font-size:12px;font-weight:700}.trial-period-day{justify-content:center;align-items:center;min-height:42px;font-size:13px;font-weight:700;display:flex}.trial-period-week:hover,.trial-period-day:hover{border-color:var(--cyan);color:var(--text-primary)}.trial-period-week.is-selected,.trial-period-day.is-selected{color:#fecdd3;background:#f43f5e2e;border-color:#f43f5ebf}.trial-period-day.is-explicit{box-shadow:inset 0 -3px #f43f5ed9}.trial-period-day.is-muted{opacity:.42}.trial-period-day.is-today{outline-offset:-2px;outline:2px solid #06b6d4a6}.trial-period-summary{margin-top:12px}.trial-period-summary span{background:var(--rose-dim);color:#fecdd3;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:700}.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}.ops-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.ops-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.section-eyebrow{color:var(--text-accent);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;font-size:10px;font-weight:800;display:inline-flex}.ops-title{color:var(--text-primary);margin-top:3px;font-size:24px;font-weight:800}.ops-subtitle{color:var(--text-muted);margin-top:6px;font-size:12px;line-height:1.5}.ops-overview-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.ops-health-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffff09;padding:16px}.ops-health-card.is-warn{background:#f59e0b12;border-color:#f59e0b3d}.ops-health-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ops-health-title{color:var(--text-primary);font-size:14px;font-weight:800}.ops-health-desc{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.45}.ops-health-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.ops-health-grid>div{background:#0f172a2e;border:1px solid #ffffff14;border-radius:12px;padding:10px}.ops-health-grid span,.ops-health-grid small{color:var(--text-muted);font-size:10px;line-height:1.35;display:block}.ops-health-grid strong{color:var(--text-primary);margin:4px 0 2px;font-size:16px;line-height:1.15;display:block}.ops-health-last,.ops-risk-list{color:var(--text-secondary);word-break:keep-all;background:#ffffff0a;border-radius:12px;margin-top:12px;padding:10px;font-size:11px;line-height:1.5}.ops-health-last span{color:var(--rose)}.ops-risk-list strong{color:var(--text-primary);margin-bottom:6px;font-size:11px;display:block}.ops-risk-list div+div{margin-top:4px}.ops-failure-list{flex-direction:column;gap:10px;display:flex}.ops-failure-card{background:#f43f5e14;border:1px solid #f43f5e38;border-radius:12px;padding:14px}.ops-failure-card.is-resolved{opacity:.85;background:#10b9810f;border-color:#10b9812e}.ops-failure-head,.ops-sync-main{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ops-failure-title{color:var(--text-primary);font-size:14px;font-weight:800}.ops-failure-meta,.ops-sync-meta{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.4}.ops-failure-body{color:var(--text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin-top:10px;font-size:12px;line-height:1.45;display:grid}.ops-failure-reason,.ops-failure-note{word-break:break-word;grid-column:1/-1}.ops-failure-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.ops-status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:800;display:inline-flex}.ops-status-pill.ok{color:var(--emerald);background:#10b98124}.ops-status-pill.warn{color:var(--amber);background:#f59e0b29}.ops-status-pill.danger{color:var(--rose);background:#f43f5e29}.ops-sync-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.ops-sync-card{border:1px solid var(--border);background:#ffffff08;border-radius:12px;padding:13px}.ops-sync-card.is-error{border-color:#f43f5e38}.ops-sync-error{color:var(--rose);word-break:break-word;margin-top:8px;font-size:11px;line-height:1.45}.ops-incident-sections{grid-template-columns:1fr;gap:14px;display:grid}.ops-incident-section{background:#0f172a29;border:1px solid #ffffff14;border-radius:14px;padding:12px}.ops-incident-section-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.ops-incident-section-head h2{color:var(--text-primary);margin:0;font-size:15px;font-weight:850}.ops-incident-section-head p{color:var(--text-muted);margin:4px 0 0;font-size:11px;line-height:1.45}.ops-incident-section-head span{min-width:30px;color:var(--text-primary);text-align:center;background:#ffffff12;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}.ops-incident-list{gap:10px;display:grid}.ops-incident-empty{color:var(--text-muted);text-align:center;background:#ffffff08;border-radius:12px;padding:12px;font-size:12px}.ops-incident-card{background:#ffffff09;border:1px solid #ffffff1a;border-radius:14px;padding:14px}.ops-incident-card.is-danger{background:#f43f5e13;border-color:#f43f5e42}.ops-incident-card.is-warn{background:#f59e0b12;border-color:#f59e0b40}.ops-incident-card.is-ok{background:#38bdf80b;border-color:#38bdf82e}.ops-incident-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ops-incident-title{color:var(--text-primary);font-size:14px;font-weight:850}.ops-incident-meta{color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.45}.ops-playbook-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.ops-playbook-grid>div{background:#0f172a29;border:1px solid #ffffff13;border-radius:12px;padding:10px}.ops-playbook-grid>.ops-next-action{background:#38bdf813;border-color:#38bdf838;grid-column:1/-1}.ops-playbook-grid span{color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:800;display:block}.ops-playbook-grid strong{color:var(--text-secondary);word-break:keep-all;font-size:11px;font-weight:650;line-height:1.5;display:block}.ops-detail-points{background:#ffffff0a;border:1px solid #ffffff13;border-radius:12px;margin-top:10px;padding:11px}.ops-detail-title{color:var(--text-primary);margin-bottom:8px;font-size:11px;font-weight:850}.ops-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.ops-detail-point{background:#0f172a2e;border-radius:10px;min-width:0;padding:8px 9px}.ops-detail-point span{color:var(--text-muted);font-size:10px;font-weight:800;display:block}.ops-detail-point strong{color:var(--text-secondary);word-break:keep-all;overflow-wrap:anywhere;margin-top:3px;font-size:11px;font-weight:650;line-height:1.45;display:block}.ops-incident-note{color:var(--text-muted);background:#ffffff0d;border-radius:11px;margin-top:10px;padding:9px 10px;font-size:11px;line-height:1.45}.ops-incident-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:12px;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}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.dashboard-kpi-grid .kpi-card{border-radius:12px;min-height:88px;padding:12px 8px}.dashboard-kpi-grid .dashboard-operation-card{min-height:158px}.dashboard-kpi-grid .kpi-icon{margin-bottom:7px;font-size:15px}.dashboard-kpi-grid .kpi-label{letter-spacing:-.2px;white-space:nowrap;word-break:keep-all;margin-bottom:5px;font-size:9px;line-height:1.15}.dashboard-kpi-grid .kpi-value{font-size:21px}.dashboard-kpi-grid .kpi-sub{margin-top:5px;font-size:9px;line-height:1.25}.dashboard-kpi-grid .dashboard-revenue-card{grid-column:1/-1;min-height:0;padding:14px 16px}.dashboard-kpi-grid .dashboard-revenue-card .kpi-icon{margin-bottom:8px}.dashboard-kpi-grid .dashboard-revenue-card .kpi-label{letter-spacing:.2px;font-size:10px}.dashboard-kpi-grid .dashboard-revenue-card .kpi-value{font-size:21px!important}.dashboard-summary-layout,.dashboard-focus-grid{grid-template-columns:1fr}.dashboard-duty-panel{padding:12px}.trial-overview-grid.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trial-overview-grid.dashboard-kpi-grid .kpi-card{padding:13px 10px}.trial-overview-grid.dashboard-kpi-grid .kpi-label{letter-spacing:0;font-size:10px}.trial-overview-grid.dashboard-kpi-grid .kpi-sub{font-size:9px}.surf-ocean-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.surf-ocean-card-index,.surf-ocean-card-tide{grid-column:1/-1}.surf-experience-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.surf-timeline-scroll{grid-auto-columns:minmax(148px,78vw)}.ops-snapshot-items{grid-template-columns:repeat(2,minmax(0,1fr))}.action-queue-card{padding:13px}.action-queue-item{grid-template-columns:auto minmax(0,1fr)}.action-queue-cta{grid-column:2;justify-self:start;margin-top:-2px}.dash-lab-intro{flex-direction:column;align-items:stretch}.dash-lab-intro .btn{justify-content:center;width:100%;min-height:36px}.dash-lab-topline{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dash-lab-metric{border-radius:14px;padding:11px 8px 10px 10px}.dash-lab-metric span,.dash-lab-metric small{letter-spacing:-.04em;white-space:nowrap;font-size:9px}.dash-lab-metric strong{margin:6px 0 3px;font-size:22px}.dash-lab-metric.is-revenue{grid-column:1/-1}.dash-lab-metric.is-revenue strong{font-size:24px}.dash-lab-hero,.dash-lab-bottom{grid-template-columns:1fr}.dash-lab-building-card{border-radius:20px;padding:12px}.dash-lab-building-head{flex-direction:column;align-items:stretch}.dash-lab-legend{justify-content:flex-start;gap:6px}.dash-lab-building-svg{min-height:320px}.dash-lab-zone-label{font-size:15px}.dash-lab-zone-status{font-size:22px}.dash-lab-zone-summary{font-size:13px}.ops-overview-grid,.ops-health-grid{grid-template-columns:1fr}.ops-toolbar{align-items:stretch}.ops-toolbar-actions,.ops-toolbar .btn{width:100%}.ops-failure-head,.ops-sync-main{align-items:flex-start}.ops-failure-body{grid-template-columns:1fr}.ops-failure-actions{justify-content:stretch}.ops-failure-actions .btn{flex:1}.ops-incident-head{flex-direction:column}.ops-playbook-grid,.ops-detail-grid{grid-template-columns:1fr}.ops-incident-actions{justify-content:stretch}.ops-incident-actions .btn{flex:1}.trial-auto-settings-grid{grid-template-columns:1fr}.trial-auto-block-summary{flex-direction:column;align-items:stretch}.trial-auto-block-summary strong{margin-right:0}.trial-auto-block-summary .btn{width:100%}.trial-period-weekdays,.trial-period-week-row{grid-template-columns:42px repeat(7,minmax(0,1fr));gap:4px}.trial-period-week,.trial-period-day{border-radius:8px;min-height:36px;font-size:10px}.trial-period-toolbar strong{font-size:15px}.trial-period-actions .btn{flex:calc(50% - 4px)}.form-row{grid-template-columns:1fr}.page-content{padding:16px}.top-header{flex-wrap:nowrap;align-items:center;gap:8px;height:52px;min-height:52px;padding:8px 10px}.header-title{flex:auto;font-size:15px}.header-actions{flex:none;justify-content:flex-end;gap:5px;width:auto}#mask-toggle-btn,#push-toggle-btn{border-radius:10px;flex:0 0 34px;width:34px;min-width:34px;min-height:34px;padding:0!important}.header-toggle-label{display:none}.header-toggle-icon{font-size:15px}#today-info{display:none}.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}.trial-programme-controls.page-control-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.trial-programme-controls.page-control-group>.trial-programme-filter{flex:0 auto;width:100%;min-width:0!important}.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-smartplace-status-card{flex-direction:column}.reservation-smartplace-status-actions{justify-content:stretch;width:100%}.reservation-smartplace-status-actions .btn{flex:1 1 0;justify-content:center}.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}.staff-duty-month-row{grid-template-columns:1fr}.staff-duty-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.staff-duty-batch{flex-direction:column;align-items:stretch}.staff-duty-batch .btn{width:100%}.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{display:none}.calendar-grid-scroll{padding-bottom:0;overflow:visible}.calendar-grid{background:0 0;gap:4px;min-width:0}.cal-header-cell{background:0 0;padding:4px 0 6px;font-size:10px}.cal-cell{border-radius:12px;flex-direction:column;height:auto;min-height:112px;padding:4px;display:flex}.cal-summary-chip{width:100%;padding:2px 4px;font-size:8px;line-height:1.15}.cal-date{border-radius:999px;justify-content:flex-start;width:auto;height:auto;margin-bottom:5px;font-size:11px}.cal-day-summary{gap:3px;margin-bottom:0;display:grid}.cal-day-group-label,.cal-event,.cal-more-indicator{display:none}.cal-duty-list{gap:3px}.cal-duty-entry{border-radius:7px;gap:3px;padding:3px 4px}.cal-duty-dot{display:none}.cal-duty-name{letter-spacing:-.03em;font-size:9px;line-height:1.25}}@media (width<=560px){.kpi-grid{grid-template-columns:1fr}.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dashboard-kpi-grid .kpi-card{min-height:82px;padding:10px 8px}.dashboard-kpi-grid .dashboard-operation-card{min-height:152px}.dashboard-kpi-grid .kpi-icon{margin-bottom:6px;font-size:14px}.dashboard-kpi-grid .kpi-label{letter-spacing:-.45px;font-size:8px}.dashboard-kpi-grid .kpi-value{font-size:20px}.dashboard-kpi-grid .kpi-sub{font-size:8px}.dashboard-operation-card .kpi-sub{margin-bottom:8px}.dashboard-kpi-details{gap:4px;padding-top:7px}.dashboard-stay-chip{gap:3px;padding:3px 5px 3px 3px;font-size:10px}.dashboard-stay-badge{width:16px;height:16px;font-size:9px}.dashboard-stay-chip-plain{padding:4px 6px;line-height:1.25}.dashboard-stay-name{max-width:clamp(58px,22vw,92px)}.dashboard-stay-room{max-width:clamp(58px,24vw,98px)}.dashboard-kpi-empty{font-size:9px}.dashboard-kpi-grid .dashboard-revenue-card{grid-column:1/-1;padding:13px 14px}.trial-overview-grid.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.trial-overview-grid.dashboard-kpi-grid .kpi-card{min-height:88px;padding:12px 8px}.trial-overview-grid.dashboard-kpi-grid .kpi-label{letter-spacing:0;font-size:10px}.trial-overview-grid.dashboard-kpi-grid .kpi-sub{font-size:9px;line-height:1.25}.surf-ocean-grid{grid-template-columns:1fr 1fr;gap:8px}.surf-ocean-card-index,.surf-ocean-card-tide{grid-column:1/-1}.surf-ocean-card-tide .surf-tide-chart svg{height:64px}.surf-ocean-pairs{gap:6px}.surf-ocean-pairs div{padding:8px 10px}.surf-ocean-pairs span{font-size:9.5px}.surf-ocean-pairs strong{letter-spacing:-.04em;font-size:clamp(13px,3.5vw,15px)}.surf-experience-title{flex-direction:column;align-items:flex-start}.surf-experience-grid{grid-template-columns:1fr;gap:8px}.surf-ocean-card{padding:11px}.surf-ocean-card strong{font-size:17px}.surf-timeline{padding:12px}.surf-time-metrics{grid-template-columns:1fr}.ops-snapshot-main{flex-direction:column;align-items:stretch}.ops-snapshot-main .btn{justify-content:center;width:100%}.ops-snapshot-items{grid-template-columns:1fr 1fr}.page-intro{margin-bottom:14px}.page-intro h1{font-size:19px}.action-queue-head{align-items:flex-start}.action-queue-head h2{font-size:15px}.action-queue-copy strong,.action-queue-copy small{white-space:normal}.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}.calendar-page-head .page-title{font-size:16px}.calendar-nav-group{gap:6px}.calendar-nav-group .btn{min-height:38px;padding-left:10px;padding-right:10px}.cal-cell{height:auto;min-height:96px;padding:4px 3px}.cal-summary-chip{padding:2px 3px;font-size:7px}.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}.party-row{grid-template-columns:1fr;align-items:stretch}.party-toolbar{align-items:stretch}.party-toolbar .filter-bar,.party-toolbar .filter-select{width:100%}.party-row-stats{text-align:left;justify-content:space-between;display:flex}.party-row-quick-date,.party-row-actions{width:100%}.party-row-quick-date .form-input,.party-row-quick-date .btn,.party-row-actions .btn{flex:1}.party-event-card{grid-template-columns:1fr}.party-event-actions{justify-content:stretch}.party-event-actions .btn{flex:calc(50% - 6px)}.party-notice-recipient-title{flex-direction:column;gap:2px}}
