.reservation-operations{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;min-width:0}
.reservation-operations-heading{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap}
.reservation-operations-heading h4{font-size:18px;line-height:1.5;font-weight:500;margin:0}
.reservation-operations>.help{margin-block:12px}
.reservation-operation{border-bottom:1px solid var(--line);min-width:0}
.reservation-operation>summary{scroll-margin-top:var(--operations-anchor-offset,24px);display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 0;list-style:none;color:var(--deep);font-size:16px;font-weight:500;cursor:pointer}
.reservation-operation>summary::-webkit-details-marker{display:none}
.reservation-operation>summary::after{content:'+';flex:none;color:var(--brand);font-size:20px;line-height:1}
.reservation-operation[open]>summary::after{content:'−'}
.reservation-operation>summary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.reservation-operation-badges{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:0;max-width:55%;margin-left:auto;text-align:right;word-break:keep-all;overflow-wrap:normal}
.reservation-operation-badge{color:var(--muted);font-size:14px;font-weight:400;line-height:1.5}
.reservation-operation-status{padding:2px 6px;background:var(--soft);color:var(--deep);font-size:14px;font-weight:500;line-height:1.5}
.reservation-operation-body{padding:4px 0 24px;min-width:0}
.reservation-operations form>label:not(.operation-check){display:block;margin:16px 0 8px;font-size:14px;font-weight:500}
.reservation-operations textarea,.reservation-operations select{display:block;width:100%;min-width:0;max-width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.7;padding:12px}
.reservation-operations textarea{min-height:128px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}
.reservation-operations select{min-height:48px}
.reservation-operations textarea:focus-visible,.reservation-operations select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.reservation-operations :is(input,textarea,select):disabled{opacity:.7}
.reservation-operations .operation-count{margin:6px 0 0;text-align:right;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.reservation-operations .operation-count.error{color:var(--danger)}
.reservation-operations .operation-current{padding:12px 0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.8;color:var(--deep)}
.reservation-operations .operation-reset{border:1px solid var(--line);background:var(--soft);padding:12px;margin:16px 0;font-size:14px;line-height:1.8;color:var(--deep)}
.reservation-operations .operation-note-shortcut{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;border-block:1px solid var(--line);padding:12px 0;margin:16px 0;min-width:0}
.reservation-operations .operation-note-shortcut>.help{flex:1 1 180px;margin:0;line-height:1.7;word-break:keep-all}
.reservation-operations .operation-note-shortcut>.button{min-height:44px;flex:none;word-break:keep-all}
.reservation-operations fieldset{margin:16px 0;padding:0;border:0;min-width:0}
.reservation-operations legend{font-size:14px;color:var(--muted);margin-bottom:8px}
.reservation-operations .operation-check{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;font-size:16px;line-height:1.6;cursor:pointer}
.reservation-operations .operation-prerequisite{margin:0 0 12px 32px;line-height:1.7;overflow-wrap:anywhere}
.reservation-operations .operation-check input{accent-color:var(--brand);width:20px;height:20px;flex:none;margin:0}
.reservation-operations .operation-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.reservation-operations .operation-actions .button{min-height:44px;word-break:keep-all}
.reservation-operations .status{overflow-wrap:anywhere;white-space:normal;font-size:14px}
.reservation-operations .operation-history{list-style:none;margin:0;padding:0}
.reservation-operations .operation-history-row{padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.reservation-operations .operation-history-row:last-child{border:0}
.reservation-operations .operation-history-action{margin:0;font-size:15px;font-weight:500;line-height:1.7}
.reservation-operations .operation-history-row .help{margin:4px 0;font-size:14px;line-height:1.7}
.reservation-operations .operation-history-change{margin:6px 0 0;font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:760px){.reservation-operations .operation-actions{display:grid;grid-template-columns:minmax(0,1fr) auto}.reservation-operations .operation-actions .button{min-height:48px;width:100%}.reservation-operations-heading>.button{min-height:44px}.reservation-operations .help{font-size:14px}.reservation-operation>summary{gap:8px}.reservation-operation-badges{max-width:48%}}
.reservation-operations .button:disabled{opacity:1;background:var(--soft);color:var(--muted);border-color:var(--line)}
