:root{--primary:#205c4f;--primary-dark:#17483e;--text:#17201d;--muted:#60706a;--line:#dce3e0;--surface:#fff;--background:#f4f7f6;--danger:#982b2b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--background)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--background);color:var(--text)}a{color:inherit}button,input,select,textarea{font:inherit}.topbar{min-height:68px;display:flex;align-items:center;gap:26px;padding:12px clamp(18px,4vw,56px);background:#fff;border-bottom:1px solid var(--line)}.brand{font-size:18px;font-weight:750;text-decoration:none;margin-right:auto}.topbar nav{display:flex;gap:20px}.topbar nav a{text-decoration:none;color:var(--muted);font-weight:650}.container{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:42px 0 72px}.auth-container{min-height:100vh;display:grid;place-items:center;padding:24px 0}.auth-card,.panel,.checkout-panel,.confirmation{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(22px,4vw,36px)}.auth-card{width:min(440px,100%)}h1,h2,h3{margin:0;letter-spacing:-.025em}h1{font-size:clamp(30px,5vw,48px);line-height:1.08}h2{font-size:24px}h3{font-size:18px}p{line-height:1.55}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:800;margin:0 0 10px}.muted{color:var(--muted)}.page-header,.menu-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 18px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;font-weight:750;text-decoration:none;cursor:pointer}.button:hover,.button:focus-visible{background:var(--primary-dark)}.button-quiet{background:#fff;color:var(--text);border-color:var(--line)}:focus-visible{outline:3px solid #75a99b;outline-offset:2px}.form-stack{display:grid;gap:18px;margin-top:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:8px;font-weight:700}input,select,textarea{width:100%;min-height:46px;border:1px solid #b9c5c1;border-radius:8px;padding:10px 12px;color:var(--text);background:#fff}textarea{min-height:96px;resize:vertical}.error,.notice{padding:13px 15px;border-radius:8px;margin:18px 0}.error{color:#751f1f;background:#fff1f1;border:1px solid #e1aaaa}.notice{color:#164e3a;background:#edf8f3;border:1px solid #9bc9b8}.actions{display:flex;justify-content:flex-end;gap:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metrics article{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px}.metrics span{color:var(--muted)}.metrics strong{font-size:clamp(26px,4vw,38px)}.split{display:grid;grid-template-columns:1fr 2fr;gap:22px}.space-top{margin-top:24px}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{padding:15px 17px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:13px}td small{display:block;color:var(--muted);margin-top:4px}.text-link{color:var(--primary);font-weight:750}.menu-header{padding:24px 0;border-bottom:1px solid var(--line)}.menu-header p{max-width:680px}.menu-meta{display:flex;flex-wrap:wrap;gap:10px 20px;color:var(--muted)}.admin-link{font-size:13px;color:var(--muted)}.menu-category{padding:30px 0}.product-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.product{display:flex;justify-content:space-between;gap:20px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}.product p{color:var(--muted);margin:7px 0}.quantity{width:92px;font-size:13px}.quantity input{text-align:center}.sold-out{opacity:.65}.sold-label{color:var(--danger);font-weight:750}.checkout-panel{margin-top:28px}.checkout-panel .form-grid{margin:20px 0}.confirmation{width:min(620px,100%);margin:10vh auto}.confirmation dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.confirmation dl div{border:1px solid var(--line);padding:14px;border-radius:8px}.confirmation dt{color:var(--muted)}.confirmation dd{margin:6px 0 0;font-weight:750}.empty{text-align:center;padding:10vh 0}.receipt{width:80mm;max-width:100%;margin:0 auto;background:#fff;color:#000;padding:8mm 5mm;border:1px solid var(--line)}.receipt header{text-align:center;border-bottom:1px dashed #555;padding-bottom:5mm}.receipt h1{font-size:26px}.receipt h2{font-size:14px;text-transform:uppercase;margin:5mm 0 2mm}.receipt-line{display:grid;grid-template-columns:1fr auto;gap:2mm;padding:2.5mm 0;border-bottom:1px dashed #aaa}.receipt-line small{grid-column:1/-1}.receipt footer{display:flex;justify-content:space-between;font-size:18px;margin-top:5mm}.print-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}@media(max-width:780px){.topbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.topbar nav{order:3;width:100%;overflow-x:auto;padding:7px 0}.page-header,.menu-header{align-items:stretch;flex-direction:column}.metrics,.split,.product-list,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.product{padding:16px}.actions{flex-direction:column}.admin-link{align-self:flex-start}th,td{white-space:nowrap}}@media print{@page{size:80mm auto;margin:0}body{background:#fff}.container{width:auto;margin:0;padding:0}.print-actions{display:none}.receipt{border:0;width:80mm}}

