:root{--color-neutral-white: #ffffff;--color-neutral-black: #000000;--color-solid-gray-50: #f2f2f2;--color-solid-gray-100: #e6e6e6;--color-solid-gray-200: #cccccc;--color-solid-gray-300: #b3b3b3;--color-solid-gray-400: #999999;--color-solid-gray-500: #7f7f7f;--color-solid-gray-600: #666666;--color-solid-gray-700: #4d4d4d;--color-solid-gray-800: #333333;--color-solid-gray-900: #1a1a1a;--color-red-100: #fce5e7;--color-red-700: #d21e2b;--color-red-800: #b7141f;--color-red-900: #99000d;--color-green-100: #c2e5d1;--color-green-600: #259d63;--color-green-800: #197a4b;--color-green-900: color-mix(in oklab, var(--color-green-800) 76%, var(--color-neutral-black));--color-yellow-100: #fbeeb6;--color-yellow-700: #927200;--color-yellow-900: #6a5200;--color-orange-100: #fde6d2;--color-orange-600: #e25b00;--color-orange-800: #b24000;--color-key-source: #0d6b62;--color-key-on: #ffffff;--bg: var(--color-neutral-white);--bg-subtle: var(--color-solid-gray-50);--bg-raised: var(--color-neutral-white);--text: var(--color-solid-gray-900);--text-muted: var(--color-solid-gray-600);--border: var(--color-solid-gray-200);--border-strong: var(--color-solid-gray-400);--success: var(--color-green-800);--success-bg: var(--color-green-100);--error: var(--color-red-800);--error-bg: var(--color-red-100);--warning: var(--color-yellow-900);--warning-bg: var(--color-yellow-100);--info: var(--color-key-800);--info-bg: var(--color-key-50);--chip-bg: var(--bg-subtle);--chip-fg: var(--text-muted);--chip-ok-bg: var(--color-green-100);--chip-ok-fg: var(--color-green-900);--chip-warn-bg: var(--color-yellow-100);--chip-warn-fg: var(--color-yellow-900);--chip-danger-bg: var(--color-red-100);--chip-danger-fg: var(--color-red-900);--slot-available: var(--color-neutral-white);--slot-booked: var(--color-solid-gray-100);--slot-unavailable: var(--color-solid-gray-50);--radius-4: .25rem;--radius-6: .375rem;--radius-8: .5rem;--radius-12: .75rem;--radius-16: 1rem;--radius-full: 624.9375rem;--elevation-1: 0 2px 8px 1px rgb(0 0 0 / .1), 0 1px 5px 0 rgb(0 0 0 / .3);--elevation-2: 0 2px 12px 2px rgb(0 0 0 / .1), 0 1px 6px 0 rgb(0 0 0 / .3);--elevation-4: 0 6px 20px 4px rgb(0 0 0 / .1), 0 2px 6px 0 rgb(0 0 0 / .3);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--font-sans: system-ui, -apple-system, "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", "Meiryo", sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, monospace;--dur-1: .12s;--dur-2: .22s;--dur-3: .34s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.34, 1.45, .64, 1);--bg-translucent: color-mix(in oklab, var(--bg) 80%, transparent);--surface-blur: saturate(180%) blur(20px);--lift-1: 0 1px 2px rgb(0 0 0 / .06), 0 2px 8px rgb(0 0 0 / .06);--lift-2: 0 2px 4px rgb(0 0 0 / .07), 0 8px 24px rgb(0 0 0 / .09);--tap-min: 44px;--screen-desktop: 48em;--screen-desktop-admin: 62em}:root,.key-scope{--color-key-50: color-mix(in oklab, var(--color-key-source) 8%, var(--color-neutral-white));--color-key-100: color-mix(in oklab, var(--color-key-source) 16%, var(--color-neutral-white));--color-key-200: color-mix(in oklab, var(--color-key-source) 32%, var(--color-neutral-white));--color-key-400: color-mix(in oklab, var(--color-key-source) 64%, var(--color-neutral-white));--color-key-600: var(--color-key-source);--color-key-800: color-mix(in oklab, var(--color-key-source) 80%, var(--color-neutral-black));--color-key-900: color-mix(in oklab, var(--color-key-source) 64%, var(--color-neutral-black));--surface-key: color-mix(in oklab, var(--color-key-source) 8%, var(--bg));--surface-key-strong: color-mix(in oklab, var(--color-key-source) 16%, var(--bg));--border-key: color-mix(in oklab, var(--color-key-source) 32%, var(--bg));--text-on-key: var(--color-key-on);--chip-key-bg: var(--color-key-100);--chip-key-fg: var(--color-key-900);--slot-selected: var(--color-key-600)}.t-dsp-32B{font-size:2rem;font-weight:700;line-height:1.4;letter-spacing:.01em}.t-dsp-24B{font-size:1.5rem;font-weight:700;line-height:1.5;letter-spacing:.02em}.t-std-20B{font-size:1.25rem;font-weight:700;line-height:1.6;letter-spacing:.02em}.t-std-18B{font-size:1.125rem;font-weight:700;line-height:1.6;letter-spacing:.02em}.t-std-16B{font-size:1rem;font-weight:700;line-height:1.7;letter-spacing:.02em}.t-std-16N{font-size:1rem;font-weight:400;line-height:1.7;letter-spacing:.02em}.t-std-14N{font-size:.875rem;font-weight:400;line-height:1.7;letter-spacing:.02em}.t-dns-16N{font-size:1rem;font-weight:400;line-height:1.3;letter-spacing:0}.t-dns-14B{font-size:.875rem;font-weight:700;line-height:1.3;letter-spacing:0}.t-dns-14N{font-size:.875rem;font-weight:400;line-height:1.3;letter-spacing:0}.t-dns-12N{font-size:.75rem;font-weight:400;line-height:1.3;letter-spacing:0}.t-oln-16B{font-size:1rem;font-weight:700;line-height:1;letter-spacing:.02em}.t-oln-16N{font-size:1rem;font-weight:400;line-height:1;letter-spacing:.02em}.t-oln-14N{font-size:.875rem;font-weight:400;line-height:1;letter-spacing:.02em}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:4.5rem}body{margin:0;font-family:var(--font-sans);font-size:1rem;font-weight:400;line-height:1.7;letter-spacing:.02em;color:var(--text);background:var(--bg)}h1,h2,h3,h4{margin:0 0 var(--space-3);letter-spacing:.02em}h1{font-size:1.5rem;font-weight:700;line-height:1.5}h2{font-size:1.25rem;font-weight:700;line-height:1.6}h3{font-size:1.125rem;font-weight:700;line-height:1.6}h4{font-size:1rem;font-weight:700;line-height:1.7}p{margin:0 0 var(--space-4)}ul,ol{margin:0 0 var(--space-4);padding-inline-start:var(--space-5)}a{color:var(--info);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}code{font-family:var(--font-mono);font-size:.875em;background:var(--bg-subtle);padding:.1em .3em;border-radius:var(--radius-4)}input:not([type=checkbox],[type=radio],[class*=cl-]),select:not([class*=cl-]),textarea:not([class*=cl-]){min-height:var(--tap-min);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:1rem;line-height:1.5;letter-spacing:.02em;color:var(--text);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-8)}input:disabled,select:disabled,textarea:disabled{background:var(--bg-subtle);color:var(--text-muted);cursor:not-allowed}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;accent-color:var(--color-key-600)}:focus-visible{outline:3px solid var(--color-key-600);outline-offset:2px;border-radius:var(--radius-4)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.app__main{flex:1;width:100%;max-width:42rem;margin-inline:auto;padding:var(--space-5) var(--space-4) var(--space-8)}.app--wide .app__main{max-width:80rem}.app--admin .app__main{max-width:none;margin-inline:0;min-width:0}.app--admin .field,.app--admin .segmented{max-width:min(36rem,100%)}.skip-link{position:absolute;left:var(--space-4);top:calc(var(--space-4) * -4);z-index:100;padding:var(--space-3) var(--space-4);background:var(--color-key-600);color:var(--text-on-key);border-radius:var(--radius-8);text-decoration:none;transition:top .15s ease}.skip-link:focus{top:var(--space-4)}.site-header{position:sticky;top:0;z-index:20;background:var(--bg-translucent);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border-bottom:1px solid transparent;transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.site-header[data-scrolled=true]{border-bottom-color:var(--border);box-shadow:var(--lift-1)}.site-header__inner{max-width:42rem;margin-inline:auto;padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);min-height:56px;flex-wrap:wrap}.app--wide .site-header__inner{max-width:80rem}.app--admin .site-header__inner{max-width:88rem}.site-header__brand{flex:1;min-width:6rem;margin:0;font-size:1rem;font-weight:700;line-height:1.4;letter-spacing:.02em;padding-inline-start:var(--space-3);border-inline-start:4px solid var(--color-key-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-header__actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0;margin-inline-start:auto}.site-header__actions .button{padding-inline:var(--space-2);font-size:.875rem}@media(max-width:26em){.site-header__actions .button{padding-inline:var(--space-1);font-size:.8125rem}}.site-header__actions select{max-width:10rem;padding-block:var(--space-1);font-size:.875rem}@media(min-width:62em){.site-header__actions select{max-width:18rem}}.page-head{margin-bottom:var(--space-5)}.page-head__eyebrow{display:block;font-size:.8125rem;font-weight:700;line-height:1.6;letter-spacing:.04em;color:var(--text-muted);margin-bottom:var(--space-1)}.page-head__title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.4;letter-spacing:.02em}.page-head__lead{margin:var(--space-2) 0 0;color:var(--text-muted)}.stack>*+*{margin-top:var(--space-4)}.stack--tight>*+*{margin-top:var(--space-2)}.stack--loose>*+*{margin-top:var(--space-6)}.section{margin-top:var(--space-6)}.section:first-child{margin-top:0}.action-bar{position:sticky;bottom:0;z-index:15;margin:var(--space-6) calc(var(--space-4) * -1) 0;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--bg-translucent);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);animation:bar-in var(--dur-2) var(--ease-out) both}@keyframes bar-in{0%{opacity:0;transform:translateY(100%)}}.action-bar>.button--primary{flex:1;white-space:nowrap}.action-bar__note{flex-basis:100%;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:.875rem;line-height:1.4;color:var(--text-muted)}.action-bar__time{font-size:1.5rem;font-weight:700;line-height:1.25;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--text)}.action-bar__eyebrow{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-footer{border-top:1px solid var(--border);background:var(--bg-subtle)}.site-footer__inner{max-width:42rem;margin-inline:auto;padding:var(--space-2) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:0 var(--space-4)}.site-footer a{display:inline-flex;align-items:center;min-height:var(--tap-min);font-size:.875rem;color:var(--text-muted)}.route{animation:route-in var(--dur-3) var(--ease-out) both}@keyframes route-in{0%{opacity:0;transform:translateY(10px)}}.slide-next{animation:slide-from-end var(--dur-2) var(--ease-out) both}.slide-prev{animation:slide-from-start var(--dur-2) var(--ease-out) both}@keyframes slide-from-end{0%{opacity:0;transform:translate(16px)}}@keyframes slide-from-start{0%{opacity:0;transform:translate(-16px)}}.app__body{flex:1;width:100%;display:flex;flex-direction:column;min-width:0}.app-nav{display:flex;gap:var(--space-1);padding:var(--space-2) var(--space-4);overflow-x:auto;overscroll-behavior-x:contain;background:var(--bg-translucent);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border-bottom:1px solid var(--border);position:sticky;top:56px;z-index:15}.app-nav a{display:inline-flex;align-items:center;flex:0 0 auto;min-height:var(--tap-min);padding-inline:var(--space-3);border-radius:var(--radius-8);font-size:.9375rem;color:var(--text-muted);text-decoration:none;white-space:nowrap;transition:background-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.app-nav a:hover{background:var(--bg-subtle);color:var(--text)}.app-nav a[aria-current=page]{background:var(--color-key-100);color:var(--color-key-900);font-weight:700}@media(min-width:62em){.app__body{flex-direction:row;max-width:88rem;margin-inline:auto}.app-nav{flex-direction:column;flex:0 0 14rem;align-self:flex-start;position:sticky;top:56px;max-height:calc(100dvh - 56px);padding:var(--space-4) var(--space-3);overflow-x:visible;overflow-y:auto;border-bottom:none;border-inline-end:1px solid var(--border);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.app-nav a{justify-content:flex-start}}@media(min-width:62em){.app--admin .action-bar{position:static;margin:var(--space-6) 0 0;padding:0;border-top:none;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}.app--admin .action-bar>.button--primary{flex:0 0 auto}}@media print{.app-nav{display:none}}.page-head--admin{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-head__body{min-width:0}.page-head__actions{display:flex;gap:var(--space-2);flex-shrink:0}@media(min-width:48em){.matrix-wide{width:min(100vw - 2 * var(--space-4),80rem);margin-inline:calc(50% - min(50vw - var(--space-4),40rem))}}.site-header__home{display:inline-flex;align-items:center;min-height:var(--tap-min);max-width:100%;color:inherit;text-decoration:none}.site-header__logo-space{display:block;height:32px}.site-header__logo{display:block;max-height:32px;max-width:min(12rem,100%);width:auto;object-fit:contain}.site-header__brand--service{display:flex;align-items:center;gap:var(--space-2)}.site-header__logo--service{max-height:20px}.toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-block:var(--space-3)}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:inherit;font-size:1rem;font-weight:400;line-height:1;letter-spacing:.02em;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-8);background:var(--bg-raised);color:var(--text);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out),opacity var(--dur-1) var(--ease-out)}button:hover:not(:disabled){background:var(--bg-subtle)}.button:active:not(:disabled),button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.button--primary{background:var(--color-key-600);border-color:var(--color-key-600);color:var(--text-on-key);font-weight:700;box-shadow:var(--lift-1)}button.primary:hover:not(:disabled),.button--primary:hover:not(:disabled){background:var(--color-key-800);border-color:var(--color-key-800);box-shadow:var(--lift-2)}button.danger{border-color:var(--error);color:var(--error)}.field{display:block;margin-block:var(--space-4);font-size:.875rem;font-weight:700;line-height:1.3}.auth-links{margin-top:var(--space-6)}.field>input,.field>select,.field>textarea{display:block;width:100%;margin-block-start:var(--space-1);font-weight:400}.field>.muted{display:block;margin-block-start:var(--space-1);font-weight:400}.field[data-invalid=true]>input,.field[data-invalid=true]>select,.field[data-invalid=true]>textarea{border-color:var(--error);background:var(--error-bg)}.field [role=radiogroup][aria-invalid=true]{display:block;padding:var(--space-1) var(--space-3);border:1px solid var(--error);border-radius:var(--radius-8);background:var(--error-bg)}.field__error{display:block;margin-top:var(--space-1);font-size:.8125rem;font-weight:400;line-height:1.6;color:var(--error)}fieldset.field{border:1px solid var(--border);border-radius:var(--radius-8);padding:var(--space-3)}fieldset.field legend{padding-inline:var(--space-1);font-size:.875rem;font-weight:700}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding-block:var(--space-2)}.row.check{justify-content:flex-start}.row.check input[type=radio],.row.check input[type=checkbox]{margin:0}.row>select{flex:1;min-width:0}.row input[type=number]{width:5.5rem}.required{color:var(--error)}.card{display:block;width:100%;text-align:start;padding:var(--space-4);margin-block:var(--space-2);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-8);color:inherit}a.card{text-decoration:none;transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}a.card:hover{transform:translateY(-2px);border-color:var(--color-key-200);box-shadow:var(--lift-2)}a.card:active{transform:translateY(0)}.back-link{display:inline-flex;align-items:center;min-height:var(--tap-min);font-size:.9375rem}.card-inline{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-8);text-decoration:none;color:inherit}.panel-scrim{position:fixed;inset:0;z-index:30;background:#00000052;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade-in var(--dur-2) var(--ease-out) both}@keyframes fade-in{0%{opacity:0}}.panel{position:fixed;inset-block:0;inset-inline-end:0;width:min(28rem,100%);padding:var(--space-4) var(--space-4) var(--space-8);overflow-y:auto;overscroll-behavior:contain;background:var(--bg-raised);border-inline-start:1px solid var(--border);box-shadow:var(--lift-2);z-index:31;animation:panel-in var(--dur-3) var(--ease-out) both}@keyframes panel-in{0%{opacity:0;transform:translate(24px)}}@media(min-width:62em){.panel{width:min(56rem,80vw)}.app--admin .panel .field,.app--admin .panel .segmented{max-width:min(48rem,100%)}}.panel-head{position:sticky;top:calc(var(--space-4) * -1);z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-translucent);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border-bottom:1px solid var(--border)}.panel-head h3{margin:0;font-size:1rem}.confirm-scrim{position:fixed;inset:0;z-index:40;background:#00000052;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade-in var(--dur-2) var(--ease-out) both}.confirm{position:fixed;z-index:41;inset-inline:var(--space-4);top:50%;translate:0 -50%;margin-inline:auto;width:min(26rem,calc(100% - var(--space-4) * 2));max-height:min(80vh,36rem);display:flex;flex-direction:column;overflow:hidden;padding:var(--space-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-12);box-shadow:var(--lift-2);animation:pop-in var(--dur-2) var(--ease-out) both}.confirm h3{margin:0 0 var(--space-3);font-size:1rem}.confirm__body{overflow-y:auto}.confirm__body p{margin:0 0 var(--space-2)}.confirm__foot{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.sheet-scrim{position:fixed;inset:0;z-index:30;background:#00000052;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade-in var(--dur-2) var(--ease-out) both}.sheet{position:fixed;inset-inline:0;bottom:0;z-index:31;max-height:85dvh;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--space-4) calc(var(--space-6) + env(safe-area-inset-bottom));background:var(--bg-raised);border-radius:var(--radius-16) var(--radius-16) 0 0;box-shadow:var(--lift-2);animation:sheet-in var(--dur-3) var(--ease-out) both}.sheet:focus-visible{outline:none}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.sheet__head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-inline:calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4);background:var(--bg-translucent);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border-bottom:1px solid var(--border)}.sheet__title{margin:0;font-size:1.125rem;line-height:1.4}.sheet__body{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3)}.photo-frame{display:block;position:relative;overflow:hidden;border-radius:var(--radius-12);background:var(--bg-subtle)}.photo-frame[data-state=loading]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--color-solid-gray-100) 37%,var(--bg-subtle) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@media(prefers-reduced-motion:reduce){.photo-frame[data-state=loading]:after{animation:none}}.photo-frame__img{display:block;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity var(--dur-2) var(--ease-out)}.photo-frame[data-state=loaded] .photo-frame__img{opacity:1}.photo-frame[data-state=failed] .photo-frame__img{visibility:hidden}.sheet__photo{height:14rem}.info-badge{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:0 0 auto;width:1.25rem;height:1.25rem;border-radius:var(--radius-full);background:var(--color-key-600);color:var(--text-on-key);font-size:.75rem;font-weight:700;font-style:italic;line-height:1}.info-badge:after{content:"";position:absolute;inset:-.6875rem}button:active>.info-badge{transform:scale(.92)}.equip-open{display:inline-flex;align-items:center;gap:var(--space-1);padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.equip-open__name{border-bottom:1px dashed var(--border-strong)}.equip-open:hover .equip-open__name{border-bottom-style:solid}.equip-open:hover:not(:disabled){background:none}.info-list{margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.info-list__row{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);padding-block:var(--space-2);border-top:1px solid var(--border)}.info-list__row dt{flex:0 0 6rem;color:var(--text-muted);font-size:.875rem}.info-list__row dd{flex:1 1 12rem;margin:0;white-space:pre-wrap}@media(min-width:48em){.sheet{inset-block:auto;top:50%;inset-inline:50%;width:min(32rem,calc(100% - var(--space-6) * 2));transform:translate(-50%,-50%);border-radius:var(--radius-16)}@keyframes sheet-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 16px))}}}.notice,.error{animation:drop-in var(--dur-2) var(--ease-out) both;padding:var(--space-3) var(--space-4);margin-block:var(--space-3);border-radius:var(--radius-8);border-inline-start:4px solid;font-size:.875rem;line-height:1.7}.notice{background:var(--info-bg);border-color:var(--info);color:var(--text)}.error{background:var(--error-bg);border-color:var(--error);color:var(--error)}.callout{padding:var(--space-3) var(--space-4);margin-block:var(--space-4);border-radius:var(--radius-8);border-inline-start:4px solid var(--info);background:var(--info-bg)}.richtext>*{margin-block:var(--space-2)}.richtext>:first-child{margin-block-start:0}.richtext>:last-child{margin-block-end:0}.richtext p{line-height:1.7}.richtext ul{padding-inline-start:1.25em}.richtext li{line-height:1.7}.richtext--muted{color:var(--text-muted);font-size:.875rem}.richtext-tools{display:flex;gap:var(--space-2);margin-block-start:var(--space-1)}.richtext-tools .button{padding:var(--space-1) var(--space-3);font-size:.8125rem}.richtext-preview{margin-block-start:var(--space-2);padding:var(--space-3);border:1px dashed var(--border);border-radius:var(--radius-8);font-weight:400}.richtext-preview>.muted{display:block;margin-block-end:var(--space-1)}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}}.muted{color:var(--text-muted);font-size:.875rem;line-height:1.7}.text-lines{white-space:pre-line}.reservation-no{display:flex;align-items:baseline;gap:var(--space-2);margin-block:var(--space-4)}.reservation-no__label{color:var(--text-muted);font-size:.875rem}.reservation-no__value{font-size:1.25rem;font-variant-numeric:tabular-nums;letter-spacing:.04em}.summary{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-4);margin-block:var(--space-4)}.summary dt{color:var(--text-muted);font-size:.875rem;line-height:1.7}.summary dd{margin:0;white-space:pre-line}.account{margin-bottom:var(--space-4)}.account .summary{margin-block:0}.account__email{overflow-wrap:anywhere}.account-row+.account-row{border-top:1px solid var(--border)}.account-row__head{display:flex;align-items:baseline;gap:var(--space-3);padding-block:var(--space-3)}.account-row__text{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3)}.account-row:first-child .account-row__head{padding-block-start:0}.account-row__label{flex:0 0 auto;min-width:6.5rem;font-size:.875rem;font-weight:700;line-height:1.3}.account-row__value{min-width:0;overflow-wrap:anywhere}.account-row__action,.account-withdraw__toggle{flex:0 0 auto;margin-inline-start:auto;padding-inline:var(--space-2);font-size:.875rem;text-decoration:underline}.account-row__panel{padding-block-end:var(--space-3)}.account-row__panel .field:first-child,.account-row__panel>p:first-child{margin-block-start:var(--space-2)}.account__note{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border);font-size:.8125rem;line-height:1.7;color:var(--text-muted)}.filters__search{min-width:min(22rem,100%)}.table-scroll{overflow-x:auto;overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--bg-raised)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.5}.table th,.table td{text-align:start;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap}.table tbody tr:last-child td{border-bottom:none}.table thead th{position:sticky;top:0;z-index:1;background:var(--bg-subtle);font-weight:700;font-size:.8125rem;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-strong)}.table tbody tr[tabindex]{cursor:pointer}.table tbody tr[tabindex]:hover{background:var(--bg-subtle)}.table tbody tr[tabindex]:focus-visible{outline:3px solid var(--color-key-600);outline-offset:-3px}.table tr.cancelled{opacity:.55}.table tr.cancelled td:first-child{text-decoration:line-through}.table .amount{text-align:end;font-variant-numeric:tabular-nums}.table td .chip+.chip,.table td .muted+.chip{margin-inline-start:var(--space-1)}.table .table__sub{font-size:.8125rem;color:var(--text-muted);white-space:normal}nav.toolbar a.card-inline{text-decoration:none}.theme-preview{margin-block:var(--space-3)}.theme-preview__sample{display:inline-block;padding:4px 10px;margin-inline-end:var(--space-2);border-radius:var(--radius-4);background:var(--color-key-600);color:var(--color-key-on)}.theme-preview__parts{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-block:var(--space-3)}.swatches{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3)}.swatch{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.swatch-tile{display:block;width:5rem;height:3.5rem;border:1px solid var(--border);border-radius:var(--radius-6)}.auth-switch{margin-block-start:var(--space-3);text-align:center;color:var(--text-muted);font-size:.875rem}.auth-switch>button{border:none;background:none;padding:0;color:var(--info);text-decoration:underline;cursor:pointer;font:inherit}.invite-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.brand-admin{display:flex;align-items:center;gap:var(--space-3);margin-block:var(--space-2)}.button--ghost,button.ghost{border-color:transparent;background:transparent}.button--ghost:hover:not(:disabled),button.ghost:hover:not(:disabled){background:var(--bg-subtle)}.button--icon{min-width:var(--tap-min);padding-inline:var(--space-2);font-size:1.125rem;line-height:1;border-color:var(--border);color:var(--text-muted)}.button--danger{border-color:var(--error);color:var(--error);background:var(--bg-raised);font-weight:700}.button--danger:hover:not(:disabled){background:var(--error-bg)}.button[aria-busy=true],button[aria-busy=true]{cursor:progress;opacity:.7}.button[aria-busy=true]:after,button[aria-busy=true]:after{content:"";width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:.125rem var(--space-2);border-radius:var(--radius-full);font-size:.8125rem;font-weight:700;line-height:1.6;letter-spacing:.02em;background:var(--chip-bg);color:var(--chip-fg);white-space:nowrap;animation:pop-in var(--dur-2) var(--ease-spring) both}@keyframes pop-in{0%{opacity:0;transform:scale(.82)}}.chip--ok{background:var(--chip-ok-bg);color:var(--chip-ok-fg)}.chip--warn{background:var(--chip-warn-bg);color:var(--chip-warn-fg)}.chip--danger{background:var(--chip-danger-bg);color:var(--chip-danger-fg)}.chip--key{background:var(--chip-key-bg);color:var(--chip-key-fg)}.empty{animation:rise-in var(--dur-3) var(--ease-out) both;padding:var(--space-6) var(--space-4);text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius-12);background:var(--bg-subtle)}.empty__title{margin:0 0 var(--space-2);font-size:1rem;font-weight:700;line-height:1.6}.empty__body{margin:0 0 var(--space-4);color:var(--text-muted);font-size:.9375rem}.empty__body:last-child{margin-bottom:0}.empty__hint{margin:var(--space-5) 0 0;color:var(--text-muted);font-size:.9375rem;line-height:1.7}.empty__hint-link{display:block;margin-block-start:var(--space-2)}.empty--error{border-style:solid;border-color:var(--error);background:var(--error-bg)}.empty--error .empty__title{color:var(--error)}.skeleton{display:block;border-radius:var(--radius-8);background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--color-solid-gray-100) 37%,var(--bg-subtle) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton--line{height:1rem;margin-bottom:var(--space-2)}.skeleton--title{height:1.5rem;width:60%;margin-bottom:var(--space-3)}.skeleton--block{height:8rem}.date-nav{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.date-nav__label{flex:1;min-width:0;margin:0;text-align:center;font-size:1.125rem;font-weight:700;line-height:1.5;letter-spacing:.02em}.date-pick{position:relative;display:inline-block;max-width:100%}.date-pick__label{border-bottom:1px dashed var(--border-strong);padding-bottom:1px}.date-pick__input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:1rem}.date-pick:has(.date-pick__input:focus-visible) .date-pick__label{outline:2px solid var(--color-key-600);outline-offset:3px;border-radius:var(--radius-8)}.date-nav__today{font-size:.875rem;padding-inline:var(--space-3)}.segmented{display:inline-flex;max-width:100%;padding:.1875rem;gap:.1875rem;background:var(--bg-subtle);border-radius:var(--radius-full);overflow-x:auto;overscroll-behavior-x:contain}.segmented>button{flex:0 0 auto}.segmented>button{min-height:var(--tap-min);padding-inline:var(--space-4);border:none;border-radius:var(--radius-full);background:transparent;font-size:.9375rem}.segmented>button[aria-pressed=true]{background:var(--bg-raised);font-weight:700;box-shadow:var(--lift-1)}.steps{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);list-style:none;padding:0}.steps__item{flex:1;transition:color var(--dur-3) var(--ease-out),border-color var(--dur-3) var(--ease-out);font-size:.75rem;font-weight:700;line-height:1.5;letter-spacing:.02em;color:var(--text-muted);padding-top:var(--space-2);border-top:3px solid var(--border)}.steps__item[aria-current=step]{color:var(--color-key-900);border-top-color:var(--color-key-600)}.steps__item--done{color:var(--text);border-top-color:var(--color-key-200)}.amount{font-variant-numeric:tabular-nums}.amount--lead{font-size:1.5rem;font-weight:700;line-height:1.4}.slot-summary{animation:rise-in var(--dur-2) var(--ease-out) both;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-key);border:1px solid var(--border-key);border-radius:var(--radius-12)}.slot-summary__body{flex:1 1 12rem;min-width:0}.slot-summary__action{flex:1 0 100%}@media(min-width:30em){.slot-summary__action{flex:0 0 auto}}.slot-summary__link{flex:0 0 auto;align-self:center;font-size:.875rem;display:inline-flex;align-items:center;min-height:var(--tap-min)}.slot-summary__title{display:block;font-weight:700;line-height:1.6}.slot-summary__meta{display:block;font-size:.875rem;line-height:1.6;color:var(--text-muted)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}.total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-12);background:var(--bg-subtle)}.total__label{font-weight:700}.success-mark{display:block;width:3.5rem;height:3.5rem;margin-bottom:var(--space-4);color:var(--color-key-600)}.success-mark circle,.success-mark path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.success-mark circle{stroke-dasharray:76;stroke-dashoffset:76;animation:draw-mark .42s var(--ease-out) forwards}.success-mark path{stroke-dasharray:24;stroke-dashoffset:24;animation:draw-mark .26s var(--ease-out) .3s forwards}@keyframes draw-mark{to{stroke-dashoffset:0}}.scroll-hint{margin:var(--space-2) 0 0;font-size:.8125rem;line-height:1.6;color:var(--text-muted);transition:opacity var(--dur-2) var(--ease-out)}.scroll-hint:before{content:"↔ "}.scroll-hint[data-done=true]{opacity:0}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);background:var(--bg-subtle);border-radius:var(--radius-12)}.bulk-hours{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-12);background:var(--bg-subtle)}.bulk-hours__days,.bulk-hours__apply{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.bulk-hours__shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1)}.dow-pick{min-width:2.25rem;padding:var(--space-1) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg);color:var(--fg);font:inherit;font-weight:700;line-height:1.4;cursor:pointer}.dow-pick--wide{min-width:0;font-weight:400}.dow-pick[data-on=true]{border-color:var(--color-key-600);background:var(--color-key-600);color:var(--text-on-key)}.filters__group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-width:0}.filters__group--grow{flex:1 1 18rem}.filters input[type=search]{flex:1;min-width:0}.card-input__field{min-height:var(--tap-min);padding:var(--space-3);background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-8)}.card-input__note{margin:var(--space-2) 0 0;font-size:.8125rem;line-height:1.6;color:var(--text-muted)}.panel-foot{position:sticky;bottom:calc(var(--space-8) * -1);display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-6) calc(var(--space-4) * -1) calc(var(--space-8) * -1);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--bg-translucent);backdrop-filter:var(--surface-blur);-webkit-backdrop-filter:var(--surface-blur);border-top:1px solid var(--border)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.section-head h3{margin:0}.scoped{margin-top:var(--space-5);border:1px solid var(--border);border-inline-start:3px solid var(--color-key-600);border-radius:var(--radius-12);background:var(--bg-raised)}.scoped__head{position:sticky;top:56px;z-index:10;display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin:0;padding:var(--space-3) var(--space-4);background:var(--surface-key);border-bottom:1px solid var(--border-key);border-start-start-radius:calc(var(--radius-12) - 1px);border-start-end-radius:calc(var(--radius-12) - 1px)}.scoped__label,.scoped__note{font-size:.8125rem;color:var(--text-muted)}.scoped__name{font-size:1.0625rem;line-height:1.4}.scoped__body{padding:var(--space-4)}.scoped__body>.section:first-child{margin-top:0}@media(min-width:62em){.scoped__head{top:0}}.sortable{list-style:none;margin:0;padding:0}.sortable__item{display:flex;align-items:center;gap:var(--space-2)}.sortable__item+.sortable__item{margin-top:var(--space-2)}.sortable__item .master-row,.sortable__item .pick-row{flex:1 1 auto;min-width:0}.sortable__item .master-row+.master-row,.sortable__item .pick-row+.pick-row{margin-top:0}.sortable__item[data-dragging=true]{opacity:.4}.sortable__item[data-over=true]{box-shadow:0 -3px 0 0 var(--color-key-600)}.sortable__grip{display:flex;flex-direction:column;align-items:center;gap:2px;flex:0 0 auto}.sortable__handle{min-height:0;padding:var(--space-1) var(--space-2);border-color:transparent;background:none;color:var(--text-muted);font-size:1.125rem;line-height:1;cursor:grab}.sortable__handle:active{cursor:grabbing}.sortable__steps{display:flex;flex-direction:column;gap:2px}.sortable__step{min-height:0;padding:0 var(--space-2);border-color:transparent;background:none;color:var(--text-muted);font-size:.8125rem;line-height:1.4}.sortable__step:disabled{opacity:.25}.sortable__body{display:flex;flex:1 1 auto;min-width:0}.sortable__body>*{flex:1 1 auto;min-width:0}.master-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-8);background:var(--bg-raised);transition:border-color var(--dur-1) var(--ease-out)}.master-row+.master-row{margin-top:var(--space-2)}.master-row:hover{border-color:var(--border-strong)}.master-row__body{flex:1 1 18rem;min-width:0}.master-row__meta{display:block;font-size:.8125rem;line-height:1.6;color:var(--text-muted)}.pick-row{cursor:pointer;border-width:2px;padding:calc(var(--space-3) - 1px)}.pick-row__hit{display:flex;align-items:center;gap:var(--space-3);flex:1 1 18rem;min-width:0;cursor:pointer}.pick-row__state{flex:0 0 auto;font-size:.8125rem;color:var(--text-muted)}.pick-row:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.pick-row:has(input:focus-visible){outline:2px solid var(--color-key-600);outline-offset:2px}.pick-row[data-selected=true]{border-color:var(--color-key-600);background:var(--surface-key)}.pick-row[data-selected=true] strong{color:var(--color-key-900)}.pick-row[data-selected=true] .pick-row__state{color:var(--color-key-900);font-weight:700}.image-upload__label{display:block;margin-bottom:var(--space-2)}.image-upload{display:flex;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap}.image-upload__preview{width:6rem;height:6rem;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--bg-subtle)}.link-row>button{align-self:flex-start}.image-upload__actions{flex:1 1 14rem;min-width:0;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.image-upload input[type=file]{min-width:0;max-width:100%;font-size:.875rem;border:none;background:none;padding:0}.photo-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-3)}.photo-grid__item{margin:0;display:flex;flex-direction:column;gap:var(--space-1);align-items:center}.photo-grid__item img{width:7rem;height:7rem;object-fit:contain;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--bg-subtle)}.slot-summary__photo{width:4rem;height:4rem;flex:0 0 auto;object-fit:contain;border-radius:var(--radius-8);background:var(--bg-subtle)}.lang{position:relative}.lang__trigger{display:inline-flex;align-items:center;gap:var(--space-1)}.lang__icon{width:1.125rem;height:1.125rem;flex-shrink:0;opacity:.75}.lang__code{font-weight:700;letter-spacing:.04em}.lang__caret{width:0;height:0;border-inline:4px solid transparent;border-block-start:5px solid currentColor;opacity:.6;transition:transform var(--dur-1) var(--ease-out)}.lang__trigger[aria-expanded=true] .lang__caret{transform:rotate(180deg)}.lang__menu{position:absolute;inset-inline-end:0;top:calc(100% + var(--space-1));z-index:30;min-width:10.5rem;padding:var(--space-1);display:flex;flex-direction:column;gap:2px;border:1px solid var(--border);border-radius:var(--radius-12);background:var(--bg-translucent);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);box-shadow:var(--lift-2);animation:lang-open var(--dur-2) var(--ease-out) both}@keyframes lang-open{0%{opacity:0;transform:translateY(-6px) scale(.98)}}.lang__item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding-inline:var(--space-2);border:0;border-radius:var(--radius-8);background:transparent;color:var(--text);font-size:.875rem;font-weight:400;text-align:start;white-space:nowrap}.lang__item:hover:not(:disabled),.lang__item:focus-visible{background:var(--bg-subtle)}.lang__item[aria-checked=true]{background:var(--chip-key-bg);color:var(--chip-key-fg);font-weight:700}.lang__badge{flex-shrink:0;min-width:2rem;padding:2px var(--space-1);border-radius:var(--radius-4);background:var(--bg-subtle);color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-align:center}.lang__item[aria-checked=true] .lang__badge{background:var(--color-key-600);color:var(--text-on-key)}.facility-card{display:flex;align-items:center;gap:var(--space-4)}.facility-card__photo{flex:0 0 auto;width:5rem;height:5rem;object-fit:contain;border-radius:var(--radius-8);background:var(--bg-subtle)}.facility-card__body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.facility-card__body .chip{align-self:flex-start}.field>.number-select{width:auto;min-width:6rem}.row>.number-select{flex:0 0 auto;min-width:5.5rem}.cal-day{margin-block:var(--space-5)}.cal-day__title{position:sticky;top:0;z-index:5;margin:0 0 var(--space-2);padding-block:var(--space-2);background:var(--bg-translucent);-webkit-backdrop-filter:var(--surface-blur);backdrop-filter:var(--surface-blur);font-size:1rem}.cal-facility{margin-block:var(--space-3)}.cal-facility__name{margin-block-end:var(--space-1);font-size:.8125rem;font-weight:700;color:var(--text-muted)}.cal-scroll{overflow-x:auto;overscroll-behavior-x:contain}.cal-grid{min-width:44rem;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--bg-raised);overflow:hidden}.cal-row{display:flex;align-items:stretch;min-height:3rem;border-block-end:1px solid var(--border)}.cal-row:last-child{border-block-end:none}.cal-row--axis{min-height:1.75rem;background:var(--bg-subtle)}.cal-row__label{position:sticky;inset-inline-start:0;z-index:2;flex:0 0 7rem;padding:var(--space-2);border-inline-end:1px solid var(--border);background:var(--bg-subtle);font-size:.8125rem;font-weight:700;line-height:1.3}.cal-track{position:relative;flex:1 1 auto;min-width:0}.cal-tick{position:absolute;top:0;height:100%;padding-inline-start:2px;border-inline-start:1px solid var(--border);font-size:.6875rem;line-height:1.6;color:var(--text-muted);white-space:nowrap}.cal-block{position:absolute;inset-block:3px;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;padding:2px var(--space-1);border:1px solid var(--color-key-600);border-radius:var(--radius-4);background:var(--chip-key-bg);color:var(--chip-key-fg);font-size:.75rem;font-weight:700;line-height:1.3;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background-color var(--dur-1) var(--ease-out)}.cal-block:hover:not(:disabled),.cal-block:focus-visible{background:var(--color-key-200)}.cal-block__memo{display:block;white-space:nowrap;font-weight:400;font-size:.7rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.cal-block--via{border-style:dashed;background:var(--bg-subtle);color:var(--text-muted);font-weight:400}.cal-block--cancelled{border-style:dashed;border-color:var(--border-strong);background:var(--bg-subtle);color:var(--text-muted);font-weight:400;text-decoration:line-through}.picker{list-style:none;margin:var(--space-2) 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-8);overflow:hidden;background:var(--bg-raised)}.picker__item{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);width:100%;min-height:var(--tap-min);padding:var(--space-2) var(--space-3);border:0;border-block-end:1px solid var(--border);background:transparent;color:var(--text);font-size:.875rem;font-weight:400;text-align:start}.picker li:last-child .picker__item{border-block-end:none}.picker__item:hover:not(:disabled),.picker__item:focus-visible{background:var(--bg-subtle)}.picker__item:disabled{color:var(--text-muted);cursor:not-allowed}.picked{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-block-start:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--border-key);border-radius:var(--radius-8);background:var(--surface-key)}.picked__body{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0;font-weight:400}.link-row{display:flex;flex-direction:column;gap:var(--space-2);margin-block:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-8);background:var(--bg-subtle)}.link-facility{margin-block:var(--space-4)}.link-facility h4{margin:0 0 var(--space-2)}.steps-list{margin:var(--space-2) 0 0;padding-inline-start:1.5em;line-height:1.9}.table__memo{max-width:16rem;font-size:.875rem;line-height:1.5;color:var(--text-muted);white-space:normal;overflow-wrap:anywhere}.matrix-frame{position:relative;border:1px solid var(--border);border-radius:var(--radius-8);background:var(--bg-raised);overflow:hidden}.matrix-frame:after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:2rem;pointer-events:none;background:linear-gradient(to left,color-mix(in oklab,var(--bg-raised) 80%,transparent),transparent);opacity:0;transition:opacity var(--dur-2) var(--ease-out)}.matrix-frame[data-more=true]:after{opacity:1}.matrix-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth}.matrix{min-width:max-content}.matrix-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border)}.matrix-row:last-child{border-bottom:none}.matrix-label{position:sticky;inset-inline-start:0;z-index:2;flex:0 0 5.5rem;min-width:0;padding:var(--space-2) var(--space-1);background:var(--bg-subtle);border-inline-end:1px solid var(--border);font-size:.75rem;font-weight:700;line-height:1.25;box-shadow:4px 0 8px -4px #0000001f}.matrix-label__open{display:flex;align-items:center;gap:var(--space-1);width:100%;min-height:0;padding:var(--space-1) 0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}.matrix-label__name{min-width:0;border-bottom:1px dashed var(--border-strong)}.matrix-label__text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere}.matrix-label .info-badge{width:1rem;height:1rem;font-size:.625rem}.matrix-label__open:hover .matrix-label__name{border-bottom-style:solid}.matrix-label__name--plain{border-bottom:none}.matrix-label__note{display:block;margin-top:var(--space-1);font-size:.6875rem;font-weight:600;color:var(--chip-warn-fg)}.matrix-label__open:hover:not(:disabled){background:none}.matrix-axis{position:relative;height:1.75rem;flex:0 0 auto;background:var(--bg-subtle)}.matrix-axis .tick{position:absolute;top:0;height:100%;padding:var(--space-1) 0 0 var(--space-1);border-inline-start:1px solid var(--border);font-size:.75rem;line-height:1.3;color:var(--text-muted);white-space:nowrap}.matrix-cells{position:relative;flex:0 0 auto;min-height:3.5rem}.cell{position:absolute;inset-block:3px;min-height:0;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-4);font-size:.8125rem;line-height:1.3;letter-spacing:0;overflow:hidden;white-space:nowrap;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.cell:active:not(:disabled){transform:scale(.96)}.cell.available{background:var(--slot-available)}.cell.booked{background:var(--slot-booked);background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgb(0 0 0 / .06) 4px,rgb(0 0 0 / .06) 8px);color:var(--text-muted)}.cell.unavailable{background:var(--slot-unavailable);background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgb(0 0 0 / .1) 3px,rgb(0 0 0 / .1) 4px);color:transparent;cursor:not-allowed}.cell.selected{background:var(--slot-selected);border-color:var(--slot-selected);color:var(--text-on-key);font-weight:700;box-shadow:var(--lift-1);animation:cell-pick var(--dur-2) var(--ease-spring) both}@keyframes cell-pick{0%{transform:scale(.94)}to{transform:scale(1)}}.cell.candidate{background:var(--surface-key-strong);border-color:var(--color-key-400);outline:2px dashed var(--color-key-600);outline-offset:-3px}.cell.reach{background:var(--surface-key);border-color:var(--color-key-400)}.cell.inert{opacity:.5;cursor:not-allowed}.cell.available:hover:not(:disabled){background:var(--surface-key);border-color:var(--color-key-600)}.cell.selected:hover:not(:disabled){background:var(--color-key-800);border-color:var(--color-key-800)}.matrix-hint{margin:0 0 var(--space-2);padding-inline-start:var(--space-3);border-inline-start:3px solid var(--color-key-600);font-size:.9375rem;font-weight:700;line-height:1.6}.matrix-foot{margin-top:var(--space-2)}.matrix-foot__hint{margin:0 0 var(--space-2);font-size:.8125rem;line-height:1.6;color:var(--text-muted);transition:opacity var(--dur-2) var(--ease-out),margin var(--dur-2) var(--ease-out)}.matrix-foot__hint[data-done=true]{opacity:0;margin-bottom:0;height:0;overflow:hidden}.matrix-foot__hint:before{content:"↔ "}.legend{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0;font-size:.875rem;line-height:1.7;color:var(--text-muted)}.legend .swatch{position:static;display:inline-block;width:1rem;height:1rem;margin-inline-end:var(--space-1);vertical-align:-3px;border:1px solid var(--border)}.receipt{max-width:40rem;margin:0 auto;padding:var(--space-6)}.receipt-to{font-size:1.125rem;line-height:1.6;border-bottom:1px solid var(--text);padding-block-end:var(--space-1)}.receipt-total{font-size:2rem;font-weight:700;line-height:1.4;margin-block:var(--space-4)}.receipt-lines{width:100%;border-collapse:collapse;margin-block:var(--space-4)}.receipt-lines td{padding-block:var(--space-2);border-bottom:1px solid var(--border)}.receipt-lines .amount{text-align:end;white-space:nowrap}.receipt-lines tfoot td{font-weight:700}.receipt-issuer{margin-block-start:var(--space-6);text-align:end;font-size:.875rem;line-height:1.7}.print-sheet{padding:var(--space-3)}.print-group{padding:var(--space-1) var(--space-2);background:var(--bg-subtle);border-block-end:1px solid var(--border-strong);font-size:.8rem;font-weight:700}.print-note{padding:var(--space-2);border-block-end:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.print-row,.print-group{break-inside:avoid}.print-row{display:flex;min-height:calc(var(--print-block-fs) * var(--print-block-lh) * 4 + 8px);border-bottom:1px solid var(--border)}.print-sheet{--print-block-fs: .7rem;--print-block-lh: 1.3}.print-row--axis{min-height:1.4rem}.print-row-label{flex:0 0 6rem;padding:var(--space-2);border-inline-end:1px solid var(--border);font-size:.8rem;line-height:1.3}.print-track{position:relative;flex:1 1 auto}.print-tick{position:absolute;top:0;height:100%;padding-inline-start:var(--space-1);border-inline-start:1px solid var(--border);font-size:.75rem;line-height:1.3;color:var(--text-muted)}.print-block{position:absolute;inset-block:2px;padding:2px var(--space-1);overflow:hidden;background:var(--bg-subtle);border:1px solid var(--text);border-radius:var(--radius-4);font-size:var(--print-block-fs);line-height:var(--print-block-lh)}.print-block__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.print-block__detail{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.print-block--via{border-style:dashed;background:transparent}@media print{body{background:#fff;color:#000}.app{max-width:none;padding:0}.header,footer,.no-print{display:none!important}.matrix-scroll{overflow:visible;border:none}@page{size:A4 landscape;margin:10mm}.page-head{display:none}.print-sheet{padding:0}.print-sheet h3{margin:0 0 2px;font-size:.85rem;line-height:1.2}.print-group{padding:0 var(--space-1);font-size:.7rem;line-height:1.5}.print-sheet{--print-block-fs: .62rem;--print-block-lh: 1.2;zoom:.85}.print-row-label{flex-basis:5rem;padding:1px var(--space-1);font-size:.68rem;line-height:1.25}.print-tick{font-size:.62rem}.print-block{inset-block:1px;padding:0 2px}}
