@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a25;--bg-card:#1e1e2d;--bg-elevated:#252535;--text-primary:#f0f0f5;--text-secondary:#8888a0;--text-muted:#555570;--accent-blue:#4a7dff;--accent-blue-light:#6b96ff;--accent-blue-dark:#3a5fd9;--accent-green:#34c759;--accent-green-dark:#2da44e;--accent-red:#ff3b5c;--accent-red-dark:#d93049;--accent-orange:#ff9500;--accent-purple:#af52de;--accent-yellow:#fc0;--border-color:#ffffff14;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow-blue:0 0 20px #4a7dff4d;--shadow-glow-green:0 0 20px #34c7594d;--shadow-glow-red:0 0 20px #ff3b5c4d;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:50%;--transition-fast:0.15s ease;--transition-normal:0.25s ease;--transition-slow:0.4s ease;--phone-width:375px;--phone-height:812px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:#0a0a0f;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,#4a7dff14 0,#0000 50%),radial-gradient(ellipse at 80% 20%,#af52de0f 0,#0000 50%),radial-gradient(ellipse at 60% 80%,#34c7590d 0,#0000 50%);color:#f0f0f5;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.App,body{min-height:100vh}.App{display:flex;flex-direction:column}main{flex:1 1;padding:20px}.app-container,main{align-items:center;display:flex;justify-content:center}.app-container{min-height:calc(100vh - 40px);position:relative;width:100%}.phone{background:#12121a;background:var(--bg-secondary);border:3px solid #2a2a3a;border-radius:48px;box-shadow:0 8px 32px #00000080,inset 0 1px 0 #ffffff0d,0 0 0 1px #ffffff08;box-shadow:var(--shadow-lg),inset 0 1px 0 #ffffff0d,0 0 0 1px #ffffff08;display:flex;flex-direction:column;height:812px;height:var(--phone-height);overflow:hidden;position:relative;width:375px;width:var(--phone-width)}.phone-notch{background:#000;border-radius:0 0 20px 20px;height:30px;top:0;width:150px;z-index:100}.phone-notch,.phone-notch:before{left:50%;position:absolute;transform:translateX(-50%)}.phone-notch:before{background:#1a1a25;border-radius:3px;content:"";height:6px;top:10px;width:60px}.phone-notch:after{background:#1a1a25;border-radius:50%;content:"";height:10px;position:absolute;right:45px;top:8px;width:10px}.phone-status-bar{align-items:center;color:#f0f0f5;color:var(--text-primary);display:flex;font-size:.8rem;font-weight:600;justify-content:space-between;padding:12px 24px 8px;z-index:10}.status-icons{align-items:center;display:flex;gap:6px}.status-icons svg{opacity:.9}.connection-badge{align-items:center;border-radius:50%;border-radius:var(--radius-full);display:flex;height:20px;justify-content:center;transition:.25s ease;transition:var(--transition-normal);width:20px}.connection-badge.connected{color:#34c759;color:var(--accent-green)}.connection-badge.disconnected{color:#555570;color:var(--text-muted)}.connection-badge.connecting{animation:pulse 1.5s ease-in-out infinite;color:#ff9500;color:var(--accent-orange)}.phone-screen{flex:1 1;overflow:hidden;position:relative}.screen{bottom:0;display:none;flex-direction:column;left:0;opacity:0;position:absolute;right:0;top:0;transform:translateX(20px);transition:opacity .3s ease,transform .3s ease}.screen.active{display:flex;opacity:1;transform:translateX(0)}.home-screen{background:linear-gradient(180deg,#12121a,#0a0a0f);background:linear-gradient(180deg,var(--bg-secondary) 0,var(--bg-primary) 100%);padding:20px}.home-content{align-items:center;display:flex;flex:1 1;flex-direction:column;padding-top:20px}.tutor-avatar{height:100px;margin-bottom:16px;position:relative;width:100px}.avatar-ring{animation:rotate 8s linear infinite;background:conic-gradient(from 0deg,#4a7dff,#af52de,#6b96ff,#4a7dff);background:conic-gradient(from 0deg,var(--accent-blue),var(--accent-purple),var(--accent-blue-light),var(--accent-blue));inset:-4px}.avatar-inner,.avatar-ring{border-radius:50%;border-radius:var(--radius-full);position:absolute}.avatar-inner{align-items:center;background:#1e1e2d;background:var(--bg-card);color:#4a7dff;color:var(--accent-blue);display:flex;inset:2px;justify-content:center}@keyframes rotate{to{transform:rotate(1turn)}}.app-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f0f0f5,#6b96ff);background:linear-gradient(135deg,var(--text-primary),var(--accent-blue-light));-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;margin-bottom:4px}.app-subtitle{color:#8888a0;color:var(--text-secondary);font-size:.9rem;margin-bottom:24px}.difficulty-toggle{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--radius-lg);display:flex;gap:3px;margin-bottom:28px;padding:4px}.diff-btn{align-items:center;background:#0000;border:none;border-radius:12px;border-radius:var(--radius-md);color:#8888a0;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:.8rem;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:.25s ease;transition:var(--transition-normal)}.diff-btn.active{color:#f0f0f5;color:var(--text-primary)}.diff-btn.beginner.active{background:linear-gradient(135deg,#34c75933,#34c7591a);box-shadow:0 0 20px #34c7594d;box-shadow:var(--shadow-glow-green);color:#34c759;color:var(--accent-green)}.diff-btn.intermediate.active{background:linear-gradient(135deg,#4a7dff33,#4a7dff1a);box-shadow:0 0 20px #4a7dff4d;box-shadow:var(--shadow-glow-blue);color:#4a7dff;color:var(--accent-blue)}.diff-btn.advanced.active{background:linear-gradient(135deg,#af52de33,#af52de1a);box-shadow:0 0 20px #af52de4d;color:#af52de;color:var(--accent-purple)}.diff-btn:hover:not(.active){background:#ffffff0d}.quick-stats{display:flex;gap:20px;margin-bottom:auto}.stat{align-items:center;background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:80px;padding:12px 20px}.stat-value{color:#f0f0f5;color:var(--text-primary);font-size:1.5rem;font-weight:700}.stat-label{color:#555570;color:var(--text-muted);font-size:.7rem;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.call-button-container{align-items:center;display:flex;flex-direction:column;padding-bottom:24px}.call-button{align-items:center;background:linear-gradient(135deg,#34c759,#2da44e);background:linear-gradient(135deg,var(--accent-green),var(--accent-green-dark));border:none;border-radius:50%;border-radius:var(--radius-full);box-shadow:0 0 20px #34c7594d,0 4px 16px #0006;box-shadow:var(--shadow-glow-green),var(--shadow-md);color:#fff;cursor:pointer;display:flex;height:72px;justify-content:center;margin-bottom:8px;transition:.25s ease;transition:var(--transition-normal);width:72px}.call-button:hover{box-shadow:0 0 30px #34c75980,0 8px 32px #00000080;box-shadow:0 0 30px #34c75980,var(--shadow-lg);transform:scale(1.08)}.call-button:active{transform:scale(.95)}.call-label{color:#555570;color:var(--text-muted);font-size:.8rem}.call-screen{background:linear-gradient(180deg,#0a0a0f,#12121a);background:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 100%);padding:0 16px}.call-header{align-items:flex-start;display:flex;justify-content:space-between;padding:16px 8px 12px}.call-info{display:flex;flex-direction:column}.call-status{color:#34c759;color:var(--accent-green);font-size:.85rem;font-weight:500}.call-timer{font-feature-settings:"tnum";color:#f0f0f5;color:var(--text-primary);font-size:1.8rem;font-variant-numeric:tabular-nums;font-weight:300}.call-mode-badge{border-radius:28px;border-radius:var(--radius-xl);font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.call-mode-badge.beginner{background:#34c75926;border:1px solid #34c7594d;color:#34c759;color:var(--accent-green)}.call-mode-badge.intermediate{background:#4a7dff26;border:1px solid #4a7dff4d;color:#4a7dff;color:var(--accent-blue)}.call-mode-badge.advanced{background:#af52de26;border:1px solid #af52de4d;color:#af52de;color:var(--accent-purple)}.call-visual{height:60px;justify-content:center;margin:8px 0 16px}.call-visual,.waveform{align-items:center;display:flex}.waveform{gap:3px;height:40px}.wave-bar{background:#4a7dff;background:var(--accent-blue);border-radius:2px;height:8px;transition:height .15s ease;width:4px}.waveform.active .wave-bar{animation:wave .8s ease-in-out infinite}.wave-bar:first-child{animation-delay:0s}.wave-bar:nth-child(2){animation-delay:.08s}.wave-bar:nth-child(3){animation-delay:.16s}.wave-bar:nth-child(4){animation-delay:.24s}.wave-bar:nth-child(5){animation-delay:.32s}.wave-bar:nth-child(6){animation-delay:.4s}.wave-bar:nth-child(7){animation-delay:.48s}.wave-bar:nth-child(8){animation-delay:.56s}.wave-bar:nth-child(9){animation-delay:.64s}.wave-bar:nth-child(10){animation-delay:.72s}.wave-bar:nth-child(11){animation-delay:.8s}.wave-bar:nth-child(12){animation-delay:.88s}@keyframes wave{0%,to{height:8px;opacity:.4}50%{height:32px;opacity:1}}.call-messages{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:8px 0;scrollbar-color:#252535 #0000;scrollbar-color:var(--bg-elevated) #0000;scrollbar-width:thin}.call-messages::-webkit-scrollbar{width:4px}.call-messages::-webkit-scrollbar-thumb{background:#252535;background:var(--bg-elevated);border-radius:2px}.message{animation:messageIn .3s ease;border-radius:12px;border-radius:var(--radius-md);font-size:.85rem;line-height:1.5;max-width:85%;padding:10px 14px}@keyframes messageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.tutor{align-self:flex-start;background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-bottom-left-radius:4px;color:#f0f0f5;color:var(--text-primary)}.message.tutor .sender{color:#4a7dff;color:var(--accent-blue);display:block;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.message.user{align-self:flex-end;background:linear-gradient(135deg,#4a7dff,#3a5fd9);background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-dark));border-bottom-right-radius:4px;color:#fff}.message.user .sender{color:#ffffffb3;display:block;font-size:.7rem;font-weight:500;margin-bottom:4px}.message.system{align-self:center;background:#ff99001a;border-radius:28px;border-radius:var(--radius-xl);color:#ff9500;color:var(--accent-orange);font-size:.75rem;padding:6px 12px;text-align:center}.call-input-area{padding:8px 0}.voice-indicator{display:none;padding:4px;text-align:center}.voice-indicator.active{display:block}.mic-status{animation:pulse 1.5s ease-in-out infinite;color:#4a7dff;color:var(--accent-blue);font-size:.8rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.mic-row{flex-direction:column;gap:8px;padding:4px 0}.btn-mic-large,.mic-row{align-items:center;display:flex}.btn-mic-large{background:#1a1a25;background:var(--bg-tertiary);border:2px solid #ffffff14;border:2px solid var(--border-color);border-radius:50%;border-radius:var(--radius-full);color:#8888a0;color:var(--text-secondary);cursor:pointer;height:64px;justify-content:center;transition:.25s ease;transition:var(--transition-normal);width:64px}.btn-mic-large:hover{background:#4a7dff1a;border-color:#4a7dff;border-color:var(--accent-blue);color:#4a7dff;color:var(--accent-blue)}.btn-mic-large.recording{animation:pulse 1s ease-in-out infinite;background:#ff3b5c26;border-color:#ff3b5c;border-color:var(--accent-red);box-shadow:0 0 20px #ff3b5c4d;color:#ff3b5c;color:var(--accent-red)}.mic-hint{color:#555570;color:var(--text-muted);font-size:.7rem}.call-controls{gap:24px;padding:16px 0 24px}.call-controls,.control-btn{align-items:center;display:flex;justify-content:center}.control-btn{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:50%;border-radius:var(--radius-full);color:#f0f0f5;color:var(--text-primary);cursor:pointer;height:52px;transition:.25s ease;transition:var(--transition-normal);width:52px}.control-btn:hover{background:#252535;background:var(--bg-elevated);transform:scale(1.05)}.control-btn.active{background:#4a7dff;background:var(--accent-blue);border-color:#0000;color:#fff}.control-btn.end-call{background:linear-gradient(135deg,#ff3b5c,#d93049);background:linear-gradient(135deg,var(--accent-red),var(--accent-red-dark));border:none;box-shadow:0 0 20px #ff3b5c4d;box-shadow:var(--shadow-glow-red);color:#fff}.control-btn.end-call:hover{box-shadow:0 0 30px #ff3b5c80;transform:scale(1.1)}.volume-control-wrapper{align-items:center;display:flex;position:relative}.volume-popup{align-items:center;background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--radius-lg);bottom:100%;box-shadow:var(--shadow-glow);display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:12px 16px;z-index:10}.volume-popup,.volume-popup:after{left:50%;position:absolute;transform:translateX(-50%)}.volume-popup:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #1a1a25;border-top:6px solid var(--bg-tertiary);bottom:-6px;content:""}.volume-slider{appearance:none;background:#12121a;background:var(--bg-secondary);border-radius:2px;cursor:pointer;direction:rtl;height:4px;height:80px;width:100px;width:4px;writing-mode:vertical-lr}.volume-slider::-webkit-slider-thumb{appearance:none;background:#4a7dff;background:var(--accent-blue);border-radius:50%;cursor:pointer;height:16px;-webkit-transition:transform .15s ease;transition:transform .15s ease;width:16px}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{background:#4a7dff;background:var(--accent-blue);border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.volume-value{color:#555570;color:var(--text-muted);font-size:.75rem;min-width:32px;text-align:center}.phone-bottom-bar{background:#12121a;background:var(--bg-secondary);border-top:1px solid #ffffff14;border-top:1px solid var(--border-color);justify-content:space-around;padding:8px 16px 20px}.nav-btn,.phone-bottom-bar{align-items:center;display:flex}.nav-btn{background:#0000;border:none;border-radius:12px;border-radius:var(--radius-md);color:#555570;color:var(--text-muted);cursor:pointer;height:48px;justify-content:center;transition:.25s ease;transition:var(--transition-normal);width:48px}.nav-btn:hover{background:#1a1a25;background:var(--bg-tertiary);color:#f0f0f5;color:var(--text-primary)}.nav-btn.active{color:#4a7dff;color:var(--accent-blue)}.admin-panel,.auth-panel,.history-panel,.notes-panel,.profile-panel,.transcript-panel{background:#12121a;background:var(--bg-secondary);border-left:1px solid #ffffff14;border-left:1px solid var(--border-color);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);height:100vh;overflow-y:auto;position:fixed;right:-400px;top:0;transition:right .35s cubic-bezier(.4,0,.2,1);width:380px;z-index:1000}.admin-panel.open,.auth-panel.open,.history-panel.open,.notes-panel.open,.profile-panel.open,.transcript-panel.open{right:0}.admin-content,.auth-content,.history-content,.notes-content,.profile-content,.transcript-content{padding:24px}.admin-content h2,.auth-content h2,.history-content h2,.notes-content h2,.profile-content h2,.transcript-content h2{color:#f0f0f5;color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:24px}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.panel-header h2{margin-bottom:0}.btn-close-panel{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#8888a0;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;padding:6px 16px;transition:.25s ease;transition:var(--transition-normal);width:auto}.btn-close-panel:hover{background:#252535;background:var(--bg-elevated)}#notesArea,.btn-close-panel:hover{color:#f0f0f5;color:var(--text-primary)}#notesArea{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);font-family:inherit;font-size:.9rem;height:calc(100vh - 200px);line-height:1.6;outline:none;padding:16px;resize:none;width:100%}#notesArea:focus{border-color:#4a7dff;border-color:var(--accent-blue)}.notes-footer{align-items:center;display:flex;justify-content:space-between;padding-top:12px}.notes-status{color:#555570;color:var(--text-muted);font-size:.8rem}.btn-clear-notes{background:#ff3b5c1a;border:1px solid #ff3b5c33;border-radius:12px;border-radius:var(--radius-md);color:#ff3b5c;color:var(--accent-red);cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;padding:8px 16px;transition:.25s ease;transition:var(--transition-normal)}.btn-clear-notes:hover{background:#ff3b5c33}.history-list{max-height:calc(100vh - 240px);overflow-y:auto}.empty-history{color:#555570;color:var(--text-muted);font-size:.9rem;padding:40px 20px;text-align:center}.history-item{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);cursor:pointer;margin-bottom:12px;padding:14px;transition:.25s ease;transition:var(--transition-normal)}.history-item:hover{background:#252535;background:var(--bg-elevated);border-color:#4a7dff;border-color:var(--accent-blue)}.history-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.history-date{color:#555570;color:var(--text-muted);font-size:.8rem}.history-mode{border-radius:28px;border-radius:var(--radius-xl);font-size:.7rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.history-mode.beginner{background:#34c75926;color:#34c759;color:var(--accent-green)}.history-mode.intermediate{background:#4a7dff26;color:#4a7dff;color:var(--accent-blue)}.history-mode.advanced{background:#af52de26;color:#af52de;color:var(--accent-purple)}.history-duration{color:#f0f0f5;color:var(--text-primary);font-size:.85rem;font-weight:500}.history-transcript{color:#8888a0;color:var(--text-secondary);font-size:.8rem;line-height:1.4;margin-top:4px;max-height:60px;overflow:hidden;text-overflow:ellipsis}.history-footer{border-top:1px solid #ffffff14;border-top:1px solid var(--border-color);margin-top:8px;padding-top:16px}.btn-clear-history{background:#ff3b5c1a;border:1px solid #ff3b5c33;border-radius:12px;border-radius:var(--radius-md);color:#ff3b5c;color:var(--accent-red);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;padding:12px;transition:.25s ease;transition:var(--transition-normal);width:100%}.btn-clear-history:hover{background:#ff3b5c33}.transcript-tabs{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);display:flex;margin-bottom:12px;padding:3px}.transcript-tab{background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#8888a0;color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:inherit;font-size:.8rem;font-weight:600;padding:8px 12px;transition:.15s ease;transition:var(--transition-fast)}.transcript-tab.active{background:#252535;background:var(--bg-elevated);color:#f0f0f5;color:var(--text-primary)}.transcript-tab:hover:not(.active){background:#ffffff0d;color:#f0f0f5;color:var(--text-primary)}.transcript-tab-content{position:relative}.tab-pane{display:none}.tab-pane.active{display:block}.transcript-log{max-height:calc(100vh - 310px);overflow-y:auto;padding:4px 0}.transcript-entry{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);font-size:.85rem;line-height:1.5;padding:10px 0}.transcript-entry:last-child{border-bottom:none}.transcript-entry .entry-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.transcript-entry .entry-sender{font-size:.7rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.transcript-entry .entry-sender.tutor{color:#4a7dff;color:var(--accent-blue)}.transcript-entry .entry-sender.user{color:#34c759;color:var(--accent-green)}.transcript-entry .entry-sender.system{color:#ff9500;color:var(--accent-orange)}.transcript-entry .entry-time{color:#555570;color:var(--text-muted);font-size:.65rem}.transcript-entry .entry-text{color:#f0f0f5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.transcript-entry .entry-text.system-text{color:#ff9500;color:var(--accent-orange);font-style:italic}.empty-transcript{color:#555570;color:var(--text-muted);font-size:.9rem;padding:40px 20px;text-align:center}.transcript-footer{align-items:center;border-top:1px solid #ffffff14;border-top:1px solid var(--border-color);display:flex;gap:8px;justify-content:space-between;margin-top:8px;padding-top:12px}.btn-copy-transcript{background:#4a7dff1a;border:1px solid #4a7dff33;border-radius:12px;border-radius:var(--radius-md);color:#4a7dff;color:var(--accent-blue);cursor:pointer;flex:1 1;font-family:inherit;font-size:.85rem;font-weight:500;padding:10px 16px;transition:.25s ease;transition:var(--transition-normal)}.btn-copy-transcript:hover{background:#4a7dff33}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#8888a0;color:var(--text-secondary);font-size:.85rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#f0f0f5;color:var(--text-primary);font-family:inherit;font-size:.9rem;padding:12px 16px;transition:.25s ease;transition:var(--transition-normal);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a7dff;border-color:var(--accent-blue);box-shadow:0 0 0 2px #4a7dff33;outline:none}.form-group input::placeholder{color:#555570;color:var(--text-muted)}.btn-primary{background:linear-gradient(135deg,#4a7dff,#3a5fd9);background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-dark));border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:12px 24px;transition:.25s ease;transition:var(--transition-normal);width:100%}.btn-primary:hover{box-shadow:0 0 20px #4a7dff4d;box-shadow:var(--shadow-glow-blue);transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-secondary{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#f0f0f5;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:12px 24px;transition:.25s ease;transition:var(--transition-normal);width:100%}.btn-secondary:hover{background:#252535;background:var(--bg-elevated)}.auth-link{color:#8888a0;color:var(--text-secondary);font-size:.85rem;margin-top:1rem;text-align:center}.auth-link a{color:#4a7dff;color:var(--accent-blue);text-decoration:none}.auth-link a:hover{text-decoration:underline}.error-message{background:#ff3b5c1a;border:1px solid #ff3b5c33;border-radius:12px;border-radius:var(--radius-md);color:#ff3b5c;color:var(--accent-red)}.error-message,.success-message{font-size:.85rem;padding:12px 16px;text-align:center}.success-message{background:#34c7591a;border:1px solid #34c75933;border-radius:12px;border-radius:var(--radius-md);color:#34c759;color:var(--accent-green)}.admin-tabs{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.tab{background:#1a1a25;background:var(--bg-tertiary);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#8888a0;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;padding:8px 16px;transition:.15s ease;transition:var(--transition-fast)}.tab:hover{color:#f0f0f5;color:var(--text-primary)}.tab.active{background:#4a7dff;background:var(--accent-blue);color:#fff}.admin-table{border-collapse:collapse;font-size:.85rem;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);padding:12px;text-align:left}.admin-table th{color:#8888a0;color:var(--text-secondary);font-weight:600}.admin-table th,.admin-table tr:hover td{background:#1a1a25;background:var(--bg-tertiary)}.btn-delete{background:#ff3b5c1a;border:1px solid #ff3b5c33;border-radius:8px;border-radius:var(--radius-sm);color:#ff3b5c;color:var(--accent-red);cursor:pointer;font-family:inherit;font-size:.8rem;padding:6px 12px;transition:.15s ease;transition:var(--transition-fast)}.btn-delete:hover{background:#ff3b5c33}.admin-stats{background:#1a1a25;background:var(--bg-tertiary);border-radius:12px;border-radius:var(--radius-md);color:#555570;color:var(--text-muted);font-size:.85rem;margin-top:1rem;padding:12px;text-align:right}.profile-info{margin-bottom:2rem}.profile-info p{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 0}.profile-info strong{color:#8888a0;color:var(--text-secondary);font-weight:500}.profile-info span{color:#f0f0f5;color:var(--text-primary)}@media (max-width:420px){.phone{border:none;border-radius:0;height:100vh;width:100vw}.phone-notch{display:none}.admin-panel,.auth-panel,.history-panel,.notes-panel,.profile-panel,.transcript-panel{right:-100vw;width:100vw}}@media (min-width:421px) and (max-width:800px){.phone{height:700px;width:375px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#252535;background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#555570;background:var(--text-muted)}.hidden{display:none!important}.loading-spinner{align-items:center;color:#555570;color:var(--text-muted);display:flex;height:100%;justify-content:center}.toast{background:#252535;background:var(--bg-elevated);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);bottom:24px;box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);color:#f0f0f5;color:var(--text-primary);font-size:.85rem;left:50%;opacity:0;padding:12px 24px;position:fixed;transform:translateX(-50%) translateY(100px);transition:transform .3s ease,opacity .3s ease;z-index:2000}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.success{border-color:#34c759;border-color:var(--accent-green);color:#34c759;color:var(--accent-green)}.toast.error{border-color:#ff3b5c;border-color:var(--accent-red);color:#ff3b5c;color:var(--accent-red)}.toast.info{border-color:#4a7dff;border-color:var(--accent-blue);color:#4a7dff;color:var(--accent-blue)}.chat-input{display:flex;gap:8px;padding:8px 0}.chat-input input{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#f0f0f5;color:var(--text-primary);flex:1 1;font-family:inherit;font-size:.9rem;padding:12px 16px}.chat-input input:focus{border-color:#4a7dff;border-color:var(--accent-blue);outline:none}.chat-input button{background:linear-gradient(135deg,#4a7dff,#3a5fd9);background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-dark));border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-family:inherit;font-weight:600;padding:12px 20px;transition:.25s ease;transition:var(--transition-normal)}.chat-input button:hover{box-shadow:0 0 20px #4a7dff4d;box-shadow:var(--shadow-glow-blue)}.previous-session{color:#555570;color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:8px 0 4px;text-transform:uppercase}.transcript-separator{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);color:#555570;color:var(--text-muted);font-size:.75rem;padding:12px 0;text-align:center}.loading-screen{align-items:center;color:#555570;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;min-height:200px}.loading-screen .loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff14;border-top-color:#4a7dff;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--accent-blue);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.landing-page-full{align-items:center;background:#0a0a0f;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,#4a7dff1f 0,#0000 50%),radial-gradient(ellipse at 80% 20%,#af52de14 0,#0000 50%),radial-gradient(ellipse at 60% 80%,#34c7590f 0,#0000 50%);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.landing-container{max-width:900px;width:100%}.landing-hero{margin-bottom:60px;text-align:center}.logo-container{height:100px;margin:0 auto 24px;position:relative;width:100px}.logo-ring{animation:rotate 8s linear infinite;background:conic-gradient(from 0deg,#4a7dff,#af52de,#6b96ff,#4a7dff);background:conic-gradient(from 0deg,var(--accent-blue),var(--accent-purple),var(--accent-blue-light),var(--accent-blue));inset:-4px}.logo-inner,.logo-ring{border-radius:50%;border-radius:var(--radius-full);position:absolute}.logo-inner{align-items:center;background:#0a0a0f;background:var(--bg-primary);color:#4a7dff;color:var(--accent-blue);display:flex;inset:4px;justify-content:center}.landing-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f0f0f5,#6b96ff);background:linear-gradient(135deg,var(--text-primary),var(--accent-blue-light));-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:700;margin-bottom:12px}.landing-subtitle{color:#8888a0;color:var(--text-secondary);font-size:1.2rem;margin-bottom:40px}.landing-cta{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.btn-landing-primary{background:linear-gradient(135deg,#4a7dff,#3a5fd9);background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-dark));border:none;border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 0 20px #4a7dff4d;box-shadow:var(--shadow-glow-blue);color:#fff;cursor:pointer;font-family:inherit;font-size:1.1rem;font-weight:600;padding:16px 40px;text-decoration:none;transition:.25s ease;transition:var(--transition-normal)}.btn-landing-primary:hover{box-shadow:0 0 30px #4a7dff80;transform:translateY(-2px)}.btn-landing-secondary{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--radius-lg);color:#f0f0f5;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:1.1rem;font-weight:600;padding:16px 40px;text-decoration:none;transition:.25s ease;transition:var(--transition-normal)}.btn-landing-secondary:hover{background:#252535;background:var(--bg-elevated);border-color:#4a7dff;border-color:var(--accent-blue)}.landing-features{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-card{background:#12121a;background:var(--bg-secondary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--radius-lg);padding:32px;text-align:center;transition:.25s ease;transition:var(--transition-normal)}.feature-card:hover{border-color:#4a7dff;border-color:var(--accent-blue);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.feature-icon{align-items:center;background:linear-gradient(135deg,#4a7dff33,#4a7dff1a);border-radius:12px;border-radius:var(--radius-md);color:#4a7dff;color:var(--accent-blue);display:flex;height:60px;justify-content:center;margin:0 auto 20px;width:60px}.feature-card h3{color:#f0f0f5;color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:12px}.feature-card p{color:#8888a0;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.auth-page-full{align-items:center;background:#0a0a0f;background:var(--bg-primary);background-image:radial-gradient(ellipse at 20% 50%,#4a7dff1f 0,#0000 50%),radial-gradient(ellipse at 80% 20%,#af52de14 0,#0000 50%);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.auth-container{max-width:420px;width:100%}.auth-logo{color:#f0f0f5;color:var(--text-primary);font-size:1.2rem;font-weight:600;gap:12px;margin-bottom:32px;text-decoration:none}.auth-logo,.logo-small{align-items:center;display:flex;justify-content:center}.logo-small{background:linear-gradient(135deg,#4a7dff,#af52de);background:linear-gradient(135deg,var(--accent-blue),var(--accent-purple));border-radius:12px;border-radius:var(--radius-md);color:#fff;height:48px;width:48px}.auth-card{background:#12121a;background:var(--bg-secondary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000080;box-shadow:var(--shadow-lg);padding:40px}.auth-card h2{color:#f0f0f5;color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:8px;text-align:center}.auth-subtitle{color:#8888a0;color:var(--text-secondary);font-size:.95rem;margin-bottom:32px;text-align:center}.auth-card .auth-form{display:flex;flex-direction:column;gap:20px}.auth-card .form-group{display:flex;flex-direction:column;gap:8px}.auth-card .form-group label{color:#8888a0;color:var(--text-secondary);font-size:.9rem;font-weight:500}.auth-card .form-group input,.auth-card .form-group select{background:#1a1a25;background:var(--bg-tertiary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);color:#f0f0f5;color:var(--text-primary);font-family:inherit;font-size:1rem;padding:14px 16px;transition:.25s ease;transition:var(--transition-normal);width:100%}.auth-card .form-group input:focus,.auth-card .form-group select:focus{border-color:#4a7dff;border-color:var(--accent-blue);box-shadow:0 0 0 3px #4a7dff26;outline:none}.auth-card .form-group input::placeholder{color:#555570;color:var(--text-muted)}.auth-card .btn-primary{background:linear-gradient(135deg,#4a7dff,#3a5fd9);background:linear-gradient(135deg,var(--accent-blue),var(--accent-blue-dark));border:none;border-radius:12px;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:600;margin-top:8px;padding:14px 24px;transition:.25s ease;transition:var(--transition-normal);width:100%}.auth-card .btn-primary:hover{box-shadow:0 0 20px #4a7dff4d;box-shadow:var(--shadow-glow-blue);transform:translateY(-2px)}.auth-card .btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-card .auth-link{color:#8888a0;color:var(--text-secondary);font-size:.9rem;margin-top:24px;text-align:center}.auth-card .auth-link a{color:#4a7dff;color:var(--accent-blue);font-weight:500;text-decoration:none}.auth-card .auth-link a:hover{text-decoration:underline}.auth-card .error-message{background:#ff3b5c1a;border:1px solid #ff3b5c33;border-radius:12px;border-radius:var(--radius-md);color:#ff3b5c;color:var(--accent-red);font-size:.9rem;margin-bottom:8px;padding:12px 16px;text-align:center}@media (max-width:600px){.landing-title{font-size:2rem}.landing-subtitle{font-size:1rem}.landing-cta{flex-direction:column}.btn-landing-primary,.btn-landing-secondary{text-align:center;width:100%}.auth-card{padding:24px}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideIn .2s ease;background:#12121a;background:var(--bg-secondary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:20px;border-radius:var(--radius-lg);margin:20px;max-width:400px;padding:24px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.modal-header h3{color:#f0f0f5;color:var(--text-primary);font-size:1.2rem;font-weight:600}.admin-page{margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.admin-page-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.admin-page-header h1{color:#f0f0f5;color:var(--text-primary);font-size:1.75rem;font-weight:600}.admin-page .btn-secondary{padding:10px 20px;width:auto}.admin-page .admin-tabs{margin-bottom:1.5rem}.admin-page .table-container{background:#12121a;background:var(--bg-secondary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);overflow:hidden}.admin-page .admin-table{font-size:.9rem}.admin-page .admin-table th{background:#1a1a25;background:var(--bg-tertiary);position:sticky;top:0}.user-admin-page{margin:0 auto;max-width:1000px;min-height:100vh;padding:24px}.user-admin-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.user-admin-header h1{color:#f0f0f5;color:var(--text-primary);font-size:1.75rem;font-weight:600}.create-user-form{background:#12121a;background:var(--bg-secondary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);margin-bottom:24px;padding:24px}.create-user-form h2{color:#f0f0f5;color:var(--text-primary);font-size:1.2rem;font-weight:600;margin-bottom:16px}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-row .form-group{flex:1 1}@media (max-width:600px){.form-row{flex-direction:column;gap:0}}.users-table-container{background:#12121a;background:var(--bg-secondary);border:1px solid #ffffff14;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md);overflow:hidden}.table-header{align-items:center;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.table-header h2{color:#f0f0f5;color:var(--text-primary);font-size:1rem;font-weight:600;margin:0}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-color);padding:14px 20px;text-align:left}.users-table th{color:#8888a0;color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.users-table th,.users-table tr:hover td{background:#1a1a25;background:var(--bg-tertiary)}.users-table tr:last-child td{border-bottom:none}.email-cell{color:#f0f0f5;color:var(--text-primary);font-weight:500}.date-cell{color:#555570;color:var(--text-muted);font-size:.85rem}.level-badge{border-radius:28px;border-radius:var(--radius-xl);display:inline-block;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:capitalize}.level-badge.beginner{background:#34c75926;color:#34c759;color:var(--accent-green)}.level-badge.intermediate{background:#4a7dff26;color:#4a7dff;color:var(--accent-blue)}.level-badge.advanced{background:#af52de26;color:#af52de;color:var(--accent-purple)}.empty-state{font-size:1rem}.empty-state,.loading-text{color:#555570;color:var(--text-muted);padding:48px 24px;text-align:center}
/*# sourceMappingURL=main.1cb9e739.css.map*/