.coach-dialog{width:min(440px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--surface-solid);border:1px solid var(--border-2);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font:13px/1.5 var(--font-sans);margin:auto;padding:0;position:fixed;inset:0;overflow:hidden}.coach-dialog::backdrop{background:#1a191661}.coach-dialog form{flex-direction:column;max-height:calc(100dvh - 34px);display:flex}.coach-dialog .modal-header,.coach-dialog .modal-footer{flex-shrink:0}.coach-dialog .modal-title{margin:0}.coach-dialog-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.coach-dialog .form-field{margin-top:12px}.coach-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:root{--bg:#e8e4dc;--surface:#fcfaf6db;--surface-2:#f0ede6cc;--surface-solid:#f7f5f0;--border:#c4beb28c;--border-2:#b0a89ab3;--text:#1a1916;--text-2:#5a5750;--text-3:#706b63;--accent:#2641d4;--accent-dim:#2641d414;--accent-mid:#b8c2ff;--green:#1a7f4b;--green-bg:#e6f5ed;--amber:#a05f00;--amber-bg:#fff3e0;--red:#c02828;--red-bg:#fdeaea;--purple:#7c3aed;--purple-bg:#f1ecff;--teal:#0891b2;--teal-bg:#e0f5f9;--macro-1:#2641d4;--macro-1-bg:#2641d414;--meso-1:#0a7cff;--meso-1-bg:#e5f1ff;--meso-2:#7c3aed;--meso-2-bg:#f1ecff;--meso-3:#0891b2;--meso-3-bg:#e0f5f9;--micro-bg:#f8f7f5b3;--micro-bdr:#dbd8d299;--glass-blur:blur(14px) saturate(1.5);--glass-border:#ffffff8c;--bevel:inset 0 1px 0 #ffffff9e, inset 1px 0 0 #ffffff38, inset 0 -1px 0 #0000000f;--bevel-strong:inset 0 1px 0 #ffffffbf, inset 0 -1px 0 #00000017;--sidebar-w:220px;--sidebar-w-collapsed:60px;--header-h:52px;--detail-w:300px;--font-mono:"DM Mono", monospace;--font-sans:"DM Sans", sans-serif;--font-disp:"Playfair Display", serif;--font-size-caption:11px;--font-size-control:12px;--font-size-body:13px;--font-size-heading:18px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--control-height:32px;--layer-menu:30;--layer-drawer:60;--layer-modal:100;--line:var(--border);--radius-sm:4px;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #00000012, 0 1px 2px #0000000d, inset 0 1px 0 #ffffff8c;--shadow:0 4px 14px #0000001a, 0 1px 3px #0000000d, inset 0 1px 0 #ffffff73;--shadow-lg:0 14px 36px #00000024, 0 4px 10px #00000012, inset 0 1px 0 #fff6;--clip-card:polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px));--clip-block:polygon(0 0, calc(100% - 5px) 0, 100% 5px, 100% 100%, 0 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-sans);color:var(--text);background:var(--bg);overflow:hidden}body:before{content:"";opacity:.028;pointer-events:none;z-index:9999;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;position:fixed;inset:0}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}.app{height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-border);box-shadow:var(--bevel), 2px 0 12px #0000000f;z-index:10;flex-direction:column;transition:width .18s,min-width .18s;display:flex;position:relative;overflow:visible}.sidebar.collapsed{width:var(--sidebar-w-collapsed);min-width:var(--sidebar-w-collapsed);cursor:e-resize}.sidebar:before{content:"";background:linear-gradient(180deg, var(--accent) 0%, transparent 60%);opacity:.5;width:2px;position:absolute;top:0;bottom:0;left:0}.sidebar:after{content:"";background:linear-gradient(#ffffff80 0%,#ffffff1a 100%);width:1px;position:absolute;top:0;bottom:0;right:0}.sidebar-brand{height:var(--header-h);border-bottom:1px solid var(--border);background:#fcfaf699;flex-shrink:0;align-items:center;gap:8px;padding:0 16px;display:flex}.brand-mark{background:var(--accent);width:26px;height:26px;clip-path:var(--clip-card);color:#fff;font-family:var(--font-mono);letter-spacing:-.5px;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex;box-shadow:0 2px 6px #2641d466,inset 0 1px #ffffff40}.brand-name{letter-spacing:-.3px;color:var(--text);font-size:14px;font-weight:600}.brand-sub{font-size:9px;font-family:var(--font-mono);color:var(--text-3);letter-spacing:.5px;text-transform:uppercase}.sidebar-scroll{flex:1;padding:8px 0 16px;overflow-y:auto}.sidebar-scroll::-webkit-scrollbar{width:3px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:2px}.nav-section{margin-bottom:4px}.nav-section-header{font-size:9px;font-family:var(--font-mono);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:center;padding:10px 16px 4px;font-weight:500;display:flex}.nav-item{cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 16px;font-size:13px;transition:all .12s;display:flex;position:relative}.nav-item:hover{color:var(--text);background:#2641d40d}.nav-item.active{color:var(--accent);background:#2641d414;font-weight:600}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:3px;bottom:3px;left:0}.nav-icon{opacity:.6;flex-shrink:0;width:14px;height:14px}.nav-item.active .nav-icon{opacity:1}.nav-badge{background:var(--accent);color:#fff;font-size:9px;font-family:var(--font-mono);border-radius:20px;margin-left:auto;padding:1px 5px;font-weight:500}.sidebar-divider{background:var(--border);height:1px;margin:8px 16px}.sidebar-collapse-toggle{z-index:25;box-sizing:border-box;border:1px solid var(--accent-mid,#2641d459);background:var(--surface-solid,#fcfaf6);width:36px;height:36px;color:var(--accent);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;transition:background .12s,color .12s,border-color .12s,box-shadow .12s;display:flex;position:absolute;top:50%;right:0;transform:translate(50%,-50%);box-shadow:0 4px 12px #2641d42e}.sidebar-collapse-toggle:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 5px 16px #2641d442}.sidebar-collapse-toggle svg{width:16px;height:16px}.sidebar.collapsed .sidebar-brand{justify-content:center;gap:0;padding:0}.sidebar.collapsed .nav-item{justify-content:center;gap:0;padding:8px 0}.sidebar.collapsed .nav-item .nav-icon{opacity:.85}.sidebar.collapsed .nav-item.active .nav-icon{opacity:1}.sidebar.collapsed .nav-section{margin-bottom:2px}.sidebar.collapsed .sidebar-divider{margin:6px 12px}.nav-badge-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:12px;box-shadow:0 0 4px #2641d48c}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.header{height:var(--header-h);background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border);box-shadow:var(--bevel), 0 1px 0 #fff6;flex-shrink:0;align-items:center;gap:12px;padding:0 20px;display:flex;position:relative}.header:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);width:48px;height:2px;position:absolute;bottom:-1px;left:0}.header-breadcrumb{color:var(--text-3);font-size:12px;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.header-breadcrumb span{color:var(--text);font-weight:500}.header-breadcrumb .sep{opacity:.4}.header-spacer{flex:1}.header-actions{align-items:center;gap:8px;display:flex}.btn{min-height:var(--control-height);border-radius:var(--radius-sm);font-size:var(--font-size-control);font-weight:600;font-family:var(--font-sans);cursor:pointer;letter-spacing:-.1px;border:none;align-items:center;gap:5px;padding:6px 12px;transition:all .12s;display:inline-flex}.btn svg{width:13px;height:13px}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{color:var(--text);background:#2641d40f}.btn-outline{-webkit-backdrop-filter:blur(8px);color:var(--text);border:1px solid var(--border-2);box-shadow:var(--bevel);background:#fcfaf6bf}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:#2641d40f}.btn-primary{background:linear-gradient(135deg, var(--accent), #1e35c4);color:#fff;box-shadow:0 1px 4px #2641d459, var(--bevel-strong)}.btn-primary:hover{background:linear-gradient(135deg,#1e35c4,#162ab0);transform:translateY(-1px);box-shadow:0 4px 10px #2641d46b}.btn:disabled,.btn:disabled:hover,.btn:disabled:focus{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary:disabled,.btn-primary:disabled:hover,.btn-primary:disabled:focus{color:var(--text-3);background:#9c989052}.btn-ghost:disabled,.btn-ghost:disabled:hover,.btn-ghost:disabled:focus{color:var(--text-3);background:0 0}.btn-success{background:linear-gradient(135deg, var(--green), #146b3e);color:#fff;box-shadow:0 1px 4px #1a7f4b4d, var(--bevel-strong)}.btn-success:hover{background:linear-gradient(135deg,#146b3e,#105a34)}.status-bar{-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#f4f1ebe0;flex-shrink:0;align-items:center;gap:16px;height:26px;padding:0 16px;display:flex;box-shadow:inset 0 1px #ffffff73}.status-item{font-size:10px;font-family:var(--font-mono);color:var(--text-3);align-items:center;gap:4px;display:flex}.status-dot{background:var(--green);border-radius:50%;width:5px;height:5px;box-shadow:0 0 4px #1a7f4b99}.status-dot.amber{background:#d97706;box-shadow:0 0 4px #d9770699}@media (width<=700px){.header{height:auto;min-height:var(--header-h);padding:var(--space-3);gap:var(--space-2);flex-wrap:wrap}.header-breadcrumb{overflow-wrap:anywhere;flex-wrap:wrap;flex-basis:100%;min-width:0}.header-spacer{display:none}.header-actions{flex-wrap:wrap;margin-left:auto}.sidebar{width:var(--sidebar-w-collapsed);min-width:var(--sidebar-w-collapsed)}.sidebar .sidebar-brand{justify-content:center;gap:0;padding:0}.sidebar .sidebar-brand-text,.sidebar .nav-section-header{display:none}.sidebar .nav-item{justify-content:center;gap:0;padding:8px 0;font-size:0}.sidebar .nav-icon{opacity:.85}.sidebar-divider{margin:6px 12px}}.tag{font-size:10px;font-family:var(--font-mono);border:1px solid var(--border);color:var(--text-2);background:#f0ede6a6;border-radius:20px;align-items:center;gap:4px;padding:2px 7px;display:inline-flex}.tag.gr,.tag.green{background:var(--green-bg);color:var(--green);border-color:#86efac}.tag.am,.tag.amber{background:var(--amber-bg);color:var(--amber);border-color:#fcd38a}.tag.rd,.tag.red{background:var(--red-bg);color:var(--red);border-color:#fca5a5}.tag.ac,.tag.accent{background:var(--accent-dim);border-color:var(--accent-mid);color:var(--accent)}.tag.purple{background:var(--purple-bg);color:var(--purple);border-color:#c4b5fd}.form-scroll{min-width:0;padding:var(--space-5);flex:1;overflow:hidden auto}@media (width<=700px){.form-scroll{padding:var(--space-3)}}.form-scroll::-webkit-scrollbar{width:5px}.form-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.form-section{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--bevel), var(--shadow-sm);border-radius:var(--radius-lg);margin-bottom:16px;scroll-margin-top:16px;overflow:hidden}.form-section-hd{border-bottom:1px solid var(--border);background:#fcfaf680;align-items:center;gap:10px;padding:13px 18px 11px;display:flex}.form-section-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.form-section-eyebrow{font-size:9px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;color:var(--text-3);margin-bottom:1px}.form-section-title{color:var(--text);letter-spacing:-.2px;font-size:13px;font-weight:700}.form-section-bd{padding:18px}.form-row{gap:14px;margin-bottom:14px;display:grid}.form-row:last-child{margin-bottom:0}.form-row.cols-2{grid-template-columns:1fr 1fr}.form-row.cols-3{grid-template-columns:1fr 1fr 1fr}@media (width<=700px){.form-row.cols-2,.form-row.cols-3{grid-template-columns:minmax(0,1fr)}}.form-field{flex-direction:column;gap:5px;min-width:0;display:flex}.workout-method-select{min-width:0;min-height:var(--control-height);border:1px solid var(--border-2);border-radius:var(--radius-sm);background:var(--surface-solid);color:var(--text);font:var(--font-size-control)/1.4 var(--font-sans)}.form-label{color:var(--text-2);font-size:11px;font-weight:600;font-family:var(--font-sans);letter-spacing:-.1px}.form-label .req{color:var(--accent);margin-left:2px}.form-hint{font-size:10px;font-family:var(--font-mono);color:var(--text-3);margin-top:2px}.form-input,.form-select,.form-textarea{border:1px solid var(--border-2);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-sans);color:var(--text);box-shadow:var(--bevel);background:#fcfaf6bf;outline:none;width:100%;padding:7px 10px;transition:border-color .12s,box-shadow .12s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:var(--bevel), 0 0 0 3px #2641d414}.form-input::placeholder{color:var(--text-3)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%239c9890' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.form-textarea{resize:vertical;min-height:80px;line-height:1.5}.color-swatches{gap:6px;margin-left:4px;display:flex}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:18px;height:18px;transition:all .1s}.swatch.selected,.swatch:hover{border-color:var(--text);transform:scale(1.15)}.section-label{align-items:center;gap:10px;margin-bottom:14px;display:flex}.section-label h2{color:var(--text);letter-spacing:-.2px;font-size:13px;font-weight:700}.section-divider{background:var(--border);flex:1;height:1px}.count-badge{font-size:10px;font-family:var(--font-mono);border:1px solid var(--accent-mid);background:var(--accent-dim);color:var(--accent);border-radius:20px;padding:1px 7px;font-weight:600}.count-badge.amber{background:var(--amber-bg);color:var(--amber);border-color:#fcd38a}.count-badge.grey{border-color:var(--border);color:var(--text-3);background:#f0ede6cc}.count-badge.green{background:var(--green-bg);color:var(--green);border-color:#86efac}.form-actions{-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border);background:#f4f1ebe0;flex-shrink:0;align-items:center;gap:10px;height:60px;padding:0 24px;display:flex;box-shadow:inset 0 1px #ffffff73}.required-note{font-size:10px;font-family:var(--font-mono);color:var(--text-3);margin-left:auto}.required-note span{color:var(--accent)}.card{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--bevel), var(--shadow-sm);border-radius:var(--radius-lg);overflow:hidden}.card-header{border-bottom:1px solid var(--border);background:#fcfaf680;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.card-title{color:var(--text);letter-spacing:-.2px;font-size:13px;font-weight:700}.card-eyebrow{font-size:9px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;color:var(--text-3);margin-bottom:2px}.card-body{padding:14px 16px}.side-card{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--bevel), var(--shadow-sm);border-radius:var(--radius-lg);margin-bottom:14px;overflow:hidden}.side-card-hd{border-bottom:1px solid var(--border);background:#fcfaf680;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.side-card-title{color:var(--text);letter-spacing:-.2px;font-size:12px;font-weight:700}.side-card-bd{padding:14px 16px}.apex-modal{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);margin:auto;overflow:auto}.apex-modal::backdrop{background:#1a191659}.modal{-webkit-backdrop-filter:blur(22px)saturate(1.7);box-shadow:var(--bevel), var(--shadow-lg);border-radius:var(--radius-lg);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));background:#fcfaf6eb;border:1px solid #ffffff9e;flex-direction:column;width:min(420px,92vw);max-height:90vh;animation:.18s cubic-bezier(.34,1.56,.64,1) modalIn;display:flex}.modal-wide{width:min(720px,94vw)}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px 14px;display:flex}.modal-title{letter-spacing:-.3px;font-size:15px;font-weight:700}.modal-body{flex:auto;min-height:0;padding:16px 20px;overflow-y:auto}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.modal-close{border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:24px;height:24px;box-shadow:var(--bevel);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-3);background:#fcfaf6bf;justify-content:center;align-items:center;font-size:14px;transition:all .1s;display:flex}.modal-close:hover{background:var(--red-bg);color:var(--red);border-color:var(--red)}
