:root{--bg:#f3f5f9;--surface:#ffffff;--text:#0f172a;--muted:#5f6b7d;--border:#dbe0e8;--accent:#0b2f53;--accent-soft:#1f4f83;--sidebar:#072a49;--danger:#b4292e;--ok:#0b5d41}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}main:not(.app-main){width:100%;max-width:none;margin:0;padding:24px 20px 40px}a{color:inherit}h1,h2,h3{margin:0 0 12px}p{margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 2px 6px rgba(15,23,42,.06)}.grid{display:grid;grid-gap:16px;gap:16px}.table{width:100%;border-collapse:collapse}.table td,.table th{border-bottom:1px solid var(--border);padding:8px;text-align:left}.table th{font-size:12px;text-transform:uppercase;color:var(--muted)}.field{display:grid;grid-gap:6px;gap:6px}label{font-size:14px;color:var(--muted)}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:#fff}button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:10px;padding:9px 12px;cursor:pointer;font-weight:600}button.secondary{background:#fff;color:var(--accent)}button.danger{border-color:var(--danger);background:var(--danger)}.nav-logout{width:100%;margin-top:8px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.error{color:var(--danger);font-weight:600}.success{color:var(--ok);font-weight:600}.kpi{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));grid-gap:10px;gap:10px}.kpi .box{border:1px solid var(--border);border-radius:8px;padding:10px;background:#fbfcfd}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;background:#e7edf5;color:#2b4b73}.badge.danger{background:#ffe7e7;color:#8d1d22}.badge.ok{background:#e8f7ef;color:#0b5d41}.badge.warn{background:#fff3df;color:#8a5a00}.actions-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(180px,1fr))}.action-card{border:1px solid var(--border);border-radius:10px;padding:14px;background:#fbfcfd}.action-card a{text-decoration:none;color:var(--accent);font-weight:700}.table-wrap{overflow-x:auto}.pager{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.pager-nav{display:flex;gap:8px}.table.order-mobile td:first-child,.table.order-mobile th:first-child{min-width:260px}.app-layout{min-height:100vh}.app-sidebar{position:fixed;top:0;left:0;width:248px;height:100vh;background:var(--sidebar);color:#ecf3ff;padding:22px 16px}.app-brand{display:flex;align-items:center;gap:10px;margin-bottom:14px}.brand-logo{border-radius:10px;object-fit:cover}.brand-name{font-weight:700;font-size:24px;line-height:1}.brand-subtitle{color:#b8c8dd;font-size:14px}.side-nav{display:grid;grid-gap:8px;gap:8px}.side-nav a{text-decoration:none;color:#ecf3ff;padding:10px 12px;border-radius:10px;font-weight:600}.side-nav a:hover{background:rgba(255,255,255,.12)}.side-nav a.active{background:rgba(255,255,255,.18);border-left:3px solid #8fbfff;padding-left:9px}.app-main{margin-left:248px;padding:26px 22px 40px}.page-header{margin-bottom:14px}.page-header h1{margin-bottom:4px;font-size:38px}.build-tag{margin-top:6px;color:var(--muted);font-size:12px}.page-content{display:grid;grid-gap:12px;gap:12px}.compact-card{padding:14px}.production-hero{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(260px,1.5fr) minmax(260px,1fr);margin-bottom:12px}.production-label{color:var(--accent-soft);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.production-nav{display:grid;grid-gap:12px;gap:12px;align-content:start}.production-nav__actions{display:flex;gap:8px;flex-wrap:wrap}.production-nav__link{text-decoration:none}.production-kpis{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr))}.production-kpi{padding:20px}.production-kpi__label{color:var(--muted);font-size:14px}.production-kpi__value{font-size:36px;font-weight:800;line-height:1;margin-top:8px}.production-summary-list{display:grid;grid-gap:10px;gap:10px}.production-summary-item{justify-content:space-between;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fbfcfd}.production-summary-item,.production-summary-item>div:first-child{display:flex;gap:12px;align-items:center}.production-summary-item__rank{min-width:28px;font-size:22px;font-weight:800;color:var(--accent);text-align:right}.production-summary-item__meta{display:grid;justify-items:end}.production-layout{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:flex-start}.production-dishes{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.production-dish-card{display:grid;grid-gap:16px;gap:16px}.production-dish-card__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.production-dish-card__qty{min-width:88px;display:grid;justify-items:end;text-align:right}.production-dish-card__qty strong{font-size:34px;line-height:1}.production-dish-card__qty span{color:var(--muted);font-size:14px}.production-dish-card__stats{display:flex;gap:10px;flex-wrap:wrap}.production-dish-card__stats p{padding:8px 10px;border-radius:999px;background:#eef3f9}.production-section-title{font-size:14px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.production-dish-card__notes ul,.production-dish-card__people ul{margin:0;padding-left:18px;display:grid;grid-gap:8px;gap:8px}.production-dish-card__people li{display:flex;justify-content:space-between;gap:8px}.production-sidebar{display:grid;grid-gap:12px;gap:12px}.production-attention-list{display:grid;grid-gap:10px;gap:10px}.production-attention-item{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff8ed}@media (max-width:1100px){.production-dishes,.production-hero,.production-layout{grid-template-columns:1fr}}@media (max-width:900px){.production-kpis{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (max-width:640px){.production-kpis{grid-template-columns:1fr}.production-dish-card__header,.production-dish-card__people li,.production-summary-item{display:grid}.production-dish-card__qty,.production-summary-item__meta{justify-items:start;text-align:left}}.mobile-nav{display:none}.week-nav-link{text-decoration:none;border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:10px;padding:8px 12px;font-weight:600}.week-nav-link:hover{background:#edf3fa}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(100%,420px);justify-items:center;text-align:center}.auth-card form{width:100%;text-align:left}.auth-logo{border-radius:12px}@media (max-width:920px){.actions-grid,.kpi{grid-template-columns:1fr}.table.order-mobile{border-collapse:separate;border-spacing:0 10px}.table.order-mobile thead{display:none}.table.order-mobile tbody tr{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--border);border-radius:10px;padding:10px;background:#fbfcfd}.table.order-mobile tbody td{border:0;padding:0}.table.order-mobile tbody td[data-label]:before{content:attr(data-label) ": ";font-weight:600;color:var(--muted)}.app-sidebar{display:none}.app-main{margin-left:0;padding:0 14px 20px}.mobile-nav{display:block;margin:0 -14px 16px;background:var(--sidebar);color:#ecf3ff;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-nav>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer}.mobile-nav>summary::-webkit-details-marker{display:none}.mobile-brand{margin-bottom:0}.mobile-nav .side-nav{padding:8px 12px 14px}.page-header{padding:0 2px}.page-header h1{font-size:30px;margin-bottom:6px}.auth-page{padding-top:28px;place-items:start center}}