:root{font:14px system-ui,-apple-system,sans-serif;color:#162940;background:#f5f7fb}*{box-sizing:border-box}body{margin:0}button{cursor:pointer;font:inherit}button:focus-visible{outline:3px solid #74a7e6;outline-offset:2px}.app{display:flex;min-height:100vh}.sidebar{background:#12243a;color:#fff;width:240px;padding:25px 20px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:12px;margin-bottom:55px}.logo{display:grid;place-items:center;width:42px;height:42px;background:#3977dd;border-radius:12px;font-weight:800;font-size:23px}.brand strong,.brand small{display:block}.brand small{color:#9eb3cb;font-size:11px;margin-top:4px}.side-label,.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.5px;color:#5986c2}.side-label{color:#91a5bf;margin-bottom:16px}.sidebar-item{background:#263f5f;border-radius:10px;padding:13px}.sidebar-footer{margin-top:auto;border-top:1px solid #40536b;padding-top:20px;color:#91a5bf;font-size:12px;line-height:1.6}main{flex:1;min-width:0}.top{background:#fff;border-bottom:1px solid #e4e9f0;height:76px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#62748d;font-size:12px}.demo{color:#996514;background:#fff3dd;border-radius:25px;padding:9px 13px;font-size:10px;font-weight:800}.content{max-width:1250px;padding:40px 38px;margin:auto}.heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}h1{font-size:34px;letter-spacing:-1px;margin:9px 0}h2{font-size:20px;margin:8px 0}h3{font-size:14px}.heading p,.muted{color:#76869b}.heading p{margin:0}.switch{display:flex;background:#e7edf5;border-radius:10px;padding:4px}.switch button{border:0;background:none;padding:10px 14px;border-radius:8px;color:#607086}.switch button.active{background:#fff;color:#1d579f;font-weight:700;box-shadow:0 2px 10px #0001}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:24px}.card,.panel{background:#fff;border:1px solid #e2e9f2;border-radius:15px;box-shadow:0 6px 24px #183b590e}.card{padding:22px;min-height:140px}.card span,.card small{display:block;color:#74859a;font-size:12px}.card strong{display:block;font-size:34px;margin:13px 0 6px}.soft{background:#edf5ff}.soft strong{color:#2468c4}.bar{background:#d7e4f4;height:8px;border-radius:9px;overflow:hidden}.bar div{height:100%;border-radius:9px;background:#3277da;transition:width .2s}.columns{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.panel{padding:26px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.status{padding:7px 11px;border-radius:20px;background:#f1f2f5;color:#737f92;font-size:11px;font-weight:700}.status.ready{color:#247e46;background:#e7f9ee}.session{border-top:1px solid #ecf0f5;display:flex;align-items:center;gap:15px;padding:18px 0}.index{width:35px;height:35px;background:#eaf2ff;color:#3279d5;display:grid;place-items:center;border-radius:9px;font-weight:700}.session-detail{flex:1}.session-detail small,.session-detail span{color:#8191a5}.session-detail h3{margin:4px 0}.action button{border:1px solid #a3c2ed;border-radius:8px;color:#2866b9;background:#edf5ff;padding:9px 11px;font-size:12px}.done{color:#228350;font-size:12px;font-weight:700}.primary{background:#2d72d6;color:#fff;border:0;padding:13px 20px;border-radius:10px;margin-top:20px;font-weight:700}.notice{background:#f1f5fb;padding:13px;border-radius:9px;color:#76869b;font-size:12px;margin-top:20px}.progress{margin:30px 0;padding-bottom:26px;border-bottom:1px solid #edf0f5}.number{font-size:60px;font-weight:800;color:#245ead;text-align:center}.number span{font-size:25px}.progress p{text-align:center;color:#7d8da0}.secondary ol{color:#62758d;line-height:2.5;padding-left:20px}.toast{position:fixed;bottom:25px;right:25px;background:#16416e;color:#fff;padding:15px 19px;border-radius:10px;box-shadow:0 10px 30px #0012}.toast button{border:0;background:none;color:#fff;font-size:20px;margin-left:14px}footer{text-align:center;color:#8a97a6;font-size:11px;margin-top:30px}@media(max-width:900px){.sidebar{display:none}.columns{grid-template-columns:1fr}.content{padding:25px 18px}.top{padding:0 18px}}@media(max-width:630px){.heading{align-items:stretch;flex-direction:column}h1{font-size:27px}.stats{grid-template-columns:repeat(2,1fr);gap:9px}.stats .soft{grid-column:span 2}.card{padding:15px}.panel{padding:18px}.session{flex-wrap:wrap}.action{width:100%;padding-left:50px}.demo{font-size:9px}.top{font-size:10px}}.draft-form{border:1px solid #dce6f2;background:#f8fbff;border-radius:12px;padding:19px;margin-top:22px}.draft-form h3{margin:0 0 16px;font-size:15px}.draft-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:14px}.draft-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#51637b;font-weight:700}.draft-grid input{min-width:0;width:100%;padding:11px 12px;border:1px solid #bdcfe3;border-radius:9px;background:#fff;color:#173047;font:inherit}.draft-grid input:focus-visible{outline:3px solid #74a7e6;outline-offset:2px}.form-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.form-actions button:not(.primary){margin-top:20px;border:1px solid #b1c2d6;background:#fff;padding:12px 18px;border-radius:9px}.edit-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:end}.edit-actions button:last-child{background:#fff;color:#ad3c3c;border-color:#eed0d0}button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:630px){.draft-grid{grid-template-columns:1fr}.form-actions .primary{margin-top:12px}.edit-actions{justify-content:start}}:root{--navy: #111c2e;--blue: #2563eb;--blue-hover: #1d4ed8;--turquoise: #0d9488;--background: #f6f8fc;--surface: #fff;--text: #17243b;--secondary: #64748b;--border: #e2e8f0;--success: #15803d;--warning: #d97706;--danger: #dc2626;--shadow: 0 4px 18px #111c2e08;--radius: 16px;font:15px/1.55 Inter,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--background)}.login-layout,.portal-shell{overflow-wrap:anywhere}.login-layout :is(button,input),.portal-shell :is(button,input,select){min-height:44px;border:1px solid #8595ac;border-radius:9px;padding:9px 12px;background:var(--surface);color:var(--text);font:inherit}.login-layout label,.portal-shell label{display:grid;gap:6px;font-weight:650;font-size:.875rem;min-width:0}.login-layout input,.portal-shell input,.portal-shell select{width:100%;min-width:0}.login-layout button,.portal-shell button{font-weight:650}.login-layout button:hover:not(:disabled),.portal-shell button:hover:not(:disabled){background:#edf3ff;border-color:var(--blue)}:is(.login-layout,.portal-shell) .primary{background:var(--blue);color:#fff;border-color:var(--blue);margin:0}:is(.login-layout,.portal-shell) .primary:hover:not(:disabled){background:var(--blue-hover);border-color:var(--blue-hover)}:is(.login-layout,.portal-shell) :focus-visible{outline:3px solid var(--blue);outline-offset:3px}:is(.login-layout,.portal-shell) button:disabled{opacity:.62}:is(.login-layout,.portal-shell) .eyebrow{color:#1e50b5;font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;margin:0}.product-brand{display:flex;align-items:center;gap:12px;font-size:1.13rem;letter-spacing:-.025em}.brand-mark{display:grid;grid-auto-flow:column;place-content:center;align-items:baseline;width:41px;height:41px;flex:none;background:var(--blue);color:#fff;border-radius:11px;font-weight:850;letter-spacing:-.14em;padding-right:.14em}.brand-mark span{color:#b5eaf4;font-size:.77em}.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-welcome{display:flex;flex-direction:column;justify-content:space-between;position:relative;isolation:isolate;overflow:hidden;padding:clamp(28px,5.5vw,88px);background:var(--navy);color:#fff}.welcome-message{margin-block:clamp(46px,12vh,140px)}.welcome-message .eyebrow{color:#99dcd7}.welcome-title{font-size:clamp(3rem,6.8vw,7.2rem);line-height:.99;font-weight:760;letter-spacing:-.075em;margin:20px 0}.welcome-message p:last-child{color:#cbd5e1;max-width:30ch;font-size:1.15rem}.login-art{position:absolute;z-index:-1;right:-25%;bottom:-26%;width:90%;aspect-ratio:1;transform:rotate(-30deg)}.login-art i{position:absolute;inset:0;border:1px solid #60a5fa40;border-radius:24%}.login-art i:nth-child(2){inset:8%}.login-art i:nth-child(3){inset:16%;border-color:#5eead44a}.login-art i:nth-child(4){inset:24%;background:#2563eb16}.login-body{display:grid;place-items:center;padding:clamp(20px,5vw,72px)}.login-card{background:var(--surface);width:min(100%,440px);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(20px,4vw,44px);box-shadow:var(--shadow)}.login-card .page-heading{margin:24px 0}.login-form,.feedback-stack,.plan-content{display:grid;gap:16px}.login-card .feedback{margin-bottom:14px}.portal-shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}.portal-sidebar{display:flex;flex-direction:column;align-items:stretch;gap:48px;background:var(--navy);color:#fff;padding:26px 20px}.app-nav{display:grid;gap:8px}.portal-sidebar .eyebrow,.sidebar-note{color:#a9bad0}.app-nav a{display:flex;align-items:center;gap:10px;min-height:44px;color:#fff;background:#223651;border-radius:9px;text-decoration:none;padding:9px 12px;font-weight:650}.app-nav a:hover{background:#30496c}.app-nav a:focus-visible{outline-color:#a8c8ff}.sidebar-note{margin:auto 0 0;border-top:1px solid #43526b;padding-top:16px;font-size:.83rem}.portal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px clamp(16px,3vw,42px);background:var(--surface);border-bottom:1px solid var(--border)}.portal-top label{display:flex;align-items:center;gap:12px}.portal-top select{width:clamp(135px,21vw,300px)}.portal-top button{flex:none}.portal-content{max-width:1390px;margin:auto;padding:clamp(20px,3vw,44px)}.page-heading{margin-bottom:24px}.page-heading h1{font-size:clamp(1.95rem,3.5vw,3rem);line-height:1.08;letter-spacing:-.055em;margin:8px 0}.page-description,.session-summary p,.empty-state p,.progress-indicator p{color:var(--secondary);margin:0}.workspace-view{display:grid;gap:20px}.workspace-view>nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:15px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.workspace-view>nav .eyebrow{flex-basis:100%}.workspace-view button[aria-pressed=true]{background:#e8f0ff;color:#1748ac;border-color:var(--blue)}.training-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:20px}.training-grid:has(>:only-child){grid-template-columns:minmax(0,1fr);max-width:820px}.portal-panel,#invitaciones>.panel{padding:clamp(16px,2.1vw,28px);border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}#invitaciones{margin-top:20px}#invitaciones form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:14px}.panel-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.panel-heading h2{font-size:1.32rem;line-height:1.2;margin:4px 0 0;letter-spacing:-.035em}.status-badge{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:3px 10px;border-radius:30px;background:#eaf0fb;color:#244673;font-size:.75rem;font-weight:750}.status-badge.positive{background:#e8f7ee;color:#126133}.training-card{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--background)}.training-card header{display:flex;align-items:center;gap:10px}.training-card h3{margin:0;font-size:1rem}.session-number{display:grid;place-items:center;flex:none;width:34px;height:34px;color:#1748ac;background:#e4edff;border-radius:8px;font-size:.82rem;font-weight:750}.session-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-inline-size:0;border:0;padding:0;margin:12px 0 0}.session-editor .exercise-field{grid-column:1 / -1}.session-editor .remove-session{color:#9f1b1b;align-self:end}.session-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.plan-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.progress-indicator{display:grid;gap:8px;margin-bottom:16px}.progress-indicator strong{font-size:3rem;line-height:1;letter-spacing:-.06em;color:#0b7169}.progress-indicator strong span{font-size:1.35rem}.progress-indicator progress{width:100%;height:10px;appearance:none;border:0;border-radius:20px;background:#e3eeef;overflow:hidden}.progress-indicator progress::-webkit-progress-bar{background:#e3eeef}.progress-indicator progress::-webkit-progress-value{background:var(--turquoise)}.progress-indicator progress::-moz-progress-bar{background:var(--turquoise)}.empty-state{background:var(--background);border:1px dashed #aab8cd;border-radius:10px;padding:14px}.feedback{margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#eef3fc;color:#263b59}.feedback-error{background:#fff0ef;color:#991b1b}.feedback-success{background:#e8f7ee;color:#126133}.feedback-loading{display:flex;align-items:center;gap:9px}.spinner{width:15px;height:15px;flex:none;border:2px solid #a7b9db;border-top-color:var(--blue);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.portal-shell{grid-template-columns:196px minmax(0,1fr)}}@media(max-width:850px){.portal-shell{grid-template-columns:minmax(0,1fr)}.portal-sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;padding:13px 16px;justify-content:space-between}.app-nav{display:flex;flex-wrap:wrap}.app-nav .eyebrow,.sidebar-note{display:none}}@media(max-width:640px){.login-layout,.training-grid{grid-template-columns:minmax(0,1fr)}.login-welcome{padding:20px}.welcome-message{margin:28px 0 12px}.welcome-title{font-size:2.65rem;margin:8px 0}.welcome-title br{display:none}.welcome-message p:last-child{font-size:.94rem;margin:6px 0}.portal-top label{display:grid;gap:2px}.portal-top select{width:100%}.portal-content{padding:20px 16px}.portal-sidebar{align-items:flex-start}.session-summary .primary,.plan-actions>button{width:100%}#invitaciones form{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
