:root{--bg: #0f1413;--panel: #1a2220;--panel-2: #222d2a;--line: #2c3a36;--text: #e8efec;--muted: #8aa39b;--accent: #46c08a;--danger: #e06b6b;--radius: 12px}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.centered{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.app{display:grid;grid-template-columns:230px 1fr;min-height:100vh;min-height:100dvh}.mobile-header{display:none}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:700;margin-bottom:24px}.brand.big{font-size:28px;margin-bottom:8px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.navlink{color:var(--muted);text-decoration:none;padding:10px 12px;border-radius:8px;font-weight:500}.navlink:hover{background:var(--panel-2);color:var(--text)}.navlink.active{background:var(--accent);color:#06120d}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.content{padding:28px 32px;max-width:1100px}h1{margin:0 0 20px;font-size:24px}h2{margin:0 0 14px;font-size:17px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stat-label{color:var(--muted);font-size:13px}.stat-value{font-size:28px;font-weight:700;margin:6px 0 2px}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}input,select{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:9px 11px;border-radius:8px;font-size:14px}input:focus,select:focus{outline:2px solid var(--accent);border-color:transparent}.btn{background:var(--accent);color:#06120d;border:none;padding:10px 16px;border-radius:8px;font-weight:600;cursor:pointer}.btn.small{padding:6px 10px;font-size:13px}.btn:disabled{opacity:.6;cursor:default}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;padding:4px 6px;font-size:13px}.btn-link.danger{color:var(--danger)}.row-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row-form input{flex:1;min-width:120px}.table{width:100%;border-collapse:collapse;padding:0;overflow:hidden}.table th,.table td{text-align:left;padding:11px 16px;border-bottom:1px solid var(--line)}.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.table tr:last-child td{border-bottom:none}.table tr.dim{opacity:.5}.low-stock{background:#e06b6b14}.badge{background:var(--danger);color:#fff;font-size:11px;padding:1px 7px;border-radius:999px;margin-left:6px}.staff-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.staff-head{display:flex;justify-content:space-between;align-items:flex-start}.shifts{margin-top:12px;border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:6px}.shift-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.shift-form{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.bars{display:flex;align-items:flex-end;gap:8px;height:160px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.bar{width:70%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px}.bar-label{font-size:10px;color:var(--muted);margin-top:4px}.badge.status{background:var(--panel-2);color:var(--muted)}.badge.status.ok{background:var(--accent);color:#06120d}.badge.status.err{background:var(--danger);color:#fff}.pos{color:var(--accent)}.neg{color:var(--danger)}tr.selected td{background:var(--panel-2)}.table.inner{border:none;margin:0}html{scroll-behavior:smooth}.toc{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.toc-link{background:var(--panel);border:1px solid var(--line);color:var(--text);text-decoration:none;font-size:13px;font-weight:500;padding:7px 14px;border-radius:999px}.toc-link:hover{border-color:var(--accent);color:var(--accent)}section[id]{scroll-margin-top:16px}.obs-cat{margin-top:22px}.obs-cat.warn{color:#e0a05c}.obs p{margin:14px 0 0;line-height:1.55;color:var(--text)}.obs strong{font-size:15px}.ing-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.ing-row{display:grid;grid-template-columns:180px 1fr 28px;gap:10px;align-items:center;font-size:13px}.ing-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ing-bar{background:var(--panel-2);border-radius:4px;height:10px;overflow:hidden}.ing-bar span{display:block;height:100%;background:var(--accent);border-radius:4px}.ing-count{color:var(--muted);text-align:right}.ing-once{margin-top:16px;line-height:1.7}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);font-size:14px}@media (max-width: 860px){.app{display:block}.mobile-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:60;background:var(--panel);border-bottom:1px solid var(--line);padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top))}.mobile-header .brand{margin:0;font-size:18px}.menu-btn{background:var(--panel-2);border:1px solid var(--line);color:var(--text);font-size:18px;line-height:1;padding:10px 14px;border-radius:8px;cursor:pointer}.sidebar{display:none}.sidebar.open{display:flex;position:fixed;top:calc(53px + env(safe-area-inset-top));left:0;right:0;bottom:0;z-index:50;border-right:none;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.sidebar-brand{display:none}.navlink{padding:14px 12px;font-size:16px}.content{padding:16px;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-bottom:calc(16px + env(safe-area-inset-bottom));max-width:none}h1{font-size:20px;margin-bottom:14px}.card{padding:14px;margin-bottom:14px}.stat-value{font-size:24px}input,select{font-size:16px;padding:11px 12px}.btn{padding:12px 18px}.btn-link{padding:8px}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:10px 12px;white-space:nowrap}.table td{max-width:70vw;overflow:hidden;text-overflow:ellipsis}.table td.wrap{white-space:normal;min-width:200px;overflow:visible}.row-form input{min-width:0;flex:1 1 140px}.row-form .btn{flex:1 1 100%}.bars{height:120px;gap:4px}.ing-row{grid-template-columns:130px 1fr 24px;gap:8px}section[id]{scroll-margin-top:calc(70px + env(safe-area-inset-top))}}@media (max-width: 400px){.stats{grid-template-columns:1fr 1fr}.stat-value{font-size:20px}}
