:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:#16212b;background-color:#f1f6f8;line-height:1.5;--surface: #FFFFFF;--surface-tint: #F6FAFB;--surface-veil: #EDF3F5;--surface-grad: linear-gradient(135deg, var(--surface) 0%, var(--surface-tint) 70%, var(--surface-veil) 100%);--surface-grad-soft: linear-gradient(135deg, var(--surface) 0%, var(--surface-tint) 100%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f1f6f8}.app-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 2rem;background:var(--surface-grad-soft);border-bottom:1px solid #D9E2E8}.topbar-actions{display:flex;align-items:center;gap:.75rem}.notification-wrap{position:relative}.notification-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid #C5D2DB;background:var(--surface-grad-soft);color:#16212b;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.notification-button:hover{border-color:#9fe3e2;box-shadow:0 8px 16px #0ea5a41f}.notification-button.is-active{border-color:#9fe3e2;box-shadow:0 10px 20px #0ea5a429}.notification-icon{width:18px;height:18px}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:#b91c1c;color:#fff;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:2px solid #F1F6F8}.notification-panel{position:absolute;right:0;top:calc(100% + .6rem);width:min(360px,92vw);background:var(--surface-grad);border:1px solid #D9E2E8;border-radius:.85rem;padding:.85rem;box-shadow:0 20px 45px #0f172a1f;z-index:30}.notification-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.notification-header strong{font-size:.95rem}.notification-count{display:block;margin-top:.15rem;font-size:.72rem;color:#5e6b78}.notification-action{border:none;background:transparent;color:#0ea5a4;font-weight:600;cursor:pointer;padding:0}.notification-action:disabled{color:#5e6b78;cursor:not-allowed}.notification-list{display:grid;gap:.6rem;margin-top:.75rem;max-height:320px;overflow:auto}.notification-item{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:.65rem .7rem;border-radius:.7rem;border:1px solid #D9E2E8;background:var(--surface-grad-soft)}.notification-item.is-unread{border-color:#9fe3e2;box-shadow:0 10px 20px #0ea5a41f}.notification-title{margin:0;font-weight:600;color:#16212b}.notification-body{margin:.3rem 0 0;color:#5e6b78;font-size:.86rem}.notification-meta{margin-top:.35rem;display:flex;gap:.5rem;align-items:center;color:#5e6b78;font-size:.72rem}.notification-pill{padding:.1rem .45rem;border-radius:999px;background:#e0f7f6;color:#0a7f7e;font-weight:700}.notification-empty{padding:.75rem;text-align:center;color:#5e6b78;background:var(--surface-grad-soft);border:1px dashed #D9E2E8;border-radius:.7rem}.topbar-user{display:flex;flex-direction:column;gap:.1rem}.topbar-role{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#5e6b78}.topbar-name{font-weight:600;color:#16212b}.app-body{padding:1.75rem 2rem 2rem}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.app-nav{background:var(--surface-grad-soft);border-right:1px solid #D9E2E8;padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:1.5rem}.nav-brand{font-weight:700;font-size:1.1rem;letter-spacing:.02em}.nav-section{display:flex;flex-direction:column;gap:.5rem}.nav-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#5e6b78}.nav-link{padding:.5rem .75rem;border-radius:.5rem;color:#16212b;transition:background .2s ease,color .2s ease}.nav-link:hover{background:#eaf1f4}.nav-link.active{background:#e0f7f6;color:#0ea5a4;font-weight:600}.app-content{display:flex;flex-direction:column;min-width:0}.app-header{background:var(--surface-grad-soft);border-bottom:1px solid #D9E2E8;padding:1.5rem 2rem}.app-header h1{margin:0 0 .25rem;font-size:1.5rem}.app-header p{margin:0;color:#5e6b78}.app-main{padding:2rem}.page{background:var(--surface-grad);border-radius:.75rem;padding:2rem 2rem 1.5rem;border:1px solid #D9E2E8}.page h2{margin-top:0;font-size:1.4rem}.page-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.auth-status{margin-left:auto;text-align:right}.cook-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1.25rem;padding:.5rem;border-radius:.75rem;background:#f6fafb;border:1px solid #D9E2E8;position:sticky;top:1rem;z-index:5}.cook-dashboard{display:grid;gap:1.5rem}.cook-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem;border-radius:1rem;border:1px solid #E0F7F6;background:linear-gradient(135deg,#e0f7f6,#f6fafb)}.cook-hero h3{margin:0 0 .35rem;font-size:1.25rem}.cook-hero p{margin:0;color:#5e6b78;max-width:520px}.cook-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.dashboard-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-card{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem;border-radius:.85rem;border:1px solid #D9E2E8;background:var(--surface-grad);box-shadow:0 12px 26px #0f172a14;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dashboard-card:hover{transform:translateY(-2px);border-color:#9fe3e2;box-shadow:0 16px 32px #0f172a1f}.dashboard-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#5e6b78}.dashboard-card strong{font-size:1rem;color:#16212b}.dashboard-card p{margin:0;color:#5e6b78;font-size:.92rem}.cook-nav a{padding:.45rem .9rem;border-radius:999px;border:1px solid #C5D2DB;background:var(--surface-grad-soft);font-weight:600;color:#16212b;transition:background .2s ease,border-color .2s ease}.cook-nav a:hover{background:#e0f7f6;border-color:#9fe3e2}.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.5rem;padding-bottom:.25rem;border-bottom:1px solid #D9E2E8}.admin-tab{padding:.55rem 1rem;border-radius:.6rem .6rem 0 0;border:1px solid #D9E2E8;border-bottom-color:transparent;background:#f6fafb;font-weight:600;color:#16212b;transition:background .2s ease,border-color .2s ease}.admin-tab:hover{background:#e0f7f6;border-color:#9fe3e2;border-bottom-color:transparent}.admin-tab.active{background:var(--surface-grad-soft);border-color:#9fe3e2;border-bottom-color:transparent;color:#0ea5a4;box-shadow:inset 0 -3px #0ea5a4}.admin-tab.is-disabled{opacity:.5;cursor:not-allowed}.page-description{margin:.5rem 0 1.5rem;color:#5e6b78}.page-list{margin:0;padding-left:1.1rem;color:#16212b}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem;background:radial-gradient(circle at top,#fff,#e0f7f6 45%,#d9e2e8)}.auth-page{width:min(520px,100%);box-shadow:0 20px 45px #0f172a14}.auth-header h2{margin-bottom:.5rem}.auth-header p{margin:0;color:#5e6b78}.auth-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group h3{margin:0 0 .75rem;font-size:1rem}.option-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.option-card{border:1px solid #C5D2DB;border-radius:.6rem;padding:.6rem .75rem;display:flex;gap:.5rem;align-items:center;background:#f6fafb}.option-card input{accent-color:#0EA5A4}.option-card .button-row{width:100%;flex-direction:column;align-items:stretch}.option-card .form-field{width:100%}.data-grid{display:grid;gap:.9rem}.data-card{border:1px solid #C5D2DB;border-radius:.7rem;padding:.9rem 1rem;background:#f6fafb;display:grid;gap:.5rem}.data-card header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.data-list{display:grid;gap:.4rem}.data-list-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem;color:#16212b}.status-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .65rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.02em;border:1px solid transparent}.status-issued{background:#fff3d6;color:#b45309;border-color:#f5c76b}.status-served{background:#e8eeff;color:#1d4ed8;border-color:#bfd0ff}.status-confirmed{background:#e8f8ef;color:#1b7a3f;border-color:#a6e9c1}.status-pending{background:#fff3d6;color:#b45309;border-color:#f5c76b}.status-approved{background:#e8f8ef;color:#1b7a3f;border-color:#a6e9c1}.status-rejected{background:#fee7e7;color:#b91c1c;border-color:#f5b5b5}.status-success{background:#e8f8ef;color:#1b7a3f;border-color:#a6e9c1}.status-danger{background:#fee7e7;color:#b91c1c;border-color:#f5b5b5}.status-neutral{background:#e7eef3;color:#16212b;border-color:#c8d6e0}.stock-scroll{display:flex;flex-wrap:nowrap;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.stock-scroll .option-card{flex:0 0 280px;align-items:flex-start;flex-direction:column}.stock-card strong{margin-bottom:.25rem}.stock-update{width:100%;flex-direction:column;align-items:stretch}.stock-update .form-field,.stock-update input{width:100%}.form-field{display:flex;flex-direction:column;gap:.4rem;font-weight:600;color:#0e1a22;min-width:0}.form-field input,.form-field textarea{padding:.65rem .75rem;border-radius:.6rem;border:1px solid #C5D2DB;font-weight:400;font-family:inherit;width:100%;min-width:0}.form-field input[type=checkbox]{width:auto;padding:0;border-radius:.3rem;align-self:flex-start}.compact-input{width:90px;padding:.35rem .5rem;border-radius:.5rem;border:1px solid #C5D2DB;font-weight:600;text-align:right}.compact-input:focus{outline:2px solid #8BE2E1;border-color:#67d1d0}.form-field select{padding:.65rem .75rem;border-radius:.6rem;border:1px solid #C5D2DB;font-weight:400;font-family:inherit;width:100%;min-width:0;background:var(--surface-grad-soft)}.form-field textarea{resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:2px solid #8BE2E1;border-color:#67d1d0}.form-hint{margin-top:.4rem;font-size:.85rem;color:#5e6b78}.summary{font-size:.9rem;color:#5e6b78}.subscription-banner{padding:.85rem 1rem;border-radius:.75rem;border:1px solid transparent;font-weight:600}.subscription-active{background:#e0f7f6;border-color:#9fe3e2;color:#0a7f7e}.subscription-upcoming{background:#fff3d6;border-color:#f59e0b;color:#b45309}.subscription-inactive{background:#edf3f5;border-color:#d9e2e8;color:#5e6b78}.form-error{padding:.75rem .9rem;border-radius:.6rem;background:#fee7e7;border:1px solid #F5B5B5;color:#b91c1c;font-weight:600}.form-success{padding:.75rem .9rem;border-radius:.6rem;background:#e8f8ef;border:1px solid #A6E9C1;color:#1b7a3f;font-weight:600}.toast-viewport{position:fixed;right:1.25rem;bottom:1.25rem;display:grid;gap:.75rem;z-index:100;max-width:min(420px,90vw)}.toast-card{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:start;padding:.85rem 1rem;border-radius:.75rem;background:#0e1a22;color:#f6fafb;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px #0f172a47;animation:toast-in .2s ease-out}.toast-success{background:#22c55e}.toast-error{background:#ef4444}.toast-info{background:#1d4ed8}.toast-message{font-weight:600;line-height:1.4;word-break:break-word}.toast-dismiss{border:none;background:transparent;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;padding:.1rem .2rem}.toast-dismiss:hover{opacity:.8}.toast-dismiss:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:2px;border-radius:.35rem}.toast-card+.toast-card{margin-top:.1rem}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.form-warning{padding:.75rem .9rem;border-radius:.6rem;background:#fff3d6;border:1px solid #F59E0B;color:#b45309;font-weight:600}.primary-button{padding:.75rem 1rem;border-radius:.6rem;border:none;background:#0ea5a4;color:#fff;font-weight:600;cursor:pointer}.primary-button:hover{background:#0a7f7e}.secondary-button{padding:.75rem 1rem;border-radius:.6rem;border:1px solid #9FE3E2;background:#e0f7f6;color:#0a7f7e;font-weight:600;cursor:pointer}.danger-button{padding:.75rem 1rem;border-radius:.6rem;border:1px solid #F5B5B5;background:#fee7e7;color:#b91c1c;font-weight:600;cursor:pointer}.danger-button:hover{background:#f5b5b5}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.6;cursor:not-allowed}.button-row{display:flex;gap:.75rem;flex-wrap:wrap}.auth-footer{display:flex;gap:.5rem;align-items:center;color:#5e6b78}.auth-footer a{color:#0ea5a4;font-weight:600}.menu-grid{display:grid;gap:1rem;margin-top:1.5rem}.menu-card{border:1px solid #D9E2E8;border-radius:.75rem;padding:1rem 1.25rem;background:#f6fafb;display:flex;flex-direction:column;gap:.75rem}.menu-card-header{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.menu-card-header h3{margin:0 0 .25rem}.menu-card-header p{margin:0;color:#5e6b78}.menu-price{font-weight:700;color:#0ea5a4;white-space:nowrap}.menu-items{display:grid;gap:.75rem}.menu-item{padding:.75rem;border-radius:.65rem;border:1px solid #C5D2DB;background:var(--surface-grad-soft);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.menu-item-alert{border-color:#f59e0b;background:#fff7e6;box-shadow:inset 0 0 0 1px #f5c76b}.allergy-badge{display:inline-flex;align-items:center;justify-content:center;padding:.28rem .7rem;min-height:1.5rem;border-radius:999px;border:1px solid #F59E0B;background:#fff3d6;color:#b45309;font-size:.72rem;font-weight:700;line-height:1.2;white-space:nowrap}.allergy-hint{color:#b45309;font-weight:600}.menu-meta{display:flex;gap:.75rem;color:#5e6b78;font-size:.9rem;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:50}.modal-card{background:var(--surface-grad);border-radius:.85rem;border:1px solid #D9E2E8;padding:1.5rem;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 60px #0f172a33}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.modal-header h3{margin:0 0 .25rem}.modal-close{white-space:nowrap}@media (max-width: 900px){.app-topbar{padding:.85rem 1.5rem}.app-body{padding:1.25rem 1.5rem 1.5rem}.app-shell{grid-template-columns:1fr}.app-nav{position:sticky;top:0;z-index:10;border-right:none;border-bottom:1px solid #D9E2E8;background:var(--surface-grad-soft)}.app-main{padding:1.5rem}.modal-card{padding:1.25rem}.cook-hero{flex-direction:column;align-items:flex-start}}@media (max-width: 600px){.toast-viewport{left:1rem;right:1rem;bottom:1rem}.notification-panel{left:0;right:0;width:auto}}
