:root{--primary-blue:#06c;--secondary-blue:#00a3e0;--tertiary-blue:#08c;--user-message-bg:#06c;--bot-message-bg:#f5f5f5;--accent-bg:#f0f8ff;--text-primary:#333;--text-secondary:#666;--text-light:#999;--border-color:#e0e0e0;--success-bg:#e8f5e9;--warning-bg:#fff3e0;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;color:var(--text-primary);font-family:var(--font-family);line-height:1.5;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}button{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-family);font-size:16px;padding:10px 20px;transition:background-color .2s ease}.MuiButton-containedPrimary,button.primary,button[type=submit]{background-color:var(--primary-blue);color:#fff}.MuiButton-containedPrimary:hover,button.primary:hover,button[type=submit]:hover{background-color:#0052a3}button.secondary{background-color:var(--secondary-blue);color:#fff}button.secondary:hover{background-color:#0088b8}a{color:var(--primary-blue);text-decoration:none;transition:color .2s ease}a:hover{color:#0052a3;text-decoration:underline}.MuiTab-root.Mui-selected,.nav-active,.tab-active{border-bottom-color:var(--primary-blue);color:var(--primary-blue)!important}.MuiTabs-indicator,.tab-indicator{background-color:var(--primary-blue)!important}.message-user,.user-message{background-color:var(--user-message-bg);border-radius:16px;color:#fff;margin:8px 0;padding:12px 16px}.bot-message,.coach-message,.message-bot{background-color:var(--bot-message-bg);border-radius:16px;color:var(--text-primary);margin:8px 0;padding:12px 16px}.MuiDivider-root,.divider,hr{border-color:var(--border-color)}.MuiPaper-root,.card,.paper{border:1px solid var(--border-color)}.success,.success-message{background-color:var(--success-bg);color:#2e7d32}.warning,.warning-message{background-color:var(--warning-bg);color:#e65100}.info,.info-message{background-color:var(--accent-bg);color:var(--primary-blue)}h1{font-size:24px;margin-bottom:16px}h1,h2{color:#333;font-weight:600;line-height:1.3}h2{font-size:18px;margin-bottom:12px}h3{color:#333;font-size:16px;font-weight:600;line-height:1.3;margin-bottom:8px}p{font-size:14px;line-height:1.5;margin-bottom:12px}small{color:#999;font-size:12px;line-height:1.4}input,select,textarea{font-family:inherit;font-size:16px;line-height:1.5}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-base{font-size:16px}.text-lg{font-size:18px}.text-xl{font-size:24px}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:#333}.text-secondary{color:#666}.text-light{color:#999}.text-blue{color:#06c;color:var(--primary-blue,#06c)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.75}@media (max-width:320px){h1{font-size:20px}h2{font-size:16px}h3{font-size:14px}p{font-size:13px}}@media (min-width:768px){h1{font-size:28px}h2{font-size:20px}h3{font-size:18px}p{font-size:16px}}.login-container{align-items:center;background:linear-gradient(135deg,var(--primary-blue) 0,var(--secondary-blue) 100%);display:flex;justify-content:center;min-height:100vh}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:32px}.login-header{margin-bottom:32px;text-align:center}.login-icon-wrapper{align-items:center;background-color:var(--primary-blue);border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.login-title{color:var(--primary-blue);font-weight:700}.login-subtitle{color:var(--text-secondary)}.signup-link{color:var(--primary-blue);font-weight:600;text-decoration:none}.signup-link:hover{color:#0052a3;text-decoration:underline}.error-alert{margin-bottom:24px}.submit-button{margin-top:24px;padding:12px}.success-icon{font-size:48px;margin-bottom:8px}.resend-text{color:var(--text-secondary);margin-top:24px;text-align:center}.resend-link{color:var(--primary-blue);cursor:pointer;font-weight:600}.resend-link:hover{text-decoration:underline}.resend-link.disabled{color:var(--text-light);cursor:not-allowed}.modal-overlay{align-items:flex-end;animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:24px 24px 0 0;box-shadow:0 -4px 24px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:24px 20px}.modal-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close:hover:not(:disabled){background-color:#f1f5f9;color:#1e293b}.modal-close:disabled{cursor:not-allowed;opacity:.5}.modal-body{flex:1 1;overflow-y:auto;padding:24px 20px}.session-name-section,.session-type-section{margin-bottom:24px}.section-label{color:#1e293b;display:block;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.section-label .required{color:#dc2626;margin-left:4px}.section-description{color:#64748b;font-size:13px;line-height:1.4;margin:0 0 16px}.session-type-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}@media (max-width:400px){.session-type-grid{grid-template-columns:1fr}}.session-type-button{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:16px;text-align:left;transition:all .2s ease}.session-type-button:hover:not(:disabled){background-color:#0066cc0d;border-color:#06c}.session-type-button.selected{background-color:#0066cc1a;border-color:#06c}.session-type-button:disabled{cursor:not-allowed;opacity:.6}.type-label{color:#1e293b;font-size:14px;font-weight:600;margin-bottom:4px}.type-description{color:#64748b;font-size:12px;line-height:1.3}.session-name-input{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.session-name-input:focus{border-color:#06c;box-shadow:0 0 0 3px #0066cc1a;outline:none}.session-name-input:disabled{background-color:#f1f5f9;color:#94a3b8;cursor:not-allowed}.char-count{color:#94a3b8;font-size:12px;margin-top:6px;text-align:right}.error-message{background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-top:16px;padding:12px 16px}.error-message p{color:#dc2626;font-size:13px;font-weight:500;margin:0 0 4px}.error-hint{color:#b91c1c;font-size:12px;margin:0;opacity:.8}.modal-footer{background-color:#f8fafc;border-radius:0 0 24px 24px;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:12px;padding:16px 20px}.button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-family:inherit;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease}.button--primary{background-color:#06c;color:#fff}.button--primary:hover:not(:disabled){background-color:#0052a3;box-shadow:0 4px 12px #0066cc4d}.button--primary:disabled{background-color:#90caf9;cursor:not-allowed}.button--secondary{background-color:#fff;border:1px solid #e5e7eb;color:#1e293b}.button--secondary:hover:not(:disabled){background-color:#f8fafc;border-color:#cbd5e1}.button--secondary:disabled{cursor:not-allowed;opacity:.6}@media (min-width:768px){.modal-overlay{align-items:center}.modal-content{border-radius:16px;max-height:80vh}.session-type-grid{grid-template-columns:1fr 1fr 1fr 1fr}}@media (prefers-color-scheme:dark){.modal-content{background-color:#1e293b;color:#f1f5f9}.modal-header{border-bottom-color:#334155}.modal-header h2{color:#f1f5f9}.modal-close{color:#94a3b8}.modal-close:hover:not(:disabled){background-color:#334155;color:#f1f5f9}.section-label{color:#f1f5f9}.section-description{color:#cbd5e1}.session-type-button{background-color:#0f172a;border-color:#334155}.session-type-button:hover:not(:disabled){background-color:#3b82f61a;border-color:#3b82f6}.session-type-button.selected{background-color:#3b82f633;border-color:#3b82f6}.type-label{color:#f1f5f9}.type-description{color:#cbd5e1}.session-name-input{background-color:#0f172a;border-color:#334155;color:#f1f5f9}.session-name-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.session-name-input:disabled{background-color:#334155;color:#64748b}.char-count{color:#64748b}.error-message{background-color:#7f1d1d;border-color:#991b1b}.error-hint,.error-message p{color:#fca5a5}.modal-footer{background-color:#0f172a;border-top-color:#334155}.button--primary{background-color:#3b82f6}.button--primary:hover:not(:disabled){background-color:#2563eb}.button--secondary{background-color:#1e293b;border-color:#334155;color:#f1f5f9}.button--secondary:hover:not(:disabled){background-color:#334155;border-color:#475569}}