:root{--black: #0e0e10;--charcoal: #1f1f23;--charcoal-2: #2a2a30;--gold: #c8a24a;--gold-dark: #a8842f;--gold-ink: #7a5d14;--gold-soft: #f7f1e1;--gold-line: #e6d7ad;--gold-bright: #e0c276;--green: #2e7d4f;--green-dark: #22613c;--green-soft: #e6f2ea;--red: #b3261e;--red-soft: #fdecea;--amber: #a15c00;--amber-soft: #fff4e0;--blue: #1d4ed8;--blue-soft: #e8efff;--ink: #141416;--ink-2: #4a4a4f;--ink-3: #7b7b80;--line: #e4e2dd;--bg: #f3f2ef;--card: #ffffff;--nav-bg: #0e0e10;--nav-ink: #b9b9bf;--nav-muted: #6f6f76;--nav-line: #2a2a30;--radius: 12px;--shadow: 0 1px 2px rgba(20, 18, 10, .05), 0 1px 10px rgba(20, 18, 10, .05);--nav-h: 64px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--gold-ink);text-decoration:none}h1,h2,h3,h4{margin:0;line-height:1.25}h1{font-family:var(--font-display);font-size:1.7rem;font-weight:600;letter-spacing:-.005em}h2{font-size:1.15rem;font-weight:650}h3{font-size:1rem;font-weight:650}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #c9ced3;border-radius:10px;background:#fff;min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold-dark)}textarea{min-height:80px;resize:vertical}label{font-size:.875rem;font-weight:600;color:var(--ink-2)}small,.muted{color:var(--ink-3);font-size:.875rem}.hint{color:var(--ink-3);font-size:.8125rem;margin-top:4px}.shell{display:flex;min-height:100vh}.sidebar{display:none}.main{flex:1;min-width:0;padding:16px 16px calc(var(--nav-h) + 24px);max-width:1100px;margin:0 auto;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:700}.logo{width:32px;height:32px;border-radius:9px;background:var(--black);display:inline-grid;place-items:center;color:var(--gold-bright);font-weight:800;box-shadow:inset 0 0 0 1px #c8a24a59}.topbar .brand>span:last-child{font-family:var(--font-display);font-size:1.1rem}.bottomnav{position:fixed;left:0;right:0;bottom:0;height:var(--nav-h);background:var(--nav-bg);border-top:1px solid var(--nav-line);display:grid;grid-template-columns:repeat(5,1fr);z-index:20;padding-bottom:env(safe-area-inset-bottom)}.bottomnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--nav-ink);font-size:.7rem;font-weight:600;position:relative}.bottomnav a.active{color:var(--gold-bright)}.bottomnav a.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:2px;background:var(--gold);border-radius:0 0 2px 2px}.bottomnav svg{width:24px;height:24px}@media (min-width: 900px){.bottomnav{display:none}.sidebar{display:flex;flex-direction:column;width:240px;background:var(--nav-bg);color:var(--nav-ink);border-right:1px solid var(--nav-line);padding:20px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar .brand{display:flex;align-items:center;gap:10px;font-weight:600;padding:4px 8px 18px;font-size:1.1rem;color:#fff;font-family:var(--font-display)}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--nav-ink);font-weight:550;font-size:.95rem}.sidebar nav a svg{width:20px;height:20px;flex:none}.sidebar nav a.active{background:#c8a24a24;color:var(--gold-bright);box-shadow:inset 2px 0 0 var(--gold)}.sidebar nav a:hover{background:#ffffff0f;color:#fff}.sidebar .navgroup{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--nav-muted);padding:14px 10px 6px;font-weight:700}.sidebar .foot{margin-top:auto;padding:12px 8px 0;border-top:1px solid var(--nav-line);font-size:.875rem;color:var(--nav-ink)}.sidebar .foot a{color:#fff}.sidebar .foot .muted{color:var(--nav-muted)}.sidebar .foot .btn.ghost{color:var(--gold-bright)}.sidebar .foot .btn.ghost:hover{background:#c8a24a24}.main{padding:24px 32px 40px}}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.card-head .actions{display:flex;gap:8px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:10px;border:1px solid transparent;background:var(--black);color:#fff;font-weight:600;cursor:pointer;min-height:44px;white-space:nowrap;text-decoration:none;box-shadow:inset 0 -2px 0 var(--gold)}.btn:hover{background:var(--charcoal)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{background:#fff;color:var(--ink);border-color:#c9c7c0;box-shadow:none}.btn.secondary:hover{background:var(--bg);border-color:var(--gold-dark)}.btn.danger{background:var(--red);box-shadow:none}.btn.ghost{background:transparent;color:var(--gold-ink);box-shadow:none}.btn.ghost:hover{background:var(--gold-soft)}.btn.sm{padding:6px 12px;min-height:36px;font-size:.875rem;border-radius:8px}.btn.block{width:100%}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.75rem;font-weight:700;background:#ecebe7;color:var(--ink-2);white-space:nowrap}.badge.gold{background:var(--gold-soft);color:var(--gold-ink);border:1px solid var(--gold-line)}.badge.green{background:var(--green-soft);color:var(--green-dark)}.badge.red{background:var(--red-soft);color:var(--red)}.badge.amber{background:var(--amber-soft);color:var(--amber)}.badge.blue{background:var(--blue-soft);color:var(--blue)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.grid{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width: 640px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width: 640px) and (max-width: 899px){.grid.cols-4{grid-template-columns:1fr 1fr}}.stat{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;display:block;color:inherit}.stat .label{font-size:.8rem;color:var(--ink-3);font-weight:600}.stat .value{font-size:1.6rem;font-weight:750;margin:2px 0}.stat .sub{font-size:.8rem;color:var(--ink-2)}.stat.green{border-left:4px solid var(--green)}.stat.red{border-left:4px solid var(--red)}.stat.amber{border-left:4px solid var(--amber)}.stat.grey{border-left:4px solid #c9c7c0}.stat.gold{border-left:4px solid var(--gold)}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border-bottom:none}.list-item .grow{flex:1;min-width:0}.list-item .title{font-weight:600}.list-item .meta{font-size:.8125rem;color:var(--ink-3)}.check-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.check-row:last-child{border-bottom:none}.check-row .label{flex:1;font-size:.95rem}.check-row.done-ok .label{color:var(--ink-2)}.seg{display:inline-flex;border:1px solid #c9ced3;border-radius:10px;overflow:hidden;background:#fff}.seg button{border:none;background:transparent;padding:8px 12px;min-height:40px;min-width:44px;font-weight:700;cursor:pointer;color:var(--ink-3);border-right:1px solid #e3e6e9}.seg button:last-child{border-right:none}.seg button.ok.on{background:var(--green);color:#fff}.seg button.issue.on{background:var(--red);color:#fff}.seg button.na.on{background:#6b7280;color:#fff}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.tabs button{background:none;border:none;padding:10px 14px;font-weight:600;color:var(--ink-3);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}.tabs button.on{color:var(--ink);border-bottom-color:var(--gold)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:700}.alert{padding:12px 14px;border-radius:10px;font-size:.9rem;margin-bottom:12px}.alert.red{background:var(--red-soft);color:var(--red)}.alert.amber{background:var(--amber-soft);color:var(--amber)}.alert.green{background:var(--green-soft);color:var(--green-dark)}.alert.blue{background:var(--blue-soft);color:var(--blue)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:#fff;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:16px 16px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom))}@media (min-width: 640px){.modal-bg{align-items:center;padding:20px}.modal{border-radius:16px}}.modal h2{margin-bottom:12px}.toasts{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px;width:min(94vw,480px)}.toast{background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;box-shadow:0 6px 20px #0003;font-size:.9rem}.toast.error{background:var(--red)}.toast.success{background:var(--green-dark)}.empty{text-align:center;color:var(--ink-3);padding:24px 12px}.datenav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.datenav .label{font-weight:700;font-size:1.05rem;text-align:center;flex:1}.month{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month .dow{font-size:.7rem;text-align:center;color:var(--ink-3);font-weight:700;padding:4px 0}.month a{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);gap:2px}.month a.empty{background:transparent;border-color:transparent}.month a.today{outline:2px solid var(--gold)}.month a.on{background:var(--black);color:var(--gold-bright)}.month .dots{display:flex;gap:2px}.month .dot{width:6px;height:6px;border-radius:50%}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.dot.grey{background:#c9ced3}.allergen-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}@media (min-width: 640px){.allergen-grid{grid-template-columns:repeat(3,1fr)}}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid #c9ced3;font-size:.85rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff}.chip.on{background:var(--red-soft);border-color:var(--red);color:var(--red);font-weight:600}.chip.may{background:var(--amber-soft);border-color:var(--amber);color:var(--amber);font-weight:600}.step{border-left:3px solid var(--gold);padding-left:14px;margin-bottom:18px}.step .num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--black);color:var(--gold-bright);font-weight:700;font-size:.8rem;margin-right:8px}.hazard{background:#faf9f6;border:1px solid var(--line);border-radius:10px;padding:12px;margin-top:10px}.hazard.ccp{border-color:var(--gold-line);background:var(--gold-soft)}.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 10px;font-size:.875rem}.kv dt{color:var(--ink-3);font-weight:600}.kv dd{margin:0}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(900px 500px at 50% -10%,var(--charcoal-2),var(--black) 70%)}.auth .card{width:100%;max-width:440px;padding:24px;border-top:3px solid var(--gold)}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.more-grid a{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px;color:var(--ink);font-weight:600}.more-grid svg{width:24px;height:24px;color:var(--gold-ink)}.progress{height:8px;background:#e6e4df;border-radius:99px;overflow:hidden}.progress>div{height:100%;background:var(--gold)}.sparkline{width:100%;height:80px}@media print{.sidebar,.bottomnav,.topbar,.btn{display:none!important}.main{padding:0}}.dropzone{border:2px dashed #c9c7c0;border-radius:12px;padding:28px 16px;text-align:center;color:var(--ink-2);cursor:pointer;background:#faf9f6;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.over{border-color:var(--gold);background:var(--gold-soft)}.dropzone strong{color:var(--gold-ink)}.filelist .list-item{padding:8px 0}.thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#e6e4df;flex:none;display:grid;place-items:center;font-size:.68rem;font-weight:700;color:var(--ink-3);letter-spacing:.02em}.thumb.t-pdf{background:var(--black);color:var(--gold-bright)}.thumb.t-word{background:var(--blue-soft);color:var(--blue)}.thumb.t-excel{background:var(--green-soft);color:var(--green-dark)}.spinner{width:22px;height:22px;border:3px solid #e6e4df;border-top-color:var(--gold);border-radius:50%;animation:spin .9s linear infinite;display:inline-block;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.review-step input.inline,.review-step textarea.inline{background:transparent;border-color:transparent;padding-left:6px}.review-step input.inline:hover,.review-step textarea.inline:hover{border-color:#c9ced3}.review-step input.inline:focus,.review-step textarea.inline:focus{background:#fff}.eyebrow{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);font-weight:700}.wizard{max-width:820px}.wizard input.inline{background:transparent;border-color:transparent;padding-left:6px;font-weight:600}.wizard input.inline:hover,.wizard input.inline:focus{border-color:#c9c7c0;background:#fff}.steps-dots{display:flex;gap:6px;justify-content:center;margin-top:22px}.steps-dots button{width:10px;height:10px;border-radius:50%;border:none;background:#d8d6d0;padding:0;cursor:pointer}.steps-dots button.past{background:var(--gold-line)}.steps-dots button.on{background:var(--gold);width:22px;border-radius:6px}.chip.on.gold{background:var(--gold-soft);border-color:var(--gold-dark);color:var(--gold-ink)}.tick{width:26px;height:26px;border-radius:50%;border:2px solid #d8d6d0;display:inline-grid;place-items:center;font-weight:800;font-size:.85rem;flex:none;color:#fff}.tick.ok{background:var(--green);border-color:var(--green)}.setup-card{border-left:4px solid var(--gold);background:linear-gradient(90deg,var(--gold-soft),#fff 60%)}.setup-card .btn{flex:none}.ref-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.3rem;font-weight:700;letter-spacing:.08em;background:var(--black);color:var(--gold-bright);padding:8px 16px;border-radius:10px;display:inline-flex;align-items:center}.tier-card{border-top:3px solid var(--gold);text-align:center}.alert.gold-soft{background:var(--gold-soft);color:var(--gold-ink);border:1px solid var(--gold-line);margin-top:8px}.doc-item,.res-item{flex-wrap:wrap}.doc-item .doc-notes{font-size:.875rem;color:var(--ink-2);margin-top:4px;white-space:pre-wrap}.doc-actions,.res-item .row{gap:4px}@media (max-width: 639px){.doc-actions{width:100%;padding-left:56px}}.res-link{color:var(--ink);display:inline-flex;align-items:center;gap:6px}.res-link:hover{color:var(--gold-ink);text-decoration:underline;text-decoration-color:var(--gold)}.res-link svg{color:var(--gold-dark)}.news-item{flex-wrap:wrap;align-items:flex-start}.news-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.news-link{color:var(--ink);display:inline;font-size:1.02rem;line-height:1.35}.news-link:hover{color:var(--gold-ink);text-decoration:underline;text-decoration-color:var(--gold)}.news-link svg{color:var(--gold-dark);display:inline}.news-excerpt{color:var(--ink-2);font-size:.9rem;margin:4px 0}.news-actions{gap:4px}@media (max-width: 639px){.news-actions{width:100%}}
