:root{--ysi:#e50089;--ysi-dark:#bd006f;--ysi-soft:#fff0fa;--ink:#171b2c;--muted:#687084;--line:#e7e7f0;--canvas:#f8f7fb;--shadow:0 10px 32px rgba(35,24,60,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(ellipse 68% 28% at 100% 15%,#f7e2f4 0,transparent 100%),linear-gradient(180deg,#fff,#faf7fc 50%,#f8f7fa)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--ysi-dark);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--ink);line-height:1.22;letter-spacing:-.035em;margin:0 0 .7rem}h1{font-size:clamp(2rem,4vw,3rem);font-weight:800}h2{font-size:1.38rem;font-weight:750}h3{font-size:1.06rem}p{margin:.4rem 0 1rem}.shell{max-width:1190px;margin:auto;padding:44px 24px 36px}.topbar{min-height:86px;display:flex;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--line);padding:16px max(24px,calc((100vw - 1150px)/2))}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:13px;color:var(--ink);font-weight:800;font-size:27px;letter-spacing:-.04em;white-space:nowrap}.brand:hover{text-decoration:none}.brand-logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:linear-gradient(125deg,#f6009c,#bd03bd);color:#fff;font-weight:800;font-size:20px;letter-spacing:-.055em;overflow:hidden;flex-shrink:0}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-wordmark{color:var(--ink)}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 16px;background:#fbe7f3;color:#8e185c;font-size:13px}.pill:before{content:"●";font-size:11px;color:var(--ysi)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));grid-gap:18px;gap:18px}.card{border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow)}.card,.field{background:#fff}.field{display:block;width:100%;min-height:43px;padding:10px 12px;border:1px solid #d6d8e3;border-radius:10px;color:var(--ink);margin:6px 0 16px}.field:focus{outline:3px solid #f7c5e4;border-color:var(--ysi)}.field:disabled{background:#f5f5f8;color:#818696;cursor:not-allowed}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;background:var(--ysi);color:#fff;padding:11px 18px;font-weight:700;min-height:44px;line-height:1.2;box-shadow:0 3px 9px rgba(229,0,137,.12)}.btn:hover{color:#fff;background:var(--ysi-dark);text-decoration:none}.btn:focus-visible{outline:3px solid #f6acd8;outline-offset:2px}.btn:disabled{background:#d8d8de;box-shadow:none;cursor:not-allowed}.btn.alt{background:#f1f2f6;color:var(--ink);box-shadow:none}.btn.alt:hover{background:#e4e5ed;color:var(--ink)}.btn.danger{background:#b6274a}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gap{height:16px}.small{font-size:12px}.notice{padding:13px 15px;border-radius:11px;background:#fff0f9;color:#743456;margin:14px 0}.error{background:#fff0f0;color:#9a203f}.error,.success{padding:13px 15px;border-radius:11px;margin:13px 0}.success{background:#edfaf2;color:#256c44}table{width:100%;border-collapse:collapse}td,th{padding:12px;text-align:left;border-bottom:1px solid var(--line)}nav a{margin-right:18px}textarea{resize:vertical}label{font-weight:650;color:#2e3143}code{background:#f3edf3;border-radius:5px;padding:2px 5px}.hero{padding:12px 0 30px}.hero h1{margin-top:18px;margin-bottom:6px}.hero h1 .accent{position:relative}.hero h1 .accent:after{content:"";position:absolute;height:5px;border-radius:99px;background:var(--ysi);left:7px;right:2px;bottom:-7px;transform:rotate(-2deg)}.hero-subtitle{font-size:17px;color:var(--muted)}.order-panel{padding:30px 30px 20px}.order-intro{display:flex;align-items:center;gap:15px;margin-bottom:25px}.order-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:var(--ysi);background:#fbeaf5;font-size:25px;flex-shrink:0}.order-intro h2{margin:0;font-size:1.32rem}.order-intro h2 strong{color:var(--ysi)}.order-intro p{margin:0;color:var(--muted)}.order-table-head{padding:11px 20px;background:#f2f3f7;border-radius:10px;font-weight:750}.order-day,.order-table-head{display:grid;grid-template-columns:170px minmax(240px,1fr) minmax(240px,1.15fr);grid-gap:22px;gap:22px}.order-day{align-items:center;padding:15px 20px;border-bottom:1px solid #ececf2}.day-name{font-weight:750}.day-date{color:var(--muted);font-size:12px}.order-day .field{margin:0}.order-day .field:disabled{opacity:.8}.day-dietary-helper{margin:6px 0 0;line-height:1.35;color:var(--muted);font-size:11px}.order-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;padding-top:22px}.admin-page .grid{align-items:start}.admin-page .card{padding:24px}.admin-page summary{color:var(--ysi-dark);padding:5px 0}.admin-page .card h2{margin-bottom:10px}.admin-page .card .btn{margin-bottom:7px}@media(max-width:900px){.order-table-head{display:none}.order-day{grid-template-columns:1fr 1fr;gap:12px}.order-day .day-name{grid-column:1/-1}.order-day .field{width:100%}.order-panel{padding:23px}.topbar{padding:14px 20px}}@media(max-width:620px){.shell{padding:26px 14px}.topbar{min-height:72px;padding:12px 14px;align-items:flex-start}.brand{font-size:21px}.brand-logo{height:40px;width:40px;font-size:17px}.topbar .actions{justify-content:flex-end;gap:6px}.topbar .actions .muted{display:none}.topbar .btn{min-height:36px;padding:8px 10px;font-size:12px}.hero{padding-top:4px}.order-panel{padding:16px}.order-day{grid-template-columns:1fr;padding:17px 2px}.order-intro{align-items:flex-start}.card{padding:18px}.grid{grid-template-columns:1fr}.order-footer{justify-content:stretch}.order-footer .btn{width:100%}}.brand-logo{position:relative}.brand-logo img{position:absolute;inset:0;z-index:1;background:#fff}.logo-fallback{position:relative;z-index:0}.admin-page .admin-grid{display:grid;grid-gap:20px;align-items:start}.admin-page .card{min-width:0;overflow-wrap:anywhere}.admin-upcoming{grid-column:1/-1}.upcoming-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.upcoming-item{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.upcoming-trigger{width:100%;border:0;background:#fcfafd;color:var(--ink);display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px;gap:12px;cursor:pointer}.upcoming-trigger:hover{background:var(--ysi-soft)}.upcoming-state{color:var(--ysi-dark);font-size:12px;font-weight:750;white-space:nowrap}.upcoming-details{padding:12px 15px;border-top:1px solid var(--line);font-size:13px}.upcoming-details ul{padding-left:22px;overflow-wrap:anywhere}.upcoming-details details{padding:7px 0;border-bottom:1px solid var(--line)}.access-divider{margin:18px 0;border-top:1px solid var(--line)}.admin-page .card input,.admin-page .card select,.admin-page .card textarea{max-width:100%}.admin-page .card .actions{align-items:start}@media(max-width:900px){.admin-page .admin-grid{grid-template-columns:1fr}.admin-upcoming{grid-column:auto}.upcoming-list{grid-template-columns:1fr}}.brand-logo.logo-inline{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAEzUlEQVR42u1XW2yURRT+zsy//7/7dy/sbm/0ainxgiigoEVFCMFUEjABicqT8cUE4cEQTHyQd42YEIyJMTFGfYFEFDFcDCEYqEIJhIRwp1yEbi/Atnvr7v6XmfFh/26hQkOrBE36P83MOWe+c2a+c+Y/JOJfK0CBFMEbgCRIEeTfx0QSJAEFJtmIgqThRYJnAkii4d3K+1MJAgDDQ/omgSeBJ4H/a8BKQY3PQrtzxpBzVS5bKj3KCCEWgCsBgABGojcnIAQAGLwxBFe5vQUXjgSXUBKcVRgs5ifORMYpDuQliHNDazKVo8YCVqkCzajyrZ6rDbnKlfY3F8TAEMImlIIi0Zvzr5imzY4pIpkX6S1n7LwVeKE+0F6vNVVIWxZOpNJ7epyeAip0X0Og6v1HwdnQidTgvn4W1EFjRGxLFB1twyzvGuZUZl//mfx+GEz2ZXlzJPrj4pKosKvH+vhg9adLpmyYWbaOAjVZJ7H2ePf3J+uWz67bOANA9nDy5g/XdNMHRve8Y4qb4kzC+aDTc2pli29+qxxMw4aEFfp8ftm/vmW74u+13Y5a+njIJ3IugZXP1k3adDcmaaNIQmbY2XSMr3mCTQsDCGxpc+ZdcwcGjAWtxvKmktLgu52AiH/RVppmt15Nbj7L4oHIO63F0+nUT38aCEINX6pU90EuBQrpyOfstb/79ywFwOdW+V57zN55JLjl+ZKKuJxNfdsZfPVpL/jT6e7V+yWYgpbe3QONGw2hQvfQOFkNQCiKRN2958S+p/grDQCM9U9SRNdmx0vy9LpOCZvV+b2rMrmmm7Zd0GuDipgciXT8eUwGI+jFtR2lqW/h1IrvXi6NrV8T+T0XDa3W6rjhOd4SbDrSHnyx3u7L2L05MALRRAuIVBQPi4sJe/OpUZLMuiMEnccD1oWb6U9OlxaNObHmjvam7YuDC2usRFqm786m+6tcDEwPWxuPqlvF8lp+0ym7q5fXhBRJLRJMfng0/eX5sjS8srHltyUNnz3nZmwXReI0IWClKBoQuXTxo2PeKVzN5TYe5/4QCFDgFToPGjfWHOpZcaDQeatsV7n+8Ue2veTCkpacaK1WkqCLcykvHc+lVLFAIaPEHiUki+h6dSS348q1tr2Jtw651/MlzSlvNFa2TbcuZycMDAAU0T3GmRrBBzEcB5GyhLKl0RDVosbgtvNds3YVT3pext5uJs4ezOukFByppLK701AINFblBvsGv+ryEqEhoMX1BwDMye5Pmaua6zvaQ2+2ipxdvJ40A5XhVV5pEwO2yLrjLCD3E+2ApbfE4pvnUdBXu3VB9NSgdSljPlOtNQa8rNvZLzLOPwMuPym3pYe0hK82QEGfl8czo8bM6MgLd2Wof/vZyuXTPTLcI6/GPuqR8seihoLHLF5j2seSPc/+kt+dGGUwdOhG16L9Ei6PGZ5yWCsb3lEfx+qdLImony9rgsacS1n7YK/y65JIEhRxuzcrwfyLpvoX1vI6U+Td/B/J1I5u6SoWNVm1L7x0qmKscDabPpxkpk+xO3qnMYE5V3nXyQwpKAWD6kJSKqmG+zONpK2cm0UXrgQTAKDxSpNMTRITOaeQLCgQ8xlaQ0A6alTTRv9OtwiS9FC6RRq3xeQP/STwJPD/H/gv4I5tIbPq5TcAAAAASUVORK5CYII=);background-size:cover;background-position:50%;background-repeat:no-repeat}.admin-page .admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}.admin-page .admin-grid>.card:first-child,.admin-page .admin-grid>.card:nth-child(2){height:100%}.admin-page .admin-grid>.card:nth-child(3),.admin-page .admin-grid>.card:nth-child(4),.admin-page .admin-grid>.card:nth-child(5){grid-column:1/-1}.admin-page .admin-grid>.card:nth-child(3){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px 28px;gap:8px 28px;background:linear-gradient(105deg,#fff 65%,#fff0f9)}.admin-page .admin-grid>.card:nth-child(3)>h2,.admin-page .admin-grid>.card:nth-child(3)>p{grid-column:1;margin-bottom:0}.admin-page .admin-grid>.card:nth-child(3)>.btn{grid-column:2;grid-row:1/4;white-space:nowrap;margin:0}.admin-page .admin-grid>.card:nth-child(5){display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.admin-page .admin-grid>.card:nth-child(5)>details{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;background:#fcfafd}.admin-page .admin-grid>.card:nth-child(5)>.access-divider{display:none}@media(max-width:900px){.admin-page .admin-grid{grid-template-columns:1fr}.admin-page .admin-grid>.card:nth-child(3),.admin-page .admin-grid>.card:nth-child(4),.admin-page .admin-grid>.card:nth-child(5){grid-column:auto}.admin-page .admin-grid>.card:nth-child(3){display:block}.admin-page .admin-grid>.card:nth-child(3)>p{margin:10px 0}.admin-page .admin-grid>.card:nth-child(3)>.btn{white-space:normal}.admin-page .admin-grid>.card:nth-child(5){grid-template-columns:1fr}}