:root{--ink:#0f1c24;--paper:#eef3f1;--paper-card:#f7faf8;--teal:#0f6e6a;--teal-deep:#0a524f;--amber:#c4a35a;--line:rgba(15,28,36,0.12);--shadow:0 14px 36px rgba(15,28,36,0.12)}*{box-sizing:border-box}.admin-shell{margin:0;min-height:100dvh;background:linear-gradient(180deg,#14303a 0,var(--ink) 55%,#0a141a 100%);color:var(--paper);font-family:var(--font-body),system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{justify-content:space-between;gap:1rem;padding:.85rem 1.25rem;border-bottom:1px solid rgba(238,243,241,.1);background:#14303a;position:-webkit-sticky;position:sticky;top:0;z-index:30}.brand-lockup,.topbar{display:flex;align-items:center}.brand-lockup{gap:.75rem}.brand-lockup img{width:36px;height:36px}.brand-lockup strong{font-family:var(--font-display),serif;font-size:1.25rem}.brand-lockup span{display:block;font-size:.75rem;opacity:.65}.nav-toggle{display:none;background:transparent;color:var(--paper);border:1px solid rgba(238,243,241,.25);border-radius:4px;padding:.5rem .85rem;font-weight:600;margin-left:auto}.nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.nav a{padding:.45rem .75rem;border-radius:3px;border:1px solid transparent;font-size:.9rem;font-weight:500}.nav a.is-active,.nav a:hover{border-color:rgba(238,243,241,.2);background:rgba(238,243,241,.08)}.main{flex:1 1;width:min(960px,100%);margin:0 auto;padding:1.25rem}.panel{background:var(--paper-card);color:var(--ink);border-radius:6px;box-shadow:var(--shadow);padding:1.15rem}.panel h1,.panel h2{font-family:var(--font-display),serif;margin:0 0 .75rem}.muted{opacity:.7;font-size:.92rem}.field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.8rem}.field label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.field input,.field select{border:1px solid var(--line);border-radius:4px;padding:.65rem .75rem;background:#fff;color:var(--ink)}.btn{border:none;border-radius:4px;padding:.65rem .95rem;font-weight:600}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:var(--teal-deep)}.btn-ghost{background:transparent;color:var(--paper);border:1px solid rgba(238,243,241,.25)}.panel .btn-ghost{color:var(--ink);border-color:var(--line)}.btn-danger{background:#c44b16;color:#fff}.btn-danger:hover{background:#9a3610}.btn:disabled{opacity:.5;cursor:not-allowed}.error{background:#f8d7cb;color:#8b1e0e;border-radius:4px;padding:.65rem .75rem;margin-bottom:.85rem}.alert-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:0 1.25rem;padding:.65rem .85rem;background:#f4e6d4;border:1px solid #d4a574;border-radius:4px;color:#5c3a1e;font-size:.92rem}.alert-banner .muted{opacity:.75}.alert-banner .btn-ghost{color:#5c3a1e;border-color:rgba(92,58,30,.35)}.alert-banner .btn-ghost:hover{background:rgba(92,58,30,.08)}.print-agent-badge{display:inline-flex;align-items:center;gap:.4rem;margin-left:.75rem;padding:.28rem .65rem;border-radius:4px;font-size:.8rem;font-weight:600;text-decoration:none;border:1px solid transparent;white-space:nowrap}.print-agent-badge.is-live{color:#1a5c2e;background:#e4f3e8;border-color:#8fbf9a}.print-agent-badge.is-off{color:#6b3a12;background:#f5ebe0;border-color:#d4b896}.print-agent-dot{width:.55rem;height:.55rem;border-radius:50%;background:currentColor;flex-shrink:0}.print-agent-badge.is-live .print-agent-dot{box-shadow:0 0 0 2px rgba(26,92,46,.2)}.login-stage{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(420px,100%)}.login-card .logo-row{display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem}.login-card .logo-row img{width:48px;height:48px}.login-card h1{margin:0;font-family:var(--font-display),serif}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:800px){.grid-2{grid-template-columns:1fr}}@media (max-width:960px){.topbar{flex-wrap:wrap;align-items:center}.nav-toggle{display:inline-flex;align-items:center}.nav{display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;gap:.25rem;padding-top:.35rem}.nav.is-open{display:flex}.nav .btn,.nav a{width:100%;text-align:left}.table{min-width:36rem}}.table{width:100%;border-collapse:collapse;font-size:.92rem}.panel{overflow-x:auto}.table td,.table th{text-align:left;padding:.55rem .35rem;border-bottom:1px solid var(--line)}.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.6rem;gap:.6rem;align-items:end}.form-row .field{margin-bottom:0}.stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem;margin-top:.75rem}.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65}.stat-value{font-family:var(--font-display),serif;font-size:1.45rem;margin-top:.15rem}.cred-list{display:grid;grid-gap:.65rem;gap:.65rem;margin:0 0 1rem}.cred-list div{display:grid;grid-gap:.15rem;gap:.15rem}.cred-list dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.cred-list dd{margin:0}.cred-list code{font-size:.95rem}.admin-shell{--ink:#243c35;--paper:#f6f7f2;--paper-card:#fff;--teal:#235b45;--teal-deep:#174330;--amber:#cf663e;--line:#dfe5dc;--shadow:0 4px 20px rgb(30 54 43/4%);background:var(--paper);color:var(--ink)}.admin-shell :is(a,button,input,select):focus-visible{outline:3px solid #b95730;outline-offset:3px}.admin-shell a,.admin-shell button{-webkit-tap-highlight-color:transparent}.admin-shell .main{width:min(1200px,100%);padding:2rem 2.5rem 3rem}.admin-shell .main>h1{margin:0 0 .5rem;font-size:2rem;letter-spacing:-.04em}.admin-shell .panel{border:1px solid var(--line);border-radius:12px;padding:1.4rem}.admin-shell .panel h2{font-size:1.3rem}.admin-shell .field label{text-transform:none;letter-spacing:0;font-size:.85rem}.admin-shell .field :is(input,select){border-radius:7px;min-height:42px}.admin-shell .btn{border-radius:7px;transition:background .15s,box-shadow .15s}.admin-shell .btn-ghost,.admin-shell .btn-secondary{color:var(--ink);border:1px solid var(--line);background:white}.admin-shell .btn-ghost:hover,.admin-shell .btn-secondary:hover{background:#edf2eb}.admin-shell .table th{background:#f4f6f1;padding:.8rem .65rem}.admin-shell .table td{padding:.85rem .65rem}.admin-shell .table tbody tr:hover{background:#fafbf8}.admin-shell .alert-banner{margin-top:1rem}.admin-header{background:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:30;box-shadow:0 2px 8px rgb(28 53 42/3%)}.admin-topbar{gap:1.5rem;padding:1rem 2.5rem;border-bottom:1px solid var(--line);min-height:80px}.admin-brand,.admin-topbar{display:flex;align-items:center}.admin-brand{gap:.65rem;flex-shrink:0}.admin-brand img,.login-brand img{object-fit:contain}.admin-brand strong{font-size:1.5rem;letter-spacing:-.06em}.admin-brand-tag{font-size:.62rem;font-weight:600;letter-spacing:.09em;border:1px solid #d7dfd5;border-radius:4px;padding:.25rem .4rem;margin-left:.1rem;color:#5a7062}.admin-workspace{display:flex;align-items:center;gap:.5rem;padding-left:1.5rem;border-left:1px solid var(--line);font-size:.82rem;color:#617068;min-width:0}.admin-workspace span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.admin-utilities{display:flex;align-items:center;gap:1.25rem;margin-left:auto}.admin-utilities .print-agent-badge{margin:0;font-size:.7rem;border-radius:20px;padding:.4rem .65rem;max-width:220px;overflow:hidden}.admin-profile{display:flex;align-items:center;gap:.6rem}.admin-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e8eee2;color:#446047;font-weight:600}.admin-profile-name{font-size:.8rem;max-width:140px;overflow:hidden;text-overflow:ellipsis}.admin-profile-name small{display:block;font-size:.68rem;color:#728076;margin-top:.15rem}.admin-signout{border:0;background:transparent;color:#69796f;padding:.6rem;display:flex;border-radius:7px}.admin-signout:hover{background:#f1f3ed;color:#234e38}.admin-primary-nav{display:flex;gap:1.5rem;padding:0 2.5rem;border-bottom:1px solid var(--line)}.admin-nav-link{display:flex;align-items:center;gap:.55rem;padding:1rem .45rem;font-size:.87rem;font-weight:500;color:#65756b;position:relative;white-space:nowrap}.admin-nav-link svg{width:18px;height:18px}.admin-nav-link:hover{color:#235b45;background:#f8faf5}.admin-nav-link.is-active{color:#235b45;font-weight:600}.admin-nav-link.is-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background:#cf663e}.admin-secondary-nav{display:flex;align-items:center;gap:.45rem;padding:.7rem 2.5rem;background:#fafbf8;min-height:55px}.admin-section-label{font-size:.72rem;color:#768176;padding-right:1rem;margin-right:.4rem;border-right:1px solid var(--line)}.admin-secondary-nav a{font-size:.78rem;padding:.4rem .75rem;border-radius:6px;color:#617068;white-space:nowrap}.admin-secondary-nav a:hover{background:#edf1e7}.admin-secondary-nav a.is-active{background:#e5edde;color:#2d533d;font-weight:600}.admin-mobile-links,.admin-nav-toggle{display:none}.admin-login{display:grid;grid-template-columns:1.04fr 1fr;min-height:100dvh;background:#fbfbf7}.login-story{display:flex;flex-direction:column;padding:2.6rem 3.7rem 1.8rem;background:#183e30;color:#f9faef;overflow:hidden;position:relative}.login-story:after{content:"";pointer-events:none;position:absolute;width:520px;height:520px;border:1px solid #ffffff09;border-radius:50%;bottom:-370px;left:-170px;box-shadow:0 0 0 65px #ffffff03,0 0 0 130px #ffffff03}.login-brand{display:flex;align-items:center;gap:.8rem;width:-moz-fit-content;width:fit-content}.login-brand>span{font-size:1.6rem;font-weight:600;letter-spacing:-.055em}.login-brand small{display:block;font-size:.53rem;letter-spacing:.18em;color:#b5c6b4;margin-top:.2rem;font-weight:500}.login-story-content{margin:auto 0;padding:3.5rem 0;max-width:510px}.login-eyebrow{display:flex;align-items:center;gap:.6rem;font-size:.62rem;letter-spacing:.18em;color:#b8c9b6;font-weight:500}.login-eyebrow>span{width:6px;height:6px;background:#d99469;border-radius:50%}.login-story h1{font-family:var(--font-display),Georgia,serif;font-weight:500;font-size:clamp(2.5rem,3.8vw,3.75rem);line-height:1.17;letter-spacing:-.045em;margin:1.3rem 0}.login-story h1 em{color:#e6b28c;font-weight:500}.login-story-content>p{font-size:.9rem;color:#bacbbf;line-height:1.8}.restaurant-illustration{border-radius:12px;background:#f2f3e9;margin:2.7rem 1.7rem 2.5rem 0;color:#274b3b;box-shadow:0 15px 45px #06231840;transform:rotate(-2deg);position:relative}.illustration-heading{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem;border-bottom:1px solid #dce2d3;font-size:.7rem}.illustration-heading>span:first-child{display:flex;align-items:center;gap:.5rem;font-weight:600}.illustration-heading svg{width:15px;height:15px}.illustration-dots{letter-spacing:.12em;color:#82977d}.illustration-body{display:flex}.illustration-sidebar{display:flex;flex-direction:column;gap:1.4rem;padding:1.2rem .9rem;border-right:1px solid #dce2d3;color:#80937a}.illustration-sidebar svg{width:15px;height:15px}.illustration-sidebar svg:nth-child(2){color:#c8653e}.floor-preview{flex:1 1;padding:1.2rem 1.4rem 1.4rem}.floor-preview-heading{display:flex;justify-content:space-between;align-items:center;font-size:.76rem;font-weight:600}.floor-preview-heading small{font-size:.45rem;letter-spacing:.12em;color:#7a8f75}.floor-tables{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.7rem;gap:1.7rem;padding:1.65rem .5rem}.floor-table{display:grid;place-items:center;position:relative;height:40px;border:1px solid #c3d0b8;background:#e0e7d6;border-radius:8px;font-size:.61rem;color:#637a58}.floor-table:after,.floor-table:before{content:"";position:absolute;height:5px;width:22px;background:#c3d0b8;border-radius:3px;left:calc(50% - 11px)}.floor-table:before{top:-9px}.floor-table:after{bottom:-9px}.floor-table.table-2,.floor-table.table-4{background:#2c5b43;color:#f0f3e7;border-color:#2c5b43}.floor-table.table-6{background:#ecd2b9;border-color:#d7ba9a;color:#906244}.floor-legend{display:flex;align-items:center;gap:.35rem;font-size:.55rem;color:#798a70}.floor-legend>span{width:5px;height:5px;background:#608957;border-radius:50%}.illustration-note{display:flex;align-items:center;gap:.65rem;position:absolute;bottom:-16px;right:-25px;background:#fffefa;border:1px solid #e6e9dc;box-shadow:0 5px 18px #102c2920;border-radius:9px;padding:.8rem 1rem;transform:rotate(4deg);font-size:.72rem;font-weight:600}.illustration-note>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#48734b;background:#e7efdc}.illustration-note small{display:block;font-weight:400;font-size:.54rem;color:#7e8976;margin-top:.25rem}.login-features{display:flex;flex-wrap:wrap;gap:1.3rem;margin-top:2rem}.login-features>span{display:flex;align-items:center;gap:.4rem;font-size:.63rem;color:#c0cebe}.login-features svg{width:15px;height:15px;color:#d8b18b}.login-story-footer{margin:0;font-size:.66rem;color:#9fb49f}.login-form-side{display:flex;flex-direction:column;padding:3rem clamp(2rem,5.5vw,6.5rem) 1.8rem}.login-top-note{text-align:right;letter-spacing:.15em;font-size:.59rem;color:#768473}.login-form-content{width:100%;max-width:390px;margin:auto;padding:3rem 0}.login-form-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #dce3d4;border-radius:14px;color:#3c6246;background:#eef1e7;margin-bottom:1.5rem}.login-form-kicker{display:block;color:#7b876e;font-size:.6rem;letter-spacing:.16em;font-weight:600}.admin-login-form h2{font-family:var(--font-display),Georgia,serif;font-size:clamp(2rem,3vw,2.7rem);font-weight:500;letter-spacing:-.045em;line-height:1.2;margin:.65rem 0 .8rem}.login-intro{color:#768173;font-size:.85rem;line-height:1.7;margin:0 0 2rem}.admin-login-form .field{gap:.5rem;margin-bottom:1.2rem}.admin-login-form .field label{font-size:.76rem;font-weight:500;color:#3d5142}.admin-login-form .field input{padding:.85rem .95rem;min-height:49px;background:#fff;border-color:#dbe1d3;font-size:.81rem;width:100%}.admin-login-form input::placeholder{color:#8b9486}.admin-login-form input:focus{border-color:#6c8a5c}.password-input{position:relative}.admin-login-form .password-input input{padding-right:3rem}.password-toggle{position:absolute;right:5px;top:5px;bottom:5px;width:39px;display:grid;place-items:center;border:0;background:transparent;color:#819079;border-radius:5px}.password-toggle:hover{background:#edf2e6;color:#345d3e}.password-toggle[aria-pressed=true]{background:#e7edde;color:#345d3e}.admin-login-form .login-submit{display:flex;justify-content:center;align-items:center;gap:.75rem;background:#24543e;color:#fff;width:100%;min-height:50px;margin-top:1.65rem;font-size:.82rem;box-shadow:0 3px 5px #183e3010}.admin-login-form .login-submit:hover{background:#183e30}.login-submit svg{width:17px;height:17px}.login-switch{border-top:1px solid #e2e7d9;padding-top:1.5rem;margin:1.8rem 0 0;font-size:.72rem;color:#7b8674;text-align:center;line-height:1.8}.login-switch a{color:#365e40;font-weight:600;margin-left:.2rem}.login-switch a:hover{text-decoration:underline}.login-security{justify-content:center;gap:.4rem;margin:0;font-size:.65rem;color:#8a9480}.login-security,.login-shop{display:flex;align-items:center}.login-shop{gap:.6rem;border:1px solid #dce4d5;background:#eef3e8;padding:.75rem;border-radius:8px;font-size:.8rem;margin-bottom:1.5rem;overflow-wrap:anywhere}@media (min-width:1500px){.login-story{padding-left:6rem}.login-story-content{max-width:570px}.restaurant-illustration{max-width:440px}}@media (max-width:1100px){.admin-topbar{gap:1rem;padding-inline:1.5rem}.admin-workspace{display:none}.admin-primary-nav{gap:1rem}.admin-primary-nav,.admin-secondary-nav{padding-inline:1.5rem}.login-story{padding-inline:2.3rem}.login-story h1{font-size:2.7rem}.login-story-content>p{font-size:.8rem}.login-features{gap:.8rem}.login-form-side{padding-inline:2.5rem}}@media (max-width:900px){.admin-shell .main{padding:1.5rem 1rem 2rem}.admin-topbar{padding:.8rem 1rem;gap:.6rem;min-height:70px;flex-wrap:wrap}.admin-brand strong{font-size:1.25rem}.admin-brand img{width:32px;height:32px}.admin-brand-tag,.admin-profile-name{display:none}.admin-utilities{gap:.4rem}.admin-utilities .print-agent-badge{display:none}.admin-signout{padding:.5rem}.admin-nav-toggle{display:flex;align-items:center;gap:.35rem;padding:.55rem;border:1px solid var(--line);border-radius:7px;color:#345d43;background:#f5f7f0;font-size:.75rem}.admin-navigation{display:none;max-height:calc(100dvh - 74px);overflow-y:auto}.admin-navigation.is-open{display:block}.admin-primary-nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;padding:1rem;border:0}.admin-nav-link{padding:.6rem .5rem;font-size:.8rem}.admin-nav-link.is-active:after{display:none}.admin-nav-link.is-active{background:#eaf0e2;border-radius:7px}.admin-mobile-links{display:flex;flex-direction:column;gap:.1rem;margin:.3rem 0 0 1rem;border-left:1px solid var(--line);padding-left:.5rem}.admin-mobile-links a{padding:.65rem .5rem;font-size:.75rem;color:#6b7868;border-radius:5px}.admin-mobile-links a.is-active{color:#235438;font-weight:600;background:#edf1e6}.admin-secondary-nav{display:none}.admin-login{grid-template-columns:1fr}.login-story{padding:1.4rem 1.5rem 1.7rem}.login-story-content{padding:1.7rem 0 0;margin:0;max-width:none}.login-story h1{font-size:2.15rem;margin:.85rem 0 0}.login-story h1 br{display:none}.login-eyebrow{font-size:.55rem}.login-features,.login-story-content>p,.login-story-footer,.restaurant-illustration{display:none}.login-brand>span{font-size:1.35rem}.login-brand img{width:36px;height:36px}.login-form-side{padding:1.5rem}.login-top-note{display:none}.login-form-content{padding:.4rem 0 2rem;max-width:430px}.login-form-icon{display:none}.admin-login-form h2{font-size:2rem}.login-intro{margin-bottom:1.5rem}.login-form-kicker{margin-top:.3rem}}@media (prefers-reduced-motion:reduce){.admin-shell *,.admin-shell :after,.admin-shell :before{transition:none!important;scroll-behavior:auto!important}}.admin-shell .topbar{background:#fff;border-bottom-color:var(--line)}.admin-shell .topbar .nav{display:flex;flex-direction:row;align-items:center;width:auto}.admin-shell .topbar .nav .btn,.admin-shell .topbar .nav a{width:auto}.admin-shell .topbar .nav a:is(:hover,.is-active){background:#e5edde;border-color:#d7e1cf;color:#2d533d}