:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, monospace;--color-text-primary: #1a1a1a;--color-text-secondary: #5c5c5c;--color-text-tertiary: #8a8a8a;--color-text-success: #166534;--color-background-primary: #ffffff;--color-background-secondary: #f4f4f5;--color-background-tertiary: #ececee;--color-background-success: #dcfce7;--color-border-primary: #1a1a1a;--color-border-secondary: #d4d4d8;--color-border-tertiary: #e4e4e7;--color-error: #b91c1c}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text-primary)}.page{background:var(--color-background-tertiary);min-height:100vh;padding:32px 16px;display:flex;justify-content:center}.page--embed{min-height:0;padding:12px 8px;background:transparent}.card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:16px;width:100%;max-width:480px;overflow:visible}.card-media-banner{line-height:0;width:100%;padding:0;border-bottom:.5px solid var(--color-border-tertiary)}.card-media-banner-frame{width:100%;aspect-ratio:5 / 2;overflow:hidden;border-radius:16px 16px 0 0}.card-media-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.hero{padding:36px 32px 28px;border-bottom:.5px solid var(--color-border-tertiary)}.hero-row{display:flex;align-items:center;gap:14px}.hero-mark{width:42px;height:42px;border-radius:10px;background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.restaurant-name{font-size:22px;font-weight:500;letter-spacing:-.3px;color:var(--color-text-primary)}.restaurant-sub{font-size:13px;color:var(--color-text-secondary);margin-top:4px}.restaurant-address{font-size:13px;color:var(--color-text-secondary);line-height:1.5;margin-top:10px;white-space:pre-line}.restaurant-contact{font-size:13px;color:var(--color-text-secondary);margin-top:8px;line-height:1.5}.restaurant-contact a{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px}.restaurant-contact a:hover{color:var(--color-text-primary)}.steps{display:flex;gap:0;padding:0 32px;border-bottom:.5px solid var(--color-border-tertiary)}.step-btn{flex:1;padding:14px 0;font-size:12px;color:var(--color-text-tertiary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;letter-spacing:.02em}.step-btn.active{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary);font-weight:500}.step-btn.done{color:var(--color-text-secondary)}.step-btn:disabled{cursor:default;opacity:.5}.body{padding:28px 32px 32px}.field{margin-bottom:20px}.label{font-size:12px;color:var(--color-text-secondary);margin-bottom:6px;display:block;font-weight:500;letter-spacing:.03em}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:8px 16px;border:.5px solid var(--color-border-secondary);border-radius:20px;font-size:13px;cursor:pointer;background:var(--color-background-primary);color:var(--color-text-secondary);transition:all .12s;white-space:nowrap;font-family:inherit}.pill:hover{border-color:var(--color-border-primary);color:var(--color-text-primary)}.pill.sel{background:var(--color-text-primary);color:var(--color-background-primary);border-color:var(--color-text-primary)}.pill:disabled{opacity:.45;cursor:default}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.day-hd{font-size:10px;color:var(--color-text-tertiary);text-align:center;padding:4px 0;font-weight:500}.day{position:relative;padding:8px 2px;text-align:center;font-size:13px;border-radius:8px;cursor:pointer;border:none;background:none;color:var(--color-text-primary);transition:all .12s;font-family:inherit}.day:hover:not(.empty):not(.past){background:var(--color-background-secondary)}.day.sel{background:var(--color-text-primary);color:var(--color-background-primary);font-weight:500}.day.past{color:var(--color-text-tertiary);cursor:default}.day.empty{cursor:default}.day.load-quiet:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--color-text-tertiary);opacity:.22}.day.load-moderate:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--color-text-tertiary);opacity:.38}.day.load-busy:after{content:"";position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--color-text-tertiary);opacity:.55}.cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-nav span{font-size:14px;font-weight:500}.nav-btn{background:none;border:.5px solid var(--color-border-secondary);border-radius:8px;padding:4px 10px;cursor:pointer;color:var(--color-text-secondary);font-size:14px;font-family:inherit}.nav-btn:disabled{opacity:.35;cursor:default}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.time-slot{padding:10px 6px;border:.5px solid var(--color-border-secondary);border-radius:10px;font-size:13px;text-align:center;cursor:pointer;background:var(--color-background-primary);color:var(--color-text-secondary);transition:all .12s;font-family:inherit}.time-slot:hover:not(.full){border-color:var(--color-border-primary);color:var(--color-text-primary)}.time-slot.sel,.time-slot.sel:hover:not(.full){background:var(--color-text-primary);color:var(--color-background-primary);border-color:var(--color-text-primary)}.time-slot.full{color:var(--color-text-tertiary);text-decoration:line-through;cursor:default;opacity:.5}.time-slot.slot-quiet{border-style:dashed}.time-slot.slot-busy{opacity:.92}.inp{width:100%;padding:10px 14px;border:.5px solid var(--color-border-secondary);border-radius:10px;font-size:14px;background:var(--color-background-primary);color:var(--color-text-primary);transition:border-color .12s;outline:none;font-family:inherit}.inp:focus{border-color:var(--color-border-primary)}.inp-error{border-color:var(--color-error)}.inp-error:focus{border-color:var(--color-error)}.field-error{font-size:12px;color:var(--color-error);margin-top:4px}.textarea{resize:none;height:80px;line-height:1.5}.policy{background:var(--color-background-secondary);border-radius:10px;padding:14px;font-size:12px;color:var(--color-text-secondary);line-height:1.6;margin-bottom:20px}.policy strong{color:var(--color-text-primary);font-weight:500}.btn-row{display:flex;gap:10px;margin-top:4px}.btn{flex:1;padding:13px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .12s;font-family:inherit}.btn-primary{background:var(--color-text-primary);color:var(--color-background-primary);border:none}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:active:not(:disabled){transform:scale(.99)}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{background:none;border:.5px solid var(--color-border-secondary);color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){border-color:var(--color-border-primary);color:var(--color-text-primary)}.summary-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:.5px solid var(--color-border-tertiary);font-size:14px;gap:12px}.summary-row:last-child{border-bottom:none}.summary-row span:first-child{color:var(--color-text-secondary);flex-shrink:0}.summary-row span:last-child{font-weight:500;text-align:right}.success{text-align:center;padding:20px 0}.tick{width:48px;height:48px;border-radius:50%;background:var(--color-background-success);display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px}.tick svg{width:22px;height:22px;stroke:var(--color-text-success)}.ref{font-family:var(--font-mono);font-size:13px;color:var(--color-text-secondary);background:var(--color-background-secondary);padding:6px 14px;border-radius:8px;display:inline-block;margin:8px 0 16px}.section-title{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:14px}.avail-legend{display:flex;flex-wrap:wrap;gap:12px 14px;margin-bottom:14px;font-size:11px;color:var(--color-text-tertiary);align-items:center}.avail-legend span{display:flex;align-items:center;gap:4px}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.banner{font-size:13px;color:var(--color-error);margin-bottom:16px;line-height:1.5}.banner--muted{color:var(--color-text-secondary)}.recaptcha-notice{font-size:11px;line-height:1.5;color:var(--color-text-tertiary);text-align:center;margin-top:12px}.recaptcha-notice a{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:2px}.recaptcha-notice a:hover{color:var(--color-text-primary)}.spinner{font-size:13px;color:var(--color-text-tertiary);margin-bottom:12px}.label-optional{font-weight:400;color:var(--color-text-tertiary)}.when-wrapper{position:relative}.when-row{display:flex;gap:10px}.when-trigger{flex:1;display:flex;align-items:center;gap:8px;border:.5px solid var(--color-border-secondary);border-radius:10px;padding:10px 12px;background:var(--color-background-primary);font-size:14px;font-family:inherit;color:var(--color-text-secondary);cursor:pointer;transition:all .12s}.when-trigger:hover:not(:disabled){border-color:var(--color-border-primary);color:var(--color-text-primary)}.when-trigger.active{border-color:var(--color-text-primary);color:var(--color-text-primary)}.when-trigger:disabled{opacity:.5;cursor:default}.when-trigger span{flex:1;text-align:left}.when-icon,.when-chevron{flex-shrink:0;color:var(--color-text-tertiary)}.when-backdrop{position:fixed;inset:0;z-index:9}.when-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:10;padding:16px;border:.5px solid var(--color-border-secondary);border-radius:12px;background:var(--color-background-primary);box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f;animation:panel-in .15s ease-out}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.policy-cards{display:flex;gap:10px;margin-top:16px}.policy-cards .policy{flex:1;margin-bottom:0}
