:root{--bg: #f4efe6;--bg-deep: #ece4d6;--ink: #1f2a24;--ink-soft: #4a5750;--green: #1f5641;--green-deep: #143a2c;--clay: #c2693f;--clay-soft: #d98c63;--line: #d8cdba;--card: #fbf8f2;--error: #b23b2e;--shadow: 0 18px 50px -24px rgba(20, 42, 32, .45)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Assistant,system-ui,sans-serif;background:radial-gradient(120% 80% at 100% 0%,rgba(194,105,63,.1),transparent 55%),radial-gradient(120% 80% at 0% 100%,rgba(31,86,65,.1),transparent 55%),var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}.display{font-family:Frank Ruhl Libre,serif}.shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.card{width:100%;max-width:460px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:40px 36px;box-shadow:var(--shadow);animation:rise .5s cubic-bezier(.16,1,.3,1)}.card.wide{max-width:720px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.brand{text-align:center;margin-bottom:28px}.brand .mark{display:inline-flex;gap:4px;margin-bottom:14px}.brand .dot{width:11px;height:11px;border-radius:50%}.dot.a{background:var(--green)}.dot.b{background:var(--clay)}.dot.c{background:var(--green-deep)}.brand h1{font-family:Frank Ruhl Libre,serif;font-weight:900;font-size:30px;letter-spacing:-.5px;color:var(--green-deep)}.brand p{color:var(--ink-soft);font-size:15px;margin-top:6px}.services{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.pill{font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--bg-deep);color:var(--green-deep);border:1px solid var(--line)}.field{margin-bottom:16px}.field label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-soft);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:15px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:64px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px #1f56411f}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.section-title{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:18px;color:var(--green-deep);margin:26px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}.section-title:first-of-type{margin-top:8px}.btn{width:100%;font-family:inherit;font-size:15.5px;font-weight:700;padding:13px;border:none;border-radius:12px;cursor:pointer;transition:transform .12s,background .15s}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green-deep)}.btn.primary:disabled{opacity:.55;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--green);text-decoration:underline;padding:6px;width:auto;font-size:14px}.switch{text-align:center;margin-top:18px;font-size:14px;color:var(--ink-soft)}.msg{font-size:14px;padding:11px 14px;border-radius:10px;margin-bottom:16px}.msg.err{background:#f7e3df;color:var(--error)}.msg.ok{background:#e2efe8;color:var(--green-deep)}.divider-note{font-size:13px;color:var(--ink-soft);text-align:center;margin-top:6px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.summary-item{background:var(--bg-deep);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.summary-item .k{font-size:12px;color:var(--ink-soft)}.summary-item .v{font-size:15px;font-weight:600;color:var(--ink);margin-top:2px}.center{text-align:center}.muted{color:var(--ink-soft);font-size:14px}.invite-box{background:var(--bg-deep);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:20px}.link-row{display:flex;gap:8px;margin-top:14px}.link-row input{flex:1;font-family:inherit;font-size:13px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink-soft)}.empty-state{text-align:center;padding:40px 20px;color:var(--ink)}.empty-state p{margin:4px 0}.trainee-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}.trainee-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .15s,transform .12s}.trainee-card:hover{border-color:var(--green);transform:translateY(-1px)}.trainee-name{font-weight:700;font-size:15.5px;color:var(--ink)}.status-badge{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.status-badge.done{background:#e2efe8;color:var(--green-deep)}.status-badge.pending{background:#f5ead9;color:var(--clay)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#142a2073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:100%;max-width:560px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow);animation:rise .35s cubic-bezier(.16,1,.3,1)}.type-toggle{display:flex;gap:8px}.type-toggle button{flex:1;font-family:inherit;font-size:14px;font-weight:600;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink-soft);cursor:pointer;transition:all .15s}.type-toggle button.active{background:var(--green);color:#fff;border-color:var(--green)}.days-row{display:flex;gap:6px}.day-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:14px;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:all .15s}.day-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.gen-loader{display:flex;flex-direction:column;align-items:center;gap:16px;padding:50px 20px;text-align:center}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--green);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.plan-sheet{background:#fff;border-radius:14px;padding:28px;border:1px solid var(--line)}.plan-header{text-align:center;border-bottom:2px solid var(--green);padding-bottom:16px;margin-bottom:18px}.plan-header h1{font-family:Frank Ruhl Libre,serif;font-size:24px;color:var(--green-deep)}.plan-header p{font-size:16px;color:var(--ink);margin-top:4px}.cal-badge{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;padding:5px 14px;border-radius:999px;background:var(--green);color:#fff}.plan-summary{font-size:14px;color:var(--ink-soft);line-height:1.7;background:var(--bg-deep);padding:14px 16px;border-radius:10px;margin-bottom:20px}.day-block{margin-bottom:18px;break-inside:avoid}.day-title{font-family:Frank Ruhl Libre,serif;font-weight:700;font-size:17px;color:#fff;background:var(--green-deep);padding:8px 16px;border-radius:8px;margin-bottom:10px}.meal-row{padding:10px 14px;border-right:3px solid var(--clay);background:var(--card);border-radius:8px;margin-bottom:8px}.meal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.meal-name{font-weight:700;font-size:14.5px;color:var(--green-deep)}.meal-cal{font-size:12px;font-weight:600;color:var(--clay)}.meal-desc{font-size:13.5px;color:var(--ink);line-height:1.6}.plan-foot{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}.stat-box{background:var(--bg-deep);border:1px solid var(--line);border-radius:10px;padding:12px 8px;text-align:center}.stat-num{font-family:Frank Ruhl Libre,serif;font-size:22px;font-weight:700;color:var(--green-deep)}.stat-label{font-size:11px;color:var(--ink-soft);margin-top:2px}@media (max-width: 540px){.row,.summary-grid{grid-template-columns:1fr}.card{padding:30px 22px}.modal{padding:22px}}.auth-screen{position:fixed;top:0;right:0;bottom:0;left:0;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.shader-canvas{position:fixed;top:0;left:0;width:100%;height:100%;display:block;z-index:0}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse at center,#0d121040,#0d1210bf);pointer-events:none}.auth-content{position:relative;z-index:2;width:100%;max-width:440px;padding:28px;display:flex;flex-direction:column;gap:26px}.auth-brand{text-align:center}.auth-logo{display:inline-flex;gap:7px;margin-bottom:18px}.logo-dot{width:11px;height:11px;border-radius:50%;display:inline-block;box-shadow:0 0 18px #ffffff40}.logo-dot:nth-child(1){background:#2c8a5a}.logo-dot:nth-child(2){background:#9aa64d}.logo-dot:nth-child(3){background:#c76b40}.auth-title{font-family:Frank Ruhl Libre,serif;font-size:34px;font-weight:800;color:#fff;letter-spacing:-.5px;margin:0;text-shadow:0 2px 30px rgba(0,0,0,.5)}.auth-tagline{color:#ffffffb3;font-size:15px;margin:8px 0 0}.auth-live{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:12.5px;color:#ffffff8c}.live-ping{position:relative;display:inline-flex;width:9px;height:9px}.ping-1,.ping-2{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#3ad07f}.ping-1{animation:ping 1.6s cubic-bezier(0,0,.2,1) infinite;opacity:.75}.ping-2{width:6px;height:6px;margin:auto}@keyframes ping{75%,to{transform:scale(2.4);opacity:0}}.auth-glass{background:#141a178c;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:26px;box-shadow:0 20px 60px #00000073,inset 0 1px #ffffff14}.auth-tabs{display:flex;gap:6px;margin-bottom:20px;background:#00000040;padding:5px;border-radius:12px}.auth-tabs button{flex:1;padding:10px;border:none;border-radius:8px;background:transparent;color:#fff9;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.auth-tabs button.active{background:#ffffff1f;color:#fff;box-shadow:0 2px 8px #0003}.auth-field{margin-bottom:16px}.auth-field label{display:block;font-size:13px;color:#ffffffa6;margin-bottom:7px;font-weight:500}.auth-field input{width:100%;padding:13px 15px;background:#0000004d;border:1px solid rgba(255,255,255,.14);border-radius:11px;color:#fff;font-size:15px;font-family:inherit;transition:all .2s;box-sizing:border-box}.auth-field input::placeholder{color:#ffffff59}.auth-field input:focus{outline:none;border-color:#3ad07f;background:#0006;box-shadow:0 0 0 3px #3ad07f26}.auth-submit{width:100%;padding:14px;background:linear-gradient(135deg,#2c8a5a,#1f7d4c);color:#fff;border:none;border-radius:11px;font-size:15.5px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:6px;box-shadow:0 8px 24px #2c8a5a59;transition:all .2s}.auth-submit:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(0)}.auth-submit:disabled{opacity:.6;cursor:default}.auth-checkbox{display:flex;align-items:center;gap:9px;margin:4px 0 16px;cursor:pointer;font-size:13.5px;color:#ffffffbf;line-height:1.4}.auth-checkbox input{width:18px;height:18px;flex-shrink:0;accent-color:#2c8a5a;cursor:pointer}.auth-glass .msg{margin-bottom:16px}@media (max-width: 480px){.auth-title{font-size:28px}.auth-content{padding:20px;gap:20px}.auth-glass{padding:22px}}.aurora-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:#0d1210;pointer-events:none}.aurora-bg canvas{display:block}.dark-shell{position:relative;z-index:2;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:32px 20px}.dark-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse at center,#0d121073,#0d1210d1);pointer-events:none}.dark-shell .card{position:relative;z-index:2;background:#141a179e;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px #00000080,inset 0 1px #ffffff12;color:#e8ede9}.dark-shell .card h1.display{color:#fff!important}.dark-shell .muted{color:#ffffff8c}.dark-shell .section-title{color:#ffffffe6;border-color:#ffffff1a}.dark-shell .trainee-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.dark-shell .trainee-name{color:#fff}.dark-shell .invite-box{background:#00000040;border:1px solid rgba(255,255,255,.1)}.dark-shell .field label{color:#ffffffa6}.dark-shell .field input,.dark-shell .link-row input{background:#0000004d;border:1px solid rgba(255,255,255,.14);color:#fff}.dark-shell .field input::placeholder{color:#ffffff59}.dark-shell .btn.ghost{color:#ffffffb3;border-color:#fff3}.dark-shell .btn.ghost:hover{background:#ffffff14}.dark-shell .status-badge.done{background:#3ad07f2e;color:#6fe6a4}.dark-shell .status-badge.pending{background:#ffffff1a;color:#fff9}.dark-shell .empty-state{color:#fff9}.dark-shell .summary-item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.dark-shell .summary-item .k{color:#ffffff80}.dark-shell .summary-item .v{color:#fff}.dark-shell .msg.ok{background:#3ad07f1f;border:1px solid rgba(58,208,127,.3);color:#8fe9b6}.dark-shell label{color:#ffffffb3}.dark-shell select,.dark-shell textarea,.dark-shell input{background:#0000004d;border:1px solid rgba(255,255,255,.14);color:#fff}.dark-shell select option{background:#1a201d;color:#fff}.dark-shell input::placeholder,.dark-shell textarea::placeholder{color:#ffffff59}.chef-fab{position:fixed;bottom:24px;left:24px;z-index:200;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#c2693f,#a8552e);color:#fff;font-size:26px;border:none;cursor:pointer;box-shadow:0 10px 30px #c2693f73,0 0 0 4px #c2693f26;transition:all .25s;display:flex;align-items:center;justify-content:center}.chef-fab:hover{transform:scale(1.08)}.chef-fab.open{background:linear-gradient(135deg,#444,#222);font-size:20px}.chef-panel{position:fixed;bottom:100px;left:24px;z-index:199;width:380px;max-width:calc(100vw - 48px);height:580px;max-height:calc(100vh - 140px);background:#141a17eb;backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 30px 80px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:chefSlideIn .3s cubic-bezier(.16,1,.3,1);color:#e8ede9}@keyframes chefSlideIn{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.chef-head{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:#c2693f14}.chef-title{font-family:Frank Ruhl Libre,serif;font-size:18px;font-weight:700;color:#fff}.chef-sub{font-size:12px;color:#ffffff8c;margin-top:2px}.chef-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chef-body::-webkit-scrollbar{width:6px}.chef-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:6px}.chef-loading{display:flex;justify-content:center;padding:40px 0}.chef-welcome{padding:10px 4px}.chef-welcome p{margin-bottom:8px;color:#ffffffd9}.chef-welcome .muted{color:#ffffff8c;font-size:13.5px;line-height:1.6}.chef-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.chef-quick button{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffd9;padding:7px 12px;border-radius:999px;font-size:12.5px;cursor:pointer;font-family:inherit;transition:all .2s}.chef-quick button:hover{background:#c2693f2e;border-color:#c2693f66}.chef-msg{display:flex}.chef-msg.user{justify-content:flex-end}.chef-msg.assistant{justify-content:flex-start}.chef-bubble{max-width:85%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55;word-break:break-word;white-space:pre-wrap}.chef-msg.user .chef-bubble{background:linear-gradient(135deg,#2c8a5a,#1f7d4c);color:#fff;border-bottom-right-radius:4px}.chef-msg.assistant .chef-bubble{background:#ffffff12;border:1px solid rgba(255,255,255,.1);color:#e8ede9;border-bottom-left-radius:4px}.chef-image{width:100%;max-width:280px;border-radius:10px;margin-bottom:8px;display:block}.chef-text{font-size:14px}.chef-typing{display:flex;gap:4px;padding:4px 0}.chef-typing span{width:7px;height:7px;border-radius:50%;background:#ffffff80;animation:chefDot 1.2s infinite}.chef-typing span:nth-child(2){animation-delay:.2s}.chef-typing span:nth-child(3){animation-delay:.4s}@keyframes chefDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chef-input{padding:12px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:8px;align-items:flex-end;background:#0003}.chef-input textarea{flex:1;resize:none;max-height:100px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px;color:#fff;font-family:inherit;font-size:14px;outline:none;transition:all .2s}.chef-input textarea:focus{border-color:#c2693f80;background:#ffffff17}.chef-input textarea::placeholder{color:#ffffff59}.chef-input button{background:linear-gradient(135deg,#c2693f,#a8552e);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-weight:700;font-size:13.5px;cursor:pointer;font-family:inherit;transition:all .2s}.chef-input button:hover:not(:disabled){filter:brightness(1.1)}.chef-input button:disabled{opacity:.4;cursor:default}@media (max-width: 480px){.chef-panel{left:12px;right:12px;width:auto;bottom:90px}.chef-fab{bottom:16px;left:16px;width:54px;height:54px;font-size:22px}}@media (max-width: 600px){.trainee-card{flex-direction:column;align-items:stretch;gap:12px}.trainee-card>div:last-child{flex-wrap:wrap;justify-content:flex-end}}
