/* Design proposal, not Apple platform defaults. No font binaries are bundled. */
:root {
  --rsv-font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;
  --rsv-bg: #f5f5f7;
  --rsv-surface: #ffffff;
  --rsv-surface-secondary: #f0f1f4;
  --rsv-text: #1d1d1f;
  --rsv-secondary: #626268;
  --rsv-tertiary: #727278;
  --rsv-line: #e3e4e8;
  --rsv-control-line: #b8bbc3;
  --rsv-blue: #0066cc;
  --rsv-blue-hover: #005bb5;
  --rsv-blue-soft: #edf5ff;
  --rsv-green: #247345;
  --rsv-green-soft: #edf7f0;
  --rsv-amber: #885b15;
  --rsv-amber-soft: #fff6e6;
  --rsv-red: #b42328;
  --rsv-red-soft: #fff0f0;
  --rsv-radius-control: 12px;
  --rsv-radius-card: 20px;
  --rsv-radius-dialog: 24px;
  --rsv-radius-pill: 999px;
  --rsv-shadow-card: 0 2px 8px rgb(25 30 45 / 3%), 0 0 0 1px rgb(25 30 45 / 5%);
  --rsv-shadow-float: 0 8px 24px rgb(25 30 45 / 8%), 0 0 0 1px rgb(25 30 45 / 5%);
  --rsv-shadow-dialog: 0 24px 80px rgb(25 30 45 / 18%);
  --rsv-space-1: 4px;
  --rsv-space-2: 8px;
  --rsv-space-3: 12px;
  --rsv-space-4: 16px;
  --rsv-space-5: 20px;
  --rsv-space-6: 24px;
  --rsv-space-8: 32px;
  --rsv-space-10: 40px;
  --rsv-space-12: 48px;
  --rsv-flow-width: 560px;
  --rsv-content-width: 1040px;
  --rsv-hit: 44px;
  --rsv-duration-press: 120ms;
  --rsv-duration-change: 180ms;
  --rsv-duration-enter: 220ms;
  --rsv-ease: cubic-bezier(.2,.7,.2,1);
}

/* Shared base for the application-owned document. */
*{box-sizing:border-box}body{margin:0}.rsv-design{font-family:var(--rsv-font);background:var(--rsv-bg);color:var(--rsv-text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}a{color:var(--rsv-blue);text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed}button:disabled:not(.rsv-day){background:#e5e6eb;color:#686b73;border-color:transparent;box-shadow:none}input,select,textarea{color:var(--rsv-text)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.3;letter-spacing:-.5px;font-weight:500}h2{font-size:20px;line-height:1.4;font-weight:600}h3{font-size:16px;font-weight:600}small{font-size:13px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--rsv-blue);outline-offset:3px}h1:focus{outline:none}.rsv-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rsv-skip{position:fixed;clip-path:inset(50%);top:10px;left:16px;z-index:100;padding:12px;background:white;border-radius:10px}.rsv-skip:focus{clip-path:none}.rsv-muted{color:var(--rsv-secondary)}.rsv-small{font-size:13px}.rsv-numeric{font-variant-numeric:tabular-nums}


/* Management layout. Presentation primitives are shared below. */
:where(.management,.login,.rsv-dialog) .muted{color:var(--rsv-secondary);font-size:13px;line-height:1.7}
:where(.management,.login,.rsv-dialog) .small{font-size:12px}
.management h2{font-weight:500;margin-bottom:16px;font-size:19px}.management h3{font-weight:500;margin-bottom:6px}
.management p{margin:8px 0}.management .heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.management .heading>div:first-child{min-width:0}.management .heading>button{flex-shrink:0;white-space:nowrap}.management .heading h1{font-size:30px;font-weight:500}.management .heading p{margin-top:10px}
.management .actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.management .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.management .card{background:white;border:0;border-radius:20px;padding:24px;box-shadow:var(--rsv-shadow-card);min-width:0}
.management .section{margin-top:28px}.management .full{grid-column:1/-1}.management .wide{width:100%}
.management .form-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:24px;align-items:start}
.management .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
:where(.management,.login,.rsv-dialog) .field{display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--rsv-secondary);margin-bottom:20px}
:where(.management,.login,.rsv-dialog) .field input,:where(.management,.login,.rsv-dialog) .field select,:where(.management,.login,.rsv-dialog) .field textarea{width:100%;min-width:0;border:1px solid var(--rsv-control-line);border-radius:12px;background:white;min-height:48px;padding:12px 14px;font:inherit;font-size:15px;color:var(--rsv-text)}
:where(.management,.login,.rsv-dialog) .field select[multiple]{min-height:120px}.management .field small{font-size:12px;line-height:1.6}
.management .toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:24px 0}.management .toolbar .field{margin:0;min-width:160px}
.management .list{display:grid;gap:14px}.management .list-row{background:white;border-radius:16px;box-shadow:var(--rsv-shadow-card);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.management .list-row h3{font-size:16px}.management .list-row>button{flex-shrink:0}.management .time{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:8px}

:where(.management,.login,.rsv-dialog) .banner{background:var(--rsv-amber-soft);color:var(--rsv-amber);padding:14px 16px;border-radius:12px;font-size:13px;line-height:1.7;margin:20px 0}
:where(.management,.login,.rsv-dialog) .note{background:#eceff4;color:#515d70;padding:14px 16px;border-radius:12px;font-size:13px;line-height:1.7;margin:20px 0}
.management .customer-box{padding:20px;border-radius:16px;background:var(--rsv-bg);margin-bottom:24px}.management .verified{padding:14px;margin-top:16px;border-radius:12px;background:var(--rsv-blue-soft);color:var(--rsv-blue);font-size:13px}
.management .empty{padding:40px 24px;text-align:center;color:var(--rsv-secondary);border-radius:20px;background:white;box-shadow:var(--rsv-shadow-card)}
.management .detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.management .card-header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}
.management .dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;font-size:14px;line-height:1.7}.management .dl dt{color:var(--rsv-secondary)}.management .dl dd{margin:0;overflow-wrap:anywhere}
.management .timeline{font-size:13px;line-height:1.7;padding-left:22px}.management .timeline li{padding:6px 0}.management .sync-card p{font-size:13px}
.management .table-scroll{overflow-x:auto}.management table{width:100%;border-collapse:collapse;font-size:13px}.management th,.management td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--rsv-line);vertical-align:top;overflow-wrap:anywhere}.management th{font-weight:500;color:var(--rsv-secondary)}
.management .task-card{display:block;text-decoration:none;color:var(--rsv-text)}.management .task-card h2{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 10px}.management .task-card>svg{color:#627084;width:24px;height:24px}.management .task-card strong{display:block;margin-top:22px;font-size:13px;font-weight:500;color:var(--rsv-blue)}
.management .booking-steps>section{padding-bottom:22px;border-bottom:1px solid var(--rsv-line);margin-bottom:22px}.management .step-controls,.management .step-indicator{display:none}.management .form-aside{position:sticky;top:24px}.management .booking-steps .form-grid:empty{display:none}
.management .rsv-resource-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.management .rsv-resource-actions button{padding:8px 12px;font-size:12px}.management .rsv-resource-row{grid-template-columns:minmax(0,1fr) 80px 90px 220px}.management .rsv-resource-head{grid-template-columns:minmax(0,1fr) 80px 90px 220px}
.login{min-height:100svh;display:grid;place-items:center;padding:24px;background:var(--rsv-bg)}.login-box{max-width:440px;width:100%;padding:38px;background:white;border-radius:24px;box-shadow:var(--rsv-shadow-card)}.login-logo{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:500}.login-box h1{font-size:27px;font-weight:500;margin:30px 0 12px}.login-box p{line-height:1.7}.login-box .rsv-button{width:100%;margin-top:20px}.login-box .primary{width:100%}.login-box .field{margin-top:24px}.login-box .small{margin-top:22px}
#message{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 20px;border-radius:14px;background:var(--rsv-red);color:white;box-shadow:var(--rsv-shadow-float);max-width:min(90vw,650px);z-index:50;font-size:14px}#message.is-success{background:var(--rsv-green)}.loading{padding:60px;text-align:center;color:var(--rsv-secondary)}
@media(max-width:1000px){.management .rsv-resource-row{grid-template-columns:minmax(0,1fr) 80px 90px auto}.management .form-layout{grid-template-columns:1fr}.management .form-aside{position:static}.management .rsv-resource-actions{flex-wrap:wrap}.management .rsv-resource-head{display:none}}
@media(max-width:999px){.management .table-scroll{padding:12px}.management table,.management tbody{display:block}.management thead{display:none}.management tr{display:block;border-bottom:1px solid var(--rsv-line);padding:12px 4px}.management td{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;padding:6px 0;border:0;font-size:12px}.management td:before{content:attr(data-label);color:var(--rsv-secondary)}.management td :is(.badge,.rsv-badge){justify-self:start}.management td br{display:none}.management td .small{grid-column:2}}
@media(max-width:700px){
 .management .heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:24px}.management .heading h1{font-size:25px}.management .grid,.management .detail-grid{grid-template-columns:1fr;gap:16px}.management .card{padding:20px}.management .form-grid{grid-template-columns:1fr}.management .full{grid-column:auto}.management .toolbar{gap:12px}.management .toolbar .field{min-width:0;flex:1}.management .field input,.management .field select,.management .field textarea{font-size:16px}.management .list-row{padding:18px;align-items:flex-start;gap:12px}.management .list-row h3{font-size:14px}.management .list-row button{font-size:12px;padding:8px 12px}.management .time{font-size:15px}.management .dl{grid-template-columns:78px minmax(0,1fr);font-size:13px}.management .form-layout{display:flex;flex-direction:column;gap:16px}.management .form-layout>form,.management .form-aside{width:100%}.management .form-aside{background:transparent;box-shadow:none;padding:12px 0}.management .booking-steps>section{border:0;margin-bottom:16px;padding-bottom:0}.management .step-controls{display:flex;gap:10px;background:white;padding:10px 0}.management .step-controls button{flex:1}.management .step-indicator{display:block;color:var(--rsv-secondary);font-size:12px;border-bottom:1px solid var(--rsv-line);padding-bottom:16px;margin-bottom:20px}.management .rsv-resource-row{grid-template-columns:1fr auto;gap:8px;padding:16px}.management .rsv-resource-actions{grid-column:1/-1;justify-content:flex-start;margin-left:46px}.management .rsv-resource-buffer{grid-column:1;grid-row:auto;margin-left:46px;margin-top:-4px}.management .rsv-resource-name small{display:block}.management .rsv-resource-row>.rsv-badge{grid-column:2}.login-box{padding:28px}body[data-space="booking"] #message{bottom:calc(88px + env(safe-area-inset-bottom))}body[data-space="booking"][data-flow="true"] #message{bottom:calc(172px + env(safe-area-inset-bottom))}
}

/* Shared controls, state labels, feedback and dialog anatomy. */
.rsv-button,:where(.management,.login,.rsv-dialog) button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:999px;font-size:15px;font-weight:500;border:0;background:var(--rsv-surface-secondary);color:var(--rsv-text);transition:background var(--rsv-duration-press),transform var(--rsv-duration-press)}.rsv-button svg{width:17px}.rsv-button.primary,:where(.management,.login,.rsv-dialog) button.primary{background:var(--rsv-blue);color:white}.rsv-button.danger,:where(.management,.login,.rsv-dialog) button.danger{background:var(--rsv-red);color:white}.rsv-button.secondary,:where(.management,.login,.rsv-dialog) button.secondary{background:white;box-shadow:inset 0 0 0 1px var(--rsv-line)}.rsv-button.quiet,:where(.management,.login,.rsv-dialog) button.quiet{background:transparent;color:var(--rsv-blue);padding:10px 0;min-width:44px;min-height:44px;box-shadow:none}.rsv-button.destructive-link{color:var(--rsv-red);background:transparent}.rsv-button:active:not(:disabled){transform:scale(.985)}.rsv-field{display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--rsv-secondary)}.rsv-input{border:1px solid var(--rsv-control-line);background:white;border-radius:12px;min-height:52px;padding:12px 14px;font-size:16px;color:var(--rsv-text);width:100%;min-width:0}.rsv-inline-note{font-size:12px;color:var(--rsv-secondary);margin-top:12px;line-height:1.6}.rsv-badge,.management .badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eceef2;color:#626870;padding:4px 9px;font-size:12px;font-weight:400;white-space:nowrap}.rsv-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.rsv-badge.blue,.management .badge.info{background:var(--rsv-blue-soft);color:var(--rsv-blue)}.rsv-badge.green,.management .badge.success{background:var(--rsv-green-soft);color:var(--rsv-green)}.rsv-badge.amber,.management .badge.warning{background:var(--rsv-amber-soft);color:var(--rsv-amber)}.rsv-badge.red,.management .badge.danger{background:var(--rsv-red-soft);color:var(--rsv-red)}.rsv-feedback{padding:13px 16px;display:flex;gap:9px;align-items:flex-start;border-radius:12px;font-size:13px;background:var(--rsv-red-soft);color:var(--rsv-red);margin-top:20px;line-height:1.6}.rsv-feedback svg{width:17px;height:21px}.rsv-feedback.neutral{background:#e9edf3;color:#515d70}.rsv-feedback.amber{background:var(--rsv-amber-soft);color:var(--rsv-amber)}.rsv-empty{padding:36px 24px;text-align:center;background:white;border-radius:20px;box-shadow:var(--rsv-shadow-card)}.rsv-empty>svg{color:#8d99a9;width:34px;height:34px;margin-bottom:16px}.rsv-empty h2{font-size:18px;font-weight:500}.rsv-empty p{font-size:13px;color:var(--rsv-secondary);margin:8px 0 16px}.rsv-sync-line{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--rsv-line);align-items:center}.rsv-dialog{overscroll-behavior:contain;border:0;padding:28px;border-radius:var(--rsv-radius-dialog);width:min(420px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;color:var(--rsv-text);background:white;box-shadow:var(--rsv-shadow-dialog)}.rsv-dialog::backdrop{background:rgb(24 29 38 / 28%)}.rsv-dialog h2{font-size:21px;font-weight:600;letter-spacing:-.3px}.rsv-dialog p{font-size:14px;color:var(--rsv-secondary);line-height:1.7;margin-top:12px}.rsv-dialog-summary{display:grid;gap:6px;overflow-wrap:anywhere;background:var(--rsv-bg);border-radius:12px;padding:14px;margin-top:20px;font-size:13px;color:var(--rsv-text)}.rsv-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.rsv-dialog-actions .rsv-button{flex:1;min-width:0;padding:12px}.rsv-dialog .rsv-field{margin-top:16px}.rsv-dialog .rsv-check-label{min-height:44px;display:flex;align-items:center;gap:10px;margin-top:12px;font-size:14px}.rsv-dialog .rsv-check-label input{width:20px;height:20px;accent-color:var(--rsv-blue)}
@media(hover:hover){.rsv-button.primary:hover:not(:disabled){background:var(--rsv-blue-hover)}}
@media(max-width:700px){.rsv-input{font-size:16px}.rsv-feedback{padding:12px;font-size:12px}.rsv-badge{font-size:11px;padding:4px 8px}.rsv-dialog{padding:24px}.rsv-dialog h2{font-size:20px}.rsv-dialog p{font-size:13px}.rsv-dialog-actions .rsv-button{font-size:14px}}
@media(max-width:360px){.rsv-badge{font-size:10px}}


.rsv-checkin-dialog .rsv-field{margin-top:18px}
.rsv-checkin-dialog textarea{font:inherit;font-size:16px;resize:vertical;max-height:180px}
.rsv-checkin-confirm{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:14px;min-height:44px}
.rsv-checkin-confirm input{width:20px;height:20px;flex-shrink:0;accent-color:var(--rsv-blue)}
.rsv-checkin-dialog .flow-error{color:var(--rsv-red);font-size:13px;overflow-wrap:anywhere}
.rsv-checkin-dialog .flow-error:empty{display:none}


.rsv-evidence-card{padding:24px;background:white;border-radius:20px;box-shadow:var(--rsv-shadow-card);margin-top:20px;min-width:0;font-size:14px}
.rsv-evidence-card h2{font-size:18px;font-weight:500;margin-bottom:14px}
.rsv-evidence-fields{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px 12px;margin:0}
.rsv-evidence-fields dt{color:var(--rsv-secondary)}
.rsv-evidence-fields dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.rsv-evidence-note{color:var(--rsv-secondary);font-size:13px;line-height:1.7;margin-top:12px;overflow-wrap:anywhere}
.rsv-evidence-card .rsv-sync-line{gap:14px;flex-wrap:wrap;margin-top:12px}
.rsv-evidence-card .rsv-badge{white-space:normal}
.rsv-evidence-later{background:var(--rsv-blue-soft);color:var(--rsv-blue);padding:10px 12px;border-radius:10px}
@media(max-width:700px){.rsv-evidence-card{padding:20px}.rsv-evidence-fields{grid-template-columns:70px minmax(0,1fr);font-size:13px}}

/* iOS 把原生日期输入渲染成本地化长文本（2026年9月12日），宽度不可控，会把窄字段
   撑破并压到相邻字段。日期字段改为“短文本展示 + 透明原生输入覆盖”：外观由我们控制
   （可并排一行、不溢出），点击仍打开系统日期选择器。 */
.rsv-date-box{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 14px;border:1px solid var(--rsv-control-line);border-radius:12px;background:white;font-size:15px;color:var(--rsv-text);font-variant-numeric:tabular-nums}
.rsv-date-box>:is(svg,.rsv-date-icon,span[aria-hidden=true]){width:18px;height:18px;color:var(--rsv-secondary);margin-left:auto;flex-shrink:0}
.rsv-date-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rsv-date-box:focus-within{outline:3px solid var(--rsv-blue);outline-offset:2px}
.management .field .rsv-date-box input:is([type='date'],[type='datetime-local']),.rsv-date-box input:is([type='date'],[type='datetime-local']){position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:12px;background:transparent;opacity:0;cursor:pointer;appearance:none;-webkit-appearance:none}
/* 手机上每个日期独占一行：短文本控件宽度可控，单行排布不会再有任何溢出。 */
@media(max-width:700px){
 .management .toolbar .field.field-date{flex:1 1 100%;min-width:100%}
}
/* 兜底：如果以后有日期字段直接使用原生输入，不要被 flex 压到内容宽度以下。 */
.management .toolbar .field:has(input[type='date']:not(.rsv-date-box input)),.rsv-admin-main .heading .field:has(input[type='date']:not(.rsv-date-box input)){min-width:max-content}

/* Shared field validation and keyboard-safe modal layouts. */
.rsv-button.compact,:where(.management,.login,.rsv-dialog) button.compact{min-height:44px;padding:9px 16px;font-size:14px}
:where(.management,.login,.rsv-dialog) input:disabled,:where(.management,.login,.rsv-dialog) select:disabled,:where(.management,.login,.rsv-dialog) textarea:disabled,.rsv-input:disabled{background:var(--rsv-surface-secondary);color:var(--rsv-secondary);cursor:not-allowed}
.rsv-input[aria-invalid=true],:where(.management,.login,.rsv-dialog) .field :is(input,textarea,select)[aria-invalid=true]{border-color:var(--rsv-red);background:var(--rsv-red-soft)}
textarea{resize:vertical;line-height:1.6}.rsv-dialog textarea{font-size:16px;max-height:240px}
.rsv-dialog-wide{width:min(700px,calc(100% - 32px))}.rsv-dialog-form{margin-top:16px}.rsv-dialog-content{min-width:0}.rsv-dialog-content[inert]{opacity:.7}.rsv-dialog-error{overflow-wrap:anywhere}.rsv-dialog .rsv-dialog-error,.rsv-dialog .flow-error{color:var(--rsv-red)}.rsv-dialog-error:empty,.rsv-dialog .flow-error:empty{display:none}
.rsv-dialog .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.rsv-dialog .full{grid-column:1/-1}.rsv-dialog .rsv-dialog-summary:empty{display:none}
.rsv-choice-group{border:0;padding:0;margin:20px 0;min-width:0}.rsv-choice-group legend{font-size:13px;color:var(--rsv-secondary);margin-bottom:10px}.rsv-choice-group>small{display:block;color:var(--rsv-secondary);margin-top:10px;font-size:12px}
.rsv-choice-list{border:0;padding:0;margin-inline:0;display:grid;gap:10px;min-width:0;margin-top:10px}
.rsv-choice-card,.rsv-checkbox-row{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:14px;border:1px solid var(--rsv-line);border-radius:var(--rsv-radius-control);background:white;color:var(--rsv-text);cursor:pointer;overflow-wrap:anywhere}
.rsv-choice-card input,.rsv-checkbox-row input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:1px 0 0;accent-color:var(--rsv-blue)}
.rsv-choice-card>div,.rsv-checkbox-row>div{min-width:0}.rsv-choice-card strong{display:block;font-size:14px;font-weight:500}.rsv-choice-card small{display:block;font-size:12px;color:var(--rsv-secondary);margin-top:4px;line-height:1.6}
.rsv-choice-card:has(input:checked),.rsv-checkbox-row:has(input:checked){background:var(--rsv-blue-soft);border-color:var(--rsv-blue)}
.rsv-choice-card:has(input:disabled),.rsv-checkbox-row:has(input:disabled){cursor:not-allowed;opacity:.7}
:is(.rsv-technical-details,.rsv-technical){margin-top:12px;color:var(--rsv-secondary);font-size:12px;overflow-wrap:anywhere}:is(.rsv-technical-details,.rsv-technical) summary{cursor:pointer;min-height:44px;display:flex;align-items:center}:is(.rsv-technical-details,.rsv-technical) code{white-space:pre-wrap;overflow-wrap:anywhere}
.rsv-detail-navigation{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.rsv-detail-navigation .rsv-back-link{margin-bottom:0}
.rsv-status-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.rsv-detail-content h1{font-size:30px;font-weight:500}
.rsv-access-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.rsv-access-people,.rsv-access-editor{min-width:0}.rsv-access-person-summary{padding:16px;border-radius:12px;background:var(--rsv-surface-secondary);overflow-wrap:anywhere}.rsv-access-person-summary strong{display:block}.rsv-access-person-summary p{font-size:13px;color:var(--rsv-secondary)}
.rsv-access-section{padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--rsv-line)}.rsv-access-section:last-child{border-bottom:0;margin-bottom:0}.rsv-access-section h2{font-size:18px}.rsv-access-section>p{font-size:13px;color:var(--rsv-secondary)}
.rsv-access-room-list{max-height:300px;overflow-y:auto;overscroll-behavior:contain;padding:3px}.rsv-access-people .rsv-choice-list{max-height:560px;overflow-y:auto;padding:3px}.rsv-access-people button{justify-content:flex-start;text-align:left;width:100%;overflow-wrap:anywhere;white-space:normal}.rsv-access-people button[aria-pressed=true]{background:var(--rsv-blue-soft);box-shadow:inset 0 0 0 1px var(--rsv-blue);color:var(--rsv-blue)}
.rsv-access-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;min-width:0}.rsv-access-chip{display:flex;align-items:center;gap:6px;max-width:100%;min-width:0;padding-left:12px;border-radius:12px;background:var(--rsv-surface-secondary);overflow-wrap:anywhere;font-size:13px}.rsv-access-chip>span{min-width:0}.rsv-access-chip button{min-width:44px;min-height:44px;flex-shrink:0;padding:8px;background:transparent}.rsv-access-crm-entry{display:flex;align-items:center;gap:10px;min-width:0}.rsv-access-crm-entry :is(input,textarea){flex:1;min-width:0}.rsv-access-crm-entry button{flex-shrink:0;min-width:0}
.rsv-access-savebar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:8px}.rsv-access-savebar .rsv-access-state{flex:1 1 180px}.rsv-access-state{font-size:13px;color:var(--rsv-secondary);overflow-wrap:anywhere}.rsv-access-diff{display:grid;grid-template-columns:minmax(76px,.6fr) minmax(0,2fr);gap:10px 14px;font-size:13px;line-height:1.7}.rsv-access-diff dt{color:var(--rsv-secondary)}.rsv-access-diff dd{margin:0;overflow-wrap:anywhere}.rsv-access-diff ins{color:var(--rsv-green);text-decoration:none}.rsv-access-diff del{color:var(--rsv-red)}
#access-leave-dialog .rsv-dialog-actions{flex-wrap:wrap}#access-leave-dialog .rsv-dialog-actions .rsv-button{flex:1 1 100px}
@media(min-width:1000px){.rsv-access-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,2fr)}.rsv-access-people{position:sticky;top:24px}}
@media(max-width:700px){.rsv-dialog .form-grid{grid-template-columns:minmax(0,1fr)}.rsv-dialog .full{grid-column:auto}.rsv-input,.rsv-dialog .field input,.rsv-dialog .field select,.rsv-dialog .field textarea{font-size:16px}.rsv-access-layout{gap:16px}.rsv-access-people .rsv-choice-list{max-height:260px}.rsv-access-crm-entry{flex-wrap:wrap}.rsv-access-crm-entry :is(input,textarea){flex-basis:160px}.rsv-access-diff{grid-template-columns:1fr;gap:4px}.rsv-access-diff dd{margin-bottom:10px}}

@media(max-width:700px){.management .rsv-actions{bottom:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.management .rsv-flow-stage{padding-bottom:100px}.rsv-detail-content h1{font-size:28px}body[data-space="management"][data-flow="true"] #message{bottom:calc(104px + env(safe-area-inset-bottom))}}
