:root { --ink:#173b70; --ink-soft:#315889; --muted:#61718a; --blue:#406db9; --blue-deep:#193d72; --blue-pale:#a9bddb; --sky:#9fc3f4; --lilac:#f1eef4; --paper:#fbfbfd; --white:#fff; --line:#d7dfeb; --accent:#406db9; --warn:#fff9e8; font-family:"Arial Nova",Avenir,"Helvetica Neue",Arial,sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; }
body { margin:0; min-width:320px; line-height:1.45; }
.container { width:min(1120px,calc(100% - 2rem)); margin:auto; }
.skip-link { background:var(--white); left:-999px; padding:.5rem; position:absolute; top:0; }.skip-link:focus { left:.5rem; z-index:10; }
.topbar { background:var(--white); border-bottom:1px solid var(--line); }.nav { align-items:center; display:flex; gap:1rem; justify-content:space-between; min-height:82px; }
.brand { align-items:center; color:var(--ink); display:inline-flex; font-weight:700; gap:.55rem; text-decoration:none; }.brand-mascot { display:block; height:56px; position:relative; width:56px; }.brand-mascot img { height:56px; object-fit:contain; width:56px; }.brand-kicker { color:var(--ink-soft); display:block; font-family:"Courier New",monospace; font-size:.61rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.brand-name { display:block; font-size:1.38rem; letter-spacing:-.065em; line-height:.95; }.brand-name em { color:var(--blue); display:block; font-style:normal; }
button,.button { background:var(--blue); border:0; border-radius:4px; color:#fff; cursor:pointer; display:inline-block; font:inherit; font-weight:800; letter-spacing:.01em; padding:.7rem 1rem; text-align:center; }.button:hover,button:hover { background:var(--blue-deep); }button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible { outline:3px solid var(--sky); outline-offset:3px; }
.account,.table-tools { align-items:center; display:flex; flex-wrap:wrap; gap:.5rem; }.account-name { font-family:"Courier New",monospace; font-size:.78rem; font-weight:700; }.text-button { background:var(--lilac); color:var(--ink); }.text-button:hover { background:#e4e1e9; }
.hero { background:var(--blue-pale); border-bottom:7px solid var(--blue); overflow:hidden; padding:3.8rem 0 4.2rem; position:relative; }.hero::after { background:var(--blue); content:""; height:7px; left:0; position:absolute; right:0; top:0; }.hero-content { align-items:center; display:flex; justify-content:space-between; position:relative; }.hero-copy { max-width:670px; position:relative; z-index:1; }.eyebrow { color:var(--ink); font-family:"Courier New",monospace; font-size:.72rem; font-weight:700; letter-spacing:.1em; margin:0 0 .6rem; text-transform:uppercase; }h1,h2 { line-height:.98; margin:.1rem 0 .75rem; }h1 { font-size:clamp(2.7rem,6vw,5.25rem); font-weight:400; letter-spacing:-.075em; max-width:690px; }h2 { font-size:1.55rem; font-weight:700; letter-spacing:-.045em; }.hero p:not(.eyebrow) { color:#284c78; font-size:1.1rem; margin:0; max-width:590px; }.hero-art { height:230px; min-width:260px; position:relative; }.hero-mascot-frame { bottom:-5px; display:block; height:260px; position:absolute; right:-5px; transform:rotate(4deg); width:260px; }.hero-mascot { filter:drop-shadow(9px 10px 0 rgba(23,59,112,.13)); height:100%; object-fit:contain; width:100%; }
.finder { background:var(--white); border:1px solid var(--line); border-top:5px solid var(--blue); margin-top:-1.7rem; padding:1.35rem; position:relative; }.section-title,.table-heading { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }.muted { color:var(--muted); font-size:.92rem; }.filters { display:grid; gap:.75rem; grid-template-columns:2fr 1fr 1fr; margin-top:1rem; }.filters label,.auth-form label,.product-form label { color:var(--ink); display:grid; font-family:"Courier New",monospace; font-size:.74rem; font-weight:700; gap:.38rem; letter-spacing:.025em; text-transform:uppercase; }input,select,textarea { background:#fff; border:1px solid #afbed3; border-radius:2px; color:var(--ink); font:inherit; min-width:0; padding:.68rem; }textarea { resize:vertical; }
.tables { display:grid; gap:1.7rem; margin:1.8rem auto; }.table-section { background:var(--white); border:1px solid var(--line); border-top:5px solid var(--blue); padding:1.3rem; }.personal-section { border-top-color:var(--sky); }.table-heading h2 { margin-bottom:.2rem; }.table-heading p { margin:.25rem 0 0; }.source-link { color:var(--blue-deep); font-family:"Courier New",monospace; font-size:.78rem; font-weight:700; text-transform:uppercase; }.table-tools { justify-content:flex-end; }.table-tools .button { font-size:.9rem; }.table-wrap { border:1px solid var(--line); margin-top:1rem; overflow:auto; }table { border-collapse:collapse; font-size:.9rem; min-width:760px; width:100%; }th { background:var(--ink); color:#fff; font-family:"Courier New",monospace; font-size:.72rem; font-weight:700; letter-spacing:.02em; padding:.8rem .7rem; text-align:left; vertical-align:bottom; }td { border-top:1px solid #dce4ef; padding:.75rem .7rem; vertical-align:top; }tbody tr:nth-child(even) { background:#f4f6fa; }.food-name { font-weight:800; }.food-detail { color:var(--muted); font-size:.82rem; margin-top:.16rem; }.empty { background:var(--lilac); color:var(--muted); margin:.9rem 0 0; padding:.8rem; }.notice { background:var(--warn); border-left:5px solid var(--sky); color:#294a73; margin-bottom:2rem; padding:1rem; }.row-actions { display:flex; gap:.4rem; }.small-button { font-size:.8rem; padding:.42rem .6rem; }.danger { background:#8a4053; }.danger:hover { background:#6c2e40; }
dialog { border:0; border-radius:0; box-shadow:12px 12px 0 var(--blue-deep),0 24px 70px #09183155; padding:0; width:min(620px,calc(100% - 1.5rem)); }dialog::backdrop { background:#173b70aa; }.dialog-body { background:#fff; padding:1.5rem; }.dialog-close { background:var(--lilac); color:var(--ink); font-size:1.25rem; line-height:1; padding:.35rem .65rem; position:absolute; right:.55rem; top:.55rem; z-index:1; }.tabs { border-bottom:1px solid var(--line); display:flex; gap:.35rem; margin:1rem 0; }.tab { background:transparent; border-radius:0; color:var(--muted); }.tab.active { background:var(--sky); color:var(--ink); }.auth-form,.product-form { display:grid; gap:.85rem; }.auth-form small { color:var(--muted); font-family:"Courier New",monospace; font-weight:400; }.form-grid { display:grid; gap:.75rem; grid-template-columns:1fr 1fr; }.check { align-items:center; display:flex!important; gap:.55rem!important; }.check input { min-width:auto; }details { border:1px solid var(--line); border-radius:0; padding:.75rem; }details summary { color:var(--blue-deep); cursor:pointer; font-family:"Courier New",monospace; font-size:.82rem; font-weight:700; text-transform:uppercase; }details[open] summary { margin-bottom:.8rem; }.form-message { color:#a43c35; font-size:.9rem; min-height:1.25rem; margin:.5rem 0 0; }.form-message.success { color:#35741a; }
@media(max-width:720px) { body { font-size:16px; }.container { width:min(100% - 1.25rem,1120px); }.nav { min-height:70px; }.brand-mascot { height:43px; width:43px; }.brand-mascot img { height:43px; width:43px; }.brand-name { font-size:1.18rem; }.account-name { display:none; }.hero { padding:2.6rem 0 3.3rem; }.hero-content { display:block; }.hero-copy { max-width:75%; }h1 { font-size:2.65rem; }.hero p:not(.eyebrow) { font-size:1rem; }.hero-art { height:0; min-width:0; }.hero-mascot-frame { bottom:-47px; height:152px; right:-9px; width:152px; }.hero-mascot { height:100%; width:100%; }.finder { margin-top:-.9rem; padding:1rem; }.section-title,.table-heading { flex-direction:column; gap:.45rem; }.section-title h2,.table-heading h2 { font-size:1.36rem; }.filters,.form-grid { grid-template-columns:1fr; }.filters input { font-size:1rem; min-height:46px; }button,.button { min-height:44px; padding:.7rem .85rem; }.table-section { padding:1rem; }.table-tools { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; width:100%; }.table-tools button,.table-tools .button { width:100%; }.table-wrap { border:0; margin-top:.85rem; overflow:visible; }table { display:block; font-size:.92rem; min-width:0; }table thead { clip:rect(0 0 0 0); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; width:1px; }table tbody { display:grid; gap:.85rem; }table tr { background:#fff; border:1px solid var(--line); display:block; overflow:hidden; }tbody tr:nth-child(even) { background:#fff; }table td { align-items:center; border-top:1px solid #e1e7ef; display:grid; gap:.75rem; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); padding:.7rem .75rem; text-align:right; }table td:first-child { border-top:0; }table td::before { color:var(--muted); content:attr(data-label); font-family:"Courier New",monospace; font-size:.7rem; font-weight:700; letter-spacing:.025em; text-align:left; }table td[colspan] { display:block; text-align:left; }table td[colspan]::before { content:none; }.food-name { font-size:1rem; }.row-actions { justify-content:flex-end; }.small-button { min-height:38px; padding:.48rem .6rem; }dialog { box-shadow:6px 6px 0 var(--blue-deep),0 24px 70px #09183155; width:calc(100% - 1rem); }.dialog-body { padding:1.15rem; }.dialog-body h2 { font-size:1.3rem; }.auth-form input,.product-form input,.product-form textarea { min-height:46px; }.tabs { overflow:auto; }.tab { min-height:42px; white-space:nowrap; } }
@media(max-width:390px) { .table-tools { grid-template-columns:1fr; }.hero-copy { max-width:70%; }h1 { font-size:2.35rem; } }
