/* 6 Pro design components; production data and events remain in booking.ts. */
.rsv-header{height:80px;padding:0 40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--rsv-line);background:rgb(255 255 255 / 66%);gap:20px}.rsv-brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:600;color:var(--rsv-text);white-space:nowrap;letter-spacing:.2px}.rsv-brand svg{width:23px;height:23px;stroke-width:1.5}.rsv-prototype-label{font-size:11px;font-weight:400;letter-spacing:0;color:var(--rsv-secondary);background:#eaebee;padding:3px 7px;border-radius:6px}.rsv-nav{display:flex;padding:4px;gap:4px;border-radius:999px;background:#e9eaed;align-items:center}.rsv-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:44px;padding:9px 20px;border-radius:999px;color:var(--rsv-secondary);font-size:14px;font-weight:500}.rsv-nav a[aria-current]{background:white;color:var(--rsv-text);box-shadow:0 1px 4px #00000010}.rsv-nav svg{display:none}.rsv-account{justify-self:end;position:relative}.rsv-account>button{display:flex;align-items:center;gap:10px;border:0;background:none;min-width:44px;min-height:44px;padding:0 2px 0 10px;font-size:13px}.rsv-avatar{height:30px;width:30px;border-radius:50%;display:grid;place-items:center;color:#525860;background:#e6e8ec;font-size:12px}.rsv-account svg{width:14px}.rsv-menu{position:absolute;right:0;top:50px;z-index:30;padding:6px;background:white;box-shadow:var(--rsv-shadow-float);border-radius:16px;min-width:180px}.rsv-menu a,.rsv-menu button{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;width:100%;background:transparent;border:0;border-radius:10px;color:var(--rsv-text);text-align:left;font-size:14px}.rsv-menu a:hover,.rsv-menu button:hover{background:var(--rsv-bg)}.rsv-menu small{display:block;padding:8px 12px;color:var(--rsv-secondary);border-bottom:1px solid var(--rsv-line);margin-bottom:4px}
.rsv-main{padding:64px 24px 64px;margin:auto;max-width:calc(var(--rsv-content-width) + 48px)}.rsv-flow{max-width:calc(var(--rsv-flow-width) + 48px)}.rsv-step-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;color:var(--rsv-secondary);font-size:12px}.rsv-step-meter{display:flex;gap:5px}.rsv-step-meter i{width:25px;height:3px;border-radius:3px;background:#d8dbe1}.rsv-step-meter i.is-done{background:#75a6d9}.rsv-step-meter i.is-now{background:var(--rsv-blue)}.rsv-intro{margin-top:10px;color:var(--rsv-secondary);font-size:14px}.rsv-answer{margin-top:32px}.rsv-flow-stage.is-entering{animation:rsv-arrive var(--rsv-duration-enter) var(--rsv-ease)}.rsv-surface{background:var(--rsv-surface);border-radius:var(--rsv-radius-card);box-shadow:var(--rsv-shadow-card)}.rsv-date-top{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 14px}.rsv-date-top strong{font-size:16px;font-weight:500}.rsv-date-label{position:relative;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;color:var(--rsv-blue);font-size:13px;cursor:pointer}.rsv-date-label input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.rsv-date-label:focus-within{outline:3px solid var(--rsv-blue);outline-offset:3px;border-radius:6px}.rsv-days{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px;padding:0 18px 20px;overflow:auto;scrollbar-width:thin}.rsv-day{border:0;border-radius:14px;background:transparent;min-width:44px;min-height:70px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:8px 4px}.rsv-day span{font-size:12px;color:var(--rsv-secondary)}.rsv-day strong{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}.rsv-day[aria-pressed=true]{background:var(--rsv-blue);color:white}.rsv-day[aria-pressed=true] span{color:white}.rsv-time-row{border-top:1px solid var(--rsv-line);display:flex;justify-content:space-between;align-items:center;padding:18px 24px;gap:20px}.rsv-time-row strong{font-size:15px;font-weight:500;display:block}.rsv-time-row small{display:block;color:var(--rsv-secondary);font-size:12px;margin-top:3px}.rsv-time-field{background:var(--rsv-surface-secondary);border-radius:12px;padding:6px 12px;min-height:52px;display:flex;align-items:center}.rsv-time-field input{border:0;background:transparent;font-size:24px;font-weight:500;font-variant-numeric:tabular-nums;min-width:116px;max-width:150px;min-height:44px;color:var(--rsv-text);padding:0}.rsv-time-field input::-webkit-calendar-picker-indicator{width:16px;opacity:.6}.rsv-footnote{display:flex;align-items:flex-start;gap:7px;font-size:12px;color:var(--rsv-secondary);margin-top:16px;line-height:1.6}.rsv-footnote svg{width:15px;height:18px}.rsv-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--rsv-line);margin-top:36px;padding-top:24px}.rsv-next-label{color:var(--rsv-secondary);font-size:12px}.rsv-duration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rsv-choice{position:relative;background:white;border:1px solid transparent;border-radius:16px;box-shadow:var(--rsv-shadow-card);transition:background var(--rsv-duration-change),box-shadow var(--rsv-duration-change);text-align:left}.rsv-choice[aria-pressed=true]{background:var(--rsv-blue-soft);border-color:var(--rsv-blue);box-shadow:0 0 0 1px var(--rsv-blue)}.rsv-duration{height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.rsv-duration strong{font-weight:500;font-size:25px;line-height:1.3;font-variant-numeric:tabular-nums}.rsv-duration small{color:var(--rsv-secondary);font-size:12px}.rsv-duration[aria-pressed=true] strong{color:var(--rsv-blue)}.rsv-choice-check{width:19px;height:19px;border:1px solid #828b99;border-radius:50%;display:grid;place-items:center;color:transparent;flex-shrink:0}.rsv-choice-check svg{width:12px;height:12px;stroke-width:2.5}.rsv-choice[aria-pressed=true] .rsv-choice-check{background:var(--rsv-blue);border-color:var(--rsv-blue);color:white}.rsv-duration .rsv-choice-check{position:absolute;right:10px;top:10px;width:15px;height:15px;opacity:0}.rsv-duration[aria-pressed=true] .rsv-choice-check{opacity:1}.rsv-duration .rsv-choice-check svg{width:10px;height:10px}.rsv-custom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px 0;color:var(--rsv-secondary);font-size:13px}.rsv-custom select{min-height:44px;max-width:170px;border:0;background:transparent;color:var(--rsv-blue);border-radius:8px;padding:8px}.rsv-end-preview{margin-top:18px;border-top:1px solid var(--rsv-line);padding-top:18px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.rsv-end-preview strong{font-weight:500}.rsv-time-context{display:flex;align-items:center;gap:8px;background:#eaedf2;color:#4b5566;border-radius:9px;padding:7px 11px;font-size:13px;width:fit-content;margin-bottom:20px}.rsv-time-context svg{width:16px;height:16px}.rsv-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rsv-room{display:flex;align-items:center;gap:14px;min-height:88px;padding:18px}.rsv-room-code{font-size:14px;font-weight:500;color:#666c75;background:#f0f1f4;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;font-variant-numeric:tabular-nums;flex-shrink:0}.rsv-room[aria-pressed=true] .rsv-room-code{background:#dcecff;color:var(--rsv-blue)}.rsv-room-info{flex:1;min-width:0}.rsv-room-info strong{display:block;font-size:17px;font-weight:500;letter-spacing:.2px}.rsv-room-info small{display:block;font-size:12px;color:var(--rsv-secondary);margin-top:3px}.rsv-unavailable{margin-top:16px;color:var(--rsv-secondary);font-size:13px}.rsv-unavailable summary{padding:12px 2px;min-height:44px;cursor:pointer}.rsv-unavailable p{padding:6px 4px;font-size:12px;display:flex;justify-content:space-between;gap:12px}.rsv-kind-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.rsv-kind{padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-height:155px;gap:22px}.rsv-kind>svg{width:26px;height:26px;color:#616b7b;stroke-width:1.4}.rsv-kind strong{font-size:18px;font-weight:500;display:block}.rsv-kind small{font-size:12px;color:var(--rsv-secondary);margin-top:4px;display:block}.rsv-kind>.rsv-choice-check{position:absolute;right:18px;top:20px}.rsv-summary{margin-top:24px;display:flex;align-items:center;gap:14px;border-top:1px solid var(--rsv-line);padding-top:22px;color:var(--rsv-secondary);font-size:13px}.rsv-summary>svg{width:20px;height:20px}.rsv-summary strong{color:var(--rsv-text);font-weight:500;font-size:15px;display:block;margin-bottom:3px}.rsv-summary>div{flex:1}.rsv-summary button{color:var(--rsv-blue);border:0;background:none;min-height:44px;padding:4px 8px;font-size:13px}.rsv-crm-input-row{display:flex;gap:12px;align-items:flex-end}.rsv-crm-input-row label{flex:1}.rsv-crm-input-row .rsv-button{border-radius:12px;min-width:98px;height:52px;padding:12px 18px}.rsv-customer{display:flex;align-items:center;gap:12px;padding:20px;background:white;border-radius:16px;box-shadow:var(--rsv-shadow-card);margin-top:20px}.rsv-customer-icon{height:40px;width:40px;display:grid;place-items:center;background:#eef1f5;border-radius:50%;color:#627084}.rsv-customer>div:nth-child(2){flex:1}.rsv-customer strong{display:block;font-size:15px;font-weight:500}.rsv-customer small{display:block;color:var(--rsv-secondary);font-size:12px;margin-top:3px}.rsv-skeleton{height:88px;border-radius:16px;background:#e9eaee}.rsv-loading-label{margin-top:16px;color:var(--rsv-secondary);font-size:13px}
.rsv-mine{padding-top:48px}.rsv-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.rsv-segment{display:flex;background:#e8e9ed;padding:3px;border-radius:999px}.rsv-segment button{border:0;background:transparent;font-size:13px;min-height:44px;padding:8px 20px;border-radius:999px;color:var(--rsv-secondary)}.rsv-segment button[aria-pressed=true]{background:white;color:var(--rsv-text);box-shadow:0 1px 3px #0000000c}.rsv-date-section{margin-top:26px}.rsv-date-section>h2{font-size:13px;font-weight:500;color:var(--rsv-secondary);margin-bottom:14px}.rsv-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rsv-reservation-card{display:block;padding:24px 26px;background:white;border-radius:20px;box-shadow:var(--rsv-shadow-card);color:var(--rsv-text);transition:box-shadow var(--rsv-duration-change),transform var(--rsv-duration-change)}.rsv-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.rsv-card-room{display:flex;align-items:center;gap:12px}.rsv-card-room h3{font-size:19px;font-weight:500}.rsv-card-room small{font-size:12px;color:var(--rsv-secondary)}.rsv-card-time{font-size:27px;font-weight:500;letter-spacing:-.6px;line-height:1.4;font-variant-numeric:tabular-nums;margin-top:24px;display:flex;align-items:center;gap:10px}.rsv-card-time .rsv-dash{color:#979aa3;font-size:22px;font-weight:400}.rsv-next-day{display:inline-block;font-size:11px;color:var(--rsv-secondary);letter-spacing:0;border-radius:5px;background:#f0f1f4;padding:2px 5px;vertical-align:middle}.rsv-card-bottom{margin-top:18px;padding-top:16px;border-top:1px solid #eeeef1;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--rsv-secondary);gap:16px}.rsv-card-bottom svg{width:16px;height:16px;color:#687485}.rsv-card-client{font-size:12px;color:var(--rsv-secondary);margin-top:10px}.rsv-draft-row{display:flex;gap:14px;align-items:center;background:#eceef2;padding:18px 22px;border-radius:16px;color:var(--rsv-text);margin-top:28px}.rsv-draft-row>div{flex:1}.rsv-draft-row strong{font-size:14px;font-weight:500;display:block}.rsv-draft-row small{font-size:12px;color:var(--rsv-secondary)}.rsv-draft-row>svg{color:#687485}.rsv-detail{max-width:calc(640px + 48px);padding-top:36px}.rsv-back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;min-height:44px;margin-bottom:24px}.rsv-back-link svg{width:16px}.rsv-detail-sheet{padding:32px;background:white;border-radius:24px;box-shadow:var(--rsv-shadow-card)}.rsv-detail-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.rsv-detail-code{color:var(--rsv-secondary);font-size:13px}.rsv-detail h1{margin-top:10px;font-size:30px}.rsv-detail-type{font-size:13px;color:var(--rsv-secondary);margin-top:5px}.rsv-detail-date{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--rsv-secondary);margin-top:28px}.rsv-detail-date svg{width:17px;height:17px}.rsv-detail-time{font-variant-numeric:tabular-nums;font-size:32px;font-weight:500;letter-spacing:-.7px;line-height:1.4;margin-top:8px}.rsv-detail-time .rsv-dash{padding:0 8px;color:#a0a3aa;font-weight:400}.rsv-detail-metadata{margin-top:12px;color:var(--rsv-secondary);font-size:13px}.rsv-detail-customer{border-top:1px solid var(--rsv-line);padding-top:20px;margin-top:24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px}.rsv-detail-customer strong{font-weight:500;color:var(--rsv-text);font-size:14px}.rsv-detail-buttons{display:flex;gap:12px;margin-top:28px}.rsv-detail-buttons .rsv-button{flex:1}.rsv-details{margin-top:24px;font-size:13px;color:var(--rsv-secondary)}.rsv-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none}.rsv-details>summary::-webkit-details-marker{display:none}.rsv-details[open]>summary svg{transform:rotate(180deg)}.rsv-details>summary svg{width:16px}.rsv-details p{font-size:12px;margin-top:12px;line-height:1.7}.rsv-success-note{display:flex;gap:9px;align-items:center;margin-bottom:18px;color:var(--rsv-green);font-size:13px}
.rsv-admin-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:white;border-bottom:1px solid var(--rsv-line)}.rsv-admin-header-left{display:flex;align-items:center;gap:24px}.rsv-admin-header-left .rsv-back-link{margin:0}.rsv-admin-title{font-size:16px;font-weight:500;border-left:1px solid var(--rsv-line);padding-left:24px}.rsv-admin-layout{display:grid;grid-template-columns:204px 1fr;max-width:1280px;margin:auto;min-height:calc(100vh - 80px)}.rsv-admin-nav{padding:36px 16px;border-right:1px solid var(--rsv-line)}.rsv-admin-nav p{font-size:11px;color:var(--rsv-secondary);padding:0 16px 12px}.rsv-admin-nav a{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 16px;min-height:48px;margin-bottom:5px;font-size:14px;color:var(--rsv-secondary)}.rsv-admin-nav a[aria-current]{background:#e4edf9;color:#075fae;font-weight:500}.rsv-admin-nav svg{width:18px;height:18px}.rsv-admin-main{padding:42px 36px;width:100%;min-width:0}.rsv-admin-main h1{font-size:27px}.rsv-admin-main .rsv-page-heading{margin-bottom:24px}.rsv-admin-main .rsv-intro{font-size:13px}.rsv-admin-main .rsv-page-heading .rsv-button{font-size:13px;padding:10px 18px;min-width:0}.rsv-resource-list{background:white;border-radius:20px;box-shadow:var(--rsv-shadow-card);overflow:hidden}.rsv-resource-head{display:grid;grid-template-columns:1fr 112px 112px 44px;gap:16px;padding:15px 24px;background:#fafafb;font-size:12px;color:var(--rsv-secondary);border-bottom:1px solid var(--rsv-line)}.rsv-resource-row{display:grid;grid-template-columns:1fr 112px 112px 44px;gap:16px;align-items:center;padding:16px 24px;min-height:84px;border-bottom:1px solid #eceef1}.rsv-resource-row:last-child{border-bottom:0}.rsv-resource-name{display:flex;align-items:center;gap:14px;min-width:0}.rsv-resource-name strong{display:block;font-size:15px;font-weight:500}.rsv-resource-name small{display:block;font-size:12px;color:var(--rsv-secondary)}.rsv-resource-buffer{color:var(--rsv-secondary);font-size:13px}.rsv-icon-button{display:grid;place-items:center;background:transparent;border:0;border-radius:10px;width:44px;height:44px;color:var(--rsv-secondary)}.rsv-maintenance{margin-top:28px}.rsv-maintenance>h2{font-size:16px;font-weight:500;margin-bottom:14px}.rsv-maintenance-row{display:flex;gap:16px;align-items:center;padding:20px 24px;background:white;border-radius:16px;box-shadow:var(--rsv-shadow-card)}.rsv-maintenance-row>div{flex:1}.rsv-maintenance-row strong{font-weight:500;font-size:14px}.rsv-maintenance-row p{font-size:12px;color:var(--rsv-secondary);margin-top:4px}.rsv-maintenance-row>svg{color:var(--rsv-amber)}.rsv-notice-panel{padding:22px 24px;background:white;border-radius:20px;box-shadow:var(--rsv-shadow-card);margin-top:20px}.rsv-notice-panel h2{font-size:16px;margin-bottom:10px}.rsv-notice-panel p{font-size:13px;color:var(--rsv-secondary);line-height:1.7}.rsv-preview-footer{font-size:11px;color:var(--rsv-secondary);text-align:center;padding:10px 20px 24px}.rsv-admin-main .rsv-preview-footer{margin-top:20px}
@media(hover:hover){.rsv-choice:hover:not([aria-pressed=true]){box-shadow:0 0 0 1px #b8c7dd,0 3px 8px #00000005}.rsv-day:hover:not([aria-pressed=true]){background:var(--rsv-surface-secondary)}.rsv-reservation-card:hover{transform:translateY(-2px);box-shadow:var(--rsv-shadow-float)}.rsv-icon-button:hover{background:var(--rsv-bg)}}

@keyframes rsv-arrive{from{opacity:0}to{opacity:1}}
/* 入场只淡入、不做位移：动画期间按钮位置仍在变化时，快速点按会落在容器上而丢失（移动端实测）。已有 prefers-reduced-motion 规则覆盖动效关闭。 */
.rsv-attention-row{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid #eceef1}.rsv-attention-row:last-child{border-bottom:0}.rsv-attention-row>div{flex:1;min-width:0}.rsv-attention-row strong{display:block;font-size:15px;font-weight:500}.rsv-attention-row p{font-size:12px;color:var(--rsv-secondary);margin-top:4px}
@media(min-width:701px){.rsv-flow .rsv-preview-footer{margin-top:32px}.rsv-main.rsv-mine{max-width:1000px}.rsv-main.rsv-detail{padding-bottom:80px}}
@media(max-width:1000px){.rsv-header{padding:0 24px}.rsv-brand{gap:8px}.rsv-account-name{display:none}.rsv-admin-layout{grid-template-columns:180px 1fr}.rsv-admin-main{padding:32px 24px}.rsv-resource-head,.rsv-resource-row{grid-template-columns:1fr 88px 80px 44px;padding-left:18px;padding-right:18px;gap:10px}}
@media(max-width:700px){
 h1{font-size:27px;letter-spacing:-.35px;line-height:1.35}.rsv-header{height:64px;display:flex;justify-content:space-between;padding:0 20px;background:var(--rsv-bg);gap:12px;border-bottom:0}.rsv-brand{font-size:18px;gap:9px}.rsv-brand svg{width:21px;height:21px}.rsv-prototype-label{font-size:10px;padding:2px 6px}.rsv-account>button{gap:6px}.rsv-account .rsv-avatar{width:30px;height:30px}.rsv-menu{top:44px}.rsv-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;height:calc(72px + env(safe-area-inset-bottom));padding:6px 28px calc(6px + env(safe-area-inset-bottom));border-radius:0;justify-content:center;background:rgb(249 249 251 / 95%);border-top:1px solid #e3e4e8;gap:20px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.rsv-nav a{flex:1;flex-direction:column;gap:3px;min-width:0;min-height:54px;padding:5px 12px;font-size:11px;border-radius:14px;font-weight:500;color:#626873}.rsv-nav a[aria-current]{background:transparent;box-shadow:none;color:var(--rsv-blue)}.rsv-nav svg{display:block;width:21px;height:21px}.rsv-main{padding:28px 20px 102px}.rsv-flow{padding-bottom:180px}.rsv-step-meta{font-size:11px;margin-bottom:17px}.rsv-step-meter{gap:4px}.rsv-step-meter i{width:22px}.rsv-intro{font-size:13px;line-height:1.6;margin-top:10px}.rsv-answer{margin-top:26px}.rsv-date-top{padding:14px 18px 12px}.rsv-date-top strong{font-size:15px}.rsv-date-label{font-size:12px}.rsv-days{grid-template-columns:repeat(7,minmax(0,1fr));padding:0 12px 16px;gap:4px}.rsv-day{min-width:0;min-height:68px;border-radius:12px}.rsv-day strong{font-size:20px}.rsv-day span{font-size:11px}.rsv-time-row{padding:16px 18px}.rsv-time-field{padding:4px 8px;min-height:48px}.rsv-time-field input{font-size:23px;max-width:130px;min-width:110px}.rsv-time-row strong{font-size:14px}.rsv-footnote{font-size:11px;margin-top:14px}.rsv-actions{position:fixed;bottom:calc(72px + env(safe-area-inset-bottom));left:0;right:0;background:var(--rsv-bg);margin:0;padding:12px 20px 16px;z-index:18;border-top:0;min-height:80px;gap:20px}.rsv-actions .rsv-button.primary{flex:1;min-width:0;max-width:none;min-height:48px}.rsv-actions .rsv-button.quiet{padding:10px 5px;min-width:72px;font-size:14px}.rsv-actions .rsv-next-label{display:none}.rsv-flow .rsv-preview-footer{display:none}.rsv-duration-grid{gap:10px}.rsv-duration{height:96px}.rsv-duration strong{font-size:24px}.rsv-duration small{font-size:11px}.rsv-room-grid{grid-template-columns:1fr;gap:10px}.rsv-room{min-height:68px;padding:12px 16px;gap:12px;border-radius:14px}.rsv-room-code{height:36px;width:36px;font-size:13px;border-radius:10px}.rsv-room-info strong{font-size:16px}.rsv-room-info small{font-size:11px;margin-top:1px}.rsv-time-context{font-size:12px;margin-bottom:16px;gap:6px;padding:7px 9px}.rsv-unavailable{margin-top:10px;font-size:12px}.rsv-kind-grid{grid-template-columns:1fr;gap:12px}.rsv-kind{flex-direction:row;align-items:center;min-height:92px;padding:20px;gap:18px}.rsv-kind>svg{width:25px;height:25px}.rsv-kind strong{font-size:17px}.rsv-kind small{font-size:12px}.rsv-kind>.rsv-choice-check{position:static;margin-left:auto}.rsv-summary{margin-top:22px;padding-top:20px;font-size:12px;gap:12px}.rsv-summary strong{font-size:14px}.rsv-summary button{font-size:12px;padding:4px}.rsv-crm-input-row{gap:10px}.rsv-crm-input-row .rsv-button{font-size:13px;min-width:90px;padding:10px 12px}.rsv-customer{padding:16px;gap:10px}.rsv-customer strong{font-size:14px}.rsv-customer .rsv-badge{font-size:11px;padding:3px 6px}.rsv-customer-icon{width:34px;height:34px}.rsv-custom{font-size:12px}.rsv-end-preview{font-size:13px}.rsv-page-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:24px}.rsv-mine{padding-top:24px}.rsv-page-heading h1{font-size:27px}.rsv-segment{width:100%}.rsv-segment button{flex:1;font-size:13px;min-height:44px;padding:8px 14px}.rsv-date-section{margin-top:24px}.rsv-date-section>h2{font-size:12px;margin-bottom:12px}.rsv-card-grid{grid-template-columns:1fr;gap:16px}.rsv-reservation-card{padding:22px}.rsv-card-room h3{font-size:18px}.rsv-card-time{font-size:26px;gap:8px;margin-top:22px}.rsv-card-bottom{margin-top:16px;padding-top:14px}.rsv-draft-row{padding:16px;gap:12px;margin-top:24px}.rsv-detail{padding-top:12px}.rsv-detail .rsv-back-link{margin-bottom:18px}.rsv-detail-sheet{padding:24px;border-radius:20px}.rsv-detail h1{font-size:28px}.rsv-detail-time{font-size:29px}.rsv-detail-date{font-size:13px}.rsv-detail-time .rsv-dash{padding:0 4px}.rsv-detail-buttons{gap:8px;flex-wrap:wrap}.rsv-detail-buttons .rsv-button{padding:12px 14px;min-width:0;font-size:14px}.rsv-detail-customer{flex-wrap:wrap;gap:8px}.rsv-admin-header{height:64px;padding:0 20px}.rsv-admin-header-left{gap:14px}.rsv-admin-title{font-size:14px;padding-left:14px}.rsv-admin-header .rsv-avatar{display:grid}.rsv-admin-layout{display:block}.rsv-admin-nav{display:flex;padding:12px 16px;border-right:0;border-bottom:1px solid var(--rsv-line);gap:4px;overflow-x:auto;background:var(--rsv-bg)}.rsv-admin-nav p{display:none}.rsv-admin-nav a{flex:1;min-width:72px;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:60px;padding:8px 5px;font-size:11px;border-radius:12px;margin:0;white-space:nowrap}.rsv-admin-nav svg{width:18px;height:18px}.rsv-admin-main{padding:28px 20px 36px}.rsv-admin-main h1{font-size:25px}.rsv-admin-main .rsv-page-heading{flex-direction:row;align-items:center;gap:12px}.rsv-admin-main .rsv-intro{font-size:12px;max-width:210px;line-height:1.7}.rsv-admin-main .rsv-page-heading .rsv-button{padding:10px 12px;font-size:12px;min-height:44px;flex-shrink:0}.rsv-resource-head{display:none}.rsv-resource-row{grid-template-columns:1fr auto 36px;gap:5px;padding:16px;min-height:84px}.rsv-resource-buffer{grid-column:1;margin-left:50px;margin-top:-8px;font-size:11px;grid-row:auto}.rsv-resource-row>.rsv-icon-button{grid-column:3;grid-row:1;width:36px;min-width:44px;height:44px;margin-left:-4px}.rsv-resource-row>.rsv-badge{grid-row:1;grid-column:2;justify-self:end}.rsv-resource-name{gap:12px}.rsv-resource-name strong{font-size:14px}.rsv-resource-name small{display:none}.rsv-resource-name .rsv-room-code{height:34px;width:34px}.rsv-maintenance-row{padding:16px;gap:10px;flex-wrap:wrap}.rsv-maintenance-row .rsv-button{font-size:12px;padding:10px;min-height:44px}.rsv-maintenance-row p{font-size:11px}.rsv-admin-main .rsv-preview-footer{margin-top:14px}.rsv-preview-footer{font-size:10px}
}
@media(max-width:360px){.rsv-days{grid-template-columns:repeat(7,minmax(0,1fr));padding-left:8px;padding-right:8px;gap:2px}.rsv-day{min-width:0;padding-inline:0}.rsv-header{padding:0 16px}.rsv-main{padding-left:16px;padding-right:16px}.rsv-card-time{font-size:23px;gap:7px}.rsv-next-day{font-size:10px;padding:2px 3px}.rsv-detail-sheet{padding:20px}.rsv-detail-time{font-size:26px}.rsv-resource-row{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rsv-reservation-card:hover,.rsv-button:active:not(:disabled){transform:none}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.rsv-nav,.rsv-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}.rsv-surface,.rsv-reservation-card,.rsv-choice{box-shadow:0 0 0 1px #7e8490}.rsv-muted,.rsv-small{color:#424248}}
@supports not (backdrop-filter:blur(1px)){.rsv-nav,.rsv-header{background:#fff}}
@media print{.rsv-nav,.rsv-actions,.rsv-account,.rsv-prototype-label{display:none}.rsv-main{padding:24px;max-width:none}.rsv-header{height:60px}.rsv-card-grid{grid-template-columns:1fr 1fr}.rsv-design{background:white}}

/* Consistent 24-hour picker; two native selects, no hidden editable text. */
.rsv-time-field{gap:3px;padding:4px 9px}.rsv-time-field select{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:3px 1px;text-align:center;min-width:44px;min-height:44px;border-radius:6px;font-size:24px;font-weight:500;font-variant-numeric:tabular-nums}.rsv-time-field>span{font-size:21px;color:var(--rsv-secondary)}.rsv-time-field>svg{width:15px;height:15px;color:var(--rsv-secondary);margin-left:5px}.rsv-summary button{min-width:44px}

/* Production-only adaptations: no preview labels or fixture hooks. */
.rsv-design{min-height:100svh}.rsv-flow-stage>.flow-error:empty,.simple-detail .flow-error:empty{display:none}.rsv-room-info strong,.rsv-card-room h3{overflow-wrap:anywhere}.rsv-card-room{min-width:0}.rsv-card-room>div{min-width:0}.rsv-customer>div{min-width:0;overflow-wrap:anywhere}.rsv-detail-type{margin-top:6px}.rsv-detail-buttons{flex-wrap:wrap}.rsv-detail-buttons>.rsv-inline-note{width:100%}.rsv-draft-row .rsv-draft-count{font-size:12px;color:var(--rsv-secondary)}
@media(max-width:700px){.rsv-flow:has(input:focus) .rsv-actions{position:static;margin-top:24px;padding:20px 0 0;background:transparent;border-radius:0}.rsv-flow:has(input:focus){padding-bottom:110px}}

.rsv-nav a{position:relative}.rsv-pending-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rsv-blue);color:white;font-size:11px;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:700px){.rsv-pending-count{position:absolute;top:1px;left:calc(50% + 8px);min-width:16px;height:16px;font-size:10px;padding:0 4px}}

/* 管理侧“预约看板”：房间 × 时段占用，只读且不含客户资料与私人议题。 */
.rsv-admin-main .heading .field{margin:0;min-width:172px}
.rsv-board-scroll{overflow-x:auto;background:white;border-radius:20px;box-shadow:var(--rsv-shadow-card);padding:8px 0}
.rsv-board{min-width:1664px}
.rsv-board-row{display:grid;grid-template-columns:128px 1536px;align-items:stretch;border-bottom:1px solid #eceef1}
.rsv-board-row:last-child{border-bottom:0}
.rsv-board-head{border-bottom:1px solid var(--rsv-line);background:#fafafb}
.rsv-board-room{position:sticky;left:0;z-index:2;background:white;display:flex;align-items:center;gap:10px;padding:12px 14px;border-right:1px solid var(--rsv-line);min-width:0}
.rsv-board-head .rsv-board-room{background:#fafafb;font-size:12px;color:var(--rsv-secondary)}
.rsv-board-room strong{display:block;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}
.rsv-board-room small{display:block;font-size:11px;color:var(--rsv-secondary)}
.rsv-board-room .rsv-room-code{height:30px;width:30px;font-size:11px}
.rsv-board-room .rsv-badge{font-size:10px;padding:2px 6px}
.rsv-board-hours{display:grid;grid-template-columns:repeat(24,64px);height:38px}
.rsv-board-hours span{display:flex;align-items:center;padding-left:6px;font-size:11px;color:var(--rsv-secondary);border-left:1px solid var(--rsv-line);font-variant-numeric:tabular-nums}
.rsv-board-track{position:relative;height:64px;background-image:repeating-linear-gradient(to right,rgb(25 30 45 / 9%) 0 1px,transparent 1px 64px),repeating-linear-gradient(to right,rgb(25 30 45 / 4%) 0 1px,transparent 1px 32px)}
.rsv-board-bar{position:absolute;top:12px;height:34px;border-radius:10px;display:flex;align-items:center;padding:0 9px;font-size:12px;overflow:hidden;white-space:nowrap;border:1px solid transparent}
.rsv-board-bar.is-internal{background:var(--rsv-blue-soft);border-color:#c7ddf7;color:#0a58a8}
.rsv-board-bar.is-visitor{background:var(--rsv-green-soft);border-color:#c6e2d1;color:var(--rsv-green)}
.rsv-board-bar.is-external{background:repeating-linear-gradient(135deg,#eceef1 0 6px,#e2e5ea 6px 12px);border-color:#d3d7de;color:var(--rsv-secondary)}
.rsv-board-bar.is-maintenance{background:var(--rsv-amber-soft);border-color:#f0dcb4;color:var(--rsv-amber)}
.rsv-board-bar.is-ended{opacity:.55}
.rsv-board-hold{position:absolute;top:12px;height:34px;border-radius:10px;background:repeating-linear-gradient(135deg,rgb(25 30 45 / 7%) 0 5px,transparent 5px 10px);border:1px dashed rgb(25 30 45 / 22%)}
.rsv-board-now{position:absolute;top:0;bottom:0;width:2px;background:var(--rsv-red);z-index:1}
.rsv-board-legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:16px 0 0;padding:0;font-size:12px;color:var(--rsv-secondary)}
.rsv-board-legend li{display:flex;align-items:center;gap:7px}
.rsv-board-legend i{width:16px;height:12px;border-radius:4px;background:var(--rsv-surface-secondary);border:1px solid var(--rsv-line)}
.rsv-board-legend i.is-internal{background:var(--rsv-blue-soft);border-color:#c7ddf7}
.rsv-board-legend i.is-visitor{background:var(--rsv-green-soft);border-color:#c6e2d1}
.rsv-board-legend i.is-external{background:#e9ebef;border-color:#d3d7de}
.rsv-board-legend i.is-maintenance{background:var(--rsv-amber-soft);border-color:#f0dcb4}
@media(max-width:700px){.rsv-board-row{grid-template-columns:104px 1536px}.rsv-board-room{padding:10px}.rsv-board-room strong{max-width:72px}.management .toolbar .field{flex:1 1 148px;min-width:148px}.rsv-admin-main .heading .field{flex:1 1 140px;min-width:140px;margin-bottom:0}.rsv-admin-main .heading .actions{width:100%;flex-wrap:wrap;gap:8px}}

/* 内联 style 属性会被 CSP（style-src 'self'）拒绝，间距改用类名。 */
.rsv-attention-actions{margin-top:16px}
.management .checkin-note{flex-basis:100%;margin:0}
.management .list-row>div{min-width:0;overflow-wrap:anywhere}
.management .rsv-checkin-evidence:first-child{margin-top:0}
@media(max-width:400px){.rsv-card-top{flex-wrap:wrap}}

.rsv-actions .rsv-button.primary{min-width:176px}
@media(max-width:700px){.rsv-actions .rsv-button.primary{min-width:0}}
