:root{font-family:Pretendard,Noto Sans KR,Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#334155;background:#f6fafd;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue-900: #0b1f33;--blue-800: #0b5c8c;--blue-700: #0e6ba8;--blue: #1684d4;--blue-100: #eaf6ff;--cyan: #39b8d8;--mint: #5cc9a7;--amber: #f5a623;--red: #dc2626;--surface: #ffffff;--soft: #f6fafd;--border: #d9e7f2;--text: #334155;--muted: #64748b;--shadow: 0 20px 50px rgba(14, 107, 168, .11)}.billing-center{gap:18px}.billing-stage-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}.compact-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.validation-list,.billing-type-list{display:grid;gap:10px;margin-top:14px}.validation-item,.billing-type-row{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(140px,auto);align-items:center;gap:10px;min-height:46px;padding:10px 12px;border:1px solid #d9e9f7;border-radius:14px;background:#f8fcff;font-size:13px;font-weight:800}.validation-item.error{border-color:#ffc7c7;background:#fff6f6}.validation-item.warning{border-color:#f8d99a;background:#fffaf0}.validation-item em,.billing-type-row em{color:#607187;font-size:12px;font-style:normal;font-weight:800}.billing-type-row{grid-template-columns:minmax(0,1fr) 140px}.billing-type-row span{display:grid;gap:3px}.billing-type-row input,.billing-edit-table input,.billing-command-grid input{width:100%;min-height:38px;border:1px solid var(--border);border-radius:12px;padding:8px 10px;font:inherit;font-weight:800}.hotel-rate-list+.button-row{margin-top:12px}.billing-preview-wrap{max-height:420px}.billing-preview-table{min-width:1460px}.billing-preview-table th,.billing-preview-table td,.billing-edit-table th,.billing-edit-table td{white-space:pre-line;vertical-align:middle}.billing-preview-table td:nth-child(3),.billing-preview-table td:nth-child(4),.billing-preview-table td:nth-child(15){text-align:left}.hotel-excel-page .billing-preview-table th,.hotel-excel-page .billing-preview-table td,.hotel-excel-page .billing-preview-table td:nth-child(3),.hotel-excel-page .billing-preview-table td:nth-child(4),.hotel-excel-page .billing-preview-table td:nth-child(15){text-align:center}.billing-center-preview-table th,.billing-center-preview-table td,.billing-center-preview-table td:nth-child(3),.billing-center-preview-table td:nth-child(4),.billing-center-preview-table td:nth-child(15){text-align:center}.billing-preview-table .twin-second-row{background:#f9fcff}.billing-edit-table{min-width:1180px}.checkout-edit-wrap{max-height:620px}.checkout-edit-table{table-layout:fixed;width:1880px;min-width:1880px}.checkout-edit-sticky-header{position:sticky;top:0;z-index:12;height:46px;margin-bottom:-46px;overflow:hidden;border:1px solid var(--border);border-bottom:0;border-radius:14px 14px 0 0;background:#f6fafd;box-shadow:0 1px #dbeaf4,0 10px 20px #0e6ba81a;pointer-events:none}.checkout-edit-sticky-header-row{display:grid;width:1880px;min-width:1880px;will-change:transform}.checkout-edit-sticky-header-row span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:14px 13px;color:var(--muted);font-size:13px;font-weight:950;text-align:center}.checkout-edit-table th,.checkout-edit-table td,.checkout-edit-table td:nth-child(3),.checkout-edit-table td:nth-child(4),.checkout-edit-table td:nth-child(15){text-align:center}.checkout-edit-table thead th{position:sticky;top:0;z-index:8;color:transparent;background:#f6fafd;box-shadow:none}.checkout-edit-table input,.checkout-edit-table select{width:100%;min-height:34px;padding:6px 8px;border:1px solid var(--border);border-radius:10px;color:var(--blue-900);background:#fff;font-size:13px;font-weight:850;text-align:center}.checkout-edit-table td{min-width:96px}.checkout-edit-table td:nth-child(3),.checkout-edit-table td:nth-child(4),.checkout-edit-table td:nth-child(15){min-width:170px}.checkout-edit-table td:nth-child(6),.checkout-edit-table td:nth-child(7){min-width:190px}.checkout-edit-table td:nth-child(14){min-width:210px}.checkout-edit-click-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.checkout-edit-click-row:hover{background:#eef9ff;box-shadow:inset 4px 0 0 var(--blue)}.checkout-edit-click-row:focus-visible,.checkout-edit-click-row.active{outline:2px solid var(--blue);outline-offset:-2px;background:#e7f6ff}.checkout-multiline{white-space:pre-line}.checkout-readonly{color:var(--muted);font-size:13px;font-weight:900}.checkout-edit-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;justify-content:flex-end;background:#05132147;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:checkoutBackdropFadeIn .18s ease-out both}.checkout-edit-drawer{display:grid;grid-template-rows:auto auto auto 1fr;align-content:start;gap:16px;width:min(620px,calc(100vw - 18px));height:100dvh;padding:24px;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#f8fcff,#eef8ff);box-shadow:-22px 0 48px #092d4b3d;animation:checkoutDrawerSlideIn .26s cubic-bezier(.16,1,.3,1) both}.checkout-edit-drawer-backdrop.is-closing{animation:checkoutBackdropFadeOut .18s ease-in both;pointer-events:none}.checkout-edit-drawer-backdrop.is-closing .checkout-edit-drawer{animation:checkoutDrawerSlideOut .24s cubic-bezier(.7,0,.84,0) both;pointer-events:none}.checkout-edit-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.checkout-edit-drawer-head span{color:var(--muted);font-size:13px;font-weight:850}.checkout-edit-drawer-head h2{margin:4px 0 6px;color:var(--blue-900);font-size:27px;line-height:1.2}.checkout-edit-drawer-head p{margin:0;color:var(--blue-800);font-size:14px;font-weight:900}.checkout-edit-drawer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checkout-edit-drawer-summary>div{display:grid;gap:6px;min-width:0;padding:13px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.checkout-edit-drawer-summary span,.checkout-edit-drawer-section h3{color:var(--muted);font-size:12px;font-weight:900}.checkout-edit-drawer-summary strong{color:var(--blue-900);font-size:17px;font-weight:950;overflow-wrap:anywhere}.checkout-edit-drawer-section{display:grid;gap:12px;padding:16px;border:1px solid #d8ecf8;border-radius:20px;background:#ffffffd1}.checkout-edit-drawer-section h3{margin:0;color:var(--blue-900);font-size:17px}.checkout-edit-drawer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checkout-edit-drawer-grid .field{margin:0}.checkout-edit-drawer-grid .field.wide{grid-column:1 / -1}.checkout-edit-drawer-grid input,.checkout-edit-drawer-grid select,.checkout-edit-drawer-grid textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #d6e8f3;border-radius:13px;color:var(--blue-900);background:#fff;font-weight:900}.checkout-edit-drawer-grid textarea{min-height:96px;resize:vertical}.checkout-breakfast-history{display:grid;gap:10px;padding:14px;border:1px solid #d6e8f3;border-radius:16px;background:#f7fbff}.checkout-breakfast-history-head,.checkout-breakfast-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.checkout-breakfast-history-head strong{color:var(--blue-900);font-size:14px;font-weight:950}.checkout-breakfast-history-head span{padding:5px 9px;border-radius:999px;color:var(--blue-700);background:#e8f5ff;font-size:12px;font-weight:900}.checkout-breakfast-history-list{display:grid;gap:8px}.checkout-breakfast-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.checkout-breakfast-editor label{display:grid;gap:6px;margin:0}.checkout-breakfast-editor label span{color:var(--muted);font-size:12px;font-weight:900}.checkout-breakfast-editor input{width:100%;min-height:40px;padding:8px 11px;border:1px solid #d6e8f3;border-radius:12px;color:var(--blue-900);background:#fff;font-weight:900}.checkout-breakfast-editor .secondary{min-height:40px;white-space:nowrap}.checkout-breakfast-history-row{min-height:38px;padding:9px 11px;border:1px solid #e0eff8;border-radius:12px;background:#fff}.checkout-breakfast-history-row span{color:var(--muted);font-size:13px;font-weight:900}.checkout-breakfast-history-row strong{display:block;margin-top:3px;color:var(--blue-900);font-size:14px;font-weight:950}.checkout-breakfast-history-empty{margin:0;color:var(--muted);font-size:13px;font-weight:850}.compact-validation-list{margin-top:12px}.billing-edit-table td:nth-child(7){display:grid;gap:6px;min-width:190px}.billing-command-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) minmax(140px,auto);gap:12px;align-items:end}.agency-invoice-builder,.agency-invoice-completion-panel{display:grid;gap:14px}.agency-invoice-filter-grid{display:grid;grid-template-columns:minmax(160px,.24fr) minmax(160px,.24fr) minmax(260px,.52fr);gap:12px;align-items:end}.agency-invoice-filter-grid input,.agency-invoice-detail-edit-table input,.agency-invoice-slide-drawer input,.agency-invoice-slide-drawer textarea{width:100%;min-height:38px;border:1px solid var(--border);border-radius:12px;padding:8px 10px;color:var(--blue-900);background:#fff;font:inherit;font-weight:850}.agency-invoice-slide-drawer textarea{min-height:104px;resize:vertical}.agency-invoice-selection-card{display:grid;grid-template-columns:minmax(80px,auto) minmax(0,1fr) auto;gap:10px;align-items:center;min-height:54px;padding:10px 12px;border:1px solid #cfe5f7;border-radius:16px;background:linear-gradient(135deg,#f8fcff,#eef8ff)}.agency-invoice-selection-card span{color:var(--muted);font-size:12px;font-weight:900}.agency-invoice-selection-card strong{color:var(--blue-900);font-size:16px;font-weight:950}.agency-invoice-group-list,.agency-invoice-vessel-list{display:grid;gap:12px}.agency-invoice-agency-card{border:1px solid #dbeaf4;border-radius:18px;background:#fbfdff;overflow:hidden}.agency-invoice-agency-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e5f0f8;background:#f6fbff}.agency-invoice-agency-head strong{color:var(--blue-900);font-size:17px;font-weight:950}.agency-invoice-agency-head span,.agency-invoice-vessel-meta span{color:var(--muted);font-size:12px;font-weight:900}.agency-invoice-vessel-list{padding:12px}.agency-invoice-vessel-card{border:1px solid #dcebf7;border-radius:16px;background:#fff}.agency-invoice-vessel-card.expanded{box-shadow:0 14px 30px #0e6ba814}.agency-invoice-vessel-head{display:grid;grid-template-columns:minmax(180px,1fr) minmax(320px,auto) auto auto;gap:10px;align-items:center;padding:12px;cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.agency-invoice-vessel-head:hover{background:#e8f7ffb8}.vessel-dropdown-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-height:40px;padding:0 8px;border:0;border-radius:10px;color:var(--blue-900);background:transparent;font-weight:950}.agency-invoice-vessel-head:hover .vessel-dropdown-button{background:transparent}.agency-invoice-vessel-card.expanded .vessel-dropdown-button svg{transform:rotate(180deg)}.agency-invoice-vessel-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.agency-invoice-vessel-meta span,.agency-invoice-vessel-meta strong{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;background:#f1f8ff}.agency-invoice-vessel-meta strong{color:var(--blue-800);font-size:13px;font-weight:950}.agency-invoice-checkout-wrap{max-height:380px;border-top:1px solid #e5f0f8}.agency-invoice-table,.agency-invoice-completion-table,.agency-invoice-detail-edit-table{width:100%;min-width:980px}.agency-invoice-table th,.agency-invoice-table td,.agency-invoice-completion-table th,.agency-invoice-completion-table td,.agency-invoice-detail-edit-table th,.agency-invoice-detail-edit-table td{text-align:center;vertical-align:middle}.agency-invoice-detail-edit-table td:first-child{text-align:left}.agency-invoice-select-row{cursor:pointer;transition:background .14s ease,box-shadow .14s ease}.agency-invoice-select-row:hover td{background:#f4fbff}.agency-invoice-select-row.selected td{background:#dff1ff;color:var(--blue-900);font-weight:900}.agency-invoice-select-row.selected td:first-child{box-shadow:inset 4px 0 #1687d9}.agency-invoice-select-row.detail-open td{background:#eef8ff;color:var(--blue-900)}.agency-invoice-select-row.detail-open td:first-child{box-shadow:inset 4px 0 #49b6df}.primary.compact,.secondary.compact{min-height:34px;padding:7px 12px;font-size:13px;font-weight:950;white-space:nowrap}.agency-invoice-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:#04122042;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:checkoutBackdropFadeIn .16s ease-out both}.agency-invoice-slide-drawer{display:grid;grid-template-rows:auto auto 1fr;gap:16px;width:min(760px,calc(100vw - 24px));height:100dvh;padding:24px;overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#f8fcff,#eef8ff);box-shadow:-22px 0 48px #092d4b3d;animation:checkoutDrawerSlideIn .24s cubic-bezier(.16,1,.3,1) both}.agency-invoice-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:6px}.agency-invoice-drawer-head h2{margin:4px 0 6px;color:var(--blue-900);font-size:24px;line-height:1.2}.agency-invoice-drawer-head p{margin:0;color:var(--muted);font-size:13px;font-weight:900}.agency-invoice-drawer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.agency-invoice-drawer-summary>div{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.agency-invoice-drawer-summary span{color:var(--muted);font-size:12px;font-weight:900}.agency-invoice-drawer-summary strong{color:var(--blue-900);font-size:15px;font-weight:950;line-height:1.3;overflow-wrap:anywhere}.agency-invoice-drawer-form{display:grid;align-content:start;gap:12px}.agency-invoice-drawer-form .field{margin:0}.agency-invoice-meal-editor{display:grid;gap:12px;padding:14px;border:1px solid #d8ecf8;border-radius:18px;background:#ffffffc2}.agency-invoice-meal-editor-head{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,220px);gap:12px;align-items:end}.agency-invoice-meal-editor-head strong{display:block;color:var(--blue-900);font-size:16px;font-weight:950}.agency-invoice-meal-editor-head span{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:850;line-height:1.45}.agency-invoice-meal-buttons{grid-template-columns:repeat(3,minmax(0,1fr))}.agency-invoice-meal-history{max-height:220px}.agency-invoice-meal-history .meal-history-table{width:100%;min-width:0}.agency-invoice-drawer-actions{position:sticky;bottom:-24px;display:flex;justify-content:flex-end;gap:10px;margin:8px -24px -24px;padding:14px 24px 24px;border-top:1px solid #dbeaf4;background:linear-gradient(180deg,#f8fcffd6,#f8fcff 38%)}.agency-invoice-completion-wrap{max-height:480px}.agency-invoice-row-actions{display:inline-flex;gap:8px;justify-content:center}.agency-invoice-completion-detail-row>td{padding:12px;background:#f8fcff}.agency-invoice-detail-edit-table{min-width:860px;background:#fff}.checkbox-line{display:inline-flex;align-items:center;gap:8px;min-height:38px;color:#42526a;font-size:14px;font-weight:900}.checkbox-line input{width:18px;height:18px}.status-pill{display:inline-flex;align-items:center;margin-left:6px;padding:4px 8px;border-radius:999px;color:var(--blue-800);background:#e7f7ff;font-size:11px;font-style:normal;font-weight:900}.danger-text{color:#b42318}.room-draft-row{grid-template-columns:66px minmax(110px,.7fr) minmax(130px,.8fr) minmax(170px,1fr) minmax(110px,.6fr) 58px 38px}.compact-price input{text-align:right}.hotel-excel-panel{display:grid;gap:14px}.hotel-excel-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.hotel-excel-summary span{display:grid;gap:4px;min-height:74px;padding:14px;border:1px solid #dcecf8;border-radius:14px;background:#f8fcff;color:#607187;font-size:12px;font-weight:900}.hotel-excel-summary strong{color:var(--blue-900);font-size:20px}@media(max-width:920px){.billing-stage-grid,.billing-command-grid,.agency-invoice-filter-grid,.agency-invoice-vessel-head,.agency-invoice-drawer-summary,.compact-kpis,.hotel-excel-summary,.room-draft-row{grid-template-columns:1fr}}@media(max-width:620px){.agency-invoice-slide-drawer{width:100vw;padding:18px}.agency-invoice-meal-editor-head,.agency-invoice-meal-buttons{grid-template-columns:1fr}.agency-invoice-drawer-actions{margin:8px -18px -18px;padding:12px 18px 18px}}*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 10% 0%,rgba(57,184,216,.12),transparent 34%),linear-gradient(135deg,#f8fcff,#eef8ff 48%,#f9fffc)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:grid;grid-template-columns:272px minmax(0,1fr);height:100vh;min-height:100vh;overflow:hidden}.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#ffffffdb;border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:12px;padding:10px 8px 16px;border-bottom:1px solid var(--border)}.brand-button{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.brand-button:hover .brand-mark,.brand-button:focus-visible .brand-mark{transform:translateY(-1px);box-shadow:0 16px 28px #0e6ba842}.brand-button:focus-visible{outline:3px solid rgba(14,165,233,.32);outline-offset:3px;border-radius:14px}.brand-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--blue-700),var(--cyan));box-shadow:0 12px 24px #0e6ba838;transition:transform .18s ease,box-shadow .18s ease}.brand strong,.brand span{display:block}.brand strong{color:var(--blue-900);font-size:17px}.brand span{color:var(--muted);font-size:12px;margin-top:2px}.sidebar-nav{--sidebar-nav-index: 0;--sidebar-nav-item-height: 50px;--sidebar-nav-gap: 7px;position:relative;display:grid;gap:var(--sidebar-nav-gap);isolation:isolate}.sidebar-nav:before{content:"";position:absolute;inset-inline:0;top:0;z-index:0;height:var(--sidebar-nav-item-height);border-radius:14px;background:#eaf6ff;box-shadow:inset 3px 0 0 var(--cyan),0 12px 26px #0e6ba81a;transform:translateY(calc(var(--sidebar-nav-index) * (var(--sidebar-nav-item-height) + var(--sidebar-nav-gap))));transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .18s ease;pointer-events:none}.nav-button{position:relative;z-index:1;border:0;width:100%;min-height:44px;padding:0 13px;color:#475569;background:transparent;border-radius:10px;display:flex;align-items:center;gap:10px;font-weight:700;text-align:left;transition:color .18s ease,transform .18s ease,background .18s ease}.nav-button svg{width:19px;height:19px}.nav-button:hover:not(.active),.nav-button.active{color:var(--blue-700)}.nav-button:hover:not(.active){background:#eaf6ff}.nav-button.active{background:transparent;box-shadow:none}.nav-item{position:relative;z-index:1;display:grid;gap:8px}.nav-button.has-children .nav-chevron{flex:0 0 auto;width:16px;height:16px;margin-left:auto;color:currentColor;transition:transform .18s ease}.nav-item.open .nav-chevron{transform:rotate(180deg)}.nav-submenu{position:relative;display:grid;gap:var(--sidebar-nav-gap);margin:0 0 8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;animation:navSubmenuIn .19s cubic-bezier(.22,1,.36,1) both}.nav-submenu-button{position:relative;display:flex;align-items:center;width:100%;min-height:var(--sidebar-nav-item-height);border:1px solid rgba(120,194,229,.5);border-radius:14px;padding:0 16px 0 45px;background:#eff9ffbd;color:#475569;font-size:15px;font-weight:900;line-height:1.2;text-align:left;box-shadow:inset 0 1px #fffc;transition:color .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.nav-submenu-button:before{content:"";position:absolute;left:22px;width:6px;height:6px;border-radius:999px;background:#0e6ba847;transition:background .16s ease,box-shadow .16s ease}.nav-submenu-button:hover{transform:translate(1px)}.nav-submenu-button:hover,.nav-submenu-button.active{color:var(--blue-700);background:#e8f6ff;border-color:#39b8d89e;box-shadow:inset 3px 0 0 var(--cyan),0 10px 22px #0e6ba817}.nav-submenu-button.active{background:linear-gradient(135deg,#dff2ff,#edf9ff)}.nav-submenu-button:hover:before,.nav-submenu-button.active:before{background:var(--cyan);box-shadow:0 0 0 4px #39b8d824}@keyframes navSubmenuIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar-note{margin-top:auto;display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:#f1fbf7;color:#0f766e;font-size:13px;font-weight:700}.workspace{padding:26px;min-width:0;height:100vh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.breadcrumb,.eyebrow{color:var(--blue-700);font-size:13px;font-weight:800}h1,h2,h3,p{margin:0}h1{margin-top:4px;color:var(--blue-900);font-size:30px;line-height:1.18}h2{color:var(--blue-900);font-size:19px;line-height:1.28}h3{color:var(--blue-900);font-size:18px}.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.live-clock{flex:1 1 280px;min-width:240px;display:grid;justify-items:center;gap:4px;padding:12px 18px;border:1px solid rgba(57,184,216,.22);border-radius:18px;background:#ffffffa3}.live-clock span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.live-clock strong{color:var(--blue-900);font-size:clamp(19px,2.4vw,31px);font-weight:950;line-height:1.1;font-variant-numeric:tabular-nums}.role-switch{display:flex;padding:4px;background:#eaf6ff;border:1px solid var(--border);border-radius:12px}.role-switch button{border:0;min-width:70px;height:34px;border-radius:9px;color:var(--muted);background:transparent;font-weight:800}.role-switch button.selected{color:#fff;background:var(--blue-700);box-shadow:0 8px 18px #0e6ba838}.admin-session{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px 6px 12px;border:1px solid #bfe6d8;border-radius:14px;color:#075e48;background:#ecfff6;box-shadow:0 10px 24px #075e4814}.admin-session svg{flex:0 0 auto}.admin-session span,.admin-session em,.admin-session strong{white-space:nowrap}.admin-session span{font-size:12px;font-weight:950}.admin-session strong{color:var(--blue-900);font-size:13px;font-weight:950}.admin-session em{color:#0b7a5b;font-size:12px;font-style:normal;font-weight:900}.admin-session button{min-height:32px;padding:0 10px;border:1px solid #aedfcb;border-radius:10px;color:#075e48;background:#fff;font-size:12px;font-weight:950}.admin-session button:hover{border-color:#84d5b8;background:#f7fffb}.landing-screen,.module-stack{display:grid;gap:18px}.landing-screen{min-height:100vh;padding:7vh clamp(22px,5vw,80px);place-items:center}.landing-screen .entry-grid{width:min(1120px,100%)}.landing-screen .entry-card{min-height:280px;align-items:center;justify-content:center;gap:22px;text-align:center}.landing-screen .entry-icon{width:72px;height:72px;border-radius:22px}.landing-screen .entry-icon svg{width:38px;height:38px}.landing-screen .entry-card strong{margin-top:0;font-size:clamp(32px,3.2vw,48px)}.welcome-panel{min-height:228px;padding:28px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(120deg,#fffffff0,#eaf6ffeb),linear-gradient(135deg,#39b8d840,#5cc9a729);box-shadow:var(--shadow);display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:end}.welcome-panel h2{margin-top:8px;max-width:720px;font-size:32px;line-height:1.22;letter-spacing:0}.quick-metrics,.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.welcome-panel .quick-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{min-height:102px;padding:18px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:0 12px 30px #0e6ba814;display:flex;flex-direction:column;justify-content:space-between;text-align:left}.metric-card.clickable{width:100%;color:inherit;cursor:pointer}.metric-card.clickable:hover{border-color:#7fc9eb;box-shadow:0 18px 38px #0e6ba824;transform:translateY(-1px)}.metric-card.clickable:focus-visible{outline:3px solid rgba(22,132,212,.28);outline-offset:3px}.metric-card span{color:var(--muted);font-size:13px;font-weight:800}.metric-card strong{color:var(--blue-900);font-size:clamp(20px,2vw,28px);line-height:1.1}.metric-card.blue{border-color:#39b8d861;background:linear-gradient(145deg,#fff,#eaf6ff)}.metric-card.mint{border-color:#5cc9a759;background:linear-gradient(145deg,#fff,#eefbf6)}.metric-card.amber{border-color:#f5a62359;background:linear-gradient(145deg,#fff,#fff7e7)}.receiver-kpi-card{min-height:102px;padding:18px;border:1px solid rgba(57,184,216,.36);border-radius:18px;background:linear-gradient(145deg,#fff,#eef9ff);box-shadow:0 12px 30px #0e6ba814;display:flex;flex-direction:column;justify-content:space-between;gap:8px}.receiver-kpi-card span{color:var(--muted);font-size:13px;font-weight:900}.receiver-kpi-card input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:13px;background:#ffffffeb;color:var(--blue-900);font-size:18px;font-weight:950;padding:8px 12px}.receiver-kpi-card input:disabled{border-color:#0e6ba81f;background:#e8f3fad1;color:var(--blue-900);opacity:1;cursor:not-allowed}.receiver-kpi-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.receiver-kpi-control button{min-height:42px;padding:0 14px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--blue-700),var(--cyan));color:#fff;font-size:13px;font-weight:950;white-space:nowrap;cursor:pointer}.receiver-kpi-control button:hover{filter:brightness(1.04)}.receiver-kpi-control button.edit{border:1px solid rgba(14,107,168,.18);background:#fff;color:var(--blue-700)}.receiver-kpi-card small{color:var(--muted);font-size:12px;font-weight:800}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.entry-card{min-height:180px;padding:24px;border:1px solid var(--border);border-radius:22px;background:#ffffffeb;box-shadow:var(--shadow);text-align:left;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,box-shadow .2s ease}.entry-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px #0e6ba829}.entry-icon{width:48px;height:48px;display:grid;place-items:center;color:var(--blue-700);background:#eaf6ff;border-radius:14px}.entry-icon svg{width:25px;height:25px}.entry-card strong{margin-top:12px;color:var(--blue-900);font-size:25px}.entry-card small{color:var(--muted);font-size:14px;font-weight:700}.entry-card em{width:fit-content;padding:7px 10px;border-radius:999px;color:#08607a;background:#e5f8fb;font-style:normal;font-size:12px;font-weight:900}.split-grid{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}.split-grid.wide-left{grid-template-columns:minmax(440px,.95fr) minmax(0,1.05fr)}.split-grid.wide-right{grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr)}.split-grid.single-panel{grid-template-columns:1fr}.marine-workflow,.hotel-workflow{display:grid;gap:18px}.panel{min-width:0;padding:20px;border:1px solid var(--border);border-radius:20px;background:#fffffff2;box-shadow:var(--shadow)}.danger-panel{border-color:#dc262647;background:linear-gradient(180deg,#fffffffa,#fff7f7f5)}.danger-panel .panel-header svg{color:#b42318}.danger-panel .badge{color:#9f1d1d;background:#fff1f1}.settings-danger-block{margin-top:18px;padding:16px;border:1px solid rgba(220,38,38,.28);border-radius:16px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header>div{display:flex;align-items:center;gap:10px;min-width:0}.panel-header svg{flex:0 0 auto;width:21px;height:21px;color:var(--blue-700)}.badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 9px;border-radius:999px;color:#0f5a78;background:#eaf6ff;font-size:12px;font-weight:900;white-space:nowrap}.badge.cyan{color:#0c7184;background:#e4fbff}.badge.warning{color:#8a5505;background:#fff0c7}.notice{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:12px;border:1px solid #f5d28a;border-radius:12px;color:#8a5505;background:#fff8e9;font-size:13px;font-weight:800}.form-panel{display:grid;gap:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.route{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:7px}.field.compact{gap:5px}.field span{color:#516173;font-size:12px;font-weight:900}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:11px;color:var(--blue-900);background:#fff;outline:none}input,select{min-height:42px;padding:0 12px}textarea{min-height:78px;padding:12px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 4px #39b8d829}input:disabled,textarea:disabled,select:disabled,button:disabled{cursor:not-allowed;opacity:.62}.datetime-controls{display:grid;grid-template-columns:minmax(150px,1fr) 86px 86px;gap:8px}.datetime-controls.has-unknown-button{grid-template-columns:minmax(150px,1fr) 78px 78px 112px}.datetime-controls input,.datetime-controls select,.datetime-controls button{min-width:0}.datetime-unknown-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 12px;border:1px solid #cfe8f7;border-radius:11px;color:var(--blue-800);background:#f5fbff;font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.datetime-unknown-button.active{border-color:var(--blue-700);color:var(--blue-700);background:#fff;box-shadow:0 0 0 3px #0e6ba81f,0 9px 20px #1280b324}.time-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.time-controls select{min-width:0}.crew-draft-panel{display:grid;gap:10px;padding:13px;border:1px solid var(--border);border-radius:14px;background:#fbfdff}.crew-draft-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.crew-draft-head strong{color:var(--blue-900)}.crew-draft-head span{color:var(--blue-700);font-size:13px;font-weight:900}.crew-draft-list{display:grid;gap:8px}.room-draft-list{display:grid;gap:12px}.room-draft-card{display:grid;gap:12px;padding:14px;border:1px solid #e3eff8;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fcff)}.room-draft-row{display:grid;grid-template-columns:66px minmax(150px,.9fr) minmax(170px,1fr) 64px 38px;gap:10px;align-items:end}.room-field{display:grid;gap:5px;min-width:0}.room-field span{color:#607187;font-size:11px;font-weight:900}.room-crew-list{display:grid;gap:8px;padding-top:10px;border-top:1px solid #edf4fa}.room-crew-row{display:grid;grid-template-columns:66px minmax(0,1fr) minmax(110px,.55fr);gap:10px;align-items:end}.room-draft-row input,.room-draft-row select,.room-crew-row input,.room-crew-row select{min-height:42px;min-width:0}.nationality-combobox,.agency-combobox{position:relative;min-width:0;width:100%}.nationality-combobox input,.agency-combobox input{width:100%;min-height:42px}.nationality-option-list,.agency-option-list{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;max-height:240px;overflow-y:auto;border:1px solid #cfe3f2;border-radius:14px;background:#fff;box-shadow:0 18px 44px #0f4c812e;padding:6px}.nationality-option-list button,.nationality-option-empty,.agency-option-list button,.agency-option-empty{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:38px;border:0;border-radius:10px;background:transparent;color:var(--ink);font-weight:900;text-align:left;padding:8px 10px}.nationality-option-list button:hover,.nationality-option-list button.selected,.agency-option-list button:hover,.agency-option-list button.selected{background:#eaf6ff;color:var(--blue-700)}.nationality-option-list button em{color:var(--muted);font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.nationality-option-empty,.agency-option-empty{color:var(--muted);justify-content:center;text-align:center}.room-capacity{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:999px;color:var(--blue-700);background:#eaf6ff;font-size:12px;font-weight:900}.room-draft-row .icon-button{align-self:end;width:38px;height:42px}.crew-draft-row{display:grid;grid-template-columns:72px minmax(82px,.55fr) minmax(104px,.7fr) minmax(0,1fr) minmax(90px,.55fr) 36px;gap:8px;align-items:center}.crew-index{align-self:end;display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:11px;background:#eef9ff;color:#0f5a78;font-size:12px;font-weight:900}.crew-draft-row input,.crew-draft-row select{min-height:38px;min-width:0}.add-crew-button{justify-self:start}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:34px;padding:0 12px;border:1px solid var(--border);border-radius:999px;color:#475569;background:#fff;font-size:13px;font-weight:900}.chip.active{color:#fff;border-color:var(--blue-700);background:var(--blue-700)}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.primary,.secondary,.upload-button{border:0;min-height:42px;padding:0 15px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;text-decoration:none}.primary{color:#fff;background:linear-gradient(135deg,var(--blue-700),var(--cyan));box-shadow:0 12px 24px #0e6ba833}.primary.danger{background:linear-gradient(135deg,#dc2626,#f97316)}.secondary.danger-secondary{color:#b42318;border-color:#fecaca;background:#fff5f5}.secondary,.upload-button{border:1px solid var(--border);color:var(--blue-700);background:#fff}.upload-button input{display:none}.table-wrap{max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:14px}.table-wrap.small{margin-top:14px;max-height:360px}.work-day-list{display:grid;gap:12px}.worksheet-list-header{align-items:center}.worksheet-list-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.worksheet-month-control{min-width:190px;margin:0}.worksheet-month-control input{min-height:42px;border-radius:15px;background:#f8fcff;font-weight:950;text-align:center}.month-step-button{min-height:42px;padding:0 14px;border:1px solid #d8edf8;border-radius:15px;color:var(--blue-700);background:#f8fcff;font-size:13px;font-weight:950;white-space:nowrap}.month-step-button:hover{border-color:#afe2f4;background:#eaf8ff}.work-day-group{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fbfdff}.work-day-summary{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:13px 16px;border:0;color:var(--blue-900);background:#edf8ff;cursor:pointer;list-style:none;text-align:left}.work-day-summary span{font-size:15px;font-weight:900}.work-day-summary strong{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 12px;border-radius:999px;color:var(--blue-700);background:#fff;font-size:13px}.work-day-content{overflow:hidden;transform-origin:top center;animation:workDaySlideDown .3s cubic-bezier(.2,.8,.2,1) both}.work-day-group.closing .work-day-content{animation:workDaySlideUp .32s cubic-bezier(.4,0,.2,1) both}@keyframes workDaySlideDown{0%{max-height:0;opacity:0;transform:translateY(-8px) scaleY(.97)}to{max-height:640px;opacity:1;transform:translateY(0) scaleY(1)}}@keyframes workDaySlideUp{0%{max-height:640px;opacity:1;transform:translateY(0) scaleY(1)}to{max-height:0;opacity:0;transform:translateY(-8px) scaleY(.97)}}.work-day-group .table-wrap{border:0;border-top:1px solid var(--border);border-radius:0}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px 11px;border-bottom:1px solid #edf3f8;text-align:left;vertical-align:middle;font-size:13px}th{color:#66788a;background:#f6fafd;font-size:12px;font-weight:900}.worksheet-list-table th,.worksheet-list-table td{text-align:center}.worksheet-list-table th{color:#53677d;font-weight:950}.worksheet-list-table td{color:var(--blue-900);font-weight:800}.worksheet-list-table tbody tr{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.worksheet-list-table tbody tr:hover td{background:#f0f9ff}.worksheet-list-table tbody tr.worksheet-completed td{color:#123b2a;background:#dff8e8;box-shadow:inset 0 1px #278b5c29,inset 0 -1px #278b5c1a}.worksheet-list-table tbody tr.worksheet-completed:hover td{background:#d1f1df}.worksheet-list-table tbody tr.worksheet-completed .badge{color:#fff;background:#2f8f64}.worksheet-list-table .badge{font-weight:950}.worksheet-list-table{min-width:1240px;table-layout:fixed}.worksheet-list-table th,.worksheet-list-table td{overflow-wrap:anywhere}.worksheet-col-agency{width:11%}.worksheet-col-vessel{width:13%}.worksheet-col-manager{width:10%}.worksheet-col-category{width:8%}.worksheet-col-headcount{width:6%}.worksheet-col-time{width:8%}.worksheet-col-origin{width:10%}.worksheet-col-via{width:9%}.worksheet-col-destination{width:10%}.worksheet-col-note{width:9%}.worksheet-col-action{width:6%}.worksheet-action-cell{overflow:visible}.worksheet-action-menu{display:inline-flex;align-items:center;justify-content:center;gap:6px}.worksheet-note-cell{min-width:170px;white-space:normal;line-height:1.45}.worksheet-note-cell span{display:block}.rate-list-table th,.rate-list-table td{text-align:center}.transport-rate-add-card{display:grid;grid-template-columns:minmax(120px,.8fr) repeat(4,minmax(140px,1fr)) minmax(180px,1.2fr) auto;gap:12px;align-items:end;margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:16px;background:#f6fbff}.rate-list-table input{min-width:120px;min-height:38px;padding:0 10px;font-size:14px;font-weight:850;text-align:center;background:#f8fcff}.rate-list-table td:nth-child(6) input{min-width:180px;text-align:left}.rate-list-table thead th{position:sticky;top:0;z-index:10;background:#eef8ffbd;box-shadow:0 1px #b9d7eab8,0 12px 24px #0e6ba81a;backdrop-filter:blur(18px) saturate(1.22);-webkit-backdrop-filter:blur(18px) saturate(1.22)}.restaurant-rate-panel{display:grid;gap:14px}.restaurant-rate-panel .panel-header{margin-bottom:0}.restaurant-rate-wrap{max-height:min(62vh,680px);overflow:auto;scrollbar-gutter:stable}.restaurant-rate-table{min-width:760px}.hotel-agency-rate-table{min-width:980px}.restaurant-rate-table th,.restaurant-rate-table td{text-align:center}.restaurant-rate-table input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:12px;color:var(--blue-900);background:#fff;font:inherit;font-weight:850;text-align:center}.restaurant-rate-table td:first-child input{text-align:left}.nationality-rate-table th,.nationality-rate-table td,.nationality-rate-table input,.nationality-rate-table td:first-child input{text-align:center}.hotel-agency-rate-table td:nth-child(6) input{min-width:120px;text-align:center}.restaurant-rate-table input:disabled{color:#40566c;background:#f5fbff;opacity:1}.restaurant-rate-actions{margin-top:2px}.invoice-lines-table th,.invoice-lines-table td{padding:12px 8px;font-size:13px;line-height:1.35;text-align:center;vertical-align:middle;white-space:nowrap;word-break:keep-all}tr:last-child td{border-bottom:0}.icon-button{width:32px;height:32px;flex:0 0 32px;padding:0;border:1px solid var(--border);border-radius:10px;color:var(--blue-700);background:#fff;display:inline-flex;align-items:center;justify-content:center;line-height:1}.icon-button svg{display:block;width:18px;height:18px}.locked{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;font-weight:900}.helper-text{color:var(--muted);font-size:13px;line-height:1.6}.invoice-panel{display:grid;gap:14px}.invoice-rule-note{margin:0;color:var(--muted);font-size:14px;font-weight:800;line-height:1.65}.invoice-lines-table{min-width:1400px;table-layout:fixed}.invoice-lines-table th:nth-child(1),.invoice-lines-table td:nth-child(1){width:86px}.invoice-lines-table th:nth-child(2),.invoice-lines-table td:nth-child(2){width:110px}.invoice-lines-table th:nth-child(3),.invoice-lines-table td:nth-child(3){width:150px}.invoice-lines-table th:nth-child(4),.invoice-lines-table td:nth-child(4){width:92px}.invoice-lines-table th:nth-child(5),.invoice-lines-table td:nth-child(5){width:120px}.invoice-lines-table th:nth-child(6),.invoice-lines-table td:nth-child(6){width:90px}.invoice-lines-table th:nth-child(7),.invoice-lines-table td:nth-child(7){width:86px}.invoice-lines-table th:nth-child(8),.invoice-lines-table td:nth-child(8){width:116px}.invoice-lines-table th:nth-child(9),.invoice-lines-table td:nth-child(9){width:126px}.invoice-lines-table th:nth-child(10),.invoice-lines-table td:nth-child(10){width:78px}.invoice-lines-table th:nth-child(11),.invoice-lines-table td:nth-child(11){width:82px}.invoice-lines-table th:nth-child(12),.invoice-lines-table td:nth-child(12){width:248px}.invoice-summary-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.invoice-summary-row:hover td,.invoice-summary-row.expanded td{background:#f1fbff}.invoice-summary-row.expanded td{box-shadow:inset 0 1px #bfe7f7,inset 0 -1px #bfe7f7}.invoice-detail-row td{padding:0 10px 16px;background:#f7fcff;border-bottom:1px solid #d8ecf8}.invoice-detail-dropdown{display:grid;gap:12px;width:100%;margin:0;padding:14px;overflow:hidden;border:1px solid #c9e8f6;border-radius:16px;background:#fff;box-shadow:0 14px 28px #17455f14;text-align:center;transform-origin:top center;animation:invoiceDetailSlideDown .24s cubic-bezier(.2,.8,.2,1) both}.invoice-detail-row.closing .invoice-detail-dropdown{animation:invoiceDetailSlideUp .21s cubic-bezier(.4,0,.2,1) both}@keyframes invoiceDetailSlideDown{0%{max-height:0;opacity:0;transform:translateY(-10px) scaleY(.96)}to{max-height:720px;opacity:1;transform:translateY(0) scaleY(1)}}@keyframes invoiceDetailSlideUp{0%{max-height:720px;opacity:1;transform:translateY(0) scaleY(1)}to{max-height:0;opacity:0;transform:translateY(-10px) scaleY(.96)}}.invoice-detail-header{display:flex;align-items:center;justify-content:center;gap:12px}.invoice-detail-header div{display:grid;gap:4px;justify-items:center}.invoice-detail-header strong{color:var(--blue-900);font-size:15px;font-weight:950}.invoice-detail-header span{color:var(--muted);font-size:12px;font-weight:850}.invoice-detail-table{width:100%;min-width:1080px;border-collapse:collapse;table-layout:fixed}.invoice-detail-table th,.invoice-detail-table td{padding:10px 12px;border-bottom:1px solid #e2f1f8;color:var(--blue-900);font-size:12px;font-weight:850;line-height:1.35;text-align:center;vertical-align:middle;white-space:nowrap}.invoice-detail-table th{color:#5d7187;background:#f2f8fc}.invoice-detail-table th:nth-child(1),.invoice-detail-table td:nth-child(1){width:54px;text-align:center}.invoice-detail-table th:nth-child(2),.invoice-detail-table td:nth-child(2),.invoice-detail-table th:nth-child(3),.invoice-detail-table td:nth-child(3){width:80px;text-align:center}.invoice-detail-table th:nth-child(4),.invoice-detail-table td:nth-child(4),.invoice-detail-table th:nth-child(5),.invoice-detail-table td:nth-child(5){width:120px}.invoice-detail-table th:nth-child(6),.invoice-detail-table td:nth-child(6){width:220px;text-align:center}.invoice-detail-table th:nth-child(7),.invoice-detail-table td:nth-child(7){width:170px;text-align:center}.invoice-detail-table th:nth-child(8),.invoice-detail-table td:nth-child(8){width:180px;text-align:center}.invoice-detail-table tr:last-child td{border-bottom:0}.invoice-action-cell{width:248px;white-space:nowrap}.invoice-action-cell input{width:124px;min-height:36px;margin-bottom:0;margin-right:8px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--blue-900);font:inherit;font-weight:850;text-align:center}.invoice-action-cell .small-button{width:104px;justify-content:center;white-space:nowrap;vertical-align:middle}.invoice-ready-text{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border-radius:999px;background:#e9f8ff;color:var(--blue-700);font-size:12px;font-weight:950;white-space:nowrap}.readout{min-height:42px}.readout strong{display:flex;align-items:center;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:11px;background:#f6fafd}.cell-input{width:110px;min-height:34px;padding:0 9px;text-align:center}.invoice-expense-summary{display:grid;justify-items:center;gap:2px}.invoice-expense-summary strong{color:var(--blue-900);font-size:14px;font-weight:950}.invoice-expense-detail{display:grid;gap:7px;justify-items:center}.invoice-expense-detail strong{color:var(--blue-900);font-size:12px;font-weight:950}.invoice-expense-detail-editor{display:grid;grid-template-columns:84px 84px;gap:6px;justify-content:center;width:100%}.invoice-expense-detail-editor .cell-select,.invoice-expense-detail-editor .cell-input{width:84px;min-height:32px;font-size:11px}.invoice-expense-editor{display:grid;gap:6px;justify-items:center}.cell-select{width:110px;min-height:34px;padding:0 9px;border:1px solid var(--border);border-radius:10px;background:#fff;text-align:center;font-weight:800}td small{display:block;margin-top:4px;color:var(--muted);font-size:11px;white-space:nowrap}.invoice-total{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding-top:4px}.invoice-total span{color:var(--muted);font-weight:800}.invoice-total strong{color:var(--blue-900);font-size:23px}.agency-board{display:grid;gap:12px}.agency-filter{margin-bottom:14px}.vessel-board{display:grid;gap:12px}.notice{padding:13px 16px;border-radius:16px;font-size:14px;font-weight:900}.notice.success{color:#075b4e;border:1px solid rgba(47,184,139,.34);background:#eafff8}.notice.error{color:#9f1d1d;border:1px solid rgba(230,86,86,.3);background:#fff1f1}.hotel-toolbar{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto;gap:12px;align-items:end;min-width:0;max-width:100%;margin-bottom:14px}.hotel-search input{min-height:44px}.hotel-actions{display:flex;justify-content:flex-end;gap:8px}.hotel-actions button{min-height:44px;white-space:nowrap}.room-board{display:grid;gap:14px}.vessel-dropdown{overflow:hidden;border:1px solid var(--border);border-radius:20px;background:#fbfdff}.vessel-dropdown-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;color:var(--blue-900);background:linear-gradient(90deg,#e5f6ff,#f6fbff);cursor:pointer;list-style:none}.vessel-dropdown-summary::-webkit-details-marker{display:none}.vessel-dropdown-summary:after{content:"";flex:0 0 auto;width:10px;height:10px;border-right:2px solid var(--blue-700);border-bottom:2px solid var(--blue-700);transform:rotate(45deg);transition:transform .16s ease}.vessel-dropdown[open]>.vessel-dropdown-summary:after{transform:rotate(225deg)}.vessel-summary-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}.vessel-summary-meta em{padding:8px 11px;border-radius:999px;color:#0f5a78;background:#dff7fb;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap}.vessel-room-list{display:grid;gap:14px;padding:14px;border-top:1px solid var(--border);background:#fff}.vessel-select-all{justify-self:end}.vessel-summary-checkout{flex:0 0 auto;margin-left:auto;background:#fff;box-shadow:0 10px 24px #0e6ba814}.room-card{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:#fbfdff}.room-detail-dropdown>summary{list-style:none}.room-detail-dropdown>summary::-webkit-details-marker{display:none}.room-simple-summary{display:grid;grid-template-columns:minmax(110px,.35fr) minmax(220px,1fr) minmax(180px,.55fr) 18px;align-items:center;gap:14px;min-height:82px;padding:15px 18px;cursor:pointer;background:linear-gradient(90deg,#e9f7ff,#f4fbff)}.room-simple-summary:after{content:"";width:10px;height:10px;border-right:2px solid var(--blue-700);border-bottom:2px solid var(--blue-700);transform:rotate(45deg);transition:transform .18s ease}.room-detail-dropdown[open]>.room-simple-summary:after{transform:rotate(225deg)}.room-simple-cell{display:grid;gap:5px;min-width:0}.room-simple-cell em{color:var(--muted);font-size:12px;font-style:normal;font-weight:900}.room-simple-cell strong{overflow:hidden;color:var(--blue-900);font-size:19px;font-weight:950;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.room-detail-body{border-top:1px solid var(--border);background:#fff}.room-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,#e9f7ff,#f4fbff)}.room-title{display:grid;gap:4px;min-width:0}.room-title span,.room-title em{color:var(--muted);font-size:12px;font-style:normal;font-weight:900}.room-title strong{color:var(--blue-900);font-size:20px;line-height:1.2}.room-edit-grid{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(180px,.8fr) minmax(210px,auto);gap:12px;align-items:end;padding:14px 16px;border-bottom:1px solid #edf4fa}.room-select-all{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 13px;border:1px solid var(--border);border-radius:13px;color:var(--blue-900);background:#fff;font-size:13px;font-weight:900}.room-select-all input,.room-guest-row>input{width:18px;height:18px;min-height:auto;accent-color:var(--blue-700)}.room-guest-list{display:grid}.room-guest-row{display:grid;grid-template-columns:auto minmax(170px,.75fr) minmax(260px,1fr) minmax(260px,.9fr);gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #edf3f8}.room-guest-row:last-child{border-bottom:0}.guest-edit-grid{display:grid;grid-template-columns:minmax(150px,1fr) minmax(110px,.65fr);gap:10px}.guest-edit-grid input,.room-edit-grid input,.room-edit-grid select{min-height:42px}.meal-chip-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.meal-chip{min-width:64px;padding:7px 9px;border:1px solid #dbe8f1;border-radius:999px;color:#5a6e82;background:#fff;font-size:12px;font-weight:950;text-align:center}.meal-chip.active{color:#075b4e;border-color:#2fb88b40;background:#dffbf2}.checkout-command-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border:1px solid #d8edf8;border-radius:16px;background:#f5fbff}.checkout-command-bar span{color:var(--muted);font-size:13px;font-weight:900}.hotel-history-table{min-width:1120px}.hotel-history-table th,.hotel-history-table td{text-align:center}.hotel-history-table th{color:#53677d;font-weight:950}.hotel-history-table td{color:var(--blue-900);font-weight:800}.hotel-view-switch{position:relative;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;margin-bottom:14px;border:1px solid var(--border);border-radius:15px;background:#f4fbff;isolation:isolate;overflow:hidden}.hotel-view-switch:before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 18px)/2);border-radius:11px;background:var(--blue-700);box-shadow:0 8px 18px #0e6ba82e;transform:translate(0);transition:transform .22s ease;z-index:0}.hotel-view-switch.mode-table:before{transform:translate(calc(100% + 6px))}.hotel-view-switch button{position:relative;z-index:1;min-height:38px;padding:0 16px;border:0;border-radius:11px;color:#52677e;background:transparent;font-weight:950;white-space:nowrap}.hotel-view-switch button.selected{color:#fff;background:transparent;box-shadow:none}.stay-sticky-command-panel{display:grid;gap:12px;margin-bottom:16px}.stay-sticky-command-panel .hotel-view-switch,.stay-sticky-command-panel .hotel-toolbar,.stay-sticky-command-panel .stay-selection-toolbar{margin-bottom:0}.stay-sticky-command-panel .hotel-view-switch{width:max-content}.hotel-toolbar.hotel-toolbar-expanded{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));align-items:end}.hotel-toolbar.hotel-toolbar-expanded .field{min-width:0;margin-bottom:0}.stay-selection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:13px 14px;border:1px solid #d8edf8;border-radius:16px;background:#f6fbff}.stay-selection-toolbar>strong{color:var(--blue-900);font-size:16px;font-weight:950;white-space:nowrap}.stay-selection-toolbar>span{color:var(--muted);font-weight:900}.stay-selection-toolbar>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:flex-end}.stay-selection-toolbar button{white-space:nowrap}.bulk-breakfast-date{display:grid;gap:4px;min-width:150px}.bulk-breakfast-date span{color:#53677d;font-size:11px;font-weight:950}.bulk-breakfast-date input{min-height:48px;padding-inline:12px;font-size:14px;font-weight:900}.stay-card-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px}.stay-card{display:grid;gap:14px;min-width:0;padding:18px;border:1px solid #d7e6f0;border-radius:24px;background:#fff;box-shadow:0 12px 30px #0e6ba812;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.stay-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0e6ba81f}.stay-card.selected{border-color:#1684d4;background:#e8f7ffad;box-shadow:0 0 0 3px #1684d421,0 18px 36px #0e6ba824}.stay-card-head,.stay-card-badges,.stay-card-actions,.stay-meal-summary{display:flex;align-items:center}.stay-card-head{justify-content:space-between;gap:12px}.stay-card-room-line{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.stay-card-room{color:var(--blue-900);font-size:30px;font-weight:950;line-height:1;white-space:nowrap}.stay-card-agency{flex:0 0 auto;overflow:visible;max-width:none;padding:5px 9px;border-radius:999px;color:#0b6d8e;background:#e9f8ff;font-size:12px;font-style:normal;font-weight:950;line-height:1;white-space:nowrap}.stay-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:6px}.status-pill.active{color:#057154;background:#dffbf0}.status-pill.twin{color:#244fc7;background:#e7edff}.stay-card-main{display:grid;gap:8px;min-width:0}.stay-card-main>strong{overflow:hidden;color:var(--blue-900);font-size:21px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.stay-crew-list{display:grid;gap:5px}.stay-crew-list span{overflow:hidden;color:#25384d;font-size:15px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.stay-card-meta{display:grid;gap:6px;padding:12px;border-radius:16px;background:#f7fbfe}.stay-card-meta span{color:#4a6178;font-size:13px;font-weight:900}.stay-card-time-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.stay-card-time-row em{color:inherit;font-style:normal;font-weight:inherit;white-space:nowrap}.stay-meal-summary{flex-wrap:wrap;gap:7px}.stay-meal-summary strong{color:#53677d;font-size:12px;font-weight:950;line-height:30px;white-space:nowrap}.stay-meal-summary em,.checkout-month-counts em{padding:7px 10px;border-radius:999px;color:#0f5a78;background:#e3f8fc;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap}.stay-meal-summary .breakfast-extra{color:#8a4e00;background:#fff1cd}.stay-card-actions{gap:8px}.stay-card-actions button{flex:1 1 0;min-width:0;min-height:42px;padding-inline:12px;white-space:nowrap}.amber-button{color:#8a4e00;border-color:#f5d37a;background:#fff4d6}.compact-button{min-height:34px;padding:7px 12px;font-size:13px;font-weight:950;white-space:nowrap}.stay-card-detail{display:grid;gap:0;overflow:hidden;margin:2px -4px -4px;border:1px solid #dbeaf4;border-radius:18px;background:#fff}.room-guest-row.compact{grid-template-columns:auto minmax(160px,.8fr) minmax(220px,1fr)}.stay-table-wrap{margin-top:4px}.stay-compact-table{min-width:1080px}.stay-compact-table th,.stay-compact-table td{text-align:center}.stay-compact-table td{color:var(--blue-900);font-weight:850}.stay-compact-table .selected-row{background:#e8f6ff}.small-button{min-height:36px;padding:0 12px;white-space:nowrap}.hotel-empty-state{grid-column:1 / -1;display:grid;gap:10px}.reservation-panel{display:grid;gap:16px;width:100%;max-width:100%;overflow:hidden}.reservation-steps{display:flex;flex-wrap:wrap;gap:8px}.reservation-steps span,.reservation-steps button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid #d8ecf8;border-radius:999px;color:#26526f;background:#f4fbff;font-size:13px;font-weight:950}.reservation-steps em{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;color:#fff;background:var(--blue-700);font-size:12px;font-style:normal;font-weight:950}.reservation-steps.compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-steps.compact button{justify-content:center;width:100%;border-radius:14px;cursor:pointer}.reservation-steps .selected{border-color:#8ccdec;color:var(--blue-900);background:#e9f8ff;box-shadow:0 0 0 3px #1684d41a}.reservation-tabs .selected{border-color:#8ccdec;color:var(--blue-900);background:transparent;box-shadow:none}.reservation-command-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;min-width:0}.reservation-tabs{--reservation-tab-gap: 6px;--reservation-tab-pad: 5px;--reservation-tab-index: 0;position:relative;display:inline-grid;grid-template-columns:repeat(3,minmax(96px,1fr));align-items:center;justify-items:stretch;gap:var(--reservation-tab-gap);min-width:0;max-width:100%;padding:var(--reservation-tab-pad);border:1px solid #d8ecf8;border-radius:16px;background:#f8fcff;isolation:isolate;overflow:hidden}.reservation-tabs:before{content:"";position:absolute;top:var(--reservation-tab-pad);bottom:var(--reservation-tab-pad);left:var(--reservation-tab-pad);width:calc((100% - (var(--reservation-tab-pad) * 2) - (var(--reservation-tab-gap) * 2)) / 3);border:1px solid #8ccdec;border-radius:12px;background:#e9f8ff;box-shadow:0 0 0 3px #1684d41a;transform:translate(calc(var(--reservation-tab-index) * (100% + var(--reservation-tab-gap))));transition:transform .22s ease,width .22s ease;z-index:0}.reservation-tabs.tab-groups:before{--reservation-tab-index: 0}.reservation-tabs.tab-assignment:before{--reservation-tab-index: 1}.reservation-tabs.tab-waiting:before{--reservation-tab-index: 2}.reservation-tabs button{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:0;border-radius:12px;color:#4d657c;background:transparent;font:inherit;font-size:13px;font-weight:950;line-height:1;text-align:center;white-space:nowrap;cursor:pointer}.reservation-tab-panel{display:grid;gap:12px;min-width:0;max-width:100%}.reservation-table-wrap{max-height:460px}.reservation-table{min-width:1180px}.reservation-table th,.reservation-table td{vertical-align:middle}.reservation-table th:last-child,.reservation-table td:last-child{width:360px;min-width:360px}.reservation-table td strong,.reservation-table td small{display:block}.reservation-table td small{margin-top:4px;color:var(--muted);font-size:12px;font-weight:850}.reservation-actions,.drawer-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.reservation-actions button{min-width:64px}.reservation-list-card .reservation-actions{justify-content:center}.reservation-group-card-list{display:grid;gap:10px;min-width:0}.reservation-list-card{display:grid;grid-template-columns:minmax(170px,.9fr) minmax(0,1.4fr) minmax(220px,auto);gap:12px;align-items:center;min-width:0;padding:16px;border:1px solid #d8ecf8;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fcff);text-align:center}.clickable-reservation-card{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.clickable-reservation-card:hover{border-color:#8dd5f2;box-shadow:0 14px 30px #092d4b1a;transform:translateY(-1px)}.clickable-reservation-card:focus-visible{outline:3px solid rgba(20,135,212,.28);outline-offset:3px}.reservation-list-card-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;justify-content:center;justify-items:center;min-width:0}.reservation-list-card-main strong,.reservation-list-card-main small{display:block}.reservation-list-card-main strong{overflow:hidden;color:var(--blue-900);font-size:17px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.reservation-list-card-main small{margin-top:4px;color:var(--muted);font-size:12px;font-weight:850}.reservation-list-meta{display:grid;grid-template-columns:repeat(4,minmax(95px,1fr));gap:8px;min-width:0}.reservation-list-meta span{display:grid;gap:4px;justify-items:center;min-width:0;color:var(--muted);font-size:12px;font-weight:850;text-align:center}.reservation-list-meta strong{overflow:hidden;color:var(--blue-900);font-size:13px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.reservation-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;min-width:0;max-width:100%}.reservation-tab-card-list{grid-template-columns:1fr}.reservation-tab-card-list>.empty-state{grid-column:1 / -1;width:100%}.reservation-room-card,.reservation-group-card{display:grid;gap:10px;min-width:0;padding:16px;border:1px solid #d8ecf8;border-radius:18px;background:#fff}.reservation-room-card.missing-room{border-color:#f4c568;background:#fffaf0}.reservation-select-card{cursor:pointer;border-width:2px;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.reservation-select-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0e46691a}.reservation-select-card.selected-room{border-color:#1487d4;background:#eef8ff;box-shadow:0 16px 34px #1487d429}.reservation-room-card-top{display:flex;justify-content:flex-end}.reservation-room-select-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:6px 10px;border-radius:999px;color:#5d7288;background:#f1f7fb;font-size:12px;font-weight:950}.reservation-room-select-badge.selected{color:#075985;background:#d9f2ff}.reservation-room-card>span,.reservation-group-card span{color:var(--muted);font-size:12px;font-weight:950}.reservation-room-card strong,.reservation-group-card strong{overflow-wrap:anywhere;color:var(--blue-900);font-size:18px;font-weight:950}.reservation-room-card p,.reservation-group-card p{margin:0;color:#455d75;font-size:13px;font-weight:850;line-height:1.45}.reservation-checkin-crew-editor{display:grid;gap:10px}.reservation-checkin-crew-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px;min-width:0;padding:10px;border:1px solid #dbeef9;border-radius:14px;background:#ffffffb8}.reservation-checkin-crew-row>span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 10px;border-radius:12px;color:#075985;background:#e5f7ff;font-size:12px;font-weight:950;white-space:nowrap}.reservation-group-card{grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(110px,auto);align-items:center}.reservation-group-summary{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.reservation-group-summary em{padding:7px 10px;border-radius:999px;color:#174a62;background:#e8f8ff;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap}.reservation-inline-save{display:grid;grid-template-columns:minmax(110px,1fr) auto;gap:8px}.reservation-inline-save input,.reservation-paste-box textarea,.reservation-room-card input,.reservation-form-grid textarea,.reservation-extra-grid input{width:100%;min-height:42px;border:1px solid var(--border);border-radius:12px;padding:9px 12px;color:var(--blue-900);background:#fff;font:inherit;font-weight:850}.reservation-drawer{display:grid;align-content:start;gap:16px;width:min(920px,100%);height:100dvh;max-height:100dvh;padding:24px;overflow:auto;overscroll-behavior:contain;background:#f8fcff;box-shadow:-18px 0 45px #092d4b33}.reservation-detail-note{display:grid;gap:8px;min-height:88px;padding:16px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.reservation-detail-note span{color:#51697f;font-size:13px;font-weight:950}.reservation-detail-note p{margin:0;color:var(--blue-900);font-size:17px;font-weight:850;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.reservation-form-grid,.reservation-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.reservation-schedule-grid{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:12px;align-items:start}.reservation-checkout-time-field input{min-height:42px}.reservation-form-grid .wide,.reservation-form-grid label:has(textarea){grid-column:1 / -1}.reservation-form-grid textarea{min-height:82px;resize:vertical}.reservation-room-editor{display:grid;gap:14px}.reservation-paste-box{display:grid;gap:10px;padding:12px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.reservation-room-edit-card{gap:12px}.reservation-extra-grid{grid-template-columns:minmax(160px,1fr) minmax(130px,.5fr) minmax(180px,1fr)}.reservation-crew-row{grid-template-columns:68px minmax(150px,1fr) minmax(140px,.8fr) minmax(160px,1fr)}.reservation-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reservation-summary-table{display:grid;overflow:hidden;border:1px solid #d8ecf8;border-radius:18px;background:#fff}.reservation-summary-row{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);min-height:58px;border-bottom:1px solid #e5f0f7}.reservation-summary-row:last-child{border-bottom:0}.reservation-summary-row span,.reservation-summary-row strong{display:flex;align-items:center;min-width:0;padding:13px 16px}.reservation-summary-row span{color:#51697f;background:#f2f8fc;font-size:13px;font-weight:950}.reservation-summary-row strong{overflow-wrap:anywhere;color:var(--blue-900);font-size:22px;font-weight:950;line-height:1.2}.validation-line{display:inline-flex;align-items:center;width:fit-content;min-height:30px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:950}.validation-line.ok{color:#057154;background:#dffbf0}.validation-line.error{color:#9f2a18;background:#ffe5dd}.reservation-status-reserved{color:#0f5a78;background:#e3f8fc}.reservation-status-partially_checked_in{color:#8a4e00;background:#fff1cd}.reservation-status-checked_in{color:#057154;background:#dffbf0}.reservation-status-cancelled,.reservation-status-no_show{color:#7f1d1d;background:#fee2e2}.notice.error span{display:block}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:stretch;justify-content:flex-end;overflow:hidden;background:#04122047;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:contain;touch-action:auto}.checkout-drawer{display:grid;grid-template-rows:auto;align-content:start;gap:16px;width:min(720px,100%);height:100dvh;max-height:100dvh;padding:24px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:#f8fcff;box-shadow:-18px 0 45px #092d4b33}.checkout-drawer-backdrop{animation:checkoutBackdropFadeIn .18s ease-out both}.checkout-drawer-backdrop .checkout-drawer{animation:checkoutDrawerSlideIn .26s cubic-bezier(.16,1,.3,1) both;will-change:transform}.reservation-drawer-backdrop{animation:checkoutBackdropFadeIn .18s ease-out both}.reservation-drawer-backdrop .reservation-drawer{animation:checkoutDrawerSlideIn .26s cubic-bezier(.16,1,.3,1) both;will-change:transform}.reservation-drawer-backdrop.is-closing{animation:checkoutBackdropFadeOut .18s ease-in both}.reservation-drawer-backdrop.is-closing .reservation-drawer{animation:checkoutDrawerSlideOut .24s cubic-bezier(.7,0,.84,0) both;pointer-events:none}.checkout-drawer-backdrop.is-closing{animation:checkoutBackdropFadeOut .18s ease-in both}.checkout-drawer-backdrop.is-closing .checkout-drawer{animation:checkoutDrawerSlideOut .24s cubic-bezier(.7,0,.84,0) both;pointer-events:none}@keyframes checkoutBackdropFadeIn{0%{background:#04122000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}@keyframes checkoutBackdropFadeOut{to{background:#04122000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}@keyframes checkoutDrawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes checkoutDrawerSlideOut{0%{transform:translate(0)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.checkout-drawer-backdrop,.checkout-drawer-backdrop .checkout-drawer,.reservation-drawer-backdrop,.reservation-drawer-backdrop .reservation-drawer{animation:none}}.stay-detail-backdrop{z-index:45;align-items:center;justify-content:center;padding:24px}.stay-detail-modal{display:grid;gap:18px;width:min(1040px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid #d8ecf8;border-radius:24px;background:#fff;box-shadow:0 24px 64px #0f304f38}.stay-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.stay-detail-summary>span,.stay-detail-summary .detail-summary-field{display:grid;gap:6px;padding:13px 14px;border:1px solid #dcebf5;border-radius:16px;color:var(--muted);font-size:13px;font-weight:900;background:#f7fcff}.stay-detail-summary .detail-summary-field{margin:0}.stay-detail-summary .detail-summary-field input,.stay-detail-summary .detail-summary-field select{height:42px;color:var(--blue-900);font-size:17px;font-weight:950}.stay-detail-modal.viewing input:disabled,.stay-detail-modal.viewing textarea:disabled,.stay-detail-modal.viewing select:disabled{opacity:1;color:var(--ink);background:#f8fcff;cursor:default}.stay-detail-summary>span strong{color:var(--blue-900);font-size:18px;font-weight:950}.stay-detail-crew-list{display:grid;gap:14px}.stay-detail-crew-card{display:grid;gap:14px;padding:16px;border:1px solid #d8ecf8;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fcff)}.stay-detail-crew-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.stay-detail-crew-title{display:grid;gap:7px;min-width:min(100%,300px)}.stay-detail-crew-head span,.stay-detail-crew-head em{color:var(--muted);font-size:13px;font-style:normal;font-weight:900}.stay-detail-crew-head strong{color:var(--blue-900);font-size:24px;font-weight:950}.inline-commit-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.inline-commit-field input{min-width:0}.crew-name-inline-field input,.crew-name-input{border:1px solid transparent;border-radius:10px;color:var(--blue-900);font-size:24px;font-weight:950;height:42px;padding:0 10px}.crew-name-inline-field input:hover,.crew-name-inline-field input:focus,.crew-name-input:hover,.crew-name-input:focus{border-color:var(--line);background:#fff}.crew-nationality-inline-field{max-width:280px}.crew-nationality-inline-field input,.crew-nationality-inline-field select,.crew-nationality-input input{color:var(--muted);font-size:14px;font-weight:900;height:38px;padding:0 10px}.crew-nationality-input{max-width:280px}.stay-detail-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}.stay-detail-common-edit-grid{padding:14px;border:1px solid #d8ecf8;border-radius:18px;background:#f7fcff}.stay-detail-edit-grid .datetime-field{grid-column:span 2}.stay-detail-meal-check-panel{display:flex;grid-column:span 2;gap:8px;align-items:center;min-height:58px;padding:10px;border:1px solid #d8ecf8;border-radius:14px;background:#f7fcff}.stay-detail-room-type select{min-height:42px}.stay-detail-note-field textarea{min-height:64px}.room-number-controls{display:grid;grid-template-columns:minmax(78px,1fr) auto;gap:8px}.room-number-controls .small-button{min-height:42px}.breakfast-extra-control,.stay-detail-crew-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;flex-wrap:wrap}.stay-detail-crew-actions .breakfast-extra-control{flex:1 1 auto}.stay-crew-delete-button{min-height:42px;white-space:nowrap}.breakfast-extra-date{display:grid;gap:5px;min-width:158px}.stay-detail-meal-check-panel .breakfast-extra-date{display:flex;flex:0 0 232px;align-items:center;gap:8px;min-width:0}.breakfast-extra-date input{min-height:42px}.stay-detail-meal-check-panel .breakfast-extra-date span{flex:0 0 auto;white-space:nowrap}.stay-detail-meal-check-panel .breakfast-extra-date input{width:148px;min-width:0}.breakfast-extra-control .secondary{min-height:42px;white-space:nowrap}.hotel-meal-check-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.stay-detail-meal-check-panel .hotel-meal-check-buttons .secondary{flex:1 1 88px}.stay-detail-meal-check-panel .hotel-meal-check-buttons{flex:0 1 auto;flex-wrap:nowrap;min-width:0}.stay-detail-meal-check-panel .hotel-meal-check-buttons .secondary{flex:0 1 122px;min-width:0;padding-inline:8px}.meal-history-wrap{border-radius:16px}.meal-history-table{min-width:620px}.meal-history-table th,.meal-history-table td{text-align:center;vertical-align:middle}.meal-history-table th{color:#53677d;font-weight:950;background:#f2f8fc}.meal-time-list{display:grid;gap:4px;color:var(--blue-900);font-weight:900}.meal-empty-mark{color:var(--muted);font-style:normal;font-weight:900}.muted-text{color:var(--muted);font-style:normal;font-weight:800}.table-action-row{display:flex;justify-content:center;gap:6px}.drawer-head{position:sticky;top:-24px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:-24px -24px 0;padding:24px 24px 12px;background:linear-gradient(180deg,#f8fcff 74%,#f8fcffe0)}.drawer-head h2{margin:4px 0 0;color:var(--blue-900);font-size:28px;line-height:1.15}.stay-detail-head-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}.stay-detail-save-notice{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid #a7f3d0;border-radius:999px;color:#047857;font-size:14px;font-weight:950;background:#ecfdf5;box-shadow:0 12px 26px #10b98129;animation:stayDetailSavePop .22s ease-out;white-space:nowrap}@keyframes stayDetailSavePop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.stay-detail-head-actions .danger-secondary{min-height:36px;padding-inline:12px;white-space:nowrap}.drawer-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.drawer-summary-grid>div{display:grid;gap:7px;min-width:0;padding:14px 16px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.drawer-summary-grid>div span{color:var(--muted);font-size:13px;font-weight:900}.drawer-summary-grid>div strong{color:var(--blue-900);font-size:20px;font-weight:950;line-height:1.25}.drawer-summary-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.drawer-summary-grid.compact>div{padding:12px}.drawer-summary-grid.compact>div strong{font-size:18px}.checkout-drawer-form{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:12px;align-items:end}.checkout-drawer-form .field,.checkout-drawer-form .check-line{min-width:0}.checkout-drawer-form .field:nth-child(3),.checkout-drawer-form .field:has(textarea){grid-column:1 / -1}.check-line{display:flex;align-items:center;gap:10px;min-height:64px;padding:13px 14px;border:1px solid #d8ecf8;border-radius:14px;color:var(--blue-900);background:#fff;font-weight:900;line-height:1.25}.check-line input{width:18px;height:18px;min-height:auto;flex:0 0 auto;accent-color:var(--blue-700)}.checkout-drawer-list{display:grid;gap:8px}.checkout-drawer-list>strong{color:var(--blue-900);font-size:16px;font-weight:950}.checkout-drawer-item{display:grid;grid-template-columns:88px minmax(150px,1fr) minmax(180px,1fr);align-items:center;gap:10px;padding:13px 14px;border:1px solid #d9e8f2;border-radius:14px;background:#fff}.checkout-drawer-item span{color:var(--blue-700);font-weight:950;white-space:nowrap}.checkout-drawer-item strong{color:var(--blue-900);font-weight:950;min-width:0;overflow-wrap:anywhere}.checkout-drawer-item em{color:var(--muted);font-style:normal;font-weight:900;text-align:right}.checkout-drawer-room{padding:12px 14px;border:1px solid #d9e8f2;border-radius:14px;background:#fff;color:#243a50;font-weight:900}.checkout-validation-box{display:grid;gap:10px;padding:14px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.checkout-validation-box.ok{border-color:#c9f0df;background:#f5fffb}.checkout-validation-box.warning{border-color:#f3d38a;background:#fffaf0}.checkout-validation-box.error{border-color:#f2b4b4;background:#fff6f6}.checkout-month-counts{display:flex;flex-wrap:wrap;gap:8px}.checkout-month-counts span{padding:9px 12px;border:1px solid #dbeaf4;border-radius:999px;color:var(--blue-900);background:#fff;font-size:13px;font-weight:950}.checkout-message-list{display:grid;gap:7px;padding:12px;border-radius:14px;font-size:13px;font-weight:900}.checkout-message-list.error{color:#9f1d1d;background:#fff1f1}.checkout-message-list.warning{color:#8a4e00;background:#fff4d6}.drawer-actions{position:sticky;bottom:-24px;display:flex;justify-content:flex-end;gap:10px;margin:0 -24px -24px;padding:14px 24px 24px;border-top:1px solid #dbeaf4;background:linear-gradient(180deg,#f8fcffd6,#f8fcff 36%)}.agency-card,.vessel-card{border:1px solid var(--border);border-radius:16px;background:#fbfdff;overflow:hidden}.agency-card-head{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border);background:#eaf6ff}.agency-card-head strong{color:var(--blue-900)}.vessel-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--border);background:#eaf6ff}.vessel-card-head>div:first-child{display:grid;gap:3px}.vessel-card-head span{color:var(--muted);font-size:12px;font-weight:900}.vessel-card-head strong{color:var(--blue-900);font-size:16px}.vessel-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.vessel-meta em{padding:6px 9px;border-radius:999px;color:#0f5a78;background:#dff7fb;font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.agency-card-head span{color:var(--blue-700);font-size:13px;font-weight:900}.guest-row{display:grid;grid-template-columns:auto minmax(170px,1fr) 80px 112px;gap:10px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf3f8}.guest-row:last-child{border-bottom:0}.guest-row input[type=checkbox]{width:18px;height:18px;min-height:auto;accent-color:var(--blue-700)}.guest-main{display:grid;gap:3px;min-width:0}.guest-main strong{color:var(--blue-900);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.guest-main span,.guest-main em{color:var(--muted);font-size:12px;font-style:normal}.mini-input,.mini-select{min-height:34px;padding:0 8px}.restaurant-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.meal-check-panel{display:grid;gap:18px;padding:28px}.restaurant-language-toggle{display:inline-flex;width:fit-content;padding:4px;border:1px solid var(--border);border-radius:14px;background:#f5fbff}.restaurant-language-toggle button{min-height:34px;padding:0 14px;border:0;border-radius:10px;color:var(--blue-700);background:transparent;font-size:13px;font-weight:900}.restaurant-language-toggle button.active{color:#fff;background:var(--blue-700)}.room-search{display:grid;gap:9px}.room-search span{color:var(--muted);font-size:13px;font-weight:900}.room-search div{display:flex;align-items:center;gap:12px;min-height:90px;padding:0 22px;border:2px solid rgba(57,184,216,.36);border-radius:18px;background:#f8fcff}.room-search svg{color:var(--blue-700)}.room-search input{min-height:66px;border:0;padding:0;background:transparent;font-size:44px;font-weight:900;box-shadow:none}.meal-bands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.meal-bands span{min-height:48px;padding:0 10px;border:1px solid var(--border);border-radius:14px;display:grid;place-items:center;color:var(--muted);background:#fff;font-size:13px;font-weight:900;text-align:center}.meal-bands span.active{color:#0f5a78;border-color:#39b8d866;background:#e5f8fb}.crew-select-list{display:grid;gap:10px}.crew-option{border:1px solid var(--border);border-radius:16px;background:#fff;padding:14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left}.crew-option svg{color:var(--blue-700)}.crew-option strong{color:var(--blue-900);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.crew-option span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.crew-label,.crew-option .crew-label{display:inline-flex;align-items:center;width:fit-content;margin-top:0;padding:4px 7px;border-radius:999px;color:#0f5a78;background:#e5f8fb;font-size:11px;font-weight:900;line-height:1}.crew-label.english{color:#0e6ba8;background:#eaf6ff}.crew-option em{padding:8px 11px;border-radius:999px;color:#fff;background:var(--blue-700);font-size:12px;font-style:normal;font-weight:900}.empty-state{min-height:130px;border:1px dashed var(--border);border-radius:16px;display:grid;place-items:center;color:var(--muted);background:#fbfdff;font-weight:800}.timeline{display:grid;gap:12px}.restaurant-history-panel .timeline{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.timeline-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.dot{width:11px;height:11px;border-radius:50%;background:var(--mint)}.dot.warning{background:var(--amber)}.timeline-item strong{color:var(--blue-900);font-size:14px}.timeline-item span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.timeline-item em{color:#8a5505;font-size:12px;font-style:normal;font-weight:900}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0b1f3357;z-index:20}.room-change-confirm-backdrop,.stay-cancel-confirm-backdrop{z-index:70}.rate-delete-confirm-backdrop{z-index:80}.confirm-modal{width:min(420px,100%);padding:26px;border-radius:22px;background:#fff;box-shadow:0 34px 90px #0b1f3338;display:grid;gap:14px;text-align:center}.confirm-modal svg{justify-self:center;width:44px;height:44px;color:var(--amber)}.confirm-modal p{color:var(--muted);font-weight:800}.rate-delete-confirm-modal{width:min(520px,100%);text-align:left}.rate-delete-confirm-modal svg{justify-self:start;color:var(--red)}.rate-delete-confirm-modal h3{color:var(--blue-900);font-size:24px;font-weight:950}.rate-delete-target{display:grid;gap:6px;padding:14px;border:1px solid #fed7aa;border-radius:16px;background:#fff7ed}.rate-delete-target strong,.rate-delete-target em{color:var(--blue-900);font-style:normal;font-weight:950}.rate-delete-target span{color:#5b6e82;font-size:14px;font-weight:850}.rate-delete-reason textarea{min-height:92px}.worksheet-expense-field{display:grid;gap:8px;text-align:left}.worksheet-expense-field span{color:var(--blue-900);font-size:13px;font-weight:950}.worksheet-expense-field select{min-height:44px;border:1px solid #cfe5f5;border-radius:14px;padding:0 12px;background:#f8fcff;color:var(--blue-900);font-size:15px;font-weight:950}.worksheet-expense-field div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 12px;border:1px solid #cfe5f5;border-radius:14px;background:#f8fcff}.worksheet-time-field .worksheet-time-controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:0;background:transparent}.worksheet-expense-field input{min-height:42px;border:0;padding:0;background:transparent;color:var(--blue-900);font-size:22px;font-weight:950;text-align:right;box-shadow:none}.worksheet-expense-field input:disabled{color:var(--muted);cursor:not-allowed}.worksheet-expense-field strong{color:var(--muted);font-size:14px;font-weight:950}.worksheet-time-cell{text-align:center;vertical-align:middle;line-height:1.25}.worksheet-time-cell span{display:block;font-weight:950}.worksheet-time-cell em{display:block;margin-top:4px;color:var(--blue-700);font-size:12px;font-style:normal;font-weight:900;white-space:nowrap}.room-move-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-move-summary span{display:grid;gap:6px;padding:12px;border:1px solid #d8ecf8;border-radius:14px;color:var(--muted);background:#f7fcff;font-size:12px;font-weight:900;text-align:left}.room-move-summary strong{color:var(--blue-900);font-size:22px;font-weight:950}.confirm-modal .button-row{justify-content:center}.password-modal input{text-align:center;font-size:24px;font-weight:900;letter-spacing:0}.form-error{color:var(--red);font-size:13px;font-weight:900}.field .room-number-error{color:var(--red);font-size:13px;font-weight:950}.revenue-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px;background:linear-gradient(135deg,#eaf6ffe0,#eefbf6e6),#fff}.revenue-hero h2{margin-top:5px;font-size:32px}.revenue-hero p{margin-top:8px;color:var(--muted);font-weight:700}.donut{width:154px;height:154px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#fff 52%,transparent 53%),conic-gradient(var(--blue-700),var(--cyan),var(--mint),var(--amber),var(--blue-700))}.donut span{max-width:92px;color:var(--blue-900);font-size:14px;font-weight:900;text-align:center}.summary-list{display:grid;gap:10px;margin:14px 0}.reset-summary-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-list span{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 14px;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:#fbfdff;font-weight:800}.danger-panel .summary-list span{background:#ffffffe6}.summary-list strong{color:var(--blue-900)}.meal-counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.meal-counts em{padding:5px 8px;border-radius:999px;color:#0f5a78;background:#e5f8fb;font-style:normal;font-size:12px;line-height:1;white-space:nowrap}.bar-stack{display:grid;gap:16px}.revenue-bar{display:grid;gap:8px}.revenue-bar>div{display:flex;justify-content:space-between;gap:12px}.revenue-bar span{color:var(--muted);font-weight:800}.revenue-bar strong{color:var(--blue-900)}.revenue-bar em{height:12px;border-radius:999px;background:#eaf2f8;overflow:hidden}.revenue-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue-700),var(--cyan),var(--mint))}body{color:var(--text)}button,input,select,textarea{letter-spacing:0}.app-shell{grid-template-columns:252px minmax(0,1fr)}.sidebar{padding:22px 18px;background:#ffffffe8;box-shadow:12px 0 40px #0e6ba80f}.brand-mark{width:48px;height:48px;border-radius:14px;font-size:19px}.brand strong{font-size:18px;font-weight:950}.brand span{font-size:13px;font-weight:700}.nav-button{min-height:50px;padding:0 16px;border-radius:14px;font-size:15px;font-weight:850}.nav-button svg{width:21px;height:21px}.workspace{padding:clamp(20px,2.2vw,34px)}.topbar{align-items:flex-start;gap:24px;margin-bottom:24px}.breadcrumb,.eyebrow{font-size:14px;font-weight:950}h1{font-size:clamp(30px,2.4vw,42px);font-weight:950;line-height:1.08}h2{font-size:clamp(20px,1.45vw,24px);font-weight:950}h3{font-weight:950}.live-clock{border-radius:20px;background:#ffffffc2;box-shadow:0 16px 38px #0e6ba814}.live-clock strong{font-size:clamp(20px,1.8vw,26px);font-weight:950}.quick-metrics,.kpi-grid{gap:16px}.metric-card,.receiver-kpi-card{min-height:116px;padding:20px;border-radius:20px;box-shadow:0 16px 38px #0e6ba817}.metric-card span,.receiver-kpi-card span{font-size:14px;font-weight:950}.metric-card strong{font-size:clamp(26px,2.2vw,34px);font-weight:950}.entry-card{border-radius:24px}.panel{padding:clamp(20px,1.7vw,28px);border-radius:22px;box-shadow:0 22px 70px #0e6ba81c}.panel-header{margin-bottom:20px}.panel-header>div>svg{box-sizing:content-box;width:22px;height:22px;padding:8px;border-radius:12px;background:#edf8ff}.badge{min-height:30px;padding:6px 12px;font-size:13px;font-weight:950}.notice{border-radius:16px;line-height:1.55}.form-grid{gap:14px 16px}.field{gap:8px}.field span,.room-field span,.room-search span{color:#40566c;font-size:13px;font-weight:950}input,select,textarea{border-radius:14px;background:#fff;font-size:16px;font-weight:750;box-shadow:inset 0 1px #0e6ba80a}input,select{min-height:48px;padding:0 14px}textarea{min-height:92px;padding:14px;line-height:1.55}.chip{min-height:38px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:950}.primary,.secondary,.upload-button{min-height:48px;padding:0 18px;border-radius:14px;font-size:15px}.primary{transition:filter .16s ease,transform .16s ease}.primary:hover{filter:brightness(1.02);transform:translateY(-1px)}.secondary,.upload-button,.icon-button{transition:background .16s ease,border-color .16s ease,transform .16s ease}.secondary:hover,.upload-button:hover,.icon-button:hover{border-color:#b8d9ee;background:#f5fbff}.table-wrap{border-radius:16px;background:#fff}th,td{padding:14px 13px;font-size:14px}th{font-size:13px;font-weight:950}.worksheet-list-table td,.hotel-history-table td,.rate-list-table td,.invoice-lines-table td{font-size:14px;font-weight:850}.work-day-list{gap:14px}.work-day-group{border-radius:18px;box-shadow:0 10px 28px #0e6ba80f}.work-day-summary{min-height:62px;padding:14px 18px}.work-day-summary span{font-size:17px;font-weight:950}.work-day-summary strong{min-height:32px;padding:0 14px;font-size:14px;font-weight:950}.worksheet-note-cell{line-height:1.55}.hotel-toolbar{grid-template-columns:minmax(190px,.65fr) minmax(260px,1fr) auto;gap:14px;padding:12px;border:1px solid #dcebf5;border-radius:18px;background:#f7fcff}.hotel-actions button{min-height:48px}.room-board{gap:16px}.vessel-dropdown{border-radius:22px;box-shadow:0 14px 34px #0e6ba812}.vessel-dropdown-summary{min-height:76px;padding:18px 20px}.vessel-summary-meta em{font-size:13px}.vessel-room-list{padding:16px}.room-card{border-radius:20px;box-shadow:0 14px 34px #0e6ba814}.room-card-head{padding:18px}.room-title strong{font-size:22px;font-weight:950}.room-title span,.room-title em{font-size:13px}.room-edit-grid,.room-guest-row{padding:16px 18px}.room-select-all{min-height:48px;font-size:14px}.meal-chip{min-width:72px;padding:8px 10px;font-size:13px}.checkout-command-bar{padding:14px 16px}.checkout-command-bar span{font-size:14px;line-height:1.55}.hotel-history-table{min-width:1180px}.agency-card,.vessel-card{border-radius:18px}.vessel-card-head,.agency-card-head{padding:15px 16px}.vessel-card-head strong{font-size:18px;font-weight:950}.guest-row{padding:14px 16px}.guest-main strong{font-size:16px;font-weight:950}.restaurant-layout,.meal-check-panel{gap:20px}.room-search div{min-height:104px;padding:0 24px;border-radius:20px;background:#fbfdff}.room-search input{font-size:clamp(38px,4vw,56px);font-weight:950}.meal-bands span{min-height:52px;font-size:14px}.crew-option{padding:16px;border-radius:18px}.crew-option strong{font-size:16px;font-weight:950}.timeline-item{padding:14px;border-radius:16px}.settings-tabs{position:sticky;top:18px;z-index:18;display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #d8edf8;border-radius:18px;background:#f7fcffad;box-shadow:0 14px 34px #0e6ba814;backdrop-filter:blur(18px) saturate(1.24);-webkit-backdrop-filter:blur(18px) saturate(1.24)}.settings-tabs-animated{--settings-tab-count: 1;--settings-tab-index: 0;display:grid;grid-template-columns:repeat(var(--settings-tab-count),minmax(0,1fr));gap:0;overflow:visible}.settings-tabs-animated:before{content:"";position:absolute;top:8px;left:8px;z-index:0;width:calc((100% - 16px) / var(--settings-tab-count));height:calc(100% - 16px);border-radius:13px;background:var(--blue-700);box-shadow:0 10px 24px #0e6ba82e;transform:translate(calc(var(--settings-tab-index) * 100%));transition:transform .26s cubic-bezier(.22,1,.36,1),width .26s ease;pointer-events:none}.settings-tabs button{position:relative;z-index:1;min-height:44px;padding:0 16px;border:0;border-radius:13px;color:#50677e;background:transparent;font-size:14px;font-weight:950;white-space:nowrap;transition:color .18s ease,transform .18s ease}.settings-tabs button.active{color:#fff;background:var(--blue-700);box-shadow:0 10px 24px #0e6ba82e}.settings-tabs-animated button.active{background:transparent;box-shadow:none}.settings-tabs-animated button:active{transform:scale(.98)}.settings-rate-menu{position:relative;z-index:2;display:flex;min-width:0}.settings-rate-menu:after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}.settings-rate-menu-trigger{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px}.settings-rate-menu-trigger svg{flex:0 0 auto;transition:transform .18s ease}.settings-rate-menu.open .settings-rate-menu-trigger svg,.settings-rate-menu:hover .settings-rate-menu-trigger svg,.settings-rate-menu:focus-within .settings-rate-menu-trigger svg{transform:rotate(180deg)}.settings-rate-dropdown{position:absolute;top:calc(100% + 10px);left:50%;z-index:30;min-width:210px;padding:8px;border:1px solid #cfe5f4;border-radius:16px;background:#fffffffa;box-shadow:0 18px 42px #0a467829;opacity:0;transform:translate(-50%,-8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease}.settings-rate-menu.open .settings-rate-dropdown,.settings-rate-menu:hover .settings-rate-dropdown,.settings-rate-menu:focus-within .settings-rate-dropdown{opacity:1;transform:translate(-50%);pointer-events:auto}.settings-rate-dropdown button{width:100%;min-height:42px;justify-content:flex-start;padding:0 14px;border-radius:12px;color:#0d4268;background:transparent;text-align:left}.settings-rate-dropdown button:hover,.settings-rate-dropdown button:focus-visible,.settings-rate-dropdown button.active{color:#075985;background:#e8f6ff;box-shadow:none}@media(max-width:760px){.settings-tabs-animated{display:flex;overflow-x:auto}.settings-tabs-animated:before{display:none}.settings-tabs-animated button.active{background:var(--blue-700);box-shadow:0 10px 24px #0e6ba82e}.settings-rate-menu{flex:0 0 auto}.settings-rate-dropdown{left:0;transform:translateY(-8px)}.settings-rate-menu.open .settings-rate-dropdown,.settings-rate-menu:hover .settings-rate-dropdown,.settings-rate-menu:focus-within .settings-rate-dropdown{transform:translateY(0)}}.audit-log-viewer,.audit-log-command-panel{display:grid;gap:18px}.audit-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px}.audit-summary-card{padding:16px;border:1px solid #dbeaf4;border-radius:16px;background:#f8fcff}.audit-summary-card span,.audit-detail-grid span{display:block;color:#52677d;font-size:13px;font-weight:950}.audit-summary-card strong{display:block;margin-top:8px;color:var(--blue-900);font-size:24px;font-weight:950}.audit-filter-grid{display:grid;grid-template-columns:minmax(280px,1.5fr) minmax(290px,1.4fr) repeat(3,minmax(140px,1fr));gap:12px;align-items:end}.audit-period-field{min-width:0}.audit-period-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.audit-period-inputs em{color:#61748a;font-style:normal;font-weight:950}.audit-risk-only{min-height:48px;align-items:center;padding:0 14px;border:1px solid #d8edf8;border-radius:14px;background:#f8fcff;font-weight:900}.audit-filter-actions{margin-top:0;justify-content:flex-start}.audit-table-wrap{overflow-x:auto}.audit-log-table{min-width:1180px}.audit-log-table th,.audit-log-table td{vertical-align:middle}.audit-log-table td{font-weight:800}.audit-risk-row td{background:#fff9ef}.audit-record-panel{padding:22px}.audit-record-list{display:grid;gap:14px}.audit-log-record{display:grid;gap:10px;padding:18px;border:1px solid #d8e8f3;border-radius:18px;background:#fff;box-shadow:0 10px 26px #1141660f}.audit-risk-record{border-color:#ffd18d;background:#fffaf1}.audit-record-labels,.audit-record-main{display:grid;grid-template-columns:170px 120px 110px 110px minmax(260px,1fr);gap:12px;align-items:center}.audit-record-labels{padding-bottom:8px;border-bottom:1px solid #e6f0f7;color:#61748a;font-size:13px;font-weight:950}.audit-record-main{color:var(--blue-900)}.audit-record-main strong{min-width:0;font-size:16px;font-weight:950;word-break:keep-all}.audit-record-main strong:last-child{word-break:break-word}.audit-record-detail-line{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;align-items:start;color:#304258;font-size:15px}.audit-record-detail-line span{color:#61748a;font-weight:950}.audit-record-detail-line strong{font-weight:900;line-height:1.45;word-break:break-word}.audit-record-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px}.audit-record-safe{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;color:#52677d;background:#f2f8fc;font-size:12px;font-weight:950}.audit-empty-state{display:grid;gap:8px;justify-items:center;padding:40px 20px;border:1px dashed #bcd9eb;border-radius:18px;color:#61748a;background:#f8fcff;text-align:center}.audit-empty-state strong{color:var(--blue-900);font-size:18px;font-weight:950}.audit-action-badge{display:inline-flex;align-items:center;justify-content:center;min-width:66px;min-height:30px;padding:0 10px;border-radius:999px;color:#075b4e;background:#dffbf2;font-size:12px;font-weight:950;white-space:nowrap}.audit-action-badge.action-delete,.audit-action-badge.action-meal-delete,.audit-action-badge.action-billing-unlock{color:#8d2a18;background:#ffe3d9}.audit-action-badge.action-billing-update,.audit-action-badge.action-setting-update,.audit-action-badge.action-excel-export{color:#005f8b;background:#ddf4ff}.audit-target-cell strong{display:block;color:var(--blue-900)}.audit-risk-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.audit-risk-badges em{padding:4px 8px;border-radius:999px;color:#8d4a00;background:#fff0c7;font-size:11px;font-style:normal;font-weight:950}.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:#52677d;font-weight:950}.audit-permission-panel h3{margin:8px 0;color:var(--blue-900);font-size:24px}.audit-detail-modal{position:relative;width:min(1040px,calc(100vw - 40px));max-height:calc(100vh - 70px);overflow:auto;padding:30px;border:1px solid #d6e9f5;border-radius:24px;background:#fff;box-shadow:0 34px 90px #08264247}.modal-close-button{position:absolute;top:20px;right:20px}.audit-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.audit-detail-grid>div{padding:14px;border:1px solid #dbeaf4;border-radius:15px;background:#f8fcff}.audit-detail-grid .wide{grid-column:span 3}.audit-detail-grid strong{display:block;margin-top:8px;color:var(--blue-900);font-size:16px;font-weight:950;word-break:break-word}.audit-compare-table{min-width:760px}.audit-compare-table th,.audit-compare-table td{vertical-align:top}.audit-raw-details{margin-top:16px;border:1px solid #dbeaf4;border-radius:15px;background:#f8fcff}.audit-raw-details summary{cursor:pointer;padding:14px 16px;color:#52677d;font-weight:950}.audit-raw-details pre{max-height:280px;overflow:auto;margin:0;padding:16px;border-top:1px solid #dbeaf4;color:#213246;white-space:pre-wrap}@media(max-width:1180px){.app-shell{grid-template-columns:92px minmax(0,1fr)}.audit-summary-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.audit-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-record-labels,.audit-record-main{grid-template-columns:150px 110px 100px 100px minmax(220px,1fr)}.sidebar{padding:18px 12px}.sidebar-nav{--sidebar-nav-item-height: 48px}.brand{justify-content:center}.brand div:not(.brand-mark),.nav-button span,.sidebar-note{display:none}.nav-button{justify-content:center;padding:0;min-height:48px}.nav-submenu{position:absolute;top:0;left:calc(100% + 10px);z-index:30;min-width:176px;margin:0;padding:0}.split-grid,.split-grid.wide-left,.split-grid.wide-right,.restaurant-layout,.welcome-panel{grid-template-columns:1fr}.quick-metrics,.welcome-panel .quick-metrics,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-toolbar,.room-guest-row{grid-template-columns:1fr}.hotel-toolbar{padding:10px}.hotel-actions,.meal-chip-row{justify-content:flex-start}}@media(max-width:760px){body{overflow:auto}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{position:static;height:auto;padding:12px;flex-direction:row;overflow-x:auto}.brand{border-bottom:0;padding:0}nav{display:flex;min-width:max-content}.nav-button{width:42px;flex:0 0 42px}.workspace{padding:18px 14px;height:auto;overflow:visible;overscroll-behavior:auto}.panel{padding:18px;border-radius:18px}.topbar,.revenue-hero{align-items:stretch;flex-direction:column}.live-clock{min-width:0}h1{font-size:28px}.metric-card{min-height:96px}.welcome-panel h2,.revenue-hero h2{font-size:25px}.entry-grid,.landing-screen .entry-grid,.quick-metrics,.welcome-panel .quick-metrics,.kpi-grid,.form-grid,.form-grid.route,.transport-rate-add-card,.reservation-steps.compact,.reservation-form-grid,.reservation-schedule-grid,.reservation-extra-grid,.reservation-summary-grid,.reservation-summary-row,.audit-filter-grid,.meal-bands,.audit-period-inputs{grid-template-columns:1fr}.datetime-controls,.datetime-controls.has-unknown-button{grid-template-columns:1fr 72px 72px}.datetime-unknown-button{grid-column:1 / -1;min-height:40px}.audit-period-inputs em{text-align:center}.audit-record-labels{display:none}.audit-record-main{grid-template-columns:1fr;gap:8px}.audit-record-main strong:before{display:block;margin-bottom:2px;color:#61748a;font-size:12px;font-weight:950}.audit-record-main strong:nth-child(1):before{content:"작업시간"}.audit-record-main strong:nth-child(2):before{content:"작업자"}.audit-record-main strong:nth-child(3):before{content:"메뉴"}.audit-record-main strong:nth-child(5):before{content:"대상"}.audit-record-footer,.worksheet-list-header{align-items:stretch;flex-direction:column}.worksheet-list-header-actions{justify-content:flex-start}.worksheet-month-control{flex:1 1 190px}.datetime-controls{grid-template-columns:1fr 1fr}.datetime-controls input{grid-column:1 / -1}.guest-row,.crew-draft-row,.room-draft-row,.room-simple-summary,.room-crew-row,.reservation-crew-row,.reservation-list-card,.reservation-group-card,.room-edit-grid,.guest-edit-grid,.crew-option{grid-template-columns:1fr}.room-crew-row{padding-left:0}.vessel-card-head{align-items:flex-start;flex-direction:column}.vessel-meta{justify-content:flex-start}.room-card-head,.vessel-dropdown-summary,.checkout-command-bar{align-items:flex-start;flex-direction:column}.vessel-summary-meta{justify-content:flex-start;margin-left:0}.vessel-summary-checkout{margin-left:0}.vessel-room-list{padding:12px}.room-card-head,.room-edit-grid,.room-guest-row{padding:14px}.guest-row input[type=checkbox]{justify-self:start}.invoice-total{align-items:stretch;flex-direction:column}}@media(min-width:921px){.room-draft-row{grid-template-columns:66px minmax(110px,.7fr) minmax(130px,.8fr) minmax(170px,1fr) minmax(110px,.6fr) 58px 38px}}@media(min-width:1360px){.stay-card-grid{grid-template-columns:repeat(4,minmax(260px,1fr))}}@media(max-width:1100px){.stay-card-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.reservation-list-card,.reservation-group-card{grid-template-columns:1fr;align-items:stretch}.reservation-actions,.reservation-group-summary{justify-content:flex-start}.reservation-actions button{flex:1 1 120px}.hotel-toolbar-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-selection-toolbar{align-items:flex-start;flex-direction:column}.stay-detail-edit-grid{grid-template-columns:minmax(190px,.8fr) minmax(230px,1fr)}.stay-detail-edit-grid .field:has(.datetime-controls),.stay-detail-meal-check-panel{grid-column:1 / -1}}@media(max-width:680px){.stay-card-grid,.reservation-card-grid,.reservation-list-meta,.hotel-toolbar-expanded,.drawer-summary-grid,.stay-detail-summary,.stay-detail-edit-grid,.checkout-drawer-form,.checkout-validation-box{grid-template-columns:1fr}.checkout-drawer,.reservation-drawer{width:100%;padding:18px}.checkout-drawer .drawer-head,.reservation-drawer .drawer-head{top:-18px;margin:-18px -18px 0;padding:18px 18px 10px}.checkout-drawer-item{grid-template-columns:1fr;text-align:left}.checkout-drawer-item em{text-align:left}.drawer-actions{bottom:-18px;margin:0 -18px -18px;padding:14px 18px 18px}.stay-detail-backdrop{padding:0}.stay-detail-modal{width:100%;height:100%;max-height:none;border-radius:0}.stay-detail-crew-head{align-items:flex-start;flex-direction:column}.breakfast-extra-control,.breakfast-extra-control .secondary,.breakfast-extra-date,.stay-detail-meal-check-panel,.hotel-meal-check-buttons,.bulk-breakfast-date{width:100%}.stay-detail-meal-check-panel{flex-direction:column;align-items:stretch;grid-template-columns:1fr}.stay-detail-meal-check-panel .breakfast-extra-date{flex:1 1 auto;width:100%}.hotel-meal-check-buttons{justify-content:stretch}.stay-card-actions,.drawer-actions,.drawer-footer,.reservation-command-row,.stay-selection-toolbar>div{flex-direction:column;width:100%}.stay-card-actions button,.drawer-actions button,.drawer-footer button,.stay-selection-toolbar button{width:100%}.room-number-controls{grid-template-columns:1fr}}
