: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)}.revenue-workspace{--sales-glass-bg: #f7faf9;--sales-glass-strong: #ffffff;--sales-glass-border: rgba(255, 255, 255, .88);--sales-glass-blur: 20px;--sales-panel-radius: 8px;--sales-panel-shadow: 0 22px 56px rgba(29, 56, 59, .12);--sales-text-primary: #142b30;--sales-text-secondary: #536d70;--sales-text-tertiary: #718586;--sales-line: rgba(78, 111, 111, .17);--sales-accent: #229ec2;--sales-mint: #35be92;--sales-amber: #dca73e;--sales-coral: #dc6c65;position:relative;isolation:isolate;color:var(--sales-text-primary);background-color:#edf2f0;background-image:linear-gradient(132deg,rgba(202,235,233,.82) 0%,transparent 36%),linear-gradient(318deg,rgba(249,232,192,.58) 0%,transparent 31%),linear-gradient(180deg,#f8faf9,#eaf1ef)}.revenue-workspace:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.28;background-image:linear-gradient(rgba(40,92,91,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(40,92,91,.09) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 48%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.5) 48%,transparent 100%)}.revenue-workspace>*{position:relative;z-index:1}.revenue-workspace .topbar{align-items:end;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(69,105,104,.2)}.revenue-workspace .breadcrumb{color:#187f87}.revenue-workspace .topbar h1{color:#132b31;font-size:40px;font-weight:900;line-height:1.1}.revenue-topbar-subtitle{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:8px;color:#607677;font-size:12px;font-weight:650;line-height:1.45}.revenue-topbar-subtitle strong{color:#24646a;font-weight:800}.revenue-topbar-subtitle i{width:3px;height:3px;border-radius:50%;background:#89a4a2}.revenue-workspace .field.compact input[type=month]{min-height:44px;padding-inline:14px;border:1px solid rgba(75,112,111,.24);border-radius:var(--sales-panel-radius);color:var(--sales-text-primary);background:#fbfdfc;box-shadow:0 10px 26px #1e414217;font-weight:800;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.revenue-workspace .field.compact input[type=month]:hover{border-color:#229ec275;background-color:#fff}.revenue-workspace .field.compact input[type=month]:focus-visible{outline:3px solid rgba(22,139,183,.2);outline-offset:2px;border-color:#168bb7b3;box-shadow:0 10px 26px #23708921}.revenue-workspace .field.compact input[type=month]:disabled{color:#8a9ba4;background:#edf1f2;cursor:not-allowed;box-shadow:none}.revenue-command-center{--revenue-ink: var(--sales-text-primary);--revenue-navy: #142b30;--revenue-blue: var(--sales-accent);--revenue-mint: var(--sales-mint);--revenue-amber: var(--sales-amber);--revenue-coral: var(--sales-coral);width:min(100%,1680px);margin-inline:auto;gap:22px;letter-spacing:0}.revenue-command-center,.revenue-command-center *{box-sizing:border-box;letter-spacing:0}.revenue-command-center .revenue-executive-hero,.revenue-command-center .revenue-performance-card,.revenue-command-center .revenue-portfolio-panel,.revenue-command-center .revenue-profit-panel{border:1px solid var(--sales-glass-border);border-radius:var(--sales-panel-radius);background:var(--sales-glass-bg);box-shadow:inset 0 1px #fffffff0,inset 0 0 0 1px #54808f0d,var(--sales-panel-shadow)}.revenue-command-center .revenue-executive-hero{--sales-glass-strong: #172d30;--sales-text-primary: #f5fbf9;--sales-text-secondary: #afc4c0;--sales-text-tertiary: #829b97;--sales-line: rgba(204, 229, 223, .15);position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-height:326px;padding:0;color:var(--sales-text-primary);border-color:#bcdcd52e;background-color:#122528;background-image:linear-gradient(118deg,rgba(50,192,157,.12),transparent 38%),linear-gradient(304deg,rgba(42,161,196,.13),transparent 36%),linear-gradient(180deg,#152b2e,#102124);box-shadow:inset 0 1px #ffffff1f,inset 0 0 0 1px #ffffff06,0 30px 66px #132d2f3b;animation:revenueLiquidEnter .26s cubic-bezier(.2,.72,.2,1) both}.revenue-command-center .revenue-executive-hero:before{content:"";position:absolute;inset:0 0 auto;z-index:2;height:2px;pointer-events:none;background:linear-gradient(90deg,#4bd1a9,#31acd0 58%,#e3b14a 82%,transparent)}.revenue-command-center .revenue-executive-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.7;background-image:linear-gradient(rgba(206,231,225,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(206,231,225,.045) 1px,transparent 1px),linear-gradient(115deg,rgba(61,199,164,.08),transparent 44%);background-size:42px 42px,42px 42px,auto}.revenue-command-center .revenue-executive-primary,.revenue-command-center .revenue-command-mix,.revenue-command-center .revenue-executive-brief{position:relative;z-index:1;min-width:0}.revenue-command-center .revenue-executive-primary{grid-column:span 6;display:grid;align-content:center;padding:34px 36px}.revenue-command-center .revenue-executive-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:var(--sales-text-tertiary);font-size:10px;font-weight:800}.revenue-command-center .revenue-executive-eyebrow span{display:inline-flex;align-items:center;gap:7px;color:#71ddd0}.revenue-command-center .revenue-executive-eyebrow span:before{display:none}.revenue-command-center .revenue-executive-eyebrow strong{padding:5px 8px;border:1px solid rgba(203,229,222,.16);border-radius:5px;color:#d5e7e2;background:#fff1;font-size:10px;font-weight:800;white-space:nowrap}.revenue-command-heading{display:flex;align-items:end;justify-content:space-between;gap:16px}.revenue-command-heading>div{min-width:0}.revenue-command-heading em,.revenue-command-mix-head span,.revenue-command-center .revenue-executive-panel-head em{display:block;color:var(--sales-text-tertiary);font-size:9px;font-style:normal;font-weight:800}.revenue-command-center .revenue-executive-kicker{margin:3px 0 0;color:var(--sales-text-secondary);font-size:15px;font-weight:750;line-height:1.3}.revenue-command-heading>span{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(79,211,174,.24);border-radius:5px;color:#8ce5c8;background:#35be921a;font-size:9px;font-weight:800;white-space:nowrap}.revenue-command-center .revenue-executive-total{display:block;min-width:0;margin-top:10px;color:var(--sales-text-primary);font-size:54px;font-weight:900;line-height:1.04;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-executive-description{max-width:620px;margin:9px 0 0;color:var(--sales-text-secondary);font-size:12px;font-weight:600;line-height:1.55;word-break:keep-all}.revenue-command-center .revenue-executive-description.is-empty{color:#7a6870}.revenue-command-center .revenue-executive-basis{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:16px}.revenue-command-center .revenue-executive-basis span{color:#e4b85e;font-size:9px;font-weight:850}.revenue-command-center .revenue-executive-basis strong{color:#a4bbb7;font-size:9px;font-weight:700}.revenue-command-center .revenue-executive-basis i{width:3px;height:3px;border-radius:50%;background:#5f7a76}.revenue-command-center .revenue-executive-composition{display:flex;width:100%;height:7px;margin-top:17px;overflow:hidden;border-radius:3px;background:#dbebe71f;box-shadow:inset 0 0 0 1px #ffffff0d}.revenue-command-center .revenue-executive-composition i{display:block;min-width:0;height:100%;border:0;border-radius:0}.revenue-command-center .revenue-executive-composition .blue{background:var(--sales-accent)}.revenue-command-center .revenue-executive-composition .mint{background:var(--sales-mint)}.revenue-command-center .revenue-executive-composition .amber{background:var(--sales-amber)}.revenue-command-mix{grid-column:span 3;display:grid;align-content:center;justify-items:center;gap:14px;padding:27px 22px;border-left:1px solid var(--sales-line);background:#ffffff06}.revenue-command-mix-head{display:grid;justify-items:center;gap:3px}.revenue-command-mix-head h3{margin:0;color:var(--sales-text-primary);font-size:16px;font-weight:850}.revenue-command-donut{--hotel-mix-end: 0%;--transport-mix-end: 0%;position:relative;display:grid;place-items:center;width:142px;height:142px;border-radius:50%;background:conic-gradient(from -90deg,var(--sales-mint) 0 var(--hotel-mix-end),var(--sales-accent) var(--hotel-mix-end) var(--transport-mix-end),var(--sales-amber) var(--transport-mix-end) 100%);box-shadow:0 18px 38px #020e1047,0 0 0 1px #cfe9e214}.revenue-command-donut.is-empty{background:#48605e}.revenue-command-donut:after{content:"";position:absolute;top:19px;right:19px;bottom:19px;left:19px;border:1px solid rgba(191,221,214,.12);border-radius:50%;background:var(--sales-glass-strong)}.revenue-command-donut>span{position:relative;z-index:1;display:grid;justify-items:center;gap:1px}.revenue-command-donut em,.revenue-command-donut small{color:var(--sales-text-tertiary);font-size:8px;font-style:normal;font-weight:700}.revenue-command-donut strong{color:var(--sales-text-primary);font-size:24px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-executive-mix{display:grid;width:100%;gap:6px;margin:0;padding:0;list-style:none}.revenue-command-center .revenue-executive-mix>li{display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0}.revenue-command-center .revenue-executive-mix i{width:7px;height:7px;border-radius:2px}.revenue-command-center .revenue-executive-mix .blue i{background:var(--sales-accent)}.revenue-command-center .revenue-executive-mix .mint i{background:var(--sales-mint)}.revenue-command-center .revenue-executive-mix .amber i{background:var(--sales-amber)}.revenue-command-center .revenue-executive-mix em{min-width:0;overflow:hidden;color:var(--sales-text-secondary);font-size:9px;font-style:normal;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.revenue-command-center .revenue-executive-mix strong{color:var(--sales-text-primary);font-size:10px;font-weight:850;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-executive-brief{grid-column:span 3;display:grid;align-content:center;gap:14px;padding:27px 24px;border:0;border-left:1px solid var(--sales-line);border-radius:0;background:#ffffff09;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.revenue-command-center .revenue-executive-brief-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.revenue-command-center .revenue-executive-brief-head>div{min-width:0}.revenue-command-center .revenue-executive-brief-head span{display:inline-flex;align-items:center;gap:6px;color:#75c9c4;font-size:9px;font-weight:800}.revenue-command-center .revenue-executive-brief-head h3{margin:3px 0 0;color:var(--sales-text-primary);font-size:16px;font-weight:850}.revenue-command-center .revenue-executive-brief-head em{flex:0 0 auto;padding:4px 7px;border:1px solid rgba(79,211,174,.2);border-radius:5px;color:#8ce5c8;background:#35be921a;font-size:8px;font-style:normal;font-weight:800;white-space:nowrap}.revenue-command-center .revenue-leading-brief{display:grid;gap:5px;padding:1px 0 12px;border-bottom:1px solid var(--sales-line)}.revenue-command-center .revenue-leading-brief>span{color:var(--sales-text-tertiary);font-size:9px;font-weight:700}.revenue-command-center .revenue-leading-brief>strong{min-width:0;color:var(--sales-text-primary);font-size:18px;font-weight:850;line-height:1.25;overflow-wrap:anywhere}.revenue-command-center .revenue-leading-brief>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.revenue-command-center .revenue-leading-brief b{min-width:0;color:#d7e8e4;font-size:14px;font-weight:850;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-leading-brief em{flex:0 0 auto;padding:4px 7px;border-radius:4px;color:#9ce8ce;background:#3ac29721;font-size:9px;font-style:normal;font-weight:850}.revenue-command-center .revenue-brief-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.revenue-command-center .revenue-brief-metrics>div{display:grid;gap:4px;min-width:0;padding:4px 8px 4px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.revenue-command-center .revenue-brief-metrics>div+div{padding-left:10px;border-left:1px solid var(--sales-line)}.revenue-command-center .revenue-brief-metrics dt{color:var(--sales-text-tertiary);font-size:8px;font-weight:650}.revenue-command-center .revenue-brief-metrics dd{margin:0;color:#d7e8e4;font-size:13px;font-weight:850;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-brief-metrics dd.negative{color:#b44843}.revenue-command-center .revenue-brief-operations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0;padding:10px 0 0;border-top:1px solid var(--sales-line);list-style:none}.revenue-command-center .revenue-brief-operations>li{display:grid;gap:1px;color:var(--sales-text-tertiary);font-size:8px;font-weight:650;text-align:center}.revenue-command-center .revenue-brief-operations b{color:var(--sales-text-primary);font-size:16px;font-weight:850;font-variant-numeric:tabular-nums}.revenue-command-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;min-width:0;padding:0 2px 10px;border-bottom:1px solid rgba(68,104,103,.18);animation:revenueLiquidEnter .22s ease-out both}.revenue-command-section{display:grid;gap:14px;min-width:0}.revenue-command-section-head>div{min-width:0}.revenue-command-section-head em{display:block;margin-bottom:3px;color:#288a96;font-size:9px;font-style:normal;font-weight:800}.revenue-command-section-head h2{margin:0;color:var(--sales-text-primary);font-size:20px;font-weight:900}.revenue-command-section-head>span{color:#617979;font-size:10px;font-weight:700;white-space:nowrap}.revenue-command-center .revenue-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;animation:revenueLiquidEnter .24s ease-out both}.revenue-command-center .revenue-performance-card{--performance-color: var(--sales-accent);--performance-soft: #eaf5f9;position:relative;overflow:hidden;display:grid;gap:8px;min-width:0;min-height:196px;padding:21px 21px 18px;background-color:#f7faf9;background-image:linear-gradient(180deg,#ffffffeb,#f4f8f7d6),linear-gradient(90deg,rgba(42,115,113,.035) 1px,transparent 1px);background-size:auto,42px 100%;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.revenue-command-center .revenue-performance-card:before{content:attr(data-rank);position:absolute;top:8px;right:12px;color:#142b300e;font-size:54px;font-weight:900;line-height:1;pointer-events:none}.revenue-command-center .revenue-performance-card:after{content:"";position:absolute;inset:0 0 auto;width:100%;height:3px;border-radius:0;background:var(--performance-color)}.revenue-command-center .revenue-performance-card.mint{--performance-color: var(--sales-mint);--performance-soft: #eaf8f3}.revenue-command-center .revenue-performance-card.amber{--performance-color: var(--sales-amber);--performance-soft: #fff5e1}.revenue-command-center .revenue-performance-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--performance-color) 34%,white);box-shadow:inset 0 1px #fffffff2,0 24px 54px #1d3e3f29}.revenue-command-center .revenue-performance-card-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}.revenue-command-center .revenue-performance-card-head>span{color:#708584;font-size:8px;font-weight:850}.revenue-command-center .revenue-performance-icon,.revenue-command-center .revenue-executive-panel-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border:1px solid rgba(255,255,255,.86);border-radius:7px;color:var(--performance-color, var(--sales-text-primary));background:var(--performance-soft, #eaf2f5)}.revenue-command-center .revenue-performance-card>h3{position:relative;z-index:1;margin:1px 0 0;color:#4d6768;font-size:12px;font-weight:750;line-height:1.3;word-break:keep-all}.revenue-command-center .revenue-performance-card>strong{position:relative;z-index:1;min-width:0;color:var(--sales-text-primary);font-size:30px;font-weight:900;line-height:1.12;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-performance-share{position:relative;z-index:1;display:grid;gap:6px}.revenue-command-center .revenue-performance-share>span{display:flex;justify-content:space-between;gap:10px;color:#687f7f;font-size:9px;font-weight:700}.revenue-command-center .revenue-performance-share em{font-style:normal}.revenue-command-center .revenue-performance-share span b{color:var(--performance-color);font-size:10px;font-weight:850}.revenue-command-center .revenue-performance-share progress,.revenue-command-center .revenue-share-cell progress,.revenue-command-center .revenue-waterfall-step progress{display:block;width:100%;overflow:hidden;height:5px;border:0;border-radius:2px;background:#dde8e5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.revenue-command-center .revenue-performance-share progress::-webkit-progress-bar,.revenue-command-center .revenue-share-cell progress::-webkit-progress-bar,.revenue-command-center .revenue-waterfall-step progress::-webkit-progress-bar{border-radius:inherit;background:#dde8e5}.revenue-command-center .revenue-performance-share progress::-webkit-progress-value{border-radius:inherit;background:var(--performance-color)}.revenue-command-center .revenue-performance-share progress::-moz-progress-bar{border-radius:inherit;background:var(--performance-color)}.revenue-command-center .revenue-performance-unit{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:10px;margin-top:2px;padding-top:9px;border-top:1px solid var(--sales-line)}.revenue-command-center .revenue-performance-unit>span,.revenue-command-center .revenue-performance-unit em{color:#6d818b;font-size:9px;font-weight:650}.revenue-command-center .revenue-performance-unit>span{white-space:nowrap}.revenue-command-center .revenue-performance-unit>div{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;min-width:0}.revenue-command-center .revenue-performance-unit em{font-style:normal;text-align:right}.revenue-command-center .revenue-performance-unit strong{min-width:0;color:var(--sales-text-primary);font-size:13px;font-weight:850;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-executive-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(330px,1fr);gap:14px;align-items:stretch;animation:revenueLiquidEnter .26s ease-out both}.revenue-command-center .revenue-portfolio-panel,.revenue-command-center .revenue-profit-panel{min-width:0;height:100%;padding:21px;background-color:#f8fbfa;background-image:linear-gradient(180deg,#ffffffe6,#f4f8f7d1)}.revenue-command-center .revenue-executive-panel-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:14px}.revenue-command-center .revenue-executive-panel-head.compact{grid-template-columns:auto minmax(0,1fr)}.revenue-command-center .revenue-executive-panel-icon svg{width:18px;height:18px}.revenue-command-center .revenue-executive-panel-head div{min-width:0}.revenue-command-center .revenue-executive-panel-head h3{margin:2px 0 0;color:var(--sales-text-primary);font-size:18px;font-weight:900}.revenue-command-center .revenue-executive-panel-head>strong{padding:5px 7px;border:1px solid rgba(91,130,143,.15);border-radius:5px;color:#587171;background:#eaf1ef;font-size:8px;font-weight:800}.revenue-command-center .revenue-portfolio-panel .revenue-table-wrap{width:100%;overflow-x:auto;border:0;border-top:1px solid var(--sales-line);border-radius:0;background:transparent;box-shadow:none}.revenue-command-center .revenue-table{width:100%;min-width:720px;border-collapse:collapse}.revenue-command-center .revenue-table th,.revenue-command-center .revenue-table td{padding:13px 14px;border-bottom:1px solid rgba(91,130,143,.14);text-align:left;vertical-align:middle}.revenue-command-center .revenue-table th{color:#607878;background:#e4eeebc7;font-size:9px;font-weight:850}.revenue-command-center .revenue-table th:nth-child(2),.revenue-command-center .revenue-table td:nth-child(2){text-align:right}.revenue-command-center .revenue-table tbody tr{transition:background-color .18s ease}.revenue-command-center .revenue-table tbody tr:hover{background:#e8f5f1c7}.revenue-command-center .revenue-table tbody tr.is-leading{background:#e1f4ecc7;box-shadow:inset 3px 0 0 var(--sales-mint)}.revenue-command-center .revenue-table tr:last-child td{border-bottom:0}.revenue-command-center .revenue-source{display:inline-flex;align-items:center;gap:9px;min-width:0}.revenue-command-center .revenue-source strong{color:var(--sales-text-primary);font-size:11px;font-weight:850;word-break:keep-all}.revenue-command-center .revenue-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;border-radius:6px}.revenue-command-center .revenue-icon.blue{color:#147fa9;background:#e8f4f8}.revenue-command-center .revenue-icon.mint{color:#247b61;background:#e8f7f1}.revenue-command-center .revenue-icon.amber{color:#8c6016;background:#fff4df}.revenue-command-center .revenue-amount-cell{color:var(--sales-text-primary);font-size:13px;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-share-cell{display:grid;gap:6px;min-width:112px}.revenue-command-center .revenue-share-cell strong{color:var(--sales-text-primary);font-size:10px;font-weight:850}.revenue-command-center .revenue-share-cell progress.blue::-webkit-progress-value{background:var(--sales-accent)}.revenue-command-center .revenue-share-cell progress.mint::-webkit-progress-value{background:var(--sales-mint)}.revenue-command-center .revenue-share-cell progress.amber::-webkit-progress-value{background:var(--sales-amber)}.revenue-command-center .revenue-share-cell progress.blue::-moz-progress-bar{background:var(--sales-accent)}.revenue-command-center .revenue-share-cell progress.mint::-moz-progress-bar{background:var(--sales-mint)}.revenue-command-center .revenue-share-cell progress.amber::-moz-progress-bar{background:var(--sales-amber)}.revenue-command-center .revenue-source-cell{max-width:360px;color:#597170;font-size:9px;font-weight:650;line-height:1.45;overflow-wrap:anywhere;word-break:keep-all}.revenue-command-center .revenue-contribution-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 10px;padding:14px 15px;border:1px solid rgba(186,220,212,.16);border-radius:7px;color:#eef8f5;background-color:#142a2d;background-image:linear-gradient(105deg,rgba(52,192,149,.12),transparent 56%),linear-gradient(180deg,#172f32,#112528);box-shadow:0 16px 34px #14303226}.revenue-command-center .revenue-contribution-summary>span{grid-column:1 / -1;color:#9fb8b3;font-size:9px;font-weight:650}.revenue-command-center .revenue-contribution-summary>strong{min-width:0;color:#f4fbf9;font-size:27px;font-weight:900;line-height:1.12;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-contribution-summary>em{padding:5px 7px;border-radius:4px;color:#9ce8ce;background:#39c19624;font-size:8px;font-style:normal;font-weight:850;white-space:nowrap}.revenue-command-center .revenue-contribution-summary.negative{border-color:#be4c462b;background:#3a2425}.revenue-command-center .revenue-contribution-summary.negative>strong{color:#a73f3b}.revenue-command-center .revenue-contribution-summary.negative>em{color:#9f3d39;background:#f7deda}.revenue-command-center .revenue-waterfall{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;margin-top:14px;padding:0;border:0;border-top:1px solid var(--sales-line);border-bottom:1px solid var(--sales-line);border-radius:0;background:transparent;box-shadow:none}.revenue-command-center .revenue-waterfall-step{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;grid-template-rows:auto 5px;align-items:center;gap:5px 9px;min-width:0;padding:12px 5px;border-bottom:1px solid rgba(91,130,143,.13);text-align:left}.revenue-command-center .revenue-waterfall-step:last-child{border-bottom:0}.revenue-command-center .revenue-waterfall-step.cost{background:#dc6c6506}.revenue-command-center .revenue-waterfall-step.result{background:#35be920e}.revenue-command-center .revenue-profit-operator{grid-column:1;grid-row:1 / 3;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:5px;color:#146c8c;background:#e4f1f5;font-size:15px;font-weight:900;line-height:1}.revenue-command-center .revenue-waterfall-step.cost .revenue-profit-operator{color:#9d443f;background:#fae8e5}.revenue-command-center .revenue-waterfall-step.result .revenue-profit-operator{color:#1f745a;background:#def2e9}.revenue-command-center .revenue-waterfall-step.result.negative .revenue-profit-operator{color:#9d3c43;background:#f6dfe1}.revenue-command-center .revenue-profit-step-copy{display:grid;gap:1px;min-width:0}.revenue-command-center .revenue-profit-step-copy>em{color:#4f6876;font-size:9px;font-style:normal;font-weight:800;line-height:1.3}.revenue-command-center .revenue-profit-step-copy>small{min-width:0;overflow:hidden;color:#7b8f98;font-size:8px;font-weight:650;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.revenue-command-center .revenue-waterfall-step>strong{min-width:0;color:var(--sales-text-primary);font-size:10px;font-weight:900;text-align:right;overflow-wrap:anywhere;white-space:normal;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-waterfall-step>b{min-width:42px;color:#58717d;font-size:8px;font-weight:850;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.revenue-command-center .revenue-waterfall-step.cost>strong,.revenue-command-center .revenue-waterfall-step.cost>b{color:#a14843}.revenue-command-center .revenue-waterfall-step.result>strong,.revenue-command-center .revenue-waterfall-step.result>b{color:#23735a}.revenue-command-center .revenue-waterfall-step.result.negative>strong,.revenue-command-center .revenue-waterfall-step.result.negative>b{color:#a23d44}.revenue-command-center .revenue-waterfall-step progress{grid-column:2 / -1;grid-row:2}.revenue-command-center .revenue-waterfall-step progress::-webkit-progress-value{border-radius:inherit;background:var(--sales-accent)}.revenue-command-center .revenue-waterfall-step progress::-moz-progress-bar{border-radius:inherit;background:var(--sales-accent)}.revenue-command-center .revenue-waterfall-step.cost progress::-webkit-progress-value{background:var(--sales-coral)}.revenue-command-center .revenue-waterfall-step.cost progress::-moz-progress-bar{background:var(--sales-coral)}.revenue-command-center .revenue-waterfall-step.result progress::-webkit-progress-value{background:var(--sales-mint)}.revenue-command-center .revenue-waterfall-step.result progress::-moz-progress-bar{background:var(--sales-mint)}.revenue-command-center .revenue-waterfall-step.result.negative progress::-webkit-progress-value{background:#bc4a51}.revenue-command-center .revenue-waterfall-step.result.negative progress::-moz-progress-bar{background:#bc4a51}.revenue-command-center .revenue-contribution-note{margin:9px 1px 0;color:#607984;font-size:8px;font-weight:600;line-height:1.5;word-break:keep-all}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.revenue-workspace{--sales-glass-bg: rgba(255, 255, 255, .6);--sales-glass-strong: rgba(255, 255, 255, .86)}.revenue-workspace .field.compact input[type=month],.revenue-command-center .revenue-executive-hero,.revenue-command-center .revenue-performance-card,.revenue-command-center .revenue-portfolio-panel,.revenue-command-center .revenue-profit-panel{-webkit-backdrop-filter:blur(var(--sales-glass-blur)) saturate(130%);backdrop-filter:blur(var(--sales-glass-blur)) saturate(130%)}.revenue-workspace .field.compact input[type=month]{background:#ffffffa3}}@keyframes revenueLiquidEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1199px){.revenue-command-center .revenue-executive-primary{grid-column:1 / -1;border-bottom:1px solid var(--sales-line)}.revenue-command-center .revenue-command-mix,.revenue-command-center .revenue-executive-brief{grid-column:span 6}.revenue-command-center .revenue-command-mix{border-left:0}.revenue-command-center .revenue-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.revenue-command-center .revenue-executive-grid{grid-template-columns:1fr}}@media(max-width:900px){.revenue-workspace .topbar h1{font-size:34px}.revenue-command-center{gap:15px}.revenue-command-center .revenue-executive-hero{min-height:0}.revenue-command-center .revenue-command-mix,.revenue-command-center .revenue-executive-brief{grid-column:1 / -1;border-left:0}.revenue-command-center .revenue-command-mix{grid-template-columns:auto minmax(0,1fr);justify-items:stretch;gap:10px 18px;border-bottom:1px solid var(--sales-line)}.revenue-command-center .revenue-command-mix-head{grid-column:1 / -1;justify-items:start}.revenue-command-center .revenue-command-donut,.revenue-command-center .revenue-executive-mix{align-self:center}}@media(max-width:699px){.revenue-workspace .topbar{padding-bottom:14px;margin-bottom:18px}.revenue-workspace .topbar h1{font-size:30px}.revenue-topbar-subtitle{font-size:11px}.revenue-command-center .revenue-executive-primary{padding:22px 18px 20px 22px}.revenue-command-center .revenue-executive-eyebrow{flex-wrap:wrap;margin-bottom:14px}.revenue-command-heading{align-items:start}.revenue-command-heading>span{display:none}.revenue-command-center .revenue-executive-total{font-size:36px}.revenue-command-center .revenue-executive-basis i{display:none}.revenue-command-center .revenue-command-mix{grid-template-columns:112px minmax(0,1fr);padding:19px 17px}.revenue-command-center .revenue-command-donut{width:112px;height:112px}.revenue-command-center .revenue-command-donut:after{top:15px;right:15px;bottom:15px;left:15px}.revenue-command-center .revenue-executive-brief{padding:20px 17px}.revenue-command-section-head{align-items:start;flex-direction:column;gap:3px}.revenue-command-section-head>span{white-space:normal}.revenue-command-center .revenue-performance-grid{grid-template-columns:1fr}.revenue-command-center .revenue-performance-card{min-height:0}.revenue-command-center .revenue-performance-card>strong{font-size:25px}.revenue-command-center .revenue-performance-unit{grid-template-columns:1fr;gap:5px}.revenue-command-center .revenue-performance-unit>div{justify-content:space-between}.revenue-command-center .revenue-portfolio-panel,.revenue-command-center .revenue-profit-panel{padding:15px}.revenue-command-center .revenue-executive-panel-head{grid-template-columns:auto minmax(0,1fr)}.revenue-command-center .revenue-executive-panel-head>strong{display:none}.revenue-command-center .revenue-table{min-width:0}.revenue-command-center .revenue-portfolio-panel .revenue-table-wrap{overflow:visible;border-top:0}.revenue-command-center .revenue-table thead{display:none}.revenue-command-center .revenue-table tbody{display:grid;gap:8px}.revenue-command-center .revenue-table tbody tr,.revenue-command-center .revenue-table tbody tr.is-leading{display:grid;padding:11px 13px;border:1px solid rgba(91,130,143,.18);border-radius:7px;background:#fff;box-shadow:none}.revenue-command-center .revenue-table tbody tr.is-leading{border-left:3px solid var(--sales-mint);background:#f0f8f5}.revenue-command-center .revenue-table td,.revenue-command-center .revenue-table td:nth-child(2){display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(91,130,143,.14);text-align:left}.revenue-command-center .revenue-table td:last-child{border-bottom:0}.revenue-command-center .revenue-table td:before{content:attr(data-label);color:#6a808b;font-size:8px;font-weight:800}.revenue-command-center .revenue-share-cell{min-width:0}.revenue-command-center .revenue-source-cell{max-width:none}.revenue-command-center .revenue-contribution-summary{grid-template-columns:1fr;align-items:start}.revenue-command-center .revenue-contribution-summary>span,.revenue-command-center .revenue-contribution-summary>strong,.revenue-command-center .revenue-contribution-summary>em{grid-column:1}.revenue-command-center .revenue-contribution-summary>em{justify-self:start}.revenue-command-center .revenue-waterfall-step{grid-template-columns:26px minmax(0,1fr) auto;grid-template-rows:auto auto 5px;gap:4px 8px}.revenue-command-center .revenue-profit-operator{grid-row:1 / 4;width:24px;height:24px}.revenue-command-center .revenue-waterfall-step>b{grid-column:2;grid-row:2;min-width:0;text-align:left}.revenue-command-center .revenue-waterfall-step progress{grid-column:2 / -1;grid-row:3}}@media(prefers-reduced-motion:reduce){.revenue-command-center .revenue-executive-hero,.revenue-command-section-head,.revenue-command-center .revenue-performance-grid,.revenue-command-center .revenue-executive-grid{animation:none}.revenue-command-center .revenue-performance-card,.revenue-workspace .field.compact input[type=month]{transition:none}.revenue-command-center .revenue-performance-card:hover{transform:none}}.site-access-form .full-width{width:100%;justify-content:center}.agency-portal-shell{height:100vh;min-height:100vh;width:100%;max-width:100vw;display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;padding:28px;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:radial-gradient(circle at top left,rgba(19,159,214,.14),transparent 34rem),linear-gradient(135deg,#effaff,#f8fffc);color:#0b1f36}.agency-portal-shell>.site-access-card{grid-column:1 / -1;align-self:center;justify-self:center}.agency-login-card{gap:14px}.agency-login-card .secondary,.agency-login-card .primary{width:100%;justify-content:center}.agency-portal-sidebar{position:fixed;top:28px;left:28px;width:260px;max-height:calc(100vh - 56px);align-self:start;min-height:calc(100vh - 56px);display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid rgba(42,154,202,.22);border-radius:18px;background:#ffffffe0;box-shadow:0 18px 48px #0d5c801f;overflow-y:auto;overscroll-behavior:contain}.agency-portal-nav{--agency-nav-item-height: 44px;--agency-nav-gap: 8px;--agency-nav-active-index: 0;position:relative;isolation:isolate;display:grid;gap:var(--agency-nav-gap)}.agency-portal-nav:before{content:"";position:absolute;z-index:0;top:0;left:0;right:0;height:var(--agency-nav-item-height);border:1px solid rgba(22,148,204,.28);border-radius:12px;background:#e9f7ff;transform:translateY(calc(var(--agency-nav-active-index) * (var(--agency-nav-item-height) + var(--agency-nav-gap))));transition:transform .18s ease;pointer-events:none}.agency-portal-nav button{position:relative;z-index:1;min-height:var(--agency-nav-item-height);border:1px solid transparent;border-radius:12px;padding:0 14px;background:transparent;color:#24415f;font-weight:800;text-align:left;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.agency-portal-nav button:hover{border-color:#1694cc47;background:#e9f7ff9e;color:#076ca4}.agency-portal-nav button.active{border-color:transparent;background:transparent;color:#076ca4}.agency-portal-nav button.active:hover{background:transparent;color:#076ca4}.agency-portal-session-panel{margin-top:auto;width:100%;display:grid;gap:10px;min-width:0;padding:10px;border:1px solid rgba(22,148,204,.24);border-radius:14px;background:#e9f7ffb8}.agency-portal-session-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.agency-portal-session-copy span{color:#4f6b85;font-size:12px;font-weight:900}.agency-portal-session-copy strong{min-width:0;color:#075985;font-size:13px;font-weight:950;overflow-wrap:anywhere;text-align:right}.agency-portal-session-panel p{margin:0;color:#0f766e;font-size:11px;font-weight:850;line-height:1.3;overflow-wrap:anywhere}.agency-portal-session-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.agency-portal-session-actions button{min-width:0;min-height:34px;border:1px solid rgba(22,148,204,.3);border-radius:10px;background:#fff;color:#0b5c8c;font-size:12px;font-weight:950}.agency-portal-session-actions button:hover{background:#e9f7ff}.agency-portal-main{grid-column:2;width:100%;max-width:100%;min-width:0;display:flex;flex-direction:column;gap:20px}.notice-line{margin:0;padding:12px 14px;border:1px solid rgba(22,148,204,.22);border-radius:12px;background:#e9f7ffe6;color:#0f5f86;font-weight:800}.agency-request-form{display:flex;flex-direction:column;gap:18px}.agency-request-row{cursor:pointer}.agency-request-row:hover td,.agency-request-row:focus-visible td{background:#eef8ff}.agency-request-row.editable td:first-child:after{content:"수정";display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:#dff4ff;color:#0b74a5;font-size:11px;font-weight:900}.agency-request-schedule-cell{display:grid;gap:4px;min-width:150px;text-align:left}.agency-request-schedule-cell span{display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:nowrap}.agency-request-schedule-cell small{color:var(--muted);font-weight:800}.agency-request-note-cell{max-width:220px;text-align:left!important;white-space:normal;word-break:keep-all}.agency-request-role-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;min-width:0}.agency-request-role-add-row .field{min-width:0}.agency-request-add-room-button{min-height:48px;padding-inline:16px;white-space:nowrap}.agency-room-list{display:grid;gap:12px;overflow:visible}.agency-room-card{position:relative;display:grid;gap:0;overflow:visible;border:1px solid rgba(42,154,202,.22);border-radius:16px;background:#fff;box-shadow:0 12px 28px #0f4b7414}.agency-room-card:focus-within{z-index:20}.agency-room-card-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid rgba(42,154,202,.14);border-radius:15px 15px 0 0;background:linear-gradient(180deg,#f4fbff,#edf8ff)}.agency-room-title{display:flex;align-items:center;gap:10px;min-width:0}.agency-room-title div{display:grid;gap:2px;min-width:0}.agency-room-title strong{font-size:15px;line-height:1.25}.agency-room-title span:last-child{color:#5f7289;font-size:12px;font-weight:800}.agency-room-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(42,154,202,.22);border-radius:12px;background:#fff;color:#0b74a5;font-size:15px;font-weight:900}.agency-room-actions{display:grid;grid-template-columns:minmax(220px,260px) 38px;gap:8px;align-items:end}.agency-room-type-field{display:grid;gap:6px;color:#24405f;font-size:12px;font-weight:800}.agency-room-type-toggle{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;overflow:hidden;border:1px solid #d7e8f4;border-radius:14px;background:#fff}.agency-room-type-toggle:before{content:"";position:absolute;z-index:0;top:4px;bottom:4px;left:4px;width:calc((100% - 12px)/2);border-radius:10px;background:#0d86bd;box-shadow:0 8px 16px #0d86bd33;transform:translate(0);transition:transform .18s ease}.agency-room-type-toggle.is-twin:before{transform:translate(calc(100% + 4px))}.agency-room-type-toggle button{position:relative;z-index:1;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:center;gap:6px;height:36px;border:0;border-radius:10px;background:transparent;color:#2f4964;font:inherit;font-weight:900;cursor:pointer}.agency-room-type-toggle button small{color:inherit;font-size:11px;font-weight:900;opacity:.78}.agency-room-type-toggle button.selected{background:transparent;color:#fff}.agency-room-type-toggle button:focus-visible{outline:3px solid rgba(13,134,189,.22);outline-offset:2px}.agency-crew-grid{position:relative;display:grid;grid-template-columns:108px repeat(2,minmax(0,1fr));gap:12px;align-items:end;margin:16px;padding:14px;border:1px solid rgba(42,154,202,.12);border-radius:12px;background:#f9fdff;overflow:visible}.agency-crew-index{align-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid rgba(42,154,202,.16);border-radius:12px;background:#eef8ff;color:#0b74a5;font-size:12px;font-weight:900}.agency-room-card textarea,.agency-request-form textarea{width:100%;min-height:72px;resize:vertical;border:1px solid #d7e8f4;border-radius:12px;padding:12px 14px;font:inherit}.agency-request-review-card{border-color:#78c2e594;background:linear-gradient(180deg,#fff,#f4fbff)}.agency-request-review-actions{justify-content:center}.agency-request-review-actions button{min-width:82px}.agency-request-review-actions .primary{min-width:112px}.drawer-backdrop.agency-request-detail-backdrop{z-index:48;justify-content:flex-end;animation:checkoutBackdropFadeIn .18s ease-out both}.agency-request-detail-drawer{display:grid;align-content:start;gap:16px;width:min(640px,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;animation:agencyRequestDrawerSlideIn .26s cubic-bezier(.16,1,.3,1) both;will-change:transform}.agency-request-detail-backdrop.is-closing{animation:checkoutBackdropFadeOut .18s ease-in both}.agency-request-detail-backdrop.is-closing .agency-request-detail-drawer{animation:agencyRequestDrawerSlideOut .24s cubic-bezier(.7,0,.84,0) both;pointer-events:none}.agency-request-detail-head p{margin:4px 0 0;color:#52677d;font-size:14px;font-weight:900}.agency-request-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.agency-request-detail-summary>div strong{font-size:17px}.agency-request-review-summary-value{display:grid;gap:4px;line-height:1.25}.agency-request-review-summary-value span{display:block;overflow-wrap:anywhere}.agency-request-detail-section{display:grid;gap:12px}.agency-request-detail-section h3{margin:0;color:var(--blue-900);font-size:18px;font-weight:950}.agency-request-detail-room-list{display:grid;gap:10px}.agency-request-detail-room-card{display:grid;gap:12px;padding:14px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.agency-request-detail-room-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.agency-request-detail-room-head span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;color:#0b6fa9;background:#e9f7ff;font-size:12px;font-weight:950;white-space:nowrap}.agency-request-detail-room-head strong{min-width:0;color:var(--blue-900);font-size:16px;font-weight:950;overflow-wrap:anywhere}.agency-request-detail-room-head em{color:#0b6fa9;font-style:normal;font-weight:950;white-space:nowrap}.agency-request-detail-crew-list{display:grid;gap:7px}.agency-request-detail-crew-list span,.agency-request-detail-room-card p,.agency-request-detail-note p{margin:0;padding:10px 12px;border:1px solid #e3f0f8;border-radius:12px;color:#294563;background:#f8fcff;font-weight:900;line-height:1.35;overflow-wrap:anywhere}.agency-request-detail-note{display:grid;gap:8px;padding:14px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.agency-request-detail-note span{color:var(--muted);font-size:13px;font-weight:950}.agency-code-cell{display:grid;gap:6px;min-width:150px}.agency-code-cell small{color:#64748b;font-size:.78rem;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.toggle-row.compact{display:inline-flex;align-items:center;gap:8px;font-weight:800}.agency-invoice-wrap{margin-top:16px}.agency-portal-invoice-wrap{display:grid;gap:14px;margin-top:16px}.agency-invoice-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.agency-invoice-panel-head .panel-header{flex:1 1 auto;margin-bottom:0}.agency-invoice-month-field{min-width:168px}.agency-portal-invoice-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.agency-portal-invoice-summary span{display:grid;gap:4px;min-height:70px;padding:12px 14px;border:1px solid #dcecf8;border-radius:14px;background:#f8fcff}.agency-portal-invoice-summary small{color:var(--muted);font-size:12px;font-weight:900}.agency-portal-invoice-summary strong{color:var(--blue-900);font-size:18px;font-weight:950}.agency-portal-invoice-vessel-list{display:grid;gap:10px;padding:0}.agency-portal-invoice-vessel-head{grid-template-columns:minmax(170px,1fr) minmax(360px,auto) auto}.agency-portal-invoice-vessel-head>.primary{min-width:120px;white-space:nowrap}.agency-portal-invoice-checkin-list{display:grid;gap:10px;padding:12px;border-top:1px solid #e5f0f8}.agency-portal-invoice-checkin-card{overflow:hidden;border:1px solid #dbeaf4;border-radius:14px;background:#fff}.agency-portal-invoice-checkin-card.expanded{border-color:#b9dff2;box-shadow:0 10px 24px #0e6ba814}.agency-portal-invoice-checkin-head{display:grid;grid-template-columns:minmax(180px,1fr) minmax(360px,auto);gap:10px;align-items:center;width:100%;min-height:48px;padding:10px 12px;border:0;background:#f7fcff;color:var(--blue-900);text-align:left;cursor:pointer}.agency-portal-invoice-checkin-head:hover{background:#eef8ff}.agency-portal-invoice-checkin-title,.agency-portal-invoice-checkin-meta{display:flex;align-items:center;gap:8px;min-width:0}.agency-portal-invoice-checkin-title{justify-content:flex-start;font-weight:950}.agency-portal-invoice-checkin-title svg{flex:0 0 auto;transition:transform .18s ease}.agency-portal-invoice-checkin-card.expanded .agency-portal-invoice-checkin-title svg{transform:rotate(180deg)}.agency-portal-invoice-checkin-meta{flex-wrap:wrap;justify-content:flex-end}.agency-portal-invoice-checkin-meta span,.agency-portal-invoice-checkin-meta strong{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#edf8ff;color:var(--blue-800);font-size:12px;font-weight:950;white-space:nowrap}.agency-portal-invoice-checkin-meta strong{color:var(--blue-900);background:#e4f5ff}@media(max-width:760px){.agency-portal-invoice-checkin-head{grid-template-columns:1fr}.agency-portal-invoice-checkin-meta{justify-content:flex-start}}.agency-portal-invoice-detail-wrap{max-height:360px}.agency-portal-invoice-detail-wrap .agency-invoice-table{min-width:724px}.agency-portal-invoice-selectable-row{cursor:pointer;outline:none}.agency-portal-invoice-selectable-row:hover td,.agency-portal-invoice-selectable-row:focus-visible td{background:#eef8ff}.agency-portal-invoice-selected-row td{background:#dff1ff!important;color:var(--blue-900);font-weight:900}.agency-portal-invoice-selected-row td:first-child{box-shadow:inset 4px 0 #1687d9}.agency-portal-invoice-crew-cell{display:flex;flex-direction:column;gap:4px;align-items:center}.agency-portal-invoice-crew-cell small{color:#64748b;font-size:11px;font-weight:800}.agency-swipe-refresh-status{position:fixed;z-index:120;top:18px;left:50%;display:inline-flex;align-items:center;justify-content:center;max-width:calc(100vw - 32px);min-height:36px;padding:0 16px;border:1px solid rgba(14,107,168,.24);border-radius:999px;background:#fffffff5;box-shadow:0 14px 34px #0d5c8029;color:#0b5c8c;font-size:13px;font-weight:950;line-height:1.2;text-align:center;transform:translate(-50%);pointer-events:none;overflow-wrap:anywhere}.agency-swipe-refresh-status.is-refreshing{color:#0f5f86;background:#e9f7fffa}.agency-swipe-refresh-status.is-done{color:#057154;background:#dffbf0fa}.agency-portal-invoice-selected-row .agency-portal-invoice-crew-cell small{color:var(--blue-800)}.agency-invoice-vessel-summary-row td:first-child{display:flex;flex-direction:column;gap:4px}.agency-invoice-vessel-summary-row td:first-child small{color:#64748b;font-size:.78rem;font-weight:700}.agency-pdf-document{position:fixed;left:-10000px;top:0;width:794px;min-height:1123px;padding:42px;background:#fff;color:#0b1f36;font-family:Arial,Malgun Gothic,sans-serif;box-sizing:border-box}.agency-pdf-header,.agency-pdf-summary,.agency-pdf-footer{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.agency-pdf-header h1{margin:6px 0 0;font-size:30px}.agency-pdf-header span,.agency-pdf-summary span,.agency-pdf-footer span{color:#64748b;font-weight:700}.agency-pdf-meta{display:grid;gap:6px;text-align:right}.agency-pdf-summary{margin:30px 0;padding:18px;border:1px solid #dbe9f5;border-radius:14px;background:#f7fbff}.agency-pdf-summary div{display:grid;gap:8px}.agency-pdf-table{width:100%;border-collapse:collapse;font-size:12px}.agency-pdf-table th,.agency-pdf-table td{border-bottom:1px solid #dbe9f5;padding:9px 6px;text-align:left}.agency-pdf-table th{background:#eef7ff;color:#294563}.agency-pdf-footer{margin-top:26px;padding-top:16px;border-top:2px solid #0b1f36;align-items:center}.agency-excel-pdf-host{position:fixed;left:-20000px;top:0;width:900px;background:#fff;z-index:-1}.agency-excel-pdf-page{width:794px;height:1123px;min-height:1123px;padding:28px;overflow:hidden;background:#fff;color:#000;font-family:Arial,Malgun Gothic,sans-serif;box-sizing:border-box}.agency-voucher-document{position:fixed;left:-10000px;top:0;width:794px;min-height:1123px;padding:44px 50px;background:#fff;color:#111827;font-family:Arial,Malgun Gothic,sans-serif;box-sizing:border-box}.agency-excel-pdf-sheet{position:relative;overflow:visible;transform-origin:top left}.agency-excel-pdf-sheet table{position:relative;z-index:1;border-collapse:separate;border-spacing:0;border:0;table-layout:fixed;background:#fff}.agency-excel-pdf-sheet tr{border:0;outline:0;box-shadow:none}.agency-excel-pdf-sheet td{border:0!important;outline:0;box-shadow:none;box-sizing:border-box;min-width:1px;color:#000;font-size:10px;line-height:1.18}.agency-excel-pdf-image{position:absolute;z-index:4;object-fit:contain;pointer-events:none}.agency-excel-pdf-border-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:visible;pointer-events:none}.agency-excel-pdf-text-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;overflow:hidden;pointer-events:none}.agency-excel-pdf-cell-text{position:absolute;box-sizing:border-box;min-width:1px;padding:2px 4px;overflow:hidden;color:#000;font-size:10px;line-height:1.18}.agency-excel-pdf-border-line{position:absolute;box-sizing:border-box;pointer-events:none}.agency-voucher-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}.agency-voucher-table th,.agency-voucher-table td{border:1px solid #111827;padding:10px 12px;vertical-align:middle;line-height:1.45}.agency-voucher-table th{width:23%;background:#f1f5f9;text-align:center;font-weight:900}.agency-voucher-table th span{display:inline-block;margin-top:3px;color:#475569;font-size:12px;font-weight:800}.agency-voucher-title{height:46px;font-size:21px;font-weight:950;text-align:left;letter-spacing:0}.agency-voucher-title span{float:right;color:#0f172a;font-size:17px;font-weight:900}.agency-voucher-section{background:#f8fafc;font-weight:950;text-align:left}.agency-voucher-pre{white-space:pre-wrap}.agency-voucher-footer{color:#0f172a;font-size:12px;font-weight:800;text-align:center}@media(max-width:1100px){.agency-portal-shell{grid-template-columns:1fr;height:100vh;padding:16px;overflow-y:auto}.agency-portal-sidebar{position:static;width:auto;max-height:none;min-height:auto;overflow-y:visible}.agency-portal-main{grid-column:auto;min-width:0;max-width:100%}.agency-portal-sidebar,.agency-portal-main>*,.agency-request-form,.agency-room-list,.agency-room-card,.agency-stay-list,.agency-stay-card,.agency-reservation-list,.agency-reservation-card{min-width:0;max-width:100%}.agency-request-form .form-grid{grid-template-columns:1fr}.agency-portal-nav{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.agency-portal-nav:before{display:none}.agency-portal-nav button.active{border-color:#1694cc47;background:#e9f7ff}.agency-invoice-panel-head{flex-direction:column;align-items:stretch}.agency-invoice-month-field{min-width:0}.agency-crew-grid,.agency-request-review-card{grid-template-columns:1fr}.agency-room-card-header{align-items:stretch;flex-direction:column}.agency-room-actions{grid-template-columns:minmax(0,1fr) 38px}}.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}.hotel-excel-page .billing-preview-wrap{position:relative}.billing-preview-table{min-width:1460px}.billing-preview-table th,.billing-preview-table td{white-space:nowrap;vertical-align:middle}.billing-preview-table th:nth-child(6),.billing-preview-table th:nth-child(7),.billing-preview-table td:nth-child(6),.billing-preview-table td:nth-child(7),.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}.hotel-excel-page .billing-preview-table thead th{position:sticky;top:0;z-index:7;background:#f6fafde0;box-shadow:0 1px #dbeaf4,0 12px 18px #0e6ba814;backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15)}.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-preview-table .carry-over-row td:nth-child(n+2):nth-child(-n+6),.billing-preview-table .carry-over-row.twin-second-row td:nth-child(n+2):nth-child(-n+6){background:#92d050}.billing-preview-table .carry-over-row.carry-over-checkout-row td:nth-child(6),.billing-preview-table .carry-over-row.carry-over-checkout-row.twin-second-row td:nth-child(6){background:#fff}.billing-preview-table .carry-over-row.carry-over-checkout-row td:nth-child(1),.billing-preview-table .carry-over-row.carry-over-checkout-row.twin-second-row td:nth-child(1),.billing-preview-table .carry-over-row.carry-over-checkout-row td:nth-child(7),.billing-preview-table .carry-over-row.carry-over-checkout-row.twin-second-row td:nth-child(7){background:#92d050}.billing-preview-table td.breakfast-extra-cell{background:#ff0}.billing-preview-table td.on-site-payment-cell{background:#92d050;color:#0f2d19;font-weight:900}.billing-preview-total-row td{background:#eef7fd;border-top:2px solid #b7dff5;color:var(--blue-900);font-weight:950}.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-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#f6fbff}.checkout-edit-toolbar>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:800}.checkout-edit-toolbar strong{color:var(--blue-900);font-size:14px}.checkout-edit-toolbar-actions{display:flex;align-items:center;gap:8px}.checkout-edit-toolbar-actions button{min-height:36px;white-space:nowrap}.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.selected{background:#eef8ff;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-price-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;min-width: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-edit-drawer-actions{position:sticky;bottom:-24px;z-index:2;display:flex;justify-content:flex-end;gap:10px;margin:2px -24px -24px;padding:14px 24px 18px;border-top:1px solid #d8ecf8;background:linear-gradient(180deg,#f8fcffeb,#eef8ff 55%)}.checkout-edit-drawer-actions button{min-width:112px}.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}.hotel-settings-log-stack{display:grid;gap:18px}.checkout-warning-settings-panel{display:grid;gap:12px}.settings-validation-list{margin-top:0}.settings-empty-note{display:grid;gap:4px;padding:16px;border:1px dashed var(--border);border-radius:16px;background:#f8fcff;color:var(--muted);font-size:13px;font-weight:850}.settings-empty-note strong{color:var(--blue-900);font-size:15px}.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-filter-grid select,.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-group-list,.agency-invoice-vessel-list{display:grid;gap:12px;min-width:0}.agency-invoice-agency-card{min-width:0;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;min-width:0;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{min-width:0;border:1px solid #dcebf7;border-radius:16px;background:#fff;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.agency-invoice-vessel-card.expanded{box-shadow:0 14px 30px #0e6ba814}.agency-invoice-vessel-card.invoice-generated{border-color:#96d9b8;background:linear-gradient(135deg,#f0fff7,#fff 58%);box-shadow:inset 0 0 0 1px #14b8742e}.agency-invoice-vessel-card.invoice-generated.expanded{box-shadow:inset 0 0 0 1px #14b87433,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;min-width:0;padding:12px;cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.agency-invoice-vessel-head:hover{background:#e8f7ffb8}.agency-invoice-vessel-card.invoice-generated .agency-invoice-vessel-head{background:#ebfff5ad}.vessel-dropdown-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:40px;padding:0 8px;border:0;border-radius:10px;color:var(--blue-900);background:transparent;font-weight:950}.agency-invoice-generated-pill{display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;border-radius:999px;color:#047857;background:#dffbea;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap}.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;min-width:0}.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{min-width:0;max-width:100%;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-table thead th{position:sticky;top:0;z-index:3;background:#eff8ffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px #dcebf6}.agency-invoice-period-row td{padding:8px 12px;background:#f7fcff;box-shadow:inset 0 1px #e0eef8,inset 0 -1px #e0eef8}.agency-invoice-period-group{display:flex;align-items:center;justify-content:center;gap:12px;min-height:36px;color:var(--blue-900);font-weight:950;text-align:center}.agency-invoice-period-group span{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#e6f7ff;color:var(--blue-800);font-size:12px;font-weight:950}.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;align-items:center;flex-wrap:wrap}.agency-invoice-select-row.invoice-generated td{background:#f0fff7;color:var(--blue-900)}.agency-invoice-select-row.invoice-generated td:first-child{box-shadow:inset 4px 0 #22c55e}.agency-invoice-select-row.invoice-generated:hover td{background:#e8fff3}.agency-invoice-row-generated-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:5px 10px;border-radius:999px;color:#047857;background:#dffbea;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap}.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-portal-invoice-summary,.agency-invoice-vessel-head,.agency-invoice-drawer-summary,.invoice-drawer-summary,.invoice-drawer-edit-grid,.invoice-drawer-route-grid,.invoice-drawer-expense-editor,.compact-kpis,.hotel-excel-summary,.room-draft-row{grid-template-columns:1fr}}@media(max-width:620px){.agency-invoice-slide-drawer,.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;height:100dvh;min-height:100dvh;overflow:hidden}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;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-label-text{display:inline-flex;align-items:center;min-width:0;gap:4px}.nav-button.has-alert .nav-label-text,.nav-submenu-button.has-alert .nav-label-text{flex:1 1 auto;justify-content:space-between;width:100%}.nav-alert-mark{flex:0 0 auto;color:#dc2626;font-size:1.08em;font-weight:950;line-height:1}.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-bottom{margin-top:auto;display:grid;gap:10px}.sidebar-session-panel{display:grid;gap:8px;padding:10px;border:1px solid rgba(120,194,229,.38);border-radius:14px;background:#eff9ff9e;box-shadow:inset 0 1px #ffffffc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar-session-chip{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:7px 9px;padding:9px;border:1px solid rgba(120,194,229,.5);border-radius:12px;background:#ffffffc2;color:var(--blue-900)}.sidebar-session-chip.admin{border-color:#74d3ab8f;background:#f1fff8c7}.sidebar-session-chip.guest{border-color:#5ab6dc8f;background:#f0faffd1}.sidebar-session-chip span{min-width:0;color:var(--muted);font-size:12px;font-weight:950}.sidebar-session-chip strong{min-width:0;color:var(--blue-900);font-size:13px;font-weight:950;text-align:right;white-space:nowrap}.sidebar-session-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sidebar-session-actions button{min-height:30px;padding:0 8px;border:1px solid rgba(120,194,229,.62);border-radius:10px;color:var(--blue-800);background:#ffffffd6;font-size:12px;font-weight:950;white-space:nowrap}.sidebar-session-actions button:hover{border-color:#39b8d8d1;background:#fff}.sidebar-note{display:flex;align-items:center;gap:8px;padding:12px;border-radius:12px;background:#f1fbf7;color:#0f766e;font-size:13px;font-weight:700}.app-install-panel{display:none;gap:6px;min-width:0}.app-install-panel.access{margin-top:2px}.app-install-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;min-width:0;padding:0 12px;border:1px solid rgba(22,132,212,.22);border-radius:12px;color:var(--blue-800);background:linear-gradient(135deg,#fff,#eaf8ff);font-size:13px;font-weight:950;box-shadow:0 10px 22px #0e6ba814}.app-install-button svg{flex:0 0 auto}.app-install-button:disabled{color:#0f766e;border-color:#0f766e38;background:#f1fbf7;cursor:default;box-shadow:none}.app-install-message{min-width:0;color:var(--muted);font-size:12px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}.workspace{padding:26px;min-width:0;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.topbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(450px,520px) max-content;align-items:center;column-gap:clamp(18px,2.2vw,34px);row-gap:14px;margin-bottom:24px}.topbar>div:first-child{min-width:0}.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{min-width:0;display:grid;justify-items:end;align-content:center;gap:8px}.session-stack{display:grid;grid-template-columns:1fr;align-items:stretch;justify-content:stretch;gap:8px;width:100%;max-width:430px;justify-self:end}.top-action-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;width:100%;max-width:100%}.worksheet-download-button{min-height:46px;min-width:160px;white-space:nowrap;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.worksheet-download-button:hover:not(:disabled){border-color:#39b8d8b8;box-shadow:0 10px 22px #0e6ba81f;transform:translateY(-1px)}.live-clock{width:100%;min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:14px;padding:7px 24px;border:1px solid rgba(57,184,216,.22);border-radius:14px;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(16px,1vw,19px);font-weight:950;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.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;transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.role-switch button.selected{color:var(--blue-700);background:#fff;box-shadow:inset 0 0 0 1px #39b8d847,0 6px 14px #0e6ba814}.admin-session,.site-session{display:inline-flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:6px;width:100%;min-height:36px;max-width:100%;padding:6px 8px 6px 12px;border:1px solid #bfe6d8;border-radius:12px;color:#075e48;background:#ecfff6;box-shadow:0 10px 24px #075e4814}.site-session{border-color:#b9e4f7;color:var(--blue-800);background:#eef9ffeb;box-shadow:0 10px 24px #0e6ba814}.admin-session svg,.site-session svg{flex:0 0 auto}.admin-session span,.site-session span{max-width:120px;overflow:hidden;color:inherit;font-size:11px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.admin-session strong,.site-session strong{color:var(--blue-900);font-size:12px;font-weight:950;white-space:nowrap}.admin-session em,.site-session em{color:#0b7a5b;font-size:11px;font-style:normal;font-weight:900;white-space:nowrap}.site-session em{color:var(--blue-700)}.admin-session button,.site-session button{min-height:28px;padding:0 8px;border:1px solid #aedfcb;border-radius:10px;color:#075e48;background:#fff;font-size:11px;font-weight:950;white-space:nowrap}.site-session button{border-color:#b9e4f7;color:var(--blue-800)}.admin-session button:hover,.site-session button:hover{border-color:#84d5b8;background:#f7fffb}.site-access-screen{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;padding:clamp(24px,4vw,56px);background:linear-gradient(116deg,#0f5d8c14,#0f5d8c14 18%,#0f5d8c00 18%,#0f5d8c00),linear-gradient(154deg,#fff0,#fff0 58%,#f7f2e69e 58%,#f7f2e69e),linear-gradient(180deg,#fbfdff,#f1f8fb 46%,#f7fbf8)}.site-access-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(24,90,127,.034) 1px,transparent 1px),linear-gradient(90deg,rgba(24,90,127,.028) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:linear-gradient(135deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.22) 48%,transparent 82%);mask-image:linear-gradient(135deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.22) 48%,transparent 82%)}.site-access-screen:after{content:"";position:absolute;top:-18%;right:13%;width:min(42vw,620px);height:136%;pointer-events:none;transform:rotate(13deg);border-left:1px solid rgba(25,90,130,.08);border-right:1px solid rgba(255,255,255,.7);background:linear-gradient(180deg,#fff0,#ffffff57 52%,#fff0);opacity:.72}.site-access-card{position:relative;z-index:1;width:min(760px,100%);display:grid;gap:16px;padding:36px;border:1px solid #d8ecf8;border-radius:28px;background:#ffffffeb;box-shadow:0 34px 90px #0b1f3324;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-access-entry-screen{--access-ink: #0a2235;--access-muted: #536b7d;--access-blue: #0b6da8;--access-cyan: #28b7d3;--access-mint: #4fc2ad;--access-pearl: #ead7b2;--access-shell-fallback: #dcebf0;--access-panel-fallback: #f4f9fa;--access-glass-border: rgba(236, 249, 252, .7);--access-glass-highlight: rgba(255, 255, 255, .82);--access-shell-shadow: 0 38px 100px rgba(2, 18, 31, .34), 0 12px 32px rgba(5, 49, 71, .2);min-height:100dvh;isolation:isolate;align-items:center;overflow-x:hidden;overflow-y:auto;padding:clamp(24px,4vw,56px);color:var(--access-ink);background-color:#071c2d;background-image:linear-gradient(112deg,#061827,#082d43 34%,#176a82 58%,#b7dadd 83%,#e9dfcd 112%),linear-gradient(180deg,#0b2334,#e7f0ec)}.site-access-entry-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(122deg,transparent 0 46%,rgba(224,248,251,.13) 46.1%,transparent 46.35%),repeating-linear-gradient(90deg,transparent 0 88px,rgba(209,240,244,.06) 89px,transparent 90px);-webkit-mask-image:linear-gradient(135deg,#000 0%,rgba(0,0,0,.72) 55%,transparent 94%);mask-image:linear-gradient(135deg,#000 0%,rgba(0,0,0,.72) 55%,transparent 94%)}.site-access-entry-screen:after{content:"";position:absolute;inset:auto -10% -24% 30%;z-index:0;height:58%;pointer-events:none;transform:rotate(-8deg);border-top:1px solid rgba(240,251,250,.32);background:linear-gradient(170deg,#ddf2f12e,#efdcb538 52%,#fff0);clip-path:polygon(0 20%,100% 0,100% 100%,12% 86%)}.site-access-atmosphere{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.site-access-wave-plane{position:absolute;display:block;pointer-events:none}.site-access-wave-plane.wave-primary{left:-18%;bottom:-27%;width:82%;height:72%;transform:rotate(-7deg);border:1px solid rgba(204,242,246,.18);border-radius:52% 48% 0 0;background:linear-gradient(160deg,#1e7d9452,#051f300a 62%);box-shadow:0 -1px #e6fdff1f inset}.site-access-wave-plane.wave-secondary{top:-33%;right:-12%;width:68%;height:74%;transform:rotate(14deg);border-left:1px solid rgba(243,252,250,.32);background:linear-gradient(108deg,#fff0,#e2f4f138 48%,#f7e2bd1a);clip-path:polygon(28% 0,100% 0,72% 100%,0 82%)}.site-access-horizon{position:absolute;top:54%;left:4%;width:92%;height:1px;transform:rotate(-2deg);background:linear-gradient(90deg,transparent,rgba(210,242,246,.28) 35%,rgba(255,248,232,.42) 72%,transparent);box-shadow:0 0 24px #8cdce63d}.site-access-entry-screen .site-login-card{position:relative;z-index:2;width:min(1220px,100%);min-height:clamp(620px,72vh,680px);grid-template-columns:minmax(0,44fr) minmax(500px,56fr);gap:0;padding:0;overflow:hidden;border:1px solid rgba(226,245,248,.62);border-radius:40px;background:var(--access-shell-fallback);box-shadow:var(--access-shell-shadow),0 1px 0 var(--access-glass-highlight) inset;-webkit-backdrop-filter:none;backdrop-filter:none;animation:access-shell-enter .3s cubic-bezier(.2,.76,.28,1) both}.site-login-glass-surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(132deg,rgba(255,255,255,.42),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.22),transparent 16%,transparent 82%,rgba(7,39,57,.12));box-shadow:0 1px #ffffffdb inset,1px 0 #ffffff38 inset,0 -1px #05223329 inset}.site-access-entry-screen .site-access-brand-panel,.site-access-entry-screen .site-access-login-area,.site-access-entry-screen .site-login-card>.app-install-panel.access{position:relative;z-index:1}.site-access-entry-screen .site-access-brand-panel{display:grid;grid-template-rows:auto 1fr;align-content:stretch;gap:32px;min-width:0;min-height:620px;padding:clamp(38px,4vw,56px);overflow:hidden;border-right:0;color:#f3fbfd;background:linear-gradient(152deg,#051f32eb,#073e51b3 58%,#145f6d75),#0a3046}.site-access-entry-screen .site-access-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(201,239,244,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(201,239,244,.05) 1px,transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 88%);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),transparent 88%)}.site-access-entry-screen .site-access-brand-panel:after{content:"";position:absolute;top:4%;right:0;bottom:4%;width:1px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(236,252,253,.56) 24%,rgba(188,229,233,.22) 76%,transparent);box-shadow:12px 0 34px #eefcfc29}.site-access-entry-screen .site-access-brand-row{position:relative;z-index:2;display:flex;align-items:center;min-width:0;gap:14px}.site-access-entry-screen .site-access-brand-panel .brand-mark{width:58px;height:58px;flex:0 0 auto;border:1px solid rgba(225,251,253,.52);border-radius:18px;color:#fff;background:linear-gradient(145deg,#0c78ae,#27b8ca);box-shadow:0 14px 30px #00121e47,0 1px #ffffff8a inset;font-size:22px}.site-access-entry-screen .site-access-brand-row span,.site-access-entry-screen .site-access-brand-copy span{display:block;color:#e5f7fad1;font-size:13px;font-weight:850;letter-spacing:0}.site-access-entry-screen .site-access-brand-row strong{display:block;margin-top:4px;color:#fff;font-size:17px;font-weight:900;letter-spacing:0}.site-access-entry-screen .site-access-brand-row em{margin-left:auto;padding:7px 11px;border:1px solid rgba(211,244,247,.36);border-radius:999px;color:#e8fbfd;background:#dbf7f81a;box-shadow:0 1px #ffffff29 inset;font-size:11px;font-style:normal;font-weight:900}.site-access-brand-stage{position:relative;z-index:1;display:grid;align-items:center;min-height:0}.site-access-brand-visual{position:absolute;top:7%;right:-8%;bottom:3%;left:-10%;pointer-events:none;opacity:.92}.site-access-route-arc,.site-access-route-line,.site-access-route-point{position:absolute;display:block}.site-access-route-arc{right:0;bottom:8%;border-style:solid;border-color:rgba(167,229,236,.28) transparent transparent rgba(167,229,236,.16);border-radius:50%;transform:rotate(-18deg)}.site-access-route-arc.outer{width:430px;height:430px;border-width:1px}.site-access-route-arc.inner{right:64px;bottom:72px;width:285px;height:285px;border-width:1px}.site-access-route-line{left:12%;right:6%;top:54%;height:1px;transform:rotate(-13deg);transform-origin:center;background:linear-gradient(90deg,#71d6e214,#b3eff3b8 46%,#f5e2bc47);box-shadow:0 0 18px #49becf38}.site-access-route-point{width:7px;height:7px;border:1px solid rgba(229,251,252,.86);border-radius:50%;background:#48c5d4;box-shadow:0 0 0 5px #48c5d41a,0 0 20px #48c5d466}.site-access-route-point.start{left:19%;top:62%}.site-access-route-point.end{right:19%;top:40%;background:#ead7b2;box-shadow:0 0 0 5px #ead7b21a,0 0 20px #ead7b252}.site-access-entry-screen .site-access-brand-copy{position:relative;z-index:2;display:grid;justify-items:start;gap:12px;max-width:390px;padding-bottom:2%;text-align:left}.site-access-card h1{margin:0;color:var(--blue-900);font-size:44px;font-weight:1000;line-height:1.05}.site-access-entry-screen .site-login-card h1{max-width:390px;color:#fff;font-size:58px;font-weight:950;line-height:1.04;text-shadow:0 10px 34px rgba(0,21,34,.28)}.site-access-entry-screen .site-access-login-area{display:grid;align-content:center;gap:22px;min-width:0;padding:48px clamp(38px,4vw,56px) 36px;background:linear-gradient(150deg,#ffffff94,#e2f1f3bd),var(--access-panel-fallback)}.site-access-entry-screen .site-access-login-head{display:grid;gap:8px}.site-access-entry-screen .site-access-login-head span{display:flex;align-items:center;gap:10px;color:var(--access-blue);font-size:12px;font-weight:900}.site-access-entry-screen .site-access-login-head span:before{content:"";width:24px;height:1px;background:linear-gradient(90deg,var(--access-blue),var(--access-cyan))}.site-access-entry-screen .site-access-login-head h2{margin:0;color:var(--access-ink);font-size:40px;font-weight:950;letter-spacing:0;line-height:1.08}.site-access-entry-screen .site-access-login-grid{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.site-access-entry-screen .site-access-login-panel{min-width:0;display:grid;gap:16px;align-content:space-between;min-height:0;padding:24px;border:1px solid rgba(214,235,239,.9);border-radius:26px;background:var(--access-panel-fallback);box-shadow:0 18px 42px #0631451a,0 1px #ffffffe0 inset;-webkit-backdrop-filter:none;backdrop-filter:none;animation:access-panel-enter .28s 70ms cubic-bezier(.2,.76,.28,1) both}.site-access-entry-screen .site-access-form.site-access-login-panel{min-height:286px}.site-access-entry-screen .site-access-panel-title{display:flex;align-items:flex-start;min-width:0;gap:12px}.site-access-entry-screen .site-access-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 auto;border:1px solid rgba(201,230,238,.76);border-radius:14px;color:var(--access-blue);background:#e1f4fae0;box-shadow:0 1px #fffc inset}.site-access-entry-screen .site-access-panel-icon.agency{border-color:#b4e2d8b3;color:#0b776c;background:#e1f8f2db}.site-access-entry-screen .site-access-panel-title strong{display:block;color:var(--access-ink);font-size:22px;font-weight:950;overflow-wrap:anywhere}.site-access-entry-screen .site-access-panel-title em{display:block;margin-top:4px;color:var(--access-muted);font-style:normal;font-size:13px;font-weight:750;line-height:1.45;overflow-wrap:anywhere}.site-access-entry-screen .agency-entry-panel{grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:center;background:#eef7f6;animation-delay:.12s}.site-access-entry-screen .site-access-form{display:grid;gap:16px}.site-access-entry-screen .site-access-choice-row{display:grid;grid-template-columns:1fr;gap:0}.site-access-entry-screen .site-login-card label{display:grid;gap:8px;color:var(--access-ink);font-size:14px;font-weight:900}.site-access-entry-screen .site-login-card input{width:100%;min-width:0;min-height:62px;padding:0 20px;border:1px solid rgba(164,207,220,.86);border-radius:17px;color:var(--access-ink);background:#f0f8faf0;box-shadow:0 2px 8px #072c3d14 inset,0 1px #ffffffd1;font-size:19px;font-weight:900;text-align:center;letter-spacing:0;outline:none;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.site-access-entry-screen .site-login-card input::placeholder{color:#6a7f8d;opacity:.8}.site-access-entry-screen .site-login-card input:hover{border-color:#48a6c2bd}.site-access-entry-screen .site-login-card input:focus-visible{border-color:var(--access-cyan);background:#f8fdfe;box-shadow:0 0 0 4px #28b7d329,0 4px 18px #0a69891f}.site-access-entry-screen .site-login-card input[aria-invalid=true]{border-color:#d24a4aa8}.site-access-entry-screen .site-login-card .form-error{display:block;margin:-4px 0 0;padding:9px 12px;border:1px solid rgba(220,38,38,.16);border-radius:12px;color:#b42318;background:#ffefefc2;font-size:12px;line-height:1.4}.site-access-entry-screen .site-login-card button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:60px;border-radius:17px;font-size:16px;font-weight:950;overflow:hidden;transition:transform .22s cubic-bezier(.2,.76,.28,1),box-shadow .22s ease,border-color .22s ease,filter .22s ease}.site-access-entry-screen .site-login-card .site-access-primary-button{border:1px solid rgba(171,231,240,.44);color:#fff;background:#0877ae;background-image:linear-gradient(118deg,#08649b,#118eba 52%,#27b7cc);box-shadow:0 14px 28px #045b823d,0 1px #ffffff61 inset}.site-access-entry-screen .site-login-card .site-access-primary-button:before{content:"";position:absolute;inset:0 10% auto;height:46%;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent);clip-path:polygon(0 0,100% 0,88% 100%,12% 88%)}.site-access-entry-screen .site-login-card .site-access-agency-button{min-width:188px;border:1px solid rgba(71,164,190,.34);color:#075c87;background:#ecf8fbeb;box-shadow:0 10px 22px #0754701a,0 1px #ffffffe6 inset}.site-access-entry-screen .site-login-card button:focus-visible{outline:3px solid rgba(40,183,211,.42);outline-offset:3px}.site-access-entry-screen .site-login-card button:active{transform:translateY(0) scale(.995)}.site-access-entry-screen .site-login-card button:disabled{filter:grayscale(.45);opacity:.58;transform:none;cursor:not-allowed;box-shadow:none}.site-access-entry-screen .site-login-card>.app-install-panel.access{grid-column:2}.site-access-entry-screen .site-access-footnote{display:flex;justify-content:space-between;gap:12px;min-width:0;padding-top:2px;color:#597181;font-size:12px;font-weight:800;animation:access-panel-enter .26s .15s cubic-bezier(.2,.76,.28,1) both}@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.site-access-entry-screen .site-login-card{background:#d6e8ed47;-webkit-backdrop-filter:blur(30px) saturate(132%);backdrop-filter:blur(30px) saturate(132%)}.site-access-entry-screen .site-access-brand-panel{background:linear-gradient(152deg,#051f32d1,#073e518a 62%,#145f6d57)}.site-access-entry-screen .site-access-login-area{background:linear-gradient(150deg,#fafeff9e,#dfeff180)}.site-access-entry-screen .site-access-login-panel{background:#f7fcfd94;-webkit-backdrop-filter:blur(18px) saturate(124%);backdrop-filter:blur(18px) saturate(124%)}.site-access-entry-screen .agency-entry-panel{background:#edf8f780}}@media(hover:hover)and (pointer:fine){.site-access-wave-plane.wave-primary{animation:access-ambient-drift 18s ease-in-out infinite alternate}.site-access-entry-screen .site-login-card .site-access-primary-button:hover,.site-access-entry-screen .site-login-card .site-access-agency-button:hover{transform:translateY(-2px)}.site-access-entry-screen .site-login-card .site-access-primary-button:hover{filter:brightness(1.035) saturate(1.04);box-shadow:0 18px 34px #045b8247,0 1px #ffffff75 inset}.site-access-entry-screen .site-login-card .site-access-agency-button:hover{border-color:#289fbe8f;background:#f4fcfdfa;box-shadow:0 14px 26px #07547024,0 1px #ffffffeb inset}}@keyframes access-shell-enter{0%{opacity:0;transform:translateY(8px) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes access-panel-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes access-ambient-drift{0%{opacity:.82;transform:translateZ(0) rotate(-7deg)}to{opacity:.9;transform:translate3d(6px,-4px,0) rotate(-7deg)}}.login-lock-panel{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid #d9e7f2;border-radius:16px;background:#f8fcff}.login-lock-panel-head,.login-lock-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.login-lock-panel h3{margin:0;color:var(--blue-900);font-size:18px;font-weight:1000}.login-lock-panel p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:750}.login-lock-list{display:grid;gap:8px}.login-lock-card{grid-template-columns:minmax(180px,1fr) minmax(150px,auto) auto;padding:12px;border:1px solid #d9e7f2;border-radius:12px;background:#fff}.login-lock-card div{display:grid;gap:4px}.login-lock-card strong{color:var(--blue-900);font-size:14px;font-weight:1000}.login-lock-card span{color:var(--muted);font-size:12px;font-weight:800}@media(max-width:980px){.site-access-entry-screen{align-items:start;padding:clamp(22px,5vw,40px)}.site-access-entry-screen .site-login-card{grid-template-columns:1fr;max-width:760px;min-height:0;border-radius:34px}.site-access-entry-screen .site-access-brand-panel{min-height:340px;padding:36px 40px;border-right:0;border-bottom:1px solid rgba(225,247,249,.28)}.site-access-entry-screen .site-access-brand-panel:after{top:auto;right:4%;bottom:0;left:4%;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(236,252,253,.52) 24%,rgba(188,229,233,.2) 76%,transparent);box-shadow:0 10px 30px #eefcfc1f}.site-access-entry-screen .site-access-brand-stage{min-height:210px}.site-access-entry-screen .site-access-brand-copy{padding:24px 0 12px}.site-access-entry-screen .site-access-brand-visual{top:-10%;right:-4%;bottom:-16%;left:28%}.site-access-entry-screen .site-access-login-area{padding:40px}.site-access-entry-screen .site-login-card>.app-install-panel.access{grid-column:1}}@media(max-width:760px){.site-access-entry-screen{padding:12px;align-items:start}.site-access-entry-screen .site-login-card{width:100%;min-height:0;padding:0;border-radius:27px}.site-access-entry-screen .site-access-brand-panel{min-height:258px;gap:18px;padding:22px}.site-access-entry-screen .site-access-brand-panel .brand-mark{width:50px;height:50px;border-radius:15px;font-size:19px}.site-access-entry-screen .site-access-brand-row{gap:11px}.site-access-entry-screen .site-access-brand-row span{font-size:11px}.site-access-entry-screen .site-access-brand-row strong{margin-top:2px;font-size:15px}.site-access-entry-screen .site-access-brand-row em{padding:6px 8px;font-size:10px}.site-access-entry-screen .site-access-brand-stage{min-height:160px}.site-access-entry-screen .site-access-brand-visual{top:-26%;right:-22%;bottom:-42%;left:12%;opacity:.7}.site-access-entry-screen .site-access-route-arc.outer{width:330px;height:330px}.site-access-entry-screen .site-access-route-arc.inner{right:50px;bottom:56px;width:220px;height:220px}.site-access-entry-screen .site-access-brand-copy{gap:8px;padding:12px 0 8px}.site-access-entry-screen .site-access-brand-copy span{font-size:11px}.site-access-entry-screen .site-login-card h1{font-size:42px}.site-access-entry-screen .site-access-login-area{gap:18px;padding:28px 18px 18px}.site-access-entry-screen .site-access-login-head{gap:6px}.site-access-entry-screen .site-access-login-head h2{font-size:32px}.site-access-entry-screen .site-access-login-panel{gap:14px;padding:20px;border-radius:21px}.site-access-entry-screen .site-access-login-grid,.site-access-entry-screen .agency-entry-panel,.login-lock-card{grid-template-columns:1fr}.site-access-entry-screen .site-access-form.site-access-login-panel{min-height:0}.site-access-entry-screen .site-access-panel-title strong{font-size:20px}.site-access-entry-screen .site-login-card input{min-height:56px;padding:0 16px;font-size:18px}.site-access-entry-screen .site-login-card button{min-height:56px;font-size:15px}.site-access-entry-screen .site-login-card .site-access-agency-button{width:100%;min-width:0}.site-access-entry-screen .site-access-footnote{flex-direction:column;gap:5px}.site-access-entry-screen .site-login-card>.app-install-panel.access{margin:0 18px 18px;padding:12px;border:1px solid rgba(207,233,238,.8);border-radius:18px;background:#eff8f9d1}.site-access-entry-screen .site-login-card>.app-install-panel.access .app-install-button{min-height:46px;border-radius:14px;font-size:13px}}@media(max-width:380px){.site-access-entry-screen .site-access-brand-panel{padding:20px 18px}.site-access-entry-screen .site-access-brand-row{gap:9px}.site-access-entry-screen .site-access-brand-row strong{font-size:14px}.site-access-entry-screen .site-access-brand-row em{padding:5px 7px}.site-access-entry-screen .site-access-login-area{padding-right:14px;padding-left:14px}.site-access-entry-screen .site-access-login-panel{padding:18px}}@media(prefers-reduced-motion:reduce){.site-access-entry-screen .site-login-card,.site-access-entry-screen .site-access-login-panel,.site-access-entry-screen .site-access-footnote,.site-access-entry-screen .site-access-wave-plane,.site-access-entry-screen .site-login-card input,.site-access-entry-screen .site-login-card button{animation:none;transition:none}}.landing-screen,.module-stack{display:grid;gap:18px}.landing-screen{min-height:100vh;padding:7vh clamp(22px,5vw,80px);place-items:center;position:relative}.landing-session-panel{position:absolute;top:clamp(18px,3vw,34px);right:clamp(18px,4vw,54px);display:grid;grid-template-columns:auto auto auto auto;align-items:center;gap:8px;min-height:48px;padding:8px 10px 8px 14px;border:1px solid rgba(120,194,229,.5);border-radius:14px;background:#ffffffb8;box-shadow:var(--shadow-soft);color:var(--blue-900);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.landing-session-panel svg{color:var(--blue)}.landing-session-panel span,.landing-session-panel strong{font-size:13px;font-weight:950;white-space:nowrap}.landing-session-panel span{color:var(--muted)}.landing-session-panel button{min-height:32px;padding:0 12px;border:1px solid rgba(120,194,229,.62);border-radius:10px;color:var(--blue-800);background:#ffffffe0;font-size:12px;font-weight:950;white-space:nowrap}.landing-session-panel button:hover{border-color:#39b8d8d1;background:#fff}.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 small{color:#57708c;font-size:12px;font-weight:850;line-height:1.35;word-break:keep-all}.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)}.metric-card.meal{border-color:#39b8d852;background:linear-gradient(145deg,#fff,#eef9fd)}.metric-card.meal strong{font-size:clamp(18px,1.35vw,22px);line-height:1.35;word-break:keep-all}.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}.settings-password-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:16px 0}.settings-password-form{display:grid;gap:14px;min-width:0;padding:16px;border:1px solid #cfe3f2;border-radius:16px;background:linear-gradient(180deg,#fffffffa,#f8fdfff0)}.settings-password-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-password-head div{display:grid;gap:4px}.settings-password-head strong{color:var(--ink);font-size:16px;font-weight:950}.settings-password-head span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.settings-password-head svg{flex:0 0 auto;color:var(--blue-700)}.settings-password-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.settings-password-fields .field{min-width:0}.form-success{display:block;color:#047857;font-size:12px;font-weight:900}.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.patient{color:#9d174d;border:1px solid #f9a8d4;background:linear-gradient(135deg,#fff1f7,#fce7f3);box-shadow:0 2px 8px #be185d1a}.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}.worksheet-count-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.transport-crew-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px solid #d8ecf8;border-radius:14px;background:#f7fbfe}.transport-crew-info-head{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--blue-900)}.transport-crew-info-head strong{font-size:13px;font-weight:950}.transport-crew-info-head span{padding:4px 9px;border-radius:999px;color:var(--blue-700);background:#e7f6ff;font-size:12px;font-weight:900;white-space:nowrap}.transport-crew-info-grid .field{margin:0}.form-grid.route{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.route.has-second-via{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr) minmax(0,1fr);align-items:start}.worksheet-via-fieldset{display:grid;gap:8px;min-width:0}.worksheet-via-fieldset.expanded{gap:10px}.worksheet-via-add-button{flex:0 0 auto;align-self:center;justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 9px;border-radius:999px;font-size:12px}.worksheet-via-add-button.active{color:#fff;border-color:var(--blue-700);background:var(--blue-700);box-shadow:0 8px 18px #0e6ba82e}.worksheet-via-add-button.active:hover{border-color:var(--blue-700);background:var(--blue-700)}.agency-management-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"header toolbar" "helper toolbar" "add add" "table table";align-items:start;gap:12px 18px}.agency-management-panel .panel-header{grid-area:header;margin-bottom:0}.agency-management-panel>.helper-text{grid-area:helper;max-width:900px;margin:0}.agency-management-toolbar{grid-area:toolbar;display:inline-flex;justify-content:flex-end;gap:8px;align-items:center;padding:4px;border:1px solid #d9edf9;border-radius:16px;background:#f8fcff;box-shadow:0 10px 22px #0e6ba80f}.agency-management-toolbar button{min-width:96px;min-height:40px;justify-content:center}.agency-add-grid{grid-area:add;grid-template-columns:minmax(180px,1fr) minmax(240px,1.35fr) minmax(150px,190px);align-items:end;gap:12px;padding:14px;border:1px solid #d9edf9;border-radius:18px;background:linear-gradient(135deg,#f8fcff,#f1f9ff)}.agency-add-grid button{width:100%;min-height:44px;justify-content:center;white-space:nowrap}.field{display:grid;gap:7px}.field.compact{gap:5px}.field span{color:#516173;font-size:12px;font-weight:900}.field .field-hint{color:var(--muted);font-size:11px;font-weight:800;line-height:1.35}.field .field-error{color:var(--red);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}.worksheet-time-select-field .worksheet-time-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:8px}.worksheet-time-select-field .datetime-unknown-button{min-height:42px}.worksheet-time-select-field input:disabled{color:var(--blue-900);background:#f8fcff;opacity:1}.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(140px,.65fr) minmax(120px,.5fr);gap:10px;align-items:end}.room-crew-row .crew-role-room-field{grid-column:2 / 4;min-width:180px}.room-crew-row .crew-role-room-field select{width:100%}.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,.room-number-combobox,.route-location-combobox{position:relative;min-width:0;width:100%}.nationality-combobox input,.agency-combobox input,.room-number-combobox input,.route-location-combobox input{width:100%;min-height:42px}.editable-route-location-combobox input{text-align:center}.nationality-option-list,.agency-option-list,.room-number-option-list,.route-location-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,.room-number-option-list button,.room-number-option-empty,.route-location-option-list button,.route-location-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,.room-number-option-list button:hover,.room-number-option-list button.selected,.route-location-option-list button:hover,.route-location-option-list button.selected{background:#eaf6ff;color:var(--blue-700)}.nationality-option-list button em,.route-location-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,.room-number-option-empty,.route-location-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-group.today{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b29,0 12px 28px #b453091f}.work-day-summary{display:grid;grid-template-columns:240px minmax(180px,1fr) max-content;align-items:center;width:100%;gap:12px;padding:13px 16px;border:0;color:var(--blue-900);background:#edf8ff;list-style:none;text-align:left}.work-day-summary-toggle,.work-day-summary-count{display:flex;align-items:center;min-width:0;padding:0;border:0;color:inherit;background:transparent;font:inherit;cursor:pointer}.work-day-summary-toggle{text-align:left}.work-day-summary-count{justify-self:end}.work-day-summary-toggle:disabled,.work-day-summary-count:disabled{cursor:default;opacity:.82}.work-day-group.today .work-day-summary{color:#78350f;background:linear-gradient(90deg,#fff7ed,#fffbeb 62%,#fffdf7)}.work-day-group.today .work-day-summary-toggle:disabled,.work-day-group.today .work-day-summary-count:disabled{opacity:1}.work-day-group.today .work-day-date-label{color:#9a3412}.work-day-today-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border:1px solid #fdba74;border-radius:999px;color:#9a3412;background:#ffedd5;font-size:11px;font-weight:950;line-height:1;box-shadow:0 2px 8px #c2410c1a}.work-day-date-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.work-day-date-label{font-size:15px;font-weight:900}.work-day-calendar-badges{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}.work-day-calendar-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid #c7e9f5;color:#086c91;background:#f3fbff;font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.work-day-calendar-badge.holiday{border-color:#ffd4d4;color:#b42318;background:#fff5f5}.work-day-memo-field{display:flex;align-items:center;justify-self:center;width:100%;max-width:560px;min-width:0;min-height:34px;gap:7px;padding:0 10px;border:1px solid #cbe6f4;border-radius:7px;color:#0b6f94;background:#ffffffe6;box-shadow:0 2px 8px #0e6ba80f;cursor:text;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.work-day-memo-field:hover{border-color:#8ed3eb;background:#fff}.work-day-memo-field:focus-within{border-color:#1f9ed0;background:#fff;box-shadow:0 0 0 3px #1f9ed024}.work-day-memo-field.read-only{border-color:transparent;background:#ffffff9e;box-shadow:none;cursor:default}.work-day-memo-field.read-only:hover,.work-day-memo-field.read-only:focus-within{border-color:transparent;background:#ffffff9e;box-shadow:none}.work-day-memo-field svg{flex:0 0 auto;pointer-events:none}.work-day-memo-input{width:100%;min-width:0;min-height:0;height:30px;padding:0;border:0;border-radius:0;outline:0;color:var(--blue-900);background:transparent;box-shadow:none;font-size:13px;font-weight:800;letter-spacing:0;text-overflow:ellipsis}.work-day-memo-input::placeholder{color:#7c92a6;font-weight:750}.work-day-memo-input[readonly]{cursor:default}.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:#173f3a;background:#e3f3ef;box-shadow:inset 0 1px #0f8a7229,inset 0 -1px #0f8a7224}.worksheet-list-table tbody tr.worksheet-completed td:first-child{border-left:4px solid #0f8a72}.worksheet-list-table tbody tr.worksheet-completed:hover td{background:#d6ebe5}.worksheet-list-table tbody tr.worksheet-completed .badge{color:#fff;background:#0b7663}.worksheet-list-table tbody tr.worksheet-completed .worksheet-time-cell em{color:#0b6f63}.worksheet-list-table .badge{display:inline-flex;justify-content:center;align-items:center;min-width:48px;min-height:26px;font-weight:950;white-space:nowrap}.worksheet-category-cell{padding-inline:4px;text-align:center}.worksheet-category-cell .badge{display:flex;width:fit-content;min-width:68px;margin-inline:auto;padding-inline:10px;box-sizing:border-box}.worksheet-list-table{min-width:1356px;table-layout:fixed}.worksheet-list-table th,.worksheet-list-table td{height:54px;line-height:1.25;overflow-wrap:anywhere;vertical-align:middle}.worksheet-col-agency{width:112px}.worksheet-col-vessel{width:132px}.worksheet-col-manager{width:104px}.worksheet-col-category{width:96px}.worksheet-col-headcount{width:58px}.worksheet-col-time{width:118px}.worksheet-col-origin{width:168px}.worksheet-col-via{width:144px}.worksheet-route-cell,.worksheet-via-cell{overflow-wrap:normal;white-space:nowrap;word-break:keep-all}.worksheet-via-cell{text-align:center}.worksheet-via-stack{display:inline-grid;justify-items:center;align-items:center;gap:1px;line-height:1.05;white-space:normal}.worksheet-via-stop{display:block;white-space:nowrap}.worksheet-via-arrow{display:block;color:#0369a1;font-size:.9em;font-weight:950;line-height:1}.worksheet-col-destination{width:168px}.worksheet-col-note{width:184px}.worksheet-col-action{width:72px}.worksheet-action-cell{width:72px;min-width:72px;overflow:visible;text-align:center;white-space:nowrap;vertical-align:middle}.worksheet-action-cell.is-open{position:relative;z-index:5}.worksheet-action-stack{display:inline-flex;position:relative;justify-content:center;align-items:center;min-width:38px;overflow:visible}.worksheet-action-trigger{position:relative;z-index:1;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.worksheet-action-cell.is-open .worksheet-action-trigger{border-color:#9ed4ee;background:#eef9ff;box-shadow:0 8px 18px #0e74901f}.worksheet-action-menu{position:fixed;top:var(--worksheet-action-menu-top, 0);left:var(--worksheet-action-menu-left, 0);z-index:1200;display:grid;justify-items:center;align-items:center;gap:4px;max-height:0;margin:0;padding:0 3px;overflow:hidden;border:0 solid transparent;border-radius:999px;background:#f8fcff00;opacity:0;transform:translate(-50%,-8px) scaleY(.92);transform-origin:top center;transition:max-height .24s ease,padding .24s ease,border-color .2s ease,background .2s ease,opacity .18s ease,transform .24s ease;pointer-events:none}.worksheet-action-menu.is-open{max-height:128px;padding:4px 3px;border-width:1px;border-color:#d7e9f6;background:#f8fcff;opacity:1;transform:translate(-50%) scaleY(1);pointer-events:auto;box-shadow:0 10px 22px #0f4c751f,inset 0 0 0 1px #ffffffa6}.worksheet-action-menu.is-closing{pointer-events:none}.worksheet-action-trigger,.worksheet-action-item{width:30px;height:30px}.worksheet-action-item{opacity:0;transform:translateY(-3px);transition:opacity .16s ease,transform .2s ease,border-color .18s ease,background .18s ease}.worksheet-action-menu.is-open .worksheet-action-item{opacity:1;transform:translateY(0)}.worksheet-action-menu.is-closing .worksheet-action-item{opacity:0;transform:translateY(-4px)}.worksheet-action-item.danger{color:#b42318;border-color:#fed7d7;background:#fff7f7}.worksheet-action-item.danger:hover{border-color:#fca5a5;background:#fee2e2}.worksheet-quick-nav{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:36;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:152px;min-height:48px;padding:0 16px;border:1px solid rgba(255,255,255,.72);border-radius:8px;color:#fff;background:linear-gradient(135deg,#0d6fa7,#22a8c7);box-shadow:0 14px 32px #09537d3d,inset 0 1px #ffffff4d;font-size:14px;font-weight:900;line-height:1;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,color .18s ease}.worksheet-quick-nav.is-today{border-color:#49b89766;color:#075b4e;background:#f4fffbf0;box-shadow:0 14px 32px #0e74682e,inset 0 1px #fff;-webkit-backdrop-filter:blur(14px) saturate(125%);backdrop-filter:blur(14px) saturate(125%)}.worksheet-quick-nav svg{flex:0 0 auto}.worksheet-quick-nav:hover{transform:translateY(-2px);box-shadow:0 18px 38px #09537d47,inset 0 1px #fff6}.worksheet-quick-nav.is-today:hover{box-shadow:0 18px 38px #0e746838,inset 0 1px #fff}.worksheet-quick-nav:active{transform:translateY(0)}.worksheet-quick-nav:focus-visible{outline:3px solid rgba(14,165,233,.34);outline-offset:3px}@media(max-width:760px){.worksheet-quick-nav{right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));min-width:142px;min-height:46px;padding:0 14px;font-size:13px}}@media(prefers-reduced-motion:reduce){.worksheet-quick-nav{transition:none}}.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-management-panel{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr);height:calc(100dvh - 220px);min-height:720px}.rate-management-panel>.table-wrap.small{min-height:0;max-height:none;overflow:auto;scrollbar-gutter:stable}.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}.route-exact-rate-table.rate-list-table td:nth-child(n+3):nth-child(-n+6) .editable-route-location-combobox input{text-align:center;text-align-last:center}.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{min-width:0;max-height:min(62vh,680px);overflow:auto;scrollbar-gutter:stable}.restaurant-rate-table{min-width:760px}.hotel-agency-rate-table{display:table;min-width:1180px;table-layout:fixed}.hotel-agency-rate-table thead{display:table-header-group}.hotel-agency-rate-table tbody{display:table-row-group}.hotel-agency-rate-table tr{display:table-row}.hotel-agency-rate-table .hotel-rate-agency-col{width:118px}.hotel-agency-rate-table .hotel-rate-english-col{width:190px}.hotel-agency-rate-table .hotel-rate-money-col{width:94px}.hotel-agency-rate-table .hotel-rate-meal-col{width:76px}.hotel-agency-rate-table .hotel-rate-action-col{width:58px}.hotel-agency-rate-panel{align-content:start;gap:10px}.hotel-agency-rate-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid #d9edf8;border-radius:14px;background:linear-gradient(135deg,#f8fcff,#f1f9ff);box-shadow:inset 0 1px #ffffffeb}.hotel-agency-rate-actions{align-items:center;justify-content:flex-end;margin:0}.hotel-agency-rate-actions button{min-width:94px;justify-content:center}.hotel-agency-rate-status{display:inline-flex;align-items:center;gap:9px;min-height:36px;padding:7px 11px;border:1px solid #cfe5f5;border-radius:999px;color:#31506b;background:#fff;font-size:13px;font-weight:900}.hotel-agency-rate-status span{display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;color:#0a6fa8;background:#e6f6ff;font-size:12px}.hotel-agency-rate-status strong{color:#31506b;font-size:13px}.hotel-agency-rate-status.editing{border-color:#97ddf5;color:#075985;background:#ecfbff}.hotel-agency-rate-status.saving{border-color:#bfe5ff;color:var(--blue-700);background:#eef8ff}.hotel-agency-rate-status.saving span{color:var(--blue-700);background:#dff1ff}.hotel-agency-rate-status.success{border-color:#bde8d2;color:#08774c;background:#ecfff5}.hotel-agency-rate-status.success span{color:#08774c;background:#dff8ea}.hotel-agency-rate-status.error{border-color:#ffd0d0;color:#b42318;background:#fff4f4}.hotel-agency-rate-status.error span{color:#b42318;background:#ffe2e2}.hotel-agency-rate-status.locked{border-color:#cdeedc;color:#08774c;background:#effcf6}.hotel-agency-rate-status.locked span{color:#08774c;background:#dff8ea}.hotel-agency-rate-status.locked strong{color:#08774c}.hotel-agency-rate-wrap{max-height:none;overflow-x:auto;overflow-y:visible;border:1px solid #d9edf8;border-radius:16px;background:#fff;box-shadow:inset 0 1px #ffffffeb}.hotel-agency-rate-table th,.hotel-agency-rate-table td{height:46px;padding:7px 6px;text-align:center;vertical-align:middle;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}.hotel-agency-rate-table thead th{position:static;top:auto;height:42px;color:#214761;background:#eef8ff;box-shadow:0 1px #c5dfeedb}.hotel-agency-rate-table th:nth-child(1),.hotel-agency-rate-table td:nth-child(1){width:118px;min-width:118px}.hotel-agency-rate-table th:nth-child(2),.hotel-agency-rate-table td:nth-child(2){width:190px;min-width:190px}.hotel-agency-rate-table th:nth-child(n+3):nth-child(-n+8),.hotel-agency-rate-table td:nth-child(n+3):nth-child(-n+8){width:94px;min-width:94px}.hotel-agency-rate-table th:nth-child(n+9):nth-child(-n+11),.hotel-agency-rate-table td:nth-child(n+9):nth-child(-n+11){width:76px;min-width:76px}.hotel-agency-rate-table th:nth-child(12),.hotel-agency-rate-table td:nth-child(12){width:58px;min-width:58px}.hotel-agency-rate-table input{width:100%;min-width:0;min-height:34px;padding-inline:6px;font-size:13px}.hotel-agency-rate-table td:first-child input,.hotel-agency-rate-table td:nth-child(2) input{text-align:center;overflow:hidden;text-overflow:ellipsis}.hotel-agency-rate-table td:first-child input{padding-inline:4px;font-size:12px}.hotel-agency-rate-table td:nth-child(2) input{padding-inline:10px;text-overflow:ellipsis}.hotel-agency-rate-table.is-locked input{border-color:transparent;color:#203f58;background:transparent;box-shadow:none;cursor:default;opacity:1;-webkit-text-fill-color:#203f58}.hotel-agency-rate-table.editing input{border-color:#a9def5;background:#fff}.hotel-agency-rate-table tbody td{border-bottom:1px solid #e7f1f8}.hotel-agency-rate-table tbody tr:nth-child(2n){background:#f8fcffe6}.hotel-agency-rate-table tbody tr:hover{background:#f1fbff}@media(max-width:900px){.hotel-agency-rate-toolbar{grid-template-columns:1fr}.hotel-agency-rate-actions{justify-content:stretch}.hotel-agency-rate-actions button{flex:1}}.agency-management-panel .restaurant-rate-wrap{grid-area:table;max-height:min(64vh,660px);border:1px solid #d9edf9;border-radius:18px;overflow:auto;background:#fff;scrollbar-gutter:stable;box-shadow:inset 0 1px #ffffffe6}.agency-management-table{min-width:1460px;table-layout:fixed;border-collapse:separate;border-spacing:0}.agency-management-table th,.agency-management-table td{height:58px;padding:10px 12px;text-align:center;vertical-align:middle;white-space:nowrap;word-break:keep-all;writing-mode:horizontal-tb}.agency-management-table tbody tr:nth-child(2n) td{background:#fbfdff}.agency-management-table tbody tr:hover td{background:#f4fbff}.agency-management-table th:nth-child(1),.agency-management-table td:nth-child(1){width:134px}.agency-management-table th:nth-child(2),.agency-management-table td:nth-child(2){width:190px}.agency-management-table th:nth-child(3),.agency-management-table td:nth-child(3){width:132px}.agency-management-table th:nth-child(4),.agency-management-table td:nth-child(4),.agency-management-table th:nth-child(5),.agency-management-table td:nth-child(5){width:78px}.agency-management-table th:nth-child(6),.agency-management-table td:nth-child(6),.agency-management-table th:nth-child(7),.agency-management-table td:nth-child(7),.agency-management-table th:nth-child(8),.agency-management-table td:nth-child(8){width:92px}.agency-management-table th:nth-child(9),.agency-management-table td:nth-child(9){width:150px}.agency-management-table th:nth-child(10),.agency-management-table td:nth-child(10){width:148px}.agency-management-table th:nth-child(11),.agency-management-table td:nth-child(11){width:116px}.agency-management-table th:nth-child(12),.agency-management-table td:nth-child(12){width:64px}.agency-management-table input,.agency-management-table select{width:100%;min-width:0;min-height:36px;border-radius:10px;font-size:13px}.agency-management-table input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;padding:0}.agency-management-table .agency-code-cell{min-width:0;justify-items:center;gap:5px}.agency-management-table .agency-code-cell input{min-width:0;max-width:118px}.agency-management-table .agency-code-cell small{max-width:100%;text-align:center}.agency-management-table .toggle-row.compact{justify-content:center;white-space:nowrap;gap:6px;min-height:36px}.agency-management-table td:last-child .icon-button+.icon-button{margin-left:6px}@media(max-width:760px){.agency-management-panel{grid-template-columns:1fr;grid-template-areas:"header" "helper" "toolbar" "add" "table"}.agency-management-toolbar{width:100%;justify-content:stretch}.agency-management-toolbar button{flex:1 1 0;min-width:0}.agency-add-grid{grid-template-columns:1fr}}.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}.percent-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;width:100%;min-height:42px;padding:0 10px;border:1px solid var(--border);border-radius:12px;color:var(--blue-900);background:#fff;font-weight:950}.percent-input-wrap input,.restaurant-rate-table .percent-input-wrap input{min-width:0;width:100%;min-height:40px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.percent-input-wrap span{color:var(--blue-900);font-weight:950}.percent-input-wrap:focus-within{border-color:var(--blue-500);box-shadow:0 0 0 3px #0ea5e924}.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,.public-holiday-table th,.public-holiday-table td,.public-holiday-table input{text-align:center}.public-holiday-weekday{display:inline-flex;align-items:center;justify-content:center;min-height:32px;min-width:48px;border-radius:999px;color:#086c91;background:#eefaff;font-weight:950}.public-holiday-table .duplicate-row td{background:#fff7f7}.public-holiday-table .duplicate-row input{border-color:#f7b4b4;background:snow}.public-holiday-duplicate{display:inline-flex;align-items:center;justify-content:center;min-height:28px;white-space:nowrap}.route-group-panel{gap:18px;min-width:0}.route-group-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px;align-items:end}.route-group-card-header{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto;gap:10px;align-items:end}.route-location-save-button,.route-location-edit-button{min-width:96px}.route-location-save-status{margin:-4px 0 12px;padding:10px 14px;border:1px solid #d8ebf6;border-radius:12px;color:#486277;background:#f7fbff;font-weight:850}.route-location-save-status.success{border-color:#bde8d2;color:#08774c;background:#ecfff5}.route-location-save-status.error{border-color:#ffd0d0;color:#b42318;background:#fff4f4}.route-location-save-status.saving{border-color:#bfe5ff;color:var(--blue-700);background:#eef8ff}.route-rate-duplicate-notice,.route-rate-duplicate-inline{margin:0;padding:10px 12px;border:1px solid #fecaca;border-radius:12px;color:#b42318;background:#fff4f4;font-size:13px;font-weight:900;line-height:1.35}.route-rate-duplicate-inline{grid-column:1 / -1}.route-rate-duplicate-row td{background:#fff7f7}.route-rate-duplicate-row input,.route-rate-duplicate-row select,.route-rate-duplicate-row .editable-route-location-combobox input{border-color:#f7b4b4;background:snow}.route-rate-duplicate-badge{display:inline-flex;min-height:28px;align-items:center;justify-content:center;margin-left:8px;padding:0 10px;border:1px solid #fecaca;border-radius:999px;color:#b42318;background:#fff4f4;font-size:12px;font-weight:950;white-space:nowrap}.route-location-panel.is-locked .route-group-card,.route-location-panel.is-locked .route-group-rate-section,.route-transport-rate-panel.is-locked .route-group-rate-section{border-color:#bde8d2;background:#f8fffbe6}.route-location-panel.is-locked input:disabled,.route-location-panel.is-locked select:disabled,.route-location-panel.is-locked textarea:disabled,.route-transport-rate-panel.is-locked input:disabled,.route-transport-rate-panel.is-locked select:disabled,.route-transport-rate-panel.is-locked textarea:disabled{color:#40566c;background:#f4fbf7;border-color:#d6eadf;cursor:not-allowed;opacity:1}.route-location-panel.is-locked button:disabled,.route-transport-rate-panel.is-locked button:disabled{cursor:not-allowed;opacity:.62}.route-transport-rate-toolbar{grid-template-columns:repeat(2,minmax(140px,max-content));justify-content:end}.route-group-list,.route-group-rate-section{display:grid;gap:14px;min-width:0}.route-group-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid #d8ebf6;border-radius:14px;background:#f8fcff;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}.route-group-card.is-dragging{opacity:.62;transform:scale(.996)}.route-group-card.is-drag-over{border-color:#0f8cd4;background:#eef8ff;box-shadow:inset 0 0 0 2px #0f8cd429,0 14px 32px #0e6ba81f}.route-location-wrap{min-width:0;max-width:100%;max-height:clamp(440px,62vh,720px);overscroll-behavior:contain}.route-group-list{overscroll-behavior:contain}.route-group-rate-wrap{min-width:0;max-width:100%;max-height:360px}.route-group-rate-toolbar{display:grid;grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);gap:10px;align-items:end}.route-group-rate-summary{min-height:42px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d8ebf6;border-radius:12px;color:#48647c;background:#f7fcff;font-weight:800}.route-group-rate-summary strong{flex:0 0 auto;color:var(--blue-900);font-weight:950}.route-group-rate-summary span{min-width:0}.route-location-table{min-width:1040px}.route-group-rate-table{min-width:1080px}.route-exact-rate-table{min-width:1880px}.route-exact-rate-table .editable-route-location-combobox{min-width:150px}.route-exact-rate-table td:nth-child(3),.route-exact-rate-table td:nth-child(4),.route-exact-rate-table td:nth-child(5),.route-exact-rate-table td:nth-child(6){text-align:center}.route-exact-rate-table .editable-route-location-combobox input{text-align:center;text-align-last:center}.editable-route-location-option-list{max-height:190px}.editable-route-location-option-portal{box-sizing:border-box}.route-non-office-surcharge-table{min-width:980px}.non-office-window-label{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #d8ebf6;border-radius:12px;color:var(--blue-900);background:#f8fcff;font-weight:950}.route-non-office-surcharge-note{color:#b45309;font-weight:950}.route-via-surcharge-note{color:#08774c;font-weight:950}.route-location-table th:nth-child(2),.route-location-table td:nth-child(2),.route-location-table th:nth-child(3),.route-location-table td:nth-child(3){width:31%}.route-location-table th:nth-child(4),.route-location-table td:nth-child(4){width:22%}.route-location-table th:nth-child(5),.route-location-table td:nth-child(5){width:10%}.route-location-table .route-location-order-column,.route-location-table .route-location-order-cell{width:66px;min-width:66px}.restaurant-rate-table select,.route-group-card-header 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}.route-location-table td:nth-child(2) input{text-align:center}.route-location-row{transition:background .16s ease,opacity .16s ease,transform .16s ease,box-shadow .16s ease}.route-location-row.is-dragging{opacity:.56;background:#eaf7ff}.route-location-row.is-drag-over td{background:#d7efffeb;box-shadow:inset 0 2px #0f8cd4}.route-location-order-cell{text-align:center}.route-group-drag-handle,.route-location-drag-handle{width:36px;height:36px;padding:0;border:1px solid #cfe5f5;border-radius:12px;color:var(--blue-700);background:#eef8ff;cursor:grab;display:inline-flex;align-items:center;justify-content:center;touch-action:none;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}.route-group-drag-handle{align-self:end}.route-group-drag-handle:hover,.route-location-drag-handle:hover{background:#def2ff;border-color:#9dd2ef;box-shadow:0 8px 18px #0e6ba824}.route-group-drag-handle:active,.route-location-drag-handle:active{cursor:grabbing;transform:scale(.98)}.route-group-drag-handle:disabled,.route-group-drag-handle:disabled:hover,.route-group-drag-handle:disabled:active,.route-location-drag-handle:disabled,.route-location-drag-handle:disabled:hover,.route-location-drag-handle:disabled:active{color:#8aa1b6;background:#f1f6fa;border-color:#d5e4ef;box-shadow:none;cursor:not-allowed;transform:none}.empty-cell{color:#60758a;font-weight:850;text-align:center}.route-group-rate-add-card{min-width:0;grid-template-columns:minmax(130px,.9fr) repeat(2,minmax(150px,1fr)) minmax(120px,.7fr) minmax(126px,.72fr) auto}.route-ship-use-field{min-width:126px}.route-ship-use-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:108px;min-width:108px;min-height:34px;padding:0;color:#5f7388;cursor:pointer;white-space:nowrap}.route-ship-use-checkbox{position:absolute;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;margin:0;padding:0!important;opacity:0;pointer-events:none}.route-ship-use-control{display:inline-grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:7px;width:108px;min-height:34px;padding:5px 10px 5px 6px;border:1px solid #d7e7f2;border-radius:999px;background:linear-gradient(180deg,#fbfdff,#f4f9fd);box-shadow:inset 0 1px #ffffffe6;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.route-ship-use-knob{width:22px;height:22px;border-radius:999px;background:#d8e7f1;box-shadow:inset 0 -1px #0f355614;transition:background .16s ease,box-shadow .16s ease}.route-ship-use-label{min-width:0;overflow:hidden;font-size:12px;font-weight:950;line-height:1;letter-spacing:0;text-align:center;text-overflow:ellipsis}.route-ship-use-toggle.active{color:#fff}.route-ship-use-toggle.active .route-ship-use-control{border-color:#1388be;background:linear-gradient(180deg,#1ba8d0,#0878b0);box-shadow:0 8px 18px #0e6ba82e,inset 0 1px #ffffff38}.route-ship-use-toggle.active .route-ship-use-knob{background:#fff;box-shadow:0 2px 8px #03315033}.route-ship-use-toggle:has(input:disabled){cursor:not-allowed}.route-ship-use-toggle:has(input:disabled) .route-ship-use-control{opacity:.72}.route-group-rate-add-card.route-non-office-surcharge-add-card{grid-template-columns:minmax(140px,.9fr) minmax(120px,.72fr) minmax(190px,1fr) minmax(220px,1.2fr) auto}.route-group-rate-add-card.route-exact-rate-add-card{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px;align-items:end;padding:12px}.route-group-rate-add-card.route-exact-rate-add-card>.field{min-width:0}.route-exact-agency-field{grid-column:1 / span 2}.route-exact-mode-field{grid-column:3 / span 2}.route-exact-origin-field{grid-column:5 / span 3}.route-exact-via1-field{grid-column:8 / span 3}.route-exact-via-add-button{grid-column:11 / span 2;min-height:42px;justify-content:center;align-self:end;white-space:nowrap}.route-exact-rate-add-card.has-second-via .route-exact-origin-field{grid-column:5 / span 2}.route-exact-rate-add-card.has-second-via .route-exact-via1-field{grid-column:7 / span 2}.route-exact-rate-add-card.has-second-via .route-exact-via-add-button{grid-column:9 / span 2}.route-exact-via2-field{grid-column:11 / span 2}.route-exact-via-add-button.active{color:#0a6fa4;border-color:#9bd7ed;background:#e9f8fd}.route-exact-destination-field{grid-column:1 / span 3}.route-exact-amount-field{grid-column:4 / span 2}.route-group-rate-add-card.route-exact-rate-add-card>.route-ship-use-field{grid-column:6 / span 2}.route-group-rate-add-card.route-exact-rate-add-card>.route-exact-note-field{grid-column:7 / span 3}.route-group-rate-add-card.route-exact-rate-add-card>.route-exact-submit-button{grid-column:8 / span 5;min-height:42px;justify-content:center;align-self:end;white-space:nowrap}.route-group-rate-add-card.route-exact-rate-add-card-surcharge>.route-exact-destination-field{grid-column:1 / span 2}.route-group-rate-add-card.route-exact-rate-add-card-surcharge>.route-exact-amount-field{grid-column:3 / span 2}.route-group-rate-add-card.route-exact-rate-add-card-surcharge>.route-ship-use-field{grid-column:5 / span 2}.route-group-rate-add-card.route-exact-rate-add-card-surcharge>.route-exact-submit-button{grid-column:10 / span 3}.route-group-rate-add-card.route-exact-rate-add-card input,.route-group-rate-add-card.route-exact-rate-add-card select{min-width:0}.route-integrated-rate-kind{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #cfe5f5;border-radius:999px;color:var(--blue-800);background:#eef8ff;font-size:12px;font-weight:950;white-space:nowrap}.route-integrated-rate-kind-surcharge{border-color:#bdebd8;color:#08774c;background:#eefcf6}.hotel-agency-rate-table td:nth-child(n+3):nth-child(-n+11) input{min-width:0;padding-inline:4px;font-size:12px;text-align:center}.restaurant-rate-table input:disabled{color:#40566c;background:#f5fbff;opacity:1}.percent-input-wrap:has(input:disabled){background:#f5fbff}.restaurant-rate-actions{margin-top:2px}.invoice-lines-table th,.invoice-lines-table td{padding:12px 10px;font-size:13px;line-height:1.42;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}.form-grid.invoice-filter-grid{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(150px,.65fr) minmax(170px,.7fr);align-items:end}@media(max-width:980px)and (min-width:761px){.form-grid.invoice-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.invoice-rule-note{margin:0;color:var(--muted);font-size:14px;font-weight:800;line-height:1.65}.invoice-lines-table{min-width:1660px;table-layout:fixed}.invoice-lines-wrap{scrollbar-gutter:stable}.invoice-table-slider{display:flex;align-items:center;min-height:34px;padding:8px 4px 0}.invoice-table-slider input[type=range]{width:100%;height:24px;margin:0;accent-color:var(--blue);cursor:grab}.invoice-table-slider input[type=range]:active{cursor:grabbing}.invoice-table-slider input[type=range]:disabled{cursor:default;opacity:.38}.invoice-table-slider input[type=range]::-webkit-slider-runnable-track{height:8px;border:1px solid #c7e4f5;border-radius:999px;background:linear-gradient(90deg,#e8f7ff,#d7eefb)}.invoice-table-slider input[type=range]::-webkit-slider-thumb{width:36px;height:18px;margin-top:-6px;border:2px solid #fff;border-radius:999px;background:linear-gradient(135deg,var(--blue-700),var(--cyan));box-shadow:0 8px 18px #0e6ba83d;-webkit-appearance:none}.invoice-table-slider input[type=range]::-moz-range-track{height:8px;border:1px solid #c7e4f5;border-radius:999px;background:linear-gradient(90deg,#e8f7ff,#d7eefb)}.invoice-table-slider input[type=range]::-moz-range-thumb{width:36px;height:18px;border:2px solid #fff;border-radius:999px;background:linear-gradient(135deg,var(--blue-700),var(--cyan));box-shadow:0 8px 18px #0e6ba83d}.invoice-lines-table th:nth-child(1),.invoice-lines-table td:nth-child(1){width:88px}.invoice-lines-table th:nth-child(2),.invoice-lines-table td:nth-child(2){width:118px}.invoice-lines-table th:nth-child(3),.invoice-lines-table td:nth-child(3){width:170px}.invoice-lines-table th:nth-child(4),.invoice-lines-table td:nth-child(4){width:108px}.invoice-lines-table th:nth-child(5),.invoice-lines-table td:nth-child(5){width:118px}.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:96px}.invoice-lines-table th:nth-child(8),.invoice-lines-table td:nth-child(8){width:210px}.invoice-lines-table th:nth-child(9),.invoice-lines-table td:nth-child(9){width:130px}.invoice-lines-table th:nth-child(10),.invoice-lines-table td:nth-child(10){width:120px}.invoice-lines-table th:nth-child(11),.invoice-lines-table td:nth-child(11){width:100px}.invoice-lines-table th:nth-child(12),.invoice-lines-table td:nth-child(12){width:292px}.invoice-lines-table td:nth-child(2),.invoice-lines-table td:nth-child(3),.invoice-lines-table td:nth-child(4){overflow-wrap:anywhere;white-space:normal}.invoice-crew-count-cell{white-space:normal;overflow-wrap:anywhere;word-break:keep-all}.invoice-crew-count-cell strong,.invoice-crew-count-list{display:inline-grid;gap:2px;max-width:100%;white-space:normal;line-height:1.28}.invoice-crew-count-cell strong span,.invoice-crew-count-list>span{display:block}.invoice-crew-roster-dropdown{display:grid;max-width:100%}.invoice-crew-roster-dropdown summary{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:0 8px;border:1px solid #ccebf7;border-radius:999px;color:var(--blue-800);background:#f3fbff;font-size:12px;font-weight:950;line-height:1.15;cursor:pointer;-webkit-user-select:none;user-select:none}.invoice-crew-roster-dropdown summary::-webkit-details-marker{display:none}.invoice-crew-roster-menu{display:grid;gap:4px;min-width:148px;margin-top:5px;padding:8px;border:1px solid #cfe8f7;border-radius:10px;background:#fff;box-shadow:0 10px 22px #094b7324}.invoice-crew-roster-menu span{color:var(--blue-900);font-size:11px;font-weight:900;line-height:1.25;text-align:left;white-space:normal}.invoice-lines-table td:nth-child(8){white-space:normal;overflow-wrap:anywhere}.invoice-lines-table td:nth-child(8)>small{max-width:100%;white-space:normal;line-height:1.32}.invoice-lines-table td:nth-child(10) strong,.invoice-lines-table td:nth-child(11) .badge{display:inline-flex;max-width:100%;align-items:center;justify-content:center}.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.invoice-generated td{border-bottom-color:#c5e8d8;background:#e9f8f1}.invoice-summary-row.invoice-generated td:first-child{box-shadow:inset 4px 0 #2f9d73}.invoice-summary-row.invoice-generated:hover td,.invoice-summary-row.invoice-generated.expanded td{background:#ddf3e8}.invoice-summary-row.expanded td{box-shadow:inset 0 1px #bfe7f7,inset 0 -1px #bfe7f7}.invoice-summary-row.invoice-generated.expanded td{box-shadow:inset 0 1px #a9dcc7,inset 0 -1px #a9dcc7}.invoice-summary-row.invoice-generated.expanded td:first-child{box-shadow:inset 4px 0 #2f9d73,inset 0 1px #a9dcc7,inset 0 -1px #a9dcc7}.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:960px;opacity:1;transform:translateY(0) scaleY(1)}}@keyframes invoiceDetailSlideUp{0%{max-height:960px;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}.invoice-detail-title-group{display:flex;min-width:0;align-items:center;justify-content:center;gap:12px}.invoice-detail-title-group>div{display:grid;gap:4px;justify-items:center;min-width:0}.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-exchange-rate{display:grid;grid-template-columns:auto 132px;align-items:center;flex:0 0 auto;gap:8px;width:248px;min-height:40px;padding:5px 8px;border:1px solid #cfe5f5;border-radius:12px;background:#f7fcff}.invoice-detail-exchange-rate span{color:var(--blue-700);font-size:11px;font-weight:950;line-height:1.1;white-space:nowrap}.invoice-detail-exchange-rate input{width:100%;min-width:0;min-height:30px;margin:0;padding:0 8px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--blue-900);font:inherit;font-size:12px;font-weight:850;text-align:center}.invoice-roster-open-button{min-height:40px;white-space:nowrap}.invoice-detail-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.invoice-route-category-list{display:grid;gap:18px;width:100%}.invoice-route-category-group{--route-category-accent: #1677a8;--route-category-soft: #eaf5fb;display:grid;gap:8px;min-width:0;padding-left:12px;border-left:3px solid var(--route-category-accent)}.invoice-route-category-group.tone-offboarding{--route-category-accent: #0f8a72;--route-category-soft: #e7f5f1}.invoice-route-category-group.tone-oversight{--route-category-accent: #a86f18;--route-category-soft: #fff5e3}.invoice-route-category-group.tone-technical{--route-category-accent: #5c6fa8;--route-category-soft: #eef1fa}.invoice-route-category-group.tone-passenger{--route-category-accent: #537487;--route-category-soft: #eef4f6}.invoice-route-category-group.tone-patient{--route-category-accent: #b64d72;--route-category-soft: #fbeef3}.invoice-route-category-header{display:flex;min-width:0;min-height:42px;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:6px;background:var(--route-category-soft)}.invoice-route-category-heading,.invoice-route-category-total{display:flex;min-width:0;align-items:center;gap:8px}.invoice-route-category-heading strong{display:inline-flex;min-height:26px;align-items:center;padding:4px 9px;border-radius:999px;color:#fff;background:var(--route-category-accent);font-size:12px;font-weight:950;white-space:nowrap}.invoice-route-category-heading span,.invoice-route-category-total span{color:#587084;font-size:11px;font-weight:850;white-space:nowrap}.invoice-route-category-total{justify-content:flex-end}.invoice-route-category-total strong{color:var(--route-category-accent);font-size:13px;font-weight:950;white-space:nowrap}.invoice-route-list{display:grid;gap:8px;width:100%}.invoice-route-option{display:grid;grid-template-columns:minmax(0,1fr) 138px;align-items:center;gap:14px;width:100%;min-height:58px;padding:10px 14px;border:1px solid #d6eaf5;border-radius:12px;background:#f8fcff;color:var(--blue-900);text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.invoice-route-option:hover,.invoice-route-option.selected{border-color:var(--blue-500);background:#edf9ff;box-shadow:0 8px 18px #107cb41a}.invoice-route-option-main,.invoice-route-option-amount{display:grid;gap:4px;min-width:0}.invoice-route-option-main strong{overflow:hidden;color:var(--blue-900);font-size:13px;font-weight:950;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.invoice-route-option-main small,.invoice-route-option-amount small{color:var(--muted);font-size:11px;font-weight:850;line-height:1.25}.invoice-route-option-amount{justify-items:end;text-align:right}.invoice-route-option-amount strong{color:var(--blue-700);font-size:13px;font-weight:950}.invoice-route-empty{color:var(--muted);font-size:12px;font-weight:850}.invoice-route-empty{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px dashed #c9e8f6;border-radius:12px;background:#f8fcff}.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),.invoice-detail-table th:nth-child(4),.invoice-detail-table td:nth-child(4){width:80px;text-align:center}.invoice-detail-table th:nth-child(5),.invoice-detail-table td:nth-child(5),.invoice-detail-table th:nth-child(6),.invoice-detail-table td:nth-child(6){width:120px}.invoice-detail-table th:nth-child(7),.invoice-detail-table td:nth-child(7){width:220px;text-align:center}.invoice-detail-table th:nth-child(8),.invoice-detail-table td:nth-child(8){width:170px;text-align:center}.invoice-detail-table th:nth-child(9),.invoice-detail-table td:nth-child(9){width:180px;text-align:center}.invoice-detail-table tr:last-child td{border-bottom:0}.invoice-action-cell{width:292px;min-width:292px;white-space:nowrap}.invoice-row-action-stack{display:inline-grid;gap:8px;justify-items:center;width:100%}.invoice-action-cell input{width:152px;min-width:152px;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-row-exchange-rate{display:inline-flex;width:184px;min-height:34px;align-items:center;gap:6px;padding:4px 6px;border:1px solid #cfe5f5;border-radius:12px;background:#f7fcff}.invoice-row-exchange-rate span{flex:0 0 auto;color:var(--blue-700);font-size:11px;font-weight:950;line-height:1;white-space:nowrap}.invoice-action-cell .invoice-row-exchange-rate input{width:86px;min-width:0;min-height:26px;margin:0;padding:0 6px;border-radius:8px;font-size:12px;line-height:1}.invoice-action-cell .small-button{width:112px;justify-content:center;white-space:nowrap;vertical-align:middle}.invoice-action-cell .invoice-create-button{width:142px;gap:6px}.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}.invoice-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:84;display:flex;justify-content:flex-end;background:#04122042;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:checkoutBackdropFadeIn .16s ease-out both}.invoice-slide-drawer{display:grid;grid-template-rows:auto auto 1fr;gap:16px;width:min(860px,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;will-change:transform}.invoice-drawer-backdrop.is-closing{animation:checkoutBackdropFadeOut .18s ease-in both}.invoice-drawer-backdrop.is-closing .invoice-slide-drawer{animation:checkoutDrawerSlideOut .24s cubic-bezier(.7,0,.84,0) both;pointer-events:none}.invoice-roster-backdrop{z-index:88}.invoice-roster-slide-drawer{grid-template-rows:auto auto 1fr auto;width:min(720px,calc(100vw - 24px))}.invoice-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.invoice-drawer-head h2{margin:4px 0 6px;color:var(--blue-900);font-size:25px;line-height:1.2}.invoice-drawer-head p{margin:0;color:var(--muted);font-size:13px;font-weight:900}.invoice-drawer-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.invoice-drawer-summary>div{display:grid;gap:6px;min-width:0;padding:12px;border:1px solid #d8ecf8;border-radius:16px;background:#fff}.invoice-drawer-summary span{color:var(--muted);font-size:12px;font-weight:900}.invoice-drawer-summary strong{color:var(--blue-900);font-size:15px;font-weight:950;line-height:1.3;overflow-wrap:anywhere}.invoice-roster-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.invoice-drawer-detail-list{display:grid;align-content:start;gap:14px}.invoice-drawer-detail-card{display:grid;gap:14px;padding:16px;border:1px solid #cce8f6;border-radius:18px;background:#ffffffe0;box-shadow:0 12px 28px #0d466c14}.invoice-drawer-detail-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.invoice-drawer-detail-card-head>div{display:flex;align-items:center;gap:8px;min-width:0}.invoice-drawer-detail-card-head strong{color:var(--blue-900);font-size:16px;font-weight:950}.invoice-drawer-detail-card-head em{color:var(--blue-700);font-style:normal;font-size:14px;font-weight:950;white-space:nowrap}.invoice-drawer-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.invoice-drawer-edit-grid .field{margin:0}.invoice-drawer-edit-grid input,.invoice-drawer-edit-grid select,.invoice-drawer-edit-grid textarea{width:100%}.invoice-drawer-edit-grid textarea{min-height:78px}.invoice-headcount-field{align-content:start}.invoice-roster-editor-list{display:grid;align-content:start;gap:12px}.invoice-roster-editor-card{display:grid;gap:10px;padding:14px;border:1px solid #cce8f6;border-radius:16px;background:#ffffffe6}.invoice-roster-editor-card.no-work{border-style:dashed;background:#f8fcfff0}.invoice-roster-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.invoice-roster-editor-head>div{display:grid;gap:3px}.invoice-roster-editor-head strong{color:var(--blue-900);font-size:15px;font-weight:950}.invoice-roster-editor-head span,.invoice-roster-editor-head em{color:var(--muted);font-size:12px;font-style:normal;font-weight:900}.invoice-roster-member-list{display:grid;gap:8px}.invoice-roster-member-row{display:grid;grid-template-columns:28px minmax(0,1fr) 34px;align-items:center;gap:8px}.invoice-roster-member-row>span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#e6f8ff;color:var(--blue-700);font-size:12px;font-weight:950}.invoice-roster-member-row input,.invoice-roster-add-row input{min-width:0;width:100%;margin:0;background:#fff}.invoice-roster-member-row .icon-button{width:34px;height:34px;min-height:34px}.invoice-roster-empty-message{margin:0;min-height:38px;padding:10px 12px;border:1px dashed #cce8f6;border-radius:12px;background:#f7fcff;color:var(--muted);font-size:12px;font-weight:900}.invoice-roster-add-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:8px}.invoice-roster-add-row .small-button{width:92px;justify-content:center}.invoice-crew-combobox{position:relative;min-width:0;width:100%}.invoice-crew-combobox-field input{width:100%;min-height:42px}.invoice-crew-option-list{position:absolute;z-index:95;top:calc(100% + 6px);left:0;right:0;max-height:220px;overflow-y:auto;padding:6px;border:1px solid #cfe3f2;border-radius:14px;background:#fff;box-shadow:0 18px 44px #0f4c8133}.invoice-crew-option-list button,.invoice-crew-option-empty{display:flex;width:100%;align-items:center;justify-content:flex-start;min-height:38px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font-weight:900;text-align:left}.invoice-crew-option-list button:hover,.invoice-crew-option-list button.selected{background:#eaf6ff;color:var(--blue-700)}.invoice-crew-option-empty{color:var(--muted);cursor:default}.invoice-roster-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}.invoice-drawer-route-grid,.invoice-drawer-expense-editor,.invoice-drawer-crew-info-grid,.invoice-drawer-wide-field{grid-column:1 / -1}.invoice-drawer-route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:start;padding:12px;border:1px solid #d8ecf8;border-radius:16px;background:#f7fbfe}.invoice-drawer-via-stack,.invoice-drawer-expense-editor{display:grid;gap:10px;min-width:0}.invoice-drawer-expense-editor{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;border:1px solid #d8ecf8;border-radius:16px;background:#f7fbfe}.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{width:100%;min-width:920px;table-layout:fixed;font-size:12px}.hotel-history-table th,.hotel-history-table td{padding:10px 6px;vertical-align:middle;text-align:center;line-height:1.35;word-break:keep-all;overflow-wrap:normal}.hotel-history-table th{color:#53677d;font-weight:950}.hotel-history-table td{color:var(--blue-900);font-weight:800}.hotel-history-table th:nth-child(1),.hotel-history-table td:nth-child(1){width:70px;white-space:nowrap}.hotel-history-table th:nth-child(2),.hotel-history-table td:nth-child(2){width:128px}.hotel-history-table th:nth-child(3),.hotel-history-table td:nth-child(3){width:164px}.hotel-history-table th:nth-child(4),.hotel-history-table td:nth-child(4){width:70px;white-space:nowrap}.hotel-history-table th:nth-child(5),.hotel-history-table td:nth-child(5),.hotel-history-table th:nth-child(6),.hotel-history-table td:nth-child(6){width:98px}.hotel-history-table th:nth-child(7),.hotel-history-table td:nth-child(7){width:118px}.hotel-history-table th:nth-child(8),.hotel-history-table td:nth-child(8){width:116px}.hotel-history-table td:nth-child(2),.hotel-history-table td:nth-child(3),.hotel-history-table td:nth-child(5),.hotel-history-table td:nth-child(6),.hotel-history-table td:nth-child(7){white-space:normal}.hotel-history-table td:nth-child(1),.hotel-history-table td:nth-child(4),.hotel-history-table td:nth-child(8){white-space:nowrap}.hotel-history-table .compact-button{max-width:100%;padding-inline:7px;font-size:11px}.hotel-history-table tbody tr.clickable-checkout-history-row{cursor:pointer;transition:background .16s ease,box-shadow .16s ease}.hotel-history-table tbody tr.clickable-checkout-history-row:hover{background:#edf8ff;box-shadow:inset 4px 0 0 var(--accent)}.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:linear-gradient(135deg,#eef9ff,#dff2fb);box-shadow:inset 0 0 0 1px #61afd66b,0 6px 14px #1970a31a;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:#116b9b;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}.stay-card-badges .status-pill{margin-left:0}.status-pill.active{color:#057154;background:#dffbf0}.status-pill.single{color:#0b6d8e;background:#e9f8ff}.status-pill.twin{color:#244fc7;background:#e7edff}.stay-card-main{display:grid;gap:8px;min-width:0}.stay-card-main>strong{color:var(--blue-900);font-size:19px;font-weight:950;line-height:1.16;word-break:keep-all;overflow-wrap:anywhere}.stay-crew-list{display:grid;gap:5px}.stay-crew-list span{color:#25384d;font-size:13px;font-weight:900;line-height:1.22;word-break:keep-all;overflow-wrap:anywhere}.stay-card-meta{display:grid;gap:9px;padding:10px;border-radius:16px;border:1px solid #e3f0f8;background:#f8fcff}.stay-card-meta span{color:#4a6178;font-size:13px;font-weight:900}.stay-card-type-line{display:grid;gap:2px;width:100%;padding:6px 8px;border-radius:12px;background:#eef8fd;color:#334a63;line-height:1.25;text-align:center;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.stay-card-phone-line{display:block}.stay-card-time-stack{display:grid;gap:6px;min-width:0;padding-top:2px}.stay-card-time-row{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:7px;min-width:0;color:inherit;font-style:normal;font-weight:inherit;line-height:1.25}.stay-card-time-row b{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 7px;border-radius:999px;background:#e6f4fb;color:#41627d;font-size:11px;font-weight:950;white-space:nowrap}.stay-card-time-row span{min-width:0;color:#10283e;font-size:12px;font-weight:950;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stay-card-time-row.expected span{color:#0b6f9a}.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:flex-start;gap:12px;flex-wrap:wrap;min-width:0}.reservation-header-actions{flex-wrap:nowrap;justify-content:flex-end}.reservation-header-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1 1 auto;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(150px,.7fr) minmax(0,2fr) minmax(206px,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}.reservation-list-card.read-only-reservation-card{grid-template-columns:minmax(200px,.85fr) minmax(0,3fr)}.reservation-list-card.agency-reservation-card{grid-template-columns:minmax(200px,.8fr) minmax(0,2.2fr) minmax(150px,auto)}.agency-reservation-card-actions{display:flex;align-items:center;justify-content:flex-end;min-width:0}.agency-reservation-card-actions button{min-width:140px;justify-content: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{color:var(--blue-900);font-size:17px;font-weight:950;overflow-wrap:anywhere;white-space:normal}.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(5,minmax(108px,1fr));align-items:center;gap:8px;min-width:0}.read-only-reservation-card .reservation-list-meta{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.reservation-list-meta span{display:grid;gap:4px;align-content:center;align-items:center;justify-items:center;min-width:0;color:var(--muted);font-size:12px;font-weight:850;text-align:center}.read-only-reservation-card .reservation-list-card-main{justify-items:center;text-align:center}.read-only-reservation-card .reservation-list-card-main>div{width:100%}.read-only-reservation-card .reservation-list-meta span{justify-items:center;text-align:center}.reservation-list-meta strong{color:var(--blue-900);font-size:12px;font-weight:950;line-height:1.3;overflow-wrap:anywhere;white-space:normal}.agency-reservation-panel{display:grid;gap:16px}.agency-reservation-list{display:grid;gap:12px;min-width:0}.agency-reservation-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(190px,1.05fr) minmax(330px,1.5fr) minmax(174px,.8fr) minmax(116px,.45fr);gap:12px;align-items:stretch;min-width:0;padding:14px;border:1px solid #d5eaf7;border-radius:18px;background:linear-gradient(135deg,#fff,#f7fcff);box-shadow:0 10px 22px #0e6ba80d}.agency-reservation-status,.agency-reservation-vessel,.agency-reservation-schedule span,.agency-reservation-counts span{min-width:0;border-radius:14px}.agency-reservation-status{display:grid;align-content:center;justify-items:start;gap:8px;padding:10px 12px;background:#f5fbff}.agency-reservation-status .status-pill{width:fit-content}.agency-reservation-status small,.agency-reservation-vessel small,.agency-reservation-schedule small,.agency-reservation-counts small{color:#5b7287;font-size:12px;font-weight:900;line-height:1.25}.agency-reservation-vessel{display:grid;align-content:center;gap:6px;padding:10px 12px}.agency-reservation-vessel strong{color:var(--blue-900);font-size:18px;font-weight:950;line-height:1.2;overflow-wrap:anywhere}.agency-reservation-schedule,.agency-reservation-counts,.agency-reservation-actions{display:grid;gap:10px;min-width:0}.agency-reservation-schedule,.agency-reservation-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.agency-reservation-schedule span,.agency-reservation-counts span{display:grid;align-content:center;gap:5px;min-height:62px;padding:10px 12px;border:1px solid #e0eff8;background:#f8fcff}.agency-reservation-schedule strong,.agency-reservation-counts strong{color:var(--blue-900);font-size:14px;font-weight:950;line-height:1.25;overflow-wrap:anywhere}.agency-reservation-counts strong{font-size:17px}.agency-reservation-actions{align-content:center}.agency-reservation-actions button{width:100%;min-height:44px;justify-content:center;white-space:nowrap}.agency-stay-panel{display:grid;gap:16px}.agency-stay-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.agency-stay-panel-head .panel-header{flex:1 1 240px;min-width:0}.agency-stay-month-field{width:min(190px,100%);margin-left:auto}.agency-stay-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));justify-content:stretch;align-items:stretch;gap:16px;width:100%;min-width:0}.agency-stay-card{display:grid;grid-template-areas:"room" "vessel" "schedule" "role";grid-template-columns:1fr;grid-template-rows:auto minmax(72px,1fr) auto auto;align-content:start;gap:14px;height:100%;min-width:0;min-height:268px;padding:0;overflow:hidden;border:1px solid #d5eaf7;border-radius:18px;background:linear-gradient(135deg,#fff,#f7fcff);box-shadow:0 10px 22px #0e6ba80d}.agency-stay-room,.agency-stay-vessel,.agency-stay-schedule span,.agency-stay-role{min-width:0;border-radius:14px}.agency-stay-room{grid-area:room;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:16px;background:linear-gradient(135deg,#eef9ff,#f9fdff);border-bottom:1px solid #d8edf8;border-radius:0}.agency-stay-room strong{flex:0 0 auto;color:var(--blue-900);font-size:22px;font-weight:950;line-height:1.05;overflow-wrap:anywhere;white-space:nowrap}.agency-stay-room .status-pill{flex:0 0 auto;max-width:100%;line-height:1.1;white-space:nowrap}.agency-stay-room-badges{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;min-width:0}.agency-stay-room-phone,.agency-stay-crew-count{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border:1px solid #cce7f6;border-radius:999px;background:#fff;color:#0b6fa9;font-size:11px;font-weight:950;line-height:1;white-space:nowrap}.agency-stay-room-phone{min-height:28px;max-width:100%;padding:0 12px;background:#f8fcff;color:#244760;font-size:13px;overflow-wrap:anywhere}.agency-stay-vessel{grid-area:vessel;display:grid;align-content:center;gap:6px;padding:0 16px}.agency-stay-vessel small,.agency-stay-schedule small,.agency-stay-role small{color:#5b7287;font-size:11px;font-weight:950;letter-spacing:0;line-height:1.2}.agency-stay-vessel strong{color:var(--blue-900);font-size:17px;font-weight:950;line-height:1.18;overflow-wrap:anywhere}.agency-stay-vessel span{color:#2e4e6c;font-size:13px;font-weight:900;line-height:1.28;overflow-wrap:anywhere}.agency-stay-crew-list{display:grid;gap:4px;min-width:0}.agency-stay-schedule{grid-area:schedule;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;padding:0 16px}.agency-stay-schedule span,.agency-stay-role{display:grid;align-content:center;gap:5px;min-height:58px;padding:10px 12px;border:1px solid #e0eff8;background:#f8fcff}.agency-stay-schedule strong,.agency-stay-role strong{color:var(--blue-900);font-size:13px;font-weight:950;line-height:1.3;overflow-wrap:anywhere}.agency-stay-role{grid-area:role;margin:0 16px 16px}.agency-stay-status-active{background:#dffbf0;color:#057154}.agency-stay-status-checked-out{background:#e3f8fc;color:#0f5a78}.agency-stay-status-default{background:#edf5fb;color:#506176}.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-drawer .reservation-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:14px}.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;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.reservation-room-card-top strong{min-width:0;padding-top:3px;font-size:16px;line-height:1.28}.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:12px}.reservation-checkin-crew-row{display:grid;grid-template-columns:1fr;align-items:stretch;gap:10px;min-width:0;padding:12px;border:1px solid #dbeef9;border-radius:16px;background:linear-gradient(180deg,#ffffffe0,#f8fdffc7)}.reservation-checkin-crew-index{display:inline-flex;align-items:center;justify-content:center;justify-self:start;min-height:30px;padding:0 12px;border-radius:12px;color:#075985;background:#e5f7ff;font-size:12px;font-weight:950;white-space:nowrap}.reservation-checkin-name-field{grid-column:1 / -1;width:100%}.reservation-checkin-crew-detail-row{grid-column:1 / -1;display:grid;grid-template-columns:minmax(92px,.62fr) minmax(150px,1.18fr);gap:10px;align-items:end;min-width:0}.reservation-checkin-room-field,.reservation-checkin-role-field{min-width:0}.reservation-checkin-crew-detail-row.no-room .reservation-checkin-role-field{grid-column:1 / -1}.reservation-checkin-crew-row .field{min-width:0}.reservation-checkin-crew-row .field>span{white-space:nowrap}.reservation-checkin-crew-row input,.reservation-checkin-crew-row select{min-width:0;padding:0 10px;font-size:13px}.reservation-checkin-name-field input{min-height:46px;font-size:15px;font-weight:950}.reservation-checkin-crew-row .nationality-combobox input{padding:0 10px}.reservation-checkin-room-field input{text-align:left}.reservation-checkin-room-field{min-width:0}.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:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.reservation-schedule-grid .datetime-controls.has-unknown-button{grid-template-columns:minmax(118px,1fr) 68px 68px 78px;gap:6px}.reservation-schedule-grid .datetime-unknown-button{min-height:42px;padding:0 8px;font-size:11px}.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%)}}@keyframes agencyRequestDrawerSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes agencyRequestDrawerSlideOut{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,.agency-request-detail-backdrop,.agency-request-detail-drawer,.agency-portal-nav:before,.agency-room-type-toggle:before{animation:none;transition: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}.crew-role-input{max-width:180px}.crew-role-input select{height:38px;color:var(--muted);font-size:14px;font-weight:900;padding:0 10px}.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}@media(min-width:1101px){.stay-detail-common-edit-grid{grid-template-columns:minmax(180px,.8fr) minmax(460px,1.2fr)}.stay-detail-common-edit-grid .datetime-field{grid-column:auto}.stay-detail-common-edit-grid .stay-detail-expected-checkout-field{grid-column:2}}.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}.stay-detail-head-actions .reenter-secondary{min-height:36px;padding-inline:12px;border-color:#bae6fd;color:#075985;background:#f0f9ff;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;gap:12px}.checkout-drawer-form .field,.checkout-drawer-form .check-line{min-width:0}.checkout-drawer-form-polished{padding:14px;border:1px solid #d8ecf8;border-radius:18px;background:linear-gradient(180deg,#fff,#f5fbff);box-shadow:inset 0 1px #fffc}.checkout-drawer-datetime-card{min-width:0}.checkout-drawer-field-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);gap:10px;align-items:end}.checkout-drawer-wide-field,.checkout-drawer-note-field{width:100%}.checkout-onsite-payment-button{min-height:46px;padding:11px 16px;border:1px solid #d8ecf8;border-radius:13px;background:#fff;color:var(--blue-700);font-weight:950;cursor:pointer}.checkout-onsite-payment-button.active{border-color:#f4bd4b;background:#fff6df;color:#8a4d00}.checkout-onsite-payment-button.compact{white-space:nowrap}@media(max-width:680px){.checkout-edit-price-control{grid-template-columns:1fr}.checkout-onsite-payment-button{width:100%}}.checkout-drawer-form .bulk-checkout-datetime{margin:0}.checkout-drawer-form .bulk-checkout-datetime .datetime-controls{grid-template-columns:minmax(160px,1fr) minmax(92px,.34fr) minmax(92px,.34fr);gap:8px}.checkout-drawer-form .bulk-checkout-datetime .datetime-controls input,.checkout-drawer-form .bulk-checkout-datetime .datetime-controls select,.checkout-drawer-field-grid input,.checkout-drawer-wide-field input{min-height:46px;text-align:center;font-weight:900;color:var(--ink)}.checkout-drawer-field-grid input,.checkout-drawer-wide-field input{text-align:left}.checkout-drawer-note-field textarea{min-height:76px;resize:vertical}.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-event{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;animation:restaurant-event-in .22s ease-out}.restaurant-event.success{border-color:#10b98157;background:#ecfdf5;color:#065f46}.restaurant-event.error{border-color:#f59e0b6b;background:#fffbeb;color:#92400e}.restaurant-event-mark{flex:0 0 auto;min-width:46px;padding:8px 10px;border-radius:999px;color:#fff;background:var(--blue-700);font-size:12px;font-weight:900;text-align:center}.restaurant-event.success .restaurant-event-mark{background:#059669}.restaurant-event.error .restaurant-event-mark{background:#d97706}.restaurant-event strong{display:block;color:inherit;font-size:15px;font-weight:950}.restaurant-event p{margin:3px 0 0;color:inherit;font-size:13px;font-weight:850}@keyframes restaurant-event-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.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;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.crew-option:hover,.crew-option:focus-visible{border-color:#0e6ba86b;background:#f6fbff;box-shadow:0 10px 26px #0e6ba81f;transform:translateY(-1px)}.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;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;box-shadow:0 0 #0e6ba83d,0 8px 18px #0e6ba833;animation:meal-check-cta-pulse 1.65s ease-in-out infinite}.crew-option em:after{content:"";width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);animation:meal-check-cta-arrow 1.05s ease-in-out infinite}.crew-option:hover em,.crew-option:focus-visible em{background:#075985}@keyframes meal-check-cta-pulse{0%,to{box-shadow:0 0 #0e6ba83d,0 8px 18px #0e6ba833}50%{box-shadow:0 0 0 8px #0e6ba81c,0 12px 24px #0e6ba84d}}@keyframes meal-check-cta-arrow{0%,to{transform:translate(0) rotate(45deg)}50%{transform:translate(4px) rotate(45deg)}}@media(prefers-reduced-motion:reduce){.crew-option,.crew-option em,.crew-option em:after{animation:none;transition:none}}.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,.hotel-update-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}.worksheet-complete-summary{padding:10px 12px;border:1px solid #cfe5f5;border-radius:14px;background:#f0f8ff;color:var(--blue-900);font-size:15px;font-weight:950;line-height:1.35}.worksheet-complete-summary strong{display:block}.worksheet-complete-date{display:block;margin-bottom:3px;color:var(--blue-700);font-size:13px;font-weight:900}.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-date-field input{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;text-align:left;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{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);align-items:stretch;gap:16px;padding:18px;border-color:#1684d438;background:linear-gradient(120deg,#ffffffe0,#eaf6ffe6 42%,#eefbf6d1 72%,#fff7e7c2),#fff;box-shadow:0 28px 80px #0e6ba829}.revenue-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.42;background-image:linear-gradient(rgba(14,107,168,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(14,107,168,.1) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.78),transparent 72%);mask-image:linear-gradient(90deg,rgba(0,0,0,.78),transparent 72%)}.revenue-hero:after{content:"";position:absolute;top:-35%;right:-20%;bottom:-35%;left:-20%;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.5) 44%,transparent 64%);transform:translate(-78%);animation:revenueSweep 9s ease-in-out infinite}.revenue-hero>*{position:relative;z-index:1}.revenue-hero-copy{display:grid;align-content:center;gap:8px;min-width:0;padding:18px;border:1px solid rgba(14,107,168,.12);border-radius:18px;background:linear-gradient(135deg,#ffffffd1,#eaf7ffad),#ffffff9e;box-shadow:inset 0 1px #ffffffdb,0 14px 34px #0e6ba814}.revenue-hero-status{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:5px 8px 5px 5px;border:1px solid rgba(14,107,168,.14);border-radius:999px;color:#2f5874;background:#ffffffb8;box-shadow:inset 0 1px #ffffffb8;font-size:12px;font-weight:950}.revenue-hero-status span{padding:5px 8px;border-radius:inherit;color:#fff;background:linear-gradient(135deg,var(--blue-800),var(--cyan));letter-spacing:0}.revenue-hero-status strong{color:var(--blue-900);font-weight:950;white-space:nowrap}.revenue-hero h2{margin-top:2px;font-size:clamp(24px,1.7vw,30px)}.revenue-hero p{margin-top:0;color:var(--muted);font-weight:700;word-break:keep-all}.revenue-total-line{margin-top:0;color:var(--blue-900);font-size:clamp(38px,3vw,50px);font-weight:950;line-height:1.05;letter-spacing:0;text-shadow:0 10px 32px rgba(14,107,168,.16)}.revenue-hero-panel{position:relative;overflow:hidden;display:grid;gap:10px;min-width:0;padding:14px;border:1px solid rgba(14,107,168,.14);border-radius:18px;background:#ffffffad;box-shadow:inset 0 1px #ffffffdb,0 22px 52px #0e6ba81f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.revenue-hero-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 42%),linear-gradient(90deg,rgba(14,107,168,.08),transparent 34%,rgba(245,166,35,.08))}.revenue-hero-panel>*{position:relative;z-index:1}.revenue-bar-panel{gap:10px;min-height:0;padding:14px;border-color:#0e6ba826;background:linear-gradient(135deg,#ffffffe6,#e9f9ffb8),repeating-linear-gradient(90deg,rgba(14,107,168,.026) 0 1px,transparent 1px 34px);box-shadow:inset 0 1px #ffffffe6,0 24px 54px #0e6ba821}.revenue-bar-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.revenue-bar-panel-head div{display:grid;gap:2px;min-width:0}.revenue-bar-panel-head span{color:var(--blue-700);font-size:11px;font-weight:950;letter-spacing:.08em}.revenue-bar-panel-head strong{color:var(--blue-900);font-size:21px;font-weight:950;line-height:1.1}.revenue-bar-panel-head em{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(14,107,168,.13);border-radius:999px;background:#ffffffbd;color:#456074;font-size:11px;font-style:normal;font-weight:950}.revenue-bar-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;min-width:0;padding:10px 12px;border:1px solid rgba(14,107,168,.12);border-radius:15px;background:linear-gradient(90deg,#5cc9a71f,#ffffffc2),#ffffff9e;box-shadow:inset 4px 0 #5cc9a7b8}.revenue-bar-summary span{color:var(--muted);font-size:12px;font-weight:950}.revenue-bar-summary strong{color:var(--blue-900);font-size:18px;font-weight:950;line-height:1.14;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.revenue-bar-summary em{align-self:center;color:#38576f;font-size:12px;font-style:normal;font-weight:950;white-space:nowrap}.revenue-bar-list{display:grid;gap:7px;min-width:0}.revenue-bar-row{--bar-width: 0%;--bar-color: var(--blue-700);--bar-soft: rgba(14, 107, 168, .13);position:relative;display:grid;grid-template-columns:minmax(175px,.85fr) minmax(160px,1fr) minmax(150px,.7fr);align-items:center;gap:10px;min-width:0;padding:9px 10px;border:1px solid rgba(14,107,168,.1);border-radius:15px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffe6,0 10px 22px #0e6ba814;transition:transform .24s ease,box-shadow .24s ease,background .24s ease}.revenue-bar-row.blue{--bar-color: var(--blue-700);--bar-soft: rgba(14, 107, 168, .13)}.revenue-bar-row.mint{--bar-color: var(--mint);--bar-soft: rgba(92, 201, 167, .18)}.revenue-bar-row.amber{--bar-color: var(--amber);--bar-soft: rgba(245, 166, 35, .2)}.revenue-bar-row.is-leading{background:linear-gradient(90deg,var(--bar-soft),rgba(255,255,255,.78)),#ffffffd1}.revenue-bar-row:hover{transform:translate(4px);background:#ffffffe0;box-shadow:inset 0 1px #fffffff0,0 16px 32px #0e6ba81f}.revenue-bar-row-head,.revenue-bar-row-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.revenue-bar-row-head span{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#365771;font-size:13px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenue-bar-row-head strong{flex:0 0 auto;color:var(--blue-900);font-size:16px;font-weight:950;white-space:nowrap}.revenue-bar-track{position:relative;overflow:hidden;height:24px;border-radius:999px;background:linear-gradient(180deg,#ecf7fdf0,#daedf7b8);box-shadow:inset 0 1px #ffffffeb,inset 0 -1px #0e6ba814}.revenue-bar-track:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(14,107,168,.07) 0 1px,transparent 1px 36px);pointer-events:none}.revenue-bar-fill{position:relative;display:flex;align-items:center;justify-content:flex-end;width:var(--bar-width);min-width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--bar-color) 78%,white),var(--bar-color));box-shadow:inset 0 1px #ffffff6b,0 10px 18px var(--bar-soft);animation:revenueBarGrow .65s cubic-bezier(.2,.8,.2,1) both}.revenue-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(110deg,transparent 0 38%,rgba(255,255,255,.46) 48%,transparent 62% 100%);transform:translate(-110%);animation:revenueBarSheen 4.8s ease-in-out infinite}.revenue-bar-fill b{position:relative;z-index:1;padding:0 9px;color:#fff;font-size:12px;font-weight:950;text-shadow:0 1px 6px rgba(11,31,51,.22);white-space:nowrap}.revenue-bar-row.is-small .revenue-bar-fill b{display:none}.revenue-bar-row-foot{color:#587084;font-size:10px;font-weight:850}.revenue-bar-row-foot span{display:none}.revenue-bar-row-foot em{min-width:0;overflow:hidden;color:#506b80;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.revenue-bar-row-foot small{flex:0 0 auto;color:#6b7f90;font-size:10px;font-weight:950}.revenue-bar-total{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:8px 0 0;border-top:1px solid rgba(14,107,168,.1)}.revenue-bar-total>span{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.revenue-bar-total em{color:var(--muted);font-size:12px;font-style:normal;font-weight:950}.revenue-bar-total strong{color:var(--blue-900);font-size:17px;font-weight:950;white-space:nowrap}.revenue-bar-mini-stack{display:flex;align-items:stretch;gap:3px;height:9px;overflow:hidden;border-radius:999px;background:#0e6ba814}.revenue-bar-mini-stack i{display:block;width:var(--bar-width);min-width:0}.revenue-bar-mini-stack i.blue{background:var(--blue-700)}.revenue-bar-mini-stack i.mint{background:var(--mint)}.revenue-bar-mini-stack i.amber{background:var(--amber)}@media(max-width:900px){.revenue-hero{grid-template-columns:1fr}.revenue-hero-panel{width:100%;box-sizing:border-box}.revenue-bar-summary{grid-template-columns:1fr}.revenue-bar-summary em{grid-column:1;grid-row:auto;white-space:normal}.revenue-bar-row{grid-template-columns:1fr}.revenue-bar-row-head,.revenue-bar-row-foot,.revenue-bar-total>span{align-items:flex-start;flex-direction:column}.revenue-bar-row-head strong,.revenue-bar-row-foot em,.revenue-bar-total strong{white-space:normal}}.revenue-pie-panel{gap:12px;min-height:318px;padding:18px;border-color:#0e6ba82e;background:linear-gradient(115deg,rgba(255,255,255,.42),transparent 48%),repeating-linear-gradient(90deg,rgba(14,107,168,.03) 0 1px,transparent 1px 32px),repeating-linear-gradient(0deg,rgba(14,107,168,.025) 0 1px,transparent 1px 30px),linear-gradient(145deg,#ffffffdb,#e9f9ffb8);box-shadow:inset 0 1px #ffffffeb,inset 0 -1px #0e6ba814,0 28px 70px #0e6ba826}.revenue-pie-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.revenue-pie-panel-head div{display:grid;gap:2px;min-width:0}.revenue-pie-panel-head span{color:var(--blue-700);font-size:11px;font-weight:950;letter-spacing:.08em}.revenue-pie-panel-head strong{color:var(--blue-900);font-size:20px;font-weight:950;line-height:1.1}.revenue-pie-panel-head em{flex:0 0 auto;padding:7px 10px;border:1px solid rgba(14,107,168,.14);border-radius:999px;background:#ffffffbd;color:#456074;font-size:11px;font-style:normal;font-weight:950}.revenue-visual-stage{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(220px,1fr) minmax(118px,.42fr);align-items:center;gap:12px;min-width:0;min-height:210px;padding:12px;border:1px solid rgba(14,107,168,.12);border-radius:18px;background:linear-gradient(145deg,#ffffffad,#e5f7ff6b),#ffffff59;box-shadow:inset 0 1px #ffffffe0,0 18px 42px #0e6ba81a}.revenue-visual-stage:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(14,107,168,.08);border-radius:16px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.56),transparent),repeating-linear-gradient(135deg,transparent 0 17px,rgba(14,107,168,.035) 17px 18px);opacity:.72;transform:translate(-24%);transition:transform .56s ease,opacity .56s ease;pointer-events:none}.revenue-visual-stage:after{content:"";position:absolute;left:24px;right:24px;bottom:12px;height:1px;background:linear-gradient(90deg,transparent,rgba(14,107,168,.18),transparent);pointer-events:none}.revenue-pie-panel:hover .revenue-visual-stage:before,.revenue-pie-panel:focus-within .revenue-visual-stage:before{opacity:.96;transform:translate(0)}.revenue-next-chart{--transport-end: 0%;--hotel-end: 0%;--transport-share: 0%;--hotel-share: 0%;--restaurant-share: 0%;position:relative;isolation:isolate;display:grid;place-items:center;width:min(312px,100%);min-height:220px;margin:0 auto;outline:none;perspective:1120px;transform-style:preserve-3d;cursor:default}.revenue-next-chart:before{content:"";position:absolute;left:50%;bottom:14px;width:82%;height:38px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(11,31,51,.26),rgba(14,107,168,.1) 48%,transparent 74%);filter:blur(2px);transform:translate(-50%);pointer-events:none;transition:transform .36s ease,opacity .36s ease}.revenue-pie-disc{position:relative;z-index:1;width:min(276px,76vw);aspect-ratio:1;transform:rotateX(60deg) rotate(-32deg) translateY(0);transform-style:preserve-3d;transition:transform .52s cubic-bezier(.2,.8,.2,1),filter .52s ease;will-change:transform}.revenue-pie-disc:before,.revenue-pie-disc:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;border-radius:50%;pointer-events:none}.revenue-pie-disc:before{transform:translateZ(34px);background:conic-gradient(from -58deg,rgba(255,255,255,.52) 0 1.2%,transparent 1.2% var(--transport-end),rgba(255,255,255,.5) var(--transport-end) calc(var(--transport-end) + 1.2%),transparent calc(var(--transport-end) + 1.2%) var(--hotel-end),rgba(255,255,255,.48) var(--hotel-end) calc(var(--hotel-end) + 1.2%),transparent calc(var(--hotel-end) + 1.2%) 100%);mix-blend-mode:screen;opacity:.82}.revenue-pie-disc:after{top:8%;right:8%;bottom:8%;left:8%;z-index:5;transform:translateZ(38px);border:1px solid rgba(255,255,255,.68);box-shadow:inset 0 0 0 9px #ffffff14,inset 0 -12px 24px #0b1f3314;opacity:.9}.revenue-pie-side,.revenue-pie-surface,.revenue-pie-sheen,.revenue-pie-shadow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.revenue-pie-shadow{top:6%;right:6%;bottom:6%;left:6%;transform:translateZ(-46px) translateY(48px) scaleX(.95) scaleY(.24);background:radial-gradient(ellipse at center,rgba(11,31,51,.34),rgba(14,107,168,.12) 55%,transparent 76%);filter:blur(6px)}.revenue-pie-side{background:conic-gradient(from -58deg,#0d5b93 0 var(--transport-end),#149a78 var(--transport-end) var(--hotel-end),#b98018 var(--hotel-end) 100%)}.revenue-pie-side-deep{transform:translateZ(-34px) translateY(28px);filter:saturate(.92) brightness(.68);box-shadow:0 30px #0b588433,0 52px 36px #0b1f3333,inset 0 -22px 34px #0b1f3338}.revenue-pie-side-mid{transform:translateZ(-16px) translateY(13px);filter:saturate(.98) brightness(.82);opacity:.88;box-shadow:0 18px #149a7824,inset 0 -18px 28px #0b1f3329}.revenue-pie-surface{transform:translateZ(20px);background:conic-gradient(from -58deg,#1f8bd3 0 var(--transport-end),#3fd2b7 var(--transport-end) var(--hotel-end),#f4b339 var(--hotel-end) 100%),radial-gradient(circle at 32% 20%,rgba(255,255,255,.72),transparent 34%);box-shadow:inset 0 16px 24px #ffffff7a,inset 0 -22px 30px #0b1f3329,0 2px #ffffffdb;animation:revenuePieSurfaceDrift 9s ease-in-out infinite}.revenue-pie-sheen{transform:translateZ(28px);background:radial-gradient(circle at 29% 22%,rgba(255,255,255,.86),transparent 27%),radial-gradient(circle at 70% 76%,rgba(11,31,51,.16),transparent 36%),linear-gradient(125deg,rgba(255,255,255,.32),transparent 54%);mix-blend-mode:soft-light}.revenue-pie-core{position:absolute;z-index:3;top:50%;left:50%;display:grid;place-items:center;gap:2px;width:112px;min-height:112px;padding:10px;border-radius:999px;background:radial-gradient(circle at 35% 24%,#fffffffa,#eef8ffed 48%,#d6ecf9f5);color:var(--blue-900);text-align:center;transform:translate(-50%,-50%);box-shadow:inset 0 1px #fffffff0,0 18px 38px #0e6ba833;transition:transform .52s cubic-bezier(.2,.8,.2,1),box-shadow .52s ease}.revenue-pie-core em{color:#6a7f92;font-size:10px;font-style:normal;font-weight:950}.revenue-pie-core strong{font-size:31px;font-weight:950;line-height:1;letter-spacing:0}.revenue-pie-core small{display:block;max-width:82px;color:#476176;font-size:10.5px;font-weight:950;line-height:1.2}.revenue-chart-callouts{display:grid;gap:8px;min-width:0}.revenue-chart-callout{position:relative;overflow:hidden;display:grid;gap:3px;min-width:0;padding:10px 10px 10px 12px;border:1px solid rgba(14,107,168,.12);border-radius:14px;background:#ffffffc7;box-shadow:inset 0 1px #ffffffd1,0 10px 22px #0e6ba817;transform:translate(0);transition:transform .36s ease,box-shadow .36s ease,background .36s ease}.revenue-chart-callout:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:inherit}.revenue-chart-callout.blue:before{background:var(--blue-700)}.revenue-chart-callout.mint:before{background:var(--mint)}.revenue-chart-callout.amber:before{background:var(--amber)}.revenue-chart-callout em,.revenue-chart-callout small{overflow:hidden;color:#5f7485;font-style:normal;font-size:10.5px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.revenue-chart-callout strong{color:var(--blue-900);font-size:22px;font-weight:950;line-height:1}.revenue-next-chart:hover+.revenue-chart-callouts .revenue-chart-callout,.revenue-next-chart:focus-visible+.revenue-chart-callouts .revenue-chart-callout{background:#ffffffe6;box-shadow:inset 0 1px #ffffffe6,0 16px 28px #0e6ba824}.revenue-next-chart:hover+.revenue-chart-callouts .revenue-chart-callout:nth-child(1),.revenue-next-chart:focus-visible+.revenue-chart-callouts .revenue-chart-callout:nth-child(1){transform:translate(-7px)}.revenue-next-chart:hover+.revenue-chart-callouts .revenue-chart-callout:nth-child(2),.revenue-next-chart:focus-visible+.revenue-chart-callouts .revenue-chart-callout:nth-child(2){transform:translate(5px)}.revenue-next-chart:hover+.revenue-chart-callouts .revenue-chart-callout:nth-child(3),.revenue-next-chart:focus-visible+.revenue-chart-callouts .revenue-chart-callout:nth-child(3){transform:translate(-4px)}.revenue-orbit-chip{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:5px;min-width:88px;padding:7px 9px;border:1px solid rgba(14,107,168,.13);border-radius:999px;background:#ffffffd6;color:#31516a;font-size:11px;font-weight:950;box-shadow:0 12px 28px #0e6ba824;transition:transform .52s cubic-bezier(.2,.8,.2,1),box-shadow .52s ease,background .52s ease;animation:revenueChipFloat 5.6s ease-in-out infinite}.revenue-orbit-chip strong{color:var(--blue-900);font-size:12px}.revenue-orbit-chip-blue{top:13px;left:8px}.revenue-orbit-chip-mint{right:0;top:66px;animation-delay:.16s}.revenue-orbit-chip-amber{left:28px;bottom:15px;animation-delay:.32s}.revenue-next-chart:hover:before,.revenue-next-chart:focus-visible:before{opacity:.8;transform:translate(-50%) scaleX(.86) translateY(12px)}.revenue-next-chart:hover .revenue-pie-disc,.revenue-next-chart:focus-visible .revenue-pie-disc{transform:rotateX(64deg) rotate(-18deg) translateY(-18px) scale(1.06);filter:drop-shadow(0 26px 30px rgba(11,31,51,.2))}.revenue-next-chart:hover .revenue-pie-core,.revenue-next-chart:focus-visible .revenue-pie-core{transform:translate(-50%,-54%) scale(1.05);box-shadow:inset 0 1px #fffffff0,0 22px 46px #0e6ba83d}.revenue-next-chart:hover .revenue-orbit-chip,.revenue-next-chart:focus-visible .revenue-orbit-chip{background:#fffffff2;box-shadow:0 18px 34px #0e6ba82e}.revenue-next-chart:hover .revenue-orbit-chip-blue,.revenue-next-chart:focus-visible .revenue-orbit-chip-blue{transform:translate(-10px,-8px)}.revenue-next-chart:hover .revenue-orbit-chip-mint,.revenue-next-chart:focus-visible .revenue-orbit-chip-mint{transform:translate(10px,-4px)}.revenue-next-chart:hover .revenue-orbit-chip-amber,.revenue-next-chart:focus-visible .revenue-orbit-chip-amber{transform:translate(-4px,10px)}.revenue-pie-focus{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:12px;row-gap:4px;min-width:0;padding:11px 13px;border-top:1px solid rgba(14,107,168,.1)}.revenue-pie-focus>span{grid-column:1;color:var(--muted);font-size:13px;font-weight:950}.revenue-pie-focus>strong{grid-column:1 / -1;color:var(--blue-900);font-size:21px;font-weight:950;line-height:1.18;word-break:keep-all}.revenue-pie-focus>em{grid-column:2;grid-row:1;align-self:center;color:#476176;font-style:normal;font-size:14px;font-weight:850;white-space:nowrap}.revenue-segment-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}.revenue-segment-card{--segment-width: 0%;position:relative;overflow:hidden;display:grid;gap:3px;min-width:0;padding:10px;border:1px solid rgba(14,107,168,.1);border-radius:13px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffd1}.revenue-segment-card em{display:inline-flex;align-items:center;gap:5px;min-width:0;color:#587084;font-size:10.5px;font-style:normal;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenue-segment-card strong{color:var(--blue-900);font-size:18px;font-weight:950;line-height:1}.revenue-segment-card small{color:#4b6578;font-size:10.5px;font-weight:900;white-space:nowrap}.revenue-segment-card b{position:absolute;inset:auto auto 0 0;width:var(--segment-width);height:4px;border-radius:0 999px 999px 0}.revenue-segment-card.blue b{background:var(--blue-700)}.revenue-segment-card.mint b{background:var(--mint)}.revenue-segment-card.amber b{background:var(--amber)}.revenue-hero-panel>span{color:var(--muted);font-size:13px;font-weight:950}.revenue-hero-panel>strong{color:var(--blue-900);font-size:21px;font-weight:950}.revenue-hero-panel>em{color:#476176;font-style:normal;font-size:14px;font-weight:850}.revenue-meter-track{position:relative;display:flex;width:100%;height:16px;overflow:hidden;border-radius:999px;background:#e8f1f7;box-shadow:inset 0 2px 6px #0b1f3314}.revenue-meter-track:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);transform:translate(-100%);animation:revenueBarSweep 4.8s ease-in-out infinite}.revenue-meter-segment{display:block;min-width:0;height:100%;transform-origin:left center;animation:revenueSegmentReveal .7s cubic-bezier(.2,.8,.2,1) both}.revenue-meter-segment:nth-child(2){animation-delay:90ms}.revenue-meter-segment:nth-child(3){animation-delay:.18s}.revenue-meter-segment.blue,.revenue-share-cell i.blue{background:var(--blue-700)}.revenue-meter-segment.mint,.revenue-share-cell i.mint{background:var(--mint)}.revenue-meter-segment.amber,.revenue-share-cell i.amber{background:var(--amber)}.revenue-meter-legend,.revenue-pie-legend{display:flex;flex-wrap:wrap;gap:8px 12px}.revenue-meter-legend span,.revenue-pie-legend span{display:inline-flex;align-items:center;gap:6px;color:#526a7f;font-size:12px;font-weight:900;white-space:nowrap}.revenue-dot{width:9px;height:9px;border-radius:50%}.revenue-dot.blue{background:var(--blue-700)}.revenue-dot.mint{background:var(--mint)}.revenue-dot.amber{background:var(--amber)}.revenue-kpis .metric-card{position:relative;overflow:hidden;min-height:122px;border-color:#0e6ba824;background:#ffffffc7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.revenue-kpis .metric-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;opacity:.82;background:linear-gradient(90deg,var(--blue-700),var(--cyan),var(--mint),var(--amber))}.revenue-kpis .metric-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;background:linear-gradient(135deg,rgba(255,255,255,.58),transparent 38%);transition:opacity .22s ease}.revenue-kpis .metric-card:hover{transform:translateY(-5px);border-color:#0e6ba847;box-shadow:0 24px 58px #0e6ba829}.revenue-kpis .metric-card:hover:after{opacity:1}.revenue-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:16px;align-items:start}.revenue-table-panel,.revenue-ops-panel{min-width:0;border-color:#0e6ba81f;background:linear-gradient(145deg,#fffffff0,#f6fafddb),var(--surface)}.revenue-table-wrap{width:100%;overflow-x:auto;border:1px solid rgba(14,107,168,.12);border-radius:18px;background:#fbfdffd1;box-shadow:inset 0 1px #ffffffe0}.revenue-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.revenue-table th,.revenue-table td{padding:15px 16px;border-bottom:1px solid #e8f1f7;text-align:left;vertical-align:middle}.revenue-table th{color:#65788c;background:#f4f9fdeb;font-size:12px;font-weight:950}.revenue-table tbody tr{transition:background .18s ease,box-shadow .18s ease}.revenue-table tbody tr:hover{background:#eaf6ffb8;box-shadow:inset 4px 0 #1684d459}.revenue-table tbody tr.is-leading{background:#eefbf68c;box-shadow:inset 4px 0 #5cc9a780}.revenue-table tr:last-child td{border-bottom:0}.revenue-source{display:inline-flex;align-items:center;gap:10px;min-width:0}.revenue-source strong{color:var(--blue-900);font-size:14px;font-weight:950;word-break:keep-all}.revenue-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border-radius:14px;box-shadow:inset 0 1px #ffffffb3,0 12px 24px #0e6ba814}.revenue-icon.blue{color:var(--blue-700);background:#eaf6ff}.revenue-icon.mint{color:#087f5b;background:#e8fbf3}.revenue-icon.amber{color:#9a5d00;background:#fff3d6}.revenue-amount-cell{color:var(--blue-900);font-size:17px;font-weight:950;text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}.revenue-share-cell{display:grid;gap:8px;min-width:150px}.revenue-share-cell strong{color:var(--blue-900);font-size:14px;font-weight:950;font-variant-numeric:tabular-nums}.revenue-share-cell progress.blue::-webkit-progress-value{background:var(--blue-700)}.revenue-share-cell progress.mint::-webkit-progress-value{background:var(--mint)}.revenue-share-cell progress.amber::-webkit-progress-value{background:var(--amber)}.revenue-share-cell progress.blue::-moz-progress-bar{background:var(--blue-700)}.revenue-share-cell progress.mint::-moz-progress-bar{background:var(--mint)}.revenue-share-cell progress.amber::-moz-progress-bar{background:var(--amber)}.revenue-share-cell em{position:relative;width:100%;height:10px;overflow:hidden;border-radius:999px;background:#e8f1f7;box-shadow:inset 0 1px 4px #0b1f3314}.revenue-share-cell em:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);transform:translate(-100%);animation:revenueBarSweep 5.6s ease-in-out infinite}.revenue-share-cell i{display:block;height:100%;border-radius:inherit;transition:width .6s cubic-bezier(.2,.8,.2,1)}.revenue-source-cell{color:#526a7f;font-size:13px;font-weight:850;word-break:keep-all}.revenue-ops-list{display:grid;gap:12px}.revenue-ops-list>span{position:relative;overflow:hidden;display:grid;gap:8px;min-height:70px;padding:16px;border:1px solid rgba(14,107,168,.12);border-radius:16px;background:#fbfdffd6;transition:transform .2s ease,box-shadow .2s ease}.revenue-ops-list>span:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,rgba(234,246,255,.72),transparent 44%)}.revenue-ops-list>span>*{position:relative;z-index:1}.revenue-ops-list>span:hover{transform:translateY(-3px);box-shadow:0 18px 40px #0e6ba81f}.revenue-ops-list>span>em{color:var(--muted);font-style:normal;font-size:13px;font-weight:950}.revenue-ops-list>span>strong{color:var(--blue-900);font-size:24px;font-weight:950}.revenue-ops-list>span>strong.meal-counts{font-size:inherit}.revenue-ops-list .meal-counts{justify-content:flex-start}.revenue-executive{--executive-navy: #0c2941;--executive-navy-deep: #071c2e;--executive-gold: #d6ae63;--executive-ink: #102d46;width:min(100%,1680px);margin-inline:auto;gap:18px}.revenue-executive-hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:20px;min-height:300px;padding:24px;border:1px solid rgba(8,38,61,.16);border-radius:26px;color:#fff;background:radial-gradient(circle at 78% 14%,rgba(92,201,167,.2),transparent 28%),linear-gradient(135deg,var(--executive-navy-deep),var(--executive-navy) 62%,#123b50);box-shadow:0 30px 70px #071c2e3d}.revenue-executive-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.34;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.7),transparent 68%);mask-image:linear-gradient(90deg,rgba(0,0,0,.7),transparent 68%)}.revenue-executive-hero:after{content:"";position:absolute;z-index:-1;top:-160px;left:48%;width:440px;height:440px;border:1px solid rgba(214,174,99,.2);border-radius:50%;box-shadow:0 0 0 56px #d6ae6308,0 0 0 112px #d6ae6306}.revenue-executive-primary{display:grid;align-content:center;min-width:0;padding:12px 10px 12px 4px}.revenue-executive-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:22px;color:#ffffffbd;font-size:12px;font-weight:900;letter-spacing:.08em}.revenue-executive-eyebrow span{display:inline-flex;align-items:center;gap:8px}.revenue-executive-eyebrow span:before{content:"";width:28px;height:1px;background:var(--executive-gold)}.revenue-executive-eyebrow strong{padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#fff;background:#ffffff12;letter-spacing:0}.revenue-executive-kicker{margin:0 0 7px;color:#a9c2d3;font-size:15px;font-weight:700}.revenue-executive-total{display:block;max-width:100%;margin:0;color:#fff;font-size:clamp(42px,4vw,64px);font-weight:900;line-height:1.04;letter-spacing:-.045em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-executive-description{max-width:660px;margin:12px 0 16px;color:#bad0de;font-size:14px;font-weight:600;line-height:1.65;word-break:keep-all}.revenue-executive-basis{display:flex;align-items:center;flex-wrap:wrap;gap:6px 9px;margin-bottom:12px;color:#b9ceda;font-size:11px}.revenue-executive-basis span{color:var(--executive-gold);font-weight:800}.revenue-executive-basis strong{font-weight:650}.revenue-executive-basis i{width:3px;height:3px;border-radius:50%;background:#fff6}.revenue-executive-composition{display:flex;gap:3px;width:min(620px,100%);height:8px;overflow:hidden;margin-bottom:9px;border-radius:999px;background:#ffffff1a}.revenue-executive-composition i{min-width:0;height:100%}.revenue-executive-composition .blue{background:#4fb5ef}.revenue-executive-composition .mint{background:#6fd8b5}.revenue-executive-composition .amber{background:#e0b45c}.revenue-executive-mix{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.revenue-executive-mix>li{display:inline-grid;grid-template-columns:7px auto auto;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(255,255,255,.11);border-radius:10px;color:#ffffffd1;background:#ffffff0e}.revenue-executive-mix i{width:7px;height:7px;border-radius:50%}.revenue-executive-mix .blue i{background:#4fb5ef}.revenue-executive-mix .mint i{background:#6fd8b5}.revenue-executive-mix .amber i{background:#e0b45c}.revenue-executive-mix em{font-size:12px;font-style:normal;font-weight:650}.revenue-executive-mix strong{color:#fff;font-size:12px;font-weight:850}.revenue-executive-brief{align-self:stretch;display:grid;align-content:space-between;gap:13px;min-width:0;padding:20px;border:1px solid rgba(255,255,255,.42);border-radius:20px;color:var(--executive-ink);background:#fafdfcf2;box-shadow:0 24px 54px #000f1d33,inset 0 1px #fff}.revenue-executive-brief-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#526b7c;font-size:11px;font-weight:850;letter-spacing:.1em}.revenue-executive-brief-head em{padding:5px 8px;border-radius:999px;color:#567061;background:#e7f4ee;font-style:normal;letter-spacing:0}.revenue-leading-brief{display:grid;gap:5px;padding-bottom:16px;border-bottom:1px solid #dfe8e8}.revenue-leading-brief>span{color:#5f7686;font-size:12px;font-weight:700}.revenue-leading-brief>strong{color:var(--executive-ink);font-size:clamp(19px,1.5vw,24px);font-weight:850;word-break:keep-all}.revenue-leading-brief>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.revenue-leading-brief b{color:#20445d;font-size:17px;font-weight:850;font-variant-numeric:tabular-nums}.revenue-leading-brief div em{padding:6px 9px;border-radius:9px;color:#176a54;background:#ddf3eb;font-size:13px;font-style:normal;font-weight:950}.revenue-brief-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.revenue-brief-metrics>div{display:grid;gap:7px;min-width:0;padding:13px;border:1px solid #e1e9ea;border-radius:13px;background:#f5f8f8}.revenue-brief-metrics dt{color:#5f7583;font-size:11px;font-weight:700}.revenue-brief-metrics dd{margin:0;color:var(--executive-ink);font-size:17px;font-weight:850;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-brief-metrics dd.negative{color:#b33a3a}.revenue-brief-operations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.revenue-brief-operations>li{display:grid;gap:2px;color:#5f7583;font-size:11px;font-weight:700;text-align:center}.revenue-brief-operations b{color:var(--executive-ink);font-size:18px;font-weight:850;font-variant-numeric:tabular-nums}.revenue-performance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.revenue-performance-card{--performance-color: #1485c7;--performance-soft: #e8f5fd;position:relative;overflow:hidden;display:grid;gap:9px;min-width:0;padding:18px;border:1px solid #dfeaf0;border-radius:18px;background:#fff;box-shadow:0 16px 40px #0f324c17}.revenue-performance-card:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--performance-color)}.revenue-performance-card.mint{--performance-color: #2ea984;--performance-soft: #e7f7f1}.revenue-performance-card.amber{--performance-color: #c8952f;--performance-soft: #fff5df}.revenue-performance-card-head{display:flex;align-items:center;justify-content:space-between}.revenue-performance-card-head>span{color:#647b89;font-size:12px;font-weight:800;letter-spacing:.08em}.revenue-performance-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;color:var(--performance-color);background:var(--performance-soft)}.revenue-performance-card>h3{margin:2px 0 0;color:#4f6879;font-size:13px;font-weight:750}.revenue-performance-card>strong{color:var(--executive-ink);font-size:clamp(23px,2vw,31px);font-weight:900;letter-spacing:-.03em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-performance-share{display:grid;gap:7px}.revenue-performance-share>span{display:flex;justify-content:space-between;gap:10px;color:#5f7583;font-size:11px;font-weight:700}.revenue-performance-share em{font-style:normal}.revenue-performance-share span b{color:var(--performance-color);font-size:12px}.revenue-performance-share progress,.revenue-share-cell progress{display:block;width:100%;overflow:hidden;height:6px;border:0;border-radius:999px;background:#edf2f4;-webkit-appearance:none;-moz-appearance:none;appearance:none}.revenue-performance-share progress::-webkit-progress-bar,.revenue-share-cell progress::-webkit-progress-bar{border-radius:inherit;background:#edf2f4}.revenue-performance-share progress::-webkit-progress-value{border-radius:inherit;background:var(--performance-color)}.revenue-performance-share progress::-moz-progress-bar{border-radius:inherit;background:var(--performance-color)}.revenue-performance-unit{display:grid;gap:7px;margin-top:3px;padding-top:10px;border-top:1px solid #e7eef1}.revenue-performance-unit>span{color:#5f7583;font-size:11px;font-weight:700}.revenue-performance-unit>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.revenue-performance-unit em{color:#647b89;font-size:11px;font-style:normal;font-weight:700}.revenue-performance-unit strong{color:var(--executive-ink);font-size:15px;font-weight:850;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-executive-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:16px;align-items:start}.revenue-portfolio-panel,.revenue-profit-panel{min-width:0;border-color:#dce8ee;background:#fff;box-shadow:0 18px 46px #0f324c17}.revenue-executive-panel-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px}.revenue-executive-panel-head.compact{grid-template-columns:auto minmax(0,1fr)}.revenue-executive-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;color:var(--executive-ink);background:#eaf2f5}.revenue-executive-panel-head div{min-width:0}.revenue-executive-panel-head em{display:block;margin-bottom:3px;color:#8a9aa5;font-size:9px;font-style:normal;font-weight:950;letter-spacing:.1em}.revenue-executive-panel-head h3{margin:0;color:var(--executive-ink);font-size:20px;font-weight:950}.revenue-executive-panel-head>strong{padding:6px 9px;border-radius:999px;color:#637786;background:#eef4f6;font-size:10px;font-weight:900}.revenue-contribution-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:5px 12px;padding:16px 18px;border-radius:15px;color:#fff;background:var(--executive-navy)}.revenue-contribution-summary>span{grid-column:1 / -1;color:#b8cad6;font-size:12px;font-weight:650}.revenue-contribution-summary>strong{min-width:0;color:#fff;font-size:clamp(24px,2vw,32px);font-weight:900;letter-spacing:-.03em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-contribution-summary>em{padding:6px 9px;border-radius:999px;color:#173f34;background:#8ce0c2;font-size:11px;font-style:normal;font-weight:800;white-space:nowrap}.revenue-contribution-summary.negative{background:#4b2026}.revenue-contribution-summary.negative>em{color:#6e171f;background:#ffd9dc}.revenue-waterfall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:210px;margin-top:14px;padding:14px 10px 10px;border:1px solid #dfe8ec;border-radius:14px;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(20,58,82,.06) 31px 32px),#f8fbfc}.revenue-waterfall-step{display:grid;grid-template-rows:128px auto auto;align-items:end;gap:5px;min-width:0;text-align:center}.revenue-waterfall-step>span{position:relative;display:block;width:100%;height:128px}.revenue-waterfall-step i{position:absolute;right:16%;bottom:var(--waterfall-bottom, 0%);left:16%;min-height:5px;height:var(--waterfall-size, 0%);border-radius:7px 7px 3px 3px;box-shadow:0 8px 16px #0f324c21}.revenue-waterfall-step.gross i{background:linear-gradient(180deg,#5ab4e6,#197eb9)}.revenue-waterfall-step.cost i{background:linear-gradient(180deg,#f59a8a,#d85b52)}.revenue-waterfall-step.result i{background:linear-gradient(180deg,#e4c06f,#bf8b2d)}.revenue-waterfall-step.result.negative i{background:linear-gradient(180deg,#ed7b84,#b93642)}.revenue-waterfall-step>em{min-width:0;color:#526b7c;font-size:11px;font-style:normal;font-weight:700;overflow-wrap:anywhere}.revenue-waterfall-step>strong{min-width:0;color:var(--executive-ink);font-size:12px;font-weight:850;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.revenue-waterfall-step.cost>strong,.revenue-waterfall-step.negative>strong{color:#a63a3a}.revenue-contribution-note{margin:11px 2px 0;color:#526b7c;font-size:11px;font-weight:600;line-height:1.55;word-break:keep-all}.revenue-executive .revenue-table-wrap{border-color:#e0e9ed;border-radius:15px;background:#fff;box-shadow:none}.revenue-executive .revenue-table th{color:#758792;background:#f3f7f8}.revenue-executive .revenue-table tbody tr.is-leading{background:#f0f8f5;box-shadow:inset 3px 0 #4eb895}@media(max-width:1180px){.revenue-executive-hero{grid-template-columns:1fr}.revenue-executive-primary{padding-right:0}.revenue-executive-grid{grid-template-columns:1fr}}@media(max-width:900px){.revenue-executive{gap:14px}.revenue-executive-hero{gap:16px;min-height:0;padding:18px;border-radius:20px}.revenue-executive-primary{padding:4px 0}.revenue-executive-eyebrow{align-items:flex-start;flex-direction:column;margin-bottom:24px}.revenue-executive-total{font-size:clamp(36px,11vw,50px)}.revenue-executive-mix{display:grid;grid-template-columns:1fr}.revenue-executive-mix>li{grid-template-columns:7px minmax(0,1fr) auto}.revenue-executive-brief{padding:16px}.revenue-brief-metrics,.revenue-performance-grid{grid-template-columns:1fr}.revenue-performance-card{padding:17px}.revenue-executive-panel-head{align-items:start}.revenue-waterfall{min-height:196px;padding-inline:6px}.revenue-waterfall-step{grid-template-rows:112px auto auto}.revenue-waterfall-step>span{height:112px}}@keyframes revenueSweep{0%,38%{transform:translate(-78%);opacity:0}48%{opacity:.72}72%,to{transform:translate(78%);opacity:0}}@keyframes revenueBarSweep{0%,32%{transform:translate(-100%);opacity:0}44%{opacity:.72}76%,to{transform:translate(100%);opacity:0}}@keyframes revenueBarGrow{0%{transform:scaleX(0);transform-origin:left center}to{transform:scaleX(1);transform-origin:left center}}@keyframes revenueBarSheen{0%,42%{transform:translate(-110%);opacity:0}54%{opacity:.82}86%,to{transform:translate(110%);opacity:0}}@keyframes revenueSegmentReveal{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes revenuePieSurfaceDrift{0%,to{filter:saturate(1) brightness(1)}50%{filter:saturate(1.08) brightness(1.04)}}@keyframes revenueChipFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){.revenue-hero:after,.revenue-pie-surface,.revenue-orbit-chip,.revenue-bar-fill,.revenue-bar-fill:after,.revenue-meter-track:after,.revenue-meter-segment,.revenue-share-cell em:after{animation:none}.revenue-kpis .metric-card,.revenue-ops-list>span,.revenue-share-cell i,.revenue-bar-row,.revenue-next-chart:before,.revenue-pie-disc,.revenue-pie-core,.revenue-orbit-chip{transition:none}.revenue-kpis .metric-card:hover,.revenue-ops-list>span:hover,.revenue-next-chart:hover .revenue-orbit-chip,.revenue-next-chart:focus-visible .revenue-orbit-chip{transform:none}.revenue-next-chart:hover .revenue-pie-disc,.revenue-next-chart:focus-visible .revenue-pie-disc{transform:rotateX(60deg) rotate(-32deg) translateY(0)}.revenue-next-chart:hover .revenue-pie-core,.revenue-next-chart:focus-visible .revenue-pie-core{transform:translate(-50%,-50%)}}.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}.summary-list .issue-toggle-button{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:inherit;font-weight:900;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.summary-list .issue-toggle-button:hover:not(:disabled),.summary-list .issue-toggle-button.active{transform:translateY(-1px)}.summary-list .issue-toggle-button.error.active{border-color:#ffc7c7;color:#9f1239;background:#fff6f6}.summary-list .issue-toggle-button.warning.active{border-color:#f8d99a;color:#92400e;background:#fffaf0}.summary-list .issue-toggle-button:disabled{cursor:default;opacity:.72}.room-phone-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.room-phone-toolbar button{min-height:40px;white-space:nowrap}.room-phone-list{display:grid;gap:10px;margin-top:14px}.room-phone-row{display:grid;grid-template-columns:minmax(110px,160px) minmax(180px,1fr) 42px;align-items:end;gap:10px;min-height:62px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#fbfdff}.room-phone-row .icon-only-button{width:42px;height:42px;min-height:42px;padding:0;justify-content:center}.validation-dropdown-panel{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:16px;background:#fbfdff;animation:dropdownReveal .2s ease both}.validation-dropdown-panel.error{border-color:#ffc7c7;background:snow}.validation-dropdown-panel.warning{border-color:#f8d99a;background:#fffdf5}.validation-dropdown-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 10px;color:var(--blue-900);font-size:14px;font-weight:900}.validation-dropdown-heading span,.validation-more-note{color:var(--muted);font-size:12px;font-weight:900}.validation-more-note{padding:10px 12px;border:1px dashed var(--border);border-radius:12px;background:#ffffffb8}@keyframes dropdownReveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.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,.meal-counts i{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{grid-template-columns:minmax(230px,1fr) minmax(450px,520px) max-content;align-items:center;column-gap:clamp(20px,2.3vw,36px);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:14px;background:#ffffffc2;box-shadow:0 10px 26px #0e6ba812;min-height:44px}.live-clock strong{font-size:clamp(16px,1vw,19px);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}.chip-row .worksheet-via-add-button{min-height:30px;height:30px;padding:0 10px;border-radius:999px;font-size:12px;line-height:1}.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-date-label{font-size:17px;font-weight:950}.work-day-calendar-badge{min-height:26px;padding:0 10px;font-size:12px}.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:920px}.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:#fff;box-shadow:inset 0 0 0 1px #39b8d857,0 8px 18px #0e6ba81a;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:#075985;background:#fff;box-shadow:inset 0 0 0 1px #39b8d857,0 8px 18px #0e6ba81a}.settings-tabs-animated button.active{background:transparent;box-shadow:none}.settings-tabs-animated button:active{transform:scale(.98)}.settings-tab-menu{position:relative;z-index:2;min-width:0}.settings-tab-menu>button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px}.settings-tab-menu-icon{flex:0 0 auto;transition:transform .18s ease}.settings-tab-menu.open .settings-tab-menu-icon{transform:rotate(180deg)}.settings-tab-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:grid;min-width:180px;padding:6px;border:1px solid #cfe8f5;border-radius:14px;background:#fff;box-shadow:0 18px 38px #0e6ba82e}.settings-tab-dropdown button{min-height:38px;justify-content:center;padding:0 12px;border-radius:10px;text-align:center;transition:background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.settings-tabs-animated .settings-tab-dropdown button.active{background:#e9f7ff;box-shadow:inset 0 0 0 1px #39b8d847}.settings-tab-dropdown button:hover,.settings-tab-dropdown button:focus-visible{color:#075985;background:#f0faff;box-shadow:inset 0 0 0 1px #39b8d857,0 8px 18px #0e6ba81a;transform:translateY(-1px)}.settings-tab-dropdown button:focus-visible{outline:2px solid rgba(14,165,233,.42);outline-offset:2px}@media(max-width:760px){.route-group-rate-toolbar{grid-template-columns:1fr}.route-group-rate-summary{align-items:flex-start;flex-direction:column}.settings-tabs-animated{display:flex;flex-wrap:wrap;overflow:visible}.settings-tabs-animated:before{display:none}.settings-tabs-animated button.active{background:#fff;box-shadow:inset 0 0 0 1px #39b8d857,0 8px 18px #0e6ba81a}.settings-tab-dropdown{left:0;right:auto;min-width:168px}.room-phone-row,.route-group-toolbar,.route-group-card-header,.route-group-rate-add-card,.route-group-rate-add-card.route-non-office-surcharge-add-card,.route-group-rate-add-card.route-exact-rate-add-card{grid-template-columns:1fr;align-items:stretch}.room-phone-row .icon-only-button{width:100%}}.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))}.revenue-dashboard-grid{grid-template-columns:1fr}.audit-record-labels,.audit-record-main{grid-template-columns:150px 110px 100px 100px minmax(220px,1fr)}.sidebar{padding:18px 12px}.sidebar-bottom{position:fixed;z-index:90;left:10px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:min(220px,calc(100vw - 20px));margin-top:0;gap:6px}.sidebar-session-panel{gap:6px;padding:8px;border-radius:14px;box-shadow:0 18px 40px #0e6ba81f}.sidebar-session-chip{grid-template-columns:minmax(40px,auto) minmax(0,1fr);gap:6px 8px;padding:7px}.sidebar-session-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-session-actions button{min-height:27px;padding:0 6px;font-size:11px}.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}.topbar{grid-template-columns:minmax(0,1fr) max-content;align-items:start;column-gap:12px;row-gap:10px}.topbar>div:first-child{grid-column:1;grid-row:1}.top-actions{grid-column:2;grid-row:1}.live-clock{grid-column:1 / -1;grid-row:2;justify-self:stretch;min-height:42px;padding:6px 12px}.live-clock strong{white-space:normal;text-align:center}.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:column;gap:12px;overflow:visible}.sidebar-bottom{position:static;left:auto;bottom:auto;z-index:auto;flex:none;width:100%;min-width:0;margin-top:0}.app-install-panel{display:grid}.sidebar-session-panel{width:100%}.sidebar-session-chip{grid-template-columns:minmax(42px,auto) minmax(0,1fr)}.sidebar-session-actions{grid-template-columns:repeat(2,minmax(74px,1fr))}.sidebar-session-actions button{min-width:0}.sidebar-note{width:100%;min-width:0}.brand{flex:0 0 auto;border-bottom:0;padding:0}.brand div:not(.brand-mark){display:block;min-width:0}.sidebar-nav{display:flex;flex-wrap:wrap;align-items:center;width:100%;min-width:0}.sidebar-nav:before{display:none}.nav-item{display:flex;align-items:center;flex-wrap:wrap;flex:1 1 calc(50% - 6px);min-width:min(100%,146px)}.nav-button{width:100%;flex:1 1 auto;min-width:0;justify-content:flex-start;gap:8px;padding:0 12px}.nav-button span{display:block;min-width:0;overflow-wrap:anywhere;white-space:normal;line-height:1.15}.nav-button.has-alert .nav-label-text{display:inline-flex;align-items:center}.nav-button.active{background:#eaf6ff;box-shadow:inset 0 -3px 0 var(--cyan)}.nav-submenu{position:static;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1 1 100%;width:100%;min-width:0;margin:6px 0 0;padding:0}.nav-submenu-button{width:100%;min-width:0;min-height:42px;padding:0 10px;justify-content:center;text-align:center}.nav-submenu-button:before{display:none}.workspace{padding:18px 14px;height:auto;overflow:visible;overscroll-behavior:auto}.revenue-hero{grid-template-columns:1fr}.revenue-hero-panel{width:100%;box-sizing:border-box}.revenue-meter-legend span,.revenue-pie-legend span{white-space:normal}.revenue-bar-panel{padding:14px}.revenue-bar-panel-head{align-items:flex-start}.revenue-bar-summary{grid-template-columns:1fr;padding:11px 12px}.revenue-bar-summary em{grid-column:1;grid-row:auto;white-space:normal}.revenue-bar-row{grid-template-columns:1fr;padding:10px}.revenue-bar-row-head,.revenue-bar-row-foot,.revenue-bar-total>span{align-items:flex-start;flex-direction:column}.revenue-bar-row-head strong,.revenue-bar-total strong{white-space:normal}.revenue-bar-track{height:30px}.revenue-bar-row-foot em{white-space:normal}.revenue-pie-panel{padding:14px}.revenue-pie-panel-head{align-items:flex-start}.revenue-visual-stage{grid-template-columns:1fr;gap:10px;min-height:0;padding:10px}.revenue-next-chart{width:min(292px,76vw);min-height:218px}.revenue-pie-disc{width:min(214px,58vw);transform:rotateX(56deg) rotate(-25deg) translateY(0)}.revenue-pie-core{width:96px;min-height:96px}.revenue-pie-core strong{font-size:27px}.revenue-chart-callouts{grid-template-columns:repeat(3,minmax(0,1fr))}.revenue-chart-callout{padding:8px 7px 8px 9px}.revenue-chart-callout strong{font-size:17px}.revenue-orbit-chip{min-width:78px;padding:6px 8px;font-size:10px}.revenue-pie-focus{grid-template-columns:1fr;padding:10px 0 0}.revenue-pie-focus>em{grid-column:1;grid-row:auto;white-space:normal}.revenue-segment-strip{grid-template-columns:1fr}.revenue-table-wrap{max-width:100%;overflow-x:visible}.revenue-table{min-width:0}.revenue-table thead{display:none}.revenue-table tbody{display:grid;gap:12px;padding:10px}.revenue-table tbody tr,.revenue-table tbody tr.is-leading{display:grid;gap:12px;padding:14px;border:1px solid rgba(14,107,168,.1);border-radius:16px;background:#ffffffd1;box-shadow:inset 4px 0 #5cc9a76b}.revenue-table tbody tr:hover{box-shadow:inset 4px 0 #1684d459,0 14px 28px #0e6ba81a}.revenue-table td{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;padding:0;border-bottom:0}.revenue-table td:before{content:attr(data-label);color:#65788c;font-size:12px;font-weight:950}.revenue-source{min-width:0}.revenue-source strong,.revenue-source-cell{overflow-wrap:anywhere}.panel{padding:18px;border-radius:18px}.topbar,.revenue-hero{align-items:stretch}.topbar{grid-template-columns:1fr}.topbar>div:first-child,.top-actions,.live-clock{grid-column:auto;grid-row:auto}.live-clock{min-width:0}.top-actions,.session-stack,.top-action-controls{width:100%;justify-content:stretch;justify-items:stretch}.session-stack{display:grid}.top-action-controls{display:grid;grid-template-columns:1fr}.admin-session,.site-session{width:100%;justify-content:center;flex-wrap:wrap}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.invoice-filter-grid,.form-grid.route,.form-grid.route.has-second-via,.transport-crew-info-grid,.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{grid-template-columns:1fr}.landing-screen{min-height:100dvh;padding:calc(28px + env(safe-area-inset-top,0px)) 14px calc(24px + env(safe-area-inset-bottom,0px));place-items:stretch;align-content:start;gap:16px}.landing-screen .entry-grid{width:100%}.invoice-detail-title-group{display:grid}.invoice-detail-exchange-rate{grid-template-columns:1fr;justify-self:stretch;width:100%}.invoice-roster-open-button{width:100%;justify-content:center}.invoice-route-category-header{align-items:flex-start;flex-wrap:wrap}.invoice-route-category-total{margin-left:auto}.landing-session-panel{position:static;top:auto;left:auto;right:auto;width:100%;max-width:100%;box-sizing:border-box;justify-self:stretch;justify-content:center;grid-template-columns:auto auto minmax(0,auto) auto}.rate-management-panel{height:auto;min-height:auto;grid-template-rows:none}.rate-management-panel>.table-wrap.small{height:auto;min-height:360px;max-height:70vh}.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}.reservation-schedule-grid .datetime-controls.has-unknown-button{grid-template-columns:1fr 72px 72px}.reservation-schedule-grid .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}.work-day-list{gap:8px}.work-day-summary{grid-template-columns:minmax(0,1fr) max-content;min-height:48px;padding:10px 12px;gap:8px}.work-day-summary-toggle{grid-column:1;grid-row:1}.work-day-summary-count{grid-column:2;grid-row:1}.work-day-memo-field{grid-column:1 / -1;grid-row:2;justify-self:stretch;max-width:none}.work-day-date-label{font-size:14px}.work-day-calendar-badge{min-height:22px;padding:0 8px;font-size:11px}.work-day-summary strong{min-height:26px;padding:0 10px;font-size:12px}.work-day-content,.work-day-group.closing .work-day-content{overflow:hidden}.work-day-group .table-wrap{overflow-x:auto;overflow-y:hidden;background:#fff;-webkit-overflow-scrolling:touch}.worksheet-list-table{width:100%;min-width:1164px;table-layout:fixed}.worksheet-col-agency{width:88px}.worksheet-col-vessel{width:132px}.worksheet-col-manager{width:88px}.worksheet-col-category{width:92px}.worksheet-col-headcount{width:50px}.worksheet-col-time{width:104px}.worksheet-col-origin{width:136px}.worksheet-col-via{width:128px}.worksheet-col-destination{width:136px}.worksheet-col-note{width:156px}.worksheet-col-action{width:54px}.worksheet-list-table colgroup{display:table-column-group}.worksheet-list-table thead{display:table-header-group}.worksheet-list-table tbody{display:table-row-group;padding:0}.worksheet-list-table tbody tr{display:table-row;border:0;border-radius:0;background:transparent;box-shadow:none}.worksheet-list-table th,.worksheet-list-table td{display:table-cell;height:46px;min-width:0;min-height:0;padding:7px 5px;border-bottom:1px solid #edf3f8;border-radius:0;background:#fff;font-size:10.5px;line-height:1.18;text-align:center;vertical-align:middle;overflow-wrap:anywhere}.worksheet-list-table th{padding-block:6px;color:#53677d;background:#f3f9fd;font-size:10px;white-space:nowrap}.worksheet-list-table td:before{display:none;content:none}.worksheet-list-table tbody tr.worksheet-completed{border:0;background:transparent;box-shadow:none}.worksheet-list-table tbody tr.worksheet-completed td{color:#173f3a;background:#e3f3ef;box-shadow:inset 0 1px #0f8a7229,inset 0 -1px #0f8a7224}.worksheet-list-table tbody tr.worksheet-completed td:first-child{border-left:3px solid #0f8a72}.worksheet-list-table tbody tr.worksheet-completed:hover td{background:#d6ebe5}.worksheet-time-cell{text-align:center}.worksheet-time-cell span,.worksheet-time-cell em{display:block;text-align:center}.worksheet-note-cell{min-width:0;line-height:1.2}.worksheet-action-cell{width:54px;min-width:54px}.worksheet-action-menu{gap:4px}.worksheet-action-cell .icon-button{width:30px;height:30px}.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-checkin-crew-row,.reservation-checkin-crew-detail-row,.reservation-list-card,.reservation-group-card,.room-edit-grid,.guest-edit-grid,.crew-option{grid-template-columns:1fr}.reservation-checkin-name-field,.reservation-checkin-crew-detail-row{grid-column:1 / -1}.reservation-checkin-crew-detail-row.no-room{grid-template-columns:1fr}.room-crew-row{padding-left:0}.room-crew-row .crew-role-room-field{grid-column:1 / -1}.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(280px,1fr))}}@media(max-width:1100px){.stay-card-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.agency-stay-list{grid-template-columns:minmax(0,1fr)}.agency-stay-card{width:100%;max-width:100%}.agency-stay-room-phone{white-space:normal}.agency-reservation-card{grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr)}.agency-reservation-schedule,.agency-reservation-counts,.agency-reservation-actions{grid-column:1 / -1}.reservation-list-card,.reservation-group-card{grid-template-columns:1fr;align-items:stretch}.reservation-actions,.agency-reservation-card-actions,.reservation-group-summary{justify-content:flex-start}.reservation-actions button{flex:1 1 120px}.agency-reservation-card-actions button{width:100%}.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}.checkout-drawer-field-grid{grid-template-columns:1fr}.agency-room-card-header{align-items:stretch;flex-direction:column}.agency-room-actions{width:100%;grid-template-columns:minmax(0,1fr) 38px}.agency-crew-grid{grid-template-columns:1fr}}@media(max-width:680px){.agency-portal-shell{gap:14px;padding:12px}.agency-portal-sidebar{padding:16px}.agency-portal-nav,.stay-card-grid,.reservation-card-grid,.agency-reservation-card,.agency-reservation-schedule,.agency-reservation-counts,.agency-stay-list,.agency-stay-card,.agency-stay-schedule,.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}.agency-stay-card{grid-template-areas:"room" "vessel" "schedule" "role";min-height:0}.agency-stay-room{padding:14px}.agency-stay-room strong{min-width:0;font-size:20px}.agency-stay-room-badges{width:100%;justify-content:flex-start}.agency-stay-room-phone{white-space:normal;overflow-wrap:anywhere}.agency-room-actions{grid-template-columns:1fr}.agency-room-actions .icon-button{width:100%;justify-content:center}.agency-request-role-add-row{grid-template-columns:1fr}.agency-request-add-room-button{width:100%;justify-content:center}.reservation-panel .panel-header{align-items:stretch;flex-direction:column}.reservation-panel .panel-header>div,.reservation-header-bar,.reservation-tabs,.reservation-header-actions,.reservation-group-card-list,.hotel-guest-readonly .reservation-list-card.read-only-reservation-card,.hotel-guest-readonly .read-only-reservation-card .reservation-list-meta{min-width:0;width:100%;max-width:100%}.reservation-header-bar{align-items:stretch;flex:1 1 100%}.agency-request-review-actions{justify-content:flex-start;width:100%}.agency-request-review-actions button{flex:1 1 120px}.reservation-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-tabs button{min-width:0;padding:0 6px;line-height:1.12;overflow-wrap:anywhere;white-space:normal}.reservation-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.reservation-header-actions button{width:100%;min-width:0;padding:0 10px}.hotel-guest-readonly .reservation-list-card.read-only-reservation-card,.hotel-guest-readonly .read-only-reservation-card .reservation-list-card-main,.hotel-guest-readonly .read-only-reservation-card .reservation-list-meta{grid-template-columns:1fr}.hotel-guest-readonly .read-only-reservation-card .reservation-list-meta span,.hotel-guest-readonly .stay-card-phone-line{max-width:100%}.checkout-drawer,.agency-request-detail-drawer{width:100%;padding:18px}.agency-request-detail-summary,.agency-request-detail-room-head{grid-template-columns:1fr}.agency-request-detail-room-head em{justify-self:start}.checkout-drawer-form-polished{padding:12px}.checkout-drawer-form .bulk-checkout-datetime .datetime-controls{grid-template-columns:1fr}.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;align-items:stretch;width:100%}.stay-card-actions button,.drawer-actions button,.drawer-footer button,.stay-selection-toolbar button,.stay-sticky-command-panel .hotel-view-switch{width:100%}.hotel-view-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-selection-toolbar>strong,.stay-selection-toolbar>span{min-width:0;white-space:normal;overflow-wrap:anywhere}.bulk-breakfast-date{width:100%;min-width:0}.stay-card{padding:16px;border-radius:20px}.stay-card-head{align-items:center;gap:8px}.stay-card-room-line{align-items:center;flex-direction:row;gap:6px;min-width:0}.stay-card-badges{flex:0 0 auto;flex-wrap:nowrap;gap:4px}.stay-card-badges .status-pill{padding:5px 7px;font-size:10px;line-height:1}.stay-card-room{font-size:28px;white-space:nowrap}.stay-card-agency{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.stay-card-time-row{grid-template-columns:58px minmax(0,1fr)}.stay-card-time-row span{white-space:normal;overflow:visible;text-overflow:clip}.room-number-controls{grid-template-columns:1fr}}
