:root{--ink:#22201d;--muted:#706a61;--cream:#fffaf0;--paper:#fff;--line:#e9e0d3;--green:#235347;--lime:#dff26c;--red:#b54535;color:var(--ink);background:var(--cream);font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}.site-shell,.legal-shell{flex-direction:column;min-height:100vh;display:flex}.home{text-align:center;flex:1;place-items:center;padding:2rem 1.25rem;display:grid}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem max(1.25rem,50vw - 460px);font-size:.84rem;display:flex}.site-footer nav{flex-wrap:wrap;gap:1rem;display:flex}.legal-header{background:var(--paper);border-bottom:1px solid var(--line);padding:1.15rem max(1.25rem,50vw - 380px)}.legal-page{flex:1;width:100%;max-width:760px;margin:0 auto;padding:4rem 1.25rem 5rem}.legal-page h1{max-width:680px}.legal-intro{color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:1.5rem;font-size:1.08rem;line-height:1.6}.legal-intro p:last-child{margin-bottom:0}.effective-date{font-size:.9rem;font-weight:700}.legal-content{gap:.75rem;display:grid}.legal-content section{padding-top:1.75rem}.legal-content h2{letter-spacing:-.02em;margin-bottom:.7rem;font-size:1.25rem}.legal-content p,.legal-content li{color:#514d46;line-height:1.7}.legal-content ul,.legal-content ol{margin:0;padding-left:1.4rem}.legal-content li+li{margin-top:.4rem}.legal-content a,.site-footer a{text-underline-offset:.2em;-webkit-text-decoration:underline #23534755;text-decoration:underline #23534755}.legal-footer{width:100%}button,input,summary{font:inherit}button,.button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.25rem;font-weight:750}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green);font-weight:700;text-decoration:none}h1{letter-spacing:-.05em;margin:.5rem 0 1rem;font-size:clamp(2rem,8vw,3.4rem);line-height:1.02}h2,p{margin-top:0}.eyebrow{color:var(--green);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:850}.lead{color:var(--muted);margin-bottom:2rem;font-size:1.08rem;line-height:1.55}.onboarding{min-height:100vh}.onboarding-head{background:var(--paper);justify-content:space-between;align-items:center;padding:1.15rem max(1.25rem,50vw - 340px);display:flex}.logo{color:var(--ink);font-size:1.4rem}.logo span{color:var(--lime)}.progress{background:var(--line);height:4px}.progress span{background:var(--green);height:100%;transition:width .25s;display:block}.wizard{max-width:680px;margin:0 auto;padding:3rem 1.25rem 7rem}.form-grid,.wizard{gap:1rem;display:grid}label,fieldset,.field-block{gap:.5rem;font-size:.88rem;font-weight:750;display:grid}input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:14px;outline:none;padding:.92rem 1rem}input:focus{border-color:var(--green);box-shadow:0 0 0 3px #23534718}input:disabled{color:var(--muted);background:#f2eee6}.same-number{color:var(--green);align-items:center;gap:.65rem;display:flex}.same-number input{width:1.15rem;height:1.15rem;accent-color:var(--green)}.inline,.dish{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}details{border:1px solid var(--line);background:#fff;border-radius:16px;padding:1rem}details[open]{gap:1rem;display:grid}summary{cursor:pointer;font-weight:750}fieldset{border:0;margin:1.25rem 0;padding:0}legend{margin-bottom:.75rem}.chips{flex-wrap:wrap;gap:.55rem;display:flex}.chip{color:var(--ink);border:1px solid var(--line);background:#fff;padding:.65rem .9rem}.chip.selected{background:var(--lime);color:var(--ink);border-color:#bed13c}.autocomplete{position:relative}.autocomplete-results{z-index:20;border:1px solid var(--line);background:#fff;border-radius:16px;max-height:16rem;padding:.4rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto;box-shadow:0 18px 45px #264f421f}.autocomplete-results button{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:11px;padding:.75rem .85rem}.autocomplete-results button:hover,.autocomplete-results button:focus-visible{background:var(--cream)}.autocomplete-results small{color:var(--muted);padding:.8rem}.wizard-actions{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffefaf2;justify-content:flex-end;gap:.75rem;padding:1rem max(1.25rem,50vw - 340px);display:flex;position:fixed;bottom:0;left:0;right:0}.secondary{color:var(--green);border:1px solid var(--green);background:#fff}.future-options{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.5rem;display:grid}.future-options button{color:var(--muted);background:#eee9df;border-radius:16px;gap:.25rem;display:grid}.import-card,.hours-tools,.maps-prefill{border:1px solid var(--line);background:#fff;border-radius:18px;gap:.8rem;margin-bottom:1.25rem;padding:1rem;display:grid}.import-card button,.hours-tools button,.maps-prefill button{justify-self:start}.import-card small,.hours-tools small,.maps-prefill small{color:var(--muted);line-height:1.45}.maps-prefill{margin-bottom:.5rem}.maps-found{color:var(--green);background:#eef7d3;border-radius:14px;margin:0;padding:.85rem;font-weight:750;line-height:1.4}.future-options small{font-weight:500}.menu-card,.panel,.restaurant-card{border:1px solid var(--line);background:#fff;border-radius:20px;padding:1.15rem}.menu-card{gap:.75rem;display:grid}.text-button{color:var(--green);background:0 0;width:max-content;padding:.35rem}.wide{width:100%}.hours{gap:.75rem;display:grid}.day{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:2.5rem 1fr;align-items:center;gap:.7rem;padding:1rem;display:grid}.switch{grid-area:1/2;justify-self:end;align-items:center;gap:.4rem;display:flex}.switch input{width:auto}.time-row{grid-column:1/-1;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;display:grid}.day .text-button{grid-column:1/-1}.notice{background:#eef4d0;border-radius:16px;padding:1rem}.review-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:1.1rem 0;display:flex}.review-row small,.restaurant-card small{color:var(--muted)}.review-row p{margin:.25rem 0}.error{color:var(--red);font-weight:700}.success{text-align:center;max-width:550px;margin:15vh auto;padding:2rem}.success>span{background:var(--lime);border-radius:50%;place-items:center;width:64px;height:64px;margin:0 auto 1.5rem;font-size:2rem;display:grid}.admin-login{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.admin-login .panel{max-width:430px}.admin-login form{gap:1rem;display:grid}.admin-shell{max-width:980px;margin:auto;padding:2rem 1.25rem 5rem}.admin-shell>header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.restaurant-list{gap:1rem;display:grid}.restaurant-title,.actions{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.restaurant-title h2{margin-bottom:.2rem}.restaurant-title p{color:var(--muted)}.status{white-space:nowrap;color:#555;text-transform:uppercase;background:#eee;border-radius:999px;padding:.35rem .6rem;font-size:.72rem;font-weight:800}.status.active{color:#18573e;background:#dcefe6}.status.pending_review{color:#745800;background:#fff0ba}.meter{background:#eee;border-radius:10px;height:6px;margin:.5rem 0;overflow:hidden}.meter span{background:var(--green);height:100%;display:block}.actions{align-items:center;margin-top:1.2rem}.actions form{margin:0}.actions button{padding:.55rem .9rem}.review-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.review-grid small{color:var(--muted);font-weight:800}.review-grid p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.35rem 0}@media (max-width:520px){.site-footer{flex-direction:column;align-items:flex-start}.legal-page{padding-top:2.75rem}.inline,.dish,.future-options{grid-template-columns:1fr}.wizard{padding-top:2.2rem}.day{grid-template-columns:2.5rem 1fr}.restaurant-title{display:grid}.admin-shell>header{align-items:flex-end}.review-grid{grid-template-columns:1fr}}
.admin-edit{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.admin-edit h2,.admin-edit button{grid-column:1/-1}.admin-edit button{justify-self:start}@media (max-width:520px){.admin-edit{grid-template-columns:1fr}}
