:root{--canvas-width: 390px;--page-inset: 24px;--header-height: 88px;--nav-height: 84px;--color-bg: #fdfdfd;--color-surface: #fff;--color-surface-muted: #f2f3f5;--color-text: #0b1423;--color-text-secondary: #66738b;--color-border: #eceef2;--color-accent: #f00a0f;--color-cta: #e21921;--color-on-accent: #fff;--color-accent-pressed: #cc101b;--color-accent-soft: #fff0f1;--color-success: #007b35;--color-success-soft: #e3f9ed;--color-danger: #f20d1c;--color-danger-soft: #ffedef;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 20px;--card-shadow: 0 5px 20px #12213b07;--history-row-height: 73px;--attendance-row-height: 53px;--admin-row-height: 78px;--button-height: 48px;--vote-button-height: 64px;--segment-height: 56px}:root{--motion-fast: .12s;--motion-active: .15s;--motion-base: .18s;--motion-page: .2s;--motion-slow: .24s;--motion-sheet: .26s;--motion-sheet-exit: .22s;--motion-stagger: 20ms;--motion-loading: 1.5s;--motion-ease-out: cubic-bezier(.2, 0, 0, 1);--motion-ease-standard: cubic-bezier(.4, 0, .2, 1);--motion-page-distance: 6px;--motion-nested-distance: 10px;--motion-feedback-distance: 4px;--motion-press-scale: .98;--motion-nav-scale: .96;--motion-star-scale: .9}button,input,textarea,select,.status-badge,.status-text{transition-property:background-color,border-color,color,opacity,transform;transition-duration:var(--motion-fast);transition-timing-function:var(--motion-ease-out)}button:active:not(:disabled){transform:scale(var(--motion-press-scale))}.bottom-nav button:active:not(:disabled){transform:none}@media(hover:hover)and (pointer:fine){.primary:hover:not(:disabled){background-color:var(--color-accent-pressed)}.secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){background-color:var(--color-surface-muted)}}#main-content{animation:motion-page-enter var(--motion-page) var(--motion-ease-out);overflow-x:clip}.motion-region{min-width:0}.motion-value,.vote-info,.metrics strong,.summary-total b,.count-badge{font-variant-numeric:tabular-nums}.bottom-nav button{transition-duration:var(--motion-active)}.bottom-nav svg{transform:scale(var(--motion-nav-scale));transition:transform var(--motion-active) var(--motion-ease-out),fill var(--motion-active) var(--motion-ease-out),stroke var(--motion-active) var(--motion-ease-out)}.bottom-nav .active svg{transform:scale(1)}.segments,.team-tabs{position:relative;isolation:isolate}.segment-indicator{position:absolute;z-index:-1;border-radius:10px;background:var(--color-cta);transform-origin:left center;transition:transform var(--motion-base) var(--motion-ease-out);pointer-events:none}.segments.has-indicator button.active,.team-tabs.has-indicator button.active{background:transparent}.segments button,.team-tabs button,.filter-chip{transition-duration:var(--motion-base)}.stars button{transition-duration:var(--motion-active)}.stars button:active:not(:disabled){transform:scale(var(--motion-star-scale))}.stars svg{transition:fill var(--motion-fast) var(--motion-ease-out),color var(--motion-fast) var(--motion-ease-out)}.vote-info,.notice,.empty,.employee-meal,.cook-selected-meal,.cancelled-meal,.metrics,.kitchen-total,.period-summary,.rating-form textarea{animation:motion-content-enter var(--motion-base) var(--motion-ease-out)}:is(.list,.reviews,.review-list)>:nth-child(-n+4){animation:motion-row-enter var(--motion-base) var(--motion-ease-out) both}:is(.list,.reviews,.review-list)>:nth-child(2){animation-delay:var(--motion-stagger)}:is(.list,.reviews,.review-list)>:nth-child(3){animation-delay:calc(var(--motion-stagger) * 2)}:is(.list,.reviews,.review-list)>:nth-child(4){animation-delay:calc(var(--motion-stagger) * 3)}.modal-backdrop{animation:motion-content-enter var(--motion-base) var(--motion-ease-out)}.modal{animation:motion-sheet-enter var(--motion-sheet) var(--motion-ease-out)}.toast{animation:motion-toast-enter var(--motion-base) var(--motion-ease-out)}[data-motion-ghost]{pointer-events:none!important;-webkit-user-select:none;user-select:none}[data-motion-ghost] *{animation:none!important;transition:none!important}[data-motion-ghost=overlay]{animation:motion-fade-exit var(--motion-sheet-exit) var(--motion-ease-standard) both}[data-motion-ghost=overlay] .modal{animation:motion-sheet-exit var(--motion-sheet-exit) var(--motion-ease-standard) both!important}[data-motion-ghost=toast]{animation:motion-fade-exit var(--motion-fast) var(--motion-ease-standard) both}[data-motion-ghost=content]{z-index:1;background:var(--color-bg);animation:motion-fade-exit var(--motion-fast) var(--motion-ease-standard) both}[data-motion-ghost=skeleton]{z-index:1;animation:motion-fade-exit var(--motion-fast) var(--motion-ease-standard) both}.motion-disclosure-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--motion-base) var(--motion-ease-out),opacity var(--motion-base) var(--motion-ease-out)}.motion-disclosure-body>div{min-height:0;overflow:hidden}.motion-disclosure[data-expanded=true]>.motion-disclosure-body{grid-template-rows:1fr;opacity:1}.motion-disclosure>summary{display:flex;align-items:center;gap:5px;list-style:none}.motion-disclosure>summary::-webkit-details-marker{display:none}.motion-disclosure>summary>svg{width:12px;height:12px;transition:transform var(--motion-base) var(--motion-ease-out)}.motion-disclosure[data-expanded=true]>summary>svg{transform:rotate(90deg)}.switch:before{transition:transform var(--motion-active) var(--motion-ease-out)}.skeleton>div:before,.skeleton>div:after{animation-duration:var(--motion-loading)}@keyframes motion-page-enter{0%{opacity:0;transform:translateY(var(--motion-page-distance))}to{opacity:1;transform:none}}@keyframes motion-content-enter{0%{opacity:0}to{opacity:1}}@keyframes motion-row-enter{0%{opacity:0;transform:translateY(var(--motion-feedback-distance))}to{opacity:1;transform:none}}@keyframes motion-sheet-enter{0%{transform:translateY(100%)}to{transform:none}}@keyframes motion-sheet-exit{0%{transform:none}to{transform:translateY(100%)}}@keyframes motion-fade-exit{0%{opacity:1}to{opacity:0}}@keyframes motion-toast-enter{0%{opacity:0;transform:translate(-50%,var(--motion-feedback-distance))}to{opacity:1;transform:translate(-50%)}}@media(min-width:701px){.modal{animation-name:motion-dialog-enter;animation-duration:var(--motion-page)}[data-motion-ghost=overlay] .modal{animation-name:motion-dialog-exit!important;animation-duration:var(--motion-active)!important}}@keyframes motion-dialog-enter{0%{opacity:0;transform:scale(var(--motion-press-scale))}to{opacity:1;transform:none}}@keyframes motion-dialog-exit{to{opacity:0;transform:scale(var(--motion-press-scale))}}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-active: 0ms;--motion-base: 0ms;--motion-page: 0ms;--motion-slow: 0ms;--motion-sheet: 0ms;--motion-sheet-exit: 0ms;--motion-stagger: 0ms;--motion-page-distance: 0px;--motion-nested-distance: 0px;--motion-feedback-distance: 0px;--motion-press-scale: 1;--motion-nav-scale: 1;--motion-star-scale: 1}*,*:before,*:after{animation:none!important;transition:none!important}}:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--tg-viewport: 100dvh;--safe-top: 0px;--safe-bottom: 0px;--safe-left: 0px;--safe-right: 0px}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-size:15px;line-height:1.45}button,input,textarea,select{font:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;-webkit-text-fill-color:currentColor}button:disabled{cursor:default;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:26px;line-height:1.23;letter-spacing:-.8px;font-weight:700}h2,h3{font-size:18px;line-height:1.35;font-weight:650}p{overflow-wrap:anywhere}svg{flex-shrink:0}small{font-size:13px}.muted,.footnote{color:var(--color-text-secondary)}.footnote{font-size:13px;margin:10px 0;line-height:1.5}.accent-text{color:var(--color-accent)}.success{color:var(--color-success)}.danger{color:var(--color-danger)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.app-shell{max-width:var(--canvas-width);margin:0 auto;min-height:var(--tg-viewport);background:var(--color-bg)}.topbar{padding:calc(20px + max(var(--safe-top),env(safe-area-inset-top))) calc(var(--page-inset) + var(--safe-right)) 20px calc(var(--page-inset) + var(--safe-left));display:flex;align-items:center;gap:14px;min-height:calc(var(--header-height) + max(var(--safe-top),env(safe-area-inset-top)))}.brand{font-size:29px;font-weight:800;letter-spacing:-1.5px;color:var(--color-accent);line-height:1;margin-right:auto}.topbar .status-badge{border-radius:12px;padding:7px 10px;display:flex;align-items:center;gap:9px;font-size:13px;text-align:left}.topbar .status-badge small{display:block;font-size:12px;font-weight:400}.header-avatar{width:42px;height:42px;border:0}main{padding:6px calc(var(--page-inset) + var(--safe-right)) calc(var(--nav-height) + max(var(--safe-bottom),env(safe-area-inset-bottom)) + 24px) calc(var(--page-inset) + var(--safe-left))}.page-heading{margin:0 0 22px}.page-heading p{font-size:15px;margin-top:12px}.section{margin:30px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title .muted{font-size:14px}.primary,.secondary{min-height:var(--button-height);padding:11px 14px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;width:100%;border:1px solid transparent;font-size:15px}.primary{background:linear-gradient(105deg,#e41923,#df1821);margin:16px 0 12px;box-shadow:inset 0 0 0 1px #df06121a}.primary:hover:not(:disabled){background:var(--color-accent-pressed)}.secondary{background:var(--color-surface-muted);margin:10px 0}.secondary:hover:not(:disabled){background:#e9ebef}.secondary.accent-text{background:#fff;border-color:var(--color-border)}.small{min-height:44px;padding:8px 12px;width:auto;margin:0}.text-button,.back-link{border:0;background:transparent;color:var(--color-accent);min-height:44px;padding:8px 0;font-size:14px}.back-link{display:flex;align-items:center;gap:7px;margin:-8px 0 8px;color:var(--color-text-secondary)}.icon-button{width:36px;height:36px;border:0;background:transparent;display:grid;place-items:center;position:relative;padding:5px;border-radius:8px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}input,textarea,select{min-width:0;width:100%;min-height:44px;background:#fff;color:var(--color-text);border:1px solid #dce1e7;border-radius:var(--radius-sm);padding:10px 12px;font-size:16px;font-weight:400}input::placeholder,textarea::placeholder{color:var(--color-text-secondary)}textarea{min-height:116px;resize:vertical;line-height:1.5}.form-grid{display:grid;gap:16px}.date-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:18px}.date-filters input{padding:9px 8px;font-size:14px}.meal-picker{border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;gap:12px;width:100%;padding:14px;margin:0 0 18px;background:var(--color-surface);text-align:left;font-size:15px}.menu-text{margin:22px 0 20px}.menu-text h2{font-size:21px;margin-bottom:9px;letter-spacing:-.4px}.menu-text p{font-size:15px;color:var(--color-text-secondary);line-height:1.5}.meal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px}.meal-heading .muted{font-size:14px;margin-top:3px}.meal-heading>strong{font-size:15px}.status-badge{font-size:13px;line-height:1.35;font-weight:400;border-radius:9px;padding:7px 11px;flex-shrink:0;background:var(--color-surface-muted);color:#34415a}.tone-success{background:var(--color-success-soft);color:var(--color-success)}.tone-danger{background:var(--color-danger-soft);color:var(--color-danger)}.tone-warning{background:#fff4df;color:#873c00}.tone-blue{background:#eaf3ff;color:#0048b5}.employee-meal,.cook-selected-meal,.cancelled-meal{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;background:var(--color-surface);box-shadow:var(--card-shadow)}.employee-meal .section{margin:0}.employee-meal .section-title{margin-bottom:10px}.employee-meal>.section+.section{padding-top:18px;margin-top:18px;border-top:1px solid var(--color-border)}.employee-meal .section:last-child .muted{font-size:13px}.vote-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.vote-buttons button{min-height:var(--vote-button-height);border:1px solid transparent;border-radius:16px;background:var(--color-surface-muted);font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px}.vote-buttons .vote-yes{background:linear-gradient(105deg,#e41923,#df1821);border-color:var(--color-accent)}.vote-buttons:has(.vote-no) .vote-yes{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}.vote-buttons .vote-no{background:#e9ebef;border-color:#626b7b;color:var(--color-text)}.vote-info{display:flex;gap:14px;align-items:center;padding:18px 4px 10px;margin:14px -4px 0;border-top:1px solid var(--color-border)}.vote-info svg{color:var(--color-text)}.vote-info strong{font-size:14px;font-weight:600}.vote-info p{font-size:14px;color:#34415a;margin:0;line-height:1.5}.rating-meal{display:flex;align-items:center;gap:13px;margin:12px 0 20px;font-size:15px}.rating-meal p{font-size:13px;margin-top:4px}.rating-choice{margin:12px 0 18px}.stars{display:flex;justify-content:center;gap:1px;margin:0}.stars button{color:#dcdfe5;border:0;background:transparent;padding:4px;width:40px;min-height:44px;border-radius:8px}.stars svg{width:32px;height:32px}.stars button.selected{color:var(--color-accent)}.rating-choice p{text-align:center;font-size:14px;color:var(--color-text-secondary)}.field-hint{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--color-text-secondary);margin:7px 0 18px}.privacy-note{font-size:13px;color:var(--color-text-secondary);margin:8px 0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:20px 0;padding:0}.metrics-compact{grid-template-columns:repeat(3,minmax(0,1fr))}.metrics>div{padding:12px 3px;text-align:center;background:var(--color-surface-muted);border-radius:13px}.metrics>div:last-child{border:0}.metrics strong{display:block;font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums;margin-top:4px}.metrics span{display:block;font-size:13px;color:#34415a}.metrics .metric-yes strong{color:var(--color-success)}.metrics .metric-no strong{color:var(--color-danger)}.portion-total{display:flex;width:100%;flex-direction:column;align-items:center;gap:5px;padding:24px;border:1px solid var(--color-border);background:#fff;border-radius:var(--radius-md);color:var(--color-text)}.portion-total strong{font-size:56px;line-height:1;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.portion-total span{color:var(--color-text-secondary);font-size:14px;margin-top:6px}.data-timestamp{font-size:13px;color:var(--color-text-secondary);margin:16px 0 8px}.overview-menu{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.overview-menu .menu-text{margin:0}.overview-menu .menu-text h2{font-size:15px}.overview-menu .menu-text p{font-size:13px}.row-icon{width:48px;height:48px;background:var(--color-accent-soft);color:var(--color-accent);border-radius:13px;display:grid;place-items:center;flex-shrink:0}.list{margin:14px 0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);box-shadow:var(--card-shadow)}.row{display:flex;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--color-border);min-height:78px;padding:14px;background:transparent;text-align:left;width:100%}.row:hover{background:var(--color-surface-muted)}.row:last-child{border-bottom:0}.row-copy{flex:1;min-width:0}.row strong{font-size:15px;font-weight:600;display:block}.row small{color:var(--color-text-secondary);display:block;margin-top:5px;font-size:13px;line-height:1.35}.row>svg{width:17px;color:var(--color-text-secondary)}.row-meta{font-size:13px;color:var(--color-text-secondary);max-width:36%;text-align:right}.next-meals{border:1px solid var(--color-border);border-radius:var(--radius-md)}.next-meals .row{padding:18px 14px;min-height:92px}.point-row{display:flex;justify-content:space-between;align-items:center;min-height:35px;padding:7px 14px;border-bottom:1px solid var(--color-border);gap:18px;font-size:14px}.point-row:last-child{border:0}.point-row b{font-variant-numeric:tabular-nums}summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:14px;font-weight:600}.member{display:flex;align-items:center;gap:12px;font-size:14px;padding:9px 6px;width:100%;background:#fff;color:var(--color-text);border:0;text-align:left;min-height:var(--attendance-row-height);border-bottom:1px solid var(--color-border)}.member:last-child{border:0}.member-name{flex:1}.avatar{width:34px;height:34px;background:#e3e6eb;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:400;color:#7b8493}.avatar-0{background:#ffb737;color:#fff}.avatar-1{background:#d8167e;color:#fff}.avatar-2{background:#bba0ed;color:#fff}.avatar-3{background:#21c4c0;color:#fff}.header-avatar{width:38px;height:38px}.filter-chips{display:flex;gap:6px;margin:0 0 10px}.filter-chip{border:1px solid transparent;background:var(--color-surface-muted);padding:6px 5px;min-height:36px;border-radius:10px;font-size:13px;flex:1;white-space:nowrap;color:#34415a}.filter-chip.active{background:var(--color-cta)}.review{margin:0;padding:15px 0;border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:1fr auto;gap:5px 10px}.review:last-child{border-bottom:0}.review-author{font-size:14px;font-weight:600}.review-stars{color:var(--color-accent);letter-spacing:1px;white-space:nowrap;font-size:16px}.review p{grid-column:1/-1;font-size:14px}.review footer{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:3px 10px;justify-content:space-between;color:var(--color-text-secondary);font-size:13px}.reviews-filter-bar{display:flex;gap:8px;margin-bottom:10px}.reviews-filter-bar .secondary{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 12px;font-size:14px;width:auto;flex:0 0 auto}.reviews-filter-bar .secondary:first-child{flex:1;min-width:0}.reviews-filter-bar .secondary span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-review{grid-template-columns:1fr;padding:13px 14px;gap:4px}.manager-review p{white-space:pre-wrap;overflow-wrap:anywhere}.manager-review footer{justify-content:flex-start;gap:4px}.rating-summary{font-size:14px;color:var(--color-text-secondary);padding-bottom:8px;border-bottom:1px solid var(--color-border)}.rating-summary b{color:var(--color-text)}.rating-distribution .motion-disclosure-body>div>div{display:flex;gap:12px;align-items:center;padding:5px 0;font-size:14px}progress{flex:1;height:6px;accent-color:var(--color-accent)}.history-list .row-copy strong{color:var(--color-text-secondary);font-size:13px;font-weight:400}.history-list .row-copy small{color:var(--color-text);font-size:14px}.status-text{font-size:13px;line-height:1.3;max-width:38%;text-align:right}.period-summary{border-bottom:1px solid var(--color-border);padding:8px 0 18px;margin-bottom:16px}.segments,.team-tabs{display:flex;gap:4px;margin:16px 0 20px;background:var(--color-surface-muted);padding:4px;border-radius:13px;min-height:var(--segment-height)}.segments button,.team-tabs button{flex:1;min-height:48px;border:0;background:transparent;font-size:15px;border-radius:10px;padding:6px}.segments button.active,.team-tabs button.active{background:var(--color-cta)}.team-tabs button{display:flex;align-items:center;justify-content:center;gap:8px}.count-badge{background:#fff;color:var(--color-accent);border-radius:5px;min-width:20px;padding:1px 4px;font-size:12px}.team-toolbar{display:flex;gap:8px;align-items:center;margin:16px 0}.search-input{flex:1;display:flex;align-items:center;gap:8px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;padding:0 10px;color:var(--color-text-secondary)}.search-input input{border:0;background:transparent;padding:8px 0;min-height:38px;font-size:14px;outline-offset:0}.filter-dot{position:absolute;right:6px;top:6px;width:6px;height:6px;background:var(--color-accent);border-radius:50%}.team-member{border-bottom:1px solid var(--color-border)}.team-member:last-child{border-bottom:0}.member-main{display:flex;align-items:center;width:100%;gap:12px;border:0;background:transparent;text-align:left;min-height:82px;padding:14px}.member-info{flex:1;min-width:0}.member-info strong{font-size:14px;font-weight:600;display:block}.member-info small{font-size:13px;display:block;color:var(--color-text-secondary);margin-top:3px}.member-main .status-text{max-width:26%;font-size:12px;color:var(--color-text-secondary)}.member-actions{display:flex;gap:8px;margin:0 0 14px 44px}.member-actions button{flex:1}.focused-request{background:var(--color-accent-soft)}.settings-group{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 14px;background:#fff}.setting-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:7px 0;border-bottom:1px solid var(--color-border);font-size:14px;font-weight:400}.setting-row:last-child{border-bottom:0}.setting-row>span{flex:1}.setting-row input:not(.switch){width:100px;min-height:40px;padding:7px;font-size:16px;text-align:center;border-color:var(--color-border)}input.switch{appearance:none;position:relative;width:42px;height:26px;min-height:26px;padding:0;border:0;border-radius:14px;background:#cdd0d5;flex-shrink:0;cursor:pointer}input.switch:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform var(--motion-active) var(--motion-ease-out)}input.switch:checked{background:var(--color-accent)}input.switch:checked:before{transform:translate(16px)}.detail-rows,.profile dl{margin:20px 0}.detail-rows>div,.profile dl>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--color-border);padding:14px 0;font-size:14px}dt{color:var(--color-text-secondary)}dd{margin:0;text-align:right;overflow-wrap:anywhere;max-width:65%}.profile-heading{display:flex;gap:12px;align-items:center;margin:24px 0}.profile-heading .avatar{width:44px;height:44px;font-size:15px}.profile-heading p{font-size:14px;margin-top:4px}.utility-section{margin:20px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);font-size:14px}.utility-section .motion-disclosure-body>div>p{padding:10px 0}.danger-actions{border-top:1px solid var(--color-border);margin-top:14px}pre{background:var(--color-surface-muted);padding:14px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--radius-sm)}.notice{display:flex;align-items:flex-start;gap:8px;padding:12px;font-size:14px;background:var(--color-success-soft);border-radius:var(--radius-sm)}.notice svg{color:var(--color-success);margin-top:1px}.notice.error{background:var(--color-danger-soft)}.notice.error svg{color:var(--color-danger)}.toast{position:fixed;bottom:calc(var(--nav-height) + max(var(--safe-bottom),env(safe-area-inset-bottom)) + 12px);left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:500px;z-index:60;display:flex;align-items:center;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000012}.toast .notice{flex:1;background:transparent}.empty{padding:24px 0;color:var(--color-text-secondary)}.empty h3{color:var(--color-text);font-size:16px;margin-bottom:6px}.empty p{font-size:14px}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:20px 0;font-size:14px}.pagination .secondary{width:auto}.skeleton{margin:20px 0;display:grid}.skeleton>div{height:64px;border-bottom:1px solid var(--color-border);position:relative}.skeleton>div:before,.skeleton>div:after{content:"";position:absolute;background:var(--color-surface-muted);border-radius:4px;animation:pulse var(--motion-loading) infinite}.skeleton>div:before{height:13px;width:45%;top:15px}.skeleton>div:after{height:10px;width:65%;top:38px}.skeleton .skeleton-title{height:44px}.skeleton .skeleton-menu{height:136px}.skeleton .skeleton-actions{height:52px}.skeleton .skeleton-actions:before{height:42px;width:48%;top:4px}.skeleton .skeleton-actions:after{height:42px;width:48%;left:52%;top:4px}.skeleton .skeleton-summary{height:94px}.skeleton .skeleton-summary:before{height:58px;width:100%;top:18px}.skeleton-settings>div{height:54px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--canvas-width);z-index:20;display:flex;justify-content:space-around;background:#fff;border-top:1px solid var(--color-border);padding:8px calc(4px + var(--safe-right)) calc(10px + max(var(--safe-bottom),env(safe-area-inset-bottom))) calc(4px + var(--safe-left));min-height:calc(var(--nav-height) + max(var(--safe-bottom),env(safe-area-inset-bottom)))}.bottom-nav button{background:transparent;border:0;color:var(--color-text-secondary);flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:64px;padding:4px 1px;font-size:13px}.bottom-nav button.active{color:var(--color-accent)}.bottom-nav button.active svg{stroke-width:2}.modal-backdrop{position:fixed;inset:0;z-index:40;background:#17191d55;display:flex;align-items:flex-end;justify-content:center}.modal{background:#fff;width:100%;max-width:var(--canvas-width);max-height:calc(92dvh - max(var(--safe-top),env(safe-area-inset-top)));overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 22px calc(24px + max(var(--safe-bottom),env(safe-area-inset-bottom)))}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.sheet-heading h2{font-size:18px;font-weight:650;letter-spacing:-.35px}.sheet-heading .icon-button{margin-right:-4px;color:var(--color-text-secondary)}.modal-content p{margin:10px 0;font-size:14px}.confirm-copy{margin-bottom:14px}.confirm-copy label{margin:16px 0}.modal .secondary{margin-bottom:0}.warning-block{background:#fff4df;color:#873c00;padding:14px;border-radius:12px;font-size:13px;line-height:1.5;display:flex;align-items:flex-start;gap:12px}.cancellation-reason{color:var(--color-text-secondary);font-size:14px;margin:18px 0}.cancellation-reason strong{color:var(--color-text)}.disabled-block{background:var(--color-surface-muted);color:var(--color-text-secondary);padding:24px 14px;border-radius:10px;display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;font-size:14px}.disabled-block strong,.disabled-block svg{color:var(--color-text)}.welcome,.loading{max-width:480px;margin:auto;padding:calc(36px + var(--safe-top)) 24px;min-height:var(--tg-viewport)}.welcome .brand,.loading .brand{margin-bottom:32px}.welcome h1{margin-bottom:16px}.welcome p{color:var(--color-text-secondary);font-size:15px;margin:16px 0}.telegram-gate h1{max-width:20ch}.telegram-gate-action{text-decoration:none;color:#fff}.qa-control{font-size:12px;color:#805019;margin-left:auto}.environment-controls{position:fixed;right:max(12px,calc((100vw - var(--canvas-width)) / 2 + 12px));bottom:calc(var(--nav-height) + max(var(--safe-bottom),env(safe-area-inset-bottom)) + 8px);z-index:20;display:flex;align-items:center;gap:4px;padding:3px 5px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 2px 8px #0b14230a}.environment-controls .demo-control,.environment-controls .qa-control{margin:0}.qa-role{display:block;width:100%;margin-top:12px}@keyframes pulse{50%{opacity:.45}}@media(min-width:701px){body{background:#eef0f4}.app-shell{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}}@media(max-width:374px){main{padding-left:16px;padding-right:16px}.topbar{padding-left:16px;padding-right:16px}.employee-meal,.cook-selected-meal,.cancelled-meal{padding:14px}.filter-chips{gap:4px}.filter-chip{padding:8px 4px}.status-badge{padding:5px 7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.heading-subtitle{font-size:15px;margin-top:12px}.greeting-wave{margin-left:5px;font-size:24px}.topbar .header-tool{color:#5a6880}.topbar .header-avatar{position:relative;margin-left:8px}.topbar .header-avatar:before{content:"";position:absolute;left:-14px;top:0;height:42px;border-left:1px solid var(--color-border)}.role-manager .header-tool,.role-admin .header-tool{border-left:1px solid var(--color-border);border-radius:0;padding-left:12px;width:42px}.topbar .tone-warning svg{color:#db8000;fill:#db8000}.topbar .tone-blue svg{color:#006bff}.vote-check{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#fff;color:var(--color-accent)}.vote-info b{color:var(--color-text);font-weight:500}.employee-meal .vote-info{margin-bottom:0}.next-meals .row-copy{display:flex;flex-direction:column;gap:4px}.next-meals .row-copy small{order:-1;margin-top:0}.next-meals .row-copy strong{font-size:16px}.history-list{margin-top:12px}.history-list .row{min-height:var(--history-row-height);padding:14px 16px;gap:12px}.history-list .row-copy strong{font-size:14px}.history-list .row-copy small{font-size:15px;font-weight:400;margin-top:4px}.attendance-list .status-badge{padding:5px 15px;border-radius:20px;font-size:14px}.attendance-list{margin-top:10px;border:0}.member>svg{color:var(--color-text-secondary);margin-left:-6px}.member-name{font-weight:400}.avatar-4{background:#20add9;color:#fff}.avatar-5{background:#ff6368;color:#fff}.avatar-6{background:#ff963c;color:#fff}.metrics .metric-yes{background:#eefbf3}.metrics .metric-no{background:#fff1f2}.metrics .metric-yes span{color:var(--color-success)}.metrics .metric-no span{color:var(--color-danger)}.role-manager .metrics{margin:20px 0}.role-manager .metrics+.section{margin-top:0}.metrics-compact{gap:6px;margin:18px 0 20px}.metrics-compact>div{border:1px solid var(--color-border);border-radius:14px;background:#fff;padding:12px 5px 18px;box-shadow:var(--card-shadow)}.metrics-compact strong{font-size:28px;color:var(--color-text)!important}.metrics-compact .metric-icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 6px;border-radius:12px;background:#edf5ff;color:#006bff}.metrics-compact .metric-yes .metric-icon{background:#e6f9ee;color:#10b96f}.metrics-compact .metric-unanswered .metric-icon{background:#f4f5f7;color:#66738b}.metrics-compact .metric-yes span{color:var(--color-text)}.management-list{margin-top:20px}.management-list .row{min-height:var(--admin-row-height)}.management-list .row-icon{background:#fff2ee}.picker-date{width:auto;background:transparent;padding:0;margin:0;border:0;color:var(--color-text-secondary);font-weight:400;gap:8px;font-size:16px}.picker-date span{position:static;width:auto;height:auto;clip-path:none}.picker-menu{min-height:80px;padding:12px;margin:0;box-shadow:var(--card-shadow)}.picker-menu strong{flex:1;font-size:16px}.picker-menu>svg{color:var(--color-text-secondary)}.cook-selected-meal{padding:12px 14px}.cook-selected-meal .meal-heading{font-size:15px}.cook-selected-meal .status-badge{font-size:12px;padding:7px 10px}.cook-menu-body{display:flex;gap:16px;align-items:center;margin:6px 0 0}.menu-utensils{display:grid;place-items:center;width:100px;height:98px;flex-shrink:0;border-radius:16px;background:var(--color-accent-soft);color:var(--color-accent)}.cook-menu-body .menu-text{margin:10px 0}.cook-menu-body .menu-text h2{font-size:17px;margin-bottom:8px}.cook-menu-body .menu-text p{font-size:13px}.cook-edit-actions{display:flex;gap:8px;padding-left:116px;margin-top:4px}.cook-edit-actions .secondary{min-height:40px;margin:0;padding:7px 10px;font-size:14px}.cook-edit-actions .icon-button{width:40px;flex-shrink:0}.role-cook[data-tab=menu] .section .row{min-height:70px;padding:12px 10px;gap:10px}.role-cook[data-tab=menu] .section .row-icon{width:28px;height:28px;border-radius:50%;background:#fff0ec}.role-cook[data-tab=menu] .section .row strong{font-size:13px;font-weight:400}.role-cook[data-tab=menu] .section .row small{font-size:14px;color:var(--color-text)}.role-cook[data-tab=menu] .section .row>svg{display:none}.role-cook[data-tab=menu] .section .status-badge{font-size:12px;padding:7px 9px;background:var(--color-surface-muted);color:var(--color-text);border-radius:20px}.role-cook[data-tab=menu] .section{margin-top:30px}.role-cook[data-tab=menu] .section h2{font-size:18px}.rating-form textarea{min-height:120px;font-size:14px;padding:11px 10px}.rating-form .primary{margin-top:16px;margin-bottom:0}.modal .rating-meal{margin:0 0 14px}.modal .rating-meal .row-icon{width:62px;height:60px}.modal-content .rating-meal p{margin:4px 0 0}.modal-content .warning-block p{margin:0;font-size:13px}.warning-block>svg{color:#f18900;flex-shrink:0}.cancel-textarea{min-height:80px;font-size:14px;padding:10px}.confirm-copy label{font-size:15px;gap:6px}.summary-details{margin:20px 0 14px}.summary-details>div{display:flex;gap:12px;align-items:center;margin:14px 0;font-size:14px}.summary-details strong{font-size:15px}.summary-details p{margin:4px 0 0;color:var(--color-text-secondary);font-size:14px}.summary-icon{display:grid;place-items:center;background:#f5f6f8;border-radius:10px;width:40px;height:38px}.summary-total{display:flex;justify-content:space-between;background:#fff4df;padding:15px;border-radius:12px;margin-top:12px;font-size:18px}.portion-list{margin:16px 0 0}.cancelled-meal{border:0;padding:12px}.cancelled-meal .meal-heading{font-size:14px;color:var(--color-text-secondary)}.cancelled-meal .rating-meal{margin-top:10px;margin-bottom:10px}.cancelled-meal .rating-meal .row-icon{width:72px;height:72px}.cancelled-meal .cancellation-reason{font-size:14px;margin:8px 0 24px}.cancelled-meal .disabled-block{margin:0 -8px;padding:20px 14px}.bottom-nav button.active .lucide-house,.bottom-nav button.active .lucide-chef-hat,.bottom-nav button.active .lucide-circle-arrow-down{fill:var(--color-accent)}.bottom-nav button.active .lucide-circle-arrow-down{stroke:var(--color-on-accent);background:var(--color-accent);border-radius:50%}.toast{max-width:358px}.metrics .metric-unanswered>span:not(.metric-icon){font-size:12px;white-space:nowrap}.metrics-compact .metric-yes{background:#fff}.metrics-compact>div:last-child{border:1px solid var(--color-border)}.metrics-compact .metric-yes .metric-icon svg{border-radius:50%;background:#10b96f;color:#fff;padding:3px}.role-employee[data-tab=history] .segments .active,.filter-chip.active{outline:1px solid var(--color-accent);outline-offset:2px;box-shadow:inset 0 0 0 1px #fff}.employee-meal .meal-heading{align-items:flex-start}.employee-meal .menu-text p{max-width:240px}.vote-info{padding-top:14px;padding-bottom:6px}.role-cook[data-tab=menu] main,.role-manager[data-tab=home] main{padding-top:2px}.role-cook[data-tab=menu] h1,.role-manager[data-tab=home] h1{font-size:24px}.role-manager[data-tab=home] .page-heading{margin-bottom:16px}.role-manager .picker-menu{min-height:76px}.role-manager .metrics{grid-template-columns:.85fr .9fr 1fr 1.3fr}.role-manager .metrics>div{padding-top:10px;padding-bottom:10px}.attendance-list{background:transparent;overflow:visible}.attendance-list .member{border:1px solid #f2f3f5;border-radius:10px;margin-bottom:2px;min-height:51px}.role-cook[data-tab=menu] .section .list{margin-top:8px}.role-cook[data-tab=menu] .section .row strong{font-size:14px}.cook-edit-actions .icon-button{background:var(--color-surface-muted)}.modal .sheet-heading .icon-button{width:24px;height:24px;padding:0}.modal .sheet-heading .icon-button svg{width:24px;height:24px}.modal .rating-meal{margin-bottom:8px}.rating-form textarea{min-height:116px}.modal .primary:disabled{opacity:1}.modal .rating-choice{margin:8px 0 10px}.stars button{width:38px;padding:1px}.stars svg{width:34px;height:34px}.modal[data-sheet="Отправить сводку поварам"] .warning-block p{font-size:12px}.modal[data-sheet="Отправить сводку поварам"] .primary,.modal[data-sheet="Отправить сводку поварам"] .secondary{min-height:42px;padding:8px 12px;font-size:14px}.modal[data-sheet="Отправить сводку поварам"] .primary{margin-top:12px;margin-bottom:8px}.modal[data-sheet="Количество порций"] .portion-list{border:0;border-radius:0}.menu-planning-list .row{min-height:70px;padding:12px 10px;gap:10px}.menu-planning-list .row-icon{width:28px;height:28px;border-radius:50%}.menu-planning-list .row strong{font-size:14px;font-weight:400}.menu-planning-list .row small{font-size:14px;color:var(--color-text)}.menu-planning-list .status-badge{font-size:12px;padding:7px 9px;border-radius:20px}.bottom-nav button.active .lucide-circle-check{fill:var(--color-accent);stroke:var(--color-on-accent)}.bottom-nav button.active .lucide-circle-check circle,.bottom-nav button.active .lucide-circle-arrow-down circle{stroke:var(--color-accent)}.vote-buttons .vote-yes{box-shadow:inset 0 0 0 1px #fff5}.menu-calendar{margin:16px 0;padding:14px 10px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.menu-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.menu-calendar-header .secondary{width:44px;min-height:44px;margin:0;padding:10px}.menu-month-picker{position:relative;min-height:44px;flex:1;display:grid;place-items:center;margin:0;font-size:16px;border-radius:8px}.menu-month-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.menu-month-picker:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.menu-calendar-week,.menu-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.menu-calendar-week{margin-bottom:6px;text-align:center;color:var(--color-text-secondary);font-size:12px}.menu-calendar-day{position:relative;display:grid;place-items:center;min-height:44px;padding:5px 2px 11px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:15px}.menu-calendar-day.has-menu{background:var(--color-accent-soft);color:var(--color-accent-pressed)}.menu-calendar-day.outside-month{color:var(--color-text-secondary)}.menu-calendar-day[aria-current=date]>span:first-child{text-decoration:underline;text-underline-offset:4px;font-weight:700}.menu-calendar-day.cancelled{background:var(--color-bg);color:var(--color-text-secondary)}.menu-calendar-day.selected{border-color:var(--color-accent-pressed);background:var(--color-accent-pressed)}.menu-day-mark{position:absolute;bottom:1px;line-height:1;font-size:15px}.menu-calendar-legend{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:12px;color:var(--color-text-secondary);font-size:12px}.menu-calendar-legend span{font-size:16px}.menu-calendar-legend span+span{margin-left:8px}.primary,.accent-control,.filter-chip.active,.segments button.active,.team-tabs button.active,.menu-calendar-day.selected,.vote-buttons .vote-yes{color:var(--color-on-accent);-webkit-text-fill-color:currentColor}button :where(span,strong,small,svg){-webkit-text-fill-color:currentColor}.accent-control :where(svg,.menu-day-mark),.primary svg{color:inherit}.member-role{display:block;color:var(--color-text-secondary);font-size:12px;font-weight:400;margin-top:3px}.own-review-stars,.own-review-comment{display:block;margin-top:5px}.own-review-stars{color:var(--color-accent)}.my-lunch,.previous-feedback{margin-top:24px}.my-lunch>h2,.previous-feedback>h2{margin-bottom:12px}.history-list .row-meta{max-width:100px;white-space:normal;text-align:right}.history-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.history-actions button{min-height:44px}.history-reviews-entry{margin-left:auto}.rating-summary{margin:16px 0}.history-date-selector{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin-bottom:12px}.history-date-picker{position:relative;display:flex;flex-direction:row;gap:8px;align-items:center;justify-content:center;min-height:44px;font-size:14px;color:var(--color-text)}.history-date-picker input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.history-date-picker:focus-within{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.history-empty{padding:18px 0}.point-people{margin:16px 0}
