/* Reuse the owner's protected purple palette; no global token overrides. */
.management{max-width:960px;padding-block:32px 56px}
.manager-save-summary{scroll-margin-top:20px;margin:20px 0;outline-offset:5px}
.manager-save-summary[hidden],.manager-page-scroll[hidden]{display:none}
.manager-save-card{padding:20px;border:1px solid #76c8ba;border-radius:18px;box-shadow:inset 4px 0 #76c8ba}
.manager-save-card h3{margin:0 0 8px;color:#b5eee2}
.manager-save-card p{margin:0 0 12px;line-height:1.8}
.manager-save-card dl{margin:0;display:grid;gap:0}
.manager-save-card dl>div{padding:10px 0;border-top:1px solid var(--line);min-width:0}
.manager-save-card dt{font-weight:700;color:#e6ceff;margin-bottom:4px}
.manager-save-card dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}
.manager-page-scroll{position:fixed;left:6px;top:24vh;z-index:12;width:40px;display:flex;align-items:center;flex-direction:column;gap:6px;direction:ltr}
.manager-page-scroll button{width:40px;min-height:44px;padding:0;border:1px solid #b9a2da;border-radius:12px;background:var(--surface);color:var(--ink);font:700 22px/1 sans-serif;cursor:pointer}
.manager-scroll-track{height:44vh;max-height:340px;min-height:120px;position:relative;width:40px;border-radius:16px;background:rgba(211,181,246,.12)}
.manager-scroll-thumb{height:58px;width:40px;position:absolute;top:0;left:0;display:grid;place-items:center;border:1px solid #e1c5ff;border-radius:13px;background:#d0b3ee;color:#21102e;font:700 27px/1 sans-serif;touch-action:none;user-select:none;cursor:grab;box-shadow:0 2px 10px #0005}
.manager-scroll-thumb.is-dragging{cursor:grabbing;box-shadow:0 0 0 3px #e1c5ff55}
.manager-scroll-thumb:focus-visible,.manager-page-scroll button:focus-visible{outline:3px solid #b5eee2;outline-offset:2px}
@media(max-width:1080px){body.has-manager-page-scroll .management{width:calc(100% - 72px);margin-left:56px;margin-right:16px}}
@media(max-height:500px){.manager-page-scroll{top:15vh}.manager-scroll-track{height:40vh;min-height:80px}.manager-scroll-thumb{height:44px}}
@media(max-height:300px){.manager-page-scroll{top:4px}.manager-page-scroll>button{display:none}.manager-scroll-track{height:calc(100dvh - 8px);min-height:0}}
.management h1,.management h2,.management h3,.management legend,.management .field-label{color:var(--ink)}
.management h1{font-size:clamp(24px,4vw,32px)}
#manager-status{margin:16px 0;min-height:32px;overflow-wrap:anywhere}
.manager-login{max-width:480px;margin:32px auto;padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.manager-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin-top:24px}
.manager-list .btn{text-align:start;justify-content:flex-start;min-height:80px}
.manager-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-block:24px}
.manager-heading h2{font-size:22px}
.manager-form>details{margin-block:20px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.manager-form summary{font-weight:700;font-size:18px}
.manager-subsection{margin-block:12px;padding:12px 0;border-block-start:1px solid var(--line)}
.manager-subsection>summary{font-size:16px}
.manager-subsection .manager-section{padding-top:16px}
.manager-save-details>summary{min-height:48px;cursor:pointer}
.manager-save-details .manager-save-card{margin-top:12px}
.manager-section{padding-top:24px}
.manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.management .field{display:block;min-width:0;margin:0 0 20px}
.management .field-label{display:block;margin-bottom:8px}
.management input:not([type=checkbox]),.management select,.management textarea{padding:12px 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--ink);line-height:1.6}
.management select option{background:var(--surface);color:var(--ink)}
.manager-form input:not([type=checkbox]),.manager-form select,.manager-form textarea,.manager-login input{width:100%;min-width:0;min-height:48px}
.manager-form textarea{min-height:120px;resize:vertical}
.management select{appearance:none}
.manager-form input[type=checkbox]{width:24px;height:24px;flex-shrink:0}
.manager-checks{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.manager-check{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--line);border-radius:12px}
.manager-check input{margin:0}
.manager-form fieldset{min-width:0;margin:0 0 24px;padding:20px;border:1px solid var(--line);border-radius:14px}
.manager-form legend{padding-inline:8px}
.manager-note{color:var(--muted);margin-bottom:20px;line-height:1.9}
.manager-photo{width:160px;height:160px;object-fit:cover;border-radius:16px;display:block;margin-bottom:20px}
.photo-panel{max-height:520px;max-height:min(62svh,520px);overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:auto;padding:4px 4px 8px 12px;outline-offset:4px}
.photo-panel:focus-visible{outline:2px solid var(--line-strong)}
.photo-panel .photo-file-input{display:none}
.photo-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-block:12px}
.photo-buttons .btn{flex:1 1 160px;min-width:0;min-height:48px;white-space:normal}
.photo-turns{display:flex;gap:8px;margin-block:8px}
.photo-turns .btn{flex:1;min-width:0}
.photo-canvas{display:block;width:min(100%,260px);height:auto;aspect-ratio:1;border-radius:16px;margin:12px auto;border:1px solid var(--line)}
.photo-control{display:grid;gap:8px;margin-block:16px}
.management .photo-control input[type=range]{padding:0;min-height:40px;cursor:pointer;background:transparent}
.photo-panel .manager-note{font-size:14px;margin-block:12px}
.photo-panel [hidden]{display:none!important}
.manager-week{border-block-start:1px solid var(--line);padding-block:20px;margin-top:20px}
.manager-actions{position:sticky;bottom:0;z-index:2;display:flex;align-items:stretch;gap:16px;flex-wrap:wrap;padding:16px 0;background:var(--paper);border-top:1px solid var(--line)}
#save-status{flex:0 0 100%;order:-1;overflow-wrap:anywhere;line-height:1.8}
#save-status:empty{display:none}
.manager-confirmation{padding:16px;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}
.manager-form .field:has([aria-invalid=true]){outline:2px solid var(--error);outline-offset:4px;border-radius:10px}
.manager-tabs{display:flex;flex-wrap:wrap;gap:12px;margin-block:20px 28px}
.manager-tabs .btn{flex:1;min-height:52px;text-align:center}
.schedule-provider,.waiting-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:24px;margin-block:20px;overflow-wrap:anywhere}
.management h4{margin-block:24px 12px;color:var(--ink)}
.slot-list{list-style:none;padding:0;display:grid;gap:12px}
.slot-list li{display:grid;gap:8px;padding:16px;border:1px solid var(--line);border-radius:12px}
.slot-state,.waiting-facts dt{color:var(--muted)}
.waiting-facts{display:grid;gap:16px;margin-block:20px}
.waiting-facts dd{margin:4px 0 0}
.management>.field select,.management #manager-content>.field select,.management .manager-grid select{width:100%;min-height:48px}
.manager-slot .btn{margin-top:16px}
.manager-actions .btn{flex:1 1 0;min-width:0;min-height:52px;white-space:normal}
@media(max-width:600px){.manager-tabs{flex-direction:column}.schedule-provider,.waiting-card{padding:16px}.manager-actions{gap:12px}.manager-actions .btn{min-width:0}.manager-heading{align-items:stretch}.manager-heading h3{width:100%}}
@media(max-width:600px){.manager-grid{grid-template-columns:1fr;gap:0}.manager-form>details{padding:16px}.manager-form fieldset{padding:14px}.manager-heading .btn{flex:1}.manager-actions .btn{width:100%}.management{width:calc(100% - 32px)}}

.reservation-actions{display:flex;flex-wrap:wrap;gap:12px}
.reservation-actions .btn{flex:1 1 180px;white-space:normal;min-height:48px}
.manager-slot:disabled{opacity:.8}
.management .slot-held{border-color:#9ca3af;background:rgba(156,163,175,.12)}
.management .slot-confirmed{border-color:#7db9f5;background:rgba(66,135,210,.14)}
.manager-recovery{display:grid;gap:16px;max-width:580px;margin-block:24px;overflow-wrap:anywhere}
.manager-recovery>.btn{width:100%;min-width:0;min-height:52px;white-space:normal;text-align:center}
.manager-recovery details{padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.manager-recovery summary{display:flex;align-items:center;min-height:48px;cursor:pointer;list-style:none}
.manager-recovery summary::-webkit-details-marker{display:none}
.manager-recovery summary::marker{content:''}
