.auth-wrap{--a-bg: #000000;--a-card: #0B0B0B;--a-card-border: rgba(34, 211, 238, .35);--a-cyan: #22D3EE;--a-text: #FFFFFF;--a-input-bg: #111111;--a-input-border: rgba(34, 211, 238, .6);--a-placeholder: #9CA3AF;--a-error: #fca5a5;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));background:var(--a-bg);color:var(--a-text);font-family:Heebo,system-ui,-apple-system,sans-serif;direction:rtl;text-align:right}.auth-wrap *,.auth-wrap *:before,.auth-wrap *:after{box-sizing:border-box}.auth-card{width:100%;max-width:440px;margin:auto;background:var(--a-card);border:1px solid var(--a-card-border);border-radius:20px;padding:24px}.auth-form{display:flex;flex-direction:column;gap:8px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:6px}.auth-logo{width:80px;height:80px;border-radius:20px;display:block}.auth-brand-name{margin:0;font-size:30px;line-height:1.25;font-weight:800;color:var(--a-cyan);text-align:center}.auth-title{margin:4px 0 0;font-size:24px;line-height:1.3;font-weight:800;color:var(--a-cyan);text-align:center}.auth-sub{margin:0 0 8px;font-size:14px;font-weight:400;color:var(--a-text);text-align:center}.auth-message{margin:0;font-size:17px;line-height:26px;font-weight:700;color:var(--a-text);text-align:center}.auth-note{margin:0;font-size:13px;line-height:19px;font-weight:400;color:var(--a-placeholder);text-align:center}.auth-label{margin-top:8px;font-size:14px;font-weight:500;color:var(--a-text)}.auth-wrap .auth-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;margin:0;padding:12px 14px;border:1px solid var(--a-input-border);border-radius:14px;background:var(--a-input-bg);color:var(--a-text);font-family:inherit;font-size:15px;font-weight:400;line-height:1.3;text-align:right;outline:none}@media (max-width: 700px){.auth-wrap .auth-input{font-size:16px}}.auth-wrap .auth-input::placeholder{color:var(--a-placeholder);opacity:1}.auth-wrap .auth-input:focus{border-color:var(--a-cyan);box-shadow:0 0 0 1px var(--a-cyan)}.auth-wrap .auth-ltr{font-size:16px;text-align:left}.auth-wrap .auth-ltr::placeholder{text-align:left}.auth-pass-row{display:flex;align-items:center;gap:8px}.auth-pass-row .auth-input{flex:1;min-width:0}.auth-eye{padding:8px;background:none;border:0;color:var(--a-placeholder);display:grid;place-items:center;cursor:pointer}.auth-eye:hover{color:var(--a-text)}.auth-err{margin-top:8px;font-size:13px;font-weight:500;color:var(--a-error)}.auth-errbox{border:1px solid var(--a-error);border-radius:14px;padding:10px 12px;text-align:center}.auth-errbox-msg{font-size:14px;font-weight:700;color:var(--a-error)}.auth-errbox-hint{margin-top:2px;font-size:12px;font-weight:400;color:var(--a-text)}.auth-wrap .auth-btn{margin-top:10px;padding:15px;width:100%;border:0;border-radius:14px;background:var(--a-cyan);color:#000;font-family:inherit;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;cursor:pointer}.auth-wrap .auth-btn:disabled{opacity:.6;cursor:default}.auth-wrap .auth-btn:focus-visible,.auth-wrap .auth-btn-outline:focus-visible,.auth-wrap .auth-link:focus-visible,.auth-wrap .auth-eye:focus-visible{outline:2px solid var(--a-text);outline-offset:2px}.auth-wrap .auth-wa{padding:16px}.auth-wrap .auth-btn-outline{width:100%;padding:12px;border:1px solid var(--a-cyan);border-radius:14px;background:transparent;color:var(--a-cyan);font-family:inherit;font-size:17px;font-weight:800;cursor:pointer}.auth-wrap .auth-resend{font-size:14px;font-weight:700;color:var(--a-text);padding:11px}.auth-wrap .auth-resend.waiting{border-color:var(--a-input-border);color:var(--a-placeholder)}.auth-wrap .auth-resend:disabled{opacity:.6;cursor:default}.auth-wrap .auth-link{align-self:center;padding:10px;background:none;border:0;color:var(--a-text);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer}.auth-wrap .auth-link-row{display:flex;align-items:center;justify-content:center;gap:4px}.auth-badge{align-self:center;width:60px;height:60px;border-radius:50%;margin-top:4px;border:1.5px solid var(--a-cyan);color:var(--a-cyan);display:grid;place-items:center}.otp-wrap{display:flex;flex-direction:column;gap:8px}.otp-boxes{position:relative;cursor:text}.otp-row{display:flex;justify-content:center;gap:8px}.otp-box{width:46px;height:56px;border:1.5px solid var(--a-input-border);border-radius:10px;background:var(--a-input-bg);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:var(--a-text)}.otp-box.active{border:2px solid var(--a-cyan)}.otp-box.err{border:2px solid var(--a-error)}.auth-wrap .otp-hidden{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;border:0;background:transparent;font-size:22px;text-align:center;caret-color:transparent}.otp-clear{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px;background:none;border:0;color:var(--a-text);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer}@media (max-width: 380px){.otp-box{width:40px;height:52px}.otp-row{gap:6px}}.mb-page{max-width:1280px;width:100%;margin-inline:auto;padding-bottom:84px}.mb-head{gap:10px}.mb-top{container-type:inline-size;min-width:0}.mb-top-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}@container (min-width: 760px){.mb-top-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.mb-top .cw-card{padding:12px 16px;gap:10px}.mb-head-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.mb-head-line .cw-section-title{font-size:18px}.mb-head .cw-field.mb-name-field{flex-direction:row;align-items:center;gap:10px}.mb-head .mb-name-field .cw-field-label{flex:none}.mb-head .mb-name-field input{flex:1 1 auto;width:auto;min-width:0}.mb-folders{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mb-folders .cw-chip,.mb-structure .cw-chip,.mb-structure .cw-pick{min-height:44px;display:inline-flex;align-items:center;gap:6px}.mb-folder-input{font:inherit;font-size:15px;min-height:44px;padding:6px 12px;border-radius:999px;border:1px solid var(--cw-accent-text);background:var(--cw-surface-2);color:var(--cw-ink);min-width:160px}.mb-structure{gap:8px}.mb-structure-row{display:flex;flex-direction:column;gap:6px}.mb-structure-row.inline{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 12px}.mb-structure-row.inline .mb-counter{margin-inline-start:auto}.mb-structure .cw-pick.locked:disabled{opacity:1;cursor:default}.mb-meals{display:flex;flex-direction:column;gap:18px}.mb-meal{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:var(--cw-shadow)}.mb-meal-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mb-meal-no{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--cw-accent-soft);color:var(--cw-accent-text);font-weight:800;font-size:14px;flex:none}.mb-meal-title{margin:0;font-size:18px;font-weight:800}.mb-time{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.mb-time input{font:inherit;min-height:44px;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink);padding:4px 10px}.mb-cheat-card{border:2px solid var(--cw-accent-text);background:var(--cw-accent-soft);padding:18px 20px}.mb-cheat-card .mb-meal-title{font-size:22px}.mb-today{margin:2px 0 0;font-size:18px;font-weight:800}.mb-bar-msg{min-width:0}.mb-save{min-width:140px;display:inline-flex;justify-content:center;align-items:center;text-align:center}.mb-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;align-items:start}.mb-opt{border:1px solid var(--cw-line);border-radius:14px;background:var(--cw-surface-2);padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.mb-opt-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mb-opt-ctl{margin-inline-start:auto;display:inline-flex;gap:4px}.mb-opt-sums{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mb-foods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mb-food{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-width:0}.mb-food-line{display:flex;align-items:center;gap:8px}.mb-food-name{font-weight:700;flex:1;min-width:0;overflow-wrap:anywhere}.mb-food-ctl{display:inline-flex;gap:2px;flex:none}.mb-icon{width:36px;height:36px;border-radius:10px;display:inline-grid;place-items:center;background:transparent;color:var(--cw-ink);border:1px solid var(--cw-line);cursor:pointer;flex:none}.mb-icon:hover:not(:disabled){background:var(--cw-accent-soft);border-color:var(--cw-accent-text)}.mb-icon:disabled{opacity:.35;cursor:not-allowed}.mb-icon.danger{color:var(--cw-danger)}.mb-icon.sm{width:28px;height:28px}.mb-icon:focus-visible,.mb-step:focus-visible,.mb-add-opt:focus-visible{outline:2px solid var(--cw-focus);outline-offset:2px}.mb-amount,.mb-amount-saved{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mb-amount-saved{color:var(--cw-muted);font-size:14px}.mb-stepper{display:inline-flex;align-items:stretch;gap:4px}.mb-stepper input{width:76px;min-height:40px;text-align:center;font:inherit;font-weight:800;font-variant-numeric:tabular-nums;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink);box-sizing:border-box}.mb-stepper input.bad{border-color:var(--cw-danger)}.mb-step{width:40px;min-height:40px;border-radius:10px;font:inherit;font-size:18px;font-weight:800;cursor:pointer;background:var(--cw-accent-soft);color:var(--cw-accent-text);border:1px solid transparent}.mb-amount select{flex:1 1 110px;min-width:0;min-height:40px;font:inherit;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink);padding:4px 10px;max-width:100%}.mb-hint{font-size:12.5px;color:var(--cw-muted)}.mb-alts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;border-top:1px dashed var(--cw-line);padding-top:6px}.mb-alt{display:inline-flex;align-items:center;gap:4px;background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:999px;padding:2px 4px 2px 10px;font-size:13px}.mb-text textarea{width:100%;box-sizing:border-box;font:inherit;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink);padding:8px 10px}.mb-add-food{align-self:stretch;justify-content:center;min-height:44px}.mb-add-opt{min-height:52px;width:100%;justify-content:center;font-size:16px;font-weight:800}.mb-conflict{display:flex;align-items:center;gap:10px;justify-content:space-between}html:has(.mb-page){scroll-padding-bottom:120px}.mb-bar{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:14px;box-shadow:var(--cw-shadow);padding-bottom:calc(10px + var(--safe-bottom, 0px))}.mb-bar-actions{display:inline-flex;gap:8px}.mb-bar .cw-btn{min-height:44px}.mb-dirty{font-weight:700;color:#b45309}[data-theme=dark] .coach-app .mb-dirty{color:#fcd34d}.mb-also-lib{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 12px;margin-bottom:10px;border:1px solid var(--cw-line);border-radius:12px;background:var(--cw-surface-2);font-weight:700;cursor:pointer}.mb-also-lib input{width:20px;height:20px;flex:none}.mb-stay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:44px}.mb-stay input{width:20px;height:20px}@media (max-width: 640px){.mb-opts{grid-template-columns:1fr}.mb-time{margin-inline-start:0;width:100%}.mb-icon{width:44px;height:44px}.mb-icon.sm{width:36px;height:36px}.mb-step{width:44px;min-height:44px}.mb-stepper input,.mb-amount select{min-height:44px}.mb-page{padding-bottom:96px}}.cw-menu-groups{display:flex;flex-direction:column;gap:12px}.cw-menu-group{display:flex;flex-direction:column;gap:6px}.cw-menu-group-h{margin:0;font-size:14px;font-weight:800;color:var(--cw-ink-2)}.mb-amount-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.mb-food-actions{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;flex:none}.mb-food-actions .mb-qty-btn{min-height:36px}@media (max-width: 640px){.mb-food-actions .mb-qty-btn{min-height:44px}}.mb-amount-text{font-weight:800;font-variant-numeric:tabular-nums}.mb-qty-sum{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:12px;background:var(--cw-surface-2);border:1px solid var(--cw-line)}.mb-compose{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.mb-compose .am-si-edit{display:inline-flex;align-items:center;gap:4px;margin-inline-start:auto;font:inherit;font-size:12px;font-weight:700;padding:3px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}.mb-compose .mi-row1{gap:6px}.mb-structure .cw-picks{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.mb-make-default{min-height:36px;white-space:nowrap}.crc-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.crc-tabs{align-self:flex-start;max-width:100%}.crc-tabs .cw-segment{display:inline-flex;align-items:center;gap:6px}.crc-tab-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-grid;place-items:center;font-size:11.5px;font-weight:800;background:#ef4444;color:#fff;font-variant-numeric:tabular-nums}.crc-grow{flex:1 1 auto}.crc-author{display:inline-flex;align-items:center;gap:8px;min-width:0}.crc-author-name{font-weight:700;color:var(--cw-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crc-author[data-deleted] .crc-author-name{color:var(--cw-muted);font-style:italic}.crc-avatar{border-radius:50%;flex:none;overflow:hidden;display:inline-grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,#34d399,#059669)}.crc-avatar img{width:100%;height:100%;object-fit:cover}.crc-avatar.deleted{background:var(--cw-surface-2);color:var(--cw-muted);border:1px dashed var(--cw-line)}.crc-coach-chip{font-size:11px;padding:2px 8px;background:#3b82f624;color:#2563eb}.crc-badges{display:inline-flex;gap:6px;flex-wrap:wrap}.crc-status.pending,.crc-kind.revision{background:#f59e0b29;color:#b45309}.crc-status.rejected,.crc-status.hidden{background:var(--cw-danger-soft);color:var(--cw-danger)}.crc-status.private{background:var(--cw-surface-2);color:var(--cw-muted)}.crc-kind.new{background:#3b82f624;color:#2563eb}.crc-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.crc-row{display:flex;align-items:center;gap:10px;padding:10px 12px}.crc-row.col{flex-direction:column;align-items:stretch}.crc-row-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.crc-row-btn{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:start;display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}.crc-row-btn>.crc-badges,.crc-row-btn>.crc-likes{flex:none}.crc-row-author.deleted{font-style:italic}@media (max-width: 560px){.crc-row,.crc-row-btn{flex-wrap:wrap}.crc-row-btn>.crc-badges{flex-basis:100%;padding-inline-start:64px}}.crc-row-btn:hover .crc-row-name{color:var(--cw-accent-text)}.crc-row-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 0}.crc-row-name{overflow-wrap:anywhere}.crc-thumb{width:52px;height:52px;border-radius:12px;flex:none;overflow:hidden;display:grid;place-items:center;background:var(--cw-surface-2);color:var(--cw-muted)}.crc-thumb img{width:100%;height:100%;object-fit:cover}.crc-likes{display:inline-flex;align-items:center;gap:4px;color:#e11d48;font-weight:700;font-size:13px}.crc-reports{list-style:none;margin:0;padding:8px 10px;border-radius:10px;background:var(--cw-surface-2);display:flex;flex-direction:column;gap:4px;font-size:13.5px}.crc-reports li.reviewed{opacity:.6}.crc-media{border-radius:14px;overflow:hidden;background:var(--cw-surface-2);max-width:520px}.crc-media img,.crc-media video{display:block;width:100%;max-height:360px;object-fit:cover}.crc-media.compact{max-width:160px}.crc-media.compact img,.crc-media.compact video{max-height:110px}.crc-media-wait{display:block;height:180px}.crc-full{display:flex;flex-direction:column;gap:14px}.crc-full-name{margin:0;font-size:20px}.crc-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--cw-ink-2);font-size:14px}.crc-meta>span{display:inline-flex;align-items:center;gap:5px}.crc-block h4{margin:0 0 6px;font-size:15px}.crc-list{margin:0;padding-inline-start:22px;display:flex;flex-direction:column;gap:4px}.crc-list.tight{gap:2px;font-size:13.5px}.crc-notes,.crc-pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.crc-review-head{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}.crc-ntable-wrap,.crc-diff-wrap{overflow-x:auto}.crc-ntable{border-collapse:collapse;width:100%;min-width:320px;font-variant-numeric:tabular-nums}.crc-ntable th,.crc-ntable td{padding:7px 8px;text-align:center;border-bottom:1px solid var(--cw-line)}.crc-ntable thead th{font-size:12.5px;color:var(--cw-muted);font-weight:700}.crc-ntable tbody th{text-align:start;font-weight:700;white-space:nowrap}.crc-ntable tr.entered{background:var(--cw-accent-soft)}.crc-entered{margin-inline-start:6px;font-size:11px;font-weight:700;color:var(--cw-accent-text)}.crc-na{color:var(--cw-muted);font-size:13px}.crc-diff{border-collapse:collapse;width:100%;min-width:420px}.crc-diff th,.crc-diff td{padding:8px;border-bottom:1px solid var(--cw-line);vertical-align:top;text-align:start}.crc-diff thead th{font-size:12.5px;color:var(--cw-muted)}.crc-diff td.before{background:var(--cw-danger-soft)}.crc-diff td.after{background:var(--cw-accent-soft)}.crc-diff-macros{display:flex;flex-direction:column;gap:2px;font-size:13.5px}.crc-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--cw-surface-2);color:var(--cw-ink-2);font-weight:600;margin-top:8px}.crc-banner.warn{background:#f59e0b29;color:#92400e}.crc-soft{margin:0;padding:8px 10px;border-radius:10px;background:#f59e0b1f;color:#92400e;font-size:13.5px}.crc-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}@media (max-width: 720px){.crc-macros{grid-template-columns:repeat(2,minmax(0,1fr))}}.crc-preview{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed var(--cw-line);border-radius:12px}.crc-file{position:relative;overflow:hidden}.crc-file input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.crc-lines{display:flex;flex-direction:column;gap:8px;align-items:stretch}.crc-lines>.cw-btn{align-self:flex-start}.crc-line{display:flex;align-items:flex-start;gap:8px}.crc-line input,.crc-line textarea{flex:1;min-width:0;font:inherit;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:8px 10px}.crc-line textarea{resize:vertical}.crc-line-n,.crc-line-dot{flex:none;width:22px;padding-top:9px;text-align:center;font-weight:800;color:var(--cw-accent-text)}.crc-line .cw-icon-btn{margin-top:6px}.crc-radio-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (max-width: 560px){.crc-radio-cards{grid-template-columns:minmax(0,1fr)}}.crc-radio-card{font:inherit;color:var(--cw-ink);text-align:start;display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;border:2px solid var(--cw-line);background:var(--cw-surface);cursor:pointer}.crc-radio-card>span{display:flex;flex-direction:column;gap:3px}.crc-radio-card small{color:var(--cw-muted);font-size:13px}.crc-radio-card svg{flex:none;color:var(--cw-muted)}.crc-radio-card.on{border-color:var(--cw-accent);background:var(--cw-accent-soft)}.crc-radio-card.on svg{color:var(--cw-accent-text)}.crc-profile-photo{display:flex;align-items:center;gap:14px}.crc-units{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--cw-line);border-radius:12px}.crc-units.invalid{border-color:var(--cw-danger)}.crc-unit{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:8px 10px;align-items:end;padding-bottom:10px;border-bottom:1px dashed var(--cw-line)}.crc-unit input{font:inherit;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:8px 10px;width:100%;box-sizing:border-box}.crc-unit-x{margin-bottom:6px}.crc-unit-live{grid-column:1 / -1}@media (max-width: 560px){.crc-unit{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.crc-unit>label:first-child{grid-column:1 / -1}}.coach-app{--cw-bg: var(--bg);--cw-surface: var(--surface);--cw-surface-2: var(--surface-2);--cw-line: var(--line);--cw-ink: var(--text-primary);--cw-ink-2: var(--ink-2);--cw-muted: var(--muted);--cw-accent: var(--primary);--cw-accent-text: var(--primary);--cw-accent-soft: var(--primary-soft);--cw-on-accent: #fff;--cw-accent-grad: linear-gradient(135deg, #10b981, #34d399);--cw-accent-shadow: 0 8px 18px rgba(16,185,129,.25);--cw-nav-bg: var(--surface);--cw-nav-ink: var(--ink-2);--cw-nav-muted: var(--muted);--cw-nav-hover: var(--surface-2);--cw-danger: var(--danger);--cw-danger-soft: #fff0ee;--cw-focus: var(--primary);--cw-shadow: var(--shadow-sm);color-scheme:light;background:var(--cw-bg);color:var(--cw-ink);font-family:Heebo,system-ui,sans-serif;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:264px minmax(0,1fr);padding-inline:var(--safe-left) var(--safe-right)}[data-theme=dark] .coach-app{--cw-danger-soft: rgba(239,68,68,.12);color-scheme:dark}.cw *:not(.cw-old-web,.cw-old-web *):focus-visible{outline:2px solid var(--cw-focus);outline-offset:2px}.cw-skip{position:absolute;inset-inline-start:8px;top:-40px;background:var(--cw-accent);color:var(--cw-on-accent);padding:8px 12px;border-radius:8px;z-index:50}.cw-skip:focus{top:8px}.cw-sidebar{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;padding-top:calc(18px + var(--safe-top));padding-bottom:calc(18px + var(--safe-bottom));background:var(--cw-nav-bg);color:var(--cw-nav-ink);display:flex;flex-direction:column;gap:18px;padding-inline:14px;border-inline-end:1px solid var(--cw-line)}.cw-brand{display:flex;align-items:center;gap:10px;padding-inline:6px}.cw-brand-logo{width:38px;height:38px;border-radius:9px;object-fit:cover;display:block;flex:none}.cw-brand-name{font-weight:800;font-size:15px}.cw-brand-sub{font-size:12px;color:var(--cw-nav-muted)}.cw .cw-drawer-close{display:none;margin-inline-start:auto;color:var(--cw-nav-ink);border-color:var(--cw-line)}.cw-nav{display:flex;flex-direction:column;gap:4px}.cw-nav-label{font-size:11.5px;letter-spacing:.06em;color:var(--cw-nav-muted);padding:4px 10px 6px}.cw-nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--cw-nav-ink);text-decoration:none;font-weight:600;font-size:14.5px;position:relative}.cw-nav-item:hover{background:var(--cw-nav-hover);color:var(--ink)}.cw-nav-item.active{background:var(--cw-accent-grad);color:var(--cw-on-accent);box-shadow:0 8px 18px #10b9814d}.cw-nav-badge{margin-inline-start:auto;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:grid;place-items:center;font-size:12px;font-weight:700;background:#ef4444;color:#fff;font-variant-numeric:tabular-nums}.cw-sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--cw-line);padding-top:14px}.cw-user{display:flex;align-items:center;gap:10px;padding-inline:6px}.cw-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#34d399,#059669);color:#fff;font-weight:800;flex:none}.cw-user-text{min-width:0}.cw-user-name{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-user-role{font-size:12px;color:var(--cw-nav-muted)}.cw-sidebar .cw-logout{color:var(--cw-nav-ink);background:var(--cw-surface-2);border-color:var(--cw-line);justify-content:center}.cw-sidebar .cw-logout:hover{background:var(--cw-nav-hover)}.cw-main{min-width:0;display:flex;flex-direction:column}.cw-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:calc(12px + var(--safe-top)) 28px 12px;background:linear-gradient(135deg,#08162b,#0b2640 30%,#072a28,#0a2318 80%,#0d1a2e);border-bottom:1px solid rgba(52,211,153,.12)}.cw-topbar .cw-crumb-cur{color:#fff}.cw-topbar .cw-icon-btn{background:#2a2f42;border-color:#3d4360;color:#f3f4f8}.cw-topbar .cw-icon-btn:hover,.cw-topbar .cw-icon-btn.active{background:#1a3a2a;border-color:#34d399;color:#34d399}.cw .cw-burger{display:none}.cw-crumbs{display:flex;gap:8px;align-items:baseline;font-size:14px;min-width:0}.cw-crumb-muted{color:var(--cw-muted)}.cw-crumb-sep{color:var(--muted-2)}.cw-crumb-cur{font-weight:800;font-size:17px;color:var(--cw-ink)}.cw-topbar-end{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.cw-icon-btn{position:relative;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:transparent;border:1px solid var(--cw-line);color:var(--cw-ink);cursor:pointer;text-decoration:none}.cw-icon-btn:hover,.cw-icon-btn.active{background:var(--cw-accent-soft);border-color:var(--cw-accent-text)}.cw-bell-badge{position:absolute;top:-6px;inset-inline-end:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--cw-danger);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;font-variant-numeric:tabular-nums}.cw-content{padding:24px 28px calc(40px + var(--safe-bottom));min-width:0;width:100%;max-width:1320px;margin-inline:auto}.cw-content:focus{outline:none}.cw-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;background:var(--cw-accent-grad);color:var(--cw-on-accent);border:1px solid transparent}.cw-btn-ghost{background:var(--cw-surface-2);color:var(--cw-ink-2);border-color:var(--cw-line)}.cw-btn-ghost:hover:not(:disabled){background:var(--line-2)}.cw-btn-danger{background:var(--cw-danger);color:#fff}.cw-chips{display:flex;flex-wrap:wrap;gap:8px}.cw-chip{font:inherit;font-size:13.5px;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;background:var(--cw-surface);color:var(--cw-ink-2);border:1px solid var(--cw-line)}.cw-chip[aria-pressed=true]{background:var(--cw-accent-grad);color:var(--cw-on-accent);border-color:transparent}.cw-page{display:flex;flex-direction:column;gap:16px;max-width:860px}.cw-page-head h1{margin:0;font-size:26px;font-weight:800}.cw-notifs{max-width:1180px}.cw-notifs-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}.cw-notifs-feed{display:flex;flex-direction:column;gap:16px;min-width:0}.cw-kind-cards{display:grid;grid-template-columns:1fr;gap:6px;position:sticky;top:12px}.cw-kind-card{font:inherit;color:inherit;text-align:start;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:10px;background:var(--cw-surface);border:1px solid var(--cw-line);transition:border-color .12s,background .12s}.cw-kind-card:hover{border-color:var(--cw-accent-text)}.cw-kind-card[aria-pressed=true]{border-color:var(--cw-accent-text);background:color-mix(in srgb,var(--cw-accent-text) 8%,var(--cw-surface))}.cw-kind-card-top{display:flex;align-items:center;gap:7px;min-width:0;color:var(--cw-muted)}.cw-kind-card[aria-pressed=true] .cw-kind-card-top{color:var(--cw-accent-text)}.cw-kind-card-name{color:var(--cw-ink);font-size:13.5px;font-weight:600;line-height:1.25}.cw-kind-card-nums{display:flex;align-items:baseline;gap:10px;flex:none;font-size:11.5px;color:var(--cw-muted)}.cw-kind-card-nums b{font-size:14px;font-weight:700;color:var(--cw-ink-2);font-variant-numeric:tabular-nums}.cw-kind-card.has-unread .cw-kind-card-nums>span:first-child b{color:var(--cw-accent-text)}@media (max-width: 900px){.cw-notifs-grid{grid-template-columns:1fr}.cw-kind-cards{order:-1;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.cw-kind-card{flex-direction:column;align-items:flex-start;gap:4px}}.cw-notifs-clear{margin-inline-start:auto}.cw-combo{position:relative}.cw-combo>.cw-chip{display:inline-flex;align-items:center;gap:6px}.cw-combo-pop{position:absolute;inset-inline-start:0;top:calc(100% + 6px);z-index:30;width:min(320px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:12px;box-shadow:0 8px 24px #00000024;overflow:hidden}.cw-combo-pop.up{top:auto;bottom:calc(100% + 6px);flex-direction:column-reverse}.cw-combo-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--cw-line);color:var(--cw-muted)}.cw-combo-pop.up .cw-combo-search{border-bottom:0;border-top:1px solid var(--cw-line)}.cw-combo-search input{flex:1;min-width:0;font:inherit;color:var(--cw-ink);background:transparent;border:0;outline:none}.cw-combo-list{list-style:none;margin:0;padding:4px;overflow-y:auto;overscroll-behavior:contain}.cw-combo-opt{padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--cw-ink)}.cw-combo-opt.active{background:var(--cw-accent-soft)}.cw-combo-opt.chosen{font-weight:700;color:var(--cw-accent-text)}.cw-combo-empty{padding:10px;color:var(--cw-muted);font-size:13.5px}.cw-people{padding:10px;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:12px}.cw-group{display:flex;flex-direction:column;gap:8px}.cw-day{margin:8px 0 0;font-size:13px;font-weight:700;color:var(--cw-muted);letter-spacing:.02em}.cw-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cw-row{width:100%;text-align:start;font:inherit;color:inherit;cursor:pointer;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:var(--cw-surface);border:1px solid var(--cw-line)}.cw-row:hover{border-color:var(--cw-accent-text)}.cw-row.unread{background:color-mix(in srgb,var(--cw-accent-text) 4%,var(--cw-surface));border-inline-start:3px solid var(--cw-accent-text);padding-inline-start:12px}.cw-row:not(.unread) .cw-row-name{font-weight:600}.cw-row-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--cw-surface-2);color:var(--cw-muted);flex:none}.cw-row.unread .cw-row-icon{background:var(--cw-accent-soft);color:var(--cw-accent-text)}.cw-row-text{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.cw-row-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cw-row-name{font-weight:700;font-size:14.5px;color:var(--cw-ink)}.cw-row-chips{display:flex;gap:6px;flex-wrap:wrap}.cw-kind{font-size:12px;padding:1px 8px;border-radius:999px;border:1px solid var(--cw-line);color:var(--cw-muted);background:var(--cw-bg)}.cw-kind.pending{background:var(--cw-danger-soft);color:var(--cw-danger);border-color:transparent}.cw-row-time{margin-inline-start:auto;font-size:12px;color:var(--cw-muted);font-variant-numeric:tabular-nums}.cw-row-desc{color:var(--cw-ink-2)}.cw-row-preview{color:var(--cw-muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-dot{width:8px;height:8px;border-radius:50%;background:var(--cw-accent-text);flex:none;margin-top:6px}.cw-more{align-self:center;font:inherit;font-weight:700;color:var(--cw-accent-text);background:transparent;border:1px solid var(--cw-line);border-radius:10px;padding:9px 18px;cursor:pointer}.cw-empty,.cw-error{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;text-align:center;color:var(--cw-muted);background:var(--cw-surface);border:1px dashed var(--cw-line);border-radius:14px}.cw-empty-title{margin:0;font-weight:700;color:var(--cw-ink-2)}.cw-empty-hint{margin:0;font-size:13.5px}.cw-skeleton{display:flex;flex-direction:column;gap:8px}.cw-skel-row{height:64px;border-radius:12px;background:linear-gradient(90deg,var(--cw-surface) 0%,var(--cw-surface-2) 50%,var(--cw-surface) 100%);background-size:200% 100%;animation:cw-shimmer 1.4s infinite}@keyframes cw-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.cw-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192d80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:80;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left))}.cw-modal{width:min(420px,100%);background:var(--cw-surface);color:var(--cw-ink);border:1px solid var(--cw-line);border-radius:16px;padding:20px 22px;box-shadow:var(--cw-shadow);display:flex;flex-direction:column;gap:10px}.cw-modal h2{margin:0;font-size:18px}.cw-modal-head{display:flex;align-items:flex-start;gap:10px}.cw-modal-head h2{flex:1;min-width:0}.cw-modal-x{flex:none;margin-inline-start:auto;margin-block:-6px;color:var(--cw-muted)}.cw-modal-x:hover{color:var(--cw-ink)}.coach-app .confirm-modal{position:relative}.cw-old-confirm-x{position:absolute;inset-block-start:12px;inset-inline-end:12px;display:grid;place-items:center;width:36px;height:36px}.cw-modal p{margin:0;color:var(--cw-muted)}.cw-modal p.cw-form-error{color:var(--cw-danger)}.cw-modal p.cw-confirm-subject{color:var(--cw-ink);font-weight:800;font-size:16px;overflow-wrap:anywhere}.cw-modal ul.cw-confirm-details{margin:0 0 12px;padding-inline-start:20px;color:var(--cw-ink);font-size:14px;line-height:1.5}.cw-modal .cw-confirm-phrase{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.cw-modal .cw-confirm-phrase input{min-height:40px}.cw-modal .cw-btn-danger:disabled{opacity:.45;cursor:not-allowed}.cw-modal p.cw-note.warn{color:#92400e}[data-theme=dark] .coach-app .cw-modal p.cw-note.warn{color:#fcd34d}[data-theme=dark] .coach-app .cw-modal{background:#101420f7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.cw-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}.cw-modal-form{display:flex;flex-direction:column;gap:14px;min-width:0}.cw-modal-form>.cw-actions{margin-top:2px}@media (max-width: 1099px){.coach-app{grid-template-columns:76px minmax(0,1fr)}.cw-sidebar{padding-inline:10px;padding-top:calc(14px + var(--safe-top));padding-bottom:calc(14px + var(--safe-bottom));align-items:center}.cw-brand-text,.cw-nav-label,.cw-nav-text,.cw-user-text{display:none}.cw-nav-item{justify-content:center;padding:11px}.cw-nav-badge{position:absolute;top:2px;inset-inline-end:2px;min-width:18px;height:18px;font-size:11px}.cw-content,.cw-topbar{padding-inline:20px}}@media (max-width: 759px){.coach-app{grid-template-columns:minmax(0,1fr)}.cw-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:min(300px,86vw);z-index:60;transform:translate(100%);transition:transform .2s ease;align-items:stretch;padding-inline:14px;padding-top:calc(18px + var(--safe-top));padding-bottom:calc(18px + var(--safe-bottom));height:auto}.cw-sidebar.open{transform:none}.cw-brand-text,.cw-nav-label,.cw-nav-text,.cw-user-text{display:revert}.cw-nav-item{justify-content:flex-start;padding:10px 12px}.cw-nav-badge{position:static}.cw .cw-drawer-close{display:grid}.cw-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:55}.cw .cw-burger{display:grid}.cw-content,.cw-topbar{padding-inline:16px}.cw-crumb-muted,.cw-crumb-sep{display:none}}@media (prefers-reduced-motion: reduce){.cw-sidebar{transition:none}.cw-skel-row{animation:none}}.cw-page.cw-wide{max-width:none}.cw-page.cw-narrow{max-width:900px}.cw-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.cw-page-title{margin:0;font-size:26px;font-weight:800;line-height:1.2}.cw-page-sub{margin:4px 0 0;color:var(--cw-muted);font-size:14px}.cw-muted{color:var(--cw-muted)}.cw-hint{margin:0;font-size:13px;color:var(--cw-muted)}.cw-hint.muted{opacity:.8}.cw-hint.danger{color:var(--cw-danger)}.cw-note{margin:0;font-size:12.5px;color:var(--cw-ink-2)}.cw-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cw-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.cw-stack{display:flex;flex-direction:column;gap:12px}.cw-sub{margin:4px 0 0;font-size:14px;font-weight:800;color:var(--cw-ink-2)}.cw-req{color:var(--cw-danger)}.cw-btn:disabled,.cw-btn.disabled{opacity:.5;cursor:not-allowed}.cw-btn:hover:not(:disabled){filter:brightness(1.04)}.cw-btn-primary{background:var(--cw-accent-grad);color:var(--cw-on-accent);box-shadow:var(--cw-accent-shadow)}.cw-btn-primary:hover:not(:disabled){box-shadow:0 10px 22px #10b98159}.cw-btn-soft{background:var(--cw-accent-soft);color:var(--cw-accent-text);border-color:transparent;text-decoration:none}.cw-btn-danger-soft{background:var(--cw-danger-soft);color:var(--cw-danger);border-color:transparent}.cw-btn-sm{padding:6px 12px;font-size:13px}.cw-icon-btn.sm{width:28px;height:28px;border-radius:8px}.cw-chip.on,.cw-chip[aria-checked=true]{background:var(--cw-accent-grad);color:var(--cw-on-accent);border-color:transparent}.cw-chip:disabled{opacity:.45;cursor:not-allowed}.cw-back,.cw-link{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:14px;font-weight:700;color:var(--cw-accent-text);background:none;border:0;padding:0;cursor:pointer;align-self:flex-start}.cw-back{margin-bottom:4px}.cw-back{min-height:32px;padding-inline:4px;border-radius:8px}.cw-back .cw-back-icon{flex:none}@media (max-width: 760px),(pointer: coarse){.cw-back{min-height:44px;min-width:44px;padding-inline:8px;margin-inline-start:-8px}}.cw-old-web .cw-back{color:var(--primary, var(--cw-accent-text))}.cw-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cw-pick-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:1 1 100%;min-width:0}.cw-pick-row>.cw-btn{justify-content:center;min-width:0;white-space:normal;text-align:center;line-height:1.25}@media (max-width: 339px){.cw-pick-row{grid-template-columns:minmax(0,1fr)}}.cw-actions.sticky{position:sticky;bottom:0;padding:12px 0 calc(12px + var(--safe-bottom));background:linear-gradient(to top,var(--cw-bg) 70%,transparent)}.cw-form-error{margin:0;color:var(--cw-danger);font-weight:600;font-size:14px}.cw-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.cw-segments{display:flex;gap:6px;flex-wrap:wrap;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:12px;padding:4px}.cw-segment{font:inherit;font-size:13.5px;font-weight:700;padding:7px 12px;border-radius:9px;border:0;background:transparent;color:var(--cw-ink-2);cursor:pointer}.cw-segment.on{background:var(--cw-accent-grad);color:var(--cw-on-accent);box-shadow:0 6px 14px #10b9814d}.cw-segment.danger,.cw-segment.danger.on{background:var(--cw-danger);color:#fff}.cw-segment.danger:hover,.cw-segment.danger.on:hover{background:var(--cw-accent);color:#fff}.cw-segment.danger.on{box-shadow:0 6px 14px #e74c3c4d}.cw-search{display:flex;align-items:center;gap:8px;min-width:min(320px,100%);flex:1 1 260px;max-width:420px;padding:8px 12px;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:12px;color:var(--cw-muted)}.cw-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;color:var(--cw-ink)}.cw-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.cw-tcard{font:inherit;color:inherit;text-align:start;cursor:pointer;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--cw-surface);border:1px solid var(--cw-line);box-shadow:var(--cw-shadow);min-width:0;width:100%;overflow:hidden}.cw-tcard:hover{border-color:#a7f3d0;box-shadow:var(--shadow);transform:translateY(-2px)}.cw-tcard{transition:all .18s ease}.cw-tcard-top{display:flex;gap:12px;align-items:flex-start}.cw-tcard-who{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 0;overflow:hidden}.cw-tcard-name{display:flex;align-items:center;gap:8px;font-weight:800;font-size:16px;min-width:0}.cw-tcard-name-text{min-width:0;line-height:1.25;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.cw-tcard-user{color:var(--cw-accent-text);font-size:13px}.cw-tcard-stats{display:flex;gap:8px;align-items:center;font-size:13px;flex-wrap:wrap}.cw-level{font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--cw-accent-soft);color:var(--cw-accent-text)}.cw-level.dim{opacity:.45}.cw-tcard-rings{display:flex;justify-content:space-around;gap:6px;padding-top:10px;border-top:1px solid var(--cw-line)}.cw-tcard-status{list-style:none;margin:0;padding:8px 0 0;border-top:1px dashed var(--cw-line);display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--cw-ink-2)}.cw-tcard-status li{display:flex;align-items:center;gap:8px}.cw-tcard-status .cw-dot{margin-top:0}.cw-tcard-today{display:flex;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--cw-muted);padding-top:8px;border-top:1px solid var(--cw-line)}.cw-tcard-today .done{color:var(--cw-accent-text);font-weight:700}.cw-badge{align-self:flex-start;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.cw-badge.danger{background:var(--cw-danger-soft);color:var(--cw-danger)}.cw-badge.pink{background:#ffe0e6;color:#c0294a}.cw-live-indicator{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;padding:5px 10px;text-align:center;border-radius:14px;font-family:inherit;margin-inline-start:auto}.cw-live-top{display:flex;align-items:center;gap:5px}.cw-live-time{font-size:12px;font-weight:800;color:var(--text-primary);white-space:nowrap}.cw-live-indicator.green .cw-live-time{color:#059669}.cw-live-indicator.orange .cw-live-time{color:#d97706}.cw-live-indicator.red .cw-live-time{color:#dc2626}.cw-live-indicator.green{background:#10b9811a}.cw-live-indicator.orange{background:#f59e0b1a}.cw-live-indicator.red{background:#ef444414}.cw-live-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;position:relative}.cw-live-indicator.green .cw-live-dot{background:#10b981;box-shadow:0 0 6px #10b98180;animation:cwLiveBreathe 2.5s ease-in-out infinite}.cw-live-indicator.orange .cw-live-dot{background:#f59e0b;box-shadow:0 0 4px #f59e0b66;animation:cwLiveBreathe 3s ease-in-out infinite}.cw-live-indicator.red .cw-live-dot{background:#ef4444;box-shadow:0 0 3px #ef44444d}@keyframes cwLiveBreathe{0%,to{opacity:1;box-shadow:0 0 4px currentColor}50%{opacity:.6;box-shadow:0 0 10px currentColor}}.cw-live-text{font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.cw-live-indicator.green .cw-live-text{color:#10b981}.cw-live-indicator.orange .cw-live-text{color:#f59e0b}.cw-live-indicator.red .cw-live-text{color:#ef4444;opacity:.7}.cw-tavatar{border-radius:14px;flex:none;overflow:hidden;display:grid;place-items:center;color:#fff;font-weight:800;background:linear-gradient(135deg,#34d399,#059669)}.cw-tavatar img{width:100%;height:100%;object-fit:cover}.cw-tavatar-btn{padding:0;border:0;cursor:zoom-in}.cw-tavatar-btn:focus-visible{outline:2px solid var(--cw-accent);outline-offset:2px}.cw-ring{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.cw-ring-of{font-size:11.5px;color:var(--cw-ink-2)}.cw-ring-label{font-size:12.5px;font-weight:700}.cw-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;align-items:start}.cw-span2{grid-column:1 / -1}.cw-card{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:12px;min-width:0;box-shadow:var(--cw-shadow)}.cw-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-card-title{margin:0;font-size:16px;font-weight:800}.cw-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 16px}.cw-fact{min-width:0}.cw-fact-label{font-size:12.5px;color:var(--cw-muted)}.cw-fact-value{font-weight:700;overflow-wrap:anywhere}.cw-fact-value.muted{color:var(--cw-muted);font-weight:400}.cw-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cw-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cw-field{display:flex;flex-direction:column;gap:5px;min-width:0}.cw-field-group{display:flex;flex-direction:column;gap:6px}.cw-field-label{font-size:13px;font-weight:700;color:var(--cw-ink-2)}.cw-field-hint{font-size:12.5px;color:var(--cw-muted)}.cw-field input:not([type=checkbox]),.cw-field textarea,.cw-inline input{font:inherit;font-size:15px;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:9px 12px;min-width:0;width:100%;box-sizing:border-box}.cw-field input:focus,.cw-field textarea:focus,.cw-inline input:focus{border-color:var(--cw-accent-text);outline:none;box-shadow:0 0 0 3px var(--cw-accent-soft)}.cw-field textarea{resize:vertical}.cw-fieldset{border:0;padding:0;margin:0}.cw-check{display:flex;align-items:center;gap:8px;font-size:14.5px;cursor:pointer}.cw-check input{width:18px;height:18px;accent-color:var(--cw-accent-text)}.cw-diet-checks .cw-check{gap:10px}.cw-option-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-option-card{font:inherit;font-size:14px;font-weight:600;text-align:center;padding:12px 10px;border-radius:12px;cursor:pointer;background:var(--cw-surface);color:var(--cw-ink-2);border:1.5px solid var(--cw-line)}.cw-option-card:hover{border-color:var(--cw-accent-text)}.cw-option-card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--cw-accent-soft);border-color:var(--cw-accent-text)}.cw-option-card.on{background:var(--cw-accent-soft);color:var(--cw-accent-text);border-color:var(--cw-accent-text)}@media (max-width: 520px){.cw-option-cards{grid-template-columns:minmax(0,1fr)}}.cw-indent{padding-inline-start:26px;display:flex;flex-direction:column;gap:6px}.cw-calc{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:#ec489914;border:1px dashed rgba(236,72,153,.35)}.cw-calc-value{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.cw-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cw-events li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;border-radius:8px;background:var(--cw-surface-2);font-size:13.5px}.cw-inline{display:flex;gap:8px;align-items:center}.cw-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.cw-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:var(--cw-surface-2);border:1px solid var(--cw-line);font-size:13.5px}.cw-tag-note{font-size:11.5px;color:var(--cw-muted)}.cw-prefs{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.cw-prefs li{display:flex;justify-content:space-between;gap:8px;font-size:14px;padding:4px 0;border-bottom:1px solid var(--cw-line)}.cw-prefs .on{color:var(--cw-accent-text);font-weight:700}.cw-prefs .off{color:var(--cw-muted)}.cw-switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.cw-switch-row>span{display:flex;flex-direction:column;gap:3px}.cw-switch-label{font-weight:700}.cw-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:46px;height:26px;border-radius:999px;background:var(--cw-line);position:relative;cursor:pointer;flex:none;transition:background .15s}.cw-switch:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:inset-inline-start .15s;box-shadow:0 1px 3px #00000040}.cw-switch:checked{background:var(--cw-accent-text)}.cw-switch:checked:after{inset-inline-start:23px}button.cw-switch{border:0;padding:0}button.cw-switch>span{display:none}button.cw-switch.on{background:var(--cw-accent-text)}button.cw-switch.on:after{inset-inline-start:23px}button.cw-switch:disabled{opacity:.55;cursor:default}.cw-thead{display:flex;gap:16px 24px;align-items:center;flex-wrap:wrap;padding:20px 24px;border-radius:18px;background:var(--cw-nav-bg);color:var(--cw-nav-ink);border:1px solid var(--cw-line)}.cw-thead .cw-muted,.cw-thead .cw-hint{color:var(--cw-nav-muted)}.cw-thead .cw-page-title{color:var(--text-primary);overflow-wrap:anywhere}.cw-thead .cw-thead-phone{color:var(--text-secondary);font-size:14px;font-weight:600}.cw-thead-who{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.cw-thead-sub{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;margin-top:6px}.cw-thead-sub>.cw-pill,.cw-thead-dates{font-size:13.5px;line-height:1.4;padding:4px 12px;border-radius:999px;border:1px solid transparent;max-width:100%}.cw-thead-dates{display:inline-flex;align-items:center;background:var(--cw-surface-2);border-color:var(--cw-line);color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}.cw-thead-actions{display:flex;gap:10px;flex-wrap:wrap;margin-inline-start:auto}.cw-thead-actions .cw-btn-delete{background:var(--cw-danger-soft);color:var(--cw-danger);border-color:var(--cw-danger)}.cw-thead-actions .cw-btn-delete:hover:not(:disabled),.cw-thead-actions .cw-btn-delete:focus-visible{background:var(--cw-danger);color:#fff}.cw-thead-actions .cw-btn-delete:disabled{opacity:.5;cursor:default}@media (max-width: 760px),(pointer: coarse){.cw-thead-actions .cw-btn{min-height:44px;justify-content:center}}.cw-pill{display:inline-flex;align-items:center;font-size:12.5px;font-weight:800;padding:3px 10px;border-radius:999px;background:#10b98124;color:#059669}.cw-pill.frozen{background:var(--cw-danger-soft);color:var(--cw-danger)}.cw-pill.expired,.cw-pill.completed{background:var(--cw-surface-2);color:var(--cw-muted)}.cw-vacation-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.cw-vacation-list>li{padding-top:10px;border-top:1px dashed var(--cw-line)}.cw-vacation-dates{color:var(--cw-ink, #fff);font-weight:700}.cw-vacation-add{opacity:.7;margin-top:8px}.cw-vacation-row{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:6px}.cw-vacation-past{list-style:none;margin:10px 0 0;padding:8px 0 0;border-top:1px dashed var(--cw-line);display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--cw-muted)}.cw-pill.upcoming{background:var(--cw-accent-soft);color:var(--cw-accent-text)}.cw-sub-days{margin:0;font-weight:800;color:#059669}.cw-sub-days.frozen{color:var(--cw-danger)}.cw-sub-days.upcoming{color:var(--cw-accent-text)}.cw-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cw-stat{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.cw-stat-label{font-size:12.5px;color:var(--cw-muted)}.cw-stat-value{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.cw-bar{height:6px;border-radius:999px;background:var(--cw-surface-2);overflow:hidden}.cw-bar span{display:block;height:100%;background:var(--cw-accent-text);border-radius:inherit}.cw-profile{display:flex;flex-direction:column;gap:14px}.cw-today-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.cw-today-tile{display:flex;gap:12px;align-items:center;padding:10px;border-radius:12px;background:var(--cw-surface-2);min-width:0}.cw-today-text{display:flex;flex-direction:column;gap:2px;min-width:0}.cw-today-eaten{font-weight:800}.cw-today-status{font-size:13px;font-weight:700;color:var(--cw-ink-2)}.cw-modal.wide{width:min(560px,100%)}.cw-modal .cw-hint,.cw-modal .cw-form-error{margin:0}.cw-modal .cw-field-hint{color:var(--cw-muted)}@media (max-width: 1099px){.cw-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 759px){.cw-grid2,.cw-grid3,.cw-stat-row,.cw-cards,.cw-tgrid,.cw-today-grid{grid-template-columns:minmax(0,1fr)}.cw-search{max-width:none}.cw-page-title{font-size:22px}.cw-thead{padding:16px;gap:14px 16px}.cw-thead-actions{width:100%;margin-inline-start:0}.cw-thead-actions .cw-btn{flex:1 1 140px;min-width:0;justify-content:center}}.coach-app .grid-2-col>*{min-width:0}.coach-app .mini-row{min-width:0}.coach-app .mini-main{min-width:0;flex:1 1 0}.coach-app .mini-name,.coach-app .mini-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-thead-who .cw-muted{overflow-wrap:anywhere}.cw-tiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.cw-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:88px;padding:14px 10px;border-radius:16px;text-decoration:none;text-align:center;background:var(--cw-surface);color:var(--cw-ink-2);border:1px solid var(--cw-line);box-shadow:var(--cw-shadow);transition:border-color .15s,transform .15s,background .15s,box-shadow .15s}.cw-tile:hover{border-color:var(--cw-accent-text);transform:translateY(-1px)}.cw-tile-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--cw-accent-soft);color:var(--cw-accent-text)}.cw-tile-label{font-weight:800;font-size:14.5px;line-height:1.25}.cw-tile.on{background:var(--cw-accent-soft);color:var(--cw-ink);border-color:var(--cw-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--cw-accent) 45%,transparent),var(--cw-shadow)}.cw-tile.on .cw-tile-icon{background:var(--cw-accent);color:var(--cw-on-accent)}@media (prefers-reduced-motion: reduce){.cw-tile{transition:none}.cw-tile:hover{transform:none}}.cw-pills{display:flex;flex-wrap:wrap;gap:6px}.cw-pill-macro{display:inline-flex;align-items:baseline;gap:5px;padding:3px 9px;border-radius:999px;font-size:12.5px;background:var(--cw-surface-2);color:var(--cw-ink-2);border:1px solid transparent}.cw-pill-k{font-weight:600}.cw-pill-v{font-weight:800;font-variant-numeric:tabular-nums}.cw-pill-macro.m-protein{background:#10b9811f;color:#047857}.cw-pill-macro.m-carbs{background:#3b82f61f;color:#1d4ed8}.cw-pill-macro.m-fat{background:#f59e0b24;color:#92400e}.cw-pill-macro.m-calories{background:#ec48991a;color:#be185d}.cw-pending{color:var(--cw-accent-text);font-weight:800}.cw-note.warn{padding:6px 10px;border-radius:10px;background:#f59e0b1f;color:#92400e;border:1px solid rgba(245,158,11,.35)}.cw-daytab,.cw-diary{display:flex;flex-direction:column;gap:14px}.cw-day-head{align-items:flex-start;flex-wrap:wrap}.cw-daynav{display:flex;align-items:center;gap:8px}.cw-daynav .cw-icon-btn:disabled{opacity:.4;cursor:not-allowed}.cw-daynav-date{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.cw-daynav-date .cw-daynav-cal{color:var(--cw-accent);flex:none}.cw-status-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-status-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:13px;font-weight:600;color:var(--cw-ink-2);background:color-mix(in srgb,var(--c) 10%,transparent)}.cw-status-row .cw-dot{margin-top:0;background:var(--c, var(--cw-accent-text))}.cw-daytab{container-type:inline-size}.cw-readings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;align-items:stretch}.cw-readings>*{min-width:0;margin:0}@container (min-width: 520px){.cw-readings{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-readings>:last-child:nth-child(odd){grid-column:1 / -1}.cw-readings:has(>:nth-child(5)){grid-template-columns:repeat(6,minmax(0,1fr))}.cw-readings:has(>:nth-child(5))>*{grid-column:span 2}.cw-readings:has(>:nth-child(5))>:nth-child(n+4){grid-column:span 3}}@container (min-width: 800px){.cw-readings:not(:has(>:nth-child(5))){grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.cw-readings:not(:has(>:nth-child(5)))>*,.cw-readings:not(:has(>:nth-child(5)))>:last-child:nth-child(odd){grid-column:auto}}@container (min-width: 1000px){.cw-readings,.cw-readings:has(>:nth-child(5)){grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.cw-readings>*,.cw-readings>:last-child:nth-child(odd),.cw-readings:has(>:nth-child(5))>*,.cw-readings:has(>:nth-child(5))>:nth-child(n+4){grid-column:auto}}@container (max-width: 519.98px){.cw-readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cw-readings>:last-child:nth-child(odd){grid-column:1 / -1}.cw-track-card{flex-direction:column;padding:12px;gap:8px}.cw-track-value{font-size:17px}.cw-readings .cw-track-aside .cw-ring svg{width:clamp(72px,22vw,88px);height:clamp(72px,22vw,88px)}}.cw-track-card{--tk-accent: var(--cw-ink);display:flex;align-items:stretch;gap:12px;min-height:92px;padding:14px;background:var(--cw-surface);border:1.5px solid var(--cw-line);border-radius:16px;box-shadow:var(--shadow-sm)}.cw-track-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cw-track-head{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--cw-ink)}.cw-track-head svg{color:var(--tk-accent);flex:none}.cw-track-value{font-size:20px;font-weight:900;color:var(--tk-accent);line-height:1.2;overflow-wrap:anywhere}.cw-track-value.muted{font-size:14px;font-weight:600;color:var(--cw-muted)}.cw-track-note{font-size:12px;color:var(--cw-muted);overflow-wrap:anywhere}.cw-track-aside{flex:none;display:grid;place-items:center;align-self:center}.cw-track-aside .cw-ring svg{width:88px;height:88px}.cw-ring-sub{fill:var(--text-secondary)}.cw-track-aside .cw-ring-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cw-track-aside .cw-ring{gap:0}.cw-track-aside .cw-ring-of{font-size:11.5px;font-weight:700;color:var(--text-secondary);white-space:nowrap;line-height:1.1;margin-top:3px}.cw-track-value-row{display:flex;align-items:center;gap:6px;min-width:0}.cw-track-target{display:flex;align-items:center;gap:6px}.cw-track-edit-row{margin-top:auto;padding-top:8px;display:flex}.cw-track-edit{flex:none}.cw-track-card.state-done{--tk-accent: #10b981;border-color:color-mix(in srgb,#10b981 45%,var(--cw-line))}.cw-track-card.state-pending{--tk-accent: var(--cw-danger);border-color:color-mix(in srgb,var(--cw-danger) 45%,var(--cw-line))}.cw-track-card.state-rest,.cw-track-card.state-none,.cw-track-card.state-unassigned{--tk-accent: var(--cw-muted)}.cw-track-card[data-state] .cw-track-value{font-size:16px;font-weight:800}.cw-readings>.cw-cycle-compact{padding:14px;border-radius:16px;gap:4px}.cw-cycle-compact .cw-cycle-line.cw-cycle-next{color:var(--cw-ink);font-weight:700}.cw-cycle-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}.cw-reading{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:12px;padding:9px 12px;display:flex;flex-direction:column;gap:3px;min-width:0}.cw-steps-bar{height:5px;border-radius:999px;background:var(--cw-line);overflow:hidden;margin-top:2px}.cw-steps-bar>span{display:block;height:100%;background:var(--cw-accent);border-radius:inherit}.cw-cycle-compact .cw-cycle-headline{font-size:14px;margin:0}.cw-cycle-compact .cw-cycle-line{font-size:12.5px;margin:0}.cw-cycle-compact .cw-cycle-head{color:#ec4899}.cw-link-btn{align-self:flex-start;background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:var(--cw-accent-text);cursor:pointer;text-decoration:underline}.cw-rings-card .macro-status-list{margin-top:14px}.cw-reading-head{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--cw-muted)}.cw-reading-value{font-size:16px;font-weight:800}.cw-reading-value.muted{color:var(--cw-muted);font-weight:600}.cw-btn-block{width:100%;justify-content:center}.cw-center{text-align:center;padding:18px 0}.band-good{--c: #10b981}.band-mid{--c: #f59e0b}.band-weak{--c: #ef4444}.band-none{--c: var(--cw-line)}.cw-pill.band-good{background:#10b98124;color:#047857}.cw-pill.band-mid{background:#f59e0b29;color:#92400e}.cw-pill.band-weak{background:var(--cw-danger-soft);color:var(--cw-danger)}.cw-period-title{margin:0;font-size:18px;font-weight:800}.cw-period-title.in{color:#e11d48}.cw-period-history,.cw-period-log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}.cw-period-history li,.cw-period-log li{padding-top:6px;border-top:1px solid var(--cw-line)}.cw-period-log h4{margin:0 0 4px;font-size:14px}.coach-app .cw-prod-rings{container:cw-rings / inline-size;min-width:0}.coach-app .cw-prod-rings .macro-cards{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,168px);justify-content:center;align-items:start;gap:clamp(6px,2.4cqi,28px);padding:2px 0;margin:0}.coach-app .cw-prod-ring{min-width:0;container-type:inline-size;display:flex;justify-content:center}.coach-app .cw-prod-ring .macro-ring{width:100%;min-width:0;gap:3px}.coach-app .cw-prod-ring .macro-ring-svg-wrap{width:100%;max-width:128px}.coach-app .cw-prod-ring .macro-ring-center{padding-inline:9%;text-align:center}.coach-app .cw-prod-ring .macro-ring-val{font-size:clamp(15px,22cqi,30px);letter-spacing:-.5px}.coach-app .cw-prod-ring .macro-ring-of{font-size:clamp(9px,9cqi,12.5px);margin-top:3px;line-height:1.15}.coach-app .cw-prod-ring .macro-ring-label{font-size:clamp(11px,10.5cqi,14px);margin-top:2px;letter-spacing:0;text-align:center}.coach-app .cw-prod-ring .macro-ring-status{font-size:clamp(10px,9.5cqi,13px);line-height:1.3;min-height:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}@container cw-rings (max-width: 279px){.coach-app .cw-prod-rings .macro-cards[data-count="4"]{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,104px));column-gap:20px;row-gap:12px}}.cw-diary-top{display:flex;flex-direction:column;gap:12px}.cw-diary-body{display:flex;flex-direction:column;gap:14px}.cw-diary-nav{align-self:center}.cw-cta{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border-radius:16px;border:0;cursor:pointer;font:inherit;text-align:start;background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 6px 24px #10b98159}.cw-cta:hover{filter:brightness(1.08)}.cw-cta svg{color:#fff;flex:none}.cw-cta>span{display:flex;flex-direction:column;gap:2px}.cw-cta strong{font-size:15.5px}.cw-cta small{font-size:12.5px;color:inherit;opacity:.85}.cw-daycard-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cw-score{font-size:18px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--cw-muted)}.cw-score.good{color:#059669}.cw-score.mid{color:#b45309}.cw-score.weak{color:var(--cw-danger)}.cw-stale{opacity:.55;pointer-events:none}.cw-meals{display:flex;flex-direction:column;gap:10px}.cw-meal{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:14px;overflow:hidden}.cw-meal.open{border-color:var(--cw-accent-text)}.cw-meal-head{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;font:inherit;color:inherit;text-align:start;background:transparent;border:0;cursor:pointer}.cw-meal-head:disabled{cursor:wait}.cw-meal-main{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.cw-meal-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.cw-meal-name{font-weight:800;font-size:15px;overflow-wrap:anywhere}.cw-meal-amount{font-size:13px;font-weight:600;color:var(--cw-ink-2);white-space:nowrap}.cw-meal-chev{color:var(--cw-muted);flex:none;transition:transform .15s}.cw-meal.open .cw-meal-chev{transform:rotate(180deg)}.cw-meal-detail{padding:0 14px 14px;display:flex;flex-direction:column;gap:10px}.cw-meal-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cw-meal-item{display:flex;flex-direction:column;gap:5px;padding-top:8px;border-top:1px solid var(--cw-line)}.cw-meal-item-name{font-weight:600;font-size:14px;overflow-wrap:anywhere}.cw-meal-note{margin:0;display:flex;gap:6px;align-items:center;font-size:13px;color:#92400e}.cw-meal-actions{display:flex;gap:8px;flex-wrap:wrap}.cw-assistant{display:inline-flex;align-items:center;gap:4px}.cw-day-add-row{display:flex;gap:8px}.cw-day-add-row>.cw-btn{flex:1 1 0;min-width:0}.cw-btn.cw-btn-tall{min-height:48px;padding-block:13px;font-size:15px}.cw-fav{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.cw-fav-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cw-food-search{display:flex;flex-direction:column;gap:10px}.cw-food-search .cw-search{max-width:none;flex:none}.cw-food-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow-y:auto}.cw-food-row{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border-radius:12px;font:inherit;color:inherit;text-align:start;cursor:pointer;background:var(--cw-surface-2);border:1px solid transparent}.cw-food-row:hover{border-color:var(--cw-accent-text)}.cw-food-name{font-weight:700;overflow-wrap:anywhere}.cw-food-basis{font-size:12px;color:var(--cw-muted)}.cw-food-amount{display:flex;flex-direction:column;gap:12px}.cw-food-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cw-qty-label{font-size:13px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--cw-surface-2);color:var(--cw-ink-2)}.cw-amount{display:flex;flex-direction:column;gap:10px}.cw-amount-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.cw-amount-unit{flex:1 1 200px}.cw-amount-unit select{font:inherit;font-size:15px;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:9px 12px}.cw-amount-qty{flex:0 1 220px}.cw-stepper{display:flex;align-items:stretch;gap:6px}.cw-stepper input{text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.cw-step{width:42px;flex:none;border-radius:10px;font:inherit;font-size:18px;font-weight:800;cursor:pointer;background:var(--cw-accent-soft);color:var(--cw-accent-text);border:1px solid transparent}.cw-step:disabled{opacity:.4;cursor:not-allowed}.cw-presets{gap:6px}.cw-cart-bar{font:inherit;font-weight:800;padding:11px 16px;border-radius:12px;border:1px solid var(--cw-accent);background:var(--cw-accent-soft);color:var(--cw-accent-text);cursor:pointer;text-align:start}.cw-irows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cw-irow{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px;background:var(--cw-surface-2)}.cw-irow-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.cw-irow-name{font-weight:700;overflow-wrap:anywhere}.cw-irow-actions{display:flex;gap:6px;flex:none}.cw-icon-btn.danger{color:var(--cw-danger)}.cw-icon-btn.danger:hover{background:var(--cw-danger-soft);border-color:var(--cw-danger)}.cw-icon-btn:disabled{opacity:.4;cursor:not-allowed}.cw-total-line{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-weight:800;padding-top:8px;border-top:1px solid var(--cw-line)}.cw-sticky-actions{position:sticky;bottom:0;padding:12px 0 calc(12px + var(--safe-bottom));background:linear-gradient(to top,var(--cw-bg) 75%,transparent)}.cw-modal.wide .cw-food-amount .cw-card{box-shadow:none}.cw-modal{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom));overflow-y:auto}.cw-modal:has(.cw-food-search){overflow:hidden}.cw-modal:has(.cw-food-search) .cw-food-search{flex:1 1 auto;min-height:0}.cw-modal:has(.cw-food-search) .cw-food-list{flex:1 1 auto;min-height:0;max-height:none;overscroll-behavior:contain}.cw-modal.wide:has(.cw-food-amount),.cw-modal.wide:has(.cw-irows),.cw-modal.wide:has(.cw-food-search){width:min(760px,100%)}@media (max-width: 1099px){.cw-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cw-tile{min-height:76px;padding:10px 6px}.cw-tile-label{font-size:13px}}@media (max-width: 759px){.cw-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.cw-tile{flex-direction:row;min-height:52px;justify-content:flex-start;gap:8px;padding:8px 10px}.cw-tile-icon{width:30px;height:30px;border-radius:9px}.cw-tile-label{font-size:13px;text-align:start}.cw-status-rows{grid-template-columns:minmax(0,1fr)}.cw-amount-qty,.cw-amount-unit{flex:1 1 100%}}@media (max-width: 420px){.cw-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-tile:last-child:nth-child(odd){grid-column:1 / -1;justify-content:center}}[data-theme=dark] .coach-app .cw-pill-macro.m-protein{background:#10b98129;color:#6ee7b7}[data-theme=dark] .coach-app .cw-pill-macro.m-carbs{background:#3b82f62e;color:#93c5fd}[data-theme=dark] .coach-app .cw-pill-macro.m-fat{background:#f59e0b2e;color:#fcd34d}[data-theme=dark] .coach-app .cw-pill-macro.m-calories{background:#ec489929;color:#f9a8d4}[data-theme=dark] .coach-app .cw-note.warn,[data-theme=dark] .coach-app .cw-meal-note{color:#fcd34d}[data-theme=dark] .coach-app .cw-pill.band-good{color:#6ee7b7}[data-theme=dark] .coach-app .cw-pill.band-mid{color:#fcd34d}[data-theme=dark] .coach-app .cw-tile.on{background:var(--cw-accent-soft);color:var(--cw-ink)}.cw-plan{display:flex;flex-direction:column;gap:14px}.cw-plan-editor{display:flex;flex-direction:column;gap:10px;padding-top:6px}.cw-plan-cheat-row{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.cw-plan-cheat-title{display:inline-flex;align-items:center;gap:6px}.cw-plan-cheat-title svg{color:#be185d}.cw-plan-cheat-days{list-style:none;margin:0;padding:0;display:flex;gap:6px 14px;flex-wrap:wrap;flex:1;min-width:0}.cw-plan-cheat-days li{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.cw-plan-cheat-row>.cw-btn{margin-inline-start:auto}.cw-plan-cheat-day{font-size:15px;color:var(--cw-ink)}.cw-plan-cheat-ev{display:flex;align-items:flex-start;gap:10px}.cw-plan-cheat-ev-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px}.cw-plan-cheat-ev-body{display:flex;flex-direction:column;gap:2px;min-width:0}.cw-plan-cheat-ev.ev-requested .cw-plan-cheat-ev-icon{background:var(--cw-accent-soft);color:var(--cw-accent-text)}.cw-plan-cheat-ev.ev-cancelled .cw-plan-cheat-ev-icon{background:var(--cw-danger-soft);color:var(--cw-danger)}.cw-plan-cheat-ev.ev-moved .cw-plan-cheat-ev-icon{background:#f59e0b29;color:#92400e}[data-theme=dark] .coach-app .cw-plan-cheat-ev.ev-moved .cw-plan-cheat-ev-icon{color:#fcd34d}.cw-plan-weeknav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:10px}.cw-plan-weeknav .cw-btn{gap:6px;white-space:nowrap}.cw-plan-weeknav-pick svg{flex:none}.coach-app .cheat-chip{background:linear-gradient(135deg,#f5a738,#f5c56a);color:#fff;padding:3px 9px;border-radius:999px;font-weight:800;font-size:11px;line-height:1.4;white-space:nowrap}.cw-pill.cheat{background:#ec48991a;color:#be185d;gap:4px}.cw-pill.hers{background:var(--cw-accent-soft);color:var(--cw-accent-text);border:1px solid var(--cw-accent-text)}.cw-accent-card{border-color:var(--cw-accent-text)}.cw-card-title svg{vertical-align:-2px;color:var(--cw-accent-text)}.cw-list-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cw-list-rows>li{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid var(--cw-line)}.cw-list-rows>li:first-child{border-top:0}.cw-list-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.cw-list-rows .cw-btn{align-self:flex-start}.cw-strong{margin:0;font-weight:700}[data-theme=dark] .coach-app .cw-pill.cheat{color:#f9a8d4}:root{--ow-bg: var(--bg);--ow-bg-2: var(--bg-2);--ow-surface: var(--surface);--ow-surface-2: var(--surface-2);--ow-ink: var(--ink);--ow-ink-2: var(--ink-2);--ow-muted: var(--muted);--ow-line: var(--line);--ow-line-2: var(--line-2);--ow-primary: var(--primary);--ow-primary-2: var(--primary-2);--ow-primary-ink: var(--primary-ink);--ow-primary-soft: var(--primary-soft);--ow-text-primary: var(--text-primary);--ow-text-secondary: var(--text-secondary);--ow-text-muted: var(--text-muted);--ow-text: var(--text)}.coach-app .cw-old-web{--bg: var(--ow-bg);--bg-2: var(--ow-bg-2);--surface: var(--ow-surface);--surface-2: var(--ow-surface-2);--ink: var(--ow-ink);--ink-2: var(--ow-ink-2);--muted: var(--ow-muted);--line: var(--ow-line);--line-2: var(--ow-line-2);--primary: var(--ow-primary);--primary-2: var(--ow-primary-2);--primary-ink: var(--ow-primary-ink);--primary-soft: var(--ow-primary-soft);--text-primary: var(--ow-text-primary);--text-secondary: var(--ow-text-secondary);--text-muted: var(--ow-text-muted);--text: var(--ow-text);color-scheme:normal;font-family:Heebo,system-ui,-apple-system,sans-serif;color:var(--text-primary);-webkit-font-smoothing:antialiased}.cw-update{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:8px 16px;background:var(--cw-accent-soft);color:var(--cw-ink);border-bottom:1px solid var(--cw-accent-text);font-size:14px;font-weight:600}.cw-menutab{display:flex;flex-direction:column;gap:14px}.cw-section-title{margin:0;font-size:20px;font-weight:800}.cw-row-between{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.cw-strong.ok{color:#059669}.cw-link.danger{color:var(--cw-danger)}.cw-clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cw-pos{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;font-weight:800;background:var(--cw-accent-soft);color:var(--cw-accent-text);flex:none}.cw-subcard{padding:10px 12px;border-radius:12px;background:var(--cw-surface-2);display:flex;flex-direction:column;gap:6px}.cw-subcard.ok{background:#10b9811a;border:1px solid rgba(16,185,129,.4)}.cw-subcard.bad{background:var(--cw-danger-soft);border:1px solid color-mix(in srgb,var(--cw-danger) 40%,transparent)}.cw-subcard h4,.cw-subcard p{margin:0}.cw-ok{margin:0;color:#059669;font-weight:700}.cw-bad{margin:0;color:var(--cw-danger);font-weight:700}.cw-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cw-input-lg{font:inherit;font-size:17px;font-weight:700;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:10px 12px;width:100%;box-sizing:border-box}.cw-time input[type=time]{font:inherit;font-size:15px;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:8px 10px}.cw-chip.cw-count{min-width:44px;justify-content:center;font-size:15px;font-weight:800}.cw-chipset{display:flex;flex-wrap:wrap;gap:6px}.cw-mchip{display:inline-flex;align-items:baseline;gap:5px;padding:4px 10px;border-radius:10px;font-size:13px;border:1px solid transparent}.cw-chipset.small .cw-mchip{padding:2px 8px;font-size:12px}.cw-mchip b{font-variant-numeric:tabular-nums}.cw-mchip.m-protein{background:#10b9811f;color:#047857;border-color:#10b9814d}.cw-mchip.m-carbs{background:#3b82f61f;color:#1d4ed8;border-color:#3b82f64d}.cw-mchip.m-fat{background:#f59e0b24;color:#92400e;border-color:#f59e0b4d}.cw-mchip.m-calories{background:#ec48991a;color:#be185d;border-color:#ec48994d}.cw-mchip.unknown{background:var(--cw-surface-2);color:var(--cw-muted);border-color:var(--cw-line)}.cw-food{display:flex;flex-direction:column;gap:5px;padding:8px 0;border-top:1px solid var(--cw-line)}.cw-food:first-of-type{border-top:0}.cw-food-line{display:flex;align-items:center;gap:10px}.cw-food-n{font-weight:700;flex:1;min-width:0;overflow-wrap:anywhere;margin:0}.cw-food-amt{font-size:13px;font-weight:600;color:var(--cw-ink-2);white-space:nowrap}.cw-food-icons{display:inline-flex;gap:6px;flex:none}.cw-foodrows{list-style:none;margin:0;padding:0}.cw-foodrows li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--cw-line)}.cw-foodrows li:first-child{border-top:0}.cw-mfood{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--cw-line)}.cw-optcard{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--cw-accent-text) 55%,transparent);background:color-mix(in srgb,var(--cw-accent) 5%,var(--cw-surface))}.cw-optcard.open{box-shadow:0 0 0 2px color-mix(in srgb,var(--cw-accent) 30%,transparent)}.cw-opt-head{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.cw-opt-actions{margin-inline-start:auto;display:inline-flex;gap:6px;flex-wrap:wrap}.cw-opt-toggle{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;padding:0;font:inherit;color:inherit;text-align:start;background:none;border:0;cursor:pointer}.cw-opt-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:16px}.cw-opt-side{display:inline-flex;align-items:center;gap:6px;color:var(--cw-muted)}.cw-opt-detail{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--cw-line)}.cw-devrow{display:flex;flex-wrap:wrap;gap:6px}.cw-dev{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.cw-dev.ok{background:#10b98124;color:#047857}.cw-dev.bad{background:var(--cw-danger-soft);color:var(--cw-danger)}.cw-dev.unknown{background:var(--cw-surface-2);color:var(--cw-muted)}.cw-planned{border-style:dashed;background:var(--cw-surface-2);flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.cw-menus-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cw-new-menu{min-height:48px;font-size:16px;font-weight:800;align-self:flex-start;padding-inline:20px}.cw-menu-current{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface);flex:1 1 220px;min-width:0}.cw-menu-head{display:flex;flex-direction:column;gap:2px}.cw-menu-name{font-size:20px}.cw-source{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:var(--cw-surface-2)}.cw-meal-headrow{display:flex;align-items:center;gap:8px;padding-inline-end:12px}.cw-meal-headrow .cw-meal-head{flex:1}.cw-mode{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface);font:inherit;color:inherit;text-align:start;cursor:pointer}.cw-mode.on{border-color:var(--cw-accent-text);background:var(--cw-accent-soft)}.cw-libcard{width:100%;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface-2);font:inherit;color:inherit;text-align:start;cursor:pointer}.cw-libcard:hover{border-color:var(--cw-accent-text)}.cw-bm-option{padding:6px 0;border-top:1px solid var(--cw-line)}.cw-bm-option p{margin:0}.cw-tmenus{display:flex;flex-direction:column;gap:12px;min-width:0}.cw-tmenus-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cw-tmenus-actions .cw-btn{justify-content:center;min-height:48px;font-size:15px;font-weight:800;border-radius:12px;white-space:normal;text-align:center;line-height:1.25}.cw-tmenus-actions .cw-btn-soft{border:1.5px solid color-mix(in srgb,var(--cw-accent-text) 45%,transparent)}.cw-tmenus>.cw-folders{margin-top:20px}.cw-tmenus .cw-program-actions,.cw-tmenu-head .cw-program-actions{gap:10px 18px}.cw-tm-where{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cw-mode.cw-tm-where-opt{flex-direction:row;align-items:center;gap:10px;min-height:56px}.cw-mode.cw-tm-where-opt:hover:not(:disabled){border-color:var(--cw-accent-text)}@media (max-width: 560px){.cw-tm-where{grid-template-columns:1fr}}.cw-tmenus-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:12px;font-weight:800;background:color-mix(in srgb,var(--f) 14%,transparent);font-variant-numeric:tabular-nums}.cw-tmenus-title{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}.cw-tmenus-sub{font-size:13px;overflow-wrap:anywhere}.cw-tmenus-tag{flex:none;gap:4px}.cw-tmenus-card .cw-program-main{width:100%}.cw-tmenu-head{gap:10px}.cw-tmenu-title{display:flex;flex-direction:column;gap:2px}.cw-tmenu-title .cw-card-title{margin:0}.cw-tmeal{gap:10px}.cw-tmeal-h{margin:0;font-size:16px;font-weight:800}.cw-search-plain.cw-picker-search{flex:none;max-width:none;width:100%}.cw-chips.cw-picker-cats{flex:none;flex-wrap:nowrap;overflow-x:auto;max-width:100%;min-width:0;padding-block:2px;scrollbar-width:thin;overscroll-behavior-x:contain}.cw-picker-cats>.cw-chip{flex:none;white-space:nowrap}@media (max-width: 560px){.cw-tmenus-actions{grid-template-columns:1fr}}} .cw-mealcard.ready{border-color:color-mix(in srgb,var(--cw-accent-text) 55%,transparent)}.cw-mealcard-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cw-mealcard-title{flex:1;min-width:0;font-size:16px}.cw-mealcard-actions{display:inline-flex;gap:4px}.cw-free-meal{background:#f59e0b14;border-color:#f59e0b66}.cw-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.cw-pick{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface);font:inherit;color:inherit;cursor:pointer;text-align:start}.cw-pick.on{border-color:var(--cw-accent-text);background:var(--cw-accent-soft)}.cw-pick:disabled{opacity:.45;cursor:not-allowed}.cw-box{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--cw-line);display:grid;place-items:center;flex:none}.cw-pick.on .cw-box{background:var(--cw-accent-text);border-color:var(--cw-accent-text);color:#fff}.cw-status{flex-direction:column;gap:4px}.cw-status.ok{border-color:#10b98173;background:#10b98114}.cw-status.warn{border-color:#f59e0b73;background:#f59e0b14}.cw-budget{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cw-budget-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;border:0;background:none;font:inherit;color:inherit;cursor:pointer}.cw-budget-ring{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) var(--p),var(--cw-surface-2) 0);position:relative}.cw-budget-ring:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:50%;background:var(--cw-surface)}.cw-budget-ring b{position:relative;z-index:1;font-size:17px;font-variant-numeric:tabular-nums}.cw-budget-cell.m-protein{--c: #10b981}.cw-budget-cell.m-carbs{--c: #3b82f6}.cw-budget-cell.m-fat{--c: #f59e0b}.cw-hint.over{color:var(--cw-danger);font-weight:700}.cw-hint.in_range{color:#059669;font-weight:700}[data-theme=dark] .coach-app .cw-mchip.m-protein,[data-theme=dark] .coach-app .cw-dev.ok{color:#6ee7b7}[data-theme=dark] .coach-app .cw-mchip.m-carbs{color:#93c5fd}[data-theme=dark] .coach-app .cw-mchip.m-fat{color:#fcd34d}[data-theme=dark] .coach-app .cw-mchip.m-calories{color:#f9a8d4}@media (max-width: 759px){.cw-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-budget-ring{width:68px;height:68px}}.cw-plain{font:inherit;color:inherit;text-align:start;background:none;border:0;padding:0;cursor:pointer}.cw-irow-main.cw-plain{display:flex;flex-direction:column;gap:2px}.cw-irow-main.cw-plain:hover strong{color:var(--cw-accent-text)}.cw-subtle{background:var(--cw-surface-2)}.cw-scroll{max-height:min(60vh,460px);overflow-y:auto}#tpl-list .cw-irow,[data-testid=tpl-list] .cw-irow{align-items:center}@media (max-width: 759px){[data-testid=tpl-list] .cw-irow{flex-wrap:wrap}[data-testid=tpl-list] .cw-irow-actions{width:100%;justify-content:flex-end}}.cw-body{--bp-navy: var(--cw-surface);--bp-tile: var(--cw-surface-2);--bp-line: var(--cw-line);--bp-cyan: var(--cw-accent-text);--bp-label: var(--cw-muted);--bp-dim: var(--cw-muted);--bp-ink: var(--cw-on-accent)}.cw-weighday{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;padding:10px 14px;border-radius:14px;background:var(--cw-accent-soft);border:1px solid var(--cw-line);color:var(--cw-ink);font-weight:700}.cw-weighday strong{color:var(--bp-cyan)}.cw-weighday .cw-actions{margin-inline-start:auto}.cw-weighday-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--cw-accent-soft);color:var(--bp-cyan)}.cw-bcards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}@media (max-width: 1099px){.cw-bcards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 759px){.cw-bcards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 419px){.cw-bcards{grid-template-columns:1fr}}.cw-modal.wide[data-testid^=bp-page-]{width:min(960px,100%)}.cw-btile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:16px;background:var(--bp-navy);border:1px solid var(--bp-line);color:#fff;font:inherit;text-align:start;cursor:pointer;min-height:104px}.cw-btile:hover{border-color:var(--bp-cyan)}.cw-btile-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--cw-accent-soft);color:var(--bp-cyan)}.cw-btile-label,.cw-btile-value{font-weight:800;font-size:15px}.cw-btile-value{color:var(--cw-ink)}.cw-btile-sub{font-size:13px;color:var(--bp-label)}.cw-weighin{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:var(--cw-surface);border:1px solid var(--cw-line)}.cw-weighin-input{display:flex;align-items:center;gap:8px;border:1px solid var(--cw-line);border-radius:10px;background:var(--cw-surface-2);padding:0 10px}.cw-weighin-input input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:18px;font-weight:700;padding:9px 0;color:var(--cw-ink);outline:none}.cw-weighin input[type=date],.cw-msform input[type=date]{font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink)}.cw-btn-cyan{background:var(--cw-accent-grad);color:var(--cw-on-accent);border-color:transparent;font-weight:800}.cw-btn-cyan:disabled{opacity:.55}.cw-ok-note{margin:0;color:var(--cw-accent-text);font-weight:700}.cw-trend{background:var(--bp-navy);border-color:var(--bp-line);color:#fff}.cw-trend .cw-card-title{color:#fff}.cw-trend .cw-hint{color:var(--bp-label)}.cw-wchart-box{position:relative;width:100%;cursor:pointer}.cw-wchart-grid{stroke:var(--cw-line);stroke-width:1}.cw-wchart-axis{font-size:12px;font-weight:600;fill:var(--cw-muted)}.cw-wchart-value{font-size:13.5px;font-weight:700;paint-order:stroke}.cw-wchart-dot{stroke:var(--bp-navy);stroke-width:1.5}.cw-wchart-sel{font-size:13px;font-weight:700}.cw-wchart-empty{padding:18px 4px;color:var(--bp-label)}.cw-wsum-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-wsum{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:12px;background:var(--bp-tile);border:1px solid var(--bp-line)}.cw-wsum-label{font-size:12px;color:var(--bp-label)}.cw-wsum-value{font-size:20px;color:#fff}.cw-wsum-value small{font-size:12px;color:var(--bp-label);font-weight:600}.cw-wsum-dir{font-size:12px;color:var(--bp-cyan)}.cw-target-row{display:flex;justify-content:flex-start;gap:10px;align-items:center;padding:10px 2px 0;border:0;border-top:1px solid var(--bp-line);background:none;color:var(--bp-cyan);font:inherit;cursor:pointer}.cw-msrows{display:flex;flex-direction:column;gap:8px}.cw-msform>.cw-msrows{margin-top:14px}.cw-msrow{display:grid;grid-template-columns:64px minmax(0,1fr) 132px;gap:10px;align-items:center;padding:8px;border-radius:14px;background:var(--cw-surface);border:1px solid var(--cw-line)}.cw-msrow-photo{width:64px;height:72px;border-radius:10px;overflow:hidden;padding:0;border:0;background:var(--cw-surface-2);cursor:zoom-in}.cw-msrow-photo img{width:100%;height:100%;object-fit:cover;display:block}.cw-msrow-name{color:var(--cw-ink);font-weight:700;padding:8px 10px;border-radius:10px;background:var(--cw-surface-2)}.cw-msrow-input{display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:10px;background:var(--cw-surface-2);color:var(--cw-muted)}.cw-msrow-input input{width:100%;border:0;background:transparent;color:#fff;font:inherit;font-size:17px;font-weight:700;padding:9px 0;outline:none}.cw-msrow-input:focus-within{box-shadow:0 0 0 2px var(--cw-accent)}.cw-zoom{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;background:#000000f0;display:flex;flex-direction:column}.cw-zoom-bar{display:flex;align-items:center;gap:8px;padding:calc(10px + var(--safe-top)) calc(14px + var(--safe-right)) 10px calc(14px + var(--safe-left));justify-content:flex-end;color:#fff}.cw-zoom-bar .cw-icon-btn{background:#ffffff1f;color:#fff;border-color:transparent}.cw-zoom-scale{font-variant-numeric:tabular-nums;min-width:48px;text-align:center}.cw-zoom-stage{flex:1;min-height:0;overflow:hidden;display:grid;place-items:center;touch-action:none}.cw-zoom-img{max-width:92vw;max-height:82vh;object-fit:contain;transition:transform .08s ease-out;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cw-zoom-img.is-dragging{transition:none}.cw-zoom-caption{margin:0;padding:8px calc(14px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(14px + var(--safe-left));color:#fff;text-align:center}.cw-wh{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cw-wh-card{padding:10px;border-radius:16px;background:var(--bp-navy);border:1px solid var(--bp-line)}.cw-wh-head{display:flex;gap:8px;align-items:center;min-height:18px;margin-bottom:6px}.cw-wh-badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--cw-accent-soft);color:var(--bp-cyan)}.cw-wh-time{font-size:12px;color:var(--bp-label);margin-inline-start:auto}.cw-wh-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.cw-wh-tile{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:12px;background:var(--bp-tile);color:#fff}.cw-wh-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--bp-label)}.cw-wh-big{font-size:22px}.cw-wh-sub{font-size:12px;color:var(--bp-label)}.cw-wh-change{display:inline-flex;align-items:center;gap:4px;color:var(--bp-cyan);font-size:20px}.cw-wh-none{color:var(--bp-dim)}.cw-mtable{border-radius:16px;overflow:hidden;background:var(--cw-surface);border:1px solid var(--cw-line);color:var(--cw-ink)}.cw-mtable-nav{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;color:var(--cw-muted);font-size:13px}.cw-mtable-nav .cw-icon-btn{color:var(--cw-accent-text);background:var(--cw-surface-2);border-color:transparent}.cw-mtable table{width:100%;border-collapse:collapse;table-layout:fixed}.cw-mtable th,.cw-mtable td{padding:8px 6px;text-align:center;border-top:1px solid var(--cw-line);font-variant-numeric:tabular-nums}.cw-mtable thead th{background:var(--cw-surface-2);font-size:12px;color:var(--cw-muted);vertical-align:top}.cw-mtable thead th span{display:block;font-weight:800;color:#fff}.cw-mtable thead th small{display:block}.cw-mtable thead th:first-child,.cw-mtable tbody th{width:92px;text-align:start;padding-inline-start:12px}.cw-mtable tbody th{font-weight:700;font-size:13px;color:#fff}.cw-mtable tbody tr:nth-child(2n){background:var(--line-2)}.cw-mtable .current{color:var(--cw-accent-text);background:var(--cw-accent-soft)}.cw-mtable thead th.current span{color:var(--cw-accent-text)}.cw-mtable td.none{color:var(--cw-muted)}.cw-mtable-unit{margin:0;padding:8px 12px;font-size:12px;color:var(--cw-muted)}.cw-cmloss{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--cw-surface);border:1px solid var(--cw-line);color:var(--cw-ink)}.cw-cmloss p{margin:0}.cw-cmloss-sub{font-size:12px;color:var(--cw-muted)}.cw-cmloss-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.cw-cmloss-tile{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:12px;background:var(--cw-surface-2);font-size:12px;color:var(--cw-muted)}.cw-cmloss-tile strong{color:var(--cw-accent-text);font-size:18px}.cw-cmloss-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding-top:8px;border-top:1px solid var(--cw-line)}.cw-cmloss-total strong{color:var(--cw-accent-text);font-size:20px}.cw-photo-strip{display:flex;gap:10px;overflow-x:auto;padding-top:8px}.cw-photo-thumb{flex:none;display:flex;flex-direction:column;gap:4px;align-items:center;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:var(--cw-muted)}.cw-photo-thumb img,.cw-photo-ph{width:132px;height:176px;border-radius:12px;object-fit:cover;background:var(--cw-surface-2);display:block}.cw-photo-pose{font-size:12px}@media (max-width: 759px){.cw-msrow{grid-template-columns:56px minmax(0,1fr) 108px}.cw-wsum-value{font-size:17px}.cw-mtable thead th:first-child,.cw-mtable tbody th{width:74px}}.cw-row-start{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cw-stack-tight{display:flex;flex-direction:column;gap:3px;min-width:0}.cw-grow{flex:1;min-width:0}.cw-num{width:72px;font:inherit;padding:7px 9px;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink);text-align:center}.cw-chip.sm{padding:4px 10px;font-size:13px}.cw-chip.warn{border-color:#f59e0b99;color:#92400e}.cw-chip.cyan.on{background:var(--cw-accent-grad);border-color:transparent;color:var(--cw-on-accent)}.cw-act-icon{display:inline-grid;place-items:center;border-radius:50%;background:var(--cw-accent);color:var(--cw-on-accent);flex:none}.cw-act-icon.soft{width:40px;height:40px;background:var(--cw-accent-soft);color:var(--cw-accent-text)}.cw-act-chip{display:inline-flex;align-items:center;gap:6px}.cw-media,.cw-media-ph{display:block;width:100%;object-fit:contain;border-radius:12px;background:var(--cw-surface-2)}.cw-media-ph{height:120px}.cw-btn-outline{background:var(--cw-surface);border:1.5px solid var(--cw-accent);color:var(--cw-accent-text)}.cw-btn-outline small{color:var(--cw-muted);font-weight:500}.cw-builder .cw-sticky-actions{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;justify-content:flex-end;padding:12px 0 calc(12px + var(--safe-bottom));background:linear-gradient(transparent,var(--cw-bg) 30%)}.cw-excard{display:flex;flex-direction:column;gap:10px}.cw-ex-name{flex:1;min-width:0;font:inherit;font-weight:700;font-size:16px;border:0;border-bottom:1px dashed var(--cw-line);background:transparent;color:var(--cw-ink);padding:4px 2px}.cw-ex-name:focus{outline:none;border-bottom-color:var(--cw-accent-text)}.cw-settable{width:100%;border-collapse:separate;border-spacing:0 4px}.cw-settable th{font-size:12px;font-weight:600;color:var(--cw-muted);text-align:center}.cw-settable td{text-align:center}.cw-settable td:first-child{width:44px;color:var(--cw-ink-2);font-weight:700}.cw-settable td:last-child{width:40px}.cw-settable input{width:100%;box-sizing:border-box;font:inherit;text-align:center;padding:7px 6px;border-radius:9px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink)}.cw-settable.ro td{padding:7px 6px;background:var(--cw-surface-2)}.cw-settable.ro tr.missed td{color:var(--cw-muted)}.cw-tick{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid var(--cw-danger)}.cw-tick.ok{background:#10b981;border-color:#10b981}.cw-picklist{display:flex;flex-direction:column;gap:12px;max-height:min(55vh,520px);overflow-y:auto}.cw-reorder{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cw-reorder li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--cw-surface-2);cursor:grab}.cw-program-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.cw-program{display:flex;flex-direction:column;gap:10px}.cw-program-main{display:flex;align-items:center;gap:12px}.cw-program-actions{padding-top:8px;border-top:1px solid var(--cw-line)}.cw-program-title{color:var(--cw-ink);font-size:15.5px;font-weight:800;line-height:1.35;min-width:0;overflow-wrap:anywhere;text-align:start}.cw-folders{gap:6px}.cw-folder{--f: var(--cw-ink-2);--f-soft: var(--cw-surface-2);border-color:color-mix(in srgb,var(--f) 45%,transparent);color:var(--f)}.cw-folder.f-female{--f: var(--c-cal);--f-soft: var(--c-cal-bg)}.cw-folder.f-male{--f: var(--c-carbs);--f-soft: var(--c-carbs-bg)}.cw-folder.f-none{--f: var(--primary);--f-soft: var(--primary-soft)}.cw-folder.f-more{--f: var(--c-fat);--f-soft: var(--c-fat-bg)}.cw-chip.cw-folder.on{background:var(--f-soft);border-color:var(--f);color:var(--f);box-shadow:inset 0 0 0 1px var(--f)}.cw-chip.cw-folder.f-all.on{background:var(--cw-ink);border-color:var(--cw-ink);color:var(--cw-bg);box-shadow:none}.cw-libfolder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.cw-libfolder{--f: var(--cw-ink-2);--f-soft: var(--cw-surface-2);display:flex;flex-direction:row;align-items:center;gap:12px;width:100%;font:inherit;color:var(--cw-ink);text-align:start;cursor:pointer;border:1px solid var(--cw-line);border-inline-start:4px solid var(--f);min-height:72px}.cw-libfolder:hover{border-color:var(--f);background:color-mix(in srgb,var(--f-soft) 55%,var(--cw-surface))}.cw-libfolder:focus-visible{outline:2px solid var(--f);outline-offset:2px}.cw-libfolder>svg{color:var(--cw-muted);flex:none}.cw-libfolder-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.cw-libfolder-text strong{font-size:15.5px;font-weight:800;overflow-wrap:anywhere}.cw-libfolder-icon{--f: var(--cw-ink-2);--f-soft: var(--cw-surface-2);display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--f-soft);color:var(--f);flex:none}.t-regular{--f: var(--primary);--f-soft: var(--primary-soft)}.t-weekend{--f: var(--c-carbs);--f-soft: var(--c-carbs-bg)}.t-cheat{--f: var(--c-fat);--f-soft: var(--c-fat-bg)}.t-custom{--f: var(--cw-ink-2);--f-soft: var(--cw-surface-2)}.t-none{--f: var(--cw-muted);--f-soft: var(--cw-surface-2)}.t-hers,.t-trainees{--f: var(--c-cal);--f-soft: var(--c-cal-bg)}.cw-libsec-h{margin:0;font-size:15px;font-weight:800;color:var(--cw-ink-2)}.cw-libpersonal{padding-top:12px;border-top:1px dashed var(--cw-line)}.cw-libhead{align-items:center;flex-wrap:wrap;gap:10px}.cw-libhead-title{display:flex;align-items:center;gap:12px;min-width:0}.cw-libhead-title h2{margin:0}.cw-libmenu-text{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:start}.cw-program-actions{flex-wrap:wrap;gap:6px 14px}.cw-link.muted{color:var(--cw-muted);font-weight:600}.cw-libplan-tags{gap:6px}.cw-libtrainee{width:100%;align-items:center;font:inherit;color:var(--cw-ink);text-align:start;cursor:pointer}.cw-libtrainee:hover{background:var(--cw-accent-soft)}.cw-libtrainee>svg{color:var(--cw-muted);flex:none}.cw-avatar-sm{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--c-cal-bg);color:var(--c-cal);font-weight:800;flex:none}.cw-libmove{flex-direction:row;align-items:center;gap:10px}.cw-libmove:disabled{opacity:.55;cursor:not-allowed}.cw-libmove .cw-hint{margin-inline-start:auto}@media (max-width: 759px){.cw-libfolder-grid{grid-template-columns:1fr}}.cw-setrow{padding:7px 10px;border-radius:9px;background:var(--cw-surface-2)}.cw-tilecard{display:flex;flex-direction:column;gap:4px}.cw-tilecard strong{font-size:20px}.cw-planner{display:flex;flex-direction:column;gap:12px}.cw-shortcuts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cw-shortcut{position:relative;border:1.5px solid;border-radius:14px;background:var(--cw-surface)}.cw-shortcut .cw-icon-btn{position:absolute;top:6px;inset-inline-end:6px}.cw-shortcut-main{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;width:100%;text-align:center}.cw-weekbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface)}.cw-weekbar-mid{display:flex;flex-direction:column;align-items:center;gap:2px}.cw-weekdays{display:flex;flex-direction:column;gap:8px}.cw-weekday{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;padding:10px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface)}.cw-weekday-label{display:flex;flex-direction:column;gap:2px}.cw-weekday-body{display:flex;flex-direction:column;gap:8px;min-width:0}.cw-daytiles{display:flex;flex-wrap:wrap;gap:8px}.cw-daytile{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:4px;width:92px;padding:8px 6px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-muted);font:inherit;font-size:12px;cursor:pointer;text-align:center}.cw-daytile.on{border-width:2px;color:var(--cw-ink);font-weight:700}.cw-daytile.rest.on{border-color:#6366f1;background:#6366f11f}.cw-daytile-tick{position:absolute;top:4px;inset-inline-start:4px;color:#10b981}.cw-progress{height:8px;border-radius:999px;background:var(--cw-surface-2);overflow:hidden}.cw-progress span{display:block;height:100%;background:var(--cw-accent-text)}.cw-fullrow{width:100%;align-items:center;text-align:start}.cw-session-hero{display:flex;flex-direction:column;gap:4px}.cw-xp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cw-xp li{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:8px;align-items:center}.cw-xp-bar{height:10px;border-radius:999px;background:var(--cw-surface-2);overflow:hidden}.cw-xp-bar span{display:block;height:100%;background:var(--cw-accent)}@media (max-width: 759px){.cw-weekday{grid-template-columns:1fr}.cw-daytile{width:calc(33.3% - 6px)}.cw-program-grid{grid-template-columns:1fr}}.cw-tag.ok{background:var(--cw-accent-soft);border-color:var(--cw-accent);color:var(--cw-accent-text)}.cw-tag.warn{background:var(--cw-danger-soft);border-color:var(--cw-danger);color:var(--cw-danger)}.cw-irow>.cw-tag{align-self:center;white-space:nowrap}.cw-bc-message{background:var(--cw-surface-2);display:flex;flex-direction:column;gap:6px}.cw-bc-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.cw-bc-people{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto;border:1px solid var(--cw-line);border-radius:10px}.cw-bc-people>li+li{border-top:1px solid var(--cw-line)}.cw-bc-person{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;width:100%;padding:10px 12px;background:none;border:0;color:inherit;font:inherit;text-align:start;cursor:pointer}.cw-bc-person:hover{background:var(--cw-surface-2)}.cw-bc-person:focus-visible{outline:2px solid var(--cw-focus);outline-offset:-2px}.cw-bc-tick{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--cw-line);display:inline-flex;align-items:center;justify-content:center;flex:none}.cw-bc-person.on .cw-bc-tick{background:var(--cw-accent-text);border-color:var(--cw-accent-text);color:#fff}.cw-bc-name{flex:1 1 140px;min-width:0;font-weight:600;overflow-wrap:anywhere}.cw-recipe-preview{max-width:100%;max-height:260px;object-fit:contain;border-radius:10px;border:1px solid var(--cw-line);align-self:flex-start}.cw-recipe-file{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2)}.cw-recipe-file.pdf{height:70vh}.cw-danger{color:var(--cw-danger);font-weight:700}.cw-stack-tight>.cw-search,.cw-stack>.cw-search{flex:none}[data-testid=bc-candidates]{gap:10px}.cw-settable tr.active td:first-child{color:var(--cw-accent-text)}.cw-presetrow td{padding:0 0 6px;text-align:start}.cw-presets{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px}.cw-presets+.cw-presets{border-top:1px dashed var(--cw-line)}.cw-presets-label{font-size:11.5px;font-weight:700;color:var(--cw-muted);min-width:44px}.cw-chip.xs{padding:3px 9px;min-height:26px;font-size:12.5px;font-variant-numeric:tabular-nums}.cw-cycle-card{--cw-cycle-ink: #9d174d;--cw-cycle-soft: #fdf2f8;--cw-cycle-line: #fbcfe8;--cw-cycle-strong: #db2777;background:linear-gradient(180deg,var(--cw-cycle-soft),var(--cw-surface) 85%);border:1px solid var(--cw-cycle-line);border-inline-start:4px solid var(--cw-cycle-strong);display:flex;flex-direction:column;gap:8px}.cw-cycle-head{display:flex;align-items:center;gap:10px}.cw-cycle-icon{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--cw-cycle-line);color:var(--cw-cycle-ink);flex:none}.cw-cycle-headline{margin:0;font-size:18px;font-weight:800;color:var(--cw-cycle-ink)}.cw-cycle-headline.in{color:var(--cw-cycle-strong)}.cw-cycle-line{margin:0;color:var(--cw-ink-2)}.cw-cycle-quiet{margin:0;font-weight:700;color:var(--cw-cycle-ink)}.cw-cycle-stats{display:flex;flex-wrap:wrap;gap:6px}.cw-cycle-chip{padding:4px 10px;border-radius:999px;background:var(--cw-cycle-soft);border:1px solid var(--cw-cycle-line);color:var(--cw-cycle-ink);font-size:13px;font-weight:600}.cw-cycle-btn{align-self:flex-start;background:var(--cw-cycle-soft);border:1px solid var(--cw-cycle-line);color:var(--cw-cycle-ink)}.cw-cycle-history,.cw-cycle-log ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}.cw-cycle-history li,.cw-cycle-log li{padding-top:6px;border-top:1px solid var(--cw-cycle-line)}.cw-cycle-log h4{margin:0 0 4px;font-size:14px;color:var(--cw-cycle-ink)}[data-theme=dark] .cw-cycle-card,.dark .cw-cycle-card{--cw-cycle-ink: #f9a8d4;--cw-cycle-soft: rgba(244, 114, 182, .12);--cw-cycle-line: rgba(244, 114, 182, .35);--cw-cycle-strong: #f472b6}.cw-cal{display:flex;flex-direction:column;gap:10px;width:min(340px,100%);margin-inline:auto}.cw-cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cw-cal-pickers{display:flex;gap:6px}.cw-cal-pickers select{font:inherit;padding:6px 8px;border-radius:9px;border:1px solid var(--cw-line);background:var(--cw-surface);color:var(--cw-ink)}.cw-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cw-cal-dow{text-align:center;font-size:12px;font-weight:700;color:var(--cw-muted);padding:4px 0}.cw-cal-day{position:relative;aspect-ratio:1;border:1px solid transparent;border-radius:10px;background:var(--cw-surface-2);color:var(--cw-ink);font:inherit;font-weight:600;cursor:pointer}.cw-cal-day:hover:not(:disabled){border-color:var(--cw-accent)}.cw-cal-day:disabled{opacity:.35;cursor:default}.cw-cal-day.today{border-color:var(--cw-accent-text)}.cw-cal-day.sel{background:var(--cw-accent);color:var(--cw-on-accent);border-color:var(--cw-accent)}.cw-cal-foot{display:flex;justify-content:center}.cw-cal-today{justify-content:center;min-height:44px;max-width:100%;padding-inline:20px}.cw-cal-dot{position:absolute;bottom:5px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:999px;background:var(--cw-accent-text)}.cw-cal-day.sel .cw-cal-dot{background:var(--cw-on-accent)}.cw-date-box{display:flex;align-items:center;gap:6px}.cw-date-box .cw-date-input{flex:1;min-width:0}.cw-date-input::-webkit-calendar-picker-indicator{display:none}.cw-date-cal-btn{flex:none;color:var(--cw-accent-text)}.cw-date-cal-btn:hover:not(:disabled){border-color:var(--cw-accent)}.cw-fact.proposed .cw-fact-value{color:var(--cw-accent-text)}.cw-sub-renew{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--cw-line)}.cw-field.invalid>input,.cw-field.invalid>textarea,.cw-field.invalid .cw-chips{border-color:var(--cw-danger)!important;box-shadow:0 0 0 3px var(--cw-danger-soft)}.cw-field.invalid .cw-chips{border:1px solid var(--cw-danger);border-radius:12px;padding:4px}.cw-field.invalid>.cw-field-label{color:var(--cw-danger)}.cw-field-error{font-size:12.5px;font-weight:600;color:var(--cw-danger)}.cw-field.invalid .cw-check input{outline:2px solid var(--cw-danger);outline-offset:2px}.cw-subpick{display:flex;flex-direction:column;gap:8px}.cw-chips-tight{gap:6px}.cw-chips-tight .cw-chip{padding:5px 10px;font-size:13px}.cw-page{gap:12px}.cw-card{padding:12px 14px;gap:9px;border-radius:14px}.cw-cards{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}.cw-grid2{gap:8px 10px}.cw-field{gap:3px}.cw-field-group{gap:4px}.cw-field-label{font-size:12.5px}.cw-field-hint{font-size:12px}.cw-field input:not([type=checkbox]),.cw-field textarea,.cw-inline input,.cw-field select{font-size:14px;padding:6px 10px;border-radius:8px;min-height:34px}.cw-chips{gap:6px}.cw-chip{padding:5px 11px;font-size:13px}.cw-btn{padding:7px 13px;border-radius:9px}.cw-btn-sm{padding:5px 10px}.cw-actions.sticky{padding:8px 0}.cw-field-inline{flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px}.cw-field-inline>.cw-field-error,.cw-field-inline>.cw-field-hint{flex-basis:100%}.cw-inline-box{display:inline-flex;align-items:center;gap:5px}.cw-field .cw-input-xs,.cw-input-xs,.cw-field-inline input.cw-input-xs:not([type=checkbox]){width:76px;min-width:0;flex:none;text-align:center;font-variant-numeric:tabular-nums}.cw-unit{font-size:13px;color:var(--cw-muted)}.cw-field.invalid .cw-input-xs{border-color:var(--cw-danger)!important;box-shadow:0 0 0 3px var(--cw-danger-soft)}.cw-fieldrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}.cw-grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px;align-items:start}@media (max-width: 900px){.cw-grid4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.cw-grid4{grid-template-columns:minmax(0,1fr)}}.cw-inline-edit{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cw-inline-field{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--cw-ink-2)}.cw-inline-field .cw-input-xs{font:inherit;font-size:14px;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:8px;padding:5px 8px}.cw-create{max-width:1180px}.cw-create-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:start}@media (min-width: 1000px){.cw-create-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.cw-create-grid>.cw-span-all{grid-column:1 / -1}}.cw-pgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch;grid-auto-rows:auto}@media (min-width: 700px){.cw-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1100px){.cw-pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cw-prow{display:contents}.cw-pgrid>*,.cw-prow>*{min-width:0;box-sizing:border-box;overflow-wrap:anywhere}.cw-pgrid .cw-card{height:100%}.cw-pgrid>.cw-span2,.cw-prow>.cw-span2{grid-column:auto}.cw-profile{gap:10px}.cw-pstack{display:flex;flex-direction:column;gap:8px;min-width:0}.cw-pstack>.cw-btn{align-self:flex-start}.cw-last-activity{background:var(--cw-surface-2);color:inherit}.cw-last-activity.warn{background:var(--cw-danger-soft);color:var(--cw-danger)}.cw-thead .cw-last-activity{gap:4px;border-color:var(--cw-line);color:var(--text-secondary)}.cw-last-activity-k{font-weight:600}.cw-last-activity-v{font-weight:800;color:var(--text-primary);font-variant-numeric:tabular-nums}.cw-thead .cw-last-activity.warn{border-color:var(--cw-danger);color:var(--cw-danger)}.cw-last-activity.warn .cw-last-activity-v{color:inherit}@media (max-width: 420px){.cw-thead-sub{gap:6px 8px}.cw-thead .cw-page-title{font-size:20px}}.cw-settings{gap:0;padding-block:6px}.cw-settings>.cw-setting{min-height:44px;padding-block:6px;border-bottom:1px solid var(--cw-line)}.cw-settings>.cw-setting:last-of-type{border-bottom:0}.cw-setting .cw-switch-label{font-size:14px;font-weight:700}.cw-fv-list{display:flex;flex-direction:column}.cw-fv-list>.cw-setting{min-height:40px;padding-block:5px;border-bottom:1px solid var(--cw-line)}.cw-fv-list>.cw-setting:last-of-type{border-bottom:0}.cw-settings-login{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px}.cw-day-reset{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.cw-day-reset .cw-day-reset-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cw-day-reset input[type=time]{font:inherit;font-size:15px;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:6px 10px;font-variant-numeric:tabular-nums}.cw-tr-toolbar{justify-content:flex-start}.cw-tr-toolbar .cw-search{flex:0 1 300px}.cw-segments-side{margin-inline-start:auto}.cw-tgrid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}.cw-tpanel{display:flex;flex-direction:column;gap:16px;min-width:0}.coach-app:has(.cw-tpanel){position:relative;z-index:1;background:var(--bg)}.coach-app .cw-tpanel{position:relative;z-index:1;animation:none}.cw-tcard-wrap{position:relative;display:flex;flex-direction:column;min-width:0}.cw-tcard{padding:12px;gap:8px}.cw-tcard-age{align-self:flex-start;font-size:13px;font-weight:700;color:var(--cw-ink-2)}.cw-tcard-age.minor{color:var(--cw-danger);font-weight:900;font-size:14px}.cw-tcard-rings{justify-content:space-evenly;gap:16px;padding-top:14px;border-top:1px solid var(--cw-line)}.cw-tcard-rings .cw-ring{gap:0}.cw-tcard-rings .cw-ring-of{font-size:11.5px;font-weight:700;color:var(--text-secondary);white-space:nowrap;line-height:1.1;margin-top:3px}.cw-tcard-rings .cw-ring-label{font-size:11.5px;font-weight:800;color:var(--text-primary);line-height:1.1}.cw-tcard-ringcol{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.cw-tcard-left{font-size:12px;font-weight:700;color:var(--cw-ink-2);white-space:nowrap}.cw-tcard-left.met{color:#10b981}.cw-tcard-left.unknown{color:var(--cw-muted);font-weight:600}.cw-tcard-today{flex-direction:column;gap:5px;padding-top:7px}.cw-tcard-steps{display:flex;flex-direction:column;gap:3px;font-weight:700;color:var(--cw-ink-2)}.cw-tcard-steps .cw-steps-bar>span{background:var(--cw-accent)}.cw-tcard-workout{font-weight:800}.cw-tcard-workout.done{color:var(--cw-accent-text)}.cw-tcard-workout.pending{color:var(--cw-danger)}.cw-tcard-today.cw-tcard-today-row{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px}.cw-tcard-divider{flex:none;align-self:stretch;width:1px;margin-block:4px;background:var(--cw-line)}.cw-tcard-today-row>.cw-tcard-cycle{flex:none;align-self:center;white-space:nowrap}.coach-app .cw-badge.pink.cw-tcard-cycle{background:#e8a9c438;color:#9d4f72}[data-theme=dark] .coach-app .cw-badge.pink.cw-tcard-cycle{background:#e8a9c424;color:#e8a9c4}.cw-tcard-today-row>.cw-tcard-workout{flex:0 1 auto;min-width:0;overflow-wrap:anywhere;line-height:1.3}.cw-tcard-today-row>.cw-tcard-stepsring{flex:none}.cw-tcard-stepsring .cw-ring{gap:0}.cw-tcard-stepsring .cw-ring-of{font-size:11.5px;font-weight:700;color:var(--text-secondary);white-space:nowrap;line-height:1.1;margin-top:3px}.cw-tcard-stepsring .cw-ring-label{font-size:11.5px;font-weight:800;color:var(--text-primary);line-height:1.1}.cw-tcard-workout.rest,.cw-tcard-workout.none{color:var(--cw-muted);font-weight:700}.cw-tcard-frozen{display:flex;flex-direction:column;gap:2px;font-size:12.5px;font-weight:700;color:#7dd3fc;padding-top:6px;border-top:1px dashed var(--cw-line)}.cw-attn-btn{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--cw-act-size);height:var(--cw-act-size);margin:var(--cw-act-pad);padding:0;font:inherit;border-radius:999px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-muted);cursor:pointer}.cw-tcard-wrap{--cw-act-size: 28px;--cw-act-cell: 28px;--cw-act-gap: 8px;--cw-act-pad: 0px}@media (max-width: 760px),(pointer: coarse){.cw-tcard-wrap{--cw-act-cell: 44px;--cw-act-pad: 8px}}.cw-card-actions{position:absolute;display:flex;flex-direction:row;align-items:flex-start;gap:var(--cw-act-gap);inset-inline-end:auto;left:calc(12px - var(--cw-act-pad));pointer-events:none}.cw-card-actions>*{pointer-events:auto}@media (max-width: 340px){.cw-tcard-wrap{--cw-act-gap: 0px}}.cw-attn-btn:after{content:"";position:absolute;inset:calc(var(--cw-act-pad) * -1);border-radius:999px}@media (max-width: 760px),(pointer: coarse){.cw-tcard-wrap.no-age .cw-tcard-flag-slot{margin-top:22px}}.cw-attn-btn span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.cw-tcard-flag-slot{display:block;flex:none;width:calc(var(--cw-act-cell) * 3 + var(--cw-act-gap) * 2);height:var(--cw-act-cell);margin-top:4px}.cw-wa-btn{text-decoration:none}.cw-wa-btn:hover,.cw-wa-btn:focus-visible{color:#25d366;border-color:#25d366}.cw-bell-btn:hover,.cw-bell-btn:focus-visible{color:var(--cw-ink);border-color:var(--cw-ink)}.cw-attn-btn.on{color:var(--cw-danger);border-color:var(--cw-danger);background:var(--cw-danger-soft)}body:has(.coach-app),body:has(.coach-app) *{cursor:default!important}body:has(.coach-app) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=color]),body:has(.coach-app) textarea,body:has(.coach-app) [contenteditable=true]{cursor:text!important}.cw-change-alert{border:1px solid rgba(245,158,11,.45);background:linear-gradient(180deg,rgba(245,158,11,.1),var(--cw-surface) 70%)}.cw-change-head{display:flex;align-items:center;gap:8px}.cw-change-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#f59e0b2e;color:#f59e0b;flex:none}.cw-change-count{margin-inline-start:auto;min-width:24px;height:24px;padding:0 8px;border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:12.5px;background:#f59e0b;color:#1a1205}.cw-change-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cw-change-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 10px;border-radius:10px;background:var(--cw-surface-2);border:1px solid var(--cw-line)}.cw-change-when{display:flex;flex-direction:column;gap:1px;min-width:120px}.cw-change-chips{display:flex;flex-wrap:wrap;gap:6px}.cw-change-chip{display:inline-flex;align-items:center;gap:4px;font-size:13px;padding:4px 10px;border-radius:999px;color:var(--mc);background:color-mix(in srgb,var(--mc) 14%,transparent);border:1px solid color-mix(in srgb,var(--mc) 45%,transparent);font-variant-numeric:tabular-nums}.cw-change-chip b{font-weight:800}.cw-subsection{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid var(--cw-line)}.cw-timefield{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.cw-time-input{font-variant-numeric:tabular-nums;letter-spacing:.04em}.cw-time-state{font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:999px}.cw-time-state.saved{color:#10b981;background:#10b9811f}.cw-time-state.unsaved{color:#f59e0b;background:#f59e0b24}.cw-time-state.invalid{color:var(--cw-danger);background:var(--cw-danger-soft)}.cw-menu-targets{display:flex;flex-direction:column;gap:8px}.cw-mt-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.cw-mt-row .cw-field-inline{min-width:150px}.cw-mt-chips{gap:6px}.cw-mt-chips .cw-chip{padding:4px 11px;font-size:13px;font-variant-numeric:tabular-nums}.cw-mt-kcal{font-weight:800;color:var(--cw-accent);font-variant-numeric:tabular-nums}.cw-tr-head{align-items:center}.cw-tr-head{justify-content:flex-start}.cw-tr-head .cw-page-title{margin-inline-end:0}.cw-tr-head>.cw-btn{margin-inline-start:auto}.cw-search.cw-search-sm{flex:0 1 220px;min-width:150px;max-width:240px;padding:5px 10px;gap:6px;border-radius:10px;font-size:13.5px}.cw-tcard-steps{gap:2px}.cw-tcard-steps-label{font-size:12px;font-weight:700;color:var(--cw-muted)}.cw-tcard-steps-val{display:flex;align-items:baseline;gap:2px;color:var(--cw-ink);font-variant-numeric:tabular-nums}.cw-tcard-steps-val b{font-size:22px;font-weight:800;line-height:1.1;color:var(--cw-accent-text)}.cw-tcard-steps-goal{font-size:13.5px;font-weight:700;color:var(--cw-ink-2)}.cw-tcard-steps-none{font-size:14px;font-weight:700;color:var(--cw-muted)}.cw-tcard-steps .cw-steps-bar{height:7px;margin-top:4px}.cw-fact-wrap{display:contents}.cw-facts.cw-facts-stack{grid-template-columns:minmax(0,1fr)}.cw-check input.cw-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;flex:none;width:18px;height:18px;box-sizing:border-box;display:inline-grid;place-content:center;border:1.5px solid var(--cw-line);border-radius:5px;background:var(--cw-surface-2);cursor:pointer}.cw-check input.cw-checkbox:checked,.cw-check input.cw-checkbox:checked:disabled{background:var(--cw-accent);border-color:var(--cw-accent)}.cw-check input.cw-checkbox:checked:after{content:"";width:4px;height:9px;margin-top:-2px;border:solid var(--cw-on-accent);border-width:0 2px 2px 0;transform:rotate(45deg)}.cw-check input.cw-checkbox:disabled{opacity:1;cursor:default}.cw-check input.cw-checkbox:focus-visible{outline:2px solid var(--cw-accent);outline-offset:2px}.cw-subcard.cw-selfmanage{flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;text-align:start}.cw-selfmanage-text{display:flex;flex-direction:column;gap:2px}.cw-act-summary{gap:10px}.cw-act-summary>.cw-tilecard{padding:8px 12px;gap:2px;min-height:0}.cw-act-summary>.cw-tilecard strong{font-size:18px;line-height:1.2}.cw-act-summary .cw-hint{font-size:12px}.coach-app .mini-row .cw-tavatar{border-radius:50%}@media (max-width: 600px){.cw-tr-head .cw-search.cw-search-sm{order:3;flex:1 1 100%;max-width:none}}.cw-search-plain{font:inherit;font-size:14px;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:10px;padding:8px 12px;min-height:36px;width:100%;max-width:420px;box-sizing:border-box}.cw-search-plain:focus{border-color:var(--cw-accent-text);outline:none;box-shadow:0 0 0 3px var(--cw-accent-soft)}.cw-builder .cw-field-compact{max-width:340px}.cw-builder .cw-num-compact{width:64px}.cw-chip.xs.cw-sq{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:8px;font-size:13px}.cw-chip.xs.cw-sq.wide{width:auto;padding:0 10px}.cw-presets:has(.cw-sq){gap:6px}.cw-exlib-entry{flex-direction:row;align-items:center;gap:12px;color:var(--cw-ink);text-decoration:none;cursor:pointer}.cw-exlib-entry:hover strong{color:var(--cw-accent-text)}.cw-exlib-entry>svg{color:var(--cw-muted);flex:none}.cw-exlib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.cw-exlib-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;border:1px solid var(--cw-line);background:var(--cw-surface);min-width:0}.cw-exlib-open{display:flex;align-items:center;gap:6px;flex:1;min-width:0;color:var(--cw-ink)}.cw-exlib-open>svg{color:var(--cw-accent-text);flex:none}.cw-exlib-open:hover .cw-grow{color:var(--cw-accent-text)}.cw-exlib-row>.cw-link{align-self:center;flex:none}.cw-exform select{font:inherit;font-size:14px;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:8px;padding:6px 10px;min-height:34px;width:100%;box-sizing:border-box}.cw-exform select:disabled{opacity:.55}.cw-exform>.cw-field:first-child input{max-width:420px}.cw-exslot{padding:10px 12px;border:1px solid var(--cw-line);border-radius:12px;background:var(--cw-surface)}.cw-exmedia-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;gap:8px}.cw-exmedia-actions>.cw-exmedia-btn{min-height:36px;justify-content:center;white-space:nowrap;flex:0 0 auto;line-height:1.2;box-sizing:border-box;margin:0}@media (max-width: 759px){.cw-exlib-grid{grid-template-columns:minmax(0,1fr)}}.cw-excard .cw-settable{table-layout:fixed;width:100%}.cw-excard .cw-settable th:nth-child(1){width:40px}.cw-excard .cw-settable th:nth-child(2),.cw-excard .cw-settable th:nth-child(3){width:96px}.cw-excard .cw-settable td:last-child{width:auto;text-align:start}.cw-excard .cw-settable input{padding:6px}.cw-excard .cw-presetrow td{padding:0 0 8px}.cw-excard .cw-presets{padding:2px 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;max-width:100%}.cw-excard .cw-presets>*{flex:none}.cw-excard .cw-ex-name{max-width:420px}.cw-rest-row{flex-wrap:wrap;gap:6px}.cw-rest-row>.cw-field-label{margin-inline-end:4px}.cw-field-compact-km input{max-width:140px}.cw-nc-section{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--cw-line);border-radius:16px;background:var(--cw-surface-2);min-width:0}.cw-nc-section+.cw-nc-section{margin-top:8px}.cw-nc-title{margin:0;display:flex;align-items:center;gap:8px;font-size:17px;font-weight:800;color:var(--cw-ink)}.cw-nc-title svg{color:var(--cw-accent-text)}.coach-app{--cw-nc-men: #2563eb;--cw-nc-men-soft: #eff6ff;--cw-nc-women: #db2777;--cw-nc-women-soft: #fdf2f8}[data-theme=dark] .coach-app{--cw-nc-men: #60a5fa;--cw-nc-men-soft: rgba(96,165,250,.14);--cw-nc-women: #f472b6;--cw-nc-women-soft: rgba(244,114,182,.14)}.cw-chip.cw-nc-aud.men{border-color:var(--cw-nc-men);color:var(--cw-nc-men)}.cw-chip.cw-nc-aud.men.on{background:var(--cw-nc-men);color:#fff;border-color:transparent}.cw-chip.cw-nc-aud.women{border-color:var(--cw-nc-women);color:var(--cw-nc-women)}.cw-chip.cw-nc-aud.women.on{background:var(--cw-nc-women);color:#fff;border-color:transparent}.cw-nc-dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--cw-line)}.cw-nc-dot.male{background:var(--cw-nc-men)}.cw-nc-dot.female{background:var(--cw-nc-women)}.cw-bc-people.cw-nc-people{height:clamp(220px,46vh,420px);max-height:none;flex:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cw-nc-gender-toggle{margin-top:2px;font-weight:600;font-size:13.5px}.cw-nc-texts .cw-nc-forms{margin-top:6px}.cw-tag.cw-nc-avail{padding:2px 8px;font-size:12px;white-space:nowrap}.cw-tag.cw-nc-avail.ready{background:var(--cw-accent-soft);border-color:var(--cw-accent);color:var(--cw-accent-text)}.cw-tag.cw-nc-avail.permission_off{background:var(--cw-danger-soft);border-color:var(--cw-danger);color:var(--cw-danger)}.cw-tag.cw-nc-avail.inactive{background:#f59e0b1f;border-color:#f59e0b80;color:#92400e}[data-theme=dark] .coach-app .cw-tag.cw-nc-avail.inactive{color:#fcd34d}.cw-tag.cw-nc-avail.no_token{color:var(--cw-muted)}.cw-tag.cw-nc-sex{padding:1px 8px;font-size:11.5px;font-weight:700}.cw-tag.cw-nc-sex.female{background:var(--cw-nc-women-soft);border-color:var(--cw-nc-women);color:var(--cw-nc-women)}.cw-tag.cw-nc-sex.male{background:var(--cw-nc-men-soft);border-color:var(--cw-nc-men);color:var(--cw-nc-men)}.cw-nc-messages{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.cw-nc-message{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--cw-line);border-radius:12px;background:var(--cw-surface)}.cw-nc-message.on{border-color:var(--cw-accent-text);box-shadow:inset 0 0 0 1px var(--cw-accent-text)}.cw-nc-message-pick{flex:1;min-width:0}.cw-nc-message-line{display:block;overflow-wrap:anywhere}.cw-nc-wording{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.cw-nc-wording-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.cw-nc-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.cw-nc-form{margin:0;padding:10px 12px 12px;border:1px solid var(--cw-line);border-radius:12px;min-width:0;display:flex;flex-direction:column;gap:8px}.cw-nc-form.female{border-color:var(--cw-nc-women)}.cw-nc-form.male{border-color:var(--cw-nc-men)}.cw-nc-form legend{padding:0 6px;font-weight:700;font-size:13px}.cw-nc-form.female legend{color:var(--cw-nc-women)}.cw-nc-form.male legend{color:var(--cw-nc-men)}.cw-nc-editor{display:flex;flex-direction:column;gap:10px;padding:10px 0}.cw-nc-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.cw-nc-card{display:flex;flex-direction:column;gap:10px;min-width:0}.cw-nc-card.off .cw-nc-card-name strong,.cw-nc-card.off .cw-nc-preview{opacity:.6}.cw-nc-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cw-nc-card-name{display:flex;flex-direction:column;gap:2px;min-width:0}.cw-nc-card-name strong{font-size:15.5px}.cw-nc-schedule{font-variant-numeric:tabular-nums}.cw-nc-switch{display:inline-flex;align-items:center;gap:8px;flex:none}.cw-nc-card-body{display:flex;flex-direction:column;gap:6px}.cw-nc-preview{margin:0;font-size:13px;overflow-wrap:anywhere}.cw-nc-days{gap:6px}.cw-nc-times{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.cw-nc-times li{display:inline-flex;align-items:center;gap:4px}.cw-nc-times .cw-icon-btn{width:28px;height:28px;border-radius:8px}@media (max-width: 520px){.cw-nc-section{padding:12px}.cw-nc-auto,.cw-nc-forms{grid-template-columns:1fr}}.cw-search.cw-search-compact{flex:none;align-self:flex-start;width:100%;max-width:360px;min-width:0;padding:6px 10px;gap:6px;border-radius:10px;font-size:14px;box-sizing:border-box}.cw-search.cw-search-compact input{padding:4px 0;min-height:0;height:auto;border:0;box-shadow:none}@media (max-width: 640px){.cw-search.cw-search-compact{max-width:none}}.cw-wo-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cw-wo-cards>.cw-card{display:flex;flex-direction:column;gap:6px;padding:10px 14px;min-width:0}.cw-wo-cards .cw-wo-steps{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.cw-wo-cards .cw-wo-steps-side{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.cw-wo-cards .cw-wo-value{font-size:22px;line-height:1.2}.cw-wo-today.ok{border-color:color-mix(in srgb,var(--c-protein) 55%,transparent);background:color-mix(in srgb,var(--c-protein) 8%,var(--cw-surface))}.cw-wo-today.bad{border-color:color-mix(in srgb,var(--cw-danger) 55%,transparent);background:color-mix(in srgb,var(--cw-danger) 7%,var(--cw-surface))}.cw-wo-today-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cw-wo-today-rows li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.cw-wo-today-rows li>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-wo-status{flex:none;font-size:12.5px;font-weight:700;padding:2px 8px;border-radius:999px}.cw-wo-status.ok{color:#047857;background:#10b98124}.cw-wo-status.bad{color:var(--cw-danger);background:var(--cw-danger-soft)}@media (max-width: 900px){.cw-wo-cards{grid-template-columns:minmax(0,1fr)}}.cw-sheet-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cw-sheet-cat{display:flex;align-items:center;justify-content:center;gap:8px;min-height:64px;padding:12px;font:inherit;font-size:16px;font-weight:700;color:var(--cw-ink);background:var(--cw-surface-2);border:1px solid var(--cw-line);border-radius:14px;cursor:pointer}.cw-sheet-cat:hover,.cw-sheet-cat:focus-visible{border-color:var(--cw-accent);background:var(--cw-accent-soft)}.cw-sheet-level{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cw-sheet-level>strong{font-size:16px}@media (max-width: 380px){.cw-sheet-cats{grid-template-columns:minmax(0,1fr)}}.cw-pick-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}.cw-pick-wrap>.cw-act-measure{padding-inline:12px}.cw-pick-wrap>.cw-pick{width:100%;box-sizing:border-box}.cw-wp-groupnav{margin-bottom:0}.cw-wp-weektabs{margin-bottom:4px}.cw-planner .cw-weekday{padding-block:8px}.cw-planner .cw-weekdays{gap:6px}.cw-act-measure{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.cw-act-measure>strong{min-width:0}.cw-mtable-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.cw-mtable table.editing{min-width:520px}.cw-mtable th.editing,.cw-mtable td.editing{min-width:112px}.cw-ms-inline-input{width:100%;min-width:0;box-sizing:border-box;min-height:44px;padding:6px 8px;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface-2);color:var(--cw-ink);font:inherit;font-size:16px;text-align:center}.cw-ms-inline-input[aria-invalid=true]{border-color:var(--cw-danger, #e5484d)}.cw-ms-inline-date{display:flex;min-width:0}.cw-ms-inline-date .cw-date-input{min-height:44px;min-width:0;font-size:16px}.cw-ms-inline-actions td{vertical-align:top}.cw-ms-inline-btn{min-height:44px;min-width:44px;width:100%;margin-bottom:4px}.cw-mtable .cw-ms-edit{min-width:44px;min-height:44px}.cw-mtable tfoot td.cw-form-error{text-align:start;padding:8px 12px}.cw-calc-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}@media (min-width: 760px){.cw-calc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.cw-pgrid .cw-calc-card{grid-column:1 / -1;height:auto}.cw-calc-macro{border-top:4px solid var(--calc-color, var(--cw-accent));display:flex;flex-direction:column;gap:10px;min-width:0}.cw-calc-macro-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cw-calc-macro-head .cw-card-title{color:var(--calc-color, inherit);margin:0}.cw-calc-badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--cw-surface-2);color:var(--cw-muted);border:1px solid var(--cw-line)}.cw-calc-badge.custom{background:var(--cw-accent-soft);color:var(--cw-accent-text);border-color:var(--cw-accent)}.cw-calc-num .cw-input-xs{width:84px;text-align:center;font-variant-numeric:tabular-nums}.cw-calc-cap{display:flex;flex-direction:column;gap:6px}.cw-calc-macro [data-source=custom]{border-inline-start:3px solid var(--cw-accent);padding-inline-start:8px}.cw-calc-result{margin:0;font-size:15px}.cw-calc-result strong{font-size:20px;color:var(--calc-color, inherit)}.cw-calc-capped{color:var(--cw-muted);font-size:13px}.cw-calc-summary{display:flex;flex-direction:column;gap:8px;min-width:0}.cw-calc-summary-macros{display:flex;flex-wrap:wrap;gap:8px 16px;list-style:none;margin:0;padding:0}.cw-calc-summary-macros li{border-inline-start:4px solid var(--calc-color, var(--cw-line));padding-inline-start:8px}.cw-calc-kcal{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-weight:700}.cw-calc-kcal strong{font-size:24px;font-variant-numeric:tabular-nums}.cw-calc-formula{color:var(--cw-muted);font-weight:500;font-size:13px}.cw-calc-goal{margin:0;color:var(--cw-ink-2)}.cw-calc-summary-error p{margin:0;color:var(--cw-danger)}.cw-calc-days{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.cw-calc-days th,.cw-calc-days td{padding:4px 6px;text-align:start;border-bottom:1px solid var(--cw-line);font-variant-numeric:tabular-nums}.cw-plan-calc{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 0 14px;min-width:0}.cal-kcal{font-size:12.5px;color:var(--cw-muted);padding:2px 0}.cw-home{min-width:0;overflow-x:hidden}.cw-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,160px),1fr));gap:12px;min-width:0}.coach-app .cw-home-grid .cw-tile{flex-direction:column;justify-content:center;min-width:0;width:100%;font:inherit;cursor:pointer}.coach-app .cw-home-grid .cw-tile:last-child:nth-child(odd){grid-column:auto}.cw-home-grid .cw-tile-label,.cw-home-sub{overflow-wrap:anywhere;max-width:100%}.coach-app .cw-home-grid .cw-tile{position:relative;min-height:88px}.cw-home-grid a.cw-tile{text-decoration:none;color:inherit}.coach-app .cw-tile-badge{position:absolute;top:8px;inset-inline-end:8px;margin:0}.cw-home-sub{font-size:12.5px;color:var(--cw-muted);line-height:1.35}.cw-home-value{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--cw-ink)}.fm-so{display:flex;flex-direction:column;gap:10px}.fm-so h4{margin:0;font-size:13px;font-weight:700;color:var(--text-secondary)}.fm-so-row{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);min-width:0}.fm-so-row.has-error{border-color:var(--danger)}.fm-so-unit{display:flex;gap:8px;align-items:center;min-width:0}.fm-so-unit select{flex:1 1 auto;min-width:0}.fm-so-unit input{flex:0 1 110px;min-width:0;width:110px}.fm-so-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end}.fm-so-macro{display:flex;flex-direction:column;gap:4px;min-width:0}.fm-so-macro span{font-size:11px;font-weight:600;color:var(--text-secondary)}.fm-so-macro input{width:100%;min-width:0}.fm-so-macro input:disabled{opacity:.75}.fm-so-kcal{font-size:12px;font-weight:700;color:var(--text-secondary);padding-bottom:10px;font-variant-numeric:tabular-nums}.fm-so input[aria-invalid=true]{border-color:var(--danger)}.fm-so>.fm-add-btn{align-self:flex-start}@media (max-width: 520px){.fm-so-macros{grid-template-columns:repeat(3,minmax(0,1fr))}.fm-so-kcal{grid-column:1 / -1;padding-bottom:0}}.fm-gs{display:flex;flex-direction:column;gap:8px}.fm-gs h4{margin:0;font-size:13px;font-weight:700;color:var(--text-secondary)}.fm-gs-row{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);min-width:0}.fm-gs-grams{font-weight:700;font-variant-numeric:tabular-nums}.fm-gs-values{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:1 1 auto;min-width:0}.fm-gs-tag{font-size:11px;font-weight:700;color:var(--text-muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px}.fm-gs-actions{display:flex;gap:4px;margin-inline-start:auto}.fm-gs-actions .icon-btn:disabled{opacity:.35;cursor:default}.fm-gs-add{display:flex;gap:8px;align-items:center;min-width:0}.fm-gs-add input{flex:0 1 140px;min-width:0;width:140px}.fm-gs input[aria-invalid=true]{border-color:var(--danger)}.cw-wh-edit{margin-inline-start:auto}.cw-ms-edit{margin-top:2px}.cw-cycle-hrow{display:flex;align-items:center;justify-content:space-between;gap:8px}.cw-notifs .cw-chips{gap:6px;align-items:center}.cw-notifs .cw-chip{padding:4px 11px;font-size:12.5px;font-weight:600;line-height:1.5}.cw-notifs .cw-chip[aria-pressed=true]{background:color-mix(in srgb,var(--cw-accent-text) 12%,var(--cw-surface));color:var(--cw-accent-text);border-color:var(--cw-accent-text)}.cw-notifs .cw-notifs-clear{padding:4px 11px;font-size:12.5px;min-height:0}.cw-staff{max-width:480px;width:100%;margin-inline-end:auto}.cw-staff-card{padding:14px}.cw-staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;align-items:start}.cw-staff-grid>.cw-staff-pw{grid-column:1 / -1}.cw-staff-grid>[role=radiogroup]{grid-column:1 / -1}.cw-staff-pw{display:flex;align-items:flex-start;gap:10px;min-width:0}.cw-staff-pw>.cw-field{flex:1 1 auto;min-width:0}.cw-staff-add{flex:0 0 auto;margin-top:22px;padding-inline:18px;height:40px}.cw-staff-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cw-staff-row{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-top:1px solid var(--cw-line);min-width:0}.cw-staff-row:first-child{border-top:0;padding-top:0}.cw-staff-row.off{opacity:.7}.cw-staff-who{display:flex;flex-direction:column;gap:2px;min-width:0}.cw-staff-name{font-size:15px;overflow-wrap:anywhere}.cw-staff-user{font-size:12px;opacity:.75;overflow-wrap:anywhere}.cw-staff-actions{display:flex;flex-wrap:wrap;gap:6px}.cw-staff-row .cw-chips{gap:6px}@media (max-width: 520px){.cw-staff-grid{grid-template-columns:minmax(0,1fr)}}.cw-reset-time{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.cw-reset-time-label{font-weight:600;color:var(--cw-ink)}.cw-reset-time-input{font:inherit;font-size:28px;font-weight:700;min-height:52px;color:var(--cw-ink);background:var(--cw-surface-2);border:2px solid var(--cw-accent-text);border-radius:12px;padding:4px 14px;font-variant-numeric:tabular-nums}.cw-picker-top{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.cw-picker-controls{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:2px solid var(--cw-line);border-radius:12px;background:var(--cw-surface)}.cw-picker-btn{min-inline-size:44px;min-height:44px}.cw-picker-search{flex:1 1 180px;min-width:0;align-self:center}.cw-picker-save{min-height:44px}.cw-pass-row{position:relative;display:flex;align-items:center}.cw-pass-row input{padding-inline-end:38px!important}.cw-pass-eye{position:absolute;inset-inline-end:6px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;background:transparent;color:var(--cw-ink-2, inherit);cursor:pointer;border-radius:6px}.cw-pass-eye:focus-visible{outline:2px solid var(--cw-accent-text)}.cw-staff-username input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;font-size:16px;letter-spacing:.2px;border-color:var(--cw-accent, currentColor)}.cw-staff-roles{grid-column:1 / -1}.cw-staff-userline{display:inline-flex;align-items:center;gap:6px;min-width:0}.cw-staff-user{font-size:15px;font-weight:700;overflow-wrap:anywhere;opacity:1}.cw-staff-copy{width:28px;height:28px;flex:0 0 auto}.cw-staff-who .cw-pill{align-self:flex-start}.cw-staff-edit,.cw-staff-creds{display:flex;flex-direction:column;gap:10px;padding:10px;border:1px solid var(--cw-line);border-radius:12px}.cw-staff-wa{flex:1 1 auto;justify-content:center;text-align:center}.cw-roles{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 16px;min-width:0}.cw-roles .cw-field-label{flex:0 0 100%;padding:0}.cw-roles .cw-check{min-height:36px}.cw-check input:disabled+span{opacity:.6}.cw-staff-pills{display:flex;flex-wrap:wrap;gap:6px}@media (pointer: coarse),(max-width: 759px){.cw-topbar .cw-icon-btn,.cw-topbar .theme-toggle{width:44px;height:44px}}.cw-reg-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;align-items:stretch}.cw-reg-row{padding:0;gap:0;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.cw-reg-row:hover{border-color:var(--cw-accent);transform:translateY(-1px)}.cw-reg-row-btn{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;width:100%;height:100%;padding:12px 14px;cursor:pointer;text-align:start}.cw-reg-row-btn:focus-visible{outline:2px solid var(--cw-accent);outline-offset:-2px;border-radius:inherit}.cw-reg-row-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.cw-reg-name{font-weight:800;font-size:15.5px;color:var(--cw-ink);overflow-wrap:anywhere;flex:1 1 100%}.cw-reg-row-meta{margin:0;display:flex;flex-direction:column;gap:4px;font-size:13px;padding-top:8px;border-top:1px solid var(--cw-line)}.cw-reg-meta-item{display:flex;justify-content:space-between;gap:10px;min-width:0}.cw-reg-meta-item dt{color:var(--cw-muted);font-weight:500}.cw-reg-meta-item dd{margin:0;color:var(--cw-ink-2);font-weight:600;text-align:end;overflow-wrap:anywhere}@media (max-width: 520px){.cw-reg-list{grid-template-columns:1fr;gap:10px}}.cw-pill.cw-reg-status.pending_approval{background:#f59e0b29;color:#b45309}.cw-pill.cw-reg-status.rejected{background:var(--cw-danger-soft);color:var(--cw-danger)}.cw-pill.cw-reg-resubmitted{background:#10b98124;color:#047857}.cw-reg-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.cw-reg-event{display:flex;flex-direction:column;gap:2px;padding-inline-start:12px;border-inline-start:3px solid var(--cw-surface-2)}.cw-reg-event.rejected{border-inline-start-color:var(--cw-danger)}.cw-reg-event.approved{border-inline-start-color:#10b981}.cw-reg-event.edited{border-inline-start-color:#0ea5e9}.cw-reg-fieldset{border:0;margin:0;padding:0;min-width:0}.cw-reg-event-what{font-weight:600}.cw-reg-event-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.85em;color:var(--cw-ink-2)}.cw-reg-event-reason{font-size:.9em;overflow-wrap:anywhere}.cw-reg-actions{flex-wrap:wrap}.cw-reg-reason{min-height:72px;resize:vertical;font-weight:500;font-size:15px}.cw-reg-head-card .cw-card-head{flex-wrap:wrap;gap:8px}.cw-reg-head-card .cw-card-title{min-width:0;overflow-wrap:anywhere}.cw-reg-head-card .cw-pill,.cw-reg-row .cw-pill{flex-shrink:0}.cw-phone-row{display:flex;gap:6px;min-width:0}.cw-phone-row .cw-phone-country{flex:0 0 auto;min-width:0}.cw-phone-country-btn{font:inherit;display:inline-flex;align-items:center;gap:6px;height:100%;min-height:40px;padding:0 10px;border-radius:10px;border:1px solid var(--cw-line);background:var(--cw-surface);color:var(--cw-ink);cursor:pointer}.cw-phone-country-btn:disabled{cursor:default;opacity:.7}.cw-phone-opt{display:flex;align-items:center;gap:8px}.cw-phone-opt-name{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.cw-phone-country-btn bdi,.cw-phone-opt-dial{flex:none}.cw-phone-opt-dial{color:var(--cw-ink-2);font-variant-numeric:tabular-nums}.cw-phone-row input{flex:1 1 auto;min-width:0;text-align:left}.cw-tcard-wrap .cw-tcard-renew{margin-top:8px;width:100%;justify-content:center;min-height:44px}.cw-renew-preview{margin:4px 0 0;padding:8px 12px;border-radius:10px;background:var(--cw-accent-soft, rgba(37, 99, 235, .08));color:var(--cw-ink);font-weight:700}.cw-wp-add-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 640px){.cw-wp-add-row{grid-template-columns:1fr}}.cw-custom-library .cw-check{align-items:flex-start}.cw-custom-library .cw-check>span{display:flex;flex-direction:column;gap:2px}.cw-folder.f-trainees{--f: #7c3aed;--f-soft: #ede9fe}.cw-trainee-folder-bar{flex-wrap:wrap;gap:10px}.cw-select{font:inherit;font-size:14px;color:var(--cw-ink);background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:12px;padding:8px 12px;min-height:40px;max-width:100%}.cw-trainee-pill{align-self:flex-start;background:var(--cw-accent-soft, rgba(37, 99, 235, .1));color:var(--cw-ink);font-weight:700}[data-theme=dark] .coach-app .cw-folder.f-trainees{--f: #C4B5FD;--f-soft: rgba(124, 58, 237, .22)}.cw-person-wrap{container-type:inline-size;min-width:0}.cw-grid-person{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 10px;align-items:start}@container (min-width: 440px){.cw-grid-person{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-grid-person>:nth-child(3){grid-column:1 / -1}}@container (min-width: 600px){.cw-grid-person{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr)}.cw-grid-person>:nth-child(3){grid-column:auto}}.cw-fieldrow-top{align-items:flex-start}.cw-date-inline>.cw-date-box{flex:none}.cw-field-inline.cw-date-inline .cw-date-input:not([type=checkbox]){width:132px;flex:none}.cw-date-inline .cw-date-cal-btn{width:34px;height:34px;border-radius:8px}.cw-date-inline>.cw-unit{font-variant-numeric:tabular-nums;white-space:nowrap}*,*:before,*:after{box-sizing:border-box}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--bg: #f5f6fa;--bg-2: #eef0f7;--surface: #ffffff;--surface-2: #f8f9fc;--ink: #1a1d2e;--ink-2: #3c4258;--muted: #8b92a8;--muted-2: #b4b9cc;--line: #e8ebf5;--line-2: #f0f2fa;--primary: #10b981;--primary-2: #34d399;--primary-ink: #047857;--primary-soft: #d1fae5;--danger: #e74c3c;--success: #4ecb8a;--shadow-sm: 0 2px 6px rgba(28, 36, 74, .04);--shadow: 0 6px 20px rgba(28, 36, 74, .06);--shadow-lg: 0 16px 40px rgba(28, 36, 74, .1);--radius: 14px;--radius-sm: 10px;--sidebar-w: 260px;--c-protein: #10b981;--c-carbs: #3b82f6;--c-fat: #f59e0b;--c-cal: #ec4899;--c-protein-bg: #d1fae5;--c-carbs-bg: #dbeafe;--c-fat-bg: #fef3c7;--c-cal-bg: #fce7f3;--text-primary: #1A1A1A;--text-secondary: #4A4A4A;--text-muted: #7A7A7A;--text-disabled: #B0B0B0;--text: var(--text-primary)}[data-theme=dark]{--bg: #0f1117;--bg-2: #151824;--surface: #1a1d2b;--surface-2: #222638;--ink: #f3f4f8;--ink-2: #c7cad6;--muted: #8891a8;--muted-2: #5c6478;--line: #2a2f42;--line-2: #232838;--primary: #34d399;--primary-2: #6ee7b7;--primary-ink: #6ee7b7;--primary-soft: #042f1f;--shadow-sm: 0 2px 6px rgba(0,0,0,.3);--shadow: 0 8px 24px rgba(0,0,0,.4);--shadow-lg: 0 16px 40px rgba(0,0,0,.5);--c-protein-bg: #052e1e;--c-carbs-bg: #0a2540;--c-fat-bg: #3d2806;--c-cal-bg: #3d0e26;--text-primary: #F5F5F5;--text-secondary: #CFCFCF;--text-muted: #9A9A9A;--text-disabled: #666666;--notes-color: #fcd34d;--cheat-title: #fcd34d;--cheat-body: #e8c96a}html,body,#root{height:100%}html{overscroll-behavior:none;background:var(--bg)}body{margin:0;font-family:Heebo,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text-primary);direction:rtl;-webkit-font-smoothing:antialiased;overscroll-behavior:none}[data-theme=dark] html{background:#080c18}[data-theme=dark] body{background:linear-gradient(165deg,#080c18,#0c1020 30%,#0f1117,#0d0b16 80%,#080810);background-attachment:fixed}[data-theme=dark] body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 750px 550px at 10% 30%,rgba(16,185,129,.15) 0%,transparent 60%),radial-gradient(ellipse 650px 450px at 90% 45%,rgba(59,130,246,.13) 0%,transparent 60%),radial-gradient(ellipse 550px 400px at 50% 80%,rgba(139,92,246,.08) 0%,transparent 60%);filter:blur(42px);animation:bgGlow 12s ease-in-out infinite alternate}@keyframes bgGlow{0%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.015)}to{opacity:.88;transform:scale(.99)}}button{font-family:inherit;cursor:pointer;border:0}input,select{font-family:inherit}.crm{min-height:100vh;min-height:100dvh;background:var(--bg);z-index:1;position:relative}.crm-sidebar{background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;right:0;width:var(--sidebar-w);z-index:50;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.crm-main{margin-right:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;min-width:0}.crm-brand{padding:20px 20px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.crm-brand .logo{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:1px;box-shadow:0 8px 18px #10b9814d;flex-shrink:0}.crm-brand-name{font-weight:800;font-size:16px;letter-spacing:-.3px}.crm-brand-sub{color:var(--muted);font-size:11px;margin-top:2px}.brand-logo{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#059669,#34d399);color:#fff;font-size:13px;font-weight:800;letter-spacing:1px;display:grid;place-items:center;box-shadow:0 4px 12px #10b9814d;flex-shrink:0}.crm-nav{flex:1;padding:18px 12px;display:flex;flex-direction:column;gap:2px}.crm-nav-label{color:var(--muted-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:0 12px 10px}.crm-nav-item{display:flex;align-items:center;gap:12px;background:transparent;padding:10px 12px;border-radius:10px;color:var(--ink-2);font-size:14px;font-weight:500;text-align:right;transition:all .15s ease;position:relative}.crm-nav-item:hover{background:var(--surface-2);color:var(--ink)}.crm-nav-item.active{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;font-weight:600;box-shadow:0 8px 18px #10b9814d}.crm-nav-icon{font-size:18px;width:22px;text-align:center}.crm-nav-dot{position:absolute;left:10px;width:6px;height:6px;border-radius:50%;background:var(--surface)}.crm-sidebar-foot{border-top:1px solid var(--line);padding:14px;display:flex;flex-direction:column;gap:10px}.crm-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px}.crm-user-info{flex:1;min-width:0}.crm-user-name{font-weight:700;font-size:13px}.crm-user-role{color:var(--muted);font-size:11px;margin-top:2px}.crm-logout{width:100%;justify-content:center;text-align:center;background:var(--surface-2);font-size:13px;padding:9px}.crm-topbar{min-height:64px;padding:calc(14px + var(--safe-top)) 28px 14px;padding-inline-start:max(28px,var(--safe-left));padding-inline-end:max(28px,var(--safe-right));display:flex;flex-direction:column;gap:0;position:sticky;top:0;z-index:10}.crm-topbar-inner{display:flex;align-items:center;gap:14px;width:100%;position:relative;z-index:1}.crm-burger{background:var(--surface-2);border:1.5px solid var(--line);font-size:20px;color:var(--ink);width:38px;height:38px;border-radius:10px;display:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.crm-burger:hover{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}[data-theme=dark] .crm-burger{background:#2a2f42;border-color:#3d4360;color:#f3f4f8}[data-theme=dark] .crm-burger:hover{background:#1a3a2a;border-color:#34d399;color:#34d399}.crm-crumbs{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;flex:1}.crm-crumb-muted{color:var(--muted);font-weight:500}.crm-crumb-sep{color:var(--muted-2)}.trainee-header .crm-crumb-cur{color:#fff;font-weight:700}.crm-topbar-right{display:flex;align-items:center;gap:10px}.crm-content{padding:28px;max-width:1400px;width:100%;margin:0 auto;flex:1;overflow-x:hidden}.sidebar-close{display:none;width:34px;height:34px;border-radius:10px;background:var(--surface-2);border:1.5px solid var(--line);color:var(--muted);cursor:pointer;place-items:center;margin-right:auto;margin-left:0;font-size:15px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.sidebar-close:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.sidebar-close:active{transform:scale(.88)}.crm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 900px){.crm-sidebar{transform:translate(100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.crm-sidebar.open{transform:translate(0)}.crm-main{margin-right:0}.crm-burger{display:grid;place-items:center}.sidebar-close{display:grid}.crm-content{padding:16px}.crm-topbar{padding-left:max(12px,var(--safe-left));padding-right:max(12px,var(--safe-right));gap:8px}.crm-crumbs{font-size:12px;gap:4px;min-width:0;overflow:hidden}.crm-crumb-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crm-topbar-right{gap:6px;flex-shrink:0}.crm-topbar-right .user-badge{display:none}}.simple-app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative;z-index:1}[data-theme=dark] .simple-app{background:transparent}[data-theme=dark] .nc-page,[data-theme=dark] .add-meal-page{background:#0a0c14f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-theme=dark] .trainee-footer{background:#0a0c14e6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=dark] .nc-head{background:#0a0c14f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=dark] .qa-sheet,[data-theme=dark] .modal{background:#101420f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-theme=dark] .confirm-modal{background:#101420fa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}[data-theme=dark] .fav-sheet,[data-theme=dark] .fav-header{background:#121620}[data-theme=dark] .msg-sheet{background:#101420f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.top{padding:calc(16px + var(--safe-top)) 28px 16px;padding-inline-start:max(28px,var(--safe-left));padding-inline-end:max(28px,var(--safe-right));background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px;max-width:1200px;margin:0 auto}.top h1{margin:0;font-size:18px;letter-spacing:-.3px}.top p{margin:2px 0 0;color:var(--muted);font-size:12px}.logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#059669,#10b981);color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:1px;box-shadow:0 8px 18px #10b9814d}.layout{padding:24px 28px;max-width:900px;margin:0 auto;width:100%}.layout.single{padding:24px 28px}@media (max-width: 700px){.layout,.top{padding:14px}}input,select{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s;width:100%;color:var(--text-primary)}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #10b9811f}input:disabled{background:var(--surface-2);color:var(--text-secondary);cursor:default}input::placeholder,textarea::placeholder{color:var(--text-disabled);opacity:1}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}button{-webkit-tap-highlight-color:transparent}.btn-primary{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;padding:10px 18px;border-radius:10px;font-weight:600;font-size:14px;box-shadow:0 8px 18px #10b98140;transition:transform .15s ease,box-shadow .15s ease,opacity .15s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px #10b98159}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.55;pointer-events:none}.btn-primary.small{padding:7px 12px;font-size:13px}.btn-ghost{background:var(--surface-2);color:var(--ink-2);padding:9px 14px;border-radius:10px;font-weight:500;font-size:14px;border:1px solid var(--line);transition:background .15s,transform .12s}.btn-ghost:hover{background:var(--line-2)}.btn-ghost:active{transform:scale(.97)}.btn-danger{background:#fff0ee;color:var(--danger);padding:9px 14px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid #fcd9d4}.btn-danger:hover{background:#ffe3df}.icon-btn{width:32px;height:32px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:16px;display:grid;place-items:center;cursor:pointer;transition:all .15s}.icon-btn:hover{background:var(--line-2)}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover{background:#fff0ee}.muted{color:var(--text-muted);font-size:13px}.stack{display:flex;flex-direction:column;gap:18px}.home-compact{gap:10px}.home-compact .cta-add-meal{padding:12px 16px}.home-compact .rings-card{padding:14px 14px 12px}.home-compact .macro-status-list{gap:4px;margin-top:10px}.home-compact .macro-status-row{padding:7px 12px}.home-compact .fav-btn{padding:12px 16px;font-size:14px}.home-compact .tk-card{padding:10px 12px}.home-compact .share-card{display:none}.page-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:4px}.page-title{margin:0;font-size:26px;letter-spacing:-.5px}.page-sub{color:var(--text-muted);margin:4px 0 0;font-size:14px}.panel{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:22px;animation:fade-in .2s ease}[data-theme=dark] .panel{border-color:#353a50}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px}.panel-head h3{margin:0;font-size:16px;letter-spacing:-.2px}.panel-head .sub{color:var(--text-muted);font-size:13px;margin-top:2px}.grid-2-col{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}@media (max-width: 900px){.grid-2-col{grid-template-columns:1fr}}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media (max-width: 900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-grid.stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 640px){.stat-grid.stat-grid-3{grid-template-columns:1fr}}.stat-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1.5px solid var(--line);padding:18px;border-radius:var(--radius);text-align:right;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);border-right:4px solid var(--stat-accent, var(--line))}.stat-card:not(:disabled):hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--stat-accent, #a7f3d0);border-right-color:var(--stat-accent, #a7f3d0)}.stat-card:nth-child(1){--stat-accent: #6c5ce7}.stat-card:nth-child(2){--stat-accent: #4ecb8a}.stat-card:nth-child(3){--stat-accent: #ff7eb3}.stat-card:nth-child(4){--stat-accent: #f9c846}.stat-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:22px;flex-shrink:0}.stat-label{color:var(--text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:22px;font-weight:700;margin-top:2px;letter-spacing:-.5px;color:var(--text-primary)}.stat-card:nth-child(1) .stat-value{color:#6c5ce7}.stat-card:nth-child(2) .stat-value{color:#10b981}.stat-card:nth-child(3) .stat-value{color:#ff7eb3}.stat-card:nth-child(4) .stat-value{color:#e6a817}[data-theme=dark] .stat-card:nth-child(1) .stat-value{color:#a29bfe}[data-theme=dark] .stat-card:nth-child(2) .stat-value{color:#6ee7b7}[data-theme=dark] .stat-card:nth-child(3) .stat-value{color:#ffb3d0}[data-theme=dark] .stat-card:nth-child(4) .stat-value{color:#fcd34d}[data-theme=dark] .stat-card{border-color:#353a50}.mini-list{display:flex;flex-direction:column;gap:4px}.mini-row{display:flex;align-items:center;gap:12px;background:transparent;padding:10px;border-radius:10px;text-align:right;transition:background .15s}.mini-row:hover{background:var(--surface-2)}.mini-main{flex:1;min-width:0}.mini-name{font-weight:600;font-size:14px}.mini-sub{color:var(--text-muted);font-size:12px;margin-top:2px}.mini-arrow{color:var(--text-disabled);font-size:20px}.qa-item{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--line);padding:12px 14px;border-radius:12px;text-align:right;transition:all .15s}.qa-item:hover{background:var(--primary-soft);border-color:#a7f3d0}.qa-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:18px;flex-shrink:0}.qa-title{font-weight:700;font-size:14px}.qa-sub{color:var(--text-muted);font-size:12px;margin-top:2px}.trainee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px}.trainee-card{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:right;transition:all .18s ease;box-shadow:var(--shadow-sm)}.tc-top{display:flex;align-items:flex-start;gap:12px}.trainee-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#a7f3d0}.avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#34d399,#059669);color:#fff;display:grid;place-items:center;font-weight:700;flex-shrink:0}.avatar.big{width:52px;height:52px;font-size:20px;border-radius:14px}.tc-info{flex:1;min-width:0}.tc-name{font-weight:700;font-size:15px;color:var(--text-primary)}.tc-user{color:var(--primary);font-size:12px;font-weight:600;margin-top:2px}.tc-stats{color:var(--text-muted);font-size:12px;text-align:center}.tc-level{font-size:10px;font-weight:800;color:var(--primary);background:var(--primary-soft);padding:1px 6px;border-radius:6px;margin-left:4px}.tc-level.dim{opacity:.4}.tc-tracking{display:flex;gap:6px;margin-top:5px}.tc-track{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px;background:var(--surface-2);color:var(--muted);opacity:.45}.tc-track.done{opacity:1}.tc-track.water.done{color:#3b82f6;background:#3b82f61a}.tc-track.sleep.done{color:#8b5cf6;background:#8b5cf61a}.tc-track.weight.done{color:#10b981;background:#10b9811a}.tc-rings{display:flex;justify-content:center;gap:28px;padding-top:12px;border-top:1px solid var(--line)}.tc-macro-status{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);width:100%;text-align:right}.tc-status-row{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--text-secondary)}.tc-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tc-ring{display:flex;flex-direction:column;align-items:center;gap:0}.tc-ring-val{font-size:13px;font-weight:800}.tc-ring-of{font-size:11.5px;font-weight:700;color:var(--text-secondary);white-space:nowrap;line-height:1.1;margin-top:3px}.tc-ring-label{font-size:11.5px;font-weight:800;color:var(--text-primary);line-height:1.1}.live-indicator{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0;padding:5px 10px;text-align:center;border-radius:14px;font-family:inherit}.live-top{display:flex;align-items:center;gap:5px}.live-time{font-size:12px;font-weight:800;color:var(--text-primary);white-space:nowrap}.live-indicator.green .live-time{color:#059669}.live-indicator.orange .live-time{color:#d97706}.live-indicator.red .live-time{color:#dc2626}.live-indicator.green{background:#10b9811a}.live-indicator.orange{background:#f59e0b1a}.live-indicator.red{background:#ef444414}.live-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;position:relative}.live-indicator.green .live-dot{background:#10b981;box-shadow:0 0 6px #10b98180;animation:liveBreathe 2.5s ease-in-out infinite}.live-indicator.orange .live-dot{background:#f59e0b;box-shadow:0 0 4px #f59e0b66;animation:liveBreathe 3s ease-in-out infinite}.live-indicator.red .live-dot{background:#ef4444;box-shadow:0 0 3px #ef44444d}@keyframes liveBreathe{0%,to{opacity:1;box-shadow:0 0 4px currentColor}50%{opacity:.6;box-shadow:0 0 10px currentColor}}.live-text{font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.live-indicator.green .live-text{color:#10b981}.live-indicator.orange .live-text{color:#f59e0b}.live-indicator.red .live-text{color:#ef4444;opacity:.7}.back-btn{width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:8px 16px 8px 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--primary);background:var(--primary-soft);border:1px solid transparent;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;-webkit-tap-highlight-color:transparent}.back-btn svg,.back-btn .back-arrow{transition:transform .25s cubic-bezier(.4,0,.2,1)}.back-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #10b98140;transform:translate(3px)}.back-btn:hover svg,.back-btn:hover .back-arrow{transform:translate(4px)}.back-btn:active{transform:scale(.95) translate(3px)}.new-form.fullwidth{display:flex;flex-direction:column;gap:14px;margin-top:18px}.form-section{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px}.form-section h4{margin:0 0 14px;font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.form-section h4 .pill{background:var(--primary-soft);color:var(--primary-ink);padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width: 700px){.form-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}.field span{font-weight:600;font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.field-hint{display:block;font-size:10px;color:var(--text-disabled);margin-top:3px;font-weight:500}.profile-save-bar{position:sticky;bottom:0;z-index:5;padding:12px 0 calc(12px + var(--safe-bottom));margin-top:16px;background:var(--bg)}[data-theme=dark] .profile-save-bar{background:transparent;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.profile-save-btn{width:100%;padding:14px;font-size:15px;border-radius:14px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.3px}.status-badge.status-lose{background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.2)}.status-badge.status-maintain{background:#3b82f61a;color:#3b82f6;border:1px solid rgba(59,130,246,.2)}.status-badge.status-gain{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.status-badge.status-none{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--line)}[data-theme=dark] .status-badge.status-lose{background:#10b98126;color:#6ee7b7}[data-theme=dark] .status-badge.status-maintain{background:#3b82f61f;color:#93c5fd}[data-theme=dark] .status-badge.status-gain{background:#f59e0b1f;color:#fcd34d}.field-view{padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--text-secondary);min-height:40px;display:flex;align-items:center;animation:fieldViewIn .18s ease-out}.field input:not(:disabled){animation:fieldEditIn .18s ease-out}@keyframes fieldViewIn{0%{opacity:.6;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes fieldEditIn{0%{opacity:.6;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.field-view.saved{animation:fieldSaved .3s ease}@keyframes fieldSaved{0%{background:var(--surface-2)}40%{background:var(--primary-soft)}to{background:var(--surface-2)}}.toolbar{background:var(--surface);border:1px solid var(--line);padding:10px 14px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;white-space:nowrap}.toolbar input{width:auto;padding:7px 10px}.dash{display:flex;flex-direction:column;gap:18px}.tp-card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);animation:fade-in .3s ease}.tp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}.tp-status-wrap{display:flex;flex-direction:column;gap:4px}.tp-status{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:20px;font-size:13px;font-weight:700;width:fit-content}.tp-status.good{background:#d1fae5;color:#065f46}.tp-status.mid{background:#fef3c7;color:#92400e}.tp-status.weak{background:#fee2e2;color:#991b1b}[data-theme=dark] .tp-status.good{background:#052e1e;color:#6ee7b7}[data-theme=dark] .tp-status.mid{background:#3d2806;color:#fcd34d}[data-theme=dark] .tp-status.weak{background:#3b1111;color:#fca5a5}.tp-last{font-size:11px;color:var(--text-muted);font-weight:500}.tp-stats{display:flex;gap:16px}.tp-stat{text-align:center}.tp-stat-val{font-size:20px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.tp-stat-lbl{font-size:10px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.tp-chart{display:flex;gap:6px;align-items:flex-end;height:70px;padding-top:4px}.tp-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}.tp-bar-track{flex:1;width:100%;max-width:32px;background:var(--surface-2);border-radius:6px;display:flex;align-items:flex-end;overflow:hidden}.tp-bar{width:100%;border-radius:6px;transition:height .5s cubic-bezier(.4,0,.2,1);min-height:4px}.tp-bar.good{background:linear-gradient(180deg,#34d399,#10b981)}.tp-bar.mid{background:linear-gradient(180deg,#fcd34d,#f59e0b)}.tp-bar.weak{background:linear-gradient(180deg,#fca5a5,#ef4444)}.tp-bar.none{background:var(--line);opacity:.4;border-radius:6px}.tp-bar-day{font-size:10px;font-weight:700;color:var(--muted)}.tp-chart-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:6px}.tp-legend{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;font-size:10px;color:var(--muted);font-weight:600}.tp-leg{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:2px}.tp-leg:not(:first-child){margin-right:8px}.tp-leg.good{background:#10b981}.tp-leg.mid{background:#f59e0b}.tp-leg.weak{background:#ef4444}.tp-leg.none{background:var(--line)}@media (max-width: 500px){.tp-top{flex-direction:column;gap:10px}.tp-stats{gap:12px}.tp-stat-val{font-size:17px}.tp-chart{height:56px}}.tpg{display:flex;flex-direction:column;gap:16px}.mp-week-tabs{display:flex;gap:6px;margin-bottom:16px}.mp-week-tab{flex:1;padding:10px 8px;border-radius:12px;background:var(--surface-2);border:1.5px solid var(--line);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;font-family:inherit;text-align:center;transition:all .15s;position:relative;-webkit-tap-highlight-color:transparent}.mp-week-tab:hover{border-color:var(--muted)}.mp-week-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #10b98133}.mp-week-tab.current:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:var(--primary)}.mp-week-tab.active.current:after{background:#fff}.mp-week-range{display:block;font-size:11px}.mp-week-now{display:block;font-size:9px;font-weight:800;color:var(--primary);margin-top:2px}.mp-week-tab.active .mp-week-now{color:#ffffffb3}.mp-active-hint{font-size:11px;color:var(--primary);font-weight:600;text-align:center;padding:6px 0;margin-bottom:8px;background:var(--primary-soft);border-radius:8px}@media (max-width: 500px){.mp-week-tab{padding:8px 4px;font-size:11px}.mp-week-now{font-size:8px}.mp-active-hint{font-size:10px}}.wt-card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:16px;margin-bottom:4px}.wt-head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.wt-status{margin-right:auto;margin-left:0;font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}.wt-status.done{background:#10b9811a;color:#10b981}.wt-status.pending{background:#f59e0b1a;color:#f59e0b}.wt-current{font-size:28px;font-weight:900;color:var(--text-primary);margin-bottom:10px}.wt-input-row{display:flex;gap:8px}.wt-input{flex:1;padding:10px 12px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface-2);font-size:15px;font-weight:700;font-family:inherit;color:var(--text-primary);outline:none;transition:border-color .2s}.wt-input:focus{border-color:var(--primary)}.wt-btn{padding:10px 20px;flex-shrink:0}.wt-hint{font-size:11px;color:var(--text-muted);margin-top:8px}.wt-chart-card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:16px}.wt-chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.wt-chart-title{font-size:14px;font-weight:700;color:var(--text-primary)}.wt-delta{font-size:13px;font-weight:800;padding:3px 10px;border-radius:8px}.wt-delta.good{color:#10b981;background:#10b9811a}.wt-delta.warn{color:#e8a040;background:#e8a0401a}.wt-delta.neutral{color:var(--muted);background:var(--surface-2)}@media (max-width: 500px){.wt-current{font-size:24px}.wt-input{font-size:14px;padding:8px 10px}.wt-btn{padding:8px 14px;font-size:13px}}.lvl-hero{background:var(--surface);border:1.5px solid var(--line);border-radius:20px;padding:24px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;animation:fade-in .4s ease}.lvl-hero.near{border-color:#10b98140;box-shadow:0 0 20px #10b9810f}.lvl-hero.near .lvl-hero-bar-fill{box-shadow:0 0 10px #10b9814d}.lvl-hero.near .lvl-next-badge{animation:lvlNearPulse 2s ease-in-out infinite}@keyframes lvlNearPulse{0%,to{opacity:.7}50%{opacity:.95;box-shadow:0 0 8px #10b98133}}.lvl-medal-hero{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;position:relative;overflow:hidden;margin-bottom:4px;animation:lvlMedalEntry .5s ease}@keyframes lvlMedalEntry{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.lvl-medal-hero .lvl-medal-num{font-size:26px;font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);position:relative;z-index:2}.lvl-medal-hero .lvl-medal-ring{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;border:1.5px solid rgba(255,255,255,.2);z-index:1;pointer-events:none}.lvl-hero-level{font-size:22px;font-weight:900;color:var(--text-primary);letter-spacing:-.5px}.lvl-hero-tier{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-secondary);letter-spacing:.3px}.lvl-hero-title{font-size:12px;color:var(--text-disabled);font-weight:600;margin-bottom:6px}.lvl-hero-xp-added{font-size:13px;font-weight:800;color:var(--primary);animation:lvlXpPop .5s ease}.lvl-hero-progress{width:100%;margin-top:8px}.lvl-hero-progress-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);font-weight:600;margin-bottom:6px}.lvl-hero-xp{font-weight:800;color:var(--text-secondary)}.lvl-hero-bar-row{display:flex;align-items:center;gap:8px}.lvl-hero-bar-bg{flex:1;height:8px;border-radius:10px;background:var(--surface-2);overflow:hidden}.lvl-hero-bar-fill{height:100%;border-radius:10px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative}.lvl-hero-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%);animation:lvlBarShine 3s ease-in-out infinite}.lvl-hero-bar-sub{font-size:11px;color:var(--text-muted);margin-top:6px;text-align:center;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lvl-medal.bronze .lvl-medal-shimmer{display:none}.lvl-medal.silver .lvl-medal-shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.15) 50%,transparent 60%);animation:lvlShimmer 4s ease-in-out infinite}.lvl-medal.gold .lvl-medal-shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.25) 50%,transparent 65%);animation:lvlShimmer 3s ease-in-out infinite}.lvl-medal.platinum{animation:lvlPlatBreathe 3s ease-in-out infinite}.lvl-medal.platinum .lvl-medal-shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.3) 48%,rgba(200,230,255,.15) 52%,transparent 70%);animation:lvlShimmer 2.5s ease-in-out infinite}.lvl-medal.platinum .lvl-medal-ring{border-color:#ffffff4d}@keyframes lvlPlatBreathe{0%,to{box-shadow:0 4px 20px var(--glow, rgba(125,211,252,.3))}50%{box-shadow:0 4px 28px var(--glow, rgba(125,211,252,.45)),0 0 12px #7dd3fc26}}@keyframes lvlShimmer{0%{transform:translate(-100%) rotate(25deg)}to{transform:translate(100%) rotate(25deg)}}.lvl-stage-dots{display:flex;gap:3px}.lvl-dot{width:8px;height:8px;border-radius:2px;background:var(--line);transition:all .4s ease}.lvl-stage-dots.bronze .lvl-dot.filled{background:#d97706;box-shadow:0 0 4px #d977064d}.lvl-stage-dots.silver .lvl-dot.filled{background:#9ca3af;box-shadow:0 0 4px #9ca3af4d}.lvl-stage-dots.gold .lvl-dot.filled{background:#fbbf24;box-shadow:0 0 4px #fbbf244d}.lvl-stage-dots.platinum .lvl-dot.filled{background:#7dd3fc;box-shadow:0 0 4px #7dd3fc4d}.lvl-dot.current{animation:lvlDotPulse 2.5s ease-in-out infinite}@keyframes lvlDotPulse{0%,to{opacity:1}50%{opacity:.6}}.lvl-title-name{font-size:10px;color:var(--text-disabled);font-weight:500;margin-top:2px}.lvl-xp-num{font-size:13px;font-weight:800;color:var(--primary);white-space:nowrap;flex-shrink:0}.lvl-bar-wrap{margin-top:14px}.lvl-bar-row{display:flex;align-items:center;gap:8px}.lvl-next-badge{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3);flex-shrink:0;transition:opacity .5s ease}.lvl-bar-bg{flex:1;height:6px;border-radius:10px;background:var(--surface-2);overflow:hidden}.lvl-bar-fill{height:100%;border-radius:10px;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative}.lvl-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 40%,rgba(255,255,255,.15) 50%,transparent 60%);animation:lvlBarShine 3s ease-in-out infinite}@keyframes lvlBarShine{0%{transform:translate(-200%)}to{transform:translate(200%)}}.lvl-bar-label{font-size:11px;color:var(--text-muted);margin-top:6px;text-align:center;font-weight:500}.lvl-up-msg{display:none}.lvl-up-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:lvlOverlayLife 2.5s ease forwards}@keyframes lvlOverlayLife{0%{opacity:0}10%{opacity:1}70%{opacity:1}to{opacity:0;visibility:hidden}}.lvl-up-toast{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 36px;background:var(--surface);border:1.5px solid var(--line);border-radius:24px;box-shadow:0 20px 60px #0006;animation:lvlToastPop .5s cubic-bezier(.2,.8,.3,1.15)}@keyframes lvlToastPop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.lvl-up-toast-medal{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:900;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);animation:lvlMedalPop .6s ease .2s backwards}@keyframes lvlMedalPop{0%{transform:scale(.3) rotate(-10deg)}60%{transform:scale(1.15) rotate(3deg)}to{transform:scale(1) rotate(0)}}.lvl-up-toast-text{font-size:20px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.lvl-up-toast-tier{font-size:13px;font-weight:600;color:var(--text-secondary);letter-spacing:.5px}.lvl-xp-added{text-align:center;margin-top:4px;font-size:12px;font-weight:700;color:var(--primary);opacity:.7;animation:lvlXpPop .5s ease .3s backwards}@keyframes lvlXpPop{0%{opacity:0;transform:translateY(6px)}to{opacity:.7;transform:translateY(0)}}@media (max-width: 500px){.lvl-medal-hero{width:58px;height:58px}.lvl-medal-hero .lvl-medal-num{font-size:20px}.lvl-hero-level{font-size:18px}.lvl-hero{padding:18px 14px}.lvl-hero-bar-sub{font-size:10px}}@media (max-width: 360px){.lvl-medal-hero{width:50px;height:50px}.lvl-medal-hero .lvl-medal-num{font-size:18px}.lvl-hero-level{font-size:16px}.lvl-hero-tier{font-size:11px}}.tpg-hero{border-radius:18px;padding:28px 22px;text-align:center;animation:fade-in .4s ease}.tpg-hero.good{background:linear-gradient(135deg,#052e1e,#064e3b);border:1.5px solid rgba(52,211,153,.25)}.tpg-hero.mid{background:linear-gradient(135deg,#3d2806,#78350f);border:1.5px solid rgba(252,211,77,.25)}.tpg-hero.weak{background:linear-gradient(135deg,#3b1111,#7f1d1d);border:1.5px solid rgba(252,165,165,.25)}[data-theme=light] .tpg-hero.good{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#10b9814d}[data-theme=light] .tpg-hero.mid{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b4d}[data-theme=light] .tpg-hero.weak{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#ef44444d}.tpg-hero-icon{font-size:40px;margin-bottom:8px}.tpg-hero-pct{font-size:48px;font-weight:900;letter-spacing:-2px;line-height:1}.tpg-pct-anim{display:inline-block;animation:tpgPop .6s cubic-bezier(.2,.8,.3,1.2)}@keyframes tpgPop{0%{opacity:0;transform:scale(.3) translateY(20px)}60%{transform:scale(1.1) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.tpg-hero.good .tpg-hero-pct{color:#34d399}.tpg-hero.mid .tpg-hero-pct{color:#fbbf24}.tpg-hero.weak .tpg-hero-pct{color:#fca5a5}[data-theme=light] .tpg-hero.good .tpg-hero-pct{color:#059669}[data-theme=light] .tpg-hero.mid .tpg-hero-pct{color:#d97706}[data-theme=light] .tpg-hero.weak .tpg-hero-pct{color:#dc2626}.tpg-hero-msg{font-size:15px;font-weight:600;margin-top:8px;color:#ffffffd9}[data-theme=light] .tpg-hero-msg{color:var(--ink-2)}.tpg-bonus{margin-top:8px;font-size:13px;font-weight:700;padding:6px 14px;border-radius:20px;display:inline-block;background:#ffffff14;color:#ffffffb3;animation:tpgBonusIn .4s ease backwards}.tpg-bonus:nth-child(4){animation-delay:.1s}.tpg-bonus:nth-child(5){animation-delay:.2s}.tpg-bonus:nth-child(6){animation-delay:.3s}@keyframes tpgBonusIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}[data-theme=light] .tpg-bonus{background:#0000000d;color:var(--ink-2)}.tpg-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tpg-stat{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:14px 10px;text-align:center;opacity:0;animation:tpgSectionIn .35s ease forwards;transition:transform .2s ease}.tpg-stat:nth-child(1){animation-delay:0s}.tpg-stat:nth-child(2){animation-delay:.06s}.tpg-stat:nth-child(3){animation-delay:.12s}.tpg-stat:hover{transform:translateY(-2px)}.tpg-stat-val{font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.tpg-stat-lbl{font-size:10px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-top:2px}.tpg-chart-card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm);opacity:0;animation:tpgSectionIn .4s ease .1s forwards}.tpg-chart-head-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tpg-chart-title{font-size:14px;font-weight:700;color:var(--text-primary)}.tpg-chart-mood{font-size:11px;font-weight:600;color:var(--text-muted)}.tpg-line-chart{width:100%;overflow:visible}.tpg-svg{width:100%;height:auto;display:block;overflow:visible}.tpg-grid{stroke:var(--line);stroke-width:.5}.tpg-target-line{stroke:var(--primary);stroke-width:1;stroke-dasharray:4 3;opacity:.3}.tpg-target-text{fill:var(--primary);font-size:8px;font-weight:600;opacity:.4}.tpg-area{animation:tpgAreaIn .8s ease forwards;opacity:0}@keyframes tpgAreaIn{to{opacity:1}}.tpg-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:tpgDraw 1.2s ease forwards}@keyframes tpgDraw{to{stroke-dashoffset:0}}.tpg-point{opacity:0;animation:tpgDotIn .3s ease forwards;cursor:pointer}@keyframes tpgDotIn{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.tpg-point-glow{animation:tpgGlow 2.5s ease-in-out infinite}@keyframes tpgGlow{0%,to{r:12;opacity:.12}50%{r:16;opacity:.06}}.tpg-point-dot{transition:r .15s ease}.tpg-point:hover .tpg-point-dot{r:7}.tpg-point-label{fill:var(--ink);font-size:8px;font-weight:700;opacity:0;transition:opacity .2s}.tpg-point:hover .tpg-point-label{opacity:1}.tpg-day-label{fill:var(--muted);font-size:9px;font-weight:600}.tpg-day-label.today{fill:var(--primary);font-weight:800}.tpg-ring-row{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.tpg-ring-svg{width:52px;height:52px;flex-shrink:0}.tpg-ring-fill{stroke-dasharray:0 157;animation:tpgRingFill 1s ease .5s forwards}@keyframes tpgRingFill{to{stroke-dasharray:var(--ring-dash, 0) 157}}.tpg-ring-num{fill:var(--ink);font-size:13px;font-weight:800}.tpg-ring-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.tpg-achieve-card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm);opacity:0;animation:tpgSectionIn .4s ease .2s forwards}@keyframes tpgSectionIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tpg-achieve-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.tpg-achieve-list{display:flex;flex-wrap:wrap;gap:8px}.tpg-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:12px;font-size:12px;font-weight:700;border:1.5px solid var(--line);transition:all .25s cubic-bezier(.4,0,.2,1)}.tpg-badge span{font-size:18px}.tpg-badge:hover{transform:translateY(-1px)}.tpg-badge.earned{background:var(--primary-soft);border-color:#10b98159;color:var(--text-primary);box-shadow:0 2px 8px #10b98126;animation:tpgBadgePop .4s ease backwards}[data-theme=dark] .tpg-badge.earned{box-shadow:0 2px 12px #10b98133,inset 0 1px #ffffff0d}@keyframes tpgBadgePop{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.tpg-badge.locked{opacity:.5;color:var(--text-disabled);background:var(--surface-2);border-style:dashed}@media (max-width: 500px){.tpg-hero{padding:22px 16px}.tpg-hero-pct{font-size:40px}.tpg-hero-msg{font-size:14px}.tpg-stats{gap:8px}.tpg-stat{padding:12px 8px}.tpg-stat-val{font-size:19px}.tpg-achieve-list{gap:6px}.tpg-badge{padding:6px 10px;font-size:11px}.tpg-badge span{font-size:15px}}.prog-section{display:flex;flex-direction:column;gap:16px}.prog-tabs{display:flex;gap:6px;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:4px;overflow:hidden}.prog-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;background:transparent;border:none;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit;transition:all .15s;-webkit-tap-highlight-color:transparent}.prog-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #10b98133}.prog-tab:active{transform:scale(.97)}.eh-card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.eh-head h3{margin:0 0 2px;font-size:17px;font-weight:700}.eh-sub{font-size:12px;color:var(--text-muted);margin-bottom:12px}.eh-filters{display:flex;gap:6px;margin-bottom:12px}.eh-filter{padding:7px 16px;border-radius:20px;background:var(--surface-2);border:1.5px solid var(--line);font-size:13px;font-weight:600;color:var(--ink-2);cursor:pointer;font-family:inherit;transition:all .15s;-webkit-tap-highlight-color:transparent}.eh-filter.active{background:var(--primary);color:#fff;border-color:var(--primary)}.eh-filter:active{transform:scale(.95)}.eh-nav{display:flex;align-items:center;gap:8px;margin-bottom:14px}.eh-nav-btn{width:34px;height:34px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);font-size:16px;font-weight:700;cursor:pointer;display:grid;place-items:center;transition:all .15s;font-family:inherit}.eh-nav-btn:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.eh-nav-btn:disabled{opacity:.3;cursor:default}.eh-nav-label{flex:1;text-align:center;font-size:13px;font-weight:700;color:var(--text-primary)}.eh-nav-today{padding:5px 12px;border-radius:8px;background:var(--primary-soft);border:none;color:var(--primary);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}.eh-nav-today:hover{background:var(--primary);color:#fff}.eh-days{display:flex;flex-direction:column;gap:8px}.eh-day{border:1.5px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .2s}.eh-day.good{border-right:4px solid #10b981}.eh-day.mid{border-right:4px solid #f59e0b}.eh-day.weak{border-right:4px solid #ef4444}.eh-day.none{border-right:4px solid var(--line)}.eh-day.today{box-shadow:0 0 0 2px var(--primary);border-color:var(--primary)}.eh-today-pill{font-size:10px;font-weight:800;color:var(--primary);background:var(--primary-soft);padding:1px 8px;border-radius:8px;flex-shrink:0}.eh-day-head{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--surface);cursor:pointer;width:100%;text-align:right;font-family:inherit;border:none;transition:background .15s;position:relative}.eh-day-head:hover{background:var(--surface-2)}.eh-day-info{display:flex;align-items:center;gap:8px;width:100%}.eh-day-name{font-size:13px;font-weight:700;color:var(--text-primary)}.eh-day-pct{font-size:12px;font-weight:800;padding:2px 8px;border-radius:8px}.eh-day-pct.good{background:#d1fae5;color:#065f46}.eh-day-pct.mid{background:#fef3c7;color:#92400e}.eh-day-pct.weak{background:#fee2e2;color:#991b1b}.eh-day-pct.none{background:var(--surface-2);color:var(--muted)}[data-theme=dark] .eh-day-pct.good{background:#052e1e;color:#6ee7b7}[data-theme=dark] .eh-day-pct.mid{background:#3d2806;color:#fcd34d}[data-theme=dark] .eh-day-pct.weak{background:#3b1111;color:#fca5a5}.eh-day-macros{display:flex;flex-direction:column;gap:2px;font-size:10px;font-weight:700;color:var(--text-secondary);flex-shrink:0;width:100%;margin-top:4px}.eh-day-macros>span{white-space:nowrap}.eh-mac-target{color:var(--text-muted);font-weight:500}.eh-mac-good{color:var(--primary)}.eh-mac-fallback{font-size:9px;color:var(--text-disabled);font-weight:500;font-style:italic;width:100%}.eh-chevron{font-size:18px;color:var(--muted);transition:transform .2s;position:absolute;left:14px;top:14px}.eh-chevron.open{transform:rotate(-90deg)}.eh-chevron.small{font-size:14px}.eh-day-body{padding:0 14px 12px;animation:fade-in .2s ease}.eh-empty{padding:16px;text-align:center;font-size:13px;color:var(--muted);font-style:italic}.eh-meal{border:1px solid var(--line);border-radius:10px;margin-top:6px;overflow:hidden}.eh-meal-head{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--surface-2);cursor:pointer;width:100%;text-align:right;font-family:inherit;border:none;transition:background .15s}.eh-meal-head:hover{background:var(--line-2)}.eh-meal-name{font-size:13px;font-weight:700;color:var(--text-primary);flex:1}.eh-meal-sum{font-size:10px;color:var(--text-muted);font-weight:600;white-space:nowrap}.eh-meal-items{padding:6px 12px 8px}.eh-item{display:flex;align-items:center;gap:6px;padding:5px 0;border-bottom:1px solid var(--line-2);font-size:12px}.eh-item:last-child{border-bottom:none}.eh-item-name{flex:1;font-weight:600;color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eh-item-qty{color:var(--primary);font-weight:700;font-size:11px;flex-shrink:0}.eh-item-macros{color:var(--text-muted);font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0}@media (max-width: 500px){.eh-day-macros{font-size:9px;gap:4px}.eh-day-name,.eh-nav-label{font-size:12px}}.dash-head{background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:14px;position:relative;overflow:hidden}.dash-head:before{content:"";position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%)}.dash-title{display:flex;align-items:center;gap:14px;position:relative}.dash-title h2{margin:0;font-size:20px;letter-spacing:-.3px}.big-avatar{width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#34d399,#059669);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700;box-shadow:0 8px 18px #10b9814d}.dash-actions{display:flex;gap:8px;position:relative}.tabs{display:flex;gap:4px;background:var(--surface);padding:5px;border:1px solid var(--line);border-radius:12px;width:fit-content;max-width:100%;overflow-x:auto;box-shadow:var(--shadow-sm)}.tab{background:transparent;padding:9px 18px;border-radius:8px;font-weight:600;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:7px;white-space:nowrap;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.tab:hover{color:var(--ink-2)}.tab:active{transform:scale(.95)}.tab.active{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;box-shadow:0 6px 14px #10b9814d}.tab-icon{font-size:15px}.dash-tabs{display:flex;gap:8px;width:100%}.dash-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.dash-tab:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:linear-gradient(135deg,#10b98114,#34d3990a);transition:opacity .3s ease}.dash-tab:hover:before{opacity:1}.dash-tab:hover{border-color:#10b9814d;color:var(--text)}.dash-tab:active{transform:scale(.96)}.dash-tab.active{border-color:#10b981;color:#10b981;background:var(--surface);box-shadow:0 0 16px #10b9811f}.dash-tab.active:before{opacity:1}.dash-tab.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#10b981,#34d399)}.dash-tab svg{transition:transform .3s ease}.dash-tab.active svg{transform:scale(1.15)}.dash-tab span{position:relative;z-index:1}.rings-card{background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--line);border-radius:20px;padding:24px 20px;box-shadow:var(--shadow);transition:box-shadow .4s ease;position:relative;overflow:hidden;animation:ringsCardIn .45s ease}@keyframes ringsCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .rings-card{background:linear-gradient(145deg,#1a1d2be6,#222638f2);border-color:#ffffff0f;box-shadow:0 8px 30px #0000004d,inset 0 1px #ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.rings-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 200px 120px at 90% 10%,rgba(16,185,129,.04) 0%,transparent 70%),radial-gradient(ellipse 180px 100px at 10% 90%,rgba(59,130,246,.03) 0%,transparent 70%)}.rings-card.updated{animation:ringsFlash .5s ease}@keyframes ringsFlash{0%{border-color:var(--line)}40%{border-color:#10b98180}to{border-color:var(--line)}}.rings-head{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line-2);position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center}.date-display{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:12px;font-weight:600}.rings-title{font-weight:800;font-size:16px;letter-spacing:-.2px}.day-switcher{display:flex;align-items:center;gap:2px;flex-shrink:0}.day-switcher .date-display{min-width:150px;justify-content:center;white-space:nowrap}.day-nav{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.day-nav:active:not(:disabled){transform:scale(.92)}.day-nav:disabled{opacity:.3;cursor:default}.past-day-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:8px 12px;border:1px solid #f59e0b55;border-radius:12px;background:#f59e0b1a;color:#f59e0b;font-size:12px;font-weight:700}.past-day-back{margin-inline-start:auto;padding:4px 10px;border:0;border-radius:8px;background:#f59e0b;color:#1a1a1a;font-size:11px;font-weight:800;cursor:pointer}.nq-card{background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow)}[data-theme=dark] .nq-card{background:linear-gradient(145deg,#1a1d2be6,#222638f2);border-color:#ffffff0f;box-shadow:0 8px 30px #0000004d,inset 0 1px #ffffff0a}.nq-head{display:flex;justify-content:space-between;align-items:flex-start}.nq-pill{display:inline-block;background:#10b9811f;color:#10b981;border:1px solid rgba(16,185,129,.3);border-radius:999px;font-size:11px;font-weight:800;padding:2px 10px;letter-spacing:.5px}.nq-subtitle{color:var(--muted);font-size:12px;margin-top:6px}.nq-score{font-size:30px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.nq-denom{font-size:15px;font-weight:700;color:var(--muted)}.nq-delta{font-size:12px;font-weight:700;margin-top:8px}.nq-delta-up{color:#10b981}.nq-delta-down{color:#ef4444}.nq-bar{position:relative;height:14px;border-radius:999px;margin-top:14px;background:var(--surface-2);border:1px solid var(--line);overflow:visible}.nq-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981,#34d399)}.nq-bar-knob{position:absolute;top:50%;width:20px;height:20px;border-radius:50%;background:#10b981;border:3px solid var(--surface);box-shadow:0 2px 8px #10b9818c;transform:translateY(-50%)}.nq-caption{color:var(--muted);font-size:11px;margin-top:8px;text-align:center}.nq-avgs{display:flex;gap:8px;margin-top:12px;justify-content:center}.nq-avg-chip{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;color:var(--text-secondary)}.macro-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:1;padding:4px 0}@media (min-width: 700px){.macro-cards{gap:20px}}.macro-ring{display:flex;flex-direction:column;align-items:center;gap:5px;opacity:0;animation:macroRingIn .5s ease forwards;transition:transform .2s ease;cursor:default}.macro-ring:hover{transform:scale(1.03)}.macro-ring:nth-child(1){animation-delay:.15s}.macro-ring:nth-child(2){animation-delay:.3s}.macro-ring:nth-child(3){animation-delay:.45s}@keyframes macroRingIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.macro-ring-svg-wrap{position:relative;width:100%;max-width:130px}.macro-ring-svg{width:100%;height:auto;display:block;overflow:visible}:root{--macro-ring-track: #e8ebf5}[data-theme=dark]{--macro-ring-track: rgba(255,255,255,.07)}.macro-ring-progress{animation:macroRingFill .9s cubic-bezier(.16,.84,.44,1) forwards}.macro-ring:nth-child(1) .macro-ring-progress{animation-delay:.4s}.macro-ring:nth-child(2) .macro-ring-progress{animation-delay:.55s}.macro-ring:nth-child(3) .macro-ring-progress{animation-delay:.7s}@keyframes macroRingFill{0%{stroke-dashoffset:inherit}to{stroke-dashoffset:var(--ring-target, 0)}}.macro-ring-tip{opacity:0;animation:macroTipIn .3s ease forwards}.macro-ring:nth-child(1) .macro-ring-tip{animation-delay:1.1s}.macro-ring:nth-child(2) .macro-ring-tip{animation-delay:1.25s}.macro-ring:nth-child(3) .macro-ring-tip{animation-delay:1.4s}@keyframes macroTipIn{0%{opacity:0}to{opacity:.85}}.macro-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.macro-ring-val{font-size:32px;font-weight:900;letter-spacing:-1.5px;line-height:1;opacity:0;animation:macroValIn .4s ease forwards}.macro-ring:nth-child(1) .macro-ring-val{animation-delay:.7s}.macro-ring:nth-child(2) .macro-ring-val{animation-delay:.85s}.macro-ring:nth-child(3) .macro-ring-val{animation-delay:1s}@keyframes macroValIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.macro-ring-of{font-size:13px;font-weight:700;margin-top:5px;color:var(--text-secondary)}[data-theme=dark] .macro-ring-of{color:#ffffff8c}.macro-ring-label{font-size:14px;font-weight:800;margin-top:4px;letter-spacing:.3px}.macro-ring-status{font-size:13px;font-weight:700;color:var(--text-secondary);min-height:18px;text-align:center;white-space:nowrap}.macro-ring.done .macro-ring-progress{animation:macroRingFill .9s cubic-bezier(.16,.84,.44,1) forwards,macroRingGlow .6s ease 1s}@keyframes macroRingGlow{0%{filter:drop-shadow(0 0 2px var(--ring-color))}40%{filter:drop-shadow(0 0 16px var(--ring-color))}to{filter:drop-shadow(0 0 4px var(--ring-color))}}.macro-ring.done .macro-ring-status{font-weight:800}.macro-ring.over .macro-ring-status{color:#ef4444;font-weight:800}.macro-ring.over .macro-ring-progress{filter:drop-shadow(0 0 6px #ef4444)}[data-theme=dark] .macro-ring.over .macro-ring-progress{filter:drop-shadow(0 0 10px #ef4444)}[data-theme=dark] .macro-ring-progress{filter:drop-shadow(0 0 5px var(--ring-color, transparent))}@media (max-width: 500px){.macro-cards{gap:8px}.macro-ring-svg-wrap{max-width:108px}.macro-ring-val{font-size:28px}.macro-ring-of,.macro-ring-status{font-size:11px}}@media (max-width: 380px){.macro-ring-svg-wrap{max-width:92px}.macro-ring-val{font-size:24px}.macro-ring-of{font-size:10px}.macro-ring-label{font-size:11px}.macro-ring-status{font-size:10px}}.rings{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;z-index:1}@media (max-width: 700px){.rings{gap:4px;grid-template-columns:repeat(3,1fr)!important}}.ring{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border-radius:10px;transition:transform .3s ease}.ring-val{font-size:24px;font-weight:800;fill:var(--text-primary);font-family:Heebo}.ring-sub{font-size:10px;font-weight:700;font-family:Heebo;opacity:.8}.ring-label{font-weight:800;margin-top:6px;font-size:15px;display:flex;align-items:center;gap:4px;justify-content:center}.ring-label svg.lucide{width:14px;height:14px}.plan-table{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.pt-row{display:grid;grid-template-columns:90px 1fr 1fr 1fr;gap:10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line-2)}.pt-row:last-child{border-bottom:0}.pt-head{background:var(--surface-2);font-weight:700;color:var(--ink-2);font-size:12px;padding:11px 10px;text-transform:uppercase;letter-spacing:.5px}.pt-head>div{text-align:center}.pt-day{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;text-align:center;padding:8px;border-radius:8px;font-weight:700;font-size:14px;box-shadow:0 4px 10px #10b98133}.pt-row input{text-align:center;padding:7px}.empty-meals{text-align:center;padding:40px 20px}.empty-meals h4{margin:6px 0}.empty-illu{font-size:48px;margin-bottom:6px}.meals-list{display:flex;flex-direction:column;gap:6px}.meal-row{background:var(--surface-2);border:1.5px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .15s;animation:mealSlideIn .25s ease}.meal-row.open{border-color:var(--primary)}@keyframes mealSlideIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.meal-head{display:flex;align-items:center;gap:10px;padding:16px 18px;width:100%;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:right;transition:background .15s}.meal-head:hover{background:var(--surface)}.meal-head-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.meal-name-short{font-weight:700;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meal-macros-compact{display:flex;gap:10px;font-size:12px;font-weight:700}.mc-p{color:var(--c-protein)}.mc-c{color:var(--c-carbs)}.mc-f{color:var(--c-fat)}.meal-chevron{font-size:18px;color:var(--muted);flex-shrink:0;transition:transform .2s}.meal-chevron.open{transform:rotate(-90deg)}.meal-detail{padding:2px 18px 16px;animation:fade-in .2s ease;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line)}.meal-detail-food{font-size:14px;font-weight:700;color:var(--text-primary);padding-top:10px}.mi-list{display:flex;flex-direction:column;gap:6px;padding-top:8px}.mi-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;background:var(--surface-2)}.mi-row1{display:flex;align-items:flex-start;gap:8px}.mi-name{flex:1;font-size:13px;font-weight:600;color:var(--text-primary);min-width:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mi-macros{font-size:13px;color:var(--text-secondary);font-weight:700}.mi-del{width:24px;height:24px;border-radius:6px;background:transparent;border:none;color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:all .15s;flex-shrink:0;-webkit-tap-highlight-color:transparent}.mi-del:hover{background:var(--danger);color:#fff}.meal-detail-macros{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;font-weight:600}.meal-detail-notes{font-size:11px;color:var(--notes-color, #8a6200);background:var(--c-fat-bg);padding:4px 8px;border-radius:6px;display:inline-block}.meal-detail-actions{display:flex;gap:8px;padding-top:4px}.meal-main{flex:1;min-width:0;overflow:hidden}.meal-actions{display:flex;gap:4px;flex-shrink:0}.meal-notes{color:var(--notes-color, #8a6200);font-size:12px;margin-top:4px;background:var(--c-fat-bg);padding:3px 8px;border-radius:6px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-meal-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;padding-inline:var(--safe-left) var(--safe-right);padding-bottom:var(--safe-bottom);animation:pageSlideIn .3s cubic-bezier(.4,0,.2,1);overscroll-behavior:none;touch-action:pan-y}@keyframes pageSlideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.add-meal-page-head{display:flex;align-items:center;gap:12px;padding:calc(14px + var(--safe-top)) 16px 14px;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}.add-meal-page-head h3{margin:0;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.add-meal-back{display:flex;align-items:center;gap:6px;background:var(--primary-soft);border:1px solid transparent;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:8px 14px 8px 10px;border-radius:10px;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;-webkit-tap-highlight-color:transparent}.add-meal-back svg{transition:transform .25s cubic-bezier(.4,0,.2,1)}.add-meal-back:hover{background:var(--primary);color:#fff;box-shadow:0 4px 12px #10b98140;transform:translate(3px)}.add-meal-back:hover svg{transform:translate(4px)}.add-meal-back:active{transform:scale(.95) translate(3px)}.add-meal-page-body{flex:1;overflow-y:auto;padding:16px;padding-bottom:calc(20px + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.am-browse,.am-amount,.am-summary{animation:fade-in .2s ease}.am-search-wrap{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface-2);padding:0 14px;transition:border-color .2s;margin-bottom:10px}.am-search-wrap:focus-within{border-color:var(--primary)}.am-search-icon{color:var(--muted);flex-shrink:0}.am-search{flex:1;border:none!important;background:transparent!important;padding:12px 4px!important;font-size:15px!important;outline:none!important;min-width:0}.am-search-clear{width:24px;height:24px;border-radius:50%;border:none;background:var(--line);color:var(--muted);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.am-diet-tabs{display:flex;gap:4px;margin-bottom:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px}.am-diet-tab{flex:1;padding:9px 8px;border-radius:9px;border:none;background:transparent;font-size:13px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .15s;font-family:inherit;-webkit-tap-highlight-color:transparent}.am-diet-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #10b98140}.am-diet-tab:active{transform:scale(.97)}.am-cat-label{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:5px}.am-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.am-chips::-webkit-scrollbar{display:none}.am-chip{flex-shrink:0;padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s;font-family:inherit}.am-chip.active{color:#fff;background:var(--primary);border-color:var(--primary)}.am-results{display:flex;flex-direction:column;gap:4px}.am-empty{text-align:center;padding:30px;color:var(--text-muted);font-size:13px}.am-food{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:all .15s;text-align:right;-webkit-tap-highlight-color:transparent}.am-food:hover{border-color:var(--primary);background:var(--primary-soft)}.am-food:active{transform:scale(.98)}.food-thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--surface-2)}.am-food-info{flex:1;min-width:0}.am-food-name{font-size:14px;font-weight:700;display:block;color:var(--text-primary)}.am-food-serving{font-size:11px;color:var(--text-muted)}.am-food-macros{display:flex;gap:6px;font-size:11px;font-weight:600;flex-shrink:0}.am-food-macros .mp{color:#10b981}.am-food-macros .mc{color:#3b82f6}.am-food-macros .mf{color:#f59e0b}.am-food-tag{font-size:10px;font-weight:600;padding:3px 8px;border-radius:8px;flex-shrink:0}.am-manual-toggle{display:flex;align-items:center;gap:6px;justify-content:center;width:100%;padding:10px;margin-bottom:8px;border:1.5px solid var(--line);border-radius:12px;background:transparent;color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;-webkit-tap-highlight-color:transparent}.am-manual-toggle:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.am-manual-toggle:active{transform:scale(.97)}.am-manual-toggle.open{border-color:var(--muted);color:var(--muted);border-style:solid}.am-manual{margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:8px;animation:fade-in .2s ease}.am-manual>input{font-size:13px;padding:8px 10px}.am-manual-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.am-manual-field{display:flex;flex-direction:column;gap:4px}.am-manual-field label{font-size:11px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:3px}.manual-hint{font-size:11px;color:var(--text-muted);text-align:center;margin-top:8px;line-height:1.5;display:flex;align-items:center;justify-content:center;gap:5px;opacity:.7}.manual-hint svg.lucide{width:13px;height:13px;flex-shrink:0}.am-manual-field input{padding:8px 6px;text-align:center;font-size:14px;font-weight:700}.am-back{display:inline-flex;align-items:center;gap:6px;background:var(--primary-soft);border:1px solid transparent;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;padding:7px 14px 7px 10px;border-radius:10px;margin-bottom:10px;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.am-back svg{transition:transform .25s cubic-bezier(.4,0,.2,1)}.am-back:hover{background:var(--primary);color:#fff;box-shadow:0 4px 12px #10b98140;transform:translate(3px)}.am-back:hover svg{transform:translate(4px)}.am-back:active{transform:scale(.95) translate(3px)}.am-amount-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}.am-amount-card h4{margin:0 0 4px;font-size:17px}.am-qty-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.am-qty-field{display:flex;flex-direction:column;gap:6px}.am-qty-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.am-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;justify-content:center}.am-preset{padding:5px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.am-preset:hover{border-color:var(--primary);color:var(--primary)}.am-preset:active{transform:scale(.95)}.am-macros-row{display:flex;justify-content:center;gap:16px;margin-top:14px;padding:12px 0;border-top:1px solid var(--line)}.am-macro{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:var(--text-secondary)}.am-macro b{font-size:18px;color:var(--text)}.am-add-btn{width:100%;margin-top:14px;padding:14px}.fa-list{display:flex;flex-direction:column;gap:12px}.fa-card{border:1.5px solid var(--line);border-radius:14px;padding:14px;background:var(--surface)}.fa-card.decided{opacity:.65}.fa-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fa-chip{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.fa-chip.new{background:#10b9811f;color:#059669}.fa-chip.edit{background:#3b82f61f;color:#2563eb}.fa-meta{font-size:11px;color:var(--text-muted);margin-inline-start:auto;white-space:nowrap}.fa-status{font-size:11px;font-weight:800}.fa-status.approved{color:#059669}.fa-status.rejected{color:var(--danger)}.fa-card-body{display:flex;gap:12px;margin-top:10px;align-items:flex-start}.fa-img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line);flex-shrink:0}.fa-imgs{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.fa-img-link{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--text-muted);text-decoration:none}.fa-img-link:hover .fa-img{border-color:var(--primary)}.fa-img-link{background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.fa-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#000000e0;display:flex;align-items:center;justify-content:center;padding:calc(24px + var(--safe-top)) calc(24px + var(--safe-right)) calc(24px + var(--safe-bottom)) calc(24px + var(--safe-left));cursor:zoom-out}.fa-lightbox img{max-width:100%;max-height:88vh;max-height:min(88dvh,calc(100dvh - 48px - var(--safe-top) - var(--safe-bottom)));border-radius:12px;object-fit:contain;box-shadow:0 10px 40px #00000080}.fa-lightbox-close{position:absolute;top:calc(16px + var(--safe-top));right:16px;padding:10px 18px;border-radius:24px;border:none;cursor:pointer;background:#ffffffeb;color:#111;font-size:14px;font-weight:800;font-family:inherit;box-shadow:0 4px 14px #0000004d}.fa-fields{display:flex;flex-direction:column;gap:4px;font-size:13px;flex:1;min-width:0}.fa-field-row{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.fa-field-name{color:var(--text-secondary);font-size:12px}.fa-field-old{color:var(--text-muted);text-decoration:line-through}.fa-field-arrow{color:var(--text-muted);font-size:11px}.fa-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.fa-actions>button{padding:8px 18px}.fa-actions .fa-reject{color:var(--danger)}.fa-product{display:flex;gap:14px;align-items:flex-start;margin-top:12px;min-width:0}.fa-product .fa-imgs{flex-direction:row}.fa-product .fa-img{width:76px;height:76px}.fa-product-text{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.fa-product-name{margin:0;font-size:17px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}.fa-product-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fa-cat-chip{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-secondary)}.fa-cat-chip.is-missing{border-style:dashed;color:var(--text-muted)}.fa-product-brand{font-size:12px;color:var(--text-muted)}.fa-product-notes{font-size:12.5px;color:var(--text-secondary);overflow-wrap:anywhere}.fa-missing{color:var(--text-muted);font-style:italic;font-weight:500}.fa-units{margin-top:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.fa-units-title{margin:0;font-size:13.5px;font-weight:800;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.fa-units-count{font-size:11px;font-weight:800;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--line)}.fa-units-empty{font-size:13px;color:var(--text-muted)}.fa-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.fa-unit{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);min-width:0}.fa-unit.is-ref{border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.fa-unit.has-error{border-color:var(--danger)}.fa-unit-head{display:flex;align-items:center;gap:8px;min-width:0}.fa-unit-name{font-size:15px;font-weight:800;overflow-wrap:anywhere}.fa-unit-tag{font-size:11px;font-weight:700;color:var(--text-muted);order:-1}.fa-unit-derived{font-size:13px;line-height:1.5}.fa-unit-derived .fa-unit-tag{order:0;font-weight:400}.fa-unit-head select{flex:1 1 auto;min-width:0}.fa-unit-remove{margin-inline-start:auto}.fa-unit-weight{font-size:12.5px;color:var(--text-secondary)}.fa-unit-weight [data-testid]{font-weight:700;color:var(--text)}.fa-unit-macros{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}.fa-unit-macros>div{display:flex;flex-direction:column;gap:1px;min-width:0}.fa-unit-macros dt{font-size:11px;font-weight:600;color:var(--text-muted)}.fa-unit-macros dd{margin:0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.fa-unit-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fa-unit-inputs.fa-unit-inputs-2{grid-template-columns:repeat(2,minmax(0,1fr))}.fa-unit-qty{color:var(--text-secondary)}.fa-unit-qty [data-testid]{font-weight:700;color:var(--text)}.fa-unit-inputs .field input,.fa-unit .field input{width:100%;min-width:0}.fa-unit-inputs .field>span{font-size:11px}.fa-unit input[aria-invalid=true]{border-color:var(--danger)}.fa-units>.fm-add-btn{align-self:flex-start}.fa-edit-modal{max-width:760px;width:100%}.fa-units-edit .fa-unit-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media (max-width: 520px){.fa-product .fa-img{width:60px;height:60px}.fa-unit-grid,.fa-units-edit .fa-unit-grid{grid-template-columns:1fr}.fa-actions>button{flex:1 1 auto}}.am-suggest-toggle{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:600;cursor:pointer}.am-suggest-toggle input{width:16px;height:16px;accent-color:var(--primary)}.am-suggest-fields{display:flex;flex-direction:column;gap:8px;margin-top:8px}.am-suggest-img-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1.5px dashed var(--line);border-radius:10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-secondary);background:transparent}.am-suggest-img-btn.product{background:linear-gradient(135deg,#10b981,#34d399);border:none;color:#fff;font-weight:800;box-shadow:0 4px 12px #10b98140}.am-suggest-img-btn.label{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;font-weight:800;box-shadow:0 4px 12px #f59e0b40}.am-suggest-preview{width:52px;height:52px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.am-suggest-fix{display:inline-flex;align-items:center;gap:5px;margin-top:8px;background:linear-gradient(135deg,#10b981,#34d399);color:#1e3a8a;border:none;box-shadow:0 4px 12px #10b98140;padding:7px 12px;border-radius:10px;cursor:pointer;font-size:12.5px;font-weight:800;font-family:inherit;-webkit-tap-highlight-color:transparent}.am-suggest-fix:active{transform:scale(.97)}.am-summary-chip{margin-inline-start:auto;padding:8px 14px;font-size:13px;border-radius:10px;white-space:nowrap}.am-amount-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.am-amount-head h4{margin:0}.am-head-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.am-serving-badge{font-size:12.5px;font-weight:700;color:var(--text-secondary);white-space:nowrap}.am-macros-row.head{margin-top:0;padding:0;border-top:none;gap:18px;flex-shrink:0}.am-macros-row.head .am-macro b{font-size:20px}.am-macros-row.head .am-macro{font-size:14px;gap:1px}.am-macros-row.head .am-macro span{font-weight:800;color:var(--text-primary);margin-top:-2px}.am-topbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;flex-wrap:wrap}.am-topbar .am-back{margin-bottom:0}.am-topbar-actions{display:flex;align-items:center;gap:6px}.am-topbar-actions .am-add-more{padding:7px 12px;font-size:13px;border-radius:10px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;font-weight:800;box-shadow:0 4px 12px #f59e0b40}.am-topbar-actions .am-save-btn{padding:7px 14px;font-size:13px;border-radius:10px;white-space:nowrap;color:#1e3a8a;font-weight:800}.am-amount .stepper-btn{color:#1e3a8a}.am-day-preview{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.am-day-preview-title{text-align:center;font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:12px}.am-preview-rings{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.am-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}.am-summary-card h4{margin:0 0 14px;font-size:17px}.am-summary-items{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.am-summary-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}.am-si-name{flex:1;font-size:13px;font-weight:600;min-width:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.am-si-macros{font-size:11px;color:var(--text-muted);display:flex;gap:6px;align-items:center}.am-si-remove{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all .15s;flex-shrink:0}.am-si-remove:hover{background:#fee2e2;color:#ef4444}.am-summary-totals{background:var(--primary-soft);border:1px solid rgba(16,185,129,.2);border-radius:12px;padding:12px;margin-bottom:14px}.am-st-label{font-size:12px;font-weight:700;color:var(--primary);margin-bottom:6px}.am-st-row{display:flex;gap:14px;justify-content:center;font-size:13px}.am-st-row span{display:flex;align-items:center;gap:4px}.am-st-row b{font-weight:800}.am-summary-actions{display:flex;gap:8px}.am-summary-actions .btn-ghost{flex:1}.am-summary-actions .btn-primary{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px}.am-cart-bar{position:sticky;bottom:var(--safe-bottom);z-index:10;display:flex;align-items:center;gap:14px;padding:18px 20px;margin-top:16px;background:linear-gradient(135deg,#0d3320,#0a2a1a);border:1.5px solid rgba(16,185,129,.4);border-radius:18px;cursor:pointer;color:#fff;transition:all .25s;box-shadow:0 4px 24px #10b98133;animation:cartBarSlide .3s ease}@keyframes cartBarSlide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.am-cart-bar:hover{border-color:#10b981;box-shadow:0 6px 30px #10b9814d;transform:translateY(-2px)}.am-cart-bar:active{transform:scale(.98)}.am-cart-count{width:34px;height:34px;border-radius:50%;background:#10b981;color:#fff;font-size:16px;font-weight:800;display:grid;place-items:center;flex-shrink:0;box-shadow:0 0 12px #10b98166}.am-cart-bar-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.am-cart-names{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.am-cart-bar-macros{font-size:12px;opacity:.7;display:flex;gap:8px;align-items:center}.am-cart-bar-action{font-weight:800;font-size:15px;flex-shrink:0;background:#10b981;padding:8px 16px;border-radius:10px}.meal-cart{background:var(--surface-2);border:1.5px solid var(--primary);border-radius:14px;padding:12px;margin-bottom:12px;animation:fade-in .2s ease}.cart-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--primary);margin-bottom:8px}.cart-items{display:flex;flex-direction:column;gap:4px}.cart-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}.cart-item-info{display:flex;flex-direction:column;gap:2px;min-width:0}.cart-item-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-item-macros{font-size:10px;color:var(--muted);display:flex;gap:6px;align-items:center}.cart-item-remove{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .15s}.cart-item-remove:hover{background:#fee2e2;color:#ef4444}.cart-totals-label{font-size:12px;font-weight:700;color:var(--primary);text-align:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.cart-totals{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:6px 0 4px;font-size:12px;font-weight:700;color:var(--text)}.cart-totals span{display:flex;align-items:center;gap:3px}.added-badge{font-size:11px;font-weight:700;color:var(--primary);background:var(--primary-soft);padding:2px 8px;border-radius:8px;margin-right:6px}.edit-meal-name{font-size:16px;font-weight:700;margin-bottom:12px;text-align:right}.edit-picker{border:1.5px solid var(--line);border-radius:12px;padding:10px;background:var(--surface-2);animation:fade-in .2s ease}.edit-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.edit-picker-results{display:flex;flex-direction:column;gap:3px;max-height:180px;overflow-y:auto;margin-bottom:8px}.edit-picker-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--line);cursor:pointer;font-family:inherit;text-align:right;transition:all .15s}.edit-picker-item:hover{border-color:var(--primary)}.edit-picker-item:active{transform:scale(.97)}.edit-picker-name{flex:1;font-size:12px;font-weight:600}.edit-picker-macros{font-size:10px;color:var(--text-muted);white-space:nowrap}.edit-picker-cart{border-top:1px solid var(--line);padding-top:8px;margin-top:4px}.edit-picker-cart-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;background:var(--primary-soft);margin-bottom:3px}.edit-meal-cal{font-size:13px;color:var(--text-muted);text-align:center;margin-top:8px}.meal-macros{display:flex;gap:4px;flex-wrap:wrap;overflow:hidden}.meal-macros span{padding:3px 7px;border-radius:6px;font-size:10px;font-weight:600;white-space:nowrap}.add-meal-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;font-size:14px}.macro-p{background:var(--c-protein-bg);color:var(--c-protein)}.macro-c{background:var(--c-carbs-bg);color:var(--c-carbs)}.macro-f{background:var(--c-fat-bg);color:var(--c-fat)}.macro-cal{background:var(--c-cal-bg);color:var(--c-cal)}@media (max-width: 700px){.meals-list{gap:5px}.meal-row{border-radius:12px}.meal-head{padding:14px 16px}.meal-name-short{font-size:12px}.meal-macros-compact{font-size:11px;gap:8px}.meal-detail{padding:2px 16px 14px}}.fm-add-btn{padding:10px 18px;border-radius:12px;background:var(--primary);color:#fff;border:none;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #10b98140;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.fm-add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}.fm-add-btn:active{transform:scale(.96)}.fm-add-btn.small{font-size:13px;padding:8px 14px;margin-top:8px}.fm-search{margin-bottom:12px}.fm-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.fm-chip{padding:6px 12px;border-radius:20px;border:1.5px solid var(--line);background:var(--surface);font-size:12px;font-weight:600;color:var(--ink-2);cursor:pointer;font-family:inherit;transition:all .15s;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;gap:4px}.fm-chip:hover{border-color:var(--muted)}.fm-chip.active{box-shadow:0 2px 8px #0000001a}.fm-chip:disabled{opacity:.4;cursor:default}.fm-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 0 8px;font-size:13px;color:var(--muted);font-weight:600}.fm-chip:active{transform:scale(.95)}.fm-count-bar{padding:8px 16px;font-size:13px;color:var(--muted);font-weight:600}.fm-list-area{margin-top:12px;animation:fade-in .2s ease}.fm-search{margin-bottom:10px}.fm-search input{width:100%}.fm-food-list{display:flex;flex-direction:column;gap:6px}.fm-empty{text-align:center;padding:30px 20px;display:flex;flex-direction:column;align-items:center;gap:6px}.fm-empty-icon{font-size:36px;opacity:.4}.fm-empty-title{font-size:15px;font-weight:700;color:var(--text-primary)}.fm-empty-sub{font-size:12px;color:var(--text-muted)}.fm-food{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);transition:all .15s cubic-bezier(.4,0,.2,1)}.fm-food:hover{border-color:var(--primary);transform:scale(1.01);box-shadow:0 2px 8px #0000000a}.fm-food-main{flex:1;min-width:0}.fm-food-name{font-size:14px;font-weight:700;color:var(--text-primary)}.fm-food-meta{display:flex;gap:8px;margin-top:2px;font-size:11px;color:var(--text-muted)}.fm-food-cat{font-weight:600}.fm-food-macros{display:flex;gap:8px;margin-top:4px;font-size:11px;font-weight:700}.fm-food-actions{display:flex;gap:4px;flex-shrink:0}@media (max-width: 500px){.fm-add-btn{font-size:12px;padding:8px 14px}.fm-search{margin-bottom:8px}.fm-search input{padding:8px 10px;font-size:13px}.fm-filters{gap:4px;margin-bottom:10px}.fm-chip{padding:4px 8px;font-size:10px}.fm-show-list{padding:10px 14px;font-size:13px}.fm-food{padding:10px 12px}.fm-food-name{font-size:13px}}.food-group{margin-top:22px}.fg-head{display:flex;align-items:center;gap:10px;font-size:15px;margin:0 0 10px}.fg-dot{width:10px;height:10px;border-radius:50%}.fg-count{background:var(--surface-2);color:var(--muted);padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}.food-table{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.ft-row{display:grid;grid-template-columns:1.5fr 1.2fr 70px 70px 70px 1.5fr 90px;gap:10px;align-items:center;padding:9px 12px;border-bottom:1px solid var(--line-2);font-size:13px}.ft-row:last-child{border-bottom:0}.ft-row:nth-child(2n):not(.ft-head){background:var(--surface-2)}.ft-head{background:var(--surface-2);font-weight:700;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.ft-name{font-weight:600}.ft-notes{color:var(--muted);font-size:12px}.ft-actions{display:flex;gap:4px;justify-content:flex-end}@media (max-width: 900px){.ft-row{grid-template-columns:1fr 60px 60px 60px 70px}.ft-row>div:nth-child(2),.ft-row>div:nth-child(6){display:none}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#14192d80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:100;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));animation:fade-in .2s ease;overscroll-behavior:contain}.modal{background:var(--surface);border-radius:18px;padding:24px;width:100%;max-width:520px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto;overscroll-behavior:contain}.modal.wide{max-width:720px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;position:sticky;top:0;background:var(--surface);z-index:2;padding-bottom:10px}.modal-head h3{margin:0}.chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.chip{background:var(--surface-2);border:1px solid var(--line);padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink-2);cursor:pointer;transition:all .15s}.chip:hover{background:var(--line-2)}.chip.active{border-color:transparent}.food-results{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow-y:auto}.food-result{display:flex;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:11px 14px;text-align:right;cursor:pointer;transition:all .15s}.food-result:hover{background:var(--primary-soft);border-color:#a7f3d0}.fr-main{flex:1;min-width:0}.fr-name{font-weight:700;font-size:14px;color:var(--text-primary)}.fr-serving{color:var(--text-muted);font-size:12px;margin-top:2px}.fr-macros{display:flex;gap:6px;font-size:12px;font-weight:600}.fr-macros span{padding:3px 8px;border-radius:6px}.fr-tag{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700}.meal-confirm{display:flex;flex-direction:column;gap:12px}.mc-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:18px}.mc-card h4{margin:0 0 4px;font-size:17px}.mc-notes{background:var(--c-fat-bg);color:var(--c-fat);padding:8px 12px;border-radius:10px;margin-top:12px;font-size:13px;border-right:3px solid #f4c542}.macro-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.ms-item{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}.ms-item span{display:block;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase}.ms-item b{display:block;font-size:16px;margin-top:2px}.ms-item.cal{background:var(--c-cal-bg);border-color:var(--c-cal)}@media (max-width: 700px){.macro-summary{grid-template-columns:repeat(2,1fr)}}.logo{overflow:hidden}.logo img{width:100%;height:100%;object-fit:cover}.crm-brand .logo,.brand .logo{border-radius:50%}.whatsapp-fab{position:fixed;bottom:calc(24px + var(--safe-bottom));left:calc(24px + var(--safe-left));z-index:200;display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;text-decoration:none;padding:14px 20px 14px 16px;border-radius:999px;font-weight:700;font-size:14px;box-shadow:0 10px 28px #25d36673;transition:all .18s ease;animation:wa-pulse 2s ease-in-out infinite}.whatsapp-fab:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 14px 34px #25d3668c}.whatsapp-fab svg{flex-shrink:0}@keyframes wa-pulse{0%,to{box-shadow:0 10px 28px #25d36673,0 0 #25d36680}50%{box-shadow:0 10px 28px #25d36673,0 0 0 14px #25d36600}}@media (max-width: 700px){.whatsapp-fab{padding:12px}.whatsapp-label{display:none}}.login-err{background:#ef44441f;color:#fca5a5;padding:10px 12px;border-radius:10px;font-size:13px;border:1px solid rgba(239,68,68,.2)}.top-user{display:flex;align-items:center;gap:10px}.user-badge{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500}.role-pill{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}.empty-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:60px 20px;text-align:center;box-shadow:var(--shadow-sm)}.empty-card h2{margin:0 0 6px}.empty-card p{color:var(--text-muted);margin:0}.cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}@media (max-width: 700px){.cal-grid{grid-template-columns:repeat(2,1fr)}}.cal-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;position:relative;transition:all .18s ease;box-shadow:var(--shadow-sm);min-height:auto}.cal-card:hover{border-color:#a7f3d0;box-shadow:var(--shadow)}.cal-card.today{border-color:var(--primary);box-shadow:0 0 0 3px #10b9811f,var(--shadow)}.cal-card.cheat{background:linear-gradient(135deg,var(--c-fat-bg) 0%,var(--surface-2) 100%);border-color:#f5c56a}.cal-card.cheat.today{box-shadow:0 0 0 3px #f5c56a40,var(--shadow)}.cal-head{display:flex;justify-content:space-between;align-items:center}.cal-day-name{display:flex;flex-direction:column}.cal-day-short{font-size:22px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#059669,#10b981);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.cal-card.cheat .cal-day-short{background:linear-gradient(135deg,#d17a0a,#f5a738);-webkit-background-clip:text;background-clip:text}.cal-day-full{color:var(--text-muted);font-size:11px;font-weight:600;margin-top:2px}.cal-day-icon{font-size:22px}.cal-today-pill{position:absolute;top:-8px;right:12px;background:linear-gradient(135deg,#10b981,#34d399);color:#fff;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.5px;box-shadow:0 4px 10px #10b98159}.cal-macros{display:flex;flex-direction:column;gap:6px}.cal-macro{display:grid;grid-template-columns:60px 1fr 24px;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;font-size:12px;overflow:hidden}.cal-macro.protein{background:var(--c-protein-bg)}.cal-macro.carbs{background:var(--c-carbs-bg)}.cal-macro.fat{background:var(--c-fat-bg)}.cal-macro span{font-weight:700;color:var(--text-secondary)}.cal-macro input{background:var(--surface);padding:5px 8px;border-radius:6px;text-align:center;font-weight:700;font-size:13px;border:1px solid transparent}.cal-macro input:focus{border-color:var(--primary)}.cal-macro b{text-align:center;font-weight:800;font-size:15px}.cal-macro.protein b,.cal-macro.protein input{color:var(--c-protein)}.cal-macro.carbs b,.cal-macro.carbs input{color:var(--c-carbs)}.cal-macro.fat b,.cal-macro.fat input{color:var(--c-fat)}.cal-macro small{color:var(--muted);font-size:10px}.cal-presets{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.cal-preset{min-width:32px;height:28px;padding:0 6px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;display:grid;place-items:center;transition:all .15s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.cal-preset:hover{transform:translateY(-1px)}.cal-preset:active{transform:scale(.92)}.cal-preset.active{color:#fff;border-color:transparent;box-shadow:0 2px 6px #00000026}.cal-macro.protein .cal-preset:hover{border-color:var(--c-protein);color:var(--c-protein)}.cal-macro.carbs .cal-preset:hover{border-color:var(--c-carbs);color:var(--c-carbs)}.cal-macro.fat .cal-preset:hover{border-color:var(--c-fat);color:var(--c-fat)}.cal-macro.protein .cal-preset.active{background:var(--c-protein)}.cal-macro.carbs .cal-preset.active{background:var(--c-carbs)}.cal-macro.fat .cal-preset.active{background:var(--c-fat)}.cheat-banner{background:linear-gradient(135deg,#f5a738,#f5c56a);color:#fff;padding:20px 12px;border-radius:12px;font-weight:800;font-size:15px;text-align:center;flex:1;display:grid;place-items:center;box-shadow:inset 0 -3px #0000001a;letter-spacing:.5px}.cal-controls{display:flex;margin-top:auto}.cheat-toggle{width:100%;padding:8px;background:var(--surface-2);border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.cheat-toggle:hover{background:#fff4e6;border-color:#f5c56a;color:#a0660a}.cheat-toggle.on{background:var(--surface);border:1px solid #f5c56a;color:#a0660a}.cal-note input{font-size:12px;padding:6px 10px}.cal-note-read{background:var(--surface-2);padding:6px 10px;border-radius:8px;font-size:12px;color:var(--text-secondary)}.cal-foot{margin-top:18px;display:flex;align-items:center;gap:12px}.cheat-alert{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,var(--c-fat-bg),var(--surface-2));border:1px solid #f5c56a;border-radius:var(--radius);padding:20px 24px;box-shadow:0 8px 20px #f5a73826;animation:fade-in .3s ease}.cheat-alert-icon{font-size:52px;filter:drop-shadow(0 4px 8px rgba(245,167,56,.35))}.cheat-alert h3{margin:0 0 4px;color:var(--cheat-title, #a0660a);font-size:20px}.cheat-alert p{margin:0;color:var(--cheat-body, #8a5a0a);font-size:14px}.cheat-alert .cheat-note{margin-top:8px;padding:6px 10px;background:#fff9;border-radius:8px;display:inline-block;font-size:13px}.day-note{background:var(--surface);border:1px solid var(--line);border-right:3px solid var(--primary);border-radius:10px;padding:10px 14px;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.day-note span{font-weight:500}.qty-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.qty-grid .field span{font-size:11px}.qty-grid .field small{margin-top:4px;font-size:11px}.qty-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px}@media (max-width: 700px){body{font-size:14px}.trainee-header{padding:calc(12px + var(--safe-top)) max(14px,var(--safe-right)) 12px max(14px,var(--safe-left))}.trainee-brand .logo{width:34px;height:34px}.trainee-brand-name{font-size:14px}.trainee-brand-sub{font-size:11px}.trainee-greeting-line h1{font-size:18px}.trainee-header-btns{gap:8px}.th-btn{font-size:13px;padding:9px 0}.layout.single{padding:12px}.dash{gap:12px}.dash-head{padding:14px;gap:10px;border-radius:14px}.dash-title{gap:10px}.dash-title h2{font-size:17px}.big-avatar{width:44px;height:44px;font-size:17px;border-radius:12px}.tabs{width:100%;padding:4px;gap:2px}.tab{padding:8px 10px;font-size:12px;flex:1;justify-content:center;gap:4px}.tab-icon{font-size:14px}.toolbar{padding:10px;gap:8px;font-size:13px}.toolbar label{font-size:13px}.toolbar input{padding:6px 8px;font-size:13px}.rings-card{padding:14px 10px}.rings-head{margin-bottom:10px;padding-bottom:10px}.rings-title{font-size:13px}.macro-cards{gap:6px}.rings{gap:4px!important}.ring{padding:4px 0;gap:2px;min-width:0}.ring-svg-wrap{max-width:90px}.ring-label{font-size:11px;margin-top:2px}.ring-target{font-size:10px}.panel{padding:14px;border-radius:14px}.panel-head{margin-bottom:12px;gap:8px}.panel-head h3{font-size:15px}.panel-head .sub{font-size:11px}.add-meal-btn{padding:8px 14px;font-size:13px}.meal-row{border-radius:10px}.meal-notes{font-size:11px}.cheat-alert{padding:14px;gap:12px;border-radius:14px}.cheat-alert-icon{font-size:36px}.cheat-alert h3{font-size:16px}.cheat-alert p{font-size:12px}.cal-grid{grid-template-columns:1fr!important;gap:8px}.cal-card{min-height:auto;padding:12px;border-radius:12px}.cal-day-short{font-size:18px}.cal-day-full{font-size:10px}.cal-day-icon{font-size:18px}.cal-macros{gap:4px}.cal-macro{padding:5px 8px;font-size:11px;grid-template-columns:55px 1fr 20px}.cal-macro input,.cal-macro b{font-size:12px}.cheat-banner{padding:14px;font-size:13px}.cheat-toggle{font-size:11px;padding:6px}.modal-bg{padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left))}.modal{max-height:85vh;max-height:min(85dvh,calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom)));padding:16px;padding-bottom:calc(16px + var(--safe-bottom));border-radius:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-bg:has(.modal.wide){padding:0}.modal.wide{max-height:none;height:100%;border-radius:0;padding-top:calc(16px + var(--safe-top));padding-inline:max(16px,var(--safe-left),var(--safe-right))}.modal.wide .modal-head{position:sticky;top:0;background:var(--surface);z-index:2;padding-bottom:12px;border-bottom:1px solid var(--line)}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-head h3{font-size:16px}.food-result{padding:10px;gap:8px;flex-wrap:wrap}.fr-name{font-size:13px}.fr-serving{font-size:11px}.fr-macros{font-size:11px;gap:4px}.fr-macros span{padding:2px 6px}.fr-tag{font-size:10px;padding:3px 8px}.chip-row{gap:4px;margin-bottom:10px}.chip{padding:5px 10px;font-size:12px}.qty-grid{grid-template-columns:1fr 1fr;gap:8px}.qty-presets{gap:4px}.macro-summary{grid-template-columns:repeat(2,1fr);gap:6px}.ms-item{padding:8px}.ms-item b{font-size:14px}.form-section{padding:14px}.form-section h4{font-size:13px}.field span{font-size:11px}.field input{padding:9px 10px;font-size:14px}.whatsapp-fab{bottom:16px;left:16px;padding:11px}.whatsapp-fab svg{width:24px;height:24px}.btn-primary,.btn-ghost,.btn-danger{padding:10px 14px;font-size:13px}.icon-btn{width:30px;height:30px}.day-note{font-size:12px;padding:8px 12px}.status-banner{padding:10px 14px;font-size:13px;border-radius:12px}.status-banner .status-icon{font-size:17px}.cta-add-meal{padding:16px;font-size:15px;border-radius:14px}.cta-add-meal .cta-icon{font-size:20px}.toast{font-size:12px;padding:8px 14px}}@media (max-width: 380px){.tab{padding:7px 6px;font-size:11px}.tab-icon{font-size:12px}.ring-svg-wrap{max-width:75px}.ring-label{font-size:10px}.stepper-btn{width:32px;height:32px;font-size:14px}.stepper input{font-size:13px;min-width:36px;padding:6px 2px}}.theme-toggle{width:38px;height:38px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--line);font-size:17px;cursor:pointer;color:var(--ink);display:grid;place-items:center;transition:all .25s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .theme-toggle{background:#2a2f42;border-color:#3d4360;color:#fcd34d}.theme-toggle:hover{transform:rotate(18deg) scale(1.08);background:var(--primary-soft);color:var(--primary)}[data-theme=dark] .theme-toggle:hover{background:#3d3520;border-color:#fcd34d;color:#fcd34d}.ring-svg-wrap{position:relative;width:100%;max-width:120px}.ring-svg{width:100%;height:auto;display:block}.ring-icon{position:absolute;bottom:2px;right:2px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:16px}.ring-icon svg.lucide{width:16px;height:16px;border:2px solid;background:var(--surface)}[data-theme=dark] .ring-icon{background:var(--surface)}.ring-label-ic{display:none}.ring-glow{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:50%;animation:ringPulse 3s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes ringPulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.8;transform:scale(1.05)}}.ring-behind .ring-svg-wrap svg{position:relative;z-index:1}.macro-status-list{display:flex;flex-direction:column;gap:6px;margin-top:16px;position:relative;z-index:1}.macro-status-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;opacity:0;animation:macroStatusIn .5s ease forwards;position:relative;overflow:hidden}@keyframes macroStatusIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.macro-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;animation:statusDotGlow 2.5s ease-in-out infinite}@keyframes statusDotGlow{0%,to{opacity:.6;transform:scale(1);box-shadow:0 0 4px currentColor}50%{opacity:1;transform:scale(1.3);box-shadow:0 0 12px currentColor}}.macro-status-text{font-size:13px;font-weight:700}.macro-status-row.missing{background:linear-gradient(135deg,color-mix(in srgb,var(--ms-color) 8%,var(--surface-2)),var(--surface-2));border:1px solid color-mix(in srgb,var(--ms-color) 20%,var(--line))}.macro-status-row.missing .macro-status-text{color:var(--ms-color)}@supports not (color: color-mix(in srgb,red 50%,blue)){.macro-status-row.missing{background:var(--surface-2);border:1px solid var(--line)}}.macro-status-row.over{background:#ef444412;border:1px solid rgba(239,68,68,.2)}.macro-status-row.over .macro-status-text{color:#dc2626}[data-theme=dark] .macro-status-row.over{background:#ef44441a;border-color:#ef444433}[data-theme=dark] .macro-status-row.over .macro-status-text{color:#fca5a5}.macro-status-row.done{background:linear-gradient(135deg,color-mix(in srgb,var(--ms-color) 8%,var(--surface-2)),var(--surface-2));border:1px solid color-mix(in srgb,var(--ms-color) 25%,var(--line))}.macro-status-row.done:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 30%,color-mix(in srgb,var(--ms-color) 10%,transparent) 50%,transparent 70%);animation:statusShimmer 3s ease-in-out infinite}@keyframes statusShimmer{0%{transform:translate(100%)}to{transform:translate(-100%)}}.macro-status-row.done .macro-status-text{color:var(--ms-color)}@supports not (color: color-mix(in srgb,red 50%,blue)){.macro-status-row.done{background:var(--surface-2);border:1px solid var(--line)}}.share-card{background:var(--surface);border:1.5px solid rgba(6,182,212,.2);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.share-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#06b6d4}.share-desc{font-size:12px;color:var(--text-muted);line-height:1.5}.share-open-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:12px;border:1.5px solid rgba(6,182,212,.3);background:#06b6d414;color:#06b6d4;font-size:13px;font-weight:700;cursor:pointer;transition:all .25s ease;font-family:inherit;-webkit-tap-highlight-color:transparent}.share-open-btn:hover{background:#06b6d426;border-color:#06b6d480;box-shadow:0 0 16px #06b6d426}.share-open-btn:active{transform:scale(.97)}.share-form{animation:shareOpen .25s ease}@keyframes shareOpen{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.share-input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:10px 14px;font-size:13px;font-family:inherit;background:var(--surface-2);color:var(--text);resize:none;outline:none;transition:border-color .2s}.share-input:focus{border-color:#06b6d4}.share-actions{display:flex;gap:8px;margin-top:6px}.share-send{display:flex;align-items:center;gap:5px;padding:7px 18px;border-radius:10px;border:none;background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}.share-send:hover{box-shadow:0 4px 14px #06b6d44d}.share-send:active{transform:scale(.97)}.share-send:disabled{opacity:.5}.share-cancel{padding:7px 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s}.share-cancel:hover{color:var(--text)}.share-sent{text-align:center;padding:12px;font-size:14px;font-weight:700;color:#06b6d4;animation:shareOpen .3s ease}.meal-macros span,.fr-macros span{font-size:12px;font-weight:700}.btn-period{padding:8px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid var(--line);background:var(--surface-2);color:var(--text)}.btn-period:hover{border-color:#e74c7c;background:#fff0f3}.btn-period.active{background:#ffe0e6;border-color:#e74c7c;color:#c0294a}.btn-period.active:hover{background:#ffd0d8}.period-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;vertical-align:middle}.period-badge.active{background:#ffe0e6;color:#c0294a}[data-theme=dark] .btn-period:hover{background:#3d1525;border-color:#e74c7c}[data-theme=dark] .btn-period.active{background:#3d1525;border-color:#e74c7c;color:#ff8aa5}[data-theme=dark] .period-badge.active{background:#3d1525;color:#ff8aa5}.status-banner{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:14px;font-size:14px;font-weight:600;animation:slideDown .3s ease}.status-banner .status-icon{font-size:20px;flex-shrink:0}.status-empty,.status-progress{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.status-close{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.status-perfect{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.status-over{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}[data-theme=dark] .status-empty,[data-theme=dark] .status-progress{background:#0f1d2e;color:#93bbfc;border-color:#1e3a5f}[data-theme=dark] .status-close{background:#2d2305;color:#fcd34d;border-color:#78550a}[data-theme=dark] .status-perfect{background:#052e16;color:#6ee7a0;border-color:#14532d}[data-theme=dark] .status-over{background:#2d0f0f;color:#fca5a5;border-color:#7f1d1d}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cta-add-meal{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;padding:16px 20px;border-radius:16px;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 24px #10b98159;transition:all .2s ease}.cta-main{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700}.cta-add-meal:hover{transform:translateY(-2px);box-shadow:0 10px 32px #10b98173}.cta-add-meal:active{transform:scale(.98)}.cta-add-meal .cta-icon{font-size:22px}.cta-sub{display:block;font-size:11px;font-weight:400;opacity:.8;margin-top:2px}.btn-quick-add{display:flex;align-items:center;gap:5px;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;cursor:pointer;transition:all .15s;box-shadow:0 4px 12px #f59e0b40;-webkit-tap-highlight-color:transparent}.btn-quick-add:hover{transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b59}.btn-quick-add:active{transform:scale(.97)}.cta-add-meal.cta-warn{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 6px 24px #f59e0b4d}.cta-add-meal.cta-warn:hover{box-shadow:0 10px 32px #f59e0b66}.ring-status-text{font-size:11px;font-weight:600;text-align:center;margin-top:2px;padding:2px 8px;border-radius:6px}.ring-status-text.status-ok{color:var(--muted)}.ring-status-text.status-warn{color:#f59e0b}.ring-status-text.status-over{color:#ef4444;font-weight:700}.whatsapp-inline{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;background:#e8faf0;color:#128c53;text-decoration:none;border:1px solid #b8e8cc;transition:all .15s ease}.whatsapp-inline:hover{background:#d0f5e0;transform:scale(1.03)}[data-theme=dark] .whatsapp-inline{background:#0d2818;color:#6ee7a0;border-color:#1a5c34}[data-theme=dark] .whatsapp-inline:hover{background:#143d22}.confirm-modal{background:var(--surface);border-radius:20px;padding:32px 28px 24px;max-width:360px;width:90vw;text-align:center;box-shadow:0 20px 60px #00000040;animation:modalPop .25s ease}.confirm-icon{width:56px;height:56px;border-radius:50%;margin:0 auto 16px;display:grid;place-items:center;font-size:26px}.confirm-icon.danger{background:#ffe0e6}.confirm-icon.warning{background:#fff4e0}.confirm-icon.info{background:#e0f0ff}[data-theme=dark] .confirm-icon.danger{background:#3d1525}[data-theme=dark] .confirm-icon.warning{background:#3d2f15}[data-theme=dark] .confirm-icon.info{background:#152a3d}.confirm-title{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--text)}.confirm-msg{font-size:14px;color:var(--text-muted);margin-bottom:24px;line-height:1.5}.confirm-actions{display:flex;gap:10px;justify-content:center}.confirm-actions button{flex:1;padding:12px;border-radius:12px;font-size:14px;font-weight:600}.btn-danger{background:#ef4444;color:#fff;border:none;cursor:pointer;border-radius:10px;padding:8px 16px;font-weight:600;transition:all .15s}.btn-danger:hover{background:#dc2626}@keyframes modalPop{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.meal-label{font-size:11px;font-weight:700;color:var(--primary);background:var(--primary-soft);padding:2px 8px;border-radius:6px;display:inline-block;margin-bottom:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepper{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface-2);transition:border-color .2s}.stepper:focus-within{border-color:var(--primary)}.stepper input{flex:1;text-align:center;border:none!important;background:transparent!important;font-size:14px;font-weight:700;padding:8px 2px;min-width:40px;outline:none;color:var(--text);-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-btn{width:36px;height:36px;border:none;cursor:pointer;font-size:16px;font-weight:700;display:grid;place-items:center;background:var(--primary);color:#fff;transition:all .15s ease;flex-shrink:0;border-radius:6px;-webkit-tap-highlight-color:transparent}.stepper-btn:hover{background:#059669}.stepper-btn:active{transform:scale(.92);background:#047857}.toast-container{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:6px;pointer-events:none;padding:calc(12px + var(--safe-top)) 0 0;width:50%;max-width:280px}.toast{padding:10px 16px;border-radius:14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;pointer-events:auto;box-shadow:0 4px 20px #00000026;animation:toastSlideDown .35s cubic-bezier(.2,.9,.3,1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);position:relative;overflow:hidden;width:100%}.toast-progress{position:absolute;bottom:0;right:0;height:3px;background:currentColor;opacity:.25;border-radius:0 0 16px 16px;animation:toastCountdown var(--toast-dur, 3.5s) linear forwards}@keyframes toastCountdown{0%{width:100%}to{width:0%}}.toast-icon{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;flex-shrink:0}.toast-success{background:linear-gradient(135deg,#f0fdf4,#fefce8);color:#14532d;border:1px solid #a7f3d0;box-shadow:0 4px 16px #10b98126}.toast-success .toast-icon{background:linear-gradient(135deg,#10b981,#f59e0b);color:#fff}.toast-error{background:linear-gradient(135deg,#fef2f2,#fff7ed);color:#7f1d1d;border:1px solid #fecaca;box-shadow:0 4px 16px #ef44441f}.toast-error .toast-icon{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff}.toast-info{background:linear-gradient(135deg,#eff6ff,#f5f3ff);color:#1e3a5f;border:1px solid #bfdbfe;box-shadow:0 4px 16px #3b82f61f}.toast-info .toast-icon{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.toast-msg{flex:1;color:inherit;font-weight:700}.toast-action{background:#ffffff26;border:none;color:inherit;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all .12s;flex-shrink:0}.toast-action:hover{background:#ffffff40}.toast-dismiss{background:none;border:none;color:var(--muted);opacity:.6;font-size:14px;cursor:pointer;padding:4px;flex-shrink:0;border-radius:6px;transition:all .15s}.toast-dismiss:hover{opacity:1;background:#ffffff1a}[data-theme=dark] .toast-success{background:linear-gradient(135deg,#10b98126,#f59e0b14);border-color:#f59e0b40;color:#fcd34d;box-shadow:0 4px 20px #0000004d,0 0 0 1px #f59e0b1a}[data-theme=dark] .toast-error{background:linear-gradient(135deg,#ef444426,#f9731614);border-color:#ef444440;color:#fca5a5;box-shadow:0 4px 20px #0000004d}[data-theme=dark] .toast-info{background:linear-gradient(135deg,#3b82f626,#8b5cf614);border-color:#3b82f640;color:#93c5fd;box-shadow:0 4px 20px #0000004d}@keyframes toastSlideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.qa-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease;overscroll-behavior:contain}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.qa-sheet{background:var(--surface);width:100%;max-width:600px;max-height:85vh;max-height:min(85dvh,calc(100dvh - var(--safe-top) - 16px));border-radius:24px 24px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 50px #00000040;animation:sheetUp .3s cubic-bezier(.2,.9,.3,1)}@media (max-width: 700px){.qa-overlay{align-items:stretch}.qa-sheet{max-height:none;height:100%;border-radius:0;animation:fadeIn .2s ease}.qa-handle-bar{display:none}.qa-body{padding-bottom:calc(20px + var(--safe-bottom))}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.qa-handle-bar{display:flex;justify-content:center;padding:10px 0 2px}.qa-handle{width:40px;height:5px;border-radius:10px;background:var(--line)}.qa-header{display:flex;align-items:center;gap:10px;padding:calc(10px + var(--safe-top)) 20px 10px;flex-shrink:0}.qa-header h3{font-size:18px;font-weight:700;margin:0}@media (display-mode: standalone){.qa-header{padding-top:max(14px,calc(10px + var(--safe-top)))}}.pwa-standalone .qa-header{padding-top:max(14px,calc(10px + var(--safe-top)))}.qa-tabs{display:flex;gap:4px;padding:0 16px;margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.qa-tabs::-webkit-scrollbar{display:none}.qa-tab{flex-shrink:0;padding:10px 16px;border-radius:12px;border:none;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface-2);color:var(--muted);transition:all .25s cubic-bezier(.2,.9,.3,1);white-space:nowrap;-webkit-tap-highlight-color:transparent}.qa-tab:active{transform:scale(.94)}.qa-tab.active{background:var(--primary);color:#fff}.qa-body{flex:1;overflow-y:auto;padding:8px 16px 20px;padding-bottom:calc(20px + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.qa-body>*{animation:qaFadeIn .2s ease}@keyframes qaFadeIn{0%{opacity:0}to{opacity:1}}.qa-empty{text-align:center;padding:32px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px}.qa-empty-icon{font-size:40px;margin-bottom:6px}.qa-empty-title{font-size:15px;font-weight:600;color:var(--text)}.qa-empty-sub{font-size:13px;color:var(--text-muted)}.qa-empty-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap;justify-content:center}.qa-empty-btn{padding:10px 16px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.qa-empty-btn:active{transform:scale(.96)}.qa-empty-btn:hover{border-color:var(--primary);background:var(--primary-soft)}.qa-list{display:flex;flex-direction:column;gap:8px}.qa-list>*{animation:qaItemIn .2s ease both}@keyframes qaItemIn{0%{opacity:0}to{opacity:1}}.qa-food{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;transition:all .12s;text-align:right;width:100%;min-height:64px;-webkit-tap-highlight-color:transparent}.qa-food:hover{border-color:var(--primary);background:var(--primary-soft)}.qa-food:active{transform:scale(.97);background:var(--primary-soft)}.qa-food-main{flex:1;min-width:0}.qa-food-name{font-size:15px;font-weight:700;color:var(--text);margin-bottom:2px}.qa-food-meta{margin-bottom:4px}.qa-serving{font-size:11px;color:var(--text-muted)}.qa-food-macros{display:flex;gap:6px;flex-wrap:wrap}.qa-food-macros span{font-size:11px;font-weight:700;padding:3px 7px;border-radius:8px}.qm-p{background:#ecfdf5;color:#059669}.qm-c{background:#eff6ff;color:#2563eb}.qm-f{background:#fffbeb;color:#d97706}.qm-cal{background:#fdf2f8;color:#db2777}[data-theme=dark] .qm-p{background:#052e16;color:#6ee7a0}[data-theme=dark] .qm-c{background:#0f1d2e;color:#93bbfc}[data-theme=dark] .qm-f{background:#2d2305;color:#fcd34d}[data-theme=dark] .qm-cal{background:#2d0f1a;color:#f9a8d4}.qa-fav{width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;font-size:22px;display:grid;place-items:center;flex-shrink:0;background:transparent;color:var(--muted);transition:all .15s;-webkit-tap-highlight-color:transparent}.qa-fav:active{transform:scale(.85)}.qa-fav.active{color:#f59e0b}.qa-presets{display:flex;flex-direction:column;gap:6px;padding-top:4px}.qa-preset{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;text-align:right;width:100%}.qa-preset:hover{border-color:var(--primary);background:var(--primary-soft)}.qa-preset:active{transform:scale(.98)}.qa-preset-icon{width:40px;height:40px;border-radius:10px;background:var(--surface-2);display:grid;place-items:center;flex-shrink:0}.qa-preset-icon svg.lucide{width:20px;height:20px}.qa-preset-name{font-size:14px;font-weight:700;color:var(--text)}.qa-preset-macros{display:flex;gap:6px;font-size:11px;font-weight:600;flex-wrap:wrap;margin-top:2px}.qa-search-bar{display:flex;align-items:center;gap:8px;margin:0 16px 8px;padding:0 14px;border:2px solid var(--line);border-radius:14px;background:var(--surface-2);transition:border-color .2s;flex-shrink:0}.qa-search-bar:focus-within{border-color:var(--primary)}.qa-search-icon{font-size:16px;flex-shrink:0;opacity:.6}.qa-search-bar .qa-search-input{flex:1;border:none!important;background:transparent!important;padding:14px 4px!important;font-size:16px!important;outline:none!important;box-shadow:none!important;min-width:0}.qa-search-clear{width:28px;height:28px;border-radius:50%;border:none;background:var(--line);color:var(--muted);font-size:12px;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .15s;-webkit-tap-highlight-color:transparent}.qa-search-clear:active{transform:scale(.9)}.qa-search{display:flex;flex-direction:column;gap:10px}.qa-chips-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 16px 8px}.qa-chips-scroll::-webkit-scrollbar{display:none}.qa-chips-inner{display:flex;gap:6px}.qa-chip{flex-shrink:0;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;background:var(--surface-2);color:var(--muted);border:1.5px solid var(--line);transition:all .25s cubic-bezier(.2,.9,.3,1);white-space:nowrap;-webkit-tap-highlight-color:transparent}.qa-chip:active{transform:scale(.93)}.qa-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.qa-manual{display:flex;flex-direction:column;gap:8px}.qa-manual-macros{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:8px}.qa-manual-macros .field>span{font-size:12px}.qa-manual-summary{text-align:center;font-size:14px;font-weight:700;color:var(--primary);padding:8px;background:var(--primary-soft);border-radius:10px;margin-top:8px}.qa-manual-submit{width:100%;margin-top:8px;padding:14px}.qa-preset-info{flex:1;min-width:0}.qa-hint{font-size:12px;color:var(--primary);font-weight:600;margin-top:2px}.qa-skeleton{padding:16px;border-radius:14px;border:1.5px solid var(--line);display:flex;flex-direction:column;gap:8px}.qa-skel-line{height:14px;border-radius:8px;background:var(--line);animation:skelPulse 1.2s ease infinite;width:50%}.qa-skel-line.wide{width:70%}@keyframes skelPulse{0%,to{opacity:.4}50%{opacity:.8}}.qa-food.disabled,.qa-preset.disabled{opacity:.5;pointer-events:none}.qa-preset.recommended{border-color:var(--primary);position:relative;box-shadow:0 0 0 2px #10b98126}.qa-preset-badge{position:absolute;top:-8px;right:10px;background:var(--primary);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:8px}@media (min-width: 700px){.qa-overlay{align-items:center}.qa-sheet{border-radius:24px;max-height:80vh;margin:20px}.qa-handle-bar{display:none}}.tracking-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tk-card{flex:1;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.tk-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.tk-card.open{cursor:default;border-color:var(--tk-accent, var(--primary));box-shadow:0 4px 16px #0000000f;transform:none}[data-theme=dark] .tk-card{box-shadow:0 2px 8px #00000026}[data-theme=dark] .tk-card.open{box-shadow:0 4px 20px #00000040}.tk-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tk-head svg.lucide{color:var(--tk-accent, var(--text-muted))}.tk-title{font-size:13px;font-weight:700;color:var(--text-primary)}.tk-value-closed{font-size:13px;color:var(--text-muted)}.tk-big{font-size:28px;font-weight:900;color:var(--tk-accent, var(--text-primary))}.tk-empty{font-size:12px;color:var(--text-disabled);font-style:italic}.tk-edit{animation:fade-in .2s ease}.tk-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0}.tk-btn{width:40px;height:40px;border-radius:50%;background:var(--tk-accent, var(--primary));color:#fff;border:none;display:grid;place-items:center;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px #0000001f}.tk-btn:hover{transform:scale(1.08)}.tk-btn:active{transform:scale(.9)}.tk-num{font-size:34px;font-weight:900;color:var(--tk-accent, var(--text-primary));min-width:50px;text-align:center}.tk-unit{text-align:center;font-size:12px;color:var(--text-muted);margin-top:-4px}.tk-saved{text-align:center;font-size:11px;font-weight:700;color:var(--primary);margin-top:6px;animation:fade-in .2s ease}.tk-quick{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:8px}.tk-quick-btn{min-width:38px;height:32px;padding:0 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--text-secondary);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.tk-quick-btn:active{transform:scale(.93)}.tk-quick-btn.active{background:var(--tk-accent, var(--primary));color:#fff;border-color:var(--tk-accent, var(--primary));box-shadow:0 2px 8px #00000026}@media (max-width: 500px){.tk-card{padding:12px}.tk-big{font-size:24px}.tk-num{font-size:28px}.tk-btn{width:36px;height:36px}.tk-controls{gap:12px}}.tracking-card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}.tracking-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.tracking-card.water .tracking-header{color:#3b82f6}.tracking-card.sleep .tracking-header{color:#8b5cf6}.tracking-display{font-size:14px;font-weight:600;color:var(--text);text-align:center;min-height:32px;display:flex;align-items:center;justify-content:center;gap:4px}.tracking-big{font-size:28px;font-weight:800}.tracking-empty{font-size:12px;color:var(--text-disabled);font-weight:500}.tracking-btns{display:flex;gap:6px;justify-content:center;align-items:center}.tracking-btn{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--text);font-size:15px;font-weight:700;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.tracking-btn:active{transform:scale(.93)}.tracking-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f659;transform:scale(1.08)}.tracking-step{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;display:grid;place-items:center;transition:all .15s;-webkit-tap-highlight-color:transparent}.tracking-step:active{transform:scale(.93)}.tracking-num{font-size:20px;font-weight:800;min-width:40px;text-align:center}.tracking-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 16px;border-radius:12px;border:1.5px solid transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:all .3s ease;font-family:inherit;-webkit-tap-highlight-color:transparent;position:relative}.tracking-card.water .tracking-add-btn{border-color:#3b82f659;color:#3b82f6;background:#3b82f60f;box-shadow:0 0 8px #3b82f626,inset 0 0 8px #3b82f60d}.tracking-card.water .tracking-add-btn:hover{border-color:#3b82f699;background:#3b82f61f;box-shadow:0 0 14px #3b82f64d,inset 0 0 10px #3b82f614}.tracking-card.sleep .tracking-add-btn{border-color:#8b5cf659;color:#8b5cf6;background:#8b5cf60f;box-shadow:0 0 8px #8b5cf626,inset 0 0 8px #8b5cf60d}.tracking-card.sleep .tracking-add-btn:hover{border-color:#8b5cf699;background:#8b5cf61f;box-shadow:0 0 14px #8b5cf64d,inset 0 0 10px #8b5cf614}.tracking-add-btn:active{transform:scale(.97)}.tracking-controls{display:flex;flex-direction:column;gap:8px;animation:trackingSlide .2s ease}@keyframes trackingSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.tracking-cancel{background:none;border:none;color:var(--muted);font-size:11px;cursor:pointer;padding:4px;font-family:inherit;opacity:.7;transition:opacity .15s}.tracking-cancel:hover{opacity:1}@media (max-width: 700px){.tracking-row{grid-template-columns:1fr 1fr;gap:8px}.tracking-card{padding:12px}.tracking-big{font-size:22px}.tracking-btn{width:34px;height:34px;font-size:12px;border-radius:10px}.tracking-step{width:34px;height:34px}.tracking-add-btn{padding:8px 12px;font-size:12px}.manual-macros,.qa-manual-macros{grid-template-columns:1fr;gap:8px}.manual-macros .field>span,.qa-manual-macros .field>span{font-size:11px}}.trainee-header{padding:calc(18px + var(--safe-top)) 20px 18px;padding-inline-start:max(20px,var(--safe-left));padding-inline-end:max(20px,var(--safe-right));background:linear-gradient(135deg,#08162b,#0b2640 30%,#072a28,#0a2318 80%,#0d1a2e);border-bottom:1px solid rgba(52,211,153,.12);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100;overflow:hidden;isolation:isolate}@media (display-mode: standalone){.trainee-header{padding-top:max(54px,calc(18px + var(--safe-top)))}.crm-topbar{padding-top:max(20px,var(--safe-top));min-height:calc(64px + var(--safe-top))}.nc-head,.add-meal-page-head{padding-top:max(20px,calc(14px + var(--safe-top)))}}.pwa-standalone .trainee-header{padding-top:max(54px,calc(18px + var(--safe-top)))}.pwa-standalone .crm-topbar{padding-top:max(20px,var(--safe-top));min-height:calc(64px + var(--safe-top))}.pwa-standalone .nc-head,.pwa-standalone .add-meal-page-head{padding-top:max(20px,calc(14px + var(--safe-top)))}.trainee-header:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 380px 260px at 80% 15%,rgba(16,185,129,.14) 0%,transparent 65%),radial-gradient(ellipse 300px 220px at 20% 85%,rgba(59,130,246,.11) 0%,transparent 65%),radial-gradient(ellipse 450px 300px at 50% 50%,rgba(6,182,212,.05) 0%,transparent 70%);animation:headerBreath 10s ease-in-out infinite alternate}@keyframes headerBreath{0%{opacity:.6;transform:scale(1) translate(0)}33%{opacity:.9;transform:scale(1.06) translate(-6px,2px)}66%{opacity:.75;transform:scale(1.02) translate(4px,-2px)}to{opacity:.85;transform:scale(1.04) translate(-3px,1px)}}.trainee-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle 90px at 88% 25%,rgba(52,211,153,.1) 0%,transparent 100%),radial-gradient(circle 70px at 12% 65%,rgba(99,162,255,.08) 0%,transparent 100%),radial-gradient(circle 120px at 55% 40%,rgba(6,182,212,.04) 0%,transparent 100%);animation:headerOrbs 14s ease-in-out infinite alternate}@keyframes headerOrbs{0%{transform:translateY(0) rotate(0) scale(1);opacity:.7}50%{transform:translateY(-3px) rotate(1.5deg) scale(1.03);opacity:1}to{transform:translateY(2px) rotate(-1deg) scale(.98);opacity:.8}}@keyframes headerShimmer{0%,85%{transform:translate(100%) skew(-20deg);opacity:0}90%{opacity:1}to{transform:translate(-100%) skew(-20deg);opacity:0}}.trainee-header>*{position:relative;z-index:1}.trainee-header-right{display:flex;flex-direction:column;gap:4px}.trainee-brand{display:flex;align-items:center}.brand-wordmark{display:flex;align-items:center;gap:10px}.brand-name-main{font-size:18px;font-weight:900;letter-spacing:-.5px;background:linear-gradient(135deg,#34d399,#6ee7b7,#a7f3d0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 8px rgba(52,211,153,.2))}.brand-name-divider{width:1.5px;height:18px;border-radius:1px;background:linear-gradient(180deg,#ffffff0d,#fff3,#ffffff0d)}.brand-name-role{font-size:12px;font-weight:600;color:#ffffff73;letter-spacing:.5px}.trainee-header .trainee-greeting{color:#ffffffeb;text-shadow:0 1px 12px rgba(0,0,0,.3)}.th-icon-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all .15s;-webkit-tap-highlight-color:transparent}.th-icon-btn:active{transform:scale(.93)}.trainee-greeting{margin:0;font-size:18px;font-weight:800;letter-spacing:-.3px}.trainee-header-btns{display:flex;flex-direction:column;gap:6px}.trainee-header-btns .th-btn{padding:6px 24px;font-size:11px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.trainee-header-btns .th-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,transparent 50%)}.trainee-header-btns .th-btn.msg{background:#3b82f61f;border-color:#3b82f640;color:#93c5fd;box-shadow:inset 0 1px #ffffff0f}.trainee-header-btns .th-btn.msg:hover{background:#3b82f638;border-color:#3b82f673;box-shadow:0 0 20px #3b82f633,inset 0 1px #ffffff1a;transform:scale(1.04)}.trainee-header-btns .th-btn.wa{background:#10b9811f;border-color:#10b98140;color:#6ee7b7;box-shadow:inset 0 1px #ffffff0f}.trainee-header-btns .th-btn.wa:hover{background:#10b98138;border-color:#10b98173;box-shadow:0 0 20px #10b98133,inset 0 1px #ffffff1a;transform:scale(1.04)}.trainee-header-btns .th-btn:active{transform:scale(.97)}.th-btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 0;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;text-decoration:none;border:1.5px solid var(--line);background:var(--surface-2);color:var(--text);-webkit-tap-highlight-color:transparent}.th-btn:active{transform:scale(.97)}.th-btn.msg{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.th-btn.msg:hover{background:#dbeafe;border-color:#93c5fd;box-shadow:0 4px 16px #1d4ed833;transform:translateY(-2px)}.th-btn.wa{border-color:#b8e8cc;background:#e8faf0;color:#128c53}.th-btn.wa:hover{background:#d1fae5;border-color:#6ee7a0;box-shadow:0 4px 16px #128c5333;transform:translateY(-2px)}[data-theme=dark] .th-btn.msg{background:#0f1d2e;color:#93bbfc;border-color:#1e3a5f}[data-theme=dark] .th-btn.msg:hover{background:#162d4a;border-color:#3b6faf;box-shadow:0 4px 16px #93bbfc26}[data-theme=dark] .th-btn.wa{background:#0d2818;color:#6ee7a0;border-color:#1a5c34}[data-theme=dark] .th-btn.wa:hover{background:#143d24;border-color:#2d8a56;box-shadow:0 4px 16px #6ee7a026}.trainee-footer{background:var(--surface);border-top:1px solid var(--line);padding:20px 24px;padding-bottom:calc(20px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:auto}.footer-row-top{display:flex;align-items:center;justify-content:space-between;width:100%}.footer-center{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.a11y-toggle{width:34px;height:34px;border-radius:50%;border:1.5px solid #3b82f6;background:#3b82f61a;color:#3b82f6;cursor:pointer;display:grid;place-items:center;transition:all .25s ease;flex-shrink:0;-webkit-tap-highlight-color:transparent}.a11y-toggle:hover{background:#3b82f633;box-shadow:0 0 12px #3b82f64d;transform:scale(1.1)}.footer-links{display:flex;align-items:center;gap:4px;justify-content:center;white-space:nowrap}.footer-link{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;padding:5px 8px;border-radius:6px;transition:all .15s;display:inline-flex;align-items:center;gap:4px;font-family:inherit;white-space:nowrap}.footer-link:hover{color:var(--text);background:var(--surface-2)}.footer-sep{color:var(--text-disabled);opacity:.4;font-size:10px;-webkit-user-select:none;user-select:none}.footer-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.footer-btn{display:flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;padding:8px 14px;border-radius:8px;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:all .15s;white-space:nowrap}.footer-btn:hover{color:var(--text);border-color:var(--muted)}.footer-btn:active{transform:scale(.97)}.footer-brand{display:block;text-align:center;font-size:12px;font-weight:800;letter-spacing:4px;text-transform:uppercase;text-decoration:none;background:linear-gradient(135deg,#06b6d4,#22d3ee,#67e8f9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;cursor:pointer;transition:all .3s;margin-bottom:10px;position:relative}.footer-brand:after{content:"";display:block;width:40px;height:1px;margin:6px auto 0;background:linear-gradient(90deg,transparent,#06b6d4,transparent);opacity:.4}.footer-brand:hover{filter:brightness(1.2);letter-spacing:5px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--text-disabled);opacity:.6}.footer-ver{font-weight:700;opacity:.8}@media (max-width: 700px){.trainee-header{padding:calc(12px + var(--safe-top)) max(14px,var(--safe-right)) 12px max(14px,var(--safe-left));gap:8px}.brand-name-main{font-size:15px}.brand-name-role{font-size:11px}.trainee-greeting{font-size:18px}.trainee-header-btns .th-btn{padding:7px 10px;font-size:12px}.trainee-footer{padding:18px 14px;padding-bottom:calc(20px + var(--safe-bottom));gap:10px}.footer-link{font-size:12px}.footer-copy{font-size:10px}}@media (max-width: 420px){.trainee-footer{padding:16px 10px;padding-bottom:calc(18px + var(--safe-bottom));gap:8px}.footer-link{font-size:11px}.footer-copy{font-size:9px}.brand-name-main{font-size:14px}.brand-name-divider{height:14px}.brand-name-role{font-size:10px}.brand-wordmark{gap:6px}.trainee-greeting{font-size:16px}.th-btn{font-size:12px;padding:10px 0;border-radius:10px}.a11y-panel{width:210px;right:8px;bottom:60px;padding:12px}.tracking-row{grid-template-columns:1fr 1fr;gap:8px}.tk-quick-btn{min-width:34px;padding:0 8px;font-size:12px;height:30px}.tracking-btn{width:38px;height:38px}.manual-macros,.qa-manual-macros{grid-template-columns:1fr}}.msg-send-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:13px;font-weight:600;background:#eff6ff;color:#1d4ed8;text-decoration:none;border:1px solid #bfdbfe;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.msg-send-btn:hover{background:#dbeafe}.msg-send-btn:active{transform:scale(.97)}[data-theme=dark] .msg-send-btn{background:#0f1d2e;color:#93bbfc;border-color:#1e3a5f}[data-theme=dark] .msg-send-btn:hover{background:#152a3d}.msg-overlay{align-items:center!important;justify-content:center!important}.msg-sheet{background:var(--surface);width:100%;max-width:500px;border-radius:20px;box-shadow:0 16px 50px #0000004d;animation:msgFadeIn .25s ease;display:flex;flex-direction:column;margin:16px}@keyframes msgFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width: 700px){.msg-overlay{align-items:flex-start!important;justify-content:center!important;padding-top:40px!important}.msg-sheet{max-width:none;border-radius:16px;margin:0 16px;animation:msgFadeIn .25s ease}}.msg-body{padding:16px;display:flex;flex-direction:column;gap:12px}.msg-urgent-note{font-size:12px;color:var(--text-muted);text-align:center}.msg-urgent-note a{color:#25d366;font-weight:600;text-decoration:none}.msg-urgent-note a:hover{text-decoration:underline}.msg-textarea{width:100%;border:2px solid var(--line);border-radius:14px;padding:14px;font-size:15px;font-family:inherit;background:var(--surface-2);color:var(--text);resize:none;outline:none;transition:border-color .2s}.msg-textarea:focus{border-color:var(--primary)}.msg-footer{display:flex;justify-content:space-between;align-items:center}.mp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.mp-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center;transition:all .2s}.mp-stat.highlight{background:var(--primary-soft);border-color:#10b9814d}.mp-stat-num{font-size:26px;font-weight:800;letter-spacing:-1px;color:var(--text-primary)}.mp-stat.highlight .mp-stat-num{color:var(--primary)}.mp-stat-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.mp-container{display:grid;grid-template-columns:240px 1fr;gap:16px;min-height:500px}.mp-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:12px;height:fit-content;position:sticky;top:80px}.mp-search-wrap{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1.5px solid var(--line);border-radius:10px;padding:0 10px;transition:border-color .2s}.mp-search-wrap:focus-within{border-color:var(--primary)}.mp-search-icon{color:var(--muted);flex-shrink:0}.mp-search{flex:1;border:none!important;background:transparent!important;padding:9px 4px!important;font-size:13px!important;outline:none!important;font-family:inherit!important;color:var(--text-primary)!important}.mp-search-clear{width:22px;height:22px;border-radius:6px;border:none;background:var(--line);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all .15s}.mp-search-clear:hover{background:var(--danger);color:#fff}.mp-filters{display:flex;flex-direction:column;gap:3px}.mp-filter{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;background:transparent;border:none;color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:inherit;text-align:right;-webkit-tap-highlight-color:transparent}.mp-filter:hover{background:var(--surface-2);color:var(--ink)}.mp-filter.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px #10b98140}.mp-filter-badge{margin-right:auto;margin-left:0;background:#ef4444;color:#fff;font-size:10px;font-weight:800;padding:1px 7px;border-radius:10px;min-width:18px;text-align:center}.mp-filter.active .mp-filter-badge{background:#ffffff4d}.mp-filter-count{margin-right:auto;margin-left:0;font-size:11px;color:var(--muted);font-weight:700}.mp-filter.active .mp-filter-count{color:#ffffffb3}.mp-trainee-list{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--line);padding-top:10px;animation:mpFadeIn .2s ease}.mp-trainee-list-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:0 8px 6px}.mp-trainee-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;background:transparent;border:none;color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;text-align:right}.mp-trainee-item:hover{background:var(--surface-2)}.mp-trainee-item.active{background:var(--primary-soft);color:var(--primary)}.mp-trainee-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#34d399,#059669);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;flex-shrink:0}.mp-trainee-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-trainee-count{font-size:11px;color:var(--muted);font-weight:700;background:var(--surface-2);padding:2px 7px;border-radius:8px}.mp-mark-all{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.mp-mark-all:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.mp-main{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:16px;min-height:400px}.mp-main-head{display:flex;align-items:center;justify-content:space-between}.mp-main-head h3{margin:0;font-size:17px;font-weight:700}.mp-live-dot{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:var(--primary);letter-spacing:.5px}.mp-live-dot span{width:8px;height:8px;border-radius:50%;background:var(--primary);animation:mpLivePulse 2s ease infinite}@keyframes mpLivePulse{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.7;box-shadow:0 0 0 6px #10b98100}}.mp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);text-align:center;padding:40px 20px}.mp-empty svg{opacity:.3}.mp-empty h4{margin:8px 0 0;font-size:16px;color:var(--ink-2)}.mp-empty p{font-size:13px;margin:0}.mp-messages{display:flex;flex-direction:column;gap:18px}.mp-date-group{display:flex;flex-direction:column;gap:8px}.mp-date-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:0 4px}.mp-date-count{background:var(--surface-2);padding:1px 7px;border-radius:8px;font-size:10px}.mp-msg{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);animation:mpMsgIn .3s ease}@keyframes mpMsgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mpFadeIn{0%{opacity:0}to{opacity:1}}.mp-msg:hover{border-color:var(--primary);box-shadow:0 2px 10px #10b98114}.mp-msg.unread{background:var(--primary-soft);border-color:#10b9814d}.mp-msg.unread:hover{border-color:var(--primary)}.mp-msg-right{position:relative;flex-shrink:0}.mp-msg-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#34d399,#059669);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:700}.mp-msg-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:var(--primary);border:2px solid var(--surface);animation:mpLivePulse 2s ease infinite}.mp-msg.unread .mp-msg-dot{border-color:var(--primary-soft)}.mp-msg-body{flex:1;min-width:0}.mp-msg-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.mp-msg-name{font-weight:700;font-size:14px}.mp-msg-time{font-size:11px;color:var(--muted)}.mp-msg-text{font-size:13px;line-height:1.6;color:var(--ink-2);white-space:pre-wrap;word-break:break-word}.mp-msg-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.mp-msg:hover .mp-msg-actions{opacity:1}.mp-msg-action{width:30px;height:30px;border-radius:8px;border:none;background:var(--surface-2);color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all .15s}.mp-msg-action:hover{background:var(--primary);color:#fff}.mp-msg-action.danger:hover{background:var(--danger);color:#fff}@media (max-width: 900px){.mp-stats{display:flex!important;grid-template-columns:none!important;gap:0!important;border:1px solid var(--line);border-radius:10px;overflow:hidden}.mp-stat{flex:1;padding:6px 2px!important;text-align:center;border-radius:0!important;border:none!important;border-left:1px solid var(--line)!important}.mp-stat:last-child{border-left:none!important}.mp-stat-num{font-size:15px!important}.mp-stat-label{font-size:7px!important;letter-spacing:0!important}.mp-stat.highlight{background:#10b98114}.mp-container{grid-template-columns:1fr!important;min-height:auto!important;gap:8px!important}.mp-sidebar{position:static!important;flex-direction:column!important;gap:6px!important;padding:8px!important;border-radius:10px}.mp-search-wrap{width:100%}.mp-filters{flex-direction:row!important;width:100%;gap:3px!important;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mp-filters::-webkit-scrollbar{display:none}.mp-filter{padding:5px 8px!important;font-size:10px!important;flex-shrink:0;white-space:nowrap}.mp-filter-badge{font-size:9px!important;padding:0 5px!important}.mp-filter-count{font-size:9px!important}.mp-trainee-list{width:100%;border-top:none;padding-top:0;flex-direction:row!important;overflow-x:auto;flex-wrap:nowrap!important;gap:3px;scrollbar-width:none}.mp-trainee-list::-webkit-scrollbar{display:none}.mp-trainee-list-title{display:none}.mp-trainee-item{padding:4px 8px;border-radius:16px;border:1px solid var(--line);flex-shrink:0;white-space:nowrap;font-size:10px}.mp-mark-all{width:100%;padding:6px;font-size:10px}.mp-main{padding:0!important;min-height:auto!important;border:none!important;background:transparent!important}.mp-main-head{padding:0 2px 6px}.mp-main-head h3{font-size:13px!important}.mp-live-dot{font-size:9px}.mp-date-label{font-size:10px}.mp-messages{gap:6px!important}.mp-msg{gap:6px!important;padding:8px 10px!important;border-radius:10px!important;border:1px solid var(--line)!important}.mp-msg-right{flex-shrink:0}.mp-msg-avatar{width:28px!important;height:28px!important;font-size:11px!important}.mp-msg-dot{width:10px;height:10px}.mp-msg-name{font-size:11px!important}.mp-msg-text{font-size:11px!important;line-height:1.4}.mp-msg-time{font-size:9px!important}.mp-msg-type-badge{font-size:8px!important;padding:1px 5px!important}.mp-msg-top{gap:4px}.mp-msg-actions{opacity:1;flex-direction:row;gap:3px}.mp-msg-action{width:24px!important;height:24px!important;border-radius:6px}.mp-reply-done{padding:8px 10px;margin-top:6px}.mp-reply-label{font-size:9px}.mp-reply-text{font-size:11px}.mp-reply-btn{font-size:10px;padding:4px 8px;margin-top:6px}.mp-reply-chips{gap:3px}.mp-reply-chip{padding:4px 7px!important;font-size:9px!important}.mp-reply-free{gap:3px}.mp-reply-input{font-size:11px;padding:5px 7px}.mp-reply-count{font-size:9px}.mp-reply-send{width:28px;height:28px}.mp-msg.fallback{border-right-width:2px}}.msg-panel{display:flex;flex-direction:column;gap:10px}.msg-top-bar{display:flex;align-items:center;gap:10px}.msg-counter{font-size:14px;font-weight:800;color:var(--text-primary)}.msg-counter small{font-size:9px;font-weight:600;color:var(--text-muted);margin-right:2px}.msg-counter.hi{color:var(--primary)}.msg-live-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);margin-right:auto;margin-left:0;animation:liveBreathe 2.5s ease-in-out infinite}.msg-search{display:flex;align-items:center;gap:6px;background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:0 10px;transition:border-color .2s}.msg-search:focus-within{border-color:var(--primary)}.msg-search svg{color:var(--muted);flex-shrink:0}.msg-search input{flex:1;border:none!important;background:transparent!important;padding:8px 4px!important;font-size:13px!important;outline:none!important;font-family:inherit!important;color:var(--ink)!important}.msg-search button{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px}.msg-chips{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.msg-chips::-webkit-scrollbar{display:none}.msg-chips.sub{margin-top:-4px}.msg-chip{flex-shrink:0;padding:5px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);font-size:11px;font-weight:600;color:var(--ink-2);cursor:pointer;font-family:inherit;white-space:nowrap;transition:all .15s;display:flex;align-items:center;gap:4px}.msg-chip.on{background:var(--primary);color:#fff;border-color:var(--primary)}.msg-chip:active{transform:scale(.95)}.msg-chip small{font-size:9px;opacity:.7}.msg-badge{background:#ef4444;color:#fff;font-size:9px;font-weight:800;padding:0 5px;border-radius:8px;min-width:14px;text-align:center}.msg-chip.on .msg-badge{background:#ffffff4d}.msg-mark-all{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px;border-radius:8px;width:100%;background:var(--surface-2);border:1px solid var(--line);color:var(--primary);font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.msg-mark-all:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.msg-empty{text-align:center;padding:30px 10px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.msg-empty svg{opacity:.3}.msg-empty div{font-size:13px}.msg-list{display:flex;flex-direction:column;gap:6px}.msg-date{font-size:10px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:4px;padding:4px 2px}.msg-date small{background:var(--surface-2);padding:0 6px;border-radius:6px;font-size:9px;margin-right:4px}.msg-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;transition:border-color .15s}.msg-card.unread{background:var(--primary-soft);border-color:#10b98133}.msg-card.fall{border-right:3px solid #f59e0b}.msg-card-top{display:flex;align-items:flex-start;gap:8px}.msg-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#34d399,#059669);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.msg-info{flex:1;min-width:0}.msg-name-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.msg-sender{font-size:12px;font-weight:700;color:var(--text-primary)}.msg-type-tag{font-size:8px;font-weight:700;color:#f59e0b;background:#f59e0b1f;padding:1px 6px;border-radius:6px}.msg-time{font-size:9px;color:var(--text-disabled);margin-right:auto;margin-left:0}.msg-body{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:3px;word-break:break-word}.msg-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--primary);flex-shrink:0;margin-top:4px}.msg-reply-show{margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--primary-soft);font-size:11px;font-weight:600;color:var(--ink)}.msg-reply-open{display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:4px 10px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--primary);font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.msg-reply-open:hover{background:var(--primary);color:#fff}.msg-reply-area{margin-top:8px;display:flex;flex-direction:column;gap:6px}.msg-reply-quick{display:flex;flex-wrap:wrap;gap:4px}.msg-reply-quick button{padding:4px 8px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:10px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s}.msg-reply-quick button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.msg-reply-quick button:active{transform:scale(.94)}.msg-reply-row{display:flex;gap:4px}.msg-reply-row input{flex:1;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:11px;font-family:inherit;color:var(--ink);outline:none}.msg-reply-row input:focus{border-color:var(--primary)}.msg-reply-go{width:28px;height:28px;border-radius:8px;background:var(--primary);color:#fff;border:none;display:grid;place-items:center;cursor:pointer;flex-shrink:0}.msg-reply-go:disabled{opacity:.4}.msg-actions{display:flex;gap:4px;margin-top:6px;justify-content:flex-start}.msg-actions button{width:26px;height:26px;border-radius:6px;background:var(--surface-2);border:none;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all .12s}.msg-actions button:hover{background:var(--primary);color:#fff}.msg-actions button.del:hover{background:var(--danger);color:#fff}.suggestions-section{position:relative;z-index:1;animation:ringsCardIn .45s ease}.suggestions-head{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.suggestions-title{font-size:16px;font-weight:800;color:var(--text-primary)}.suggestions-sub{font-size:11px;font-weight:500;color:var(--text-muted)}.suggestions-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.suggestions-scroll::-webkit-scrollbar{display:none}.suggestion-card{flex-shrink:0;width:170px;background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1.5px solid rgba(245,158,11,.2);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);opacity:0;animation:suggestionIn .4s ease forwards;transition:all .2s ease}@keyframes suggestionIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.suggestion-card:nth-child(1){animation-delay:0s}.suggestion-card:nth-child(2){animation-delay:.12s}.suggestion-card:nth-child(3){animation-delay:.24s}.suggestion-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#f59e0b66}[data-theme=dark] .suggestion-card{background:linear-gradient(145deg,#1e2232e6,#1a1d2bf2);border-color:#f59e0b2e;box-shadow:0 2px 8px #0003}.suggestion-img{width:100%;height:80px;overflow:hidden;background:var(--surface-2);border-radius:16px 16px 0 0;position:relative}.suggestion-img:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,var(--surface-2));pointer-events:none}.suggestion-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;filter:brightness(.98) saturate(.95)}.suggestion-card:hover .suggestion-img img{transform:scale(1.03)}.suggestion-body{padding:10px 12px 8px;flex:1;display:flex;flex-direction:column;gap:4px}.suggestion-name{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.suggestion-reason{font-size:10px;font-weight:600;color:var(--text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-macros{display:flex;gap:6px;font-size:10px;font-weight:600;color:var(--text-secondary);margin-top:2px}.suggestion-add{display:flex;align-items:center;justify-content:center;gap:4px;padding:7px;border:none;margin:0 10px 10px;border-radius:10px;background:var(--surface-2);border:1.5px solid var(--primary);color:var(--primary);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}.suggestion-add:hover{background:var(--primary);color:#fff}.suggestion-add:active{transform:scale(.95)}.suggestion-add:disabled{opacity:.5;pointer-events:none}.suggestion-skeleton{flex-shrink:0;width:170px;height:200px;border-radius:18px;background:var(--surface-2);animation:skelPulse 1.2s ease infinite}.suggestions-empty{text-align:center;padding:24px 16px;background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--line);border-radius:16px}.suggestion-empty-btn{padding:8px 18px;border-radius:10px;background:var(--surface-2);border:1.5px solid rgba(245,158,11,.3);color:var(--text-secondary);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}.suggestion-empty-btn:hover{border-color:#f59e0b;color:#f59e0b}.suggestion-empty-btn:active{transform:scale(.97)}.meal-fav-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}.meal-fav-row.single{grid-template-columns:1fr}.meal-fav-row .fav-btn{width:100%}.fav-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 20px;border-radius:16px;background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1.5px solid rgba(245,158,11,.25);font-size:15px;font-weight:700;color:var(--text-primary);cursor:pointer;font-family:inherit;box-shadow:var(--shadow-sm),0 0 #f59e0b00;transition:all .3s ease;animation:favBtnGlow 3s ease-in-out infinite}@keyframes favBtnGlow{0%,100% {box-shadow: var(--shadow-sm),0 0 0 0 rgba(245,158,11,0); border-color: rgba(245,158,11,.25);} 50% {box-shadow: var(--shadow-sm),0 0 12px rgba(245,158,11,.08); border-color: rgba(245,158,11,.4);} -webkit-tap-highlight-color: transparent;}[data-theme=dark] .fav-btn{background:linear-gradient(145deg,#1a1d2be6,#222638f2);border-color:#f59e0b33;box-shadow:0 2px 8px #0003}.fav-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow),0 0 16px #f59e0b1f;border-color:#f59e0b80}.fav-btn:active{transform:scale(.98)}.fav-count{background:#f59e0b;color:#fff;font-size:11px;font-weight:800;width:20px;height:20px;border-radius:50%;display:grid;place-items:center}.fav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease;overscroll-behavior:contain}.fav-sheet{background:var(--surface);width:100%;max-width:500px;border-radius:20px 20px 0 0;max-height:80vh;max-height:min(80dvh,calc(100dvh - var(--safe-top) - 16px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:sheetUp .3s cubic-bezier(.2,.9,.3,1);box-shadow:0 -10px 50px #00000040;padding-bottom:calc(16px + var(--safe-bottom))}.fav-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 10px;position:sticky;top:0;background:var(--surface);z-index:1}.fav-header h3{margin:0;font-size:17px;font-weight:700}.fav-hint{font-size:11px;color:var(--text-muted);text-align:center;padding:0 20px 14px;line-height:1.5}.fav-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.fav-list{display:flex;flex-direction:column;gap:8px;padding:0 16px}.fav-item{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:16px;background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1.5px solid var(--line);box-shadow:0 2px 8px #0000000a;transition:all .25s ease}.fav-item:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014;border-color:#f59e0b33}[data-theme=dark] .fav-item{background:linear-gradient(145deg,#1e2232e6,#1a1d2bf2);border-color:#ffffff14;box-shadow:0 2px 10px #0003,inset 0 1px #ffffff08}[data-theme=dark] .fav-item:hover{border-color:#f59e0b40;box-shadow:0 4px 20px #0000004d}.fav-item.editing{border-color:var(--primary);box-shadow:0 0 0 2px #10b9811f}.fav-item-row1{display:flex;align-items:flex-start;gap:8px}.fav-item-name{flex:1;font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.4;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fav-item-actions{display:flex;gap:4px;flex-shrink:0;align-items:center}.fav-item-foods{display:flex;flex-direction:column;gap:2px}.fav-food-line{font-size:12px;font-weight:500;color:var(--text-secondary)}.fav-food-more{font-size:11px;font-weight:600;color:var(--text-disabled);font-style:italic}.fav-item-macros{display:flex;gap:12px;font-size:12px;font-weight:600;color:var(--text-muted)}.fav-edit-section{border-top:1px solid var(--line);padding-top:10px;animation:fade-in .2s ease}.fav-edit-items{margin-bottom:8px}.fav-edit-hint{font-size:10px;color:var(--text-disabled);text-align:center;margin-top:6px}.fav-build-btn{width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,var(--surface),var(--surface-2));border:1.5px solid rgba(245,158,11,.3);color:var(--text-secondary);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s;-webkit-tap-highlight-color:transparent}.fav-build-btn:hover{border-color:#f59e0b;color:#f59e0b}.fav-build-btn:active{transform:scale(.97)}.fav-name-input{width:100%;padding:10px 14px;border-radius:12px;border:1.5px solid var(--primary);background:var(--surface-2);font-size:16px;font-weight:600;font-family:inherit;color:var(--text-primary);outline:none;text-align:center;margin-top:8px}.mc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:3px;vertical-align:middle}.fav-item-add{display:flex;align-items:center;gap:4px;padding:8px 14px;border-radius:10px;border:none;background:var(--primary);color:#fff;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;flex-shrink:0}.fav-item-add:hover{transform:scale(1.05)}.fav-item-add:active{transform:scale(.95)}.fav-item-add:disabled{opacity:.5}.fav-item-del{width:34px;height:34px;border-radius:10px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;transition:all .15s;flex-shrink:0;font-size:14px}.fav-item-del:hover{background:var(--danger);color:#fff}.fav-item-edit{width:28px;height:28px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-size:14px;display:grid;place-items:center;transition:all .15s;flex-shrink:0}.fav-item-edit:hover{background:var(--surface)}.fav-item-items{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.fav-item-items span{font-size:10px;font-weight:600;color:var(--text-disabled);background:var(--surface);padding:2px 6px;border-radius:6px}.fav-edit-input{flex:1;padding:4px 8px;border-radius:8px;font-size:13px;border:1.5px solid var(--primary);background:var(--surface);color:var(--text-primary);font-family:inherit;outline:none}.fav-star{color:var(--text-muted)}.fav-star.active{color:#f59e0b}.fav-star svg.lucide{transition:transform .2s ease}.fav-star:active svg.lucide{transform:scale(1.3)}@media (max-width: 700px){.fav-sheet{max-height:none;height:85vh;border-radius:20px 20px 0 0}}@media (min-width: 700px){.fav-overlay{align-items:center}.fav-sheet{border-radius:20px;max-height:75vh;margin:20px}}@media (display-mode: standalone){.fav-header{padding-top:max(18px,calc(10px + var(--safe-top)))}}.pwa-standalone .fav-header{padding-top:max(18px,calc(10px + var(--safe-top)))}.reply-banner{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border-radius:14px;background:linear-gradient(135deg,#3b82f61a,#3b82f60d);border:1.5px solid rgba(59,130,246,.25);color:#3b82f6;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;animation:replyBannerIn .4s ease;transition:all .2s;-webkit-tap-highlight-color:transparent}.reply-banner:hover{background:#3b82f626;border-color:#3b82f666}.reply-banner:active{transform:scale(.98)}[data-theme=dark] .reply-banner{background:#3b82f614;border-color:#3b82f633;color:#93c5fd}@keyframes replyBannerIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.trainee-reply-dot{position:absolute;top:-3px;left:-3px;width:10px;height:10px;border-radius:50%;background:#ef4444;border:2px solid var(--surface);animation:badgePulse 2s ease infinite}.fb-list{display:flex;flex-direction:column;gap:8px}.fb-list-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.fb-card{background:var(--surface);border:1.5px solid var(--line);border-radius:14px;overflow:hidden;animation:fade-in .2s ease}.fb-card.fall{border-right:3px solid #f59e0b}.fb-card-msg{padding:14px 16px}.fb-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.fb-card.has-reply{border-color:#3b82f64d}.fb-card.has-reply .fb-reply{background:#3b82f60f}[data-theme=dark] .fb-card.has-reply{border-color:#3b82f640}.fb-card-source{font-size:10px;font-weight:700;color:var(--text-muted)}.fb-card.fall .fb-card-source{color:#f59e0b}.fb-card-body{font-size:14px;color:var(--text-primary);line-height:1.5}.fb-card-time{font-size:11px;color:var(--text-disabled);margin-top:4px}.fb-reply{padding:12px 16px;background:var(--primary-soft);border-top:1px solid var(--line)}.fb-reply-label{font-size:11px;font-weight:700;color:var(--primary);margin-bottom:2px}.fb-reply-text{font-size:13px;color:var(--text-primary);font-weight:600}.fb-waiting{padding:10px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--text-muted);font-weight:600;font-style:italic}.mp-msg.fallback{border-right:3px solid #f59e0b}.mp-msg-type-badge{font-size:10px;font-weight:700;color:#f59e0b;background:#f59e0b1f;padding:2px 8px;border-radius:8px}.mp-reply-done{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--primary-soft);border:1px solid rgba(16,185,129,.15)}.mp-reply-label{font-size:10px;font-weight:700;color:var(--primary);margin-bottom:2px}.mp-reply-text{font-size:13px;color:var(--ink);font-weight:600}.mp-reply-btn{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:6px 12px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--primary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.mp-reply-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.mp-reply-form{margin-top:10px;display:flex;flex-direction:column;gap:8px;animation:ncFadeIn .2s ease}.mp-reply-chips{display:flex;flex-wrap:wrap;gap:6px}.mp-reply-chip{padding:6px 12px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;-webkit-tap-highlight-color:transparent}.mp-reply-chip:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.03)}.mp-reply-chip:active{transform:scale(.95)}.mp-reply-free{display:flex;align-items:center;gap:6px}.mp-reply-input{flex:1;padding:8px 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);font-size:13px;font-family:inherit;color:var(--ink);outline:none;transition:border-color .15s}.mp-reply-input:focus{border-color:var(--primary)}.mp-reply-count{font-size:10px;color:var(--muted);font-weight:600;white-space:nowrap}.mp-reply-send{width:32px;height:32px;border-radius:8px;background:var(--primary);color:#fff;border:none;display:grid;place-items:center;cursor:pointer;transition:all .15s;flex-shrink:0}.mp-reply-send:hover{transform:scale(1.08)}.mp-reply-send:disabled{opacity:.4;cursor:default;transform:none}.nav-badge{background:#ef4444;color:#fff;font-size:10px;font-weight:800;padding:1px 6px;border-radius:10px;margin-left:auto;margin-right:28px;animation:badgePulse 2s ease infinite}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.7}}.add-mode-tabs{display:flex;gap:6px;margin-bottom:14px}.add-mode-tab{flex:1;padding:10px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;-webkit-tap-highlight-color:transparent}.add-mode-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.add-mode-tab:active{transform:scale(.97)}.manual-add{padding:4px 0}.manual-macros{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:12px}.manual-macros .stepper{max-width:100%}.manual-macros .field>span{font-size:12px}.am-amount .manual-macros{grid-template-columns:1fr}svg.lucide{flex-shrink:0}.macro-icon{vertical-align:-2px}.ic-protein{color:#10b981}.ic-carbs{color:#3b82f6}.ic-fat{color:#f59e0b}.ic-cal{color:#ec4899}*:focus{outline:none}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.stepper-btn:focus-visible{outline-offset:0}.tracking-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.tracking-btn.active:focus-visible{outline-color:#fff}.icon-btn:focus-visible{outline-offset:1px}.btn-primary:focus-visible{outline-color:#fff;outline-offset:2px}.a11y-toggle:focus-visible{outline-color:#3b82f6}.footer-link:focus-visible{outline-offset:1px}.th-btn:focus-visible{outline-offset:2px}.chip:focus-visible{outline-offset:1px}.qa-food:focus-visible,.food-result:focus-visible{outline-offset:-2px;border-radius:12px}.add-mode-tab:focus-visible,.qa-tab:focus-visible{outline-offset:-2px}.nc-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;padding-inline:var(--safe-left) var(--safe-right);padding-bottom:var(--safe-bottom);animation:ncSlideIn .3s cubic-bezier(.4,0,.2,1);overscroll-behavior:none;touch-action:pan-y}@keyframes ncSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.nc-head{display:flex;align-items:center;gap:12px;padding:calc(14px + var(--safe-top)) 20px 14px;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0}.nc-head .back-btn{background:var(--primary);color:#fff;border-color:var(--primary);transform:none!important;box-shadow:none}.nc-head .back-btn:hover{transform:none!important;background:#059669;color:#fff;border-color:#059669;box-shadow:none}.nc-head .back-btn:active{transform:scale(.95)!important}.nc-head .back-btn svg{transform:none!important}.nc-title{margin:0;font-size:17px;font-weight:700}.nc-body{flex:1;overflow-y:auto;padding:20px;padding-bottom:calc(20px + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.nc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:700px;margin:0 auto}.nc-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:28px 24px;min-height:110px;background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1.5px solid var(--line);box-shadow:var(--shadow-sm);border-radius:18px;cursor:pointer;text-align:right;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nc-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 50%,var(--surface-2) 100%);opacity:0;transition:opacity .25s}.nc-card:hover:before{opacity:1}.nc-card:hover{transform:scale(1.02);border-color:var(--primary);box-shadow:0 8px 24px #10b9811f}.nc-card:active{transform:scale(.97)}.nc-card-glow{position:absolute;top:-30px;left:-30px;width:90px;height:90px;border-radius:50%;opacity:.1;filter:blur(25px);pointer-events:none}.nc-card-icon{font-size:42px;flex-shrink:0;position:relative;z-index:1;opacity:.9}.nc-card-text{flex:1;min-width:0;position:relative;z-index:1}.nc-card-label{font-size:18px;font-weight:800;color:var(--text-primary)}.nc-card-desc{font-size:12px;color:var(--text-muted);margin-top:6px;line-height:1.5}.nc-card-arrow{color:var(--text-disabled);flex-shrink:0;position:relative;z-index:1;transition:transform .2s}.nc-card:hover .nc-card-arrow{transform:translate(-4px);color:var(--primary)}.nc-grid .nc-card:last-child:nth-child(odd){grid-column:1 / -1}.nc-detail{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.nc-free-note{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:#042f2e;color:#5eead4;font-size:13px;font-weight:600;border:1px solid rgba(94,234,212,.15)}[data-theme=light] .nc-free-note{background:#f0fdfa;color:#0f766e;border-color:#0f766e26}.nc-search-wrap{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:0 12px;transition:border-color .2s}.nc-search-wrap:focus-within{border-color:var(--primary)}.nc-search-wrap svg{color:var(--muted);flex-shrink:0}.nc-search{flex:1;border:none!important;background:transparent!important;padding:10px 4px!important;font-size:14px!important;outline:none!important;font-family:inherit!important;color:var(--text-primary)!important}.nc-search-clear{width:22px;height:22px;border-radius:6px;border:none;background:var(--line);color:var(--muted);cursor:pointer;display:grid;place-items:center}.nc-empty{text-align:center;padding:40px 20px;color:var(--text-muted);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:6px}.nc-empty-icon{font-size:36px;margin-bottom:4px;opacity:.5}.nc-empty-title{font-size:15px;font-weight:700;color:var(--text-primary)}.nc-empty-sub{font-size:13px;color:var(--text-muted)}.nc-food-list{display:flex;flex-direction:column;gap:8px}.nc-food{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);transition:all .2s cubic-bezier(.4,0,.2,1);animation:ncFadeIn .3s ease}@keyframes ncFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.nc-food.added{border-color:var(--primary);background:var(--primary-soft)}.nc-food-img{width:52px;height:52px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font-size:28px;flex-shrink:0;box-shadow:0 2px 8px #0000000f}.nc-food-info{flex:1;min-width:0}.nc-food-name{font-size:14px;font-weight:700;color:var(--text-primary)}.nc-food-serving{font-size:11px;color:var(--text-muted);margin-top:2px}.nc-food-macros{display:flex;gap:8px;margin-top:6px;font-size:11px;font-weight:600}.nc-food-macros .mp{color:#10b981}.nc-food-macros .mc{color:#3b82f6}.nc-food-macros .mf{color:#f59e0b}.nc-food-macros .mk{color:#ec4899}.nc-free-badge{display:inline-block;margin-top:6px;font-size:11px;font-weight:700;color:#14b8a6;background:#14b8a61a;padding:3px 10px;border-radius:8px}.nc-add-btn{width:40px;height:40px;border-radius:12px;background:var(--primary);color:#fff;border:none;display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:all .2s cubic-bezier(.4,0,.2,1)}.nc-add-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #10b9814d}.nc-add-btn:active{transform:scale(.9)}.nc-add-btn:disabled{background:var(--primary);opacity:.7}.nc-meal-list{display:flex;flex-direction:column;gap:10px}.nc-meal-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);cursor:pointer;text-align:right;transition:all .2s cubic-bezier(.4,0,.2,1);animation:ncFadeIn .3s ease}.nc-meal-card:hover{border-color:#f59e0b;box-shadow:0 4px 16px #f59e0b1f;transform:translateY(-2px)}.nc-meal-card:active{transform:scale(.98)}.nc-meal-top{display:flex;align-items:center;justify-content:space-between}.nc-meal-name{font-size:15px;font-weight:700;color:var(--text-primary)}.nc-meal-count{font-size:11px;color:var(--text-muted);font-weight:600;background:var(--surface-2);padding:3px 8px;border-radius:8px}.nc-meal-desc{font-size:12px;color:var(--text-muted);line-height:1.4}.nc-meal-macros{display:flex;gap:10px;font-size:12px;font-weight:600}.nc-meal-macros .mp{color:#10b981}.nc-meal-macros .mc{color:#3b82f6}.nc-meal-macros .mf{color:#f59e0b}.nc-meal-macros .mk{color:#ec4899}.nc-customize{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.nc-cust-desc{font-size:13px;color:var(--text-muted);text-align:center;padding:0 10px}.nc-cust-items{display:flex;flex-direction:column;gap:6px}.nc-cust-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);transition:all .2s;animation:ncFadeIn .25s ease}.nc-cust-item.disabled{opacity:.4}.nc-cust-toggle{width:32px;height:32px;border-radius:8px;border:none;display:grid;place-items:center;cursor:pointer;background:var(--surface-2);color:var(--muted);transition:all .2s}.nc-cust-toggle.on{background:var(--primary);color:#fff}.nc-cust-info{flex:1;min-width:0}.nc-cust-name{font-size:13px;font-weight:700;color:var(--text-primary)}.nc-cust-macros{font-size:11px;color:var(--text-muted);margin-top:2px;display:flex;gap:6px;align-items:center}.nc-cust-qty{display:flex;align-items:center;gap:4px;flex-shrink:0}.nc-cust-qty button{width:30px;height:30px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:all .15s;flex-shrink:0}.nc-cust-qty button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.nc-cust-qty span{font-size:13px;font-weight:700;min-width:42px;text-align:center;white-space:nowrap}.nc-cust-footer{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:14px 0 calc(14px + var(--safe-bottom));display:flex;flex-direction:column;gap:10px}.nc-cust-totals{display:flex;justify-content:center;gap:16px;font-size:13px;color:var(--text-secondary)}.nc-cust-totals b{color:var(--text-primary);font-size:16px}.nc-cust-add{width:100%;padding:14px}.nc-cart-bar{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#059669,#10b981);color:#fff;padding:16px max(20px,var(--safe-right)) calc(16px + var(--safe-bottom)) max(20px,var(--safe-left));display:flex;align-items:center;gap:10px;cursor:pointer;z-index:100;animation:ncCartSlide .3s ease}@keyframes ncCartSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.nc-cart-bar:active{opacity:.9}.nc-cart-bar-right{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.nc-cart-count{background:#ffffff40;font-size:14px;font-weight:800;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.nc-cart-bar-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nc-cart-names{font-size:13px;font-weight:600;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-cart-bar-macros{font-size:12px;font-weight:700;opacity:.8;white-space:nowrap}.nc-cart-bar-action{font-size:15px;font-weight:800;white-space:nowrap;background:#fff3;padding:8px 18px;border-radius:10px;flex-shrink:0}.nc-cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;animation:ncGuideFade .2s ease}.nc-cart-sheet{background:var(--surface);width:100%;max-width:500px;border-radius:20px 20px 0 0;max-height:85vh;max-height:min(85dvh,calc(100dvh - var(--safe-top) - 16px));overflow-y:auto;animation:ncCartSheetIn .3s cubic-bezier(.4,0,.2,1)}@keyframes ncCartSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}.nc-cart-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);border-radius:20px 20px 0 0;z-index:1}.nc-cart-head h3{margin:0;font-size:16px;font-weight:700}.nc-cart-body{padding:16px 20px calc(16px + var(--safe-bottom))}.nc-cart-items{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.nc-cart-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line)}.nc-cart-item-name{flex:1;font-size:13px;font-weight:600;min-width:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.nc-cart-item-macros{font-size:11px;color:var(--text-muted);font-weight:600}.nc-cart-item-remove{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:all .15s;flex-shrink:0}.nc-cart-item-remove:hover{background:var(--danger);color:#fff}.nc-cart-totals{display:flex;justify-content:center;gap:16px;font-size:13px;color:var(--muted);padding:10px 0;border-top:1px solid var(--line)}.nc-cart-totals b{color:var(--ink);font-size:16px}.nc-guide-btn{display:flex;align-items:center;gap:8px;margin:0 auto 14px;padding:10px 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.nc-guide-btn svg{color:var(--primary)}.nc-guide-btn:hover{border-color:var(--primary);color:var(--primary);box-shadow:0 4px 12px #10b9811f}.nc-guide-btn:active{transform:scale(.96)}.nc-guide-btn.seen{opacity:.6;border-style:dashed}.nc-guide-btn.seen:hover{opacity:1}.nc-guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--safe-top)) calc(20px + var(--safe-right)) calc(20px + var(--safe-bottom)) calc(20px + var(--safe-left));animation:ncGuideFade .2s ease}@keyframes ncGuideFade{0%{opacity:0}to{opacity:1}}.nc-guide-overlay.closing{animation:ncGuideFadeOut .2s ease forwards}@keyframes ncGuideFadeOut{0%{opacity:1}to{opacity:0}}.nc-guide-modal{background:var(--surface);border-radius:20px;width:100%;max-width:440px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:ncGuideSlide .3s cubic-bezier(.4,0,.2,1)}@keyframes ncGuideSlide{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.nc-guide-modal.closing{animation:ncGuideSlideOut .2s ease forwards}@keyframes ncGuideSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.96)}}.nc-guide-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);border-radius:20px 20px 0 0;z-index:1}.nc-guide-head h3{margin:0;font-size:17px;font-weight:700}.nc-guide-intro{text-align:center;font-size:13px;color:var(--muted);padding:12px 20px 0;font-weight:500}.nc-guide-body{padding:20px}.nc-guide-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.nc-guide-list li{padding:14px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.nc-guide-list li strong{display:block;font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}.nc-guide-list li p{margin:0;font-size:13px;color:var(--muted);line-height:1.6}.nc-builder{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding-bottom:140px}.nc-builder-hint{text-align:center;font-size:13px;color:var(--muted);font-weight:600;padding:4px 0}.nc-section{display:flex;flex-direction:column;gap:10px}.nc-section-head{display:flex;align-items:center;gap:8px}.nc-section-label{font-size:15px;font-weight:800}.nc-section-opt{font-size:11px;color:var(--muted);font-weight:600;background:var(--surface-2);padding:2px 8px;border-radius:6px}.nc-chips{display:flex;flex-wrap:wrap;gap:8px}.nc-chip{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);cursor:pointer;font-family:inherit;text-align:right;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;position:relative}.nc-chip:hover{border-color:var(--muted);transform:translateY(-1px)}.nc-chip:active{transform:scale(.96)}.nc-chip.selected{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.nc-chip-img{font-size:22px;flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;overflow:hidden;border-radius:6px}.nc-chip-name{font-size:13px;font-weight:700;color:var(--text-primary)}.nc-chip-serving{font-size:10px;color:var(--muted)}.nc-chip-check{position:absolute;top:6px;left:6px}.nc-tabs-bar{display:flex;gap:6px;overflow-x:auto;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-shrink:0}.nc-tabs-bar::-webkit-scrollbar{display:none}.nc-tab{flex-shrink:0;padding:8px 16px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface-2);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;gap:5px;-webkit-tap-highlight-color:transparent;white-space:nowrap}.nc-tab svg.lucide{width:15px;height:15px;flex-shrink:0}.nc-tab:hover{border-color:var(--muted)}.nc-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 2px 8px #10b98140}.nc-tab:active{transform:scale(.96)}@media (max-width: 500px){.nc-tabs-bar{padding:8px 14px;gap:5px}.nc-tab{padding:7px 12px;font-size:12px}}.nc-grams{display:flex;align-items:center;gap:6px;flex-wrap:wrap;animation:ncFadeIn .2s ease}.nc-grams-label{font-size:12px;font-weight:700;color:var(--muted);margin-left:4px}.nc-gram{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 12px;border-radius:10px;background:var(--surface);border:1.5px solid var(--line);cursor:pointer;font-family:inherit;transition:all .15s cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent}.nc-gram:hover{border-color:var(--muted);transform:translateY(-1px)}.nc-gram:active{transform:scale(.94)}.nc-gram.active{transform:translateY(-1px);box-shadow:0 3px 10px #0000001f}.nc-gram-val{font-size:13px;font-weight:800;color:var(--text-primary)}.nc-gram.active .nc-gram-val{color:#fff}.nc-gram-macro{font-size:9px;font-weight:600;color:var(--text-muted)}.nc-gram.active .nc-gram-macro{color:#ffffffbf}@media (max-width: 500px){.nc-gram{padding:5px 10px}.nc-gram-val{font-size:12px}}.nc-builder-footer{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:12px max(20px,var(--safe-right)) calc(12px + var(--safe-bottom)) max(20px,var(--safe-left));display:flex;flex-direction:column;gap:8px;z-index:10;animation:ncFadeIn .2s ease}.nc-builder-totals{display:flex;justify-content:center;gap:16px;font-size:13px;color:var(--text-secondary)}.nc-builder-totals b{color:var(--text-primary);font-size:16px}.nc-builder-add{width:100%;padding:14px}@media (max-width: 500px){.nc-chips{gap:6px}.nc-chip{padding:8px 11px;border-radius:10px}.nc-chip-img{font-size:20px}.nc-chip-name{font-size:12px}.nc-builder-footer{padding:10px 14px calc(10px + var(--safe-bottom))}}.cta-nutrition{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:16px;background:linear-gradient(135deg,#1a1d2e,#0f172a);border:1.5px solid rgba(245,158,11,.25);border-radius:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-family:inherit;-webkit-tap-highlight-color:transparent}[data-theme=light] .cta-nutrition{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#f59e0b4d}.cta-nutrition:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f59e0b33;border-color:#f59e0b}.cta-nutrition:active{transform:scale(.98)}.cta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cta-secondary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border-radius:14px;background:var(--surface);border:1.5px solid var(--line);font-size:12px;font-weight:700;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent}.cta-emoji{font-size:18px;line-height:1}.cta-secondary:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow)}.cta-secondary:active{transform:scale(.97)}@media (max-width: 380px){.cta-row{grid-template-columns:1fr 1fr 1fr;gap:6px}.cta-secondary{padding:12px 6px;font-size:11px}}.cta-nutrition .cta-main{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#fbbf24}[data-theme=light] .cta-nutrition .cta-main{color:#b45309}.cta-nutrition .cta-sub{font-size:11px;color:#fbbf2499}[data-theme=light] .cta-nutrition .cta-sub{color:#92400e;opacity:.7}@media (max-width: 500px){.nc-grid{grid-template-columns:1fr}.nc-body{padding:14px}.nc-card{padding:22px 18px;min-height:90px}.nc-card-icon{font-size:36px}.nc-card-label{font-size:16px}}.a11y-panel{position:fixed;bottom:calc(70px + var(--safe-bottom));right:calc(16px + var(--safe-right));z-index:1000;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:16px;width:240px;box-shadow:0 8px 32px #0003;animation:a11ySlide .25s ease}@keyframes a11ySlide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.a11y-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.a11y-header h4{margin:0;font-size:14px;font-weight:700;display:flex;align-items:center;gap:6px;color:#3b82f6}.a11y-options{display:flex;flex-direction:column;gap:8px}.a11y-option{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:var(--text)}.a11y-font-controls{display:flex;align-items:center;gap:6px}.a11y-font-controls button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;display:grid;place-items:center}.a11y-font-controls button:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.a11y-font-controls button:disabled{opacity:.3;cursor:not-allowed}.a11y-font-controls span{font-size:12px;min-width:30px;text-align:center;color:var(--muted)}.a11y-option-btn{padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;text-align:right;font-family:inherit}.a11y-option-btn:hover{border-color:#3b82f6;color:#3b82f6}.a11y-option-btn.active{background:#3b82f61f;border-color:#3b82f6;color:#3b82f6}.a11y-reset{padding:6px;border:none;background:none;color:var(--muted);font-size:11px;cursor:pointer;text-align:center;font-family:inherit;transition:color .15s}.a11y-reset:hover{color:var(--text)}.a11y-font-s p,.a11y-font-s span,.a11y-font-s div,.a11y-font-s li,.a11y-font-s label,.a11y-font-s input,.a11y-font-s button,.a11y-font-m p,.a11y-font-m span,.a11y-font-m div,.a11y-font-m li,.a11y-font-m label{font-size:calc(1em + 1px)!important}.a11y-font-l p,.a11y-font-l span,.a11y-font-l div,.a11y-font-l li,.a11y-font-l label{font-size:calc(1em + 2px)!important}.a11y-font-xl p,.a11y-font-xl span,.a11y-font-xl div,.a11y-font-xl li,.a11y-font-xl label{font-size:calc(1em + 3px)!important}.a11y-contrast{filter:contrast(1.4)}.a11y-links a,.a11y-links button{text-decoration:underline!important}.a11y-spacing p,.a11y-spacing span,.a11y-spacing div,.a11y-spacing li,.a11y-spacing label{line-height:1.8!important;letter-spacing:.3px!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d4d8e8;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#b9bfd4}.cc-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:16px calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));pointer-events:none;animation:ccSlideUp .4s ease}@keyframes ccSlideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cc-banner{max-width:420px;margin:0 auto;background:linear-gradient(145deg,var(--surface) 0%,var(--surface-2) 100%);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:0 -4px 24px #0000001f;pointer-events:auto}[data-theme=dark] .cc-banner{background:linear-gradient(145deg,#141820,#1a1e2c);border-color:#ffffff0f;box-shadow:0 -4px 24px #00000059}.cc-text{margin-bottom:10px}.cc-text strong{font-size:13px;display:flex;align-items:center;gap:6px;margin-bottom:4px;color:var(--text-primary)}.cc-text p{font-size:11px;color:var(--text-muted);line-height:1.5;margin:0}.cc-actions{display:flex;gap:6px}.cc-btn{padding:8px 14px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;border:none;-webkit-tap-highlight-color:transparent}.cc-btn-primary{background:var(--primary);color:#fff}.cc-btn-primary:hover{filter:brightness(1.1)}.cc-btn-ghost{background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--line)}.cc-btn-ghost:hover{border-color:var(--muted)}.cc-btn-link{background:none;color:var(--text-muted);text-decoration:underline;padding:8px 6px;font-size:11px}.cc-btn-link:hover{color:var(--text-primary)}.cc-prefs{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.cc-pref-item{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-secondary);cursor:pointer}.cc-pref-item input[type=checkbox]{margin-top:2px;accent-color:var(--primary);width:14px;height:14px}.cc-pref-item b{color:var(--text-primary)}.cc-policy-link{margin-top:8px;text-align:center}.cc-policy-link a{font-size:10px;color:var(--text-disabled);text-decoration:underline}.cc-policy-link a:hover{color:var(--text-muted)}@media (max-width: 500px){.cc-overlay{padding:8px}.cc-banner{padding:12px 14px;border-radius:14px}.cc-btn{padding:7px 12px;font-size:11px;flex:1;text-align:center}}.cta-fav-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}.cta-fav-row .cta-add-meal{padding:10px 8px}.cta-fav-row .cta-add-meal .cta-main{font-size:14px}.cta-fav-row .cta-sub{font-size:10px}.cta-fav-row .fav-btn{height:100%;padding:10px 8px;font-size:14px}.status-tracking-row{display:flex;gap:10px;margin-top:12px;align-items:stretch}.status-tracking-row .macro-status-list{flex:1;margin-top:0;min-width:0}.tracking-col{display:flex;flex-direction:column;gap:8px;width:148px;flex-shrink:0}.tracking-col .tk-card{padding:8px 10px}.tracking-col .tk-title{font-size:11px}.tracking-col .tk-big{font-size:16px}.tracking-col .tk-card{border:1.5px solid var(--tk-accent, var(--line))}.tracking-col .tk-title{font-weight:800;font-size:12px;color:var(--tk-accent, var(--text-primary))}.tracking-col .tk-value-closed{color:var(--text-primary);font-weight:700}.tracking-col .tk-empty{color:var(--text-secondary);font-style:normal;font-weight:600}.macro-status-row.missing .macro-status-text,.macro-status-row.done .macro-status-text{font-weight:800;color:color-mix(in srgb,var(--ms-color) 60%,#1f2937)}[data-theme=dark] .macro-status-row.missing .macro-status-text,[data-theme=dark] .macro-status-row.done .macro-status-text{color:color-mix(in srgb,var(--ms-color) 72%,#fff)}.cta-add-meal.dark-text,.cta-add-meal.dark-text .cta-main{color:#1e3a8a}.cta-add-meal.dark-text .cta-sub{color:#1e3a8a;opacity:.75}.panel-head .fav-btn{width:auto;padding:9px 14px;font-size:13px;animation:none}.am-featured-section{margin-bottom:14px}.am-featured-title{font-size:13px;font-weight:800;margin-bottom:6px;display:flex;align-items:center;gap:6px}.am-feat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.am-feat-card{position:relative;aspect-ratio:3 / 4;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);cursor:pointer;font-family:inherit;transition:all .15s;-webkit-tap-highlight-color:transparent}.am-feat-card:hover{border-color:var(--primary)}.am-feat-card:active{transform:scale(.97)}.am-feat-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:0}.am-feat-img-ph{display:grid;place-items:center;font-size:22px;font-weight:800}.am-feat-name{position:absolute;left:0;right:0;bottom:0;padding:16px 6px 7px;color:#fff;font-weight:800;font-size:13px;text-align:center;line-height:1.15;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,.35) 55%,transparent);text-shadow:0 1px 3px rgba(0,0,0,.7)}.mi-edit-item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;margin-bottom:6px;background:var(--surface)}.mi-edit-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.mi-edit-head .mi-name{font-size:13px;font-weight:700;color:var(--text-primary)}.mi-edit-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.mi-edit-field{display:flex;flex-direction:column;gap:2px}.mi-edit-field span{font-size:12.5px;font-weight:700;color:var(--text-secondary);text-align:center}.mi-edit-field input{width:100%;text-align:center;padding:7px 4px;border:1px solid var(--line);border-radius:8px;font-size:14px;font-weight:700;background:var(--surface-2);color:var(--text)}.mi-edit-field input:focus{border-color:var(--primary);outline:none}.mi-edit-pencil{display:grid;place-items:center;width:24px;height:24px;border:none;background:var(--primary-soft, rgba(16,185,129,.12));color:var(--primary);border-radius:7px;cursor:pointer;flex-shrink:0}.mi-edit-pencil:active{transform:scale(.9)}.mm-p{color:#10b981}.mm-c{color:#3b82f6}.mm-f{color:#f59e0b}.eh-item-grams{color:var(--text-secondary);font-size:11px;font-weight:700;flex-shrink:0}.eh-item-macros .mm-p,.eh-item-macros .mm-c,.eh-item-macros .mm-f,.eh-meal-sum .mm-p,.eh-meal-sum .mm-c,.eh-meal-sum .mm-f{font-weight:800}.eh-edit-btn{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-bottom:4px;padding:4px 10px;border-radius:8px;cursor:pointer;border:1px solid rgba(16,185,129,.35);background:#10b9811a;color:var(--primary);font-size:11px;font-weight:800;font-family:inherit}.eh-edit-btn:active{transform:scale(.96)}.am-day-preview.compact .am-preview-rings{gap:6px}.am-day-preview.compact .macro-ring-svg-wrap{max-width:84px}.am-day-preview.compact .macro-ring-val{font-size:19px;letter-spacing:-1px}.am-day-preview.compact .macro-ring-of{font-size:9px}.am-day-preview.compact .macro-ring-label{font-size:11px}.am-day-preview.compact .macro-ring-status{font-size:10px}.modal .am-topbar{position:sticky;top:0;z-index:6;background:var(--surface);padding-bottom:8px;margin-bottom:8px;box-shadow:0 8px 8px -8px #00000026}.sub-card{border-radius:16px;padding:18px;margin:14px 0;display:flex;flex-direction:column;gap:14px;border:1px solid transparent}.sub-card.sub-active{background:#eefaf3;border-color:#b9e6cd}.sub-card.sub-frozen{background:#fdeeee;border-color:#f2c2c2}.sub-card.sub-none{background:var(--surface-2, #f6f7fb);border-color:var(--line, #e6e9f2)}.sub-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sub-head h3{margin:0;font-size:16px}.sub-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:700}.sub-pill.active{background:#1f9d55;color:#fff}.sub-pill.frozen{background:#d13b3b;color:#fff}.sub-pill.none{background:#e6e9f2;color:#5a6076}.sub-sub{margin:0;font-size:13px;color:var(--muted, #6b7280)}.sub-window{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border-radius:12px;padding:12px 14px;font-size:14px}.sub-window .muted{font-size:11px;color:#8a90a2;margin-inline-start:4px}.sub-dash{color:#b9bfd0}.sub-frozen-since{margin:0;font-size:13px;color:#b02a2a}.sub-error{margin:0;font-size:13px;color:#c0392b}.sub-dates-form{display:flex;gap:12px;flex-wrap:wrap}.sub-dates-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#6b7280}.sub-dates-form input{padding:9px 11px;border-radius:10px;border:1px solid var(--line, #e6e9f2);background:#fff;font:inherit}.sub-actions{display:flex;gap:10px;flex-wrap:wrap}.sub-actions button{display:inline-flex;align-items:center;gap:6px}.date-field{display:flex;flex-direction:column;gap:4px}.date-field span{font-size:13px;color:var(--muted, #64748b)}.photo-picker button{padding:0;overflow:hidden;width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center}.photo-picker-preview{width:100%;height:100%;object-fit:cover}.mp-week-nav{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;margin-bottom:8px}.field.fs-invalid input,.field.fs-invalid select,.fs-invalid-box{border-color:var(--danger)!important;box-shadow:0 0 0 1px var(--danger)}.field.fs-invalid>span:first-child{color:var(--danger)}.fs-error{display:block;color:var(--danger);font-size:12px;font-weight:600;margin-top:2px;text-transform:none;letter-spacing:0}.fs-hint{display:block;color:var(--text-muted);font-size:11px;margin-top:2px;font-weight:500;text-transform:none;letter-spacing:0}.fs-suggest-btn{background:none;border:0;padding:0;color:var(--primary);font-size:11px;cursor:pointer;text-decoration:underline}
