:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f7f4;--surface:#fff;--text:#1a2e1a;--muted:#5c6b5c;--accent:#2d6a4f;--accent-dark:#1b4332;--danger:#9b2226;--border:#d8e3d8;--font-body:"DM Sans", system-ui, sans-serif;--font-display:"Fraunces", Georgia, serif}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-body);background:var(--bg);color:var(--text);margin:0;line-height:1.5}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{background:#e8f0e8;border-radius:4px;padding:.1em .35em;font-size:.9em}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-bar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);color:var(--accent-dark);font-size:1.15rem;font-weight:700;text-decoration:none}.brand:hover{color:var(--accent);text-decoration:none}.main-nav{flex-wrap:wrap;flex:1;gap:.35rem 1rem;display:flex}.nav-link{color:var(--muted);border-bottom:2px solid #0000;padding:.35rem 0;font-size:.95rem;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--text);text-decoration:none}.nav-link.active{color:var(--accent-dark);border-bottom-color:var(--accent)}.user-strip{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.user-name{color:var(--muted)}.badge-admin{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.04em;background:#e8f5e9;border-radius:4px;padding:.2rem .45rem;font-size:.7rem;font-weight:700}.btn-text{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.9rem}.btn-text:hover{text-decoration:underline}.page-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.75rem 1.5rem 3rem}.page{max-width:100%}.page.narrow{max-width:32rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.header-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.bulk-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1rem;padding:.85rem 1.1rem;display:flex}.bulk-actions-btns{flex-wrap:wrap;gap:.5rem;display:flex}.data-table .col-select{text-align:center;vertical-align:middle;width:2.25rem}.data-table .col-select input[type=checkbox]{cursor:pointer;width:auto;margin:0}.filter-inline{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.filter-inline select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;min-width:9rem;padding:.35rem .5rem}.h2-inline{margin:0 0 .35rem;font-size:1.1rem;font-weight:600}.small-margin{margin:0 0 1rem;font-size:.9rem}.form-grid-2{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem 1.25rem;display:grid}.admin-create-form .form-grid-2{margin-bottom:.5rem}.export-filters{margin-bottom:1.25rem}.ingredient-fieldset{border:1px solid var(--border);border-radius:10px;margin:0;padding:1rem 1.1rem 1.1rem}.ingredient-fieldset legend{padding:0 .35rem;font-size:.95rem;font-weight:600}.ingredient-row{grid-template-columns:1fr 1fr auto;align-items:end;gap:.75rem 1rem;margin-bottom:.85rem;display:grid}@media (width<=560px){.ingredient-row{grid-template-columns:1fr}.ingredient-remove{justify-self:start}}.ingredient-brief{margin:.35rem 0 0;padding-left:1.1rem;font-size:.82rem;list-style:outside}.payment-cell{max-width:14rem;font-size:.88rem;line-height:1.35}.checkbox-row{cursor:pointer;align-items:center;gap:.5rem;margin:.75rem 0 1rem;font-size:.95rem;display:flex}.checkbox-row input{width:auto;margin:0}.page h1{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.75rem}.lead{margin-bottom:1.5rem;font-size:1.05rem}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.35rem 1.5rem;box-shadow:0 1px 2px #0000000a}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);color:inherit;border-radius:12px;padding:1.25rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.tile:hover{border-color:var(--accent);text-decoration:none;box-shadow:0 4px 14px #2d6a4f1f}.tile h2{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.15rem}.tile p{color:var(--muted);margin:0;font-size:.9rem}.tile-accent{background:linear-gradient(145deg,#f1faef 0%,#fff 100%);border-color:#b7e4c7}.profile-summary{margin-top:.5rem}.profile-summary h2{font-family:var(--font-display);margin-top:0;font-size:1.2rem}.dl-grid{grid-template-columns:8rem 1fr;gap:.35rem 1rem;margin:0;display:grid}.dl-grid dt{color:var(--muted);margin:0;font-size:.9rem}.dl-grid dd{margin:0}.stack-form{flex-direction:column;gap:1rem;display:flex}.stack-form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}.stack-form input,.stack-form textarea,.stack-form select{font:inherit;border:1px solid var(--border);background:#fafcfa;border-radius:8px;padding:.55rem .65rem}.stack-form input:focus,.stack-form textarea:focus,.stack-form select:focus{outline:2px solid var(--accent);outline-offset:1px}.disabled-input{opacity:.7;cursor:not-allowed}.btn-primary{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.1rem;font-weight:600}.btn-primary:hover{background:var(--accent-dark)}.btn-small{font:inherit;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;margin-bottom:.25rem;margin-right:.35rem;padding:.25rem .55rem;font-size:.8rem}.btn-small.secondary{background:#f0f4f0}.btn-small.danger{color:var(--danger);background:#fff5f5;border-color:#f5c2c7}.alert{border-radius:8px;padding:.65rem .85rem;font-size:.9rem}.alert.error{color:#7f1d1d;background:#fff0f0;border:1px solid #f5c2c7}.alert.success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.field-error{color:var(--danger);font-size:.8rem;font-weight:400}.hint{font-size:.8rem;font-weight:400}.auth-page{background:linear-gradient(160deg, #e8f5e9 0%, var(--bg) 45%, #fff 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:2rem;box-shadow:0 12px 40px #1b433214}.auth-card h1{font-family:var(--font-display);margin:0 0 .25rem}.auth-footer{color:var(--muted);margin-top:1.25rem;font-size:.9rem}.center-message{min-height:40vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.table-wrap{padding:0;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:.9rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.65rem 1rem}.data-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#fafcfa;font-size:.75rem;font-weight:600}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr.row-production-needs-approval td{background:#fffbeb}.data-table tbody tr.row-production-needs-approval:hover td{background:#fef3c7}.actions{white-space:normal;max-width:14rem}.status{text-transform:capitalize;color:var(--muted);background:#eef1ee;border-radius:999px;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.status-draft{background:#f3f4f6}.status-submitted{color:#92400e;background:#fef3c7}.status-approved{color:#065f46;background:#d1fae5}.status-rejected{color:#991b1b;background:#fee2e2}.status-paid,.status-completed{color:#1e40af;background:#dbeafe}.pagination{align-items:center;gap:1rem;margin-top:1rem;display:flex}.pagination button{font:inherit;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;padding:.4rem .75rem}.pagination button:disabled{opacity:.45;cursor:not-allowed}.linkish{font:inherit;color:var(--accent-dark);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.inline-edit input{font:inherit;border:1px solid var(--accent);border-radius:4px;width:100%;max-width:12rem;padding:.25rem .35rem}
