:root{
  --green:#153f34;--green-2:#235b4b;--mint:#edf5f1;--lime:#cae75f;--ink:#121a17;--muted:#68766f;--line:#d7e1dd;--bg:#f4f6f5;--card:#fff;--danger:#a72f3b;
  --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);
  --header:88px;--nav:76px;--shadow:0 12px 34px rgba(15,55,43,.08);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color-scheme:light;
}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;background:var(--bg);color:var(--ink);overflow:hidden;-webkit-text-size-adjust:100%}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.muted{color:var(--muted)}
.app-shell{position:fixed;inset:0;width:100%;height:100%;height:100dvh;display:grid;grid-template-rows:calc(var(--header) + var(--safe-top)) minmax(0,1fr) calc(var(--nav) + var(--safe-bottom));overflow:hidden;background:var(--bg)}
.app-header{grid-row:1;min-width:0;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:calc(10px + var(--safe-top)) max(16px,var(--safe-right)) 11px max(16px,var(--safe-left));background:#fff;border-bottom:1px solid var(--line);z-index:5}.brand-block{min-width:0;display:flex;align-items:center;gap:12px}.brand-logo{width:54px;height:42px;object-fit:contain;flex:0 0 auto}.brand-text{min-width:0;display:grid}.brand-text strong{font-size:clamp(22px,4vw,30px);line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text span{font-size:13px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;gap:7px;flex:0 0 auto}.icon-button{position:relative;width:46px;height:46px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--green);display:grid;place-items:center;font-size:23px}.notification-badge{position:absolute;right:-4px;top:-5px;min-width:21px;height:21px;border-radius:999px;background:#e83f4b;color:#fff;border:2px solid #fff;font-size:11px;font-weight:900;display:grid;place-items:center;padding:0 4px}
.app-main{grid-row:2;min-height:0;min-width:0;overflow:hidden;position:relative}.page{position:absolute;inset:0;display:none;min-height:0;min-width:0;overflow:hidden}.page.is-active{display:block}.page-scroll{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:22px max(16px,var(--safe-right)) 34px max(16px,var(--safe-left));scrollbar-gutter:stable}.page-scroll>*{width:min(100%,1120px);margin-left:auto;margin-right:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-head.compact{margin-top:6px}.page-head h1{font-size:clamp(31px,6vw,48px);line-height:1.03;margin:4px 0 7px}.page-head p{margin:0;color:var(--muted);font-size:16px;line-height:1.45;max-width:720px}.eyebrow{color:var(--green-2);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.14em}.focus-chip{padding:8px 12px;border-radius:999px;background:var(--mint);color:var(--green);font-weight:800;white-space:nowrap}
.page-chat{background:#f7f8f7;display:none!important}.page-chat.is-active{display:grid!important;grid-template-rows:minmax(0,1fr) auto}.chat-scroll{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding:24px max(18px,var(--safe-right)) 26px max(18px,var(--safe-left));scrollbar-gutter:stable}.chat-inner{width:min(100%,900px);margin:0 auto}.message{font-size:clamp(17px,2.3vw,20px);line-height:1.55;max-width:min(80%,730px);margin:0 0 23px;white-space:pre-wrap;overflow-wrap:anywhere}.message.user{margin-left:auto;background:#111513;color:#fff;border-radius:22px 22px 5px 22px;padding:13px 18px}.message.assistant{margin-right:auto}.message.system{margin:10px auto;max-width:85%;font-size:14px;text-align:center;color:var(--muted);background:#eef3f1;border-radius:14px;padding:10px 13px}.message.pending{opacity:.6}.chat-composer{display:grid;grid-template-columns:44px 44px minmax(0,1fr) 48px;gap:5px;align-items:end;background:#fff;border-top:1px solid var(--line);padding:10px max(12px,var(--safe-right)) 10px max(12px,var(--safe-left));z-index:2}.chat-composer textarea{width:100%;min-height:48px;max-height:132px;resize:none;border:0;background:transparent;color:var(--ink);padding:12px 9px;line-height:1.35;font-size:18px;outline:none}.composer-button,.send-button{width:44px;height:48px;border:0;border-radius:14px;background:transparent;color:var(--muted);font-size:22px}.send-button{width:48px;background:#d4d8d6;color:#fff;font-size:25px}.send-button.ready{background:var(--green)}
.bottom-nav{grid-row:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:5px max(6px,var(--safe-right)) calc(5px + var(--safe-bottom)) max(6px,var(--safe-left));background:#fff;border-top:1px solid var(--line);z-index:5}.bottom-nav button{border:0;background:transparent;color:var(--muted);min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;border-radius:14px}.bottom-nav button>span{font-size:22px;line-height:1}.bottom-nav button strong{font-size:12px;line-height:1.1;white-space:nowrap}.bottom-nav button.is-active{color:var(--green);background:#f5f9f7}
.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:16px}.summary-card strong{display:block;font-size:28px;line-height:1}.summary-card span{display:block;margin-top:7px;color:var(--muted);font-size:13px}.feature-grid{display:grid;grid-template-columns:1fr;gap:12px}.feature-card{width:100%;border:1px solid var(--line);background:#fff;border-radius:21px;padding:17px 18px;text-align:left;color:var(--ink);display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:92px;box-shadow:0 4px 18px rgba(20,55,44,.03)}.feature-icon{width:46px;height:46px;border-radius:14px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:23px}.feature-copy strong{display:block;font-size:18px}.feature-copy span{display:block;color:var(--muted);font-size:14px;line-height:1.35;margin-top:3px}.feature-arrow{color:var(--green);font-size:22px}
.search-panel{background:#fff;border:1px solid var(--line);border-radius:21px;padding:16px;margin-bottom:14px}.search-panel label{display:grid;gap:7px;font-weight:800}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}.search-panel input,.form-stack input,.form-stack textarea{width:100%;min-height:49px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:11px 13px;color:var(--ink)}.search-row button,.primary-button{border:0;border-radius:13px;background:var(--green);color:#fff;font-weight:800;padding:11px 16px;min-height:48px}.focus-state{margin-bottom:14px}.focus-state:empty{display:none}.card-list,.feature-content{display:grid;gap:12px}.data-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:17px}.data-card.is-clickable{cursor:pointer}.data-card h2,.data-card h3{margin:0 0 5px;font-size:19px}.data-card p{margin:0;color:var(--muted);line-height:1.45}.data-card .meta-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.pill{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--mint);color:var(--green);font-size:12px;font-weight:800}.pill.warn{background:#fff3cf;color:#775c00}.pill.danger{background:#fff0f1;color:#962c36}.data-grid{display:grid;grid-template-columns:1fr;gap:12px}.detail-list{display:grid;grid-template-columns:minmax(120px,.7fr) 1.3fr;gap:7px 13px;margin:12px 0 0}.detail-list dt{font-weight:750;color:var(--muted)}.detail-list dd{margin:0;overflow-wrap:anywhere}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.toolbar button,.toolbar a,.secondary-button,.text-button{min-height:44px;border-radius:12px;padding:9px 13px;font-weight:800;text-decoration:none}.toolbar button,.toolbar a{border:1px solid var(--line);background:#fff;color:var(--green)}.toolbar .primary,.secondary-button.primary{background:var(--green);color:#fff;border-color:var(--green)}.back-button{border:0;background:transparent;color:var(--green);font-weight:850;padding:8px 0;margin-bottom:5px}.status-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;color:var(--muted);margin-bottom:12px}.status-card.error{background:#fff8f8;border-color:#efc4c9;color:#8a2730}.status-card.success{background:#f4faf6;border-color:#cfe6d7;color:#225844}
.thread-list{display:grid;gap:10px}.thread-row{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;text-align:left;color:var(--ink)}.thread-row-head{display:flex;justify-content:space-between;gap:12px}.thread-row strong{font-size:17px}.thread-row p{margin:7px 0 0;color:var(--muted);line-height:1.4}.thread-detail{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;height:calc(100dvh - var(--header) - var(--nav) - var(--safe-top) - var(--safe-bottom) - 110px)}.thread-head{padding-bottom:11px;border-bottom:1px solid var(--line)}.thread-messages{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 0}.coach-message{max-width:88%;padding:11px 14px;border-radius:17px;background:#fff;border:1px solid var(--line);margin-bottom:9px;white-space:pre-wrap}.coach-message.staff{margin-left:auto;background:#17201d;color:#fff;border-color:#17201d}.coach-message.system{max-width:100%;background:#fff6cf;border-color:#e8cf67;color:#2e2b1e}.coach-message small{display:block;opacity:.65;margin-bottom:3px}.thread-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.thread-compose textarea{min-height:48px;max-height:110px;resize:vertical;border:1px solid var(--line);border-radius:13px;padding:10px}.thread-compose button{border:0;background:var(--green);color:#fff;border-radius:13px;padding:10px 15px;font-weight:850}
.plan-day,.meal-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:12px}.plan-day h3,.meal-card h3{margin:0 0 10px}.exercise-row,.food-row{padding:11px 0;border-top:1px solid #e9efec}.exercise-row:first-of-type,.food-row:first-of-type{border-top:0}.exercise-row strong,.food-row strong{display:block}.exercise-meta,.food-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.review-reasons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sheet-dialog{border:0;padding:0;background:transparent;width:min(700px,100%);max-width:none;margin:auto auto 0}.sheet-dialog::backdrop{background:rgba(7,20,16,.45);backdrop-filter:blur(2px)}.dialog-card{background:#fff;border-radius:27px 27px 0 0;padding:22px max(18px,var(--safe-right)) calc(22px + var(--safe-bottom)) max(18px,var(--safe-left));display:grid;gap:14px;max-height:min(84dvh,760px);overflow:auto}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.dialog-head h2{margin:4px 0 0;font-size:28px}.form-stack{display:grid;gap:13px}.form-stack label{display:grid;gap:6px;font-weight:800}.primary-button{width:100%}.text-button{border:0;background:transparent;color:var(--green)}.form-message{min-height:1.3em;margin:0;color:var(--muted)}.session-card{background:var(--mint);border-radius:15px;padding:12px;color:var(--green)}.menu-list{display:grid;gap:8px}.menu-list button,.menu-list a{width:100%;min-height:50px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-align:left;padding:11px 14px;text-decoration:none;font-weight:750}.menu-list .danger{color:var(--danger)}.button-row{display:flex;justify-content:flex-end;gap:8px}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--green)}.update-banner{position:fixed;z-index:90;left:50%;bottom:calc(var(--nav) + var(--safe-bottom) + 12px);transform:translateX(-50%);width:min(92vw,600px);padding:11px 12px;background:#12352c;color:#fff;border-radius:16px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow)}.update-banner span{flex:1}.update-banner button{border:0;border-radius:10px;padding:8px 10px;font-weight:800}.toast-region{position:fixed;z-index:100;top:calc(var(--header) + var(--safe-top) + 9px);right:14px;width:min(360px,calc(100vw - 28px));display:grid;gap:7px}.toast{padding:11px 13px;border-radius:13px;background:#142e27;color:#fff;box-shadow:var(--shadow)}
@media(min-width:720px){:root{--header:82px;--nav:72px}.app-header{align-items:center;padding-top:calc(8px + var(--safe-top));padding-bottom:8px}.brand-logo{width:62px;height:48px}.page-scroll{padding:28px max(26px,var(--safe-right)) 40px max(26px,var(--safe-left))}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{padding-left:max(18vw,var(--safe-left));padding-right:max(18vw,var(--safe-right))}.dialog-card{border-radius:27px;margin-bottom:18px}.sheet-dialog{margin:auto}.thread-detail{height:min(680px,calc(100dvh - 220px))}}
@media(min-width:1120px){.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.data-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-scroll{padding-left:calc((100vw - 980px)/2);padding-right:calc((100vw - 980px)/2)}.chat-composer{padding-left:calc((100vw - 980px)/2);padding-right:calc((100vw - 980px)/2)}.bottom-nav{padding-left:calc((100vw - 760px)/2);padding-right:calc((100vw - 760px)/2)}}
@media(max-width:390px){:root{--header:82px;--nav:72px}.app-header{padding-left:11px;padding-right:11px}.brand-block{gap:8px}.brand-logo{width:47px;height:36px}.brand-text strong{font-size:20px}.brand-text span{font-size:12px}.header-actions{gap:4px}.icon-button{width:42px;height:42px;border-radius:13px}.chat-composer{grid-template-columns:38px 38px minmax(0,1fr) 44px;padding-left:7px;padding-right:7px}.composer-button{width:38px}.send-button{width:44px}.bottom-nav button strong{font-size:11px}.detail-list{grid-template-columns:1fr}.thread-compose{grid-template-columns:1fr}.thread-compose button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* AI Coach 1.3.0 — Coach Studio components only. Base shell/header/nav remain unchanged. */
.info-card{background:#f2f7f4;border:1px solid var(--line);border-radius:18px;padding:15px 16px;color:var(--green)}.info-card strong{display:block;font-size:16px}.info-card p{margin:5px 0 0;color:var(--muted);line-height:1.45}
.inline-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:min(100%,620px)}.inline-search input{min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff}.inline-search button{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--green);font-weight:800;padding:9px 13px}
.chat-action-card{align-self:stretch;max-width:min(92%,700px);margin:7px 0 10px;background:#fff9db;border:1px solid #e8cf67;border-radius:18px;padding:14px 15px;display:grid;gap:8px;box-shadow:0 5px 20px rgba(80,65,20,.05)}.chat-action-card>strong{font-size:16px;line-height:1.35}.chat-action-card p{margin:0;color:#66591e;line-height:1.45}.chat-action-buttons{display:flex;gap:8px;flex-wrap:wrap}.chat-action-buttons .primary-button,.chat-action-buttons .secondary-button{width:auto;min-width:120px}.chat-action-status{font-size:13px;color:var(--muted)}.sensitive-result{display:grid;gap:5px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px}.sensitive-result code{font-size:15px;overflow-wrap:anywhere}.sensitive-result small{color:var(--muted)}
.editor-stack{display:grid;gap:14px}.editor-card,.editor-section,.editor-actions{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:13px}.editor-card label,.editor-section label{display:grid;gap:6px;font-weight:780;color:var(--ink)}.editor-card input,.editor-card textarea,.editor-section input,.editor-section textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:#fff;color:var(--ink)}.editor-card textarea,.editor-section textarea{resize:vertical}.editor-grid{display:grid;gap:10px}.editor-grid.two,.editor-grid.four{grid-template-columns:1fr}.editor-help{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-section-head>div{display:flex;gap:5px;flex-wrap:wrap}.editor-section-head button,.add-row-button{min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--green);font-weight:800;padding:7px 10px}.editor-section-head button:disabled{opacity:.4}.exercise-edit-list,.food-edit-list{display:grid;gap:10px}.exercise-editor,.food-editor{border:1px solid #e6ece9;background:#fafcfb;border-radius:15px;padding:12px;display:grid;gap:10px}.editor-actions{position:sticky;bottom:0;z-index:2;grid-template-columns:1fr;box-shadow:0 -8px 26px rgba(15,55,43,.07)}.editor-actions .primary-button,.editor-actions .secondary-button{width:100%}.editor-status{grid-column:1/-1;color:var(--muted);font-size:13px;min-height:1.2em}
.client-picker-card{overflow:hidden}.client-picker-search{display:grid;gap:7px;font-weight:800}.client-picker-search input{width:100%;min-height:50px;border:1px solid var(--line);border-radius:13px;padding:11px 13px}.client-picker-results{min-height:120px;max-height:48dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;gap:7px}.client-pick-row{width:100%;min-height:56px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;padding:10px 12px;color:var(--ink);display:grid;gap:3px}.client-pick-row strong{font-size:16px}.client-pick-row span{font-size:13px;color:var(--muted)}
.pill-sets{background:#e9f2ff;color:#25568b}.pill-reps{background:#edf5f1;color:#153f34}.pill-weight{background:#fff0da;color:#8a5700}.pill-rest{background:#f2edff;color:#5c4090}.pill-time{background:#eef0f2;color:#42505a}
@media(min-width:720px){.editor-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.editor-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* AI Coach 1.4.0 — scoped Coach Operations components only. Base shell/header/nav/chat remain untouched. */
.config-field-list{display:grid;gap:10px}.config-field-row{border:1px solid #e6ece9;background:#fafcfb;border-radius:15px;padding:12px;display:grid;gap:10px}.config-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.config-field-head strong{font-size:14px}.config-field-head button{min-width:38px;min-height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--danger);font-weight:900}.config-field-grid{display:grid;gap:9px}.config-field-grid label{display:grid;gap:5px;font-size:13px;font-weight:760}.config-field-grid input,.config-field-grid select,.config-field-grid textarea{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:9px 10px}.config-field-grid textarea{min-height:76px;resize:vertical}.check-row{display:flex!important;align-items:center;gap:9px!important;min-height:44px}.check-row input[type="checkbox"]{width:22px!important;height:22px!important;min-height:auto!important;flex:0 0 auto}.overview-actions{display:grid;grid-template-columns:1fr;gap:8px}.overview-actions button{width:100%}.metric-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric-tile{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;display:grid;gap:3px}.metric-tile strong{font-size:21px;color:var(--green)}.metric-tile span{font-size:12px;color:var(--muted)}
@media(min-width:720px){.config-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.config-field-grid .full{grid-column:1/-1}.overview-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
