:root{--ys-teal: #0e4d52;--ys-teal-600: #0a3d41;--ys-teal-050: #e7f0f0;--ys-night: #0b2e31;--ys-amber: #e8a33d;--ys-slate: #4f6264;--ys-mist: #a9c4c6;--ys-bg: #f5f8f8;--ys-surface: #ffffff;--ys-border: #d5e1e2;--ys-danger: #b42318;--ys-ok: #1f7a4a;--ys-font-heading: "Outfit", system-ui, sans-serif;--ys-font-body: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ys-radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--ys-font-body);color:var(--ys-night);background:var(--ys-bg)}h1,h2,h3{font-family:var(--ys-font-heading);font-weight:600;margin:0 0 12px}.ys-header{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--ys-teal);color:#fff}.ys-header img{height:28px;display:block}.ys-header .spacer{flex:1}.ys-header select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--ys-mist);background:var(--ys-night);color:#fff;min-height:36px}.ys-user{color:var(--ys-mist);font-size:14px}.ys-user.ys-overdue{color:var(--ys-amber);font-weight:600}.ys-header a.ys-link{color:var(--ys-amber);text-decoration:underline}.ys-layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100% - 56px)}.ys-nav{background:var(--ys-night);padding:16px 8px}.ys-nav button{display:block;width:100%;text-align:left;padding:10px 14px;margin-bottom:4px;font:inherit;color:var(--ys-mist);background:transparent;border:0;border-radius:8px;cursor:pointer}.ys-nav button[aria-current=page]{color:#fff;background:var(--ys-teal);box-shadow:inset 3px 0 0 var(--ys-amber)}.ys-main{padding:24px}.ys-card{background:var(--ys-surface);border:1px solid var(--ys-border);border-radius:var(--ys-radius);padding:18px}.ys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.ys-muted{color:var(--ys-slate)}.ys-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--ys-teal-050);color:var(--ys-teal)}.ys-badge.hq{background:var(--ys-amber);color:var(--ys-night)}.ys-badge.dead,.ys-badge.failed{background:#fde8e6;color:var(--ys-danger)}.ys-badge.posted{background:#e3f4ea;color:var(--ys-ok)}table.ys-table{width:100%;border-collapse:collapse;background:var(--ys-surface)}.ys-table th,.ys-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--ys-border)}.ys-table th{font-weight:600;color:var(--ys-slate);font-size:13px;text-transform:uppercase;letter-spacing:.03em}.ys-btn{font:inherit;font-weight:600;padding:10px 18px;min-height:44px;border-radius:8px;border:0;background:var(--ys-teal);color:#fff;cursor:pointer}.ys-btn:hover{background:var(--ys-teal-600)}.ys-btn:focus-visible,input:focus-visible,select:focus-visible,.ys-nav button:focus-visible{outline:3px solid var(--ys-amber);outline-offset:2px}.ys-error{color:var(--ys-danger);margin:8px 0}.ys-login{min-height:100%;display:grid;place-items:center;background:var(--ys-night);padding:24px}.ys-login form{width:100%;max-width:380px;background:var(--ys-surface);border-radius:14px;padding:28px}.ys-login .logo{display:block;height:72px;margin:0 auto 8px}.ys-login label{display:block;font-size:14px;color:var(--ys-slate);margin:14px 0 6px}.ys-login input{width:100%;font:inherit;padding:10px 12px;min-height:44px;border:1px solid var(--ys-border);border-radius:8px}.ys-login .ys-btn{width:100%;margin-top:20px}.ys-page-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}.ys-page-head h1,.ys-page-head h2{margin:0}.ys-page-head .spacer{flex:1}.ys-page-head .ys-field{margin:0}.ys-downloads{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.ys-downloads .ys-error{margin:0}.ys-area-blurb{margin:-6px 0 12px}.ys-report-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.ys-report-card{background:var(--ys-surface);border:1px solid var(--ys-border);border-radius:var(--ys-radius);padding:16px 18px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 3px 0 var(--ys-teal)}.ys-report-card.pack{box-shadow:inset 0 3px 0 var(--ys-amber);background:#fffcf6}.ys-report-card h3{margin:0;font-size:17px;color:var(--ys-teal)}.ys-report-card p{margin:0;font-size:14px;color:var(--ys-slate);flex:1}.ys-report-filters{display:flex;flex-direction:column;gap:8px;font-size:14px}.ys-range{display:flex;align-items:center;gap:6px;color:var(--ys-slate)}.ys-range input,.ys-report-filters select{font:inherit;font-size:14px;padding:6px 8px;min-height:38px;border:1px solid var(--ys-border);border-radius:8px;background:#fff;color:var(--ys-night);min-width:0;flex:1}.ys-report-actions{display:flex;align-items:center;gap:14px}.ys-report-actions .ys-btn{flex:1}.ys-link:disabled{opacity:.55;cursor:progress}.ys-section{margin-top:22px}.ys-card.ys-section{margin-top:16px}.ys-section h2{font-size:18px}.ys-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:8px 0 12px}.ys-tiles.small{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.ys-tile{background:var(--ys-surface);border:1px solid var(--ys-border);border-radius:var(--ys-radius);padding:12px 14px;display:flex;flex-direction:column;gap:2px}.ys-tile strong{font-family:var(--ys-font-heading);font-size:24px;color:var(--ys-teal)}.ys-tiles.small .ys-tile strong{font-size:18px}.ys-tile span{color:var(--ys-slate);font-size:13px}.ys-tile.alert{border-color:var(--ys-amber);box-shadow:inset 4px 0 0 var(--ys-amber)}.ys-table.compact th,.ys-table.compact td{padding:7px 10px;font-size:14px}.ys-table tr.ys-click{cursor:pointer}.ys-table tr.ys-click:hover td{background:var(--ys-teal-050)}.ys-table tr.ys-reversed td{color:var(--ys-slate);text-decoration:line-through;text-decoration-color:#4f626480}.ys-nowrap{white-space:nowrap}.ys-actions-cell{white-space:nowrap;text-align:right}.ys-actions-cell>*+*{margin-left:6px}.ys-link{font:inherit;color:var(--ys-teal);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.ys-btn.small{min-height:34px;padding:6px 12px;font-size:14px}.ys-btn.ghost{background:transparent;color:var(--ys-teal);box-shadow:inset 0 0 0 1px var(--ys-border)}.ys-btn.ghost:hover{background:var(--ys-teal-050)}.ys-btn.danger{background:var(--ys-danger);color:#fff}.ys-btn.danger.ghost{background:transparent;color:var(--ys-danger)}.ys-btn:disabled{opacity:.55;cursor:progress}.ys-header .ys-btn{background:var(--ys-night)}.ys-warn{background:#fdf3e2;border-left:4px solid var(--ys-amber);padding:8px 12px;border-radius:6px}.ys-warn-text{color:#8a5a0b}.ys-ok{background:#e3f4ea;color:var(--ys-ok);padding:8px 12px;border-radius:6px}.ys-form{display:flex;flex-direction:column;gap:12px}.ys-form fieldset,fieldset.ys-approval{border:1px solid var(--ys-border);border-radius:8px;padding:10px 14px 14px;margin:0;display:flex;flex-direction:column;gap:10px}.ys-form legend{font-weight:600;padding:0 6px;color:var(--ys-slate);font-size:14px}fieldset.ys-approval{border-color:var(--ys-amber);background:#fffaf1}.ys-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.ys-row.filters{margin-bottom:14px}.ys-row>.ys-field{flex:1 1 150px}.ys-field{display:flex;flex-direction:column;gap:4px;font-size:14px}.ys-field>span{color:var(--ys-slate)}.ys-field small{font-size:12px}.ys-field input,.ys-field select,.ys-field textarea,.ys-page-head select,.ys-table select{font:inherit;padding:8px 10px;min-height:40px;border:1px solid var(--ys-border);border-radius:8px;background:#fff;color:var(--ys-night)}.ys-table select{min-height:34px;padding:4px 8px}.ys-field input[readonly]{background:var(--ys-bg)}.ys-check{display:flex;align-items:center;gap:8px;font-size:14px}.ys-check input{width:18px;height:18px;accent-color:var(--ys-teal)}.ys-actions{display:flex;justify-content:flex-end;gap:10px}.ys-tenders{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.ys-tenders .ys-row{width:100%}.ys-room-line{border-bottom:1px dashed var(--ys-border);padding-bottom:8px}.ys-room-line p{margin:6px 0 0;font-size:14px}.ys-results{list-style:none;margin:0;padding:0;border:1px solid var(--ys-border);border-radius:8px;max-height:220px;overflow:auto}.ys-results button{display:block;width:100%;text-align:left;font:inherit;padding:8px 12px;border:0;border-bottom:1px solid var(--ys-border);background:#fff;cursor:pointer}.ys-results button:hover{background:var(--ys-teal-050)}.ys-docs,.ys-notes{margin:0;padding-left:18px}.ys-docs li,.ys-notes li{margin:4px 0}.ys-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b2e318c;display:grid;place-items:start center;padding:6vh 16px;overflow:auto;z-index:20}.ys-modal{width:100%;max-width:560px;background:var(--ys-surface);border-radius:14px;padding:20px 22px;box-shadow:0 20px 50px #00000040}.ys-modal.wide{max-width:860px}.ys-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ys-modal-head h2{margin:0;font-size:20px}.ys-segmented{display:inline-flex;border:1px solid var(--ys-border);border-radius:8px;overflow:hidden}.ys-segmented button{font:inherit;padding:8px 14px;border:0;background:#fff;color:var(--ys-teal);cursor:pointer}.ys-segmented button[aria-pressed=true]{background:var(--ys-teal);color:#fff}.ys-badge.st-confirmed,.ys-badge.st-clean,.ys-badge.st-inspected,.ys-badge.st-done,.ys-badge.st-open{background:#e3f4ea;color:var(--ys-ok)}.ys-badge.st-checked_in{background:var(--ys-teal);color:#fff}.ys-badge.st-hold,.ys-badge.st-enquiry,.ys-badge.st-pending,.ys-badge.st-in_progress,.ys-badge.st-late,.ys-badge.st-high,.ys-badge.st-mixed{background:#fdf3e2;color:#8a5a0b}.ys-badge.st-dirty,.ys-badge.st-cancelled,.ys-badge.st-no_show,.ys-badge.st-failed,.ys-badge.st-urgent,.ys-badge.st-blocked{background:#fde8e6;color:var(--ys-danger)}.ys-badge.st-checked_out,.ys-badge.st-closed,.ys-badge.st-low,.ys-badge.st-negotiated{background:#eef1f1;color:var(--ys-slate)}.ys-cal-wrap{overflow-x:auto;background:var(--ys-surface);border:1px solid var(--ys-border);border-radius:var(--ys-radius)}table.ys-cal{border-collapse:collapse;font-size:13px;min-width:100%}.ys-cal th,.ys-cal td{border:1px solid var(--ys-border);padding:4px 6px;white-space:nowrap}.ys-cal thead th{position:sticky;top:0;background:var(--ys-bg);font-weight:600}.ys-cal thead th span{color:var(--ys-slate);font-weight:400}.ys-cal thead th.today{background:var(--ys-teal);color:#fff}.ys-cal thead th.today span{color:var(--ys-mist)}.ys-cal tbody th{width:1%;text-align:left;position:sticky;left:0;background:var(--ys-surface);font-weight:600}.ys-cal td{min-width:34px;text-align:center}.ys-cal td.cell{cursor:pointer;overflow:hidden;text-overflow:ellipsis;max-width:120px;text-align:left}.ys-cal-type td{color:var(--ys-slate);background:var(--ys-bg)}.ys-cal-type td.full{color:var(--ys-danger);font-weight:600}.cell.free{background:#fff}.cell.free:hover{background:var(--ys-teal-050)}.cell.reserved{background:#cfe3e4}.cell.hold{background:#fbe6c2}.cell.occupied{background:var(--ys-teal);color:#fff}.cell.departed{background:#e5eaea;color:var(--ys-slate)}.cell.blocked{background:repeating-linear-gradient(45deg,#fde8e6,#fde8e6 4px,#f8d3cf 4px,#f8d3cf 8px);color:var(--ys-danger)}.cell.arrival{border-left:3px solid var(--ys-amber)}.ys-legend{display:flex;flex-wrap:wrap;gap:8px;padding:10px;margin:0;font-size:13px}.ys-legend .cell{padding:3px 10px;border-radius:6px;border:1px solid var(--ys-border)}@media(max-width:760px){.ys-layout{grid-template-columns:1fr}.ys-nav{display:flex;gap:4px;overflow-x:auto;padding:8px}.ys-nav button{width:auto;white-space:nowrap}.ys-main{padding:16px}.ys-header{flex-wrap:wrap}.ys-table{display:block;overflow-x:auto}}.ys-req{color:var(--ys-danger);font-weight:600}.ys-field input[aria-invalid=true]{border-color:var(--ys-danger)}.ys-pre{white-space:pre-line}.ys-tone-ok{color:var(--ys-ok)}.ys-tone-warn{color:#8a5a0b;font-weight:600}.ys-tone-danger{color:var(--ys-danger);font-weight:600}.ys-tone-muted{color:var(--ys-slate)}.ys-credit{margin-top:8px;border-top:1px dashed var(--ys-border);padding-top:8px}.ys-credit p{margin:4px 0}.ys-credit-warn{border-left:4px solid var(--ys-amber)}.ys-combo{position:relative}.ys-combo input{width:100%}.ys-combo-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 2px);max-height:260px;overflow:auto;margin:0;padding:4px 0;list-style:none;background:var(--ys-surface);border:1px solid var(--ys-border);border-radius:8px;box-shadow:0 8px 24px #0b2e3124}.ys-combo-list li{padding:7px 12px;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;gap:8px}.ys-combo-list li.active,.ys-combo-list li:hover{background:var(--ys-teal-050)}.rd-available{--c: #399970;--bg: #e7f5ec;--fg: #1f6a47}.rd-reserved{--c: #9771d5;--bg: #f0eafa;--fg: #6a43a6}.rd-hold{--c: #b39ae0;--bg: #f7f3fd;--fg: #6a43a6}.rd-occupied{--c: #527cda;--bg: #eaf0fe;--fg: #2f569f}.rd-departed{--c: #8fa3c4;--bg: #f0f3f8;--fg: #4c5f7d}.rd-blocked{--c: #d57761;--bg: #fcece7;--fg: #9c4b38}.rd-attention{--c: #d2a13a;--bg: #fff5dc;--fg: #855c0f}.rd-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c, var(--ys-teal));margin-right:6px;vertical-align:baseline}.rd-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:6px}.rd-stat{background:var(--ys-surface);border:1px solid var(--ys-border);border-radius:var(--ys-radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px;border-top:3px solid var(--c, var(--ys-teal))}.rd-stat span{font-size:13px;color:var(--ys-slate)}.rd-stat strong{font:600 28px/1.1 var(--ys-font-heading);color:var(--ys-night)}.rd-stat small{font-size:11px;color:var(--ys-slate)}.rd-scope{margin:0 0 12px;font-size:13px}.rd-panel{padding:0;overflow:hidden}.rd-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:14px 16px}.rd-period{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-left:auto}.rd-period .ys-field{margin:0}.rd-filters{display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px;border-top:1px solid var(--ys-border);border-bottom:1px solid var(--ys-border);background:#fbfcfc}.rd-filters .ys-field{flex:1 1 160px;margin:0}.rd-filters .ys-field:first-child{flex:2 1 220px}.rd-legend{display:flex;flex-wrap:wrap;gap:6px 18px;padding:10px 16px;font-size:12px;color:var(--ys-slate)}.rd-empty{padding:32px 16px;text-align:center}.rd-foot{font-size:12px;padding:10px 16px;border-top:1px solid var(--ys-border);margin:0}.rd-scroll{overflow:auto;max-height:70vh}.rd-timeline{border-collapse:separate;border-spacing:0;font-size:12px;min-width:100%;table-layout:fixed}.rd-timeline th,.rd-timeline td{border-bottom:1px solid #eef2f2;border-right:1px solid #f2f5f5;padding:3px}.rd-timeline thead th{position:sticky;top:0;z-index:2;background:#f6f9f9;color:var(--ys-slate);font-weight:500;text-align:center;white-space:nowrap;padding:8px 2px}.rd-timeline thead th span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em}.rd-timeline thead th.today{background:var(--ys-teal);color:#fff}.rd-timeline td.today{background:#f2f8f8}.rd-timeline tbody th{position:sticky;left:0;z-index:1;background:var(--ys-surface);text-align:left;padding:6px 12px;white-space:nowrap;overflow:hidden}.rd-timeline thead th:first-child{left:0;z-index:3;text-align:left;padding-left:12px}.rd-room{display:block;font-weight:700;font-size:14px;color:var(--ys-night)}.rd-type{display:block;font-size:11px;color:var(--ys-slate)}.rd-cell{display:block;width:100%;min-height:34px;border:0;border-left:3px solid var(--c);border-radius:5px;background:var(--bg);color:var(--fg);font:600 11px/1.25 var(--ys-font-body);text-align:left;padding:5px 7px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rd-cell small{display:block;font-weight:400;opacity:.85}.rd-cell.cont{border-left-style:dashed}.rd-cell.more{border-right:3px dashed var(--c)}.rd-cell.rd-available{background:transparent;border-left-color:transparent}.rd-cell.rd-available:hover{background:var(--bg);border-left-color:var(--c)}.rd-cell.rd-hold{background-image:repeating-linear-gradient(135deg,transparent 0 6px,rgba(151,113,213,.12) 6px 12px)}.rd-cell:focus-visible,.rd-card:focus-visible{outline:3px solid var(--ys-amber);outline-offset:1px}.rd-badge{display:inline-flex;align-items:center;background:var(--bg);color:var(--fg);border-radius:5px;padding:3px 8px;font-size:12px;font-weight:600;white-space:nowrap}.rd-hk{display:inline-block;font-size:11px;font-weight:600;border-radius:4px;padding:1px 6px;background:#e3f4ea;color:var(--ys-ok);margin-top:3px}.rd-hk-dirty,.rd-hk-in_progress{background:#fff5dc;color:#855c0f}.rd-table td,.rd-table th{white-space:nowrap}.rd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;padding:14px 16px}.rd-card{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:var(--ys-night);background:var(--ys-surface);border:1px solid var(--ys-border);border-top:4px solid var(--c);border-radius:10px;padding:12px 14px;cursor:pointer}.rd-card:hover{box-shadow:0 4px 16px #0b2e311a}.rd-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.rd-card-head b{font:600 22px/1 var(--ys-font-heading)}.rd-card-guest{font-size:14px}.rd-card-guest small{display:block;color:var(--ys-slate);font-size:12px}.rd-card-foot{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rd-warn{font-size:11px;font-weight:600;color:#8a5a0b}@media(max-width:1100px){.rd-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.rd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rd-period{margin-left:0}}
