:root{--tap-brand-orange:#ff6b35;--tap-brand-navy:#1f2a44;--tap-brand-cream:#fff1e6;--tap-brand-green:#28b463;--tap-brand-brown:#5a3e2b;--tap-primary:var(--tap-brand-orange);--tap-primary-hover:#f86633;--tap-primary-deep:#c2410c;--tap-primary-soft:#ffe3d5;--tap-primary-ink:#9a3412;--tap-on-primary:#1f2a44;--tap-bg:#fff1e6;--tap-bg-deep:#fbe4d2;--tap-surface:#fff;--tap-surface-2:#fdefe4;--tap-border:#f2d8c3;--tap-border-strong:#a08570;--tap-ink:#1f2a44;--tap-ink-2:#5a3e2b;--tap-ink-3:#7a5c46;--tap-secondary:var(--tap-brand-navy);--tap-secondary-hover:#16203a;--tap-secondary-soft:#e6eaf2;--tap-secondary-ink:#1f2a44;--tap-on-secondary:#fff1e6;--tap-success:#1e7a45;--tap-success-bright:#28b463;--tap-success-soft:#e7f7ee;--tap-success-ink:#17603d;--tap-warning:#8a5a00;--tap-warning-soft:#fff0d6;--tap-warning-ink:#6b4600;--tap-danger:#b42318;--tap-danger-soft:#fdecea;--tap-danger-ink:#8a2a20;--tap-info:#1f2a44;--tap-info-soft:#e8ebf1;--tap-info-ink:#1f2a44;--tap-neutral-soft:#f6e7d9;--tap-rating:#c2410c;--tap-focus:#1f2a44;--tap-focus-inverse:#ff6b35;--tap-focus-width:3px;--tap-focus-offset:2px;--tap-focus-halo:#1f2a4433;--tap-font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "DejaVu Serif", serif;--tap-font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--tap-font-brand:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--tap-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--tap-text-2xs:.6875rem;--tap-text-xs:.75rem;--tap-text-sm:.875rem;--tap-text-md:1rem;--tap-text-lg:clamp(1.0625rem, .98rem + .25vw, 1.125rem);--tap-text-xl:clamp(1.25rem, 1.13rem + .45vw, 1.375rem);--tap-text-2xl:clamp(1.5rem, 1.28rem + .9vw, 1.75rem);--tap-text-3xl:clamp(1.875rem, 1.48rem + 1.6vw, 2.25rem);--tap-text-4xl:clamp(2.25rem, 1.66rem + 2.4vw, 3.25rem);--tap-text-hero:clamp(2.5rem, 1.7rem + 3.4vw, 3.75rem);--tap-leading-tight:1.12;--tap-leading-snug:1.3;--tap-leading-normal:1.6;--tap-tracking-tight:-.015em;--tap-tracking-wide:.08em;--tap-measure:65ch;--tap-icon-sm:16px;--tap-icon-md:20px;--tap-icon-lg:24px;--tap-icon-xl:32px;--tap-sp-1:.25rem;--tap-sp-2:.5rem;--tap-sp-3:.75rem;--tap-sp-4:1rem;--tap-sp-5:1.25rem;--tap-sp-6:1.5rem;--tap-sp-7:2rem;--tap-sp-8:2.5rem;--tap-sp-9:3rem;--tap-sp-10:4rem;--tap-sp-11:5rem;--tap-radius-xs:4px;--tap-radius-sm:8px;--tap-radius-md:12px;--tap-radius-lg:16px;--tap-radius-xl:24px;--tap-radius-pill:999px;--tap-shadow-sm:0 1px 2px #1f2a440f, 0 1px 3px #1f2a4414;--tap-shadow-md:0 2px 6px #1f2a4412, 0 8px 20px #1f2a4417;--tap-shadow-lg:0 8px 24px #1f2a441a, 0 24px 60px #1f2a4421;--tap-shadow-primary:0 6px 18px #ff6b354d;--tap-ease:cubic-bezier(.2, .8, .2, 1);--tap-ease-out:cubic-bezier(.16, 1, .3, 1);--tap-ease-in:cubic-bezier(.4, 0, 1, 1);--tap-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--tap-duration-instant:80ms;--tap-duration-fast:.12s;--tap-duration:.18s;--tap-duration-slow:.26s;--tap-duration-exit:.14s;--tap-press-scale:.985;--tap-z-base:0;--tap-z-sticky:15;--tap-z-header:20;--tap-z-overlay:60;--tap-z-toast:70;--tap-z-skip:100;--tap-container:1180px;--tap-container-narrow:760px;--tap-header-h:64px;--tap-tap-min:44px;--tap-tap-gap:8px}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--tap-header-h) + var(--tap-sp-4))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--tap-bg);color:var(--tap-ink);font-family:var(--tap-font-ui);font-size:var(--tap-text-md);line-height:var(--tap-leading-normal);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--tap-font-display);font-weight:600;line-height:var(--tap-leading-tight);letter-spacing:var(--tap-tracking-tight);text-wrap:balance;margin:0}p{text-wrap:pretty}p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:var(--tap-primary-deep);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button[disabled]{cursor:not-allowed}img,svg{max-width:100%;display:block}:focus-visible{outline:var(--tap-focus-width) solid var(--tap-focus);outline-offset:var(--tap-focus-offset);border-radius:var(--tap-radius-xs)}::selection{background:var(--tap-primary-soft);color:var(--tap-primary-ink)}.container{width:min(var(--tap-container), 100% - 32px);margin-inline:auto}@media (min-width:900px){.container{width:min(var(--tap-container), 100% - 64px)}}.skip-link{z-index:var(--tap-z-skip);padding:var(--tap-sp-3) var(--tap-sp-5);background:var(--tap-ink);color:var(--tap-on-secondary);border-radius:0 0 var(--tap-radius-md) 0;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--tap-ink-2)}.small{font-size:var(--tap-text-sm)}.tiny{font-size:var(--tap-text-xs)}.mono{font-family:var(--tap-font-mono);font-size:.92em}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--tap-text-2xs);letter-spacing:var(--tap-tracking-wide);text-transform:uppercase;color:var(--tap-primary-deep);font-weight:700}.eyebrow--light{color:#ffffffb8}.link{color:var(--tap-primary-deep);text-underline-offset:2px;text-decoration:underline}.link:hover{color:var(--tap-primary-ink)}.req{color:var(--tap-danger)}hr{border:0;border-top:1px solid var(--tap-border);margin:var(--tap-sp-6) 0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.logo{min-height:var(--tap-tap-min);align-items:center;text-decoration:none;display:inline-flex}.logo:hover{text-decoration:none}.logo__img{width:auto;height:40px;display:block}.btn{min-height:var(--tap-tap-min);border-radius:var(--tap-radius-md);color:var(--tap-ink);font-size:var(--tap-text-sm);text-align:center;transition:background-color var(--tap-duration) var(--tap-ease), color var(--tap-duration) var(--tap-ease), box-shadow var(--tap-duration) var(--tap-ease), transform var(--tap-duration-fast) var(--tap-ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:650;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn:active{transform:scale(var(--tap-press-scale));transition-duration:var(--tap-duration-instant)}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--tap-primary);color:var(--tap-on-primary);box-shadow:var(--tap-shadow-primary)}.btn--primary:hover:not([disabled]){background:var(--tap-primary-hover);color:var(--tap-on-primary)}.btn--secondary{background:var(--tap-surface);border-color:var(--tap-border-strong);color:var(--tap-ink)}.btn--secondary:hover:not([disabled]){background:var(--tap-surface-2)}.btn--ghost{color:var(--tap-ink-2)}.btn--ghost:hover:not([disabled]){background:var(--tap-surface-2);color:var(--tap-ink)}.btn--danger{color:var(--tap-danger)}.btn--danger:hover:not([disabled]){background:var(--tap-danger-soft);color:var(--tap-danger-ink)}.btn--danger-solid{background:var(--tap-danger);color:var(--tap-on-secondary)}.btn--danger-solid:hover:not([disabled]){background:var(--tap-danger-ink)}.btn--dark{background:var(--tap-ink);color:var(--tap-on-secondary)}.btn--dark:hover:not([disabled]){background:var(--tap-secondary-hover);color:var(--tap-on-secondary)}.btn--lg{min-height:52px;font-size:var(--tap-text-md);border-radius:var(--tap-radius-lg);padding:14px 24px}.btn--sm{font-size:var(--tap-text-xs);padding:8px 14px}.btn--block{width:100%}.btn--icon{width:var(--tap-tap-min);min-width:var(--tap-tap-min);border-radius:var(--tap-radius-pill);padding:0}.btn--pill{border-radius:var(--tap-radius-pill)}.icon-btn{width:var(--tap-tap-min);height:var(--tap-tap-min);border-radius:var(--tap-radius-pill);color:var(--tap-ink-2);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-btn:hover{background:var(--tap-surface-2);color:var(--tap-ink)}.icon-btn--light{color:var(--tap-on-secondary)}.icon-btn--light:hover{color:var(--tap-on-secondary);background:#ffffff24}.field{flex-direction:column;gap:6px;display:flex}.field__label{font-size:var(--tap-text-sm);color:var(--tap-ink);font-weight:650}.field__hint,.field__error{font-size:var(--tap-text-xs);color:var(--tap-ink-3)}.field__error{color:var(--tap-danger-ink);align-items:center;gap:4px;display:inline-flex}.input,.select,.textarea{border:1px solid var(--tap-border-strong);border-radius:var(--tap-radius-md);background:var(--tap-surface);width:100%;min-height:48px;color:var(--tap-ink);font-size:var(--tap-text-md);transition:border-color var(--tap-duration) var(--tap-ease), box-shadow var(--tap-duration) var(--tap-ease);padding:11px 14px}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--tap-ink-2) 50%), linear-gradient(135deg, var(--tap-ink-2) 50%, transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-repeat:no-repeat;background-size:5px 5px;padding-right:38px}.input::placeholder,.textarea::placeholder{color:var(--tap-ink-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--tap-focus);box-shadow:0 0 0 var(--tap-focus-width) var(--tap-focus-halo);outline:none}.field--error .input,.field--error .select,.field--error .textarea{border-color:var(--tap-danger)}.field--error .input:focus,.field--error .select:focus,.field--error .textarea:focus{border-color:var(--tap-danger);box-shadow:0 0 0 var(--tap-focus-width) #b423182e}.textarea{resize:vertical;min-height:120px}.badge{border-radius:var(--tap-radius-pill);background:var(--tap-neutral-soft);color:var(--tap-ink-2);font-size:var(--tap-text-xs);white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-weight:700;line-height:1.35;display:inline-flex}.badge__dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge--success{background:var(--tap-success-soft);color:var(--tap-success-ink)}.badge--warning{background:var(--tap-warning-soft);color:var(--tap-warning-ink)}.badge--danger{background:var(--tap-danger-soft);color:var(--tap-danger-ink)}.badge--info{background:var(--tap-info-soft);color:var(--tap-info-ink)}.badge--primary{background:var(--tap-primary-soft);color:var(--tap-primary-ink)}.badge--secondary{background:var(--tap-secondary-soft);color:var(--tap-secondary)}.badge--dark{background:var(--tap-ink);color:var(--tap-on-secondary)}.tag{border-radius:var(--tap-radius-xs);background:var(--tap-surface-2);color:var(--tap-ink-2);font-size:var(--tap-text-xs);align-items:center;gap:4px;padding:2px 8px;font-weight:650;display:inline-flex}.tag--danger{background:var(--tap-danger-soft);color:var(--tap-danger-ink)}.card{background:var(--tap-surface);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);box-shadow:var(--tap-shadow-sm)}.panel{background:var(--tap-surface);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);padding:var(--tap-sp-6);box-shadow:var(--tap-shadow-sm)}.panel--soft{background:var(--tap-surface-2)}.panel--danger{border-color:var(--tap-danger-soft);background:var(--tap-danger-soft)}.panel__head{justify-content:space-between;align-items:center;gap:var(--tap-sp-3);margin-bottom:var(--tap-sp-4);flex-wrap:wrap;display:flex}.panel__title{font-size:var(--tap-text-lg)}.panel+.panel{margin-top:var(--tap-sp-4)}.avatar{background:var(--tap-primary-soft);width:40px;height:40px;color:var(--tap-primary-ink);font-size:var(--tap-text-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.avatar--sm{width:32px;height:32px;font-size:var(--tap-text-xs)}.avatar--light{color:var(--tap-on-secondary);background:#ffffff29}.empty-state{padding:var(--tap-sp-9) var(--tap-sp-6);border:1px dashed var(--tap-border-strong);border-radius:var(--tap-radius-lg);background:var(--tap-surface);text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.empty-state--inline{padding:var(--tap-sp-6) 0;background:0 0;border:0}.empty-state__icon{background:var(--tap-surface-2);width:64px;height:64px;color:var(--tap-ink-2);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.empty-state__title{font-size:var(--tap-text-lg)}.empty-state__text{max-width:42ch;color:var(--tap-ink-2);font-size:var(--tap-text-sm)}.empty-state__actions{gap:var(--tap-sp-2);margin-top:var(--tap-sp-2);flex-wrap:wrap;justify-content:center;display:flex}.error-state{gap:var(--tap-sp-3);padding:var(--tap-sp-4) var(--tap-sp-5);border:1px solid var(--tap-danger-soft);border-radius:var(--tap-radius-lg);background:var(--tap-danger-soft);color:var(--tap-danger-ink);display:flex}.error-state__icon{flex:none;margin-top:2px}.error-state__title{font-family:var(--tap-font-ui);font-size:var(--tap-text-sm);font-weight:700}.error-state__text{font-size:var(--tap-text-sm);color:var(--tap-danger-ink);margin-top:2px}.error-state__actions{margin-top:var(--tap-sp-3)}.error-state .btn--secondary{border-color:var(--tap-danger);color:var(--tap-danger-ink);background:0 0}.banner{border-radius:var(--tap-radius-md);font-size:var(--tap-text-sm);border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 16px;display:flex}.banner p{flex:1}.banner--warning{background:var(--tap-warning-soft);color:var(--tap-warning-ink);border-color:#8a5a002e}.banner--info{background:var(--tap-info-soft);color:var(--tap-info-ink)}.banner--success{background:var(--tap-success-soft);color:var(--tap-success-ink)}.banner--danger{background:var(--tap-danger-soft);color:var(--tap-danger-ink)}.demo-banner{background:var(--tap-warning-soft);color:var(--tap-warning-ink);font-size:var(--tap-text-xs);text-align:center;margin:0;padding:8px 16px;font-weight:600}.demo-caption{margin-top:var(--tap-sp-3);color:var(--tap-ink-3);font-size:var(--tap-text-xs)}.skeleton-stack{flex-direction:column;gap:10px;display:flex}.skeleton{border-radius:var(--tap-radius-sm);background:linear-gradient(90deg, var(--tap-surface-2) 25%, var(--tap-surface) 50%, var(--tap-surface-2) 75%);background-size:200% 100%;height:16px;animation:1.4s ease-in-out infinite tap-shimmer;display:block}.skeleton--line{height:14px}.skeleton--short{width:60%}.skeleton--title{width:40%;height:28px}.skeleton--card{border-radius:var(--tap-radius-lg);height:160px}.skeleton-grid{gap:var(--tap-sp-4);margin-top:var(--tap-sp-5);grid-template-columns:repeat(3,1fr);display:grid}.loading-panel{padding:var(--tap-sp-4) 0}@keyframes tap-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.progress{border-radius:var(--tap-radius-pill);background:var(--tap-border);height:8px;overflow:hidden}.progress--small{vertical-align:middle;width:90px;height:6px;margin-right:8px;display:inline-block}.progress__bar{border-radius:inherit;background:var(--tap-primary);height:100%;display:block}.kv-list{flex-direction:column;gap:0;display:flex}.kv-list>div{justify-content:space-between;align-items:baseline;gap:var(--tap-sp-4);border-bottom:1px solid var(--tap-border);font-size:var(--tap-text-sm);padding:9px 0;display:flex}.kv-list>div:last-child{border-bottom:0}.kv-list dt{color:var(--tap-ink-3)}.kv-list dd{text-align:right;font-weight:650}.kv-list--inline{gap:0 var(--tap-sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kv-list--inline>div{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.kv-list--inline dd{text-align:left}.checklist{margin:var(--tap-sp-4) 0;font-size:var(--tap-text-sm);flex-direction:column;gap:8px;display:flex}.checklist li{align-items:center;gap:8px;display:flex}.checklist__item--done svg{color:var(--tap-success)}.checklist__item--todo svg{color:var(--tap-warning)}.filter-tabs{border-bottom:1px solid var(--tap-border);scrollbar-width:thin;margin:var(--tap-sp-4) 0 var(--tap-sp-5);gap:4px;display:flex;overflow-x:auto}.filter-tabs__item{color:var(--tap-ink-2);font-size:var(--tap-text-sm);white-space:nowrap;min-height:var(--tap-tap-min);border-bottom:2px solid #0000;align-items:center;padding:10px 14px;font-weight:600;display:inline-flex}.filter-tabs__item:hover{color:var(--tap-ink);text-decoration:none}.filter-tabs__item--active{color:var(--tap-primary-ink);border-bottom-color:var(--tap-primary)}.segmented{border:1px solid var(--tap-border);border-radius:var(--tap-radius-pill);background:var(--tap-surface);margin:var(--tap-sp-3) 0;gap:4px;padding:4px;display:inline-flex}.segmented__item{min-height:var(--tap-tap-min);border-radius:var(--tap-radius-pill);color:var(--tap-ink-2);font-size:var(--tap-text-sm);align-items:center;gap:6px;padding:6px 14px;font-weight:650;display:inline-flex}.segmented__item:hover{background:var(--tap-surface-2);color:var(--tap-ink);text-decoration:none}.segmented__item--active{background:var(--tap-primary-soft);color:var(--tap-primary-ink)}.segmented__count{font-size:var(--tap-text-xs);font-variant-numeric:tabular-nums;opacity:.8}.table-wrap{border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);box-shadow:var(--tap-shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--tap-text-sm)}.data-table th{background:var(--tap-bg);border-bottom:1px solid var(--tap-border);color:var(--tap-ink-3);font-size:var(--tap-text-xs);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:10px 14px;font-weight:700}.data-table td{border-bottom:1px solid var(--tap-border);vertical-align:middle;padding:12px 14px}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--tap-bg)}.data-table .num{text-align:right}.cell-strong{font-weight:650;display:block}.cell-sub{display:block}.photo{border-radius:var(--tap-radius-md);color:#ffffffe6;isolation:isolate;justify-content:flex-start;align-items:flex-end;display:flex;position:relative;overflow:hidden}.photo:after{content:"";opacity:.5;z-index:-1;background-image:radial-gradient(#ffffff2e 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.photo--card{aspect-ratio:4/3}.photo--wide{aspect-ratio:16/9}.photo--square{aspect-ratio:1}.photo__mark{background:#ffffff61;position:absolute;inset:0;-webkit-mask:url(/brand/mark.svg) 50%/56px 56px no-repeat;mask:url(/brand/mark.svg) 50%/56px 56px no-repeat}.photo__label{border-radius:var(--tap-radius-xs);color:var(--tap-on-secondary);font-size:var(--tap-text-2xs);letter-spacing:.08em;text-transform:uppercase;background:#1f2a44b8;margin:10px;padding:3px 8px;font-weight:700;position:relative}.store-badges{flex-wrap:wrap;gap:10px;display:flex}.store-badge{border-radius:var(--tap-radius-md);background:var(--tap-ink);min-height:48px;color:var(--tap-on-secondary);flex-direction:column;justify-content:center;padding:6px 16px;line-height:1.15;text-decoration:none;display:inline-flex}.store-badge:hover{background:var(--tap-secondary-hover);color:var(--tap-on-secondary);text-decoration:none}.store-badge__small{font-size:var(--tap-text-2xs);letter-spacing:.06em;text-transform:uppercase;opacity:.8}.store-badge__big{font-size:var(--tap-text-sm);font-weight:700}.store-notice{border:1px dashed var(--tap-border-strong);border-radius:var(--tap-radius-md);color:var(--tap-ink-2);font-size:var(--tap-text-sm);align-items:center;gap:8px;padding:10px 14px;display:inline-flex}.breadcrumbs{padding:var(--tap-sp-4) 0 0;color:var(--tap-ink-3);font-size:var(--tap-text-xs);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.breadcrumbs a{color:var(--tap-ink-2)}.breadcrumbs [aria-current=page]{color:var(--tap-ink-3)}.dashboard-note{margin:0 0 var(--tap-sp-4);border-left:3px solid var(--tap-warning);background:var(--tap-warning-soft);border-radius:0 var(--tap-radius-sm) var(--tap-radius-sm) 0;color:var(--tap-warning-ink);font-size:var(--tap-text-sm);padding:10px 14px}.share-button{align-items:center;gap:8px;display:inline-flex}.error-page{min-height:100vh;padding:var(--tap-sp-8) var(--tap-sp-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.error-page__icon{background:var(--tap-surface-2);width:72px;height:72px;color:var(--tap-ink-2);margin-top:var(--tap-sp-4);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.error-page__icon--danger{background:var(--tap-danger-soft);color:var(--tap-danger-ink)}.error-page__title{font-size:var(--tap-text-2xl);max-width:26ch}.error-page__text{max-width:52ch;color:var(--tap-ink-2)}.error-page__actions{gap:var(--tap-sp-2);margin-top:var(--tap-sp-3);flex-wrap:wrap;justify-content:center;display:flex}.error-summary{gap:var(--tap-sp-3);padding:14px var(--tap-sp-4);border:1px solid var(--tap-danger);border-radius:var(--tap-radius-md);background:var(--tap-danger-soft);color:var(--tap-danger-ink);align-items:flex-start;display:flex}.error-summary:focus-visible{outline-offset:3px}.error-summary__icon{flex:none;margin-top:1px}.error-summary h2{font-family:var(--tap-font-ui);font-size:var(--tap-text-sm);font-weight:700}.error-summary ul{gap:var(--tap-sp-1);margin-top:6px;display:grid}.error-summary a{color:var(--tap-danger-ink);font-size:var(--tap-text-sm);text-underline-offset:2px}.modal{z-index:var(--tap-z-overlay);padding:var(--tap-sp-4);place-items:center;display:grid;position:fixed;inset:0}.modal__backdrop{animation:tap-fade-in var(--tap-duration) var(--tap-ease-out) both;background:#1f2a448c;position:absolute;inset:0}.modal__dialog{background:var(--tap-surface);border-radius:var(--tap-radius-xl);width:100%;max-width:460px;max-height:90vh;box-shadow:var(--tap-shadow-lg);padding:var(--tap-sp-5);animation:tap-modal-in var(--tap-duration-slow) var(--tap-ease-out) both;position:relative;overflow:auto}.modal__head{justify-content:space-between;align-items:flex-start;gap:var(--tap-sp-3);margin-bottom:var(--tap-sp-3);display:flex}.modal__title{font-size:var(--tap-text-xl)}.modal__text{color:var(--tap-ink-2);font-size:var(--tap-text-sm)}.modal__actions{gap:var(--tap-sp-2);margin-top:var(--tap-sp-5);flex-wrap:wrap;justify-content:flex-end;display:flex}.modal__actions form{display:contents}@keyframes tap-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tap-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@media (max-width:520px){.modal__actions{flex-direction:column;align-items:stretch}.modal__actions .btn{width:100%}.modal__dialog{max-width:358px}}.toast{left:50%;bottom:calc(88px + env(safe-area-inset-bottom));z-index:var(--tap-z-toast);align-items:center;gap:var(--tap-sp-3);background:var(--tap-brand-navy);max-width:min(440px,100vw - 24px);color:var(--tap-brand-cream);padding:var(--tap-sp-3) var(--tap-sp-4);border-radius:var(--tap-radius-md);box-shadow:var(--tap-shadow-lg);font-size:var(--tap-text-sm);animation:tap-toast-in var(--tap-duration-slow) var(--tap-ease-out) both;font-weight:550;line-height:1.4;display:flex;position:fixed;transform:translate(-50%)}.toast__icon{color:var(--tap-success-bright);flex:none}.toast--danger .toast__icon{color:var(--tap-danger-soft)}.toast__text{flex:1}.toast__action{min-height:var(--tap-tap-min);padding:var(--tap-sp-1) var(--tap-sp-2);color:var(--tap-brand-cream);background:0 0;border:0;font-weight:700;text-decoration:underline}.toast :focus-visible{outline-color:var(--tap-focus-inverse)}@keyframes tap-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.kpi{gap:var(--tap-sp-2);padding:14px var(--tap-sp-4);background:var(--tap-surface);border:1px solid var(--tap-border);border-radius:var(--tap-radius-md);display:grid}.kpi__head{justify-content:space-between;align-items:baseline;gap:var(--tap-sp-3);display:flex}.kpi__label{font-size:var(--tap-text-2xs);letter-spacing:var(--tap-tracking-wide);text-transform:uppercase;color:var(--tap-ink-3);font-weight:700}.kpi__value{font-family:var(--tap-font-display);font-size:var(--tap-text-xl);font-variant-numeric:tabular-nums;font-weight:650;line-height:1}.kpi__value small{font-family:var(--tap-font-ui);font-size:var(--tap-text-xs);color:var(--tap-ink-3);font-weight:600}.kpi__track{border-radius:var(--tap-radius-pill);background:var(--tap-surface-2);height:10px;position:relative;overflow:hidden}.kpi__fill{border-radius:inherit;background:var(--tap-primary);height:100%;display:block}.kpi__mark{background:var(--tap-ink);width:2px;position:absolute;top:-2px;bottom:-2px}.kpi__legend{justify-content:space-between;gap:var(--tap-sp-2);font-size:var(--tap-text-2xs);color:var(--tap-ink-3);font-variant-numeric:tabular-nums;display:flex}.kpi--over .kpi__fill{background:var(--tap-warning)}
.site-header{z-index:var(--tap-z-header);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--tap-border);background:#fff1e6f0;position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--tap-sp-6);min-height:72px;display:flex}.site-nav{align-items:center;gap:var(--tap-sp-5);margin-left:var(--tap-sp-4);display:none}.site-nav__link{color:var(--tap-ink-2);font-size:var(--tap-text-sm);padding:10px 2px;font-weight:600}.site-nav__link:hover{color:var(--tap-ink);text-decoration:none}.site-header__actions{align-items:center;gap:6px;margin-left:auto;display:flex}.site-header__login{display:none}@media (min-width:900px){.site-nav{display:flex}.site-header__login{display:inline-flex}}.hero{background:radial-gradient(1100px 500px at 80% -10%, #ff6b3529, transparent 60%), linear-gradient(180deg, var(--tap-bg) 0%, var(--tap-surface) 100%);position:relative;overflow:hidden}.hero__inner{gap:var(--tap-sp-8);padding:var(--tap-sp-8) 0 var(--tap-sp-10);display:grid}.hero__title{margin:var(--tap-sp-3) 0 var(--tap-sp-4);font-size:var(--tap-text-hero);letter-spacing:var(--tap-tracking-tight);line-height:1.03}.hero__lead{max-width:46ch;color:var(--tap-ink-2);font-size:var(--tap-text-lg)}.hero__checks{margin:var(--tap-sp-5) 0 0;color:var(--tap-ink-2);font-size:var(--tap-text-sm);flex-direction:column;gap:6px;display:flex}.hero__checks li{align-items:center;gap:8px;display:flex}.hero__checks svg{color:var(--tap-success);flex:none}.hero__visual{min-width:0;min-height:300px;padding:0 0 40px;position:relative}.hero__photo{aspect-ratio:auto;border-radius:var(--tap-radius-xl);width:100%;height:260px;box-shadow:var(--tap-shadow-lg)}.hero__float{border-radius:var(--tap-radius-pill);background:var(--tap-surface);box-shadow:var(--tap-shadow-md);font-size:var(--tap-text-sm);color:var(--tap-ink);align-items:center;gap:8px;padding:10px 14px;font-weight:600;display:inline-flex;position:absolute}.hero__float--top{top:-14px;right:8px}.hero__float--bottom{max-width:92%;bottom:8px;left:0}.hero__float-icon{background:var(--tap-success-soft);width:24px;height:24px;color:var(--tap-success-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (min-width:900px){.hero__inner{padding:var(--tap-sp-11) 0 var(--tap-sp-10);align-items:center;gap:var(--tap-sp-10);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.hero__visual{min-height:420px;padding:0}.hero__photo{height:400px}.hero__float--top{top:24px;right:-18px}.hero__float--bottom{bottom:28px;left:-28px}}.search-wrap{z-index:var(--tap-z-sticky);margin-top:calc(-1 * var(--tap-sp-6));position:relative}.search-form{gap:var(--tap-sp-3);padding:var(--tap-sp-4);background:var(--tap-surface);border:1px solid var(--tap-border);border-radius:var(--tap-radius-xl);box-shadow:var(--tap-shadow-md);grid-template-columns:1fr;display:grid}.search-form__submit{min-height:52px}@media (min-width:720px){.search-form{padding:var(--tap-sp-5);align-items:end;gap:var(--tap-sp-4);grid-template-columns:repeat(2,minmax(0,1fr)) auto}.search-form__submit{grid-column:1/-1}}@media (min-width:1024px){.search-form{grid-template-columns:1.2fr .9fr .7fr .8fr auto}.search-form__submit{grid-column:auto;min-height:48px}}.page{padding-bottom:var(--tap-sp-10)}.page__head{padding:var(--tap-sp-6) 0 var(--tap-sp-5)}.page__title{font-size:var(--tap-text-3xl)}.page__lead{color:var(--tap-ink-2);margin-top:6px}.section{padding:var(--tap-sp-9) 0 0;margin-bottom:var(--tap-sp-2)}.section__head{justify-content:space-between;align-items:flex-end;gap:var(--tap-sp-4);margin-bottom:var(--tap-sp-5);flex-wrap:wrap;display:flex}.section__title{font-size:var(--tap-text-2xl)}.section__lead{color:var(--tap-ink-2);font-size:var(--tap-text-sm);margin-top:4px}.resto-grid{gap:var(--tap-sp-4);grid-template-columns:1fr;display:grid}@media (min-width:640px){.resto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.resto-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.resto-grid--results{margin-top:var(--tap-sp-5)}.resto-card{background:var(--tap-surface);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);box-shadow:var(--tap-shadow-sm);transition:transform var(--tap-duration) var(--tap-ease), box-shadow var(--tap-duration) var(--tap-ease);overflow:hidden}.resto-card:hover{box-shadow:var(--tap-shadow-md);transform:translateY(-2px)}.resto-card__link{color:inherit;text-decoration:none;display:block}.resto-card__link:hover{text-decoration:none}.resto-card__photo{border-radius:0}.resto-card__body{padding:var(--tap-sp-4)}.resto-card__top{justify-content:space-between;align-items:flex-start;gap:var(--tap-sp-3);display:flex}.resto-card__name{font-size:var(--tap-text-lg)}.resto-card__meta{color:var(--tap-ink-3);font-size:var(--tap-text-sm);margin-top:3px}.resto-card__cta{margin-top:var(--tap-sp-3);color:var(--tap-primary-deep);font-size:var(--tap-text-sm);align-items:center;gap:6px;font-weight:650;display:inline-flex}.resto-card__link:hover .resto-card__cta{color:var(--tap-primary-ink)}.steps{gap:var(--tap-sp-4);margin-top:var(--tap-sp-5);counter-reset:step;grid-template-columns:1fr;display:grid}.step{padding:var(--tap-sp-5);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface)}.step__number{width:30px;height:30px;margin-bottom:var(--tap-sp-3);background:var(--tap-primary-soft);color:var(--tap-primary-ink);font-weight:700;font-size:var(--tap-text-sm);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.step__title{font-size:var(--tap-text-lg);margin-bottom:4px}.step p{color:var(--tap-ink-2);font-size:var(--tap-text-sm)}@media (min-width:900px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.resto-band{gap:var(--tap-sp-6);padding:var(--tap-sp-7);border-radius:var(--tap-radius-xl);background:var(--tap-secondary);color:var(--tap-on-secondary);display:grid}.resto-band__title{margin:var(--tap-sp-2) 0 var(--tap-sp-3);color:var(--tap-on-secondary);font-size:var(--tap-text-2xl);max-width:22ch}.resto-band p{color:#ffffffd1;max-width:52ch}.resto-band__stats{gap:var(--tap-sp-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.resto-band__value{color:var(--tap-on-secondary);font-family:var(--tap-font-display);font-size:var(--tap-text-2xl);display:block}.resto-band__label{color:#ffffffb3;font-size:var(--tap-text-xs);margin-top:2px;line-height:1.35;display:block}.resto-band .btn{justify-self:start}@media (min-width:1024px){.resto-band{padding:var(--tap-sp-8);grid-template-columns:1.2fr 1fr auto;align-items:center}.resto-band__stats{gap:var(--tap-sp-3);grid-template-columns:1fr}}.trust-grid{gap:var(--tap-sp-4);margin-top:var(--tap-sp-5);grid-template-columns:1fr;display:grid}.trust-card{padding:var(--tap-sp-5);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface)}.trust-card svg{color:var(--tap-primary-deep);margin-bottom:var(--tap-sp-2)}.trust-card h3{font-size:var(--tap-text-lg);margin-bottom:4px}.trust-card p{color:var(--tap-ink-2);font-size:var(--tap-text-sm)}@media (min-width:900px){.trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.contact-band{align-items:center;gap:var(--tap-sp-3);margin-top:var(--tap-sp-8);padding:var(--tap-sp-4) var(--tap-sp-5);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);font-size:var(--tap-text-sm);color:var(--tap-ink-2);flex-wrap:wrap;display:flex}.contact-band p{flex:1;min-width:220px}.site-footer{margin-top:var(--tap-sp-10);background:var(--tap-bg-deep);border-top:1px solid var(--tap-border)}.site-footer__inner{gap:var(--tap-sp-7);padding:var(--tap-sp-8) 0 var(--tap-sp-6);display:grid}.site-footer__tagline{margin-top:var(--tap-sp-3);max-width:34ch;color:var(--tap-ink-2);font-size:var(--tap-text-sm)}.site-footer__columns{gap:var(--tap-sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-footer__title{font-family:var(--tap-font-ui);font-size:var(--tap-text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--tap-ink-3);margin-bottom:var(--tap-sp-2);font-weight:700}.site-footer__list{font-size:var(--tap-text-sm);flex-direction:column;gap:6px;display:flex}.site-footer__list a{color:var(--tap-ink-2)}.site-footer__legal{justify-content:space-between;gap:var(--tap-sp-2);padding:var(--tap-sp-4) 0;border-top:1px solid var(--tap-border);color:var(--tap-ink-3);font-size:var(--tap-text-xs);flex-wrap:wrap;display:flex}@media (min-width:900px){.site-footer__inner{grid-template-columns:1.1fr 1.4fr}.site-footer__columns{grid-template-columns:repeat(3,minmax(0,1fr))}}.resto-page{padding-bottom:var(--tap-sp-10)}.resto-head{justify-content:space-between;align-items:flex-end;gap:var(--tap-sp-4);padding:var(--tap-sp-5) 0 var(--tap-sp-5);flex-wrap:wrap;display:flex}.resto-head__badges{align-items:center;gap:var(--tap-sp-2);flex-wrap:wrap;margin-bottom:6px;display:flex}.resto-head__meta{color:var(--tap-ink-3);font-size:var(--tap-text-sm)}.resto-head__title{font-size:var(--tap-text-3xl)}.resto-head__sub{color:var(--tap-ink-2);font-size:var(--tap-text-sm);margin-top:6px}.resto-gallery{margin-bottom:var(--tap-sp-7);grid-template-columns:1fr;gap:10px;display:grid}.resto-gallery>:not(:first-child){display:none}.resto-gallery__main{aspect-ratio:auto;width:100%;height:260px}@media (min-width:900px){.resto-gallery{grid-template-rows:repeat(2,185px);grid-template-columns:2fr 1fr}.resto-gallery>.photo{aspect-ratio:auto;width:100%;height:100%}.resto-gallery__main{grid-row:span 2;height:100%}.resto-gallery>:not(:first-child){display:flex}}.resto-layout{gap:var(--tap-sp-7);display:grid}.resto-content{min-width:0}.resto-section{margin-bottom:var(--tap-sp-7);scroll-margin-top:calc(var(--tap-header-h) + var(--tap-sp-6))}.resto-section__head{justify-content:space-between;align-items:baseline;gap:var(--tap-sp-3);flex-wrap:wrap;display:flex}.resto-section__title{font-size:var(--tap-text-xl);margin-bottom:var(--tap-sp-3)}.resto-description{color:var(--tap-ink-2);max-width:68ch}.resto-tabs{gap:var(--tap-sp-5);border-bottom:1px solid var(--tap-border);margin-bottom:var(--tap-sp-5);display:flex}.resto-tabs__item{color:var(--tap-ink-2);font-size:var(--tap-text-sm);border-bottom:2px solid #0000;padding:10px 2px;font-weight:600}.resto-tabs__item--active{color:var(--tap-primary-ink);border-bottom-color:var(--tap-primary)}.resto-aside{min-width:0}@media (min-width:1024px){.resto-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.resto-aside{top:calc(var(--tap-header-h) + var(--tap-sp-6));position:sticky}}.booking-card{padding:var(--tap-sp-5);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);box-shadow:var(--tap-shadow-md)}.booking-card__head{justify-content:space-between;align-items:center;gap:var(--tap-sp-2);display:flex}.booking-card__title{font-size:var(--tap-text-xl)}.booking-card__text{margin:var(--tap-sp-3) 0;color:var(--tap-ink-2);font-size:var(--tap-text-sm)}.booking-card__hint{color:var(--tap-ink-3);font-size:var(--tap-text-xs);text-align:center;margin-top:8px}.booking-card__checklist{margin:var(--tap-sp-4) 0;padding-top:var(--tap-sp-4);border-top:1px solid var(--tap-border);color:var(--tap-ink-2);font-size:var(--tap-text-sm);flex-direction:column;gap:6px;display:flex}.booking-card__checklist li{align-items:center;gap:8px;display:flex}.booking-card__checklist svg{color:var(--tap-success);flex:none}.booking-card__notice{margin-top:var(--tap-sp-3);border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);color:var(--tap-ink-2);font-size:var(--tap-text-xs);align-items:center;gap:8px;padding:10px;display:flex}.booking-card__info{margin-top:var(--tap-sp-4);padding-top:var(--tap-sp-4);border-top:1px solid var(--tap-border);font-size:var(--tap-text-xs);color:var(--tap-ink-2)}.booking-card__info-title{font-family:var(--tap-font-ui);font-size:var(--tap-text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--tap-ink-3);margin-bottom:4px;font-weight:700}.info-card{margin-top:var(--tap-sp-4);padding:var(--tap-sp-5);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface)}.info-card__title{font-size:var(--tap-text-lg);margin-bottom:var(--tap-sp-3)}.info-card__list{flex-direction:column;display:flex}.info-card__list>div{justify-content:space-between;gap:var(--tap-sp-3);border-bottom:1px solid var(--tap-border);font-size:var(--tap-text-sm);padding:8px 0;display:flex}.info-card__list>div:last-child{border-bottom:0}.info-card__list dt{color:var(--tap-ink-3)}.info-card__list dd{text-align:right;font-weight:600}.info-card .btn{margin-top:var(--tap-sp-3)}.info-grid{gap:var(--tap-sp-6);display:grid}.info-grid__title{font-family:var(--tap-font-ui);font-size:var(--tap-text-sm);margin-bottom:var(--tap-sp-2);font-weight:700}.info-grid__title--spaced{margin-top:var(--tap-sp-5)}.info-grid p{color:var(--tap-ink-2);font-size:var(--tap-text-sm);margin-bottom:6px}@media (min-width:720px){.info-grid{grid-template-columns:1fr 1fr}}.hours-table{border-collapse:collapse;width:100%;font-size:var(--tap-text-sm)}.hours-table th,.hours-table td{border-bottom:1px solid var(--tap-border);vertical-align:top;text-align:left;padding:8px 0}.hours-table tr:last-child th,.hours-table tr:last-child td{border-bottom:0}.hours-table th{width:42%;font-weight:600}.hours-table__row--today th,.hours-table__row--today td{background:var(--tap-primary-soft);padding-inline:var(--tap-sp-2);border-radius:var(--tap-radius-xs)}.hours-table__today{font-size:var(--tap-text-2xs);text-transform:uppercase;letter-spacing:var(--tap-tracking-wide);color:var(--tap-primary-ink);margin-left:6px;font-weight:700;display:inline-block}.hours-table__slot{font-variant-numeric:tabular-nums;color:var(--tap-ink-2);display:block}.today-hours{font-variant-numeric:tabular-nums}.menu-section{gap:var(--tap-sp-6);flex-direction:column;display:flex}.menu-category__head{align-items:baseline;gap:var(--tap-sp-3);margin-bottom:var(--tap-sp-2);flex-wrap:wrap;display:flex}.menu-category__title{font-size:var(--tap-text-lg)}.menu-category__desc{color:var(--tap-ink-3);font-size:var(--tap-text-xs)}.menu-list{flex-direction:column;display:flex}.menu-item{padding:var(--tap-sp-4) 0;border-bottom:1px solid var(--tap-border)}.menu-item:last-child{border-bottom:0}.menu-item--unavailable{opacity:.62}.menu-item__title-row{justify-content:space-between;align-items:baseline;gap:var(--tap-sp-4);display:flex}.menu-item__name{font-family:var(--tap-font-ui);font-size:var(--tap-text-md);font-weight:650}.menu-item__price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.menu-item__desc{color:var(--tap-ink-2);font-size:var(--tap-text-sm);margin-top:2px}.menu-item__tags{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.menu-item__allergens{color:var(--tap-ink-3);font-size:var(--tap-text-xs);align-items:center;gap:4px;display:inline-flex}.menu-note{padding:var(--tap-sp-3) var(--tap-sp-4);border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);color:var(--tap-ink-2);font-size:var(--tap-text-xs)}
.dash{background:var(--tap-bg);min-height:100vh;display:block}.dash__main{min-width:0;padding-bottom:calc(74px + env(safe-area-inset-bottom))}.dash__content{padding:var(--tap-sp-4) var(--tap-sp-4) var(--tap-sp-9)}.dash__content>*+*{margin-top:var(--tap-sp-4)}.dash-side{background:var(--tap-secondary);color:var(--tap-on-secondary);padding:22px var(--tap-sp-4);display:none}.dash-nav__list{flex-direction:column;gap:2px;display:flex}.dash-nav__link{min-height:var(--tap-tap-min);border-radius:var(--tap-radius-md);color:#ffffffc7;font-size:var(--tap-text-sm);align-items:center;gap:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.dash-nav__link svg{opacity:.9;flex:none}.dash-nav__link:hover{color:var(--tap-on-secondary);background:#ffffff14;text-decoration:none}.dash-nav__link--active{color:var(--tap-on-secondary);background:#ffffff21}.dash-nav__count{border-radius:var(--tap-radius-pill);background:var(--tap-primary);min-width:20px;height:20px;color:var(--tap-on-primary);font-size:var(--tap-text-2xs);justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-weight:700;display:inline-flex}.dash-resto{border-radius:var(--tap-radius-md);background:#ffffff12;border:1px solid #ffffff1f;padding:10px 12px}.dash-resto__name{font-size:var(--tap-text-sm);font-weight:700}.dash-resto__meta{color:#ffffff9e;font-size:var(--tap-text-xs);margin-top:2px}.dash-side__footer{padding-top:var(--tap-sp-4);border-top:1px solid #ffffff24;margin-top:auto}.dash-side__demo{color:#fff9;font-size:var(--tap-text-2xs);margin-bottom:10px;line-height:1.35}.dash-user{align-items:center;gap:9px;display:flex}.dash-user__text{flex-direction:column;flex:1;min-width:0;display:flex}.dash-user__name{color:var(--tap-on-secondary);font-size:var(--tap-text-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.dash-user__role{color:#ffffff8c;font-size:var(--tap-text-xs)}.mobile-appbar{z-index:var(--tap-z-header);align-items:center;gap:var(--tap-sp-3);min-height:60px;padding:var(--tap-sp-2) var(--tap-sp-4);background:var(--tap-secondary);color:var(--tap-on-secondary);display:flex;position:sticky;top:0}.mobile-appbar .logo__img{height:34px}.mobile-appbar__resto{color:#ffffffbf;min-width:0;font-size:var(--tap-text-xs);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tabbar{z-index:var(--tap-z-header);background:var(--tap-surface);border-top:1px solid var(--tap-border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #1f2a440f}.tabbar__item{min-height:62px;color:var(--tap-ink-3);font-size:var(--tap-text-2xs);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-weight:600;text-decoration:none;display:flex}.tabbar__item:hover{color:var(--tap-ink);text-decoration:none}.tabbar__item--active{color:var(--tap-primary-deep)}.tabbar-more{position:relative}.tabbar-more__summary{cursor:pointer;height:100%;list-style:none}.tabbar-more__summary::-webkit-details-marker{display:none}.tabbar-more[open]>.tabbar-more__summary{color:var(--tap-primary-deep)}.tabbar-more__panel{left:12px;right:12px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:var(--tap-z-overlay);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);box-shadow:var(--tap-shadow-lg);flex-direction:column;padding:8px;display:flex;position:fixed}.tabbar-more__link{min-height:var(--tap-tap-min);border-radius:var(--tap-radius-sm);color:var(--tap-ink);font-size:var(--tap-text-sm);align-items:center;gap:10px;padding:10px 12px;font-weight:600;display:flex}.tabbar-more__link:hover{background:var(--tap-surface-2);text-decoration:none}.tabbar-more__link--active{background:var(--tap-primary-soft);color:var(--tap-primary-ink)}.tabbar-more__button{text-align:left;width:100%;color:var(--tap-danger-ink);background:0 0;border:0}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--tap-sp-4);margin-bottom:var(--tap-sp-4);flex-wrap:wrap;display:flex}.page-header__pretitle{color:var(--tap-ink-3);font-size:var(--tap-text-xs);margin-bottom:2px}.page-header__title-row{align-items:center;gap:var(--tap-sp-3);flex-wrap:wrap;display:flex}.page-header__title{font-size:var(--tap-text-2xl)}.page-header__subtitle{color:var(--tap-ink-2);font-size:var(--tap-text-sm);margin-top:3px}.page-header__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.page-header__actions .btn{white-space:nowrap}.stats-grid{gap:var(--tap-sp-3);margin:var(--tap-sp-4) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stat-card{padding:var(--tap-sp-4);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);box-shadow:var(--tap-shadow-sm)}.stat-card__top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.stat-card__value{font-family:var(--tap-font-display);font-size:var(--tap-text-2xl);font-variant-numeric:tabular-nums;line-height:1.1}.stat-card__icon{color:var(--tap-ink-3)}.stat-card__label{color:var(--tap-ink-2);font-size:var(--tap-text-xs);margin-top:4px;display:block}.stat-card__hint{color:var(--tap-ink-3);font-size:var(--tap-text-2xs);margin-top:2px;display:block}.date-bar{margin:var(--tap-sp-4) 0 var(--tap-sp-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.date-bar__current{font-weight:650;font-size:var(--tap-text-sm);padding:0 8px}.date-bar__days{gap:var(--tap-sp-1);width:100%;margin-top:var(--tap-sp-1);scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:2px;display:flex;overflow-x:auto}.date-bar__days::-webkit-scrollbar{display:none}.date-chip{min-width:46px;min-height:52px;padding:var(--tap-sp-1) var(--tap-sp-2);border:1px solid var(--tap-border);border-radius:var(--tap-radius-md);background:var(--tap-surface);color:var(--tap-ink-2);scroll-snap-align:start;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:0;text-decoration:none;display:flex}.date-chip span{font-size:var(--tap-text-2xs);text-transform:capitalize}.date-chip strong{font-size:var(--tap-text-sm);font-variant-numeric:tabular-nums}.date-chip:hover{border-color:var(--tap-border-strong);text-decoration:none}.date-chip--active{background:var(--tap-primary);border-color:var(--tap-primary);color:var(--tap-on-primary)}.segmented{max-width:100%;overflow-x:auto}.planning-layout{gap:var(--tap-sp-4);align-items:start;display:grid}.planning-board{gap:var(--tap-sp-3);flex-direction:column;min-width:0;display:flex}.service-group{border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);box-shadow:var(--tap-shadow-sm);overflow:hidden}.service-group__head{justify-content:space-between;align-items:center;gap:var(--tap-sp-2);background:var(--tap-bg);border-bottom:1px solid var(--tap-border);color:var(--tap-ink-3);font-size:var(--tap-text-2xs);letter-spacing:var(--tap-tracking-wide);text-transform:uppercase;padding:9px 14px;font-weight:700;display:flex}.service-group__count{letter-spacing:.02em;text-transform:none;font-weight:600}.planning-row{border-bottom:1px solid var(--tap-border);grid-template-columns:46px minmax(0,1fr) auto;grid-template-areas:"time main status""time actions actions";align-items:center;gap:4px 10px;padding:12px 14px;display:grid}.planning-row:last-child{border-bottom:0}.planning-row--seated{background:var(--tap-success-soft)}.planning-row--no_show{background:var(--tap-danger-soft)}.planning-row__time{font-weight:700;font-size:var(--tap-text-sm);font-variant-numeric:tabular-nums;grid-area:time;align-self:start;padding-top:1px}.planning-row__main{flex-direction:column;grid-area:main;min-width:0;display:flex}.planning-row__name{font-size:var(--tap-text-sm);font-weight:650}.planning-row__meta{color:var(--tap-ink-3);font-size:var(--tap-text-xs);margin-top:1px}.planning-row__table{display:none}.planning-row__status{grid-area:status;justify-self:end}.planning-row__actions{grid-area:actions;justify-content:flex-end;align-items:center;gap:4px;margin-top:4px;display:flex}.planning-row__state{color:var(--tap-success-ink);font-size:var(--tap-text-xs);padding:0 4px;font-weight:650}.planning-note{border-radius:var(--tap-radius-md);background:var(--tap-surface-2);color:var(--tap-ink-2);font-size:var(--tap-text-xs);align-items:flex-start;gap:8px;padding:10px 14px;display:flex}.planning-note svg{flex:none;margin-top:1px}.reservation-panel{border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);padding:var(--tap-sp-4);box-shadow:var(--tap-shadow-sm)}.reservation-panel--empty{color:var(--tap-ink-2);align-items:flex-start;gap:10px;display:flex}.reservation-panel__head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.reservation-panel__name{font-family:var(--tap-font-ui);font-size:var(--tap-text-md);font-weight:700}.reservation-panel__code{color:var(--tap-ink-3);font-size:var(--tap-text-xs)}.reservation-panel__facts{margin:var(--tap-sp-4) 0}.reservation-panel__facts>div{border-bottom:1px solid var(--tap-border);font-size:var(--tap-text-sm);justify-content:space-between;gap:10px;padding:8px 0;display:flex}.reservation-panel__facts dt{color:var(--tap-ink-3)}.reservation-panel__facts dd{text-align:right;font-weight:650}.reservation-panel__note{border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);color:var(--tap-ink-2);font-size:var(--tap-text-xs);margin-bottom:var(--tap-sp-3);gap:6px;padding:10px;display:flex}.reservation-panel__actions{flex-direction:column;gap:8px;display:flex}.reservation-panel__secondary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.reservation-panel__hint{color:var(--tap-ink-3);font-size:var(--tap-text-2xs);margin-top:10px;line-height:1.4}.reservation-cards,.table-cards{flex-direction:column;gap:10px;display:flex}.reservation-card,.table-card{padding:var(--tap-sp-3) var(--tap-sp-4);border:1px solid var(--tap-border);border-radius:var(--tap-radius-md);background:var(--tap-surface)}.reservation-card__head,.table-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.reservation-card__time{font-variant-numeric:tabular-nums;font-weight:700}.reservation-card__name{margin-top:2px;font-weight:650}.reservation-card__meta{color:var(--tap-ink-2);font-size:var(--tap-text-xs)}.reservation-card__ref{margin-top:2px}.table-card__label{font-weight:700}.table-card__meta{color:var(--tap-ink-3);font-size:var(--tap-text-xs);margin-top:2px}.table-wrap{display:none}.menu-summary{margin-bottom:var(--tap-sp-4);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.menu-summary__item{border:1px solid var(--tap-border);border-radius:var(--tap-radius-md);background:var(--tap-surface);padding:12px 14px}.menu-summary__value{font-family:var(--tap-font-display);font-size:var(--tap-text-xl);line-height:1.1;display:block}.menu-summary__label{color:var(--tap-ink-3);font-size:var(--tap-text-xs)}.menu-page-list{padding:var(--tap-sp-4) var(--tap-sp-5);border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface)}.fiche-layout{gap:var(--tap-sp-4);display:grid}.fiche-grid{gap:var(--tap-sp-4);grid-template-columns:1fr;display:grid}.fiche-grid>div{min-width:0}.fiche-grid dt{color:var(--tap-ink-3);font-size:var(--tap-text-xs);margin-bottom:3px;font-weight:600}.fiche-grid dd{font-size:var(--tap-text-sm);font-weight:600}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.photo-add{border:1px dashed var(--tap-border-strong);border-radius:var(--tap-radius-md);background:var(--tap-bg);min-height:120px;color:var(--tap-ink-3);font-size:var(--tap-text-xs);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-weight:600;display:flex}.completion__score{font-family:var(--tap-font-display);font-size:var(--tap-text-2xl);align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.progress{margin-bottom:var(--tap-sp-3)}.completion-inline{font-size:var(--tap-text-sm);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.split-layout{gap:var(--tap-sp-4);display:grid}.service-cards{flex-direction:column;gap:10px;display:flex}.service-card{padding:var(--tap-sp-4);border:1px solid var(--tap-border);border-radius:var(--tap-radius-md);background:var(--tap-bg)}.service-card__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.service-card__title{font-family:var(--tap-font-ui);font-size:var(--tap-text-md);font-weight:700}.service-card__meta{color:var(--tap-ink-2);font-size:var(--tap-text-xs);margin:2px 0 8px}.settings-actions{margin-top:var(--tap-sp-3);flex-wrap:wrap;gap:8px;display:flex}.admin{background:var(--tap-bg);min-height:100vh}.admin-bar{align-items:center;gap:var(--tap-sp-4);padding:10px var(--tap-sp-4);background:var(--tap-secondary-hover);color:var(--tap-on-secondary);flex-wrap:wrap;display:flex}.admin-bar__left{align-items:center;gap:12px;display:flex}.admin-bar__label{border-radius:var(--tap-radius-pill);color:#fffc;font-size:var(--tap-text-2xs);letter-spacing:var(--tap-tracking-wide);text-transform:uppercase;border:1px solid #ffffff3d;padding:3px 10px;font-weight:700}.admin-bar__nav{margin-left:var(--tap-sp-4);align-items:center;gap:4px;display:flex}.admin-bar__link{border-radius:var(--tap-radius-sm);color:#ffffffbf;font-size:var(--tap-text-sm);min-height:var(--tap-tap-min);align-items:center;padding:8px 12px;font-weight:600;display:inline-flex}.admin-bar__link:hover{color:var(--tap-on-secondary);background:#ffffff1a;text-decoration:none}.admin-bar__link--active{color:var(--tap-on-secondary);background:#ffffff24}.admin-bar__link--disabled{opacity:.5;cursor:not-allowed}.admin-bar__right{align-items:center;gap:8px;margin-left:auto;display:flex}.admin-bar__user{color:#fffc;font-size:var(--tap-text-xs);display:none}.admin__content{padding:var(--tap-sp-4) var(--tap-sp-4) var(--tap-sp-9)}.admin-cards{margin-top:0}.admin-cell-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-actions{display:inline-flex}.admin-actions__buttons{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{margin:0 0 var(--tap-sp-4);border:1px solid var(--tap-border);border-radius:var(--tap-radius-md);background:var(--tap-surface);font-size:var(--tap-text-sm);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;display:flex}.pager{justify-content:space-between;align-items:center;gap:var(--tap-sp-3);margin-top:var(--tap-sp-4);display:flex}.pager__status{color:var(--tap-ink-2);font-size:var(--tap-text-sm)}.pager .is-disabled{opacity:.5;pointer-events:none}@media (min-width:640px){.dash__content,.admin__content{padding-inline:var(--tap-sp-5)}.stats-grid,.menu-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.fiche-grid{grid-template-columns:1fr 1fr}.fiche-grid__full{grid-column:1/-1}.photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-bar__user{display:inline}}@media (max-width:899px){.reservation-cards,.table-cards{display:flex}}@media (min-width:900px){.reservation-cards,.table-cards{display:none}.table-wrap{display:block}.reservation-cards{display:none}.planning-row{grid-template-columns:56px minmax(0,1fr) 76px 120px 132px;grid-template-areas:"time main table status actions";gap:12px;padding:12px 16px}.planning-row__table{color:var(--tap-ink-3);font-size:var(--tap-text-xs);grid-area:table;display:block}.planning-row__actions{margin-top:0}.split-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}@media (max-width:1023px){.planning-layout{grid-template-columns:1fr}.reservation-panel{display:none}}@media (min-width:1024px){.dash{grid-template-columns:244px minmax(0,1fr);display:grid}.dash-side{flex-direction:column;gap:22px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.dash__main{padding-bottom:0}.dash__content{padding:var(--tap-sp-5) var(--tap-sp-6) var(--tap-sp-9)}.mobile-appbar,.tabbar{display:none}.planning-layout{grid-template-columns:minmax(0,1fr) 340px}.reservation-panel{display:block}.fiche-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.fiche-aside .panel+.panel{margin-top:var(--tap-sp-4)}.admin__content{padding:var(--tap-sp-6) var(--tap-sp-7) var(--tap-sp-10)}}@media (min-width:1280px){.planning-layout{grid-template-columns:minmax(0,1fr) 360px}}.view-switch{margin:var(--tap-sp-4) 0 0;border:1px solid var(--tap-border);border-radius:var(--tap-radius-pill);background:var(--tap-surface);gap:4px;padding:4px;display:inline-flex}.view-switch__item{min-height:var(--tap-tap-min);border-radius:var(--tap-radius-pill);color:var(--tap-ink-2);font-size:var(--tap-text-sm);align-items:center;gap:6px;padding:6px 18px;font-weight:650;display:inline-flex}.view-switch__item:hover{background:var(--tap-surface-2);color:var(--tap-ink);text-decoration:none}.view-switch__item--active{background:var(--tap-primary-soft);color:var(--tap-primary-ink)}.view-switch+.date-bar{margin-top:var(--tap-sp-2)}.planning-week{margin-top:var(--tap-sp-4)}.week-table tbody th[scope=row],.week-table tfoot th[scope=row]{border-bottom:1px solid var(--tap-border);color:var(--tap-ink);font-size:var(--tap-text-sm);letter-spacing:0;text-transform:none;white-space:nowrap;background:0 0;padding:12px 14px;font-weight:700}.week-table tfoot th[scope=row],.week-table tfoot td{background:var(--tap-bg);border-top:1px solid var(--tap-border-strong);border-bottom:0;font-weight:700}.week-table tbody tr:last-child th[scope=row]{border-bottom:1px solid var(--tap-border)}.week-row--today th[scope=row],.week-row--today td{background:var(--tap-primary-soft)}.week-day{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.week-day__label{text-transform:capitalize}.week-day__action{text-align:right}.week-bar{border-radius:var(--tap-radius-pill);background:var(--tap-surface-2);width:100%;min-width:72px;height:8px;display:block;overflow:hidden}.week-bar__fill{border-radius:inherit;background:var(--tap-primary-deep);height:100%;display:block}.week-cards{gap:var(--tap-sp-2);margin:var(--tap-sp-4) 0 0;flex-direction:column;padding:0;list-style:none;display:none}.week-card{border:1px solid var(--tap-border);border-radius:var(--tap-radius-lg);background:var(--tap-surface);box-shadow:var(--tap-shadow-sm);overflow:hidden}.week-card--today{border-color:var(--tap-primary)}.week-card__link{min-height:var(--tap-tap-min);color:var(--tap-ink);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.week-card__link:hover{background:var(--tap-surface-2);text-decoration:none}.week-card__head{align-items:center;gap:8px;display:flex}.week-card__day{flex:1;font-weight:700}.week-card__badges{gap:6px;display:inline-flex}.week-card__stats{color:var(--tap-ink-2);font-size:var(--tap-text-xs);flex-wrap:wrap;gap:4px 14px;display:flex}.week-card__stats strong{color:var(--tap-ink);font-variant-numeric:tabular-nums}.week-bar--card{height:6px}@media (max-width:899px){.week-cards{display:flex}}.planning-row{grid-template-areas:"time main status""time actions actions""feedback feedback feedback"}.planning-row__feedback{grid-area:feedback}.planning-row__feedback:empty{display:none}.reservation-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.reservation-status-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.reservation-status-actions--inline{flex-flow:wrap;align-items:center;gap:8px}.reservation-status-actions .reservation-actions{justify-content:flex-start}.reservation-panel__buttons{flex-direction:column;align-items:stretch}.reservation-panel__buttons .btn{width:100%}.inline-alert{border:1px solid var(--tap-danger);border-radius:var(--tap-radius-md);background:var(--tap-danger-soft);color:var(--tap-danger-ink);font-size:var(--tap-text-xs);flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:8px 10px;display:flex}.inline-alert svg{flex:none}.inline-ok{color:var(--tap-success-ink);font-size:var(--tap-text-sm);align-items:center;gap:6px;margin:0;font-weight:650;display:inline-flex}.editor-toolbar{justify-content:space-between;align-items:center;gap:var(--tap-sp-3);margin-bottom:var(--tap-sp-4);flex-wrap:wrap;display:flex}.editor-toolbar__summary{color:var(--tap-ink-2);font-size:var(--tap-text-sm);margin:0;font-weight:600}.row-actions{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.form-grid{gap:var(--tap-sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid__full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:var(--tap-sp-2);margin-top:var(--tap-sp-4);display:flex}.check-field{min-height:var(--tap-tap-min);font-size:var(--tap-text-sm);color:var(--tap-ink);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check-field input{width:18px;height:18px;accent-color:var(--tap-primary)}.check-row{gap:var(--tap-sp-3);flex-wrap:wrap;display:flex}.check-grid{gap:0 var(--tap-sp-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.weekday-picker{gap:4px var(--tap-sp-3);flex-wrap:wrap;display:flex}fieldset.field{border:0;min-width:0;margin:0;padding:0}.dialog-form{gap:var(--tap-sp-3);flex-direction:column;max-height:min(62vh,520px);padding-right:2px;display:flex;overflow-y:auto}.publish-block,.hours-editor{gap:var(--tap-sp-2);flex-direction:column;display:flex}.hours-editor__legend{gap:var(--tap-sp-3);color:var(--tap-ink-3);font-size:var(--tap-text-2xs);letter-spacing:var(--tap-tracking-wide);text-transform:uppercase;grid-template-columns:120px minmax(0,1fr) auto;padding:0 2px 4px;font-weight:700;display:grid}.hours-editor__days{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.hours-editor__day{align-items:start;gap:var(--tap-sp-3);border-bottom:1px solid var(--tap-border);grid-template-columns:120px minmax(0,1fr) auto;padding:8px 2px;display:grid}.hours-editor__day:last-child{border-bottom:0}.hours-editor__name{font-weight:650;font-size:var(--tap-text-sm);padding-top:12px}.hours-editor__ranges{flex-direction:column;gap:6px;min-width:0;display:flex}.hours-editor__range{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.input--time{width:auto;min-width:116px;min-height:44px}.hours-editor__footer{align-items:center;gap:var(--tap-sp-3);margin-top:var(--tap-sp-3);flex-wrap:wrap;display:flex}.menu-editor{gap:var(--tap-sp-4);flex-direction:column;display:flex}.menu-category__head--editable,.menu-item--editable{justify-content:space-between;align-items:flex-start;gap:var(--tap-sp-3);flex-wrap:wrap;display:flex}.menu-item--editable .row-actions{align-self:center}.reservation-card__badge{justify-content:flex-end;display:inline-flex}@media (max-width:899px){.form-grid{grid-template-columns:minmax(0,1fr)}.hours-editor__legend{display:none}.hours-editor__day{grid-template-columns:minmax(0,1fr);gap:6px}.hours-editor__name{padding-top:0}.reservation-status-actions{align-items:stretch}}
.auth{background:var(--tap-bg);grid-template-columns:1fr;min-height:100vh;display:grid}.auth__brand{gap:var(--tap-sp-6);padding:var(--tap-sp-6) var(--tap-sp-5);background:var(--tap-secondary);color:var(--tap-on-secondary);flex-direction:column;display:flex}.auth__pitch{max-width:46ch}.auth__title{margin:var(--tap-sp-2) 0 var(--tap-sp-3);color:var(--tap-on-secondary);font-size:var(--tap-text-3xl)}.auth__lead{color:#ffffffd1;font-size:var(--tap-text-md)}.auth__checks{margin-top:var(--tap-sp-5);color:#ffffffd9;font-size:var(--tap-text-sm);flex-direction:column;gap:8px;display:flex}.auth__checks li{align-items:center;gap:8px;display:flex}.auth__checks svg{color:var(--tap-success-bright);flex:none}.auth__back{color:#ffffffb8;font-size:var(--tap-text-sm);min-height:var(--tap-tap-min);align-items:center;gap:6px;margin-top:auto;display:inline-flex}.auth__back:hover{color:var(--tap-on-secondary)}.auth__panel{justify-content:center;align-items:center;gap:var(--tap-sp-4);padding:var(--tap-sp-6) var(--tap-sp-4) var(--tap-sp-8);flex-direction:column;display:flex}.auth__card{width:min(440px,100%);padding:var(--tap-sp-6);border:1px solid var(--tap-border);border-radius:var(--tap-radius-xl);background:var(--tap-surface);box-shadow:var(--tap-shadow-md)}.auth__eyebrow{color:var(--tap-ink-3);font-size:var(--tap-text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.auth__form-title{font-size:var(--tap-text-2xl);margin-top:4px}.auth__form-lead{margin:6px 0 var(--tap-sp-5);color:var(--tap-ink-2);font-size:var(--tap-text-sm)}.auth-form{gap:var(--tap-sp-4);flex-direction:column;display:flex}.auth-form .banner{margin-bottom:0}.auth__forgot{text-align:center;line-height:1.45}.auth__help{margin-top:var(--tap-sp-4);padding-top:var(--tap-sp-4);border-top:1px solid var(--tap-border);color:var(--tap-ink-2);font-size:var(--tap-text-xs);text-align:center}.auth__demo{margin-top:var(--tap-sp-4);padding:var(--tap-sp-3) var(--tap-sp-4);border:1px dashed var(--tap-border-strong);border-radius:var(--tap-radius-md);background:var(--tap-warning-soft);color:var(--tap-warning-ink);font-size:var(--tap-text-xs)}.auth__demo strong{font-size:var(--tap-text-sm);margin-bottom:4px;display:block}.auth__demo code{font-family:var(--tap-font-mono);border-radius:var(--tap-radius-xs);background:#ffffff8c;padding:1px 4px;font-size:.95em}.auth__demo p{line-height:1.5}.auth__demo p+p{margin-top:6px}.auth__legal{max-width:440px;color:var(--tap-ink-3);font-size:var(--tap-text-2xs);text-align:center;line-height:1.5}@media (min-width:900px){.auth{grid-template-columns:1fr 1fr}.auth__brand{padding:var(--tap-sp-8) var(--tap-sp-9)}.auth__panel{padding:var(--tap-sp-8) var(--tap-sp-6)}}@media (min-width:1280px){.auth{grid-template-columns:1.05fr 1fr}}
