.room-type{min-width:0;margin:0 0 16px;padding:0;border:0}
.room-map-panel fieldset.room-type{margin:0 0 20px}
.room-type>legend{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.room-type-row{display:block}
.room-type .room-type-options{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;box-sizing:border-box;padding:4px;border:0;border-radius:12px;background:var(--input,#f1f2f5)}
.room-type .room-type-options label{min-width:0;min-height:44px;padding:10px 12px;border:0;border-radius:9px;color:var(--slate,#64646b)}
.room-type .room-type-options strong{font-size:14px;line-height:24px;font-weight:600;letter-spacing:0}
.room-type .room-type-options input{min-height:0}
.room-type .room-type-options label:has(input:checked){background:#0064cf;color:#fff;box-shadow:none}
.room-type .room-type-options label:has(input:focus-visible){outline:2px solid #0064cf;outline-offset:3px}
.room-type .room-type-options label:has(input:disabled){opacity:.65}
@media(prefers-color-scheme:dark){.room-type .room-type-options{background:#242426}.room-type .room-type-options label{color:#b7b7bf}}

[hidden]{display:none!important}

.room-retention { --retention-lightness:26%; }
.room-retention .room-countdown,
.room-retention.ending .room-countdown { color:var(--retention-color,#147114); transition:color .4s linear; }
.room-retention progress { accent-color:var(--retention-color,#147114); }
.room-retention progress::-webkit-progress-value,
.room-retention.ending progress::-webkit-progress-value { background:var(--retention-color,#20a020); transition:background-color .4s linear; }
.room-retention progress::-moz-progress-bar,
.room-retention.ending progress::-moz-progress-bar { background:var(--retention-color,#20a020); transition:background-color .4s linear; }
@media(prefers-reduced-motion:reduce) {
  .room-retention .room-countdown,.room-retention.ending .room-countdown { transition:none; }
  .room-retention progress::-webkit-progress-value,.room-retention.ending progress::-webkit-progress-value { transition:none; }
  .room-retention progress::-moz-progress-bar,.room-retention.ending progress::-moz-progress-bar { transition:none; }
}
@media(prefers-color-scheme:dark) { .room-retention { --retention-lightness:65%; } }

/* Frozen orders use a compact status card and keep the live page's typography. */
.room-service-card[data-room-state="blocked"] .room-workspace { display:block; margin-top:0; }
.room-service-card[data-room-state="blocked"] .room-stage { min-height:0; padding:24px; border:1px solid var(--line,#e4e4e7); border-radius:16px; background:var(--surface,#fff); text-align:left; }
.room-service-card[data-room-state="blocked"] [data-stage] { display:flex; gap:16px; align-items:flex-start; }
.room-unavailable-mark { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:12px; background:var(--paper,#f5f5f7); color:var(--slate,#64646b); }
.room-unavailable-mark svg { width:24px; height:24px; }
.room-unavailable-copy { min-width:0; overflow-wrap:anywhere; }
.room-service-card[data-room-state="blocked"] .room-stage h3 { margin:0; font-size:18px; line-height:1.5; font-weight:600; letter-spacing:normal; }
.room-service-card[data-room-state="blocked"] .room-stage p { margin:6px 0 0; font-size:14px; line-height:1.6; color:var(--slate,#64646b); }
.room-service-card[data-room-state="blocked"] .room-quota-panel:not([hidden]) { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 16px; min-height:0; margin:0 0 16px; padding:12px 16px; border-radius:12px; }
.room-service-card[data-room-state="blocked"] .room-quota-panel>strong { margin:0; font-size:18px; line-height:1.5; letter-spacing:normal; font-variant-numeric:tabular-nums; }
@media(max-width:600px) { .room-service-card[data-room-state="blocked"] .room-stage { padding:20px 16px; } .room-service-card[data-room-state="blocked"] [data-stage] { gap:12px; } }
.room-notice-red { color:#c53535; } .room-notice-blue { color:#0065c9; } .room-notice-orange { color:#a95700; }
@media(prefers-color-scheme:dark) { .room-notice-red{color:#ff9393}.room-notice-blue{color:#84baff}.room-notice-orange{color:#ffc17d} }

/* Native segmented control; business choice and keyboard behavior stay unchanged. */
.room-matching { --matching-accent:var(--accent,#0066cc); min-width:0; margin:20px 0; padding:0; border:0; }
.room-map-panel .room-matching { margin:16px 0; }
.room-matching legend { padding:0; margin-bottom:10px; font-size:13px; font-weight:500; color:var(--slate,#64646b); }
.room-matching-options { display:grid; grid-template-columns:minmax(0,1fr) minmax(max-content,1.5fr); gap:4px; padding:4px; border:1px solid var(--line,#e4e4e7); border-radius:13px; background:var(--input,rgb(120 120 128 / .08)); }
.room-matching-options label { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; min-height:62px; padding:10px 8px; border:1px solid transparent; border-radius:9px; color:var(--ink,var(--text,#1d1d1f)); cursor:pointer; box-sizing:border-box; touch-action:manipulation; -webkit-tap-highlight-color:transparent; transition:opacity .12s ease; }
.room-matching-options input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
.room-matching-options label>span { display:grid; justify-items:center; gap:4px; min-width:0; text-align:center; }
.room-matching-options strong { font-size:13px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.room-matching-options small { font-size:12px; line-height:1.5; color:var(--slate,#64646b); white-space:nowrap; }
.room-matching-options .room-matching-policy { color:#c53535; font-weight:600; white-space:nowrap; }
.room-matching-options label:has(input:checked) { background:var(--surface,#fff); border-color:rgb(0 0 0 / .06); color:var(--matching-accent); box-shadow:0 1px 3px rgb(0 0 0 / .08); }
.room-matching-options label:has(input:focus-visible) { outline:2px solid var(--matching-accent); outline-offset:2px; z-index:1; }
.room-matching-options label:has(input:disabled) { cursor:not-allowed; box-shadow:none; }
@media(max-width:600px) { .room-matching-options label { padding-inline:4px; } }
@media(max-width:360px) { .room-matching-options small { font-size:11px; } }
.room-matching>p { margin:8px 0 0; font-size:12px; line-height:1.5; color:var(--slate,#64646b); }
@media (hover:hover) and (pointer:fine) { .room-matching-options label:not(:has(input:checked)):not(:has(input:disabled)):hover { background:var(--surface,rgb(255 255 255 / .6)); } }
@media (prefers-color-scheme:dark) { .room-matching-options .room-matching-policy { color:#ff9393; } .room-matching-options label:has(input:checked) { background:#3a3a40; border-color:rgb(255 255 255 / .08); } }
@media (prefers-reduced-motion:reduce) { .room-matching-options label { transition:none; } }





