@charset "UTF-8";body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--popover:#020817;--popover-foreground:#f8fafc;--card:#020817;--card-foreground:#f8fafc;--primary:#03335e;--secondary:#fdaf08;--secondary-foreground:#0f172a;--accent:#1e293b;--accent-foreground:#f8fafc;--destructive:#7f1d1d;--destructive-foreground:#f8fafc;--ring:#cbd5e1;--font-family:"Space Mono",monospace}*,:after,:before{border:0 solid #1e293b;border:0 solid var(--border);box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#020817;background-color:var(--background);color:#f8fafc;color:var(--foreground);font-family:Space Mono,monospace;font-family:var(--font-family);height:100vh;line-height:1.5;overflow:hidden;width:100vw}#root,.App{height:100%;width:100%}.App{display:flex}.hidden{display:none!important}button,input,select,textarea{background-color:#0000;border:1px solid #1e293b;border:1px solid var(--input);border-radius:.5rem;border-radius:var(--radius);color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;padding:.5rem .75rem}button{align-items:center;cursor:pointer;display:inline-flex;font-weight:500;justify-content:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,opacity .15s ease-in-out;white-space:nowrap}button:focus-visible{box-shadow:0 0 0 2px #020817,0 0 0 4px #cbd5e1;box-shadow:0 0 0 2px var(--background),0 0 0 4px var(--ring);outline:2px solid #0000;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}.button{background-color:#03335e;background-color:var(--primary);color:#f8fafc;color:var(--primary-foreground)}.button:hover{filter:brightness(.9)}.button-secondary{background-color:#fdaf08;background-color:var(--secondary);color:#0f172a;color:var(--secondary-foreground)}.button-secondary:hover{filter:brightness(.9)}.button-outline{background-color:#020817;background-color:var(--background);border-color:#1e293b;border-color:var(--input);color:#f8fafc;color:var(--foreground)}.button-outline:hover{background-color:#1e293b;background-color:var(--accent);color:#f8fafc;color:var(--accent-foreground)}.button-ghost{background-color:#0000;border-color:#0000;color:#f8fafc;color:var(--foreground)}.button-ghost:hover{background-color:#1e293b;background-color:var(--accent);color:#f8fafc;color:var(--accent-foreground)}.button-destructive{background-color:#7f1d1d;background-color:var(--destructive);color:#f8fafc;color:var(--destructive-foreground)}.button-destructive:hover{filter:brightness(.9)}.material-symbols-outlined{font-size:1.25rem;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20;vertical-align:middle}.feedback-section{background-color:#020817;background-color:var(--card);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;color:#f8fafc;color:var(--card-foreground);display:flex;flex-direction:column;gap:1rem;left:50%;min-width:350px;padding:1.5rem;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1001}.feedback-section h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.feedback-section label{color:#94a3b8;color:var(--muted-foreground);display:block;font-size:.875rem;margin-bottom:.25rem}.feedback-section input[type=number],.feedback-section textarea{background-color:#1e293b;background-color:var(--input);border-color:#1e293b;border-color:var(--border);color:#f8fafc;color:var(--foreground)}.feedback-section input[type=number]:focus,.feedback-section textarea:focus{border-color:#cbd5e1;border-color:var(--ring);box-shadow:none}.feedback-section .feedback-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.layout-content,.main-app-content{display:flex;flex-direction:column;height:100%}.main-app-content{gap:1rem;padding:1rem;position:relative}.main-app-area,.main-app-content{align-items:center;flex-grow:1;justify-content:center}.main-app-area{display:flex;max-height:calc(100% - 80px);overflow:hidden;width:100%}.stream{background-color:#000;border-radius:.5rem;border-radius:var(--radius);display:block;max-height:100%;max-width:100%;object-fit:contain}.stream.hidden{display:none}.sidebar{border-right:1px solid #2a2f31;border-right:1px solid var(--sidebar-border,#2a2f31);color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);display:flex;flex-direction:column;height:100vh;overflow-x:hidden;position:relative;transition:width .2s ease-in-out;width:260px}.sidebar.collapsed{width:60px}.sidebar .collapse-button-top{align-items:center;background:#0000;border:none;border-radius:4px;color:#b4b8bb;color:var(--icon-color,#b4b8bb);cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:10px;top:10px;z-index:10}.sidebar .collapse-button-top:hover{background-color:#ffffff1a;background-color:var(--hover-bg,#ffffff1a);color:#fff;color:var(--hover-color,#fff)}.sidebar .collapse-button-top svg{height:16px;width:16px}.sidebar .sidebar-header{align-items:center;display:flex;height:60px;padding:16px}.sidebar .sidebar-header .logo-container{overflow:hidden;padding-right:30px;width:100%}.sidebar .sidebar-header .logo-container .logo-full{word-wrap:break-word;display:block;font-size:16px;font-weight:600;line-height:1.2;white-space:normal}.sidebar.collapsed .sidebar .sidebar-header .logo-container .logo-full{display:none}.sidebar .sidebar-header .logo-container .logo-mini{display:none;font-size:14px;font-weight:600;line-height:1.2}.sidebar.collapsed .sidebar .sidebar-header .logo-container .logo-mini{word-wrap:break-word;display:block;white-space:normal}.sidebar .sidebar-nav{flex:1 1;overflow-y:auto;padding:16px 0}.sidebar .sidebar-nav ul{list-style-type:none;margin:0;padding:0}.sidebar .sidebar-nav ul li{margin-bottom:4px}.sidebar .sidebar-nav ul li .nav-item{align-items:center;border-radius:4px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);display:flex;padding:10px 16px;text-decoration:none;transition:background-color .2s}.sidebar .sidebar-nav ul li .nav-item:hover{background-color:#ffffff1a;background-color:var(--item-hover-bg,#ffffff1a)}.sidebar .sidebar-nav ul li .nav-item .nav-icon{align-items:center;display:flex;height:24px;justify-content:center;margin-right:12px;width:24px}.sidebar .sidebar-nav ul li .nav-item .nav-icon svg{height:20px;width:20px}.sidebar .sidebar-nav ul li .nav-item .nav-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar.collapsed .sidebar .sidebar-nav ul li .nav-item .nav-text{display:none}.sidebar .sidebar-footer{border-top:1px solid #2a2f31;border-top:1px solid var(--sidebar-border,#2a2f31);padding:16px}.sidebar.collapsed .collapse-button-top{right:10px}.button-ghost{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:center}.nav-item{position:relative}.nav-item.active{background-color:#60a5fa33;font-weight:600}.nav-item.active:before{background-color:#60a5fa;border-radius:0 2px 2px 0;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.nav-item.active .nav-icon{color:#60a5fa}.nav-item.active .nav-icon svg{stroke:#60a5fa;color:#60a5fa}.nav-item.active .nav-text{color:#e1e2e3;font-weight:600}.top-header{background-color:var(--background);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;min-height:4rem;padding:0 1.5rem;position:relative;width:100%;z-index:100}.top-header,.top-header-left{align-items:center;display:flex}.top-header-left{gap:.75rem}.top-header-right{align-items:center;display:flex;gap:.5rem;padding-right:.5rem}.breadcrumb .breadcrumb-list{align-items:center;color:var(--muted-foreground);display:flex;font-size:.875rem;list-style:none;margin:0;padding:0}.breadcrumb .breadcrumb-item a{color:var(--muted-foreground);font-weight:400;text-decoration:none;transition:color .2s ease-in-out}.breadcrumb .breadcrumb-item a:hover{color:#f4ac04}.breadcrumb .breadcrumb-item.current{color:#f4ac04;font-size:1rem;font-weight:500}.breadcrumb .breadcrumb-separator{color:var(--muted-foreground);margin:0 .75rem;opacity:.6}.header-button{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--muted-foreground);cursor:pointer;display:flex;height:2.5rem;justify-content:center;min-width:2.5rem;padding:.75rem;position:relative;transition:all .2s ease}.header-button:hover{background-color:#f4ac041a;border-color:#f4ac044d;color:#f4ac04}.header-button:hover .header-button-tooltip{opacity:1;transform:translateY(-50%) translateX(-4px)}.header-button:focus{outline:2px solid #f4ac04;outline-offset:2px}.header-button:active{transform:scale(.95)}.header-button svg{stroke-width:2;height:1.25rem;width:1.25rem}.header-button .header-button-tooltip{background:var(--popover);border-radius:6px;box-shadow:0 6px 12px #00000026;color:var(--popover-foreground);font-size:12px;font-weight:500;margin-right:8px;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;right:100%;top:50%;transform:translateY(-50%) translateX(-8px);transition:all .2s ease;white-space:nowrap;z-index:1000}.header-button .header-button-tooltip:after{border:5px solid #0000;border-left:5px solid var(--popover);content:"";left:100%;position:absolute;top:50%;transform:translateY(-50%)}.header-menu-container{position:relative;z-index:2000}.header-dropdown-menu{background-color:var(--popover);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:var(--popover-foreground);display:flex;flex-direction:column;min-width:180px;padding:.5rem 0;position:absolute;right:0;top:calc(100% + .5rem);z-index:2100}.header-dropdown-menu .dropdown-header{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:.5rem 1rem}.header-dropdown-menu .dropdown-header .user-name{color:var(--foreground);font-size:.9rem;font-weight:500}.header-dropdown-menu .dropdown-header .user-role{color:#f4ac04;font-size:.75rem;font-weight:500;letter-spacing:.5px;text-transform:capitalize}.header-menu-item{align-items:center;background:none;border:none;color:var(--popover-foreground);cursor:pointer;display:flex;font-size:.875rem;gap:.75rem;padding:.5rem 1rem;text-align:left;width:100%}.header-menu-item .menu-item-icon{color:var(--muted-foreground);font-size:1rem;height:1rem;width:1rem}.header-menu-item:hover{background-color:var(--accent)}.header-menu-item:hover,.header-menu-item:hover .menu-item-icon{color:var(--accent-foreground)}.toast-container{bottom:20px;z-index:1100}.toast{align-items:center;animation:toast-slide-in .3s ease-out forwards;border-radius:6px;box-shadow:0 4px 12px #00000026;display:flex;justify-content:space-between;max-width:400px;min-width:300px;padding:12px 16px}.toast.toast-success{background-color:#10b981;color:#fff}.toast.toast-error{background-color:#ef4444;color:#fff}.toast.toast-info{background-color:#3b82f6;color:#fff}.toast .toast-content{align-items:center;display:flex;flex:1 1}.toast .toast-content .toast-message{font-size:.875rem;font-weight:500}.toast .toast-close{background:none;border:none;color:#fff;cursor:pointer;margin-left:8px;opacity:.8;padding:4px}.toast .toast-close:hover{opacity:1}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.feedback-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:9999}.feedback-modal{animation:modalEnter .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;position:relative;width:100%}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.feedback-header{align-items:center;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 0}.feedback-header h2{color:#1f2937;color:var(--foreground,#1f2937);font-size:1.25rem;font-weight:600;margin:0}.close-button-feedback{background:none;border:none;border-radius:6px;color:#6b7280;color:var(--muted-foreground,#6b7280);cursor:pointer;padding:.5rem;transition:all .2s ease}.close-button-feedback:hover{background:#f3f4f6;background:var(--accent,#f3f4f6);color:#1f2937;color:var(--foreground,#1f2937)}.close-button-feedback:focus{outline:2px solid #f4ac04;outline-offset:2px}.feedback-description{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.9rem;line-height:1.5;margin:.75rem 0 0;padding:0 1.5rem}.feedback-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#1f2937;display:block;font-size:.95rem;font-weight:600;letter-spacing:.01em;margin-bottom:.75rem}.dropdown-container{position:relative}.dropdown-trigger{background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;color:#1f2937;font-size:.95rem;justify-content:space-between;padding:1rem 1.25rem;transition:all .2s ease;width:100%}.dropdown-trigger:hover{border-color:#f4ac04;box-shadow:0 4px 12px #f4ac0426;transform:translateY(-1px)}.dropdown-trigger:focus{border-color:#f4ac04;outline:2px solid #f4ac04;outline-offset:2px}.dropdown-trigger-content{align-items:center;display:flex;gap:.75rem}.dropdown-trigger-icon{color:#6b7280;flex-shrink:0}.dropdown-arrow{color:#6b7280;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{animation:dropdownEnter .15s ease-out;background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 20px 40px #00000026;left:0;margin-top:8px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}@keyframes dropdownEnter{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{align-items:flex-start;background:none;border:none;border-bottom:1px solid #f3f4f6;padding:1rem 1.25rem;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8fafc!important;color:#1f2937!important;transform:translateX(4px)}.dropdown-item:hover .dropdown-item-icon{color:#374151!important}.dropdown-item:hover .item-label{color:#1f2937!important}.dropdown-item:hover .item-description{color:#6b7280!important}.dropdown-item.selected{background:#f4ac041a!important;color:#f4ac04!important}.dropdown-item.selected .dropdown-item-icon,.dropdown-item.selected .item-label{color:#f4ac04!important}.dropdown-item.selected .item-description{color:#e09703!important}.dropdown-item:focus{background:#f8fafc!important;color:#1f2937!important;outline:none}.dropdown-item:focus .dropdown-item-icon{color:#374151!important}.dropdown-item:focus .item-label{color:#1f2937!important}.dropdown-item:focus .item-description{color:#6b7280!important}.dropdown-item-content{align-items:flex-start;display:flex;gap:.75rem;width:100%}.dropdown-item-icon{color:#6b7280;flex-shrink:0;margin-top:.125rem}.dropdown-item-text{flex:1 1}.item-label{color:#1f2937!important;font-size:.9rem;font-weight:500}.item-description{color:#6b7280!important;font-size:.8rem;margin-top:.25rem}.helper-text{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:.85rem;line-height:1.5;margin-top:.5rem;padding:.875rem 1rem}textarea{background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 3px #0000000d;color:#1f2937;font-family:inherit;font-size:.95rem;line-height:1.6;min-height:140px;padding:1rem 1.25rem;resize:vertical;transition:all .2s ease;width:100%}textarea:focus{border-color:#f4ac04;box-shadow:0 4px 12px #f4ac0426;outline:2px solid #f4ac04;outline-offset:2px}textarea::placeholder{color:#9ca3af;font-style:italic}textarea:disabled{background:#f3f4f6;cursor:not-allowed;opacity:.7}div.feedback-modal-overlay div.feedback-modal div.feedback-form div.form-group textarea#feedback-text{background:#fff!important;background-color:#fff!important;border:2px solid #e5e7eb!important;border-radius:10px!important;box-shadow:0 1px 3px #0000000d!important;color:#1f2937!important;font-family:inherit!important;font-size:.95rem!important;line-height:1.6!important;min-height:140px!important;padding:1rem 1.25rem!important;resize:vertical!important;transition:all .2s ease!important;width:100%!important}div.feedback-modal-overlay div.feedback-modal div.feedback-form div.form-group textarea#feedback-text::placeholder{color:#9ca3af!important;font-style:italic!important}div.feedback-modal-overlay div.feedback-modal div.feedback-form div.form-group textarea#feedback-text:focus{background:#fff!important;border-color:#f4ac04!important;box-shadow:0 4px 12px #f4ac0426!important;color:#1f2937!important;outline:2px solid #f4ac04!important;outline-offset:2px!important}div.feedback-modal-overlay div.feedback-modal div.feedback-form div.form-group textarea#feedback-text:hover{background:#fff!important;border-color:#f4ac04!important;color:#1f2937!important}.feedback-modal-overlay .feedback-modal .feedback-form .form-group textarea,textarea[id=feedback-text]{background:#fff!important;background-color:#fff!important;color:#1f2937!important}html body div.feedback-modal-overlay div.feedback-modal form.feedback-form div.form-group textarea#feedback-text{background:#fff!important;background-color:#fff!important;border:2px solid #e5e7eb!important;color:#1f2937!important}.metadata-card{background:#fefefe;border:2px solid #f1f5f9;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:1.5rem;overflow:hidden}.metadata-toggle{align-items:center;background:#f8fafc;border:none;color:#475569;cursor:pointer;display:flex;font-size:.9rem;justify-content:space-between;padding:1rem 1.25rem;transition:all .2s ease;width:100%}.metadata-toggle:hover{background:#f1f5f9;color:#334155}.metadata-toggle:focus{outline:2px solid #f4ac04;outline-offset:-2px}.metadata-toggle .metadata-count{background:#e2e8f0;border-radius:6px;color:#64748b;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.toggle-arrow{transition:transform .2s ease}.toggle-arrow.open{transform:rotate(90deg)}.metadata-content{background:#fff;border-top:1px solid #e5e7eb;padding:1rem}.metadata-item{display:flex;font-size:.8rem;gap:.5rem;margin-bottom:.5rem}.metadata-item:last-child{margin-bottom:0}.metadata-item.screenshot-item{align-items:stretch;flex-direction:column}.metadata-label{color:#6b7280;font-weight:500;min-width:100px}.metadata-value{color:#374151;word-break:break-word}.metadata-section-header{border-top:1px solid #e5e7eb;margin:1rem 0 .5rem;padding-top:.75rem}.metadata-section-header:first-child{border-top:none;margin-top:0;padding-top:0}.metadata-section-header strong{color:#1f2937;font-size:.85rem;font-weight:600;letter-spacing:.025em}.feedback-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-bottom:1rem}.cancel-button-feedback{background:#0000;border:2px solid #e5e7eb;border-radius:10px;color:#6b7280;cursor:pointer;font-size:.95rem;font-weight:500;padding:.875rem 1.75rem;transition:all .2s ease}.cancel-button-feedback:hover:not(:disabled){background:#f8fafc;border-color:#d1d5db;color:#374151;transform:translateY(-1px)}.cancel-button-feedback:focus{outline:2px solid #f4ac04;outline-offset:2px}.cancel-button-feedback:disabled{cursor:not-allowed;opacity:.5}.submit-button{align-items:center;background:#f4ac04;border:2px solid #f4ac04;border-radius:10px;box-shadow:0 2px 4px #f4ac0433;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.875rem 1.75rem;transition:all .2s ease}.submit-button:hover:not(:disabled){background:#e09703;border-color:#e09703;box-shadow:0 4px 12px #f4ac044d;transform:translateY(-1px)}.submit-button:focus{outline:2px solid #f4ac04;outline-offset:2px}.submit-button:disabled{box-shadow:none;opacity:.7;transform:none}.keyboard-hint{color:#9ca3af;color:var(--muted-foreground,#9ca3af);font-size:.75rem;text-align:center}.keyboard-hint kbd{background:#f3f4f6;background:var(--accent,#f3f4f6);border:1px solid #d1d5db;border:1px solid var(--border,#d1d5db);border-radius:4px;font-family:monospace;font-size:.7rem;margin:0 .125rem;padding:.125rem .25rem}.feedback-success-text{padding:3rem 2rem;text-align:center}.feedback-success-text .success-icon{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.feedback-success-text .success-icon svg{height:48px;width:48px}.feedback-success-text h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .75rem}.feedback-success-text p{color:#6b7280;color:var(--muted-foreground,#6b7280);font-size:.9rem;line-height:1.5;margin:0}@media(max-width:640px){.feedback-modal{border-radius:12px 12px 0 0;margin:0;max-height:95vh}.feedback-actions{flex-direction:column-reverse}.feedback-actions .cancel-button,.feedback-actions .submit-button{width:100%}}.feedback-modal{background:#fff!important}.feedback-modal .feedback-header h2,.feedback-modal .item-label{color:#1f2937}.feedback-modal .metadata-value{color:#374151}.feedback-modal .dropdown-trigger{background:#fff!important;border:1px solid #d1d5db!important;color:#1f2937!important}.feedback-modal .dropdown-menu{background:#fff!important}.feedback-modal .dropdown-item{color:#1f2937!important}.feedback-modal .dropdown-item:hover{background:#f8fafc!important;color:#1f2937!important}.feedback-modal .dropdown-item:hover .dropdown-item-icon{color:#374151!important}.feedback-modal .dropdown-item:hover .item-label{color:#1f2937!important}.feedback-modal .dropdown-item:hover .item-description{color:#6b7280!important}.feedback-modal .dropdown-item:focus{background:#f8fafc!important;color:#1f2937!important}.feedback-modal .dropdown-item:focus .dropdown-item-icon{color:#374151!important}.feedback-modal .dropdown-item:focus .item-label{color:#1f2937!important}.feedback-modal .dropdown-item:focus .item-description{color:#6b7280!important}.feedback-modal .dropdown-item.selected{background:#f4ac041a!important;color:#f4ac04!important}.feedback-modal .dropdown-item.selected .dropdown-item-icon,.feedback-modal .dropdown-item.selected .item-label{color:#f4ac04!important}.feedback-modal .dropdown-item.selected .item-description{color:#e09703!important}.screenshot-container{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.screenshot-preview{background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;max-height:200px;object-fit:contain;width:100%}.capture-screenshot,.retake-screenshot{align-items:center;align-self:flex-start;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;transition:all .2s}.capture-screenshot:hover,.retake-screenshot:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f64d;transform:translateY(-1px)}.capture-screenshot:active,.retake-screenshot:active{transform:translateY(0)}.capture-screenshot svg,.retake-screenshot svg{flex-shrink:0}.screenshot-error{align-items:flex-start;display:flex;flex-direction:column;gap:.5rem}.screenshot-error .error-text{color:#dc2626;font-size:.75rem;font-style:italic;margin-bottom:.25rem}@media(max-width:640px){.screenshot-preview{max-height:150px}.capture-screenshot,.retake-screenshot{align-self:stretch;justify-content:center}}.layout{--sidebar-width-expanded:260px;--sidebar-width-collapsed:60px;display:flex;height:100vh;overflow:hidden;width:100%}.layout .sidebar{height:100vh;left:0;position:fixed;top:0;transition:width .2s ease-in-out;width:var(--sidebar-width-expanded);z-index:100}.layout .sidebar.collapsed{width:var(--sidebar-width-collapsed)}.layout .layout-main{display:flex;flex:1 1;flex-direction:column;height:100vh;margin-left:var(--sidebar-width-expanded);overflow:hidden;transition:margin-left .2s ease-in-out,width .2s ease-in-out;width:calc(100% - var(--sidebar-width-expanded))}.layout.sidebar-collapsed .layout-main{margin-left:var(--sidebar-width-collapsed);width:calc(100% - var(--sidebar-width-collapsed))}.layout.no-sidebar .layout-main{margin-left:0;width:100%}.layout .layout-content{background-color:#fff;box-sizing:border-box;flex:1 1;overflow-y:auto;padding:20px;width:100%}.layout .top-header{align-items:center;background-color:#161718;background-color:var(--header-bg,#161718);border-bottom:1px solid #2a2f31;border-bottom:1px solid var(--header-border,#2a2f31);box-sizing:border-box;display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:0 20px;width:100%}#root,:root,body{height:100%;margin:0;overflow:hidden;padding:0;width:100%}@media(max-width:768px){.layout .sidebar{box-shadow:2px 0 8px #0003;transform:translateX(-100%)}.layout .sidebar.open{transform:translateX(0)}.layout .layout-main,.layout.sidebar-collapsed .layout-main{margin-left:0;width:100%}}.live-transcript-container{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:15px;position:relative}.live-transcript-container .empty-transcript{align-items:center;background-color:#f9f9f9;border-radius:8px;color:#555;display:flex;flex-direction:column;font-style:italic;height:100%;justify-content:center;margin:10px;padding:30px;text-align:center}.live-transcript-container .empty-transcript p{margin:10px 0}.live-transcript-container .empty-transcript .empty-hint{color:#777;font-size:.85rem;line-height:1.5;margin-top:15px;max-width:80%}.live-transcript-container .empty-transcript .status-indicator{align-items:center;border-radius:4px;display:flex;font-size:.85rem;margin-top:15px;padding:8px 12px}.live-transcript-container .empty-transcript .status-indicator .dot{border-radius:50%;display:inline-block;height:8px;margin-right:8px;width:8px}.live-transcript-container .empty-transcript .status-indicator.connected{background-color:#e8f5e9;color:#2e7d32}.live-transcript-container .empty-transcript .status-indicator.connected .dot{animation:pulse 2s infinite;background-color:#4caf50}.live-transcript-container .empty-transcript .status-indicator.disconnected{background-color:#ffebee;color:#c62828}.live-transcript-container .empty-transcript .status-indicator.disconnected .dot{background-color:#f44336}.live-transcript-container .transcript-controls{border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:15px;padding:0 5px 12px}.live-transcript-container .transcript-controls .timestamp-toggle{align-items:center;color:#555;cursor:pointer;display:flex;font-size:.85rem}.live-transcript-container .transcript-controls .timestamp-toggle input{margin-right:5px}.live-transcript-container .transcript-controls .timestamp-toggle:hover{color:#333}.live-transcript-container .transcript-messages{display:flex;flex-direction:column;gap:15px;margin-bottom:50px}.live-transcript-container .transcript-message{border-radius:10px;box-shadow:0 1px 3px #0000001a;max-width:85%;padding:12px 15px;position:relative;transition:all .3s ease}.live-transcript-container .transcript-message.new-message{animation:highlightMessage 1.2s ease}.live-transcript-container .transcript-message.bot-message{align-self:flex-start;background-color:#f0f0f0;border-left:3px solid #7986cb;color:#333}.live-transcript-container .transcript-message.bot-message .message-header{color:#555}.live-transcript-container .transcript-message.bot-message:before{border-color:#0000 #f0f0f0 #0000 #0000;border-style:solid;border-width:8px 8px 8px 0;content:"";left:-8px;position:absolute;top:10px}.live-transcript-container .transcript-message.user-message{align-self:flex-end;background-color:#0078d7;border-right:3px solid #4db6ac;color:#fff}.live-transcript-container .transcript-message.user-message .message-header{color:#ffffffe6}.live-transcript-container .transcript-message.user-message:after{border-color:#0000 #0000 #0000 #0078d7;border-style:solid;border-width:8px 0 8px 8px;content:"";position:absolute;right:-8px;top:10px}.live-transcript-container .transcript-message .message-header{display:flex;font-size:.75rem;justify-content:space-between;margin-bottom:4px}.live-transcript-container .transcript-message .message-header .speaker-name{font-weight:500}.live-transcript-container .transcript-message .message-header .message-time{opacity:.8}.live-transcript-container .transcript-message .message-content{font-size:.9rem;line-height:1.4;word-break:break-word}.live-transcript-container .speaking-indicator{align-items:center;background-color:#4caf50e6;border-radius:20px;bottom:20px;box-shadow:0 2px 8px #0003;color:#fff;display:flex;font-size:14px;gap:10px;left:50%;padding:8px 16px;position:fixed;transform:translateX(-50%);z-index:10}.live-transcript-container .dot-pulse{align-items:center;display:flex;height:10px;position:relative;width:10px}.live-transcript-container .dot-pulse__dot{background-color:#fff;border-radius:50%;height:8px;position:relative;width:8px}.live-transcript-container .dot-pulse__dot:after,.live-transcript-container .dot-pulse__dot:before{background-color:#fff;border-radius:50%;content:"";height:8px;opacity:.7;position:absolute;top:0;width:8px}.live-transcript-container .dot-pulse__dot:before{animation:pulse 1.2s ease-in-out infinite;animation-delay:0s;left:-12px}.live-transcript-container .dot-pulse__dot:after{animation:pulse 1.2s ease-in-out infinite;animation-delay:.4s;left:12px}@keyframes highlightMessage{0%{transform:scale(1)}50%{box-shadow:0 0 10px #007bff80;transform:scale(1.03)}to{box-shadow:none;transform:scale(1)}}.live-transcript-container::-webkit-scrollbar{width:6px}.live-transcript-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.live-transcript-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.live-transcript-container::-webkit-scrollbar-thumb:hover{background:#aaa}.reusable-side-panel{background:#fff;border:1px solid #e5e7eb;box-shadow:-2px 0 8px #0000001a;display:flex;flex-direction:column;height:100vh;position:fixed;top:0;transition:transform .3s ease-in-out;z-index:2001}.reusable-side-panel.position-right{right:0;transform:translateX(100%)}.reusable-side-panel.position-right.panel-open{transform:translateX(0)}.reusable-side-panel.position-left{left:0;transform:translateX(-100%)}.reusable-side-panel.position-left.panel-open{transform:translateX(0)}.reusable-side-panel .panel-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;min-height:60px;padding:1rem}.reusable-side-panel .panel-header .panel-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.reusable-side-panel .panel-header .panel-header-actions{align-items:center;display:flex;gap:.5rem}.reusable-side-panel .panel-header .panel-header-actions .close-panel-button{background:none;border:none;border-radius:.25rem;color:#6b7280;cursor:pointer;padding:.25rem;transition:all .2s ease}.reusable-side-panel .panel-header .panel-header-actions .close-panel-button:hover{background:#e5e7eb;color:#374151}.reusable-side-panel .panel-header .panel-header-actions .close-panel-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.reusable-side-panel .panel-content{flex:1 1;overflow-y:auto;padding:1rem}.reusable-side-panel .panel-content::-webkit-scrollbar{width:6px}.reusable-side-panel .panel-content::-webkit-scrollbar-track{background:#f1f5f9}.reusable-side-panel .panel-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.reusable-side-panel .panel-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media(max-width:768px){.reusable-side-panel{max-width:100vw;width:100%!important}}.panel-backdrop{background:#0000004d;bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease-in-out;z-index:999}.panel-backdrop.visible{opacity:1;pointer-events:auto}.collapsible-toolbar{display:flex;flex-direction:column;gap:8px;position:absolute;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:50}.collapsible-toolbar.position-top-right{right:20px;top:20px}.collapsible-toolbar.position-top-left{left:20px;top:20px}.collapsible-toolbar.position-bottom-right{bottom:20px;flex-direction:column-reverse;right:20px}.collapsible-toolbar.position-bottom-left{bottom:20px;flex-direction:column-reverse;left:20px}.collapsible-toolbar .toolbar-toggle{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;background:var(--background,#fff);border:2px solid #e5e7eb;border:2px solid var(--border,#e5e7eb);border-radius:50%;box-shadow:0 2px 8px #0000001a;color:#6b7280;color:var(--muted-foreground,#6b7280);cursor:pointer;display:flex;height:42px;justify-content:center;position:relative;transition:all .2s ease;width:42px;z-index:1001}.collapsible-toolbar .toolbar-toggle:hover{background:#f3f4f6;background:var(--accent,#f3f4f6);border-color:#374151;border-color:var(--accent-foreground,#374151);box-shadow:0 4px 12px #00000026;color:#111827;color:var(--foreground,#111827);transform:translateY(-1px)}.collapsible-toolbar .toolbar-toggle:focus{outline:2px solid #3b82f6;outline:2px solid var(--ring,#3b82f6);outline-offset:2px}.collapsible-toolbar .toolbar-toggle:active{box-shadow:0 2px 6px #0000001a;transform:translateY(0)}.collapsible-toolbar .toolbar-buttons{display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transform:scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1)}.collapsible-toolbar.expanded .toolbar-buttons{opacity:1;pointer-events:auto;transform:scale(1)}.collapsible-toolbar .toolbar-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;background:var(--background,#fff);border:2px solid #e5e7eb;border:2px solid var(--border,#e5e7eb);border-radius:50%;box-shadow:0 2px 6px #00000014;color:#6b7280;color:var(--muted-foreground,#6b7280);cursor:pointer;display:flex;font-size:14px;font-weight:500;height:42px;justify-content:center;position:relative;transition:all .2s ease;width:42px}.collapsible-toolbar .toolbar-button:hover{background:#f3f4f6;background:var(--accent,#f3f4f6);border-color:#374151;border-color:var(--accent-foreground,#374151);box-shadow:0 4px 10px #0000001f;color:#111827;color:var(--foreground,#111827);transform:translateY(-1px)}.collapsible-toolbar .toolbar-button:hover .button-label{opacity:1;transform:translateY(-50%) translateX(0)}.collapsible-toolbar .toolbar-button:focus{outline:2px solid #3b82f6;outline:2px solid var(--ring,#3b82f6);outline-offset:2px}.collapsible-toolbar .toolbar-button:active{box-shadow:0 2px 4px #00000014;transform:translateY(0)}.collapsible-toolbar .toolbar-button.primary{background:#f4ac04;border-color:#f4ac04;color:#fff}.collapsible-toolbar .toolbar-button.primary:hover{background:#e09703;border-color:#e09703;color:#fff}.collapsible-toolbar .toolbar-button.primary.active{background:#d4940a;border-color:#d4940a}.collapsible-toolbar .toolbar-button.active{background:#3b82f6;background:var(--primary,#3b82f6);border-color:#3b82f6;border-color:var(--primary,#3b82f6);color:#fff}.collapsible-toolbar .toolbar-button.active:hover{background:#2563eb;background:var(--primary-hover,#2563eb);border-color:#2563eb;border-color:var(--primary-hover,#2563eb);color:#fff}.collapsible-toolbar .toolbar-button.focused{outline:2px solid #3b82f6;outline:2px solid var(--ring,#3b82f6);outline-offset:2px;z-index:1}.collapsible-toolbar .toolbar-button .button-label{background:#1f2937;background:var(--popover,#1f2937);border-radius:6px;box-shadow:0 4px 6px #0000001a;color:#fff;color:var(--popover-foreground,#fff);font-size:12px;font-weight:500;margin-right:8px;opacity:0;padding:6px 12px;pointer-events:none;position:absolute;right:100%;top:50%;transform:translateY(-50%) translateX(-8px);transition:all .2s ease;white-space:nowrap;z-index:1000}.collapsible-toolbar .toolbar-button .button-label:after{border:5px solid #0000;border-left:5px solid var(--popover,#1f2937);content:"";left:100%;position:absolute;top:50%;transform:translateY(-50%)}.collapsible-toolbar .toolbar-button .button-badge{align-items:center;background:#dc2626;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;display:flex;font-size:11px;font-weight:600;height:20px;justify-content:center;line-height:1;position:absolute;right:-6px;top:-6px;width:20px;z-index:2}.collapsible-toolbar .toolbar-button:first-child{transition-delay:.05s}.collapsible-toolbar .toolbar-button:nth-child(2){transition-delay:.1s}.collapsible-toolbar .toolbar-button:nth-child(3){transition-delay:.15s}@media(max-width:768px){.collapsible-toolbar.position-top-left,.collapsible-toolbar.position-top-right{top:16px}.collapsible-toolbar.position-bottom-right,.collapsible-toolbar.position-top-right{right:16px}.collapsible-toolbar.position-bottom-left,.collapsible-toolbar.position-top-left{left:16px}.collapsible-toolbar.position-bottom-left,.collapsible-toolbar.position-bottom-right{bottom:16px}.collapsible-toolbar .toolbar-button,.collapsible-toolbar .toolbar-toggle{height:44px;min-width:44px;width:44px}.collapsible-toolbar .toolbar-button:hover{min-width:140px}}@media(prefers-reduced-motion:reduce){.collapsible-toolbar .button-label,.collapsible-toolbar .toolbar-button,.collapsible-toolbar .toolbar-buttons,.collapsible-toolbar .toolbar-toggle{transition:none}}@media(prefers-color-scheme:dark){.collapsible-toolbar .toolbar-button,.collapsible-toolbar .toolbar-toggle{background:#1f2937;background:var(--background,#1f2937);border-color:#374151;border-color:var(--border,#374151);color:#f9fafb;color:var(--foreground,#f9fafb)}.collapsible-toolbar .toolbar-button:hover,.collapsible-toolbar .toolbar-toggle:hover{background:#374151;background:var(--accent,#374151);border-color:#9ca3af;border-color:var(--accent-foreground,#9ca3af)}.collapsible-toolbar .toolbar-button.primary{background:#f4ac04;border-color:#f4ac04;color:#fff}.collapsible-toolbar .toolbar-button.primary:hover{background:#e09703;border-color:#e09703}}@property --volume{syntax:"length";inherit:false;initial-value:0}.disabled .mic-button:before,.mic-button.disabled:before{background:#0000}.mic-button{background-color:#be3b34;background-color:var(--accent-red,#be3b34);color:#fff;position:relative;transition:all .2s ease-in;z-index:1}.mic-button:focus{border:2px solid var(--Neutral-20);outline:2px solid #f44336;outline:2px solid var(--Red-500,#f44336)}.mic-button:hover{background-color:#e63c33;background-color:var(--Red-400,#e63c33)}.mic-button:before{background-color:#f44336;background-color:var(--Red-500,#f44336);border-radius:24px;content:"";display:block;height:calc(100% + var(--volume)*2);left:calc(var(--volume)*-1);opacity:.35;position:absolute;top:calc(var(--volume)*-1);transition:all .02s ease-in-out;width:calc(100% + var(--volume)*2);z-index:-1}.connect-toggle:focus{border:2px solid var(--Neutral-20);outline:2px solid var(--Neutral-80)}.connect-toggle:not(.connected){background-color:#0d9c53;background-color:var(--Blue-500,#0d9c53);color:#111213;color:var(--Neutral-5,#111213)}.control-tray{align-items:center;background:#f5f5f5;background:var(--control-tray-bg,#f5f5f5);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1rem;padding:.5rem}.control-tray .actions-nav{align-items:center;display:flex;gap:.5rem}.ptt-button{background-color:#fff;border:2px solid #be3b34;border:2px solid var(--accent-red,#be3b34);box-shadow:0 2px 8px #be3b3426;color:#be3b34;color:var(--accent-red,#be3b34);font-size:1.75rem;height:50px;transition:all .2s ease;width:50px}.ptt-button .material-symbols-outlined{font-size:2rem}.ptt-button:hover:not(:disabled){background-color:#f8f8f8}.ptt-button:focus{box-shadow:0 0 0 4px #f443364d;outline:none}.ptt-button.active{background-color:#2e7d32;background-color:var(--Green-600,#2e7d32);border-color:#2e7d32;border-color:var(--Green-600,#2e7d32);box-shadow:0 0 0 4px #4caf5066;color:#012707}.ptt-button.active:before{animation:pulse 1s infinite;background-color:#4caf504d;border-radius:50%;content:"";inset:0;position:absolute;z-index:-1}@keyframes pulse{0%{opacity:.6;transform:scale(1)}50%{opacity:.4;transform:scale(1.2)}to{opacity:.6;transform:scale(1)}}.ptt-container{display:inline-block;position:relative}.ptt-tooltip{animation:fade-in-out 2.5s ease-in-out forwards;background-color:#333;border-radius:6px;bottom:65px;box-shadow:0 2px 6px #00000026;color:#fff;font-size:.85rem;left:50%;padding:.5rem .75rem;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:10}@keyframes fade-in-out{0%{opacity:0;transform:translate(-50%,-5px)}10%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-5px)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}@keyframes opacity-pulse{0%{opacity:.9}50%{opacity:1}to{opacity:.9}}@media(max-width:640px){.control-tray{flex-direction:column;gap:12px;padding-bottom:12px}.control-tray .connection-container{height:auto}.actions-nav{gap:8px;height:auto;padding:8px}.action-button{color:#fff;font-size:1rem;height:40px;width:40px}}.role-play-selector{margin:0 auto;max-width:1200px;position:relative;width:100%}.role-play-selector .close-button-container{background:#0000;position:absolute;right:14px;top:10px;z-index:9999}.role-play-selector .close-selector-button{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;height:20px;justify-content:center;padding:0;position:relative;width:20px}.role-play-selector .close-selector-button svg{stroke:#6b7280;stroke-width:2;fill:none;color:#6b7280;height:20px;width:20px}.role-play-selector .close-selector-button:hover svg{stroke:#2c3e50;color:#2c3e50}.role-play-selector .close-selector-button:after{background:#0000;border-radius:8px;content:"";height:32px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:background-color .12s ease,transform .12s ease;width:32px;z-index:-1}.role-play-selector .close-selector-button:active:after,.role-play-selector .close-selector-button:focus-visible:after,.role-play-selector .close-selector-button:hover:after{background:#1f2937}.role-play-selector .close-selector-button:active svg,.role-play-selector .close-selector-button:focus-visible svg,.role-play-selector .close-selector-button:hover svg{stroke:#fff;color:#fff}.role-play-selector .selector-header{align-items:center;display:flex;justify-content:space-between}.role-play-selector .selector-header .header-content h2{color:#24292e;font-size:1.5rem;margin:0 0 .5rem}.role-play-selector .selector-header .header-content p{color:#586069;font-size:1rem;margin:0}.role-play-selector .selector-header .header-actions{align-items:center;display:flex;gap:.75rem}.role-play-selector .selector-header .feedback-button{align-items:center;background-color:#f0f4f9;border:1px solid #d0d7de;border-radius:6px;color:#24292e;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.role-play-selector .selector-header .feedback-button:hover{background-color:#e1e4e8;border-color:#c6cdd4}.role-play-selector .selector-header .feedback-button svg{color:#586069}.role-play-selector .selector-header .help-button{align-items:center;background-color:#f0f4f9;border:1px solid #d0d7de;border-radius:6px;color:#24292e;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.role-play-selector .selector-header .help-button:hover{background-color:#e1e4e8;border-color:#c6cdd4}.role-play-selector .selector-header .help-button svg{color:#586069}.role-play-selector .progress-bar{display:flex;justify-content:space-between;margin:1rem 1.5rem;position:relative}.role-play-selector .progress-bar:before{background-color:#e1e4e8;content:"";height:2px;left:calc(12.5% + 14px);position:absolute;right:calc(12.5% + 14px);top:14px;z-index:1}.role-play-selector .progress-bar .progress-step{align-items:center;display:flex;flex-direction:column;position:relative;width:25%;z-index:2}.role-play-selector .progress-bar .progress-step .step-indicator{align-items:center;background-color:#fff;border:2px solid #e1e4e8;border-radius:50%;color:#586069;display:flex;font-weight:600;height:28px;justify-content:center;margin-bottom:.5rem;width:28px}.role-play-selector .progress-bar .progress-step .step-label{color:#586069;font-size:.8rem;max-width:100%;text-align:center}.role-play-selector .progress-bar .progress-step.active .step-indicator{border-color:#ffc107;color:#e6ad00}.role-play-selector .progress-bar .progress-step.active .step-label{color:#24292e;font-weight:500}.role-play-selector .progress-bar .progress-step.completed .step-indicator{background-color:#ffc107;border-color:#ffc107;color:#fff}.role-play-selector .options-container .option-card{position:relative}.role-play-selector .options-container .option-card.processing{opacity:.8;pointer-events:none}.role-play-selector .options-container .option-card .card-loading-overlay{align-items:center;background:#ffffffb3;border-radius:6px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.role-play-selector .options-container .option-card .card-loading-spinner{animation:card-spin .8s linear infinite;border:3px solid #e1e4e8;border-radius:50%;border-top-color:#ffc107;height:24px;width:24px}@keyframes card-spin{to{transform:rotate(1turn)}}.role-play-selector .selector-actions button.next-button:disabled,.role-play-selector .selector-actions button.next-button:hover{background-color:#ffc107}.role-play-selector .role-play-selector-error p{color:#d73a49}.role-play-selector .role-play-selector-error button:hover{background-color:#ffc107}@media(max-width:768px){.role-play-selector{padding:1rem}.role-play-selector .options-container{grid-template-columns:1fr}.role-play-selector .progress-bar .progress-step .step-label{display:none}}.role-play-selector .role-play-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:2rem}.role-play-selector .role-play-header{margin-bottom:2rem;text-align:center}.role-play-selector .role-play-header h2{color:#333;font-size:1.8rem;margin-bottom:.5rem}.role-play-selector .role-play-header p{color:#666;font-size:1.1rem}.role-play-selector .role-play-options{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.role-play-selector .role-play-options.base-config-section,.role-play-selector .role-play-options.behavior-categories-section,.role-play-selector .role-play-options.corrective-steps-section,.role-play-selector .role-play-options.student-profile-section{transition:all .3s ease}.role-play-selector .role-play-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;padding:1.5rem;transition:all .2s ease}.role-play-selector .role-play-card:hover{border-color:#007bff;transform:translateY(-2px)}.role-play-selector .role-play-card.selected{background-color:#f8f9ff;border-color:#007bff}.role-play-selector .role-play-card .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.role-play-selector .role-play-card .card-header h3{color:#333;font-size:1.2rem;margin:0}.role-play-selector .role-play-card .card-header .check-icon{color:#007bff}.role-play-selector .role-play-card .card-detail{margin-bottom:.5rem}.role-play-selector .role-play-card .card-detail .label{color:#666;font-weight:600;margin-right:.5rem}.role-play-selector .role-play-card .card-detail .value{color:#333}.role-play-selector .navigation-buttons{align-items:center;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-top:2rem;padding-top:1rem}.role-play-selector .navigation-buttons .nav-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.role-play-selector .navigation-buttons .nav-button.back{background-color:#f0f0f0;color:#666}.role-play-selector .navigation-buttons .nav-button.back:hover{background-color:#e0e0e0}.role-play-selector .navigation-buttons .nav-button.next{background-color:#007bff;color:#fff}.role-play-selector .navigation-buttons .nav-button.next:hover:not(:disabled){background-color:#0056b3}.role-play-selector .navigation-buttons .nav-button.next:disabled{cursor:not-allowed;opacity:.5}.role-play-selector .tutorial-highlight{border-radius:4px;box-shadow:0 0 0 4px #007bff4d;position:relative;transition:box-shadow .3s ease;z-index:1002}.role-play-selector .preferred-name-input{background-color:#f6f8fa;border-bottom:1px solid #e1e4e8;padding:1rem 1.5rem}.role-play-selector .preferred-name-input label{color:#24292e;display:block;font-weight:500;margin-bottom:.5rem}.role-play-selector .preferred-name-input input{background:#fff;border:1px solid #d0d7de;border-radius:6px;color:#24292e;font-size:1rem;padding:.75rem;transition:border-color .2s ease;width:100%}.role-play-selector .preferred-name-input input:focus{border-color:#ffc107;box-shadow:0 0 0 2px #ffc10733;outline:none}.role-play-selector .preferred-name-input input::placeholder{color:#6e7781}.components-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.components-header h3{margin:0}.components-header .edit-components-button{align-items:center;background-color:#0000;border:1px solid #ffc107;border-radius:4px;color:#000;cursor:pointer;display:flex;font-size:.8rem;gap:5px;padding:.25rem .5rem;transition:all .2s ease}.components-header .edit-components-button:hover{background-color:#ffc107;color:#000}.components-header .edit-components-button span{margin-top:1px}.component-name{color:#000;font-size:.9rem;font-weight:500;margin:0}.notes-input label{color:#000;display:block;font-weight:500;margin-bottom:.5rem}.notes-input textarea{background:#fff;color:#24292e}.personalize-step-fields{padding:2rem}.avatar-selection{margin-top:2rem}.avatar-selection label{display:block;font-weight:500;margin-bottom:1rem}.avatar-selection .avatar-options{display:flex;gap:1.5rem}.avatar-selection .avatar-options .avatar-option{border:2px solid #e1e4e8;border-radius:8px;cursor:pointer;padding:1rem;text-align:center;transition:all .2s ease;width:150px}.avatar-selection .avatar-options .avatar-option img{border-radius:50%;height:100px;margin-bottom:.5rem;width:100px}.avatar-selection .avatar-options .avatar-option span{display:block;font-weight:500}.avatar-selection .avatar-options .avatar-option:hover{background-color:#f0f4f9;border-color:#d0d7de}.avatar-selection .avatar-options .avatar-option.selected{background-color:#f0f7ff;border-color:#ffc107}.role-play-loading{color:#586069;font-size:1.2rem;padding:3rem 0;text-align:center}.prompt-preview-section{margin-top:1rem;padding:0 1.5rem}.prompt-preview-section h4{color:#24292e;font-size:1rem}.prompt-preview-section .prompt-preview-content{background:#1e1e1e;border-radius:8px;max-height:250px;overflow-y:auto}.prompt-preview-section .prompt-preview-content pre{font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem}.mode-selection-container{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;padding:2rem}.mode-selection-container .mode-card{background:#fff;border:2px solid #e1e4e8;border-radius:12px;cursor:pointer;padding:2rem;position:relative;text-align:center;transition:all .2s ease;width:280px}.mode-selection-container .mode-card:hover{border-color:#ffc107;box-shadow:0 4px 12px #ffc10726;transform:translateY(-2px)}.mode-selection-container .mode-card .mode-icon{color:#586069;margin-bottom:1rem}.mode-selection-container .mode-card h3{color:#24292e;font-size:1.25rem;margin:0 0 .75rem}.mode-selection-container .mode-card p{color:#586069;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.mode-selection-container .mode-card .mode-badge{background:#ffc107;border-radius:20px;color:#000;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;text-transform:uppercase}.mode-selection-container .mode-card .mode-badge.secondary{background:#e1e4e8;color:#586069}.prompt-preview-section{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:8px;margin:1rem 2rem;padding:1rem}.prompt-preview-section h4{color:#586069;font-size:.9rem;font-weight:600;margin:0 0 .75rem}.prompt-preview-section .prompt-preview-content pre{background:#1e1e1e;border-radius:6px;color:#d4d4d4;font-size:.8rem;line-height:1.5;margin:0;max-height:200px;overflow:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.loading-state{background-color:#f1f5f9b3;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#25272b;flex-direction:column;gap:1rem;padding:2rem}.loading-state.fullscreen{background:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-state .loading-icon{stroke-width:3;animation:spin 1s linear infinite;color:#25272b}.loading-state .loading-message{font-size:1rem;font-weight:500;margin:0}.refresh-options-container{align-items:flex-start;display:flex;flex-direction:column}.refresh-options-container .refresh-options-button{align-items:center;background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:14px;justify-content:center;padding:6px 12px;transition:all .2s ease}.refresh-options-container .refresh-options-button:hover{background-color:#e5e5e5}.refresh-options-container .refresh-options-button:disabled{cursor:not-allowed;opacity:.6}.refresh-options-container .last-refreshed{color:#666;font-size:12px;margin-top:4px}.refresh-options-container.refresh-button{margin-left:10px}.refresh-options-container.selector-refresh-button .refresh-options-button{background-color:#0000;border:1px solid #0366d6;color:#0366d6;font-size:13px}.refresh-options-container.selector-refresh-button .refresh-options-button:hover{background-color:#0366d61a}.role-play-tutorial{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.role-play-tutorial .tutorial-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;height:100%;left:0;position:absolute;top:0;width:100%}.role-play-tutorial .tutorial-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;flex-direction:column;margin:0 auto;max-height:90vh;max-width:900px;overflow-y:auto;padding:1.5rem;position:relative;text-align:center;width:95%;z-index:1001}.role-play-tutorial .tutorial-modal .close-button{background:none;border:none;color:#666;cursor:pointer;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:color .2s}.role-play-tutorial .tutorial-modal .close-button:hover{color:#333}.role-play-tutorial .tutorial-modal .tutorial-content{align-items:center;display:flex;flex:1 1;flex-direction:column;margin:1rem auto;max-width:100%;overflow-y:auto}.role-play-tutorial .tutorial-modal .tutorial-content h2{color:#333;font-size:1.5rem;margin-bottom:1rem;text-align:center}.role-play-tutorial .tutorial-modal .tutorial-content p{color:#666;font-size:1rem;line-height:1.5;margin:0 auto 1rem;max-width:600px;text-align:center}.role-play-tutorial .tutorial-modal .tutorial-content .tutorial-gif{display:block;margin:1rem 0;width:100%}.role-play-tutorial .tutorial-modal .tutorial-content .tutorial-gif .gif-preview{background:none;border:none;border-radius:0;box-shadow:none;display:block;height:auto;max-height:60vh;object-fit:contain;width:100%}.role-play-tutorial .tutorial-modal .tutorial-progress{display:flex;flex-shrink:0;gap:.5rem;justify-content:center;margin:2rem auto;max-width:200px}.role-play-tutorial .tutorial-modal .tutorial-progress .progress-dot{background-color:#ddd;border-radius:50%;height:8px;transition:background-color .3s;width:8px}.role-play-tutorial .tutorial-modal .tutorial-progress .progress-dot.active{background-color:#ffc107}.role-play-tutorial .tutorial-modal .tutorial-navigation{align-items:center;display:flex;flex-shrink:0;gap:1rem;justify-content:center;margin-left:auto;margin-right:auto;margin-top:2rem;max-width:400px}.role-play-tutorial .tutorial-modal .tutorial-navigation .nav-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.role-play-tutorial .tutorial-modal .tutorial-navigation .nav-button.back{background-color:#f0f0f0;color:#666}.role-play-tutorial .tutorial-modal .tutorial-navigation .nav-button.back:hover:not(:disabled){background-color:#e0e0e0}.role-play-tutorial .tutorial-modal .tutorial-navigation .nav-button.back:disabled{cursor:not-allowed;opacity:.5}.role-play-tutorial .tutorial-modal .tutorial-navigation .nav-button.next{background-color:#ffc107;color:#fff}.role-play-tutorial .tutorial-modal .tutorial-navigation .nav-button.next:hover{background-color:#e6ad00}.role-play-tutorial .tutorial-modal .tutorial-navigation .skip-button{background:none;border:none;color:#666;cursor:pointer;font-size:.9rem;padding:.5rem}.role-play-tutorial .tutorial-modal .tutorial-navigation .skip-button:hover{color:#333;text-decoration:underline}.tutorial-highlight{border-radius:4px;box-shadow:0 0 0 4px #ffc1074d;position:relative;z-index:1002}.stream-page-container{background:#f5f5f5;background:var(--page-bg,#f5f5f5);flex-direction:column;height:100vh}.main-content,.stream-page-container{display:flex;overflow:hidden;position:relative}.main-content{flex:1 1}.video-placeholder{align-items:center;background:#ececec;background:var(--video-placeholder-bg,#ececec);display:flex;flex:1 1;justify-content:center;margin-right:0;position:relative;transition:margin-right .3s ease-in-out}.panel-open .video-placeholder{margin-right:400px}.role-play-info{display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-header{align-items:center;background:#f6f8fa;border-bottom:1px solid #e1e4e8;display:flex;gap:1rem;padding:1.5rem}.panel-header h2{color:#24292e;flex-shrink:0;font-size:1.25rem;margin:0}.selected-components{flex:1 1;padding:1rem}.selected-component{border:1px solid #e1e4e8;border-radius:6px;margin-bottom:1rem;overflow:hidden}.selected-component:last-child{margin-bottom:0}.selected-component .component-header{background:#f6f8fa;padding:1rem;transition:background-color .2s}.selected-component .component-header:hover{background:#f0f4f9}.selected-component .component-header h4{color:#24292e;font-size:.9rem;margin:0 0 .5rem}.selected-component .component-header .component-summary{justify-content:space-between}.selected-component .component-header .component-summary .component-name{color:#586069;font-size:.9rem}.selected-component .component-header .component-summary .expand-toggle{align-items:center;background:none;border:none;border-radius:4px;color:#586069;cursor:pointer;display:flex;justify-content:center;padding:.25rem}.selected-component .component-header .component-summary .expand-toggle:hover{background:#0000000d}.selected-component .component-description{background:#fff;border-top:1px solid #e1e4e8;color:#586069;font-size:.9rem;line-height:1.5;margin:0;padding:1rem}.instructions{background:#f6f8fa;border-top:1px solid #e1e4e8;padding:1rem}.instructions h3{color:#24292e;font-size:1rem;margin:0 0 .5rem}.instructions p{color:#586069;font-size:.9rem;line-height:1.5;margin:0}.panel-actions{background:#fff;border-top:1px solid #e1e4e8;padding:1rem}.panel-actions .start-button{background:#ffc107;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem;transition:background-color .2s;width:100%}.panel-actions .start-button:hover{background:#e6ad00}.panel-actions .start-button:focus{outline:2px solid #ffc107;outline-offset:2px}.intro-overlay{align-items:center;background:#fffffff2;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:absolute;right:0;top:0;z-index:10}.intro-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;max-width:800px;padding:2rem;width:100%}.intro-content h2{color:#333;color:var(--text-primary,#333);font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.intro-content .role-play-info p{color:#666;color:var(--text-secondary,#666);margin:0 0 1.5rem;text-align:center}.intro-content .scenario{background:#f8f9fa;background:var(--scenario-bg,#f8f9fa);border-radius:8px;margin-bottom:2rem;padding:1.5rem}.intro-content .scenario .components-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.intro-content .scenario .components-header h3{color:#333;color:var(--text-primary,#333);font-size:1.1rem;margin:0}.intro-content .scenario .selected-component{border:1px solid #e0e0e0;border:1px solid var(--component-border,#e0e0e0);border-radius:4px;margin-bottom:1rem;overflow:hidden}.intro-content .scenario .selected-component .component-header{align-items:center;background:#f5f5f5;background:var(--component-header-bg,#f5f5f5);cursor:pointer;display:flex;justify-content:space-between;padding:1rem}.intro-content .scenario .selected-component .component-header:hover{background:#eee;background:var(--component-header-hover-bg,#eee)}.intro-content .scenario .selected-component .component-header:focus{outline:2px solid #1976d2;outline:2px solid var(--primary-color,#1976d2);outline-offset:-2px}.intro-content .scenario .selected-component .component-header h4{color:#333;color:var(--text-primary,#333);font-size:1rem;margin:0}.intro-content .scenario .selected-component .component-header .component-summary{align-items:center;display:flex;gap:1rem}.intro-content .scenario .selected-component .component-header .component-summary .component-name{color:#666;color:var(--text-secondary,#666)}.intro-content .scenario .selected-component .component-header .component-summary .expand-toggle{align-items:center;background:none;border:none;color:#666;color:var(--text-secondary,#666);cursor:pointer;display:flex;justify-content:center;padding:.25rem}.intro-content .scenario .selected-component .component-header .component-summary .expand-toggle:focus{outline:2px solid #1976d2;outline:2px solid var(--primary-color,#1976d2);outline-offset:2px}.intro-content .scenario .selected-component .component-description{background:#fff;color:#666;color:var(--text-secondary,#666);font-size:.9rem;line-height:1.5;margin:0;padding:1rem}.intro-content .start-button{background:#1976d2;background:var(--primary-color,#1976d2);border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:1.1rem;font-weight:500;padding:1rem;transition:all .2s ease;width:100%}.intro-content .start-button:hover{background:#1565c0;background:var(--primary-color-dark,#1565c0)}.intro-content .start-button:focus{outline:2px solid #1976d2;outline:2px solid var(--primary-color,#1976d2);outline-offset:2px}.intro-content .start-button:disabled{cursor:not-allowed;opacity:.5}.info-button{align-items:center;background:#ffc107;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:40px;z-index:10}.info-button:hover{background:#e6ad00;transform:scale(1.05)}.info-button.panel-open{right:420px}.help-button{align-items:center;background:#ffc107;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:4rem;top:1rem;transition:all .2s ease;width:40px;z-index:10}.help-button:hover{background:#e6ad00;transform:scale(1.05)}.help-button.panel-open{right:470px}.show-video-button{align-items:center;background-color:#ffc107;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:8px;margin:.5rem 0;padding:.5rem 1rem;transition:background-color .2s}.show-video-button:hover{background-color:#e6ad00}.video-area{border-radius:8px;bottom:100px;box-shadow:0 4px 16px #0003;height:180px;overflow:hidden;position:absolute;right:20px;width:240px;z-index:40}.video-area.hidden{display:none}.video-area.pinned{bottom:100px;right:20px}.video-area .video-controls{display:flex;gap:8px;position:absolute;right:8px;top:8px;z-index:2}.video-area .video-controls button{align-items:center;background-color:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background-color .2s;width:28px}.video-area .video-controls button:hover{background-color:#000000b3}.video-area .video-drag-handle{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.video-area .stream-video{height:100%;object-fit:cover;width:100%}.controls-area{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffc;display:flex;flex-direction:column;padding:1rem;width:100%;z-index:30}.role-play-selector{background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:800px;overflow:hidden;width:90%}.role-play-selector .selector-header{background-color:#f6f8fa;border-bottom:1px solid #e1e4e8;padding:1.5rem}.role-play-selector .selector-header h2{color:#24292e;font-size:1.5rem;margin:0 0 .5rem}.role-play-selector .selector-header p{color:#586069;font-size:1rem;margin:0}.role-play-selector .options-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;max-height:50vh;overflow-y:auto;padding:1rem 1.5rem}.role-play-selector .options-container .option-card{background-color:#f6f8fa;border:2px solid #e1e4e8;border-radius:8px;cursor:pointer;padding:1rem;transition:all .2s ease}.role-play-selector .options-container .option-card:hover{background-color:#f0f4f9;border-color:#d0d7de}.role-play-selector .options-container .option-card.selected{background-color:#f0f7ff;border-color:#ffc107}.role-play-selector .options-container .option-card .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.role-play-selector .options-container .option-card .card-header h3{color:#24292e;font-size:1.1rem;margin:0}.role-play-selector .options-container .option-card .card-header .selected-indicator{align-items:center;background-color:#ffc107;border-radius:50%;color:#fff;display:flex;height:20px;justify-content:center;width:20px}.role-play-selector .options-container .option-card .card-description{color:#586069;font-size:.9rem;margin-bottom:1rem}.role-play-selector .options-container .option-card .card-details{border-top:1px solid #e1e4e8;padding-top:.75rem}.role-play-selector .options-container .option-card .card-details .card-detail{font-size:.85rem;margin-bottom:.5rem}.role-play-selector .options-container .option-card .card-details .card-detail .label{color:#24292e;font-weight:500;margin-right:.25rem}.role-play-selector .options-container .option-card .card-details .card-detail .value{color:#586069}.role-play-selector .options-container .no-options{background-color:#f6f8fa;border-radius:8px;color:#586069;grid-column:span 2;padding:2rem;text-align:center}.role-play-selector .selector-actions{background-color:#f6f8fa;border-top:1px solid #e1e4e8;display:flex;justify-content:space-between;padding:1rem 1.5rem}.role-play-selector .selector-actions button{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s ease}.role-play-selector .selector-actions button.back-button{background-color:#fff;border:1px solid #d0d7de;color:#24292e}.role-play-selector .selector-actions button.back-button:hover{background-color:#f6f8fa}.role-play-selector .selector-actions button.next-button{background-color:#ffc107;border:none;color:#fff}.role-play-selector .selector-actions button.next-button:hover{background-color:#e6ad00}.role-play-selector .selector-actions button.next-button:disabled{background-color:#ffe082;cursor:not-allowed}.role-play-selector .role-play-selector-error{padding:2rem;text-align:center}.role-play-selector .role-play-selector-error p{color:#ffc107;margin-bottom:1rem}.role-play-selector .role-play-selector-error button{background-color:#ffc107;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.5rem 1rem}.role-play-selector .role-play-selector-error button:hover{background-color:#e6ad00}@media(max-width:768px){.role-play-selector{width:95%}.role-play-selector .options-container{grid-template-columns:1fr}.role-play-selector .progress-bar .progress-step .step-label{display:none}.intro-content{padding:1rem;width:95%}.intro-content .intro-buttons{flex-direction:column}.intro-content .intro-buttons button{width:100%}}.selected-components{max-height:400px;overflow-y:auto;padding-right:5px}.selected-component{border-bottom:1px solid #0000001a;margin-bottom:.75rem;padding-bottom:.75rem}.selected-component:last-child{border-bottom:none;margin-bottom:.5rem}.selected-component .component-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:.35rem 0}.selected-component .component-header:hover{background-color:#00000005}.selected-component .component-header h4{color:#2c3e50;font-size:.95rem;font-weight:600;margin:0}.selected-component .component-header .component-summary{align-items:center;display:flex;gap:.5rem}.selected-component .component-name{color:#ffc107;font-size:.9rem;font-weight:500;margin:0}.selected-component .expand-toggle{align-items:center;background:none;border:none;color:#586069;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;width:24px}.selected-component .expand-toggle:hover{background-color:#0000000d;border-radius:50%;color:#24292e}.selected-component .component-description{border-left:2px solid #e1e4e8;color:#666;font-size:.85rem;line-height:1.4;margin:.25rem 0 .25rem 1rem;padding-left:.5rem}.intro-content{max-height:85vh;overflow-y:auto}.intro-content,.selected-components{scrollbar-color:#bbb #0000;scrollbar-width:thin}.intro-content::-webkit-scrollbar,.selected-components::-webkit-scrollbar{width:6px}.intro-content::-webkit-scrollbar-track,.selected-components::-webkit-scrollbar-track{background:#0000}.intro-content::-webkit-scrollbar-thumb,.selected-components::-webkit-scrollbar-thumb{background-color:#bbb;border:2px solid #0000;border-radius:6px}.timer-container{background:#ffffffe6;border-radius:8px;box-shadow:0 2px 4px #0000001a;left:50%;padding:10px;position:absolute;top:20px;transform:translateX(-50%);width:200px;z-index:10}.timer-progress{background:#e0e0e0;border-radius:3px;height:6px;margin-bottom:8px;overflow:hidden;width:100%}.timer-progress-bar{background:#4caf50;height:100%;transition:width 1s linear}.timer-text{color:#333;font-size:16px;font-weight:500;text-align:center}.tutorial-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:800px;overflow-y:auto;padding:2rem;position:relative;width:90%}.tutorial-content .close-button{background:none;border:none;color:#666;cursor:pointer;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:color .2s;z-index:2}.tutorial-content .close-button:hover{color:#333}.tutorial-content .tutorial-content-inner{padding-top:1rem}.role-play-selector-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.role-play-selector-overlay .role-play-selector{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.scenario-description{background:#f8f9fa;flex:1 1;overflow-y:auto;padding:1.5rem}.scenario-description .scenario-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1.25rem}.scenario-description .scenario-section:last-child{margin-bottom:0}.scenario-description .scenario-section h3{border-bottom:2px solid #ffc107;color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.scenario-description .scenario-section .detail-row{margin-bottom:1rem}.scenario-description .scenario-section .detail-row:last-child{margin-bottom:0}.scenario-description .scenario-section .detail-row .label{color:#4a5568;display:block;font-size:.9rem;font-weight:500;margin-bottom:.25rem}.scenario-description .scenario-section .detail-row .value{color:#2d3748;font-size:.95rem;line-height:1.5}.scenario-description .scenario-section .detail-row p.value{margin:0}.scenario-description .scenario-section .detail-row .prompt-badge{background:#ffc107;border-radius:20px;color:#000;display:inline-block;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.scenario-description .scenario-section .skills-list{list-style:none;margin:0;padding:0}.scenario-description .scenario-section .skills-list li{border-bottom:1px solid #edf2f7;padding:.5rem 0}.scenario-description .scenario-section .skills-list li:last-child{border-bottom:none}.scenario-description .scenario-section.prompt-mode-section{border-left:4px solid #ffc107}.scenario-description .teaching-steps .teaching-step{background:#f8fafc;border-left:4px solid #ffc107;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.scenario-description .teaching-steps .teaching-step:last-child{margin-bottom:0}.scenario-description .teaching-steps .teaching-step .step-header{align-items:center;display:flex;gap:1rem;margin-bottom:1rem}.scenario-description .teaching-steps .teaching-step .step-header .step-number{background:#ffc107;border-radius:4px;color:#fff;font-size:.9rem;font-weight:600;padding:.25rem .75rem}.scenario-description .teaching-steps .teaching-step .step-header h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.scenario-description .teaching-steps .teaching-step .step-description{color:#4a5568;font-size:.95rem;line-height:1.6;margin:0 0 1rem}.scenario-description .teaching-steps .teaching-step .expected-response{background:#fff;border-left:3px solid #4a5568;border-radius:6px;padding:1rem}.scenario-description .teaching-steps .teaching-step .expected-response .label{color:#2c3e50;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.scenario-description .teaching-steps .teaching-step .expected-response p{color:#4a5568;font-size:.95rem;line-height:1.6;margin:0}.scenario-description .behavior-details .examples-list{list-style:none;margin:0;padding:0}.scenario-description .behavior-details .examples-list li{border-bottom:1px solid #edf2f7;color:#4a5568;font-size:.95rem;line-height:1.5;padding:.5rem 0}.scenario-description .behavior-details .examples-list li:last-child{border-bottom:none}.toast-container{align-items:flex-end;display:flex;flex-direction:column;gap:10px;max-width:100%;pointer-events:none;width:320px}.toast-container .toast{pointer-events:auto}.action-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00e676;background:var(--connect-button-bg,#00e676);border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-family:Space Mono,monospace;font-size:1rem;font-weight:600;gap:.4rem;justify-content:center;left:50%;padding:.5rem 1rem;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;-webkit-user-select:none;user-select:none;z-index:50}.action-button .material-symbols-outlined{align-items:center;color:#fff;display:flex;font-size:1.6rem}.action-button .button-text{color:#fff;display:inline-block;font-size:1rem;font-weight:600}.action-button:hover:not(:disabled){background:#00c853;background:var(--connect-button-hover-bg,#00c853);transform:translate(-50%,-50%) scale(1.03)}.action-button:active:not(:disabled){background:#00b248;transform:translate(-50%,-50%) scale(.97)}.action-button:focus{box-shadow:0 0 0 3px #00e67659;outline:none}.action-button.connected{background:#ff3d00;background:var(--connected-button-bg,#ff3d00);bottom:2rem;color:#fff;top:auto;transform:translateX(-50%)}.action-button.connected:hover:not(:disabled){background:#f44336;background:var(--connected-button-hover-bg,#f44336)}.action-button:active.connected{background:#d32f2f}.action-button.setup-required{background:#ffb74d;background:var(--setup-required-button-bg,#ffb74d);color:#fff}.action-button.setup-required:hover:not(:disabled){background:#ffa726;background:var(--setup-required-button-hover-bg,#ffa726);transform:translate(-50%,-50%) scale(1.03)}.action-button.setup-required:active:not(:disabled){background:#fb8c00;transform:translate(-50%,-50%) scale(.97)}.action-button.setup-required:focus{box-shadow:0 0 0 3px #ffb74d59;outline:none}.action-button.connecting{opacity:.6;pointer-events:none}.action-button.hidden{opacity:0;pointer-events:none;transition:opacity .3s ease}.connection-container{align-items:center;background:#fff;background:var(--connection-container-bg,#fff);border-radius:4px;display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding:.5rem 1rem;transition:all .3s ease}.connection-container.connected{background:#e8f5e9;background:var(--connected-container-bg,#e8f5e9)}.edit-components-button{align-items:center;background:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.375rem .75rem;transition:all .2s ease}.edit-components-button:hover{background:#2563eb}.edit-components-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.transcript-actions{display:flex;gap:.5rem}.transcript-actions .clear-transcript-button,.transcript-actions .export-transcript-button{background:#6b7280;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:all .2s ease}.transcript-actions .clear-transcript-button:hover,.transcript-actions .export-transcript-button:hover{background:#4b5563}.transcript-actions .clear-transcript-button:focus,.transcript-actions .export-transcript-button:focus{outline:2px solid #6b7280;outline-offset:2px}.transcript-actions .export-transcript-button{background:#059669}.transcript-actions .export-transcript-button:hover{background:#047857}.transcript-actions .clear-transcript-button{background:#dc2626}.transcript-actions .clear-transcript-button:hover{background:#b91c1c}.login-page{background-color:#fff;background-color:var(--background);color:#04345c;color:var(--foreground);display:grid;min-height:100vh;width:100%}@media(min-width:1024px){.login-page{grid-template-columns:1fr 1fr}}.login-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}@media(min-width:768px){.login-content{padding:2.5rem}}.login-form-wrapper{max-width:20rem;width:100%}.login-form{display:flex;flex-direction:column;gap:1.5rem}.btn-google{align-items:center;background-color:#fff;border:1px solid #dadce0;color:#3c4043;display:flex;font-weight:500;gap:.75rem;justify-content:center}.btn-google:hover{background-color:#f8f9fa;border-color:#c4c7c5}.google-icon{flex-shrink:0}.btn:disabled{cursor:not-allowed;opacity:.6}.btn:disabled:hover{background-color:inherit;border-color:inherit}.divider{margin:1rem 0}.divider span{background-color:#fff;background-color:var(--background);color:#6b7280;color:var(--muted-foreground);font-size:.875rem;font-weight:500;padding:0 .75rem;position:relative;z-index:10}.login-image{background-color:#fff;display:none;position:relative}@media(min-width:1024px){.login-image{display:block}}@media(prefers-color-scheme:dark){:root{--primary:#04345c;--primary-foreground:#fff;--muted:#1f2937;--muted-foreground:#9ca3af;--border:#374151;--background:#111827;--foreground:#f9fafb}.brand-logo{color:#fff}.background-image{filter:brightness(1.2);opacity:.95}.login-image{background-color:#fff}.field-input{background-color:#ffffff0d}.btn-outline{border-color:#e5e7eb;border-color:var(--border)}.btn-outline:hover{background-color:#ffffff0d}.error-message{background-color:#ef44441a;border-color:#ef444433}.field-label,.form-title{color:#f4ac04;color:var(--secondary)}.btn-primary{background-color:#f4ac04;background-color:var(--secondary);color:#fff;color:var(--background)}.btn-primary:hover{background-color:#fff;opacity:.9}.checkbox-label{color:#04345c;color:var(--foreground)}}:root{--primary:#04345c;--primary-foreground:#fff;--secondary:#f4ac04;--muted:#f3f4f6;--muted-foreground:#6b7280;--border:#e5e7eb;--background:#fff;--foreground:#04345c;--radius:0.375rem;--ring:#0000001a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}*{box-sizing:border-box;margin:0;padding:0}.forgot-password-page{background-color:#fff;background-color:var(--background);color:#04345c;color:var(--foreground);display:grid;min-height:100vh;width:100%}@media(min-width:1024px){.forgot-password-page{grid-template-columns:1fr 1fr}}.forgot-password-content{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}@media(min-width:768px){.forgot-password-content{padding:2.5rem}}.header-section{display:flex;justify-content:center}@media(min-width:768px){.header-section{justify-content:flex-start}}.brand-logo{color:#f4ac04;color:var(--secondary);font-weight:500;gap:.5rem;text-decoration:none}.brand-logo,.logo-icon{align-items:center;display:flex}.logo-icon{background-color:#f4ac04;background-color:var(--secondary);border-radius:.375rem;border-radius:var(--radius);color:#fff;color:var(--background);height:1.5rem;justify-content:center;width:1.5rem}.icon{height:1rem;width:1rem}.form-container{align-items:center;display:flex;flex:1 1;justify-content:center}.forgot-password-form-wrapper{max-width:20rem;width:100%}.forgot-password-form{display:flex;flex-direction:column;gap:1.5rem}.form-header{align-items:center;display:flex;flex-direction:column;gap:.5rem;text-align:center}.form-title{color:#f4ac04;color:var(--secondary);font-size:1.5rem;font-weight:700}.form-subtitle{color:#6b7280;color:var(--muted-foreground);font-size:.875rem;max-width:30ch;text-align:center}.form-fields{grid-gap:1.5rem;display:grid;gap:1.5rem}.form-field{grid-gap:.5rem;display:grid;gap:.5rem}.field-label{color:#f4ac04;color:var(--secondary);font-size:.875rem;font-weight:500}.field-label-row{align-items:center;display:flex}.forgot-password{color:#6b7280;color:var(--muted-foreground);font-size:.875rem;margin-left:auto;text-decoration:none}.forgot-password:hover{text-decoration:underline;text-underline-offset:4px}.field-input{background-color:#0000;border:1px solid #e5e7eb;border:1px solid var(--border);border-radius:.375rem;border-radius:var(--radius);color:#04345c;color:var(--foreground);font-size:.875rem;padding:.75rem;width:100%}.field-input:focus{border-color:#f4ac04;border-color:var(--secondary);box-shadow:0 0 0 1px #f4ac04;box-shadow:0 0 0 1px var(--secondary);outline:none}.field-input-error{border-color:#ef4444}.field-error{color:#ef4444;font-size:.75rem;margin-top:.25rem}.btn{align-items:center;border:none;border-radius:.375rem;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s ease;width:100%}.btn-primary{background-color:#f4ac04;background-color:var(--secondary);color:#fff;color:var(--background)}.btn-primary:hover{background-color:#fff}.btn-outline{background-color:#0000;border:1px solid #e5e7eb;border:1px solid var(--border);color:#f4ac04;color:var(--secondary)}.btn-outline:hover{background-color:#f3f4f6;background-color:var(--muted)}.provider-icon{height:1rem;width:1rem}.divider{position:relative;text-align:center}.divider:after{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--border);content:"";display:flex;inset:0;position:absolute;top:50%;z-index:0}.divider-text{background-color:#fff;background-color:var(--background);padding:0 .5rem;position:relative;z-index:10}.divider-text,.signup-prompt{color:#6b7280;color:var(--muted-foreground);font-size:.875rem}.signup-prompt{text-align:center}.signup-link{color:#f4ac04;color:var(--secondary);font-weight:500;text-decoration:none}.signup-link:hover{text-decoration:underline;text-underline-offset:4px}.error-message{background-color:#ef44441a;border:1px solid #ef444433;border-radius:.375rem;border-radius:var(--radius);color:#ef4444;font-size:.875rem;padding:.75rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:1rem;width:1rem}.sr-only{border-width:0}.checkbox-field{align-items:center;display:flex;margin-bottom:.5rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.checkbox-label input{height:1rem;width:1rem}.forgot-password-image{background-color:#fff;display:none;position:relative}@media(min-width:1024px){.forgot-password-image{display:block}}.background-image{height:auto;left:50%;max-height:60%;max-width:60%;object-fit:contain;opacity:1;position:absolute;top:50%;transform:translate(-50%,-50%);width:auto}@media(prefers-color-scheme:dark){:root{--primary:#04345c;--primary-foreground:#fff;--muted:#1f2937;--muted-foreground:#9ca3af;--border:#374151;--background:#111827;--foreground:#f9fafb}.brand-logo{color:#fff}.background-image{filter:brightness(1.2);opacity:.95}.forgot-password-image{background-color:#fff}.field-input{background-color:#ffffff0d}.btn-outline{border-color:#e5e7eb;border-color:var(--border)}.btn-outline:hover{background-color:#ffffff0d}.error-message{background-color:#ef44441a;border-color:#ef444433}.field-label,.form-title{color:#f4ac04;color:var(--secondary)}.btn-primary{background-color:#f4ac04;background-color:var(--secondary);color:#fff;color:var(--background)}.btn-primary:hover{background-color:#fff;opacity:.9}.checkbox-label{color:#04345c;color:var(--foreground)}}.schema-modal-overlay{--sm-accent:#ffc107;--sm-accent-dark:#e6ad00;--sm-background:#fff;--sm-foreground:#000;--sm-muted:#f4f4f5;--sm-border:#e4e4e7;align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.schema-modal{background:var(--sm-background);border:1px solid var(--sm-border);border-radius:.5rem;box-shadow:0 4px 24px #00000026;max-height:90vh;max-width:540px;min-width:420px;overflow-y:auto;padding:32px 36px}.schema-form-title{color:var(--sm-foreground);font-size:1.3rem;font-weight:600;margin-bottom:18px}.schema-form-row{display:flex;flex-direction:column;margin-bottom:16px}.schema-form-row label{margin-bottom:4px}.bordered-input,.schema-form-row label{color:var(--sm-foreground);font-size:1rem}.bordered-input{background:var(--sm-background);border:1px solid var(--sm-border);border-radius:.25rem;font-family:Inter,Roboto,sans-serif;margin-bottom:2px;padding:8px 12px}.bordered-input:focus{border-color:var(--sm-accent);box-shadow:0 0 0 2px #ffc10733;outline:none}.schema-fields-section{margin-top:18px}.schema-fields-section h4{color:var(--sm-foreground);font-size:1.1rem;margin-bottom:10px}.schema-field-row-container{margin-bottom:12px}.schema-field-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.schema-field-options{background:#ffc10714;border:1px solid #ffc10740;border-left:3px solid var(--sm-accent);border-radius:0 .25rem .25rem 0;margin-left:24px;margin-top:8px;padding:12px 12px 12px 16px;position:relative}.schema-field-options:before{border-bottom:2px solid #ffc10766;border-left:2px solid #ffc10766;border-radius:0 0 0 8px;content:"";height:20px;left:-24px;position:absolute;top:0;width:24px}.schema-field-options .options-label{color:var(--sm-accent-dark);display:block;font-size:.9rem;font-weight:500;margin-bottom:8px}.schema-field-options .option-row{align-items:center;display:flex;gap:8px;margin-bottom:8px}.schema-field-options .option-input{flex:1 1;font-size:.95rem;height:34px;max-width:280px}.schema-field-options .remove-option-btn{align-items:center;background:#dc2626;border:none;border-radius:.25rem;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;height:28px;justify-content:center;transition:background .15s;width:28px}.schema-field-options .remove-option-btn:hover{background:#b91c1c}.schema-field-options .add-option-btn{background:#10b981;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:4px;padding:6px 14px;transition:background .15s}.schema-field-options .add-option-btn:hover{background:#059669}.schema-field-row .bordered-input{font-size:1rem;height:38px;margin-bottom:0;max-width:140px;min-width:100px}.schema-field-row select.bordered-input{max-width:110px}.schema-field-row .required-group{align-items:center;display:flex;gap:4px}.required-checkbox{align-items:center;color:var(--sm-foreground);display:flex;font-size:.95rem;height:38px;margin:0}.required-checkbox input[type=checkbox]{accent-color:var(--sm-accent);margin-right:4px}.remove-field-btn{align-items:center;background:none;border:none;color:var(--sm-accent-dark);cursor:pointer;display:flex;font-size:1.3rem;height:38px;margin:0 0 0 4px}.add-field-btn{background:var(--sm-accent);border:none;border-radius:.25rem;color:var(--sm-foreground);cursor:pointer;font-size:1rem;font-weight:500;margin-top:8px;padding:6px 16px}.add-field-btn:hover{background:var(--sm-accent-dark)}.schema-form-actions{display:flex;gap:16px;margin-top:24px}.primary-btn-orange{background-color:var(--sm-accent)!important;color:var(--sm-foreground)!important;padding:8px 18px}.primary-btn-orange:hover:not(:disabled){background-color:var(--sm-accent-dark)!important}.primary-btn-orange:disabled{background:#ccc!important;transform:none}.cancel-btn{background:var(--sm-muted);border:1px solid var(--sm-border);color:var(--sm-foreground)}.cancel-btn:hover{border-color:var(--sm-accent)}.schema-manager-bg{--sm-accent:#ffc107;--sm-accent-dark:#e6ad00;--sm-background:#fff;--sm-foreground:#000;--sm-muted:#f4f4f5;--sm-muted-foreground:#000;--sm-border:#e4e4e7;background:var(--sm-background);height:100%;min-height:100vh;padding:2rem;position:relative;width:100%}.schema-manager-bg button,.schema-manager-bg h1,.schema-manager-bg h2,.schema-manager-bg h3,.schema-manager-bg input,.schema-manager-bg label,.schema-manager-bg p,.schema-manager-bg span,.schema-manager-bg textarea{color:var(--sm-foreground)}.schema-manager-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.schema-manager-title{color:var(--sm-foreground);font-family:Inter,Roboto,sans-serif;font-size:1.75rem;font-weight:600;margin:0}.schema-manager-bg .primary-btn-orange{align-items:center;background:#ffc107!important;background-color:#ffc107!important;border:none;border-radius:.25rem;color:#000!important;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1.25rem;transition:all .15s ease}.schema-manager-bg .primary-btn-orange:hover:not(:disabled){background:#e6ad00!important;background-color:#e6ad00!important}.schema-manager-bg .primary-btn-orange:active{transform:translateY(1px)}.schema-manager-bg .primary-btn-orange:disabled{cursor:not-allowed;opacity:.6}.schema-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,350px));justify-content:start}.schema-card{background:var(--sm-background);border:1px solid var(--sm-border);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;gap:.75rem;height:280px;max-height:280px;min-height:280px;overflow:hidden;padding:1.5rem;position:relative;transition:box-shadow .2s,border-color .2s}.schema-card:hover{border-color:var(--sm-accent);box-shadow:0 4px 12px #0000001a}.schema-card-top-row{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem}.schema-card-actions{align-items:center;display:flex;gap:.5rem;margin-left:auto;position:static}.card-delete-btn,.card-edit-btn{background:var(--sm-muted);border:1px solid var(--sm-border)}.schema-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.schema-label{border-radius:.25rem;color:#fff;display:inline-block;font-size:1rem;font-weight:600;margin-bottom:6px;padding:4px 12px}.schema-label-blue{background:#3b82f6}.schema-label-green{background:#10b981}.schema-label-orange{background:var(--sm-accent);color:#000}.schema-label-purple{background:#8b5cf6}.schema-badge{background:var(--sm-accent);border-radius:.25rem;color:var(--sm-foreground);display:inline-block;font-size:1rem;font-weight:600;letter-spacing:.01em;margin-right:.5rem;padding:.35rem 1rem}.schema-actions{align-items:center;display:flex;gap:1rem}.schema-delete-btn,.schema-edit-btn{align-items:center;background:var(--sm-muted);border:1px solid var(--sm-border);border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1.25rem;padding:.25rem .5rem;transition:background .15s,color .15s}.schema-edit-btn:hover{background:#e0eaff;color:#2196f3}.schema-delete-btn:hover{background:#ffe0e0;color:#c0392b}.schema-desc{color:var(--sm-foreground);font-family:Inter,Roboto,sans-serif;font-size:1rem}.schema-desc-placeholder{color:#888;font-style:italic}.schema-content-wrapper{display:flex;flex:1 1;flex-direction:column;gap:.5rem;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto}.schema-content-wrapper::-webkit-scrollbar{width:8px}.schema-content-wrapper::-webkit-scrollbar-track{background:var(--sm-muted);border-radius:4px}.schema-content-wrapper::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}.schema-content-wrapper::-webkit-scrollbar-thumb:hover{background:#999}.schema-fields{font-size:.98rem;margin-top:.5rem}.schema-fields,.schema-fields strong{color:var(--sm-foreground)}.schema-fields ul{list-style:none;margin:0;padding:0 0 0 .5rem}.schema-field-item{align-items:center;display:flex;gap:.5rem;margin-bottom:.15rem}.field-name{color:var(--sm-foreground)}.loading-schemas,.no-schemas{color:var(--sm-foreground);font-size:1.1rem;margin-top:40px;text-align:center}.loading-schemas{align-items:center;display:flex;gap:8px;justify-content:center}.loading-schemas:before{animation:spin 1s linear infinite;border:2px solid var(--sm-foreground);border-radius:50%;border-top:2px solid #0000;content:"";height:20px;width:20px}.modal-overlay{--modal-accent:#ffc107;--modal-accent-dark:#e6ad00;--modal-background:#fff;--modal-foreground:#000;--modal-muted:#f4f4f5;--modal-border:#e4e4e7;background:#00000080}.modal-content{background:var(--modal-background)!important;background-color:#fff!important;border:1px solid var(--modal-border);box-shadow:0 4px 24px #00000026;color:var(--modal-foreground)!important;max-height:90vh;max-width:1100px;min-width:800px;overflow-y:auto;padding:32px 36px;width:95vw}.modal-content,h3{font-family:Inter,Roboto,sans-serif}h3{color:var(--modal-foreground);font-size:1.4rem;font-weight:600;margin-bottom:18px}.form-row{display:flex;flex-direction:column;margin-bottom:16px}.form-row label{font-weight:500;margin-bottom:6px}.form-row input,.form-row label,.form-row select,.form-row textarea{color:var(--modal-foreground);font-family:Inter,Roboto,sans-serif;font-size:1rem}.form-row input,.form-row select,.form-row textarea{background:var(--modal-background);border:1px solid var(--modal-border);border-radius:.25rem;box-sizing:border-box;padding:8px 12px;width:100%}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--modal-accent);box-shadow:0 0 0 2px #ffc10733;outline:none}.form-row input:disabled,.form-row select:disabled,.form-row textarea:disabled{background:var(--modal-muted);color:#888;cursor:not-allowed}.form-row input::placeholder,.form-row select::placeholder,.form-row textarea::placeholder{color:#888}.form-row select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M6 8 1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;cursor:pointer;padding-right:36px}.form-row select option{background:var(--modal-background);color:var(--modal-foreground);padding:10px 12px}.form-row textarea{line-height:1.5;max-height:400px;min-height:150px;resize:vertical}.form-row input[type=number]{-moz-appearance:textfield}.form-row input[type=number]::-webkit-inner-spin-button,.form-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modal-actions{display:flex;gap:12px;margin-top:10px}.save-success-msg{animation:fadeIn .3s ease-in-out;background:#10b981;border-radius:.25rem;color:#fff;font-weight:500;margin-bottom:12px;padding:10px 16px;text-align:center}.save-btn{background:var(--modal-accent)!important;background-color:#ffc107!important;color:var(--modal-foreground)!important;font-size:1rem;padding:8px 18px;transition:all .15s ease}.save-btn:hover:not(:disabled):not(.saving){background:var(--modal-accent-dark)!important;background-color:#e6ad00!important}.save-btn:active{transform:translateY(1px)}.save-btn.saving,.save-btn:disabled{background:#ccc!important;cursor:not-allowed;transform:none}.cancel-btn{background:var(--modal-muted);border:1px solid var(--modal-border);border-radius:.25rem;color:var(--modal-foreground);cursor:pointer;font-size:1rem;font-weight:500;padding:8px 18px;transition:all .15s ease}.cancel-btn:hover{background:#e4e4e7;border-color:var(--modal-accent)}.cancel-btn:active{transform:translateY(1px)}.cancel-btn:disabled{background:#f0f0f0;cursor:not-allowed}.dynamic-fields{margin-bottom:16px;max-height:60vh;overflow-y:auto;padding-right:8px}.dynamic-fields::-webkit-scrollbar{width:6px}.dynamic-fields::-webkit-scrollbar-track{background:var(--modal-muted);border-radius:3px}.dynamic-fields::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.list-field-container .list-item-row{align-items:flex-start;display:flex;gap:8px;margin-bottom:12px}.list-field-container .list-item-row span{color:var(--modal-accent-dark);font-size:.9rem;font-weight:600;min-width:60px;padding-top:10px}.list-field-container .list-item-row input,.list-field-container .list-item-row textarea{background:var(--modal-background);border:1px solid var(--modal-border);border-radius:.25rem;color:var(--modal-foreground);flex:1 1;font-family:Inter,Roboto,sans-serif;font-size:1rem;line-height:1.4;padding:10px 12px}.list-field-container .list-item-row input:focus,.list-field-container .list-item-row textarea:focus{border-color:var(--modal-accent);box-shadow:0 0 0 2px #ffc10733;outline:none}.list-field-container .list-item-row input::placeholder,.list-field-container .list-item-row textarea::placeholder{color:#888}.list-field-container .list-item-row textarea{min-height:80px;resize:vertical}.list-field-container .list-item-row .remove-item-btn{background:#dc2626;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:1.1rem;line-height:1;padding:4px 10px;transition:background .2s}.list-field-container .list-item-row .remove-item-btn:hover{background:#b91c1c}.list-field-container .add-item-btn{background:#10b981;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:4px;padding:6px 12px;transition:background .2s}.list-field-container .add-item-btn:hover{background:#059669}.building-blocks-view{--bb-accent:#ffc107;--bb-accent-dark:#e6ad00;--bb-background:#fff;--bb-foreground:#000;--bb-muted:#f4f4f5;--bb-muted-foreground:#000;--bb-border:#e4e4e7;background:var(--bb-background);height:100%;min-height:100vh;padding:2rem;position:relative;width:100%}.building-blocks-view button,.building-blocks-view h1,.building-blocks-view h2,.building-blocks-view h3,.building-blocks-view input,.building-blocks-view label,.building-blocks-view p,.building-blocks-view span,.building-blocks-view textarea{color:var(--bb-foreground)}.building-blocks-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.building-blocks-header h2{color:var(--bb-foreground);font-family:Inter,Roboto,sans-serif;font-size:1.75rem;font-weight:600;margin:0}.create-block-btn{align-items:center;background-color:var(--bb-accent);border:none;border-radius:.25rem;color:var(--bb-foreground);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.create-block-btn:hover{background-color:var(--bb-accent-dark)}.block-tabs{background:var(--bb-muted);border:1px solid var(--bb-border);border-radius:.5rem;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1.5rem;padding:8px}.block-tab{background:#0000;border:1px solid #0000;border-radius:.25rem;color:#666;cursor:pointer;font-family:Inter,Roboto,sans-serif;font-size:.95rem;font-weight:500;padding:8px 16px;transition:all .15s ease}.block-tab:hover{background:#ffc1071a;color:var(--bb-foreground)}.block-tab.active{background:var(--bb-accent);border-color:var(--bb-accent);color:var(--bb-foreground)}.block-card{background:var(--bb-background);border:1px solid var(--bb-border)}.block-card:hover{border-color:var(--bb-accent)}.block-badge,.block-badge.block-badge-orange,.block-badge.block-badge-yellow{background:#ffc107!important;color:#000!important}.block-badge.block-badge-blue{background:#3b82f6!important;color:#fff!important}.block-badge.block-badge-green{background:#10b981!important;color:#fff!important}.block-badge.block-badge-purple{background:#8b5cf6!important;color:#fff!important}.block-badge.block-badge-red{background:#ef4444!important;color:#fff!important}.block-card-actions{align-items:center;display:flex;gap:.5rem;margin-left:auto;position:static}.card-delete-btn,.card-edit-btn{align-items:center;background:var(--bb-muted);border:1px solid var(--bb-border);border-radius:.25rem;color:#666;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;padding:.4rem;transition:background .15s,color .15s,border-color .15s;width:32px}.card-edit-btn:hover{background:#e0eaff;border-color:#2196f3;color:#2196f3}.card-delete-btn:hover{background:#ffe0e0;border-color:#c0392b;color:#c0392b}.block-desc{color:var(--bb-foreground)}.block-content-wrapper::-webkit-scrollbar-track{background:var(--bb-muted)}.block-fields{font-size:.95rem;line-height:1.5}.block-fields,.block-fields strong{color:var(--bb-foreground)}.block-fields ul{list-style:none;margin:0;padding:0}.block-field-item{border-bottom:1px solid var(--bb-border);display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem;padding-bottom:.5rem}.block-field-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.block-field-item .field-label{color:var(--bb-foreground);font-size:.85rem;font-weight:600}.block-field-item .field-value{color:var(--bb-foreground);line-height:1.5;white-space:pre-wrap;word-break:break-word}.field-name{color:var(--bb-foreground);font-weight:500}.field-type{color:#666;font-size:.95em}.field-required{color:#c0392b;font-weight:700;margin-left:.25em}.loading-blocks,.no-blocks{color:var(--bb-foreground)}.loading-blocks{align-items:center;display:flex;font-size:1.1rem;gap:8px;justify-content:center;margin-top:40px;text-align:center}.loading-blocks:before{animation:spin 1s linear infinite;border:2px solid var(--bb-foreground);border-radius:50%;border-top:2px solid #0000;content:"";height:20px;width:20px}.prompt-builder-bg{--pb-accent:#ffc107;--pb-accent-dark:#e6ad00;--pb-background:#fff;--pb-foreground:#000;--pb-muted:#f4f4f5;--pb-muted-foreground:#000;--pb-border:#e4e4e7;background:var(--pb-background);font-family:Inter,Roboto,sans-serif;height:100%;min-height:100vh;padding:0;position:relative;width:100%}.prompt-builder-bg,.prompt-builder-bg button,.prompt-builder-bg h1,.prompt-builder-bg h2,.prompt-builder-bg h3,.prompt-builder-bg input,.prompt-builder-bg label,.prompt-builder-bg p,.prompt-builder-bg span,.prompt-builder-bg textarea{color:var(--pb-foreground)}.prompt-builder-header{align-items:center;display:flex;justify-content:space-between;padding:2rem 2rem 0}.prompt-builder-header h2{color:var(--pb-foreground);font-size:1.75rem;font-weight:600;margin:0}.load-prompt-dropdown{border:1px solid var(--pb-border);border-radius:.25rem;font-family:Inter,Roboto,sans-serif;font-size:1rem;margin-right:12px;padding:8px 16px}.load-prompt-dropdown,.load-prompt-dropdown option{background:var(--pb-background);color:var(--pb-foreground)}.action-btn-row{gap:16px}.primary-btn-orange{align-items:center;background-color:var(--pb-accent)!important;border:none;border-radius:.25rem;color:var(--pb-foreground)!important;cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1.25rem;transition:all .15s ease}.primary-btn-orange:hover:not(:disabled){background-color:var(--pb-accent-dark)!important}.primary-btn-orange:active{transform:translateY(1px)}.primary-btn-orange:disabled{cursor:not-allowed;opacity:.6}.preview-btn{background:var(--pb-muted);border:1px solid var(--pb-border);border-radius:.25rem;color:var(--pb-foreground);cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.preview-btn:hover{background:#e4e4e7;border-color:var(--pb-accent)}.preview-btn:disabled{cursor:not-allowed;opacity:.5}.reset-btn{background:#0000;border:1px solid #dc2626;border-radius:.25rem;color:#dc2626;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.reset-btn:hover{background:#dc26261a;border-color:#b91c1c;color:#b91c1c}.reset-btn:active{background:#dc262633;transform:translateY(1px)}.delete-prompt-btn{background:#0000;border:1px solid #dc2626;border-radius:.25rem;color:#dc2626;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .15s ease}.delete-prompt-btn:hover:not(:disabled){background:#dc26261a;border-color:#b91c1c;color:#b91c1c}.delete-prompt-btn:disabled{cursor:not-allowed;opacity:.4}.prompt-builder-split{display:flex;gap:2rem;height:calc(100vh - 100px);padding:2rem}.available-blocks-sidebar{background:var(--pb-muted);border:1px solid var(--pb-border);border-radius:.5rem;display:flex;flex-direction:column;gap:12px;min-width:260px;overflow:hidden;padding:16px;width:260px}.available-blocks-sidebar .block-list{align-items:stretch;display:flex;flex:1 1;flex-direction:column;gap:0;justify-content:flex-start;margin:0;overflow-y:auto;padding:0}.available-blocks-sidebar .block-card{background:var(--pb-background);border:1px solid var(--pb-border);border-left:3px solid var(--pb-accent);border-radius:4px;box-sizing:border-box;color:var(--pb-foreground);cursor:pointer;display:block;flex:none!important;flex-grow:0!important;flex-shrink:0!important;font-size:.875rem;height:auto!important;line-height:1.2;margin-bottom:6px!important;max-height:none!important;min-height:0!important;padding:6px 10px!important;transition:background .15s}.available-blocks-sidebar .block-card:last-child{margin-bottom:0!important}.available-blocks-sidebar .block-card:hover{background:#e8e8e8}.available-blocks-sidebar .block-name{word-wrap:break-word;color:var(--pb-foreground);display:block;font-size:.875rem;font-weight:500;line-height:1.25;margin:0;overflow-wrap:break-word;padding:0;white-space:normal}.available-blocks-sidebar .block-tag{display:none}.filter-row{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.filter-row label{color:#666;font-size:1rem}.filter-row select{border:1px solid var(--pb-border);border-radius:.25rem;font-size:.9rem;max-width:100%;padding:6px 10px;width:100%}.filter-row select,.filter-row select option{background:var(--pb-background);color:var(--pb-foreground);font-family:inherit}.filter-row select option{font-size:1rem}.block-list{align-items:stretch;display:flex;flex:1 1;flex-direction:column;gap:0;justify-content:flex-start;margin:0;overflow-y:auto;padding:0}.block-card{background:var(--pb-background);border:1px solid var(--pb-border);border-left:3px solid var(--pb-accent);border-radius:4px;box-sizing:border-box;color:var(--pb-foreground);display:block;flex:none!important;font-size:.875rem;height:auto!important;line-height:1.2;margin-bottom:6px!important;max-height:none!important;min-height:0!important;padding:6px 10px!important;transition:background .15s}.block-card:last-child{margin-bottom:0!important}.block-card:hover{background:var(--pb-muted)}.block-name{word-wrap:break-word;color:var(--pb-foreground);display:block;font-size:.875rem;font-weight:500;line-height:1.25;margin:0;overflow-wrap:break-word;padding:0;white-space:normal}.block-tag-blue{background:#3b82f6}.block-tag-green{background:#10b981}.block-tag-orange{background:var(--pb-accent);color:#000}.block-tag-purple{background:#8b5cf6}.block-tag-red{background:#ef4444}.block-tag-yellow{background:#eab308;color:#000}.prompt-canvas{background:var(--pb-muted);border:1px solid var(--pb-border);border-radius:.5rem;display:flex;flex:1 1;flex-direction:column;gap:16px;padding:1.5rem}.canvas-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.prompt-desc-input,.prompt-name-input{background:var(--pb-background);border:1px solid var(--pb-border);border-radius:.25rem;color:var(--pb-foreground);flex:1 1;font-size:1rem;padding:8px 12px}.prompt-desc-input:focus,.prompt-name-input:focus{border-color:#0000;outline:2px solid var(--pb-accent)}.prompt-desc-input::placeholder,.prompt-name-input::placeholder{color:#888}.session-duration-input-wrapper{align-items:center;display:flex;flex-shrink:0;gap:8px}.session-duration-input-wrapper label{font-size:.875rem;font-weight:500;white-space:nowrap}.session-duration-input-wrapper .session-duration-input{background:var(--pb-background);border:1px solid var(--pb-border);border-radius:.25rem;color:var(--pb-foreground);font-size:1rem;padding:8px 12px;text-align:center;width:80px}.session-duration-input-wrapper .session-duration-input:focus{border-color:#0000;outline:2px solid var(--pb-accent)}.session-duration-input-wrapper .session-duration-input::-webkit-inner-spin-button,.session-duration-input-wrapper .session-duration-input::-webkit-outer-spin-button{opacity:1}.canvas-block-list{display:flex;flex-direction:column;gap:16px}.canvas-block-card{background:var(--pb-background);border:1px solid var(--pb-border);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;color:var(--pb-foreground);display:flex;flex-direction:column;gap:8px;padding:18px 20px}.canvas-block-header{align-items:center;display:flex;gap:12px;margin-bottom:6px}.canvas-block-index{color:var(--pb-accent-dark);font-weight:700}.canvas-block-name{color:var(--pb-foreground);font-weight:600}.canvas-block-tag{border-radius:.25rem;font-size:.9rem;font-weight:600;margin-left:8px;padding:2px 10px}.canvas-block-tag-blue{background:#3b82f6;color:#fff}.canvas-block-tag-green{background:#10b981;color:#fff}.canvas-block-tag-orange{background:var(--pb-accent);color:#000}.canvas-block-tag-purple{background:#8b5cf6;color:#fff}.remove-block-btn{background:var(--pb-accent);border:none;border-radius:.25rem;color:var(--pb-foreground);cursor:pointer;font-size:.95rem;font-weight:500;margin-left:auto;padding:4px 12px}.remove-block-btn:hover{background:var(--pb-accent-dark)}.canvas-block-data{color:var(--pb-foreground);font-size:.98rem}.preview-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.preview-content{background:var(--pb-background);border:1px solid var(--pb-border);border-radius:.5rem;box-shadow:0 4px 24px #00000026;color:var(--pb-foreground);font-family:Inter,Roboto,sans-serif;max-width:80vw;min-width:340px;padding:32px 28px}.preview-content h3{color:var(--pb-foreground);margin-bottom:1rem}.close-preview-btn{background:var(--pb-muted);border:1px solid var(--pb-border);border-radius:.25rem;color:var(--pb-foreground);cursor:pointer;font-size:1rem;font-weight:500;padding:10px 24px}.close-preview-btn:hover{background:#e4e4e7}.feedback-builder-view{--fb-accent:#ffc107;--fb-accent-dark:#e6ad00;--fb-background:#fff;--fb-foreground:#000;--fb-muted:#f4f4f5;--fb-muted-foreground:#000;--fb-border:#e4e4e7;--fb-success:#22c55e;--fb-selected:#3b82f6;background:var(--fb-background);height:100%;min-height:100vh;padding:2rem;position:relative;width:100%}.feedback-builder-view button,.feedback-builder-view h1,.feedback-builder-view h2,.feedback-builder-view h3,.feedback-builder-view input,.feedback-builder-view label,.feedback-builder-view p,.feedback-builder-view span,.feedback-builder-view textarea{color:var(--fb-foreground)}.feedback-builder-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.feedback-builder-header h2{color:var(--fb-foreground);font-family:Inter,Roboto,sans-serif;font-size:1.75rem;font-weight:600;margin:0}.action-btn-row{gap:.75rem}.action-btn-row,.save-btn{align-items:center;display:flex}.save-btn{background-color:var(--fb-accent);border:none;border-radius:.25rem;color:var(--fb-foreground);cursor:pointer;font-weight:500;gap:.5rem;padding:.5rem 1.25rem;transition:background-color .2s}.save-btn:hover:not(:disabled){background-color:var(--fb-accent-dark)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.feedback-builder-description{background:var(--fb-muted);border:1px solid var(--fb-border);border-radius:.5rem;margin-bottom:2rem;padding:1rem}.feedback-builder-description p{color:#666;font-size:.95rem;line-height:1.5;margin:0}.active-block-indicator{align-items:center;border-top:1px solid var(--fb-border);display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.active-block-indicator .active-label{color:var(--fb-foreground);font-weight:500}.active-block-indicator .active-block-name{color:var(--fb-success);font-weight:600}.loading-state{color:#666;display:flex;font-size:1.1rem;height:50vh}.loading-state,.no-blocks{align-items:center;justify-content:center}.no-blocks{background:var(--fb-muted);border:1px solid var(--fb-border);border-radius:.5rem;gap:.5rem;padding:3rem}.no-blocks span:first-child{color:var(--fb-foreground);font-size:1.1rem;font-weight:500}.no-blocks span:last-child{font-size:.9rem}.blocks-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,350px));justify-content:start}.block-card{background:var(--fb-background);border:2px solid var(--fb-border);border-radius:.5rem;box-shadow:0 1px 3px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:280px!important;max-height:280px!important;min-height:280px!important;overflow:hidden!important;padding:1rem 1.5rem .5rem;position:relative;transition:border-color .2s,box-shadow .2s}.block-card:hover{border-color:var(--fb-accent);box-shadow:0 4px 12px #ffc10726}.block-card.selected{border-color:var(--fb-selected);box-shadow:0 0 0 3px #3b82f633}.block-card.active,.block-card.active.selected{border-color:var(--fb-success)}.block-card.active.selected{box-shadow:0 0 0 3px #22c55e33}.block-card-top-row{align-items:flex-start;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.5rem}.block-badge{border-radius:.25rem;color:#fff;display:inline-block;font-size:1rem;font-weight:600;letter-spacing:.01em;margin-right:.5rem;padding:.35rem 1rem}.block-badge.block-badge-orange,.block-badge.block-badge-yellow{background:var(--fb-accent);color:#000}.block-badge.block-badge-blue{background:#3b82f6}.block-badge.block-badge-green{background:#10b981}.block-badge.block-badge-purple{background:#8b5cf6}.block-badge.block-badge-red{background:#ef4444}.block-status{display:flex;gap:.5rem}.status-badge{border-radius:.25rem}.status-badge.active-badge{background:#22c55e26;color:var(--fb-success)}.status-badge.selected-badge{background:#3b82f626;color:var(--fb-selected)}.block-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;gap:.5rem;max-height:calc(100% - 50px);min-height:0!important;overflow-x:hidden;overflow-y:auto!important;padding-bottom:1rem}.block-content-wrapper::-webkit-scrollbar{width:8px}.block-content-wrapper::-webkit-scrollbar-track{background:var(--fb-muted);border-radius:4px}.block-content-wrapper::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}.block-content-wrapper::-webkit-scrollbar-thumb:hover{background:#999}.block-desc{color:var(--fb-foreground);font-family:Inter,Roboto,sans-serif;font-size:.95rem;line-height:1.4;margin-bottom:.5rem}.block-desc-placeholder{color:#888;font-style:italic}.block-preview{background:var(--fb-muted);border-radius:.5rem;flex:1 1;min-height:0;overflow-y:auto;padding:.75rem}.block-preview pre{color:var(--fb-foreground);font-family:Inter,Roboto,sans-serif;font-size:.9rem;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.block-tag{display:none}.toast-container{position:fixed;right:20px;top:20px;z-index:9999}.no-blocks{color:var(--fb-foreground);display:flex;flex-direction:column;font-size:1.1rem;gap:8px;margin-top:40px;text-align:center}.no-blocks span:last-child{color:#666;font-size:.95rem}.step-progress{background:#fff;border-bottom:1px solid #e2e8f0;padding:24px 32px}.step-progress__list{align-items:center;display:flex;gap:0;justify-content:center;list-style:none;margin:0;padding:0}.step-progress__item{align-items:center;display:flex;gap:8px;position:relative}.step-progress__item.completed .step-progress__indicator{background:#48bb78;border-color:#48bb78;color:#fff}.step-progress__item.completed .step-progress__label{color:#48bb78;font-weight:600}.step-progress__item.current .step-progress__indicator{background:#04345c;border-color:#04345c;color:#fff}.step-progress__item.current .step-progress__label{color:#04345c;font-weight:600}.step-progress__indicator{align-items:center;background:#fff;border:2px solid #cbd5e0;border-radius:50%;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .3s ease;width:28px}.step-progress__indicator svg{height:18px;width:18px}.step-progress__number{color:#a0aec0;font-size:13px;font-weight:600;line-height:1}.step-progress__label{color:#a0aec0;font-size:13px;font-weight:500;transition:color .3s ease;white-space:nowrap}.step-progress__connector{background:#e2e8f0;flex-shrink:0;height:2px;margin:0 8px;transition:background .3s ease;width:48px}.step-progress__connector.completed{background:#48bb78}@media(max-width:600px){.step-progress{padding:16px 20px}.step-progress__label{font-size:11px}.step-progress__connector{width:24px}}.audio-visualizer-shared{display:flex;justify-content:center;padding:16px 0}.audio-visualizer-shared__bars{align-items:flex-end;display:flex;gap:3px;height:80px;justify-content:center;max-width:320px;width:100%}.audio-visualizer-shared__bar{background:#e2e8f0;border-radius:4px 4px 0 0;flex:1 1;max-width:14px;min-height:4px;transition:height .08s ease-out,background .2s ease}.audio-visualizer-shared__bar.active{background:linear-gradient(0deg,#04345c,#2b6cb0)}@media(prefers-reduced-motion:reduce){.audio-visualizer-shared__bar{transition:none}}@media(max-width:600px){.audio-visualizer-shared__bars{height:60px;max-width:260px}}.mic-selector{margin-bottom:16px}.mic-selector__select{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;cursor:pointer;font-family:inherit;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.mic-selector__select:focus{border-color:#04345c;box-shadow:0 0 0 3px #04345c26;outline:none}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.speaker-test{align-items:center;display:flex;flex-direction:column}.speaker-test__play-btn{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#04345c;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:background .2s ease,border-color .2s ease}.speaker-test__play-btn:hover{background:#edf2f7;border-color:#cbd5e0}.speaker-test__play-btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}.speaker-test__playing{align-items:center;color:#04345c;display:flex;font-size:14px;font-weight:500;gap:10px;padding:12px 0}.speaker-test__playing-icon{animation:speaker-pulse .8s ease-in-out infinite}.speaker-test__ask{align-items:center;animation:fadeIn .3s ease;display:flex;flex-direction:column}.speaker-test__question{color:#2d3748;font-size:14px;font-weight:600;margin:0 0 12px}.speaker-test__actions{display:flex;gap:10px}.speaker-test__btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:background .2s ease}.speaker-test__btn--yes{background:#48bb78;color:#fff}.speaker-test__btn--yes:hover{background:#38a169}.speaker-test__btn--no{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.speaker-test__btn--no:hover{background:#edf2f7}.speaker-test__btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}.speaker-test__result{align-items:center;animation:fadeIn .3s ease;border-radius:8px;display:flex;font-size:14px;font-weight:500;gap:8px;padding:12px 16px}.speaker-test__result--passed{background:#f0fff4;color:#276749}.speaker-test__result--failed{background:#fff5f5;color:#c53030;flex-wrap:wrap}.speaker-test__retry{background:none;border:none;color:#c53030;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;margin-left:auto;padding:0;text-decoration:underline}.speaker-test__retry:hover{color:#9b2c2c}.speaker-test__retry:focus-visible{outline:2px solid #f4ac04;outline-offset:2px}@keyframes speaker-pulse{0%,to{opacity:1}50%{opacity:.4}}@media(prefers-reduced-motion:reduce){.speaker-test__ask,.speaker-test__playing-icon,.speaker-test__result{animation:none}}.device-setup-step{padding:40px 40px 48px}.device-setup-step__heading{color:#1a202c;font-size:24px;font-weight:700;margin:0 0 4px;text-align:center}.device-setup-step__heading:focus{outline:none}.device-setup-step__time-estimate{color:#a0aec0;font-size:13px;font-weight:500;margin:0 0 24px;text-align:center}.device-setup-step__tabs{background:#f1f5f9;border-radius:12px;display:flex;gap:4px;margin:0 auto 28px;max-width:320px;padding:4px}.device-setup-step__tab{align-items:center;background:#0000;border:none;border-radius:9px;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:14px;font-weight:500;gap:7px;justify-content:center;padding:10px 16px;transition:all .2s ease}.device-setup-step__tab:hover:not(:disabled){background:#ffffff80;color:#334155}.device-setup-step__tab:focus-visible{outline:2px solid #f4ac04;outline-offset:2px}.device-setup-step__tab--active{background:#fff;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;color:#0f172a;font-weight:600}.device-setup-step__tab--done{color:#16a34a}.device-setup-step__tab--done.device-setup-step__tab--active{background:#fff;color:#15803d}.device-setup-step__tab:disabled{cursor:not-allowed;opacity:.4}.device-setup-step__error{align-items:flex-start;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;color:#c53030;display:flex;font-size:14px;gap:10px;line-height:1.5;margin-bottom:20px;padding:14px 16px}.device-setup-step__error>svg{flex-shrink:0;margin-top:2px}.device-setup-step__troubleshooting{background:#fffbeb;border-radius:6px;color:#744210;font-size:13px;margin-top:8px;padding:10px 14px}.device-setup-step__troubleshooting summary{color:#975a16;cursor:pointer;font-weight:600}.device-setup-step__troubleshooting summary:hover{text-decoration:underline}.device-setup-step__troubleshooting ol{line-height:1.7;margin:8px 0 0;padding-left:18px}.device-setup-step__retry-btn{background:none;border:none;color:#c53030;cursor:pointer;display:inline-block;font-family:inherit;font-size:13px;font-weight:600;margin-top:8px;padding:0;text-decoration:underline}.device-setup-step__retry-btn:hover{color:#9b2c2c}.device-setup-step__section{animation:dssFadeIn .3s ease}.device-setup-step__instruction{color:#718096;font-size:15px;line-height:1.5;margin:0 0 20px;text-align:center}.device-setup-step__calibration-hint{background:#ebf8ff;border-radius:6px;color:#4a5568;display:inline-block;font-size:13px;font-weight:500;margin:0 0 16px;padding:6px 14px;text-align:center;width:100%}.device-setup-step__status-area{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100px}.device-setup-step__countdown{align-items:center;display:flex;height:60px;justify-content:center;margin:8px auto 4px;opacity:0;position:relative;transform:scale(.8);transition:opacity .25s ease,transform .25s ease;width:60px}.device-setup-step__countdown--visible{opacity:1;transform:scale(1)}.device-setup-step__countdown-circle{height:100%;left:0;position:absolute;top:0;width:100%}.device-setup-step__countdown-track{opacity:.4}.device-setup-step__countdown-fill{transition:stroke-dashoffset .2s ease}.device-setup-step__countdown-text{color:#276749;font-size:14px;font-weight:700;position:relative;z-index:1}.device-setup-step__success{align-items:center;animation:dssFadeIn .3s ease;background:#f0fff4;border-radius:8px;color:#276749;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:12px;padding:12px}.device-setup-step__hint{color:#a0aec0;font-size:13px;margin:12px 0 0;text-align:center}.device-setup-step__denied-help{text-align:center}.device-setup-step__browser-steps{color:#4a5568;font-size:14px;line-height:1.8;margin:0 auto 20px;max-width:360px;padding-left:20px;text-align:left}.device-setup-step__skip-btn{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;display:inline-block;font-family:inherit;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s ease}.device-setup-step__skip-btn:hover{background:#edf2f7}.device-setup-step__skip-btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}.device-setup-step__skip-link{background:none;border:none;color:#a0aec0;cursor:pointer;display:block;font-family:inherit;font-size:13px;font-weight:500;margin-top:16px;padding:0;text-decoration:underline}.device-setup-step__skip-link:hover{color:#718096}.device-setup-step__skip-link:focus-visible{outline:2px solid #f4ac04;outline-offset:2px}@keyframes dssFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.device-setup-step__section,.device-setup-step__success{animation:none}.device-setup-step__countdown{transition:none}}@media(max-width:600px){.device-setup-step{padding:28px 24px 36px}.device-setup-step__heading{font-size:20px}.device-setup-step__tab{font-size:13px;padding:8px 12px}.device-setup-step__tabs{max-width:280px}}.ptt-button-wrapper{align-items:center;display:flex;height:120px;justify-content:center;margin:0 auto;position:relative;width:120px}.ptt-button-ring{border:3px solid #0000;border-radius:50%;inset:0;pointer-events:none;position:absolute;transition:border-color .3s ease,transform .3s ease}.ptt-button-ring--active{animation:ptt-ring-pulse 1.5s ease-in-out infinite;border-color:#04345c}.ptt-button-ring--success{animation:none;border-color:#48bb78}.ptt-button{align-items:center;background:#04345c;border:none;border-radius:50%;box-shadow:0 4px 16px #04345c4d;color:#fff;cursor:pointer;display:flex;height:88px;justify-content:center;padding:0;position:relative;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;width:88px;z-index:1}.ptt-button:hover:not(:disabled){background:#053d6b;transform:scale(1.04)}.ptt-button:focus-visible{outline:3px solid #f4ac04;outline-offset:4px}.ptt-button--active{background:#f4ac04;box-shadow:0 2px 8px #f4ac0466;color:#04345c}.ptt-button--active,.ptt-button--active:hover:not(:disabled){transform:scale(.95)}.ptt-button--success{background:#48bb78;color:#fff;transform:scale(1)}.ptt-button--disabled{cursor:not-allowed;opacity:.5}@keyframes ptt-ring-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.ptt-button-ring--active{animation:none}.ptt-button{transition:none}}.ptt-practice-step{padding:40px 40px 48px;text-align:center}.ptt-practice-step__heading{color:#1a202c;font-size:24px;font-weight:700;margin:0 0 32px}.ptt-practice-step__heading:focus{outline:none}.ptt-practice-step__guide{align-items:center;display:flex;gap:0;justify-content:center;margin-bottom:40px}.ptt-practice-step__guide-item{align-items:center;display:flex;flex-direction:column;gap:8px;opacity:.4;transition:opacity .3s ease}.ptt-practice-step__guide-item--active{opacity:1}.ptt-practice-step__guide-item--active .ptt-practice-step__guide-icon{background:#ebf4ff;color:#04345c}.ptt-practice-step__guide-item--done{opacity:1}.ptt-practice-step__guide-item--done .ptt-practice-step__guide-icon{background:#f0fff4;color:#48bb78}.ptt-practice-step__guide-icon{align-items:center;background:#f7fafc;border-radius:50%;color:#a0aec0;display:flex;height:52px;justify-content:center;transition:all .3s ease;width:52px}.ptt-practice-step__guide-label{color:#4a5568;font-size:12px;font-weight:600}.ptt-practice-step__guide-connector{background:#e2e8f0;height:2px;margin:0 12px 28px;transition:background .3s ease;width:40px}.ptt-practice-step__guide-connector--done{background:#48bb78}.ptt-practice-step__prompt{margin:0 0 20px}.ptt-practice-step__prompt-label{color:#718096;display:block;font-size:15px;margin-bottom:8px}.ptt-practice-step__prompt-text{color:#04345c;font-size:18px;font-style:italic;font-weight:600;margin:0}.ptt-practice-step__live-visualizer{animation:pttFadeIn .2s ease;margin:0 auto;max-width:280px;width:100%}.ptt-practice-step__ptt-area{align-items:center;display:flex;flex-direction:column;gap:16px;margin-top:8px}.ptt-practice-step__ptt-hint{color:#718096;font-size:14px;margin:0;min-height:20px}.ptt-practice-step__voice-detected{align-items:center;animation:pttFadeIn .3s ease;background:#f0fff4;border-radius:8px;color:#276749;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px}.ptt-practice-step__success{animation:pttFadeIn .4s ease;padding:32px 0}.ptt-practice-step__success>svg{color:#48bb78;margin-bottom:12px}.ptt-practice-step__success h3{color:#1a202c;font-size:20px;font-weight:700;margin:0 0 8px}.ptt-practice-step__playback-prompt{color:#718096;font-size:14px;margin:0 0 16px}.ptt-practice-step__success-actions{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:12px}.ptt-practice-step__playback-btn{align-items:center;background:#fff;border:1px solid #04345c;border-radius:8px;color:#04345c;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:background .2s ease}.ptt-practice-step__playback-btn:hover{background:#f7fafc}.ptt-practice-step__playback-btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}.ptt-practice-step__continue-btn{background:#04345c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 28px;transition:background .2s ease}.ptt-practice-step__continue-btn:hover{background:#053d6b}.ptt-practice-step__continue-btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}.ptt-practice-step__retry-link{background:none;border:none;color:#718096;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:0;text-decoration:underline}.ptt-practice-step__retry-link:hover{color:#4a5568}.ptt-practice-step__error{align-items:center;animation:pttFadeIn .3s ease;background:#fff5f5;border:1px solid #feb2b2;border-radius:12px;color:#c53030;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:24px}.ptt-practice-step__error span{font-size:14px;line-height:1.5}.ptt-practice-step__error-actions{align-items:center;display:flex;gap:12px}.ptt-practice-step__retry-btn{background:#04345c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s ease}.ptt-practice-step__retry-btn:hover{background:#053d6b}.ptt-practice-step__retry-btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}.ptt-practice-step__skip-btn{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;color:#718096;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s ease}.ptt-practice-step__skip-btn:hover{background:#edf2f7}.ptt-practice-step__skip-btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}@keyframes pttFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ptt-practice-step__error,.ptt-practice-step__live-visualizer,.ptt-practice-step__success,.ptt-practice-step__voice-detected{animation:none}}@media(max-width:600px){.ptt-practice-step{padding:28px 24px 36px}.ptt-practice-step__heading{font-size:20px}.ptt-practice-step__guide-icon{height:44px;width:44px}.ptt-practice-step__guide-connector{margin:0 8px;width:24px}.ptt-practice-step__prompt-text{font-size:16px}}.completion-step{padding:48px 40px;text-align:center}.completion-step__icon{animation:completionBounce .6s ease;color:#48bb78;margin-bottom:16px}.completion-step__heading{color:#1a202c;font-size:26px;font-weight:700;margin:0 0 32px}.completion-step__heading:focus{outline:none}.completion-step__checklist{list-style:none;margin:0 0 28px;padding:0;text-align:left}.completion-step__check-item{align-items:center;border-bottom:1px solid #f0f0f0;color:#2d3748;display:flex;font-size:15px;gap:12px;padding:12px 16px}.completion-step__check-item:last-child{border-bottom:none}.completion-step__check-icon{align-items:center;color:#04345c;display:flex}.completion-step__check-mark{color:#48bb78;margin-left:auto}.completion-step__reminder{align-items:flex-start;background:#fffaf0;border:1px solid #fbd38d;border-radius:10px;color:#744210;display:flex;font-size:14px;gap:12px;line-height:1.5;margin-bottom:16px;padding:16px;text-align:left}.completion-step__reminder svg{color:#d69e2e;flex-shrink:0;margin-top:2px}.completion-step__reminder strong{font-weight:600}.completion-step__sidebar-note{align-items:center;color:#a0aec0;display:flex;font-size:13px;gap:8px;justify-content:center;margin-bottom:28px}.completion-step__sidebar-note svg{flex-shrink:0}.completion-step__start-btn{background:#f4ac04;border:none;border-radius:10px;color:#1a202c;cursor:pointer;font-family:inherit;font-size:16px;font-weight:700;padding:16px 32px;transition:background .2s ease,transform .15s ease;width:100%}.completion-step__start-btn:hover{background:#e09d00;transform:translateY(-1px)}.completion-step__start-btn:active{transform:translateY(0)}.completion-step__start-btn:focus-visible{outline:3px solid #04345c;outline-offset:2px}@keyframes completionBounce{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.completion-step__icon{animation:none}}@media(max-width:600px){.completion-step{padding:36px 24px}.completion-step__heading{font-size:22px}}.loading-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:200px}.loading-container .spinner{animation:spin 1s ease-in-out infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#3498db;height:40px;width:40px}.loading-container .loading-message{color:#666;font-size:16px;margin-top:16px}.ftue-flow{align-items:center;background:#f7fafc;display:flex;justify-content:center;min-height:calc(100vh - 4rem);padding:24px;position:relative}.ftue-flow__card{animation:ftueSlideUp .5s ease-out;background:#fff;border-radius:16px;box-shadow:0 4px 24px #00000014;max-width:600px;overflow:hidden;position:relative;width:100%}.ftue-flow__back-btn{align-items:center;background:none;border:none;color:#718096;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:4px;margin:8px 8px 0;padding:8px 16px}.ftue-flow__back-btn:hover{color:#4a5568}.ftue-flow__back-btn:focus-visible{border-radius:6px;outline:2px solid #f4ac04;outline-offset:2px}.ftue-flow__content{animation:fadeSlideIn .4s ease}.ftue-flow__error{padding:60px 40px;text-align:center}.ftue-flow__error h2{color:#1a202c;font-size:22px;font-weight:700;margin:0 0 12px}.ftue-flow__error p{color:#718096;font-size:15px;line-height:1.5;margin:0 0 28px}.ftue-flow__error-actions{display:flex;flex-direction:column;gap:10px}.ftue-flow__skip-warning-overlay{align-items:center;animation:ftueFadeIn .2s ease;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.ftue-flow__skip-warning{animation:ftueSlideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 8px 32px #00000029;max-width:420px;padding:32px;text-align:center;width:calc(100% - 48px)}.ftue-flow__skip-warning h3{color:#1a202c;font-size:20px;font-weight:700;margin:0 0 12px}.ftue-flow__skip-warning p{color:#718096;font-size:15px;line-height:1.5;margin:0 0 24px}.ftue-flow__skip-warning-actions{display:flex;flex-direction:column;gap:10px}.ftue-flow__btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;padding:14px 24px;transition:background .2s ease;width:100%}.ftue-flow__btn--primary{background:#04345c;color:#fff}.ftue-flow__btn--primary:hover{background:#053d6b}.ftue-flow__btn--secondary{background:#f7fafc;border:1px solid #e2e8f0;color:#718096}.ftue-flow__btn--secondary:hover{background:#edf2f7}.ftue-flow__btn:focus-visible{outline:3px solid #f4ac04;outline-offset:2px}@keyframes ftueSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes ftueFadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.ftue-flow__card,.ftue-flow__content,.ftue-flow__skip-warning,.ftue-flow__skip-warning-overlay{animation:none}}@media(max-width:600px){.ftue-flow{padding:12px}.ftue-flow__card{border-radius:12px}.ftue-flow__error{padding:40px 24px}.ftue-flow__skip-warning{padding:24px}}.device-setup-page{--dsp-accent:#ffc107;--dsp-accent-dark:#e6ad00;--dsp-background:#fff;--dsp-foreground:#000;--dsp-muted:#f4f4f5;--dsp-muted-foreground:#71717a;--dsp-border:#e4e4e7;overflow-y:auto;padding:2rem;width:100%}.device-setup-page__header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.device-setup-page__header h1{color:var(--dsp-foreground);font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.device-setup-page__header p{color:var(--dsp-muted-foreground);font-size:1rem;margin:0}.device-setup-page__back{align-items:center;background:var(--dsp-muted);border:1px solid var(--dsp-border);border-radius:.25rem;color:var(--dsp-foreground);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:6px;padding:.5rem 1rem;transition:all .2s ease;white-space:nowrap}.device-setup-page__back:hover{background:var(--dsp-accent);border-color:var(--dsp-accent)}.device-setup-page__back:focus-visible{outline:2px solid var(--dsp-accent);outline-offset:2px}.device-setup-page__sections{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.device-setup-page__section{background:var(--dsp-background);border:1px solid var(--dsp-border);border-radius:.5rem;box-shadow:0 1px 3px #0000000d;padding:1.5rem;transition:box-shadow .2s ease}.device-setup-page__section h2{align-items:center;color:var(--dsp-foreground);display:flex;font-size:1.125rem;font-weight:600;gap:10px;margin:0 0 1.25rem}.device-setup-page__section h2 svg{color:var(--dsp-muted-foreground)}.device-setup-page__section:nth-child(3){grid-column:1/-1}.device-setup-page__reset-section{border-style:dashed;grid-column:1/-1;text-align:center}.device-setup-page__error{color:#dc2626;font-size:.875rem;margin:0}.device-setup-page__mic-error-area{text-align:center}.device-setup-page__browser-steps{color:var(--dsp-muted-foreground);font-size:.875rem;line-height:1.8;margin:12px auto 16px;max-width:340px;padding-left:20px;text-align:left}.device-setup-page__hint{color:var(--dsp-muted-foreground);font-size:.8125rem;margin:8px 0 0;text-align:center}.device-setup-page__pass{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.25rem;color:#166534;display:flex;font-size:.875rem;font-weight:500;gap:8px;margin-top:8px;padding:.625rem 1rem}.device-setup-page__retry-link{background:none;border:none;color:var(--dsp-muted-foreground);cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:500;margin-left:auto;padding:0;text-decoration:underline}.device-setup-page__retry-link:hover{color:var(--dsp-foreground)}.device-setup-page__ptt-success{display:flex;flex-direction:column;gap:12px}.device-setup-page__playback-btn{align-items:center;align-self:flex-start;background:var(--dsp-accent);border:none;border-radius:.25rem;color:var(--dsp-foreground);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:8px;padding:.5rem 1rem;transition:background .2s ease}.device-setup-page__playback-btn:hover{background:var(--dsp-accent-dark)}.device-setup-page__playback-btn:focus-visible{outline:2px solid var(--dsp-accent);outline-offset:2px}.device-setup-page__ptt-area{align-items:center;display:flex;flex-direction:column;gap:12px}.device-setup-page__ptt-error{color:#dc2626;font-size:.875rem;text-align:center}.device-setup-page__ptt-error p{margin:0 0 8px}.device-setup-page__voice-detected{align-items:center;color:#166534;display:inline-flex;font-size:.75rem;font-weight:500;gap:5px}.device-setup-page__prompt-text{color:var(--dsp-muted-foreground);font-size:.9375rem;margin:0 0 8px;text-align:center}.device-setup-page__prompt-text em{color:var(--dsp-foreground);font-weight:600}.device-setup-page__reset-desc{color:var(--dsp-muted-foreground);font-size:.875rem;margin:0 0 1rem}.device-setup-page__reset-btn{align-items:center;background:#0000;border:1px solid #fecaca;border-radius:.25rem;color:#dc2626;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:8px;padding:.5rem 1rem;transition:all .2s ease}.device-setup-page__reset-btn:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5}.device-setup-page__reset-btn:disabled{cursor:not-allowed;opacity:.6}.device-setup-page__reset-btn:focus-visible{outline:2px solid var(--dsp-accent);outline-offset:2px}@media(max-width:768px){.device-setup-page{padding:1.5rem 1rem}.device-setup-page__header{flex-direction:column;gap:1rem}.device-setup-page__sections{grid-template-columns:1fr}.device-setup-page__reset-section,.device-setup-page__section:nth-child(3){grid-column:auto}}:root{--ring:#0284c7;--radius:0.5rem;--background:#020817;--foreground:#f8fafc;--muted:#1e293b;--muted-foreground:#94a3b8;--primary:#0284c7;--primary-foreground:#f8fafc;--border:#1e293b;--input:#1e293b}@media(prefers-color-scheme:dark){:root{--background:#020817;--foreground:#f8fafc;--muted:#1e293b;--muted-foreground:#94a3b8;--primary:#0284c7;--primary-foreground:#f8fafc;--border:#1e293b;--input:#1e293b}}.container{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:1200px;padding:1rem;width:100%}.table-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.search-container{flex:1 1;max-width:300px}.search-input{background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);color:#f8fafc;color:var(--foreground);padding:.5rem;width:100%}.column-visibility,.dropdown{position:relative}.dropdown{display:inline-block}.dropdown-trigger{align-items:center;background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);color:#f8fafc;color:var(--foreground);cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem}.dropdown:hover .dropdown-content{display:block}.dropdown-content{background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);box-shadow:0 2px 10px #0000001a;display:none;min-width:150px;position:absolute;right:0;z-index:10}.dropdown-item{align-items:center;color:#f8fafc;color:var(--foreground);cursor:pointer;display:block;display:flex;gap:.5rem;padding:.5rem 1rem;white-space:nowrap}.dropdown-item:hover{background-color:#1e293b;background-color:var(--muted)}.dropdown-divider{background-color:#1e293b;background-color:var(--border);height:1px;margin:.25rem 0}.table-container{background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);overflow:auto;width:100%}table{border-collapse:collapse;width:100%}td,th{padding:.75rem 1rem;text-align:left}th{background-color:#1e293b;background-color:var(--muted);color:#94a3b8;color:var(--muted-foreground);font-weight:500;position:-webkit-sticky;position:sticky;top:0;z-index:1}tbody tr{border-top:1px solid #1e293b;border-top:1px solid var(--border)}tbody tr:hover{background-color:#1e293b;background-color:var(--muted)}.selected-row{background-color:#0284c71a}.checkbox-cell{text-align:center;width:40px}.checkbox-wrapper{align-items:center;display:flex;justify-content:center}.checkbox{border-radius:4px;cursor:pointer;height:16px;width:16px}.actions-cell{text-align:center;width:40px}.rating-container{display:flex;gap:.25rem}.rating-button{align-items:center;background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.rating-button.selected{background-color:#0284c7;background-color:var(--primary);border-color:#0284c7;border-color:var(--primary);color:#f8fafc;color:var(--primary-foreground)}.feedback-display,.rating-button:hover:not(.selected){background-color:#1e293b;background-color:var(--muted)}.feedback-display{border-radius:.5rem;border-radius:var(--radius);font-size:.875rem;margin-top:.5rem;padding:.5rem}.pagination{margin-top:1rem}.pagination-info{color:#94a3b8;color:var(--muted-foreground);font-size:.875rem}.pagination-controls{align-items:center;display:flex;gap:1rem}.rows-per-page{align-items:center;display:flex;font-size:.875rem;gap:.5rem}.rows-per-page select{background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);color:#f8fafc;color:var(--foreground);padding:.25rem .5rem}.page-info{color:#94a3b8;color:var(--muted-foreground);font-size:.875rem}.page-buttons{display:flex;gap:.25rem}.pagination-button{align-items:center;background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);color:#f8fafc;color:var(--foreground);cursor:pointer;display:flex;height:32px;justify-content:center;width:32px}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-button:hover:not(:disabled){background-color:#1e293b;background-color:var(--muted)}.detail-view{background-color:#020817;background-color:var(--background);border-left:1px solid #1e293b;border-left:1px solid var(--border);box-shadow:-5px 0 15px #0000001a;display:flex;flex-direction:column;gap:1.5rem;height:100vh;max-width:800px;overflow-y:auto;padding:1.5rem;position:fixed;right:0;top:0;width:80%;z-index:1000}.detail-header{align-items:center;display:flex;justify-content:space-between}.close-button{background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);color:#f8fafc;color:var(--foreground);cursor:pointer;padding:.5rem 1rem}.close-button:hover,.transcript-info{background-color:#1e293b;background-color:var(--muted)}.transcript-info{border-radius:.5rem;border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem;padding:1rem}.modal-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{border-radius:.5rem;border-radius:var(--radius);box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;gap:1rem;max-width:500px;padding:1.5rem;width:90%}.feedback-textarea,.modal-content{background-color:#020817;background-color:var(--background)}.feedback-textarea{border:1px solid #1e293b;border:1px solid var(--border);border-radius:.5rem;border-radius:var(--radius);color:#f8fafc;color:var(--foreground);min-height:100px;padding:.5rem;resize:vertical;width:100%}.modal-buttons{display:flex;gap:.5rem;justify-content:flex-end}.cancel-button,.submit-button{border-radius:.5rem;border-radius:var(--radius);cursor:pointer;padding:.5rem 1rem}.submit-button{background-color:#0284c7;background-color:var(--primary);border:none;color:#f8fafc;color:var(--primary-foreground)}.submit-button:disabled{cursor:not-allowed;opacity:.5}.cancel-button{background-color:#020817;background-color:var(--background);border:1px solid #1e293b;border:1px solid var(--border);color:#f8fafc;color:var(--foreground)}@media(max-width:768px){.pagination-controls{flex-wrap:wrap}.detail-view{width:100%}}.role-play-list-container{--up-accent:#ffc107;--up-accent-dark:#e6ad00;--up-background:#fff;--up-foreground:#000;--up-muted:#f4f4f5;--up-muted-foreground:#000;--up-border:#e4e4e7;--up-admin:#8b5cf6;--up-trainer:#3b82f6;--up-trainee:#10b981;margin:0 auto;padding:2rem;position:relative;width:100%}.role-play-list-container .header-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.role-play-list-container .header-row h1{font-size:24px;font-weight:600;margin:0}.role-play-list-container .header-row .create-button{padding:8px 16px}.role-play-list-container .error-message{align-items:center;background-color:#ffebee;border-radius:4px;color:#c62828;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px}.role-play-list-container .error-message p{margin:0}.role-play-list-container .empty-state{color:#666;padding:40px 0;text-align:center}.role-play-list-container .empty-state p{font-size:16px;margin:5px 0}.role-play-list-container .empty-state p:first-child{font-size:18px;font-weight:500}.role-play-list-container .role-play-header{margin-bottom:2rem}.role-play-list-container .role-play-header h1{color:var(--up-foreground);font-size:2rem;margin-bottom:.5rem}.role-play-list-container .role-play-header .description{color:#666;font-size:1rem;white-space:pre-wrap}.role-play-list-container .tabs-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.role-play-list-container .tabs-container .tabs-list{-webkit-overflow-scrolling:touch;background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;display:flex;overflow-x:auto;scrollbar-color:#e0e0e0 #f9f9f9;scrollbar-width:thin;white-space:nowrap}.role-play-list-container .tabs-container .tabs-list::-webkit-scrollbar{height:6px}.role-play-list-container .tabs-container .tabs-list::-webkit-scrollbar-track{background:#f9f9f9}.role-play-list-container .tabs-container .tabs-list::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:3px}.role-play-list-container .tabs-container .tabs-list .tab-button{background:none;border:none;color:#666;cursor:pointer;flex-shrink:0;font-size:.95rem;font-weight:500;padding:1rem 1.5rem;position:relative;transition:color .2s}.role-play-list-container .tabs-container .tabs-list .tab-button:hover{color:var(--up-accent)}.role-play-list-container .tabs-container .tabs-list .tab-button.active{color:var(--up-accent);font-weight:600}.role-play-list-container .tabs-container .tabs-list .tab-button.active:after{background-color:var(--up-accent);bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.role-play-list-container .tabs-container .tabs-content{min-height:500px;padding:1.5rem;position:relative}.role-play-list-container .tab-content-container .tab-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.role-play-list-container .tab-content-container .tab-header h2{color:#333;font-size:1.5rem;margin-bottom:.5rem}.role-play-list-container .tab-content-container .tab-header .section-description{color:#666;font-size:.9rem;margin-bottom:.75rem}.role-play-list-container .tab-content-container .tab-header .subcategories{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.role-play-list-container .tab-content-container .tab-header .subcategories .subcategory{background-color:#f0f4f8;border-radius:4px;color:#456;font-size:.8rem;padding:.25rem .5rem}.role-play-list-container .tab-content-container .tab-header .tab-actions{align-items:center;display:flex;gap:.5rem}.role-play-list-container .tab-content-container .tab-header .refresh-button{margin-left:.5rem}.role-play-list-container .tab-content-container .pagination{align-items:center;color:var(--up-foreground);display:flex;justify-content:space-between;margin:1rem;padding:.5rem 0}.role-play-list-container .tab-content-container .pagination .pagination-info{color:var(--up-foreground);font-size:.875rem}.role-play-list-container .tab-content-container .pagination .pagination-controls{align-items:center;display:flex;gap:.5rem}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-button{align-items:center;background-color:#0000;border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:2rem;justify-content:center;min-width:2.5rem;padding:.375rem .75rem;transition:all .15s}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-button:hover:not(:disabled){background-color:var(--up-muted);border-color:var(--up-accent);color:var(--up-accent-dark)}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-button:disabled{cursor:not-allowed;opacity:.5}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-button.active{background-color:var(--up-accent);border-color:var(--up-accent);color:var(--up-foreground)}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-status{color:var(--up-foreground);font-size:.875rem;margin:0 .5rem;min-width:5rem;text-align:center}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-limit{background-color:#0000;border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);cursor:pointer;font-size:.875rem;margin-left:.5rem;padding:.375rem}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-limit:focus{border-color:var(--up-accent);outline:none}.role-play-list-container .tab-content-container .pagination .pagination-controls .pagination-limit:hover{border-color:var(--up-accent)}.role-play-list-container .create-button{align-items:center;background-color:var(--up-accent);border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.role-play-list-container .create-button:hover{background-color:var(--up-accent)}.role-play-list-container .search-container{margin-bottom:1.5rem;position:relative}.role-play-list-container .search-container .search-icon{color:#999;left:10px;position:absolute;top:50%;transform:translateY(-50%)}.role-play-list-container .search-container .search-input{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-size:.95rem;padding:.6rem 1rem .6rem 2.5rem;width:100%}.role-play-list-container .search-container .search-input:focus{background-color:#fff;border-color:var(--up-accent);outline:none}.role-play-list-container .role-plays-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:1.5rem;min-height:200px}.role-play-list-container .role-plays-grid .role-play-card{background-color:#f9f9f9;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#222;display:flex;flex-direction:column;padding:1.2rem}.role-play-list-container .role-plays-grid .role-play-card h3{color:#333;font-size:1.2rem;margin-bottom:.75rem}.role-play-list-container .role-plays-grid .role-play-card .description{color:#555;font-size:.9rem;margin-bottom:.75rem;margin-top:.1rem}.role-play-list-container .role-plays-grid .role-play-card .card-details .card-detail-item{color:var(--up-foreground);font-size:.98rem;margin-bottom:.5rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-word}.role-play-list-container .role-plays-grid .role-play-card .card-details .steps-list{list-style:disc;margin:.25rem 0 .5rem;padding-left:1.2rem}.role-play-list-container .role-plays-grid .role-play-card .card-details .steps-list li{color:var(--up-foreground);font-size:.95rem;max-width:95%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-play-list-container .role-plays-grid .role-play-card .card-details .module-scenarios-list{color:var(--up-foreground);font-size:.95rem;margin-top:.5rem}.role-play-list-container .role-plays-grid .role-play-card .card-details .module-scenarios-list ul{margin:.2rem 0 0 1.2rem;padding:0}.role-play-list-container .role-plays-grid .role-play-card .card-details .module-scenarios-list ul li{max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-play-list-container .role-plays-grid .role-play-card .actions{display:flex;gap:.5rem;margin-top:auto}.role-play-list-container .role-plays-grid .role-play-card .actions button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.role-play-list-container .role-plays-grid .role-play-card .actions button:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;opacity:.5;position:relative}.role-play-list-container .role-plays-grid .role-play-card .actions button:disabled:hover{background-color:#f5f5f5;color:#999}.role-play-list-container .role-plays-grid .role-play-card .actions .edit-button{background-color:#f0f0f0;color:#333}.role-play-list-container .role-plays-grid .role-play-card .actions .edit-button:hover:not(:disabled){background-color:#e0e0e0}.role-play-list-container .role-plays-grid .role-play-card .actions .edit-button:disabled{background-color:#f5f5f5;color:#999}.role-play-list-container .role-plays-grid .role-play-card .actions .view-button{background-color:#e3f2fd;color:#1976d2}.role-play-list-container .role-plays-grid .role-play-card .actions .view-button:hover:not(:disabled){background-color:#bbdefb}.role-play-list-container .role-plays-grid .role-play-card .actions .view-button:disabled{background-color:#f5f5f5;color:#999}.role-play-list-container .role-plays-grid .role-play-card .actions .delete-button{background-color:#ffebee;color:#d32f2f}.role-play-list-container .role-plays-grid .role-play-card .actions .delete-button:hover{background-color:#ffcdd2}.role-play-list-container .role-plays-grid .role-play-card .actions .start-button{background-color:#e3f2fd;color:#1976d2;margin-left:auto}.role-play-list-container .role-plays-grid .role-play-card .actions .start-button:hover{background-color:#bbdefb}.role-play-list-container .role-plays-grid .no-results{background-color:#f5f5f5;border-radius:6px;color:#666;grid-column:1/-1;padding:2rem;text-align:center}.role-play-list-container .pagination-wrapper{margin-top:1rem}.role-play-list-container .user-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.role-play-list-container .user-form-overlay,.user-form-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;padding:1rem;width:100%;z-index:1000}.role-play-form{--up-accent:#ffc107;--up-accent-dark:#e6ad00;--up-background:#fff;--up-foreground:#000;--up-muted:#f4f4f5;--up-muted-foreground:#000;--up-border:#e4e4e7;--up-admin:#8b5cf6;--up-trainer:#3b82f6;--up-trainee:#10b981;background-color:var(--up-background);border-radius:8px;box-shadow:0 2px 10px #0000000d;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:90%;z-index:1001}.role-play-form .form-header{align-items:center;background-color:var(--up-muted);border-bottom:1px solid var(--up-border);display:flex;justify-content:space-between;padding:1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:1}.role-play-form .form-header h2{color:var(--up-foreground);font-size:1.5rem;font-weight:600;margin:0}.role-play-form .form-header .close-button{align-items:center;background:none;border:none;border-radius:4px;color:var(--up-muted-foreground);cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:.5rem;position:absolute;right:1rem;top:1rem;transition:all .2s;width:2rem}.role-play-form .form-header .close-button:hover{background-color:var(--up-border);color:var(--up-foreground)}.role-play-form form{padding:1.5rem}.role-play-form form .form-group{margin-bottom:1.5rem}.role-play-form form .form-group label{color:var(--up-foreground);display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.role-play-form form .form-group select{color:#030000}.role-play-form form .form-group input,.role-play-form form .form-group textarea{background-color:var(--up-background);border:1px solid var(--up-border);border-radius:4px;color:var(--up-foreground);font-size:.95rem;padding:.75rem;transition:all .15s;width:100%}.role-play-form form .form-group input:focus,.role-play-form form .form-group textarea:focus{border-color:var(--up-accent);box-shadow:0 0 0 2px #ffc1071a;outline:none}.role-play-form form .form-group input:disabled,.role-play-form form .form-group textarea:disabled{background-color:var(--up-muted);cursor:not-allowed;opacity:.7}.role-play-form form .form-group textarea{min-height:100px;resize:vertical}.role-play-form .form-actions{background-color:var(--up-muted);border-top:1px solid var(--up-border);bottom:0;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;position:-webkit-sticky;position:sticky;z-index:1}.role-play-form .form-actions button{border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:500;min-width:100px;padding:.75rem 1.5rem;transition:all .15s}.role-play-form .form-actions button:disabled{cursor:not-allowed;opacity:.5}.role-play-form .form-actions .cancel-button{background-color:var(--up-muted);border:1px solid var(--up-border);color:var(--up-foreground)}.role-play-form .form-actions .cancel-button:hover:not(:disabled){background-color:var(--up-border);border-color:var(--up-accent);color:var(--up-accent-dark)}.role-play-form .form-actions .save-button{background-color:var(--up-accent);border:none;color:var(--up-foreground)}.role-play-form .form-actions .save-button:hover:not(:disabled){background-color:var(--up-accent-dark)}.role-play-form .scenario-social-skills-select{min-height:100px}.role-play-form .scenario-social-skills-select,.role-play-form .scenario-teaching-method-select{background:#fafbfc;border:1px solid #ccc;border-radius:6px;font-size:1rem;padding:8px;width:100%}.role-play-form .scenario-helper-text{color:#666;display:block;font-size:.92em;margin-top:4px}.role-play-form .helper-text{clear:both!important;display:block!important;margin-top:-.25rem!important;max-width:100%!important;position:static!important}.role-play-form .scenario-social-skills-checkbox-list{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:.5rem}.role-play-form .scenario-checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;-webkit-user-select:none;user-select:none}.role-play-form .scenario-checkbox-label input[type=checkbox]{accent-color:#ffc107;accent-color:var(--up-accent,#ffc107);height:1.1em;margin-right:.3em;width:1.1em}@media(max-width:768px){.role-play-form{max-height:95vh;max-width:95%}.role-play-form .form-header{padding:1rem}.role-play-form .form-header h2{font-size:1.25rem}.role-play-form .form-actions,.role-play-form form{padding:1rem}.role-play-form .form-actions button{min-width:80px;padding:.5rem 1rem}}.role-play-form input,.role-play-form textarea{color:var(--up-foreground)!important}.up-input{background:var(--up-background);border:1px solid var(--up-border);border-radius:4px;color:var(--up-foreground);font-size:1rem;margin-bottom:.5rem;padding:8px 12px;transition:border-color .2s;width:100%}.up-input:focus{border-color:var(--up-accent-dark);outline:none}.up-textarea{background:var(--up-background);border:1px solid var(--up-border);border-radius:4px;color:var(--up-foreground);font-size:1rem;margin-bottom:0;min-height:60px;padding:8px 12px;resize:vertical;transition:border-color .2s;width:100%}.up-textarea:focus{border-color:var(--up-accent-dark);outline:none}.up-btn{background:var(--up-accent);border:none;border-radius:4px;color:var(--up-foreground);cursor:pointer;font-size:1rem;margin-top:.25rem;padding:6px 16px;transition:background .2s}.up-btn:hover{background:var(--up-accent-dark)}.steps-edit-list{list-style:none;margin:0;padding:0}.step-item{background:#fafafa;border:1px solid var(--up-border);border-radius:8px;margin-bottom:1rem;padding:1rem;position:relative}.step-item .step-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.step-item .step-header .step-index{color:var(--up-foreground);font-size:1.1rem;font-weight:600;margin:0}.step-item .step-header .remove-step-icon{align-items:center;background:none;border:none;cursor:pointer;display:flex;padding:0}.step-item .up-input,.step-item .up-textarea{margin-bottom:.125rem}.pagination{border-top:1px solid #eaeaea;border-top:1px solid var(--border,#eaeaea);margin-top:16px;padding:16px 0}.pagination.single-page{color:#666;color:var(--muted-foreground,#666)}.pagination.single-page .pagination-controls{justify-content:flex-end}.pagination.single-page .items-per-page{margin-left:0}.pagination.single-page .pagination-limit{background-color:#f9f9f9;background-color:var(--muted,#f9f9f9);border:1px solid #e0e0e0;border:1px solid var(--border,#e0e0e0)}.pagination .pagination-info{color:#666;color:var(--muted-foreground,#666);font-size:14px}.pagination .pagination-controls{gap:8px}.pagination .pagination-controls .pagination-button{border:1px solid #e4e4e7;border:1px solid var(--border,#e4e4e7);color:#000;color:var(--foreground,#000)}.pagination .pagination-controls .pagination-button:hover:not(:disabled){background-color:#f5f5f5;background-color:var(--muted,#f5f5f5);border-color:#ccc;border-color:var(--accent,#ccc)}.pagination .pagination-controls .pagination-button:first-child,.pagination .pagination-controls .pagination-button:last-child{background-color:#f4f4f5;background-color:var(--muted,#f4f4f5)}.pagination .pagination-controls .pagination-button:first-child:hover:not(:disabled),.pagination .pagination-controls .pagination-button:last-child:hover:not(:disabled){background-color:#ffc1071a;background-color:var(--accent-muted,#ffc1071a);color:#e6ad00;color:var(--accent-dark,#e6ad00)}.pagination .pagination-controls .pagination-button.active{background-color:#007bff;background-color:var(--accent,#007bff);border-color:#007bff;border-color:var(--accent,#007bff);color:#fff;color:var(--accent-foreground,#fff)}.pagination .pagination-controls .pagination-pages{align-items:center;display:flex;gap:4px}.pagination .pagination-controls .pagination-status{color:#666;color:var(--muted-foreground,#666);font-size:14px;margin:0 8px}.pagination .pagination-controls .pagination-limit{background-color:#fff;background-color:var(--background,#fff);border:1px solid #ddd;border:1px solid var(--border,#ddd);border-radius:4px;font-size:14px;margin-left:12px;min-width:100px;padding:6px 10px}.pagination .pagination-controls .pagination-limit:focus,.pagination .pagination-controls .pagination-limit:hover{border-color:#007bff;border-color:var(--accent,#007bff)}.pagination .pagination-controls .items-per-page{align-items:center;display:flex;margin-left:16px}.pagination .pagination-controls .items-per-page label{color:#666;color:var(--muted-foreground,#666);font-size:14px;margin-right:8px}.pagination-wrapper{border-top:1px solid var(--border,#eaeaea)}.pagination-wrapper .pagination{border-top:none;margin-top:0;padding-top:0}.role-plays-grid,.users-table-container{animation:fadeIn .2s ease-out}@media screen and (max-width:768px){.pagination{flex-direction:column;gap:16px}.pagination .pagination-info{text-align:center}.pagination .pagination-controls{flex-wrap:wrap;justify-content:center}.pagination .pagination-controls .pagination-limit{margin-top:8px}}.confirmation-modal__backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:1100}.confirmation-modal{align-items:center;animation:fadeIn .2s;background:#fff;background:var(--up-background,#fff);border-radius:8px;box-shadow:0 2px 10px #00000014;display:flex;flex-direction:column;max-width:90vw;min-width:320px;padding:2rem 2.5rem}.confirmation-modal__title{color:#222;color:var(--up-foreground,#222);font-size:1.3rem;font-weight:600;margin-bottom:1rem}.confirmation-modal__message{color:#444;font-size:1rem;margin-bottom:1.5rem;text-align:center}.confirmation-modal__actions{display:flex;gap:1rem}.confirmation-modal__btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;padding:.5rem 1.5rem;transition:background .15s,color .15s}.confirmation-modal__btn--cancel{background:#f3f3f3;background:var(--up-muted,#f3f3f3);color:#666}.confirmation-modal__btn--cancel:hover{background:#e0e0e0}.confirmation-modal__btn--confirm{background:#ffc107;background:var(--up-accent,#ffc107);color:#fff;font-weight:500}.confirmation-modal__btn--confirm:hover{background:#e6ad00;background:var(--up-accent-dark,#e6ad00)}.user-form-overlay{--uf-accent:#ffc107;--uf-accent-dark:#e6ad00;--uf-background:#fff;--uf-foreground:#000;--uf-muted:#f4f4f5;--uf-muted-foreground:#000;--uf-border:#e4e4e7;align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.user-form-container{background-color:var(--uf-background);border-radius:.5rem;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.user-form-container button,.user-form-container h1,.user-form-container h2,.user-form-container h3,.user-form-container input,.user-form-container label,.user-form-container p,.user-form-container select,.user-form-container span,.user-form-container textarea{color:var(--uf-foreground)}.user-form-container .form-header{align-items:center;border-bottom:1px solid var(--uf-border);display:flex;justify-content:space-between;padding:1.5rem}.user-form-container .form-header h2{color:var(--uf-foreground);font-size:1.25rem;font-weight:600;margin:0}.user-form-container .form-header .close-button{align-items:center;background:#0000;border:none;border-radius:.25rem;color:var(--uf-foreground);cursor:pointer;display:flex;height:2rem;justify-content:center;width:2rem}.user-form-container .form-header .close-button:hover{background-color:var(--uf-muted)}.user-form-container form{padding:1.5rem}.user-form-container form .form-group{margin-bottom:1.25rem}.user-form-container form .form-group label{color:var(--uf-foreground);display:block;font-weight:500;margin-bottom:.5rem}.user-form-container form .form-group input,.user-form-container form .form-group select{background-color:var(--uf-background);border:1px solid var(--uf-border);border-radius:.25rem;color:var(--uf-foreground);font-size:1rem;padding:.75rem;width:100%}.user-form-container form .form-group input::placeholder,.user-form-container form .form-group select::placeholder{color:#0009}.user-form-container form .form-group input:focus,.user-form-container form .form-group select:focus{border-color:#0000;outline:2px solid var(--uf-accent)}.user-form-container form .form-group .input-with-icon{position:relative}.user-form-container form .form-group .input-with-icon input{padding-right:2.5rem}.user-form-container form .form-group .input-with-icon .lock-icon{align-items:center;color:#00000073;display:inline-flex;justify-content:center;pointer-events:none;position:absolute;right:.5rem;top:50%;transform:translateY(-50%)}.user-form-container form .form-group .input-with-icon.locked input{background-color:var(--uf-muted);color:#0009;cursor:not-allowed}.user-form-container form .form-group .error{color:#ef4444;display:block;font-size:.875rem;margin-top:.5rem}.user-form-container form .form-actions{border-top:1px solid var(--uf-border);display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.user-form-container form .form-actions button{border-radius:.25rem;cursor:pointer;font-weight:500;padding:.75rem 1.5rem}.user-form-container form .form-actions button.cancel-button{background-color:#0000;border:1px solid var(--uf-border);color:var(--uf-foreground)}.user-form-container form .form-actions button.cancel-button:hover{background-color:var(--uf-muted)}.user-form-container form .form-actions button.submit-button{background-color:var(--uf-accent);border:none;color:var(--uf-foreground)}.user-form-container form .form-actions button.submit-button:hover{background-color:var(--uf-accent-dark)}.spinner{animation:spin 1.5s linear infinite;margin-right:8px}.loading{align-items:center;color:var(--up-foreground);display:flex;flex-direction:column;justify-content:center;padding:3rem 0}.loading .spinner{margin-bottom:1rem}button:has(.spinner){align-items:center;display:inline-flex;justify-content:center}.sessions-page{--sp-accent:#ffc107;--sp-accent-dark:#e6ad00;--sp-background:#fff;--sp-foreground:#000;--sp-muted:#f4f4f5;--sp-muted-foreground:#000;--sp-border:#e4e4e7;height:100%;margin:0 auto;padding:2rem;position:relative;width:100%}.sessions-page button,.sessions-page h1,.sessions-page h2,.sessions-page h3,.sessions-page input,.sessions-page label,.sessions-page p,.sessions-page span,.sessions-page td,.sessions-page textarea,.sessions-page th{color:var(--sp-foreground)}.sessions-page .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.sessions-page .header h1{color:var(--sp-foreground);font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.sessions-page .header .description{color:var(--sp-foreground);font-size:1rem;margin:0 0 1.5rem}.sessions-page .header .create-button{align-items:center;align-self:flex-start;background-color:var(--sp-accent);border:none;border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.sessions-page .header .create-button:hover{background-color:var(--sp-accent-dark)}.sessions-page .search-container{margin-bottom:2rem;position:relative}.sessions-page .search-container .search-icon{color:var(--sp-foreground);left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.sessions-page .search-container .search-input{background-color:var(--sp-background);border:1px solid var(--sp-border);border-radius:.25rem;color:var(--sp-foreground);font-size:1rem;padding:.75rem 1rem .75rem 2.5rem;width:100%}.sessions-page .search-container .search-input::placeholder{color:#0009}.sessions-page .search-container .search-input:focus{border-color:#0000;outline:2px solid var(--sp-accent)}.sessions-page .loading{color:var(--sp-foreground);padding:2rem;text-align:center}.sessions-page .sessions-table-container{border:1px solid var(--sp-border);border-radius:.5rem;overflow:hidden}.sessions-page .sessions-table{background-color:var(--sp-background);border-collapse:collapse;width:100%}.sessions-page .sessions-table td,.sessions-page .sessions-table th{color:var(--sp-foreground);padding:1rem;text-align:left}.sessions-page .sessions-table th{background-color:var(--sp-muted);font-size:.9rem;font-weight:600}.sessions-page .sessions-table tr{border-bottom:1px solid var(--sp-border)}.sessions-page .sessions-table tr:last-child{border-bottom:none}.sessions-page .sessions-table tr:hover{background-color:#00000005}.sessions-page .sessions-table .timestamp-cell,.sessions-page .sessions-table .user-cell{align-items:center;display:flex;gap:.5rem}.sessions-page .sessions-table .module-cell span{color:var(--sp-foreground);font-size:.9rem}.sessions-page .sessions-table .status-cell{display:flex;flex-direction:column;gap:.5rem}.sessions-page .sessions-table .score-badge{align-items:center;background-color:var(--sp-accent);border-radius:.5rem;color:var(--sp-foreground);display:inline-flex;font-weight:600;height:2rem;justify-content:center;width:3rem}.sessions-page .sessions-table .score-badge.processing{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:1rem;color:#6b7280;display:inline-flex;font-size:.75rem;font-weight:500;gap:.5rem;height:auto;padding:.25rem .6rem;width:auto}.sessions-page .sessions-table .score-badge.processing .spin{animation:spin 1s linear infinite}.sessions-page .sessions-table .score-badge.missing{background-color:#0000000d;border:1px solid #e5e7eb;color:#6b7280}.sessions-page .sessions-table .steps-badge{background-color:#f9fafb;border:1px solid #d1d5db;border-radius:6px;color:#374151;display:inline-block;font-family:monospace;font-size:.75rem;font-weight:500;padding:3px 10px}.sessions-page .sessions-table .steps-badge.processing{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:1rem;color:#6b7280;display:inline-flex;font-size:.75rem;font-weight:500;gap:.5rem;padding:.25rem .6rem}.sessions-page .sessions-table .steps-badge.processing .spin{animation:spin 1s linear infinite}.sessions-page .sessions-table .steps-badge.missing{background-color:#0000000d;border:1px solid #e5e7eb;color:#6b7280}.sessions-page .sessions-table .no-score{color:var(--sp-foreground);font-style:italic;opacity:.7}.sessions-page .sessions-table .actions-cell{width:100px}.sessions-page .sessions-table .action-buttons{display:flex;gap:.5rem}.sessions-page .sessions-table .action-buttons button{align-items:center;background:#0000;border:1px solid var(--sp-border);border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;display:flex;height:2rem;justify-content:center;transition:all .15s;width:2rem}.sessions-page .sessions-table .action-buttons button:hover{background-color:var(--sp-muted)}.sessions-page .sessions-table .action-buttons button.view-transcript-button:hover{border-color:#3b82f6;color:#3b82f6}.sessions-page .sessions-table .action-buttons button.grade-button:hover{border-color:var(--sp-accent);color:var(--sp-accent-dark)}.sessions-page .sessions-table .action-buttons button:disabled{cursor:not-allowed;opacity:.5}.sessions-page .sessions-table .empty-state{padding:2rem;text-align:center}.sessions-page .sessions-table .empty-state p{color:var(--sp-foreground);margin:0 0 1rem}.sessions-page .sessions-table .empty-state .clear-search{background-color:#0000;border:1px solid var(--sp-border);border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;padding:.5rem 1rem}.sessions-page .sessions-table .empty-state .clear-search:hover{background-color:var(--sp-muted)}.sessions-page .transcript-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.sessions-page .transcript-modal{background-color:var(--sp-background);border-radius:.5rem;box-shadow:0 10px 25px #0003;max-height:90vh;max-width:800px;overflow-y:auto;width:90%}.sessions-page .transcript-modal .transcript-header{align-items:center;border-bottom:1px solid var(--sp-border);display:flex;justify-content:space-between;padding:1.5rem}.sessions-page .transcript-modal .transcript-header h2{color:var(--sp-foreground);font-size:1.25rem;font-weight:600;margin:0}.sessions-page .transcript-modal .transcript-header .close-button{align-items:center;background:#0000;border:none;border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;width:2rem}.sessions-page .transcript-modal .transcript-header .close-button:hover{background-color:var(--sp-muted)}.sessions-page .transcript-modal .session-info{border-bottom:1px solid var(--sp-border);padding:1rem 1.5rem}.sessions-page .transcript-modal .session-info p{color:var(--sp-foreground);margin:.5rem 0}.sessions-page .transcript-modal .grading-info{background-color:#ffc1070d;border-bottom:1px solid var(--sp-border);padding:1rem 1.5rem}.sessions-page .transcript-modal .grading-info h3{color:var(--sp-foreground);font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.sessions-page .transcript-modal .grading-info h4{font-size:1rem;font-weight:600;margin:1rem 0 .5rem}.sessions-page .transcript-modal .grading-info .score-container{align-items:flex-start;display:flex;gap:1rem}.sessions-page .transcript-modal .grading-info .score-container .score-badge.large{border-radius:.5rem;font-size:1.5rem;height:4rem;width:4rem}.sessions-page .transcript-modal .grading-info .score-container .score-details{flex:1 1}.sessions-page .transcript-modal .grading-info .steps-container{margin-top:1.5rem}.sessions-page .transcript-modal .grading-info .steps-container .steps-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:.5rem}.sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item{border:1px solid var(--sp-border);border-radius:.5rem;padding:1rem}.sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item.step-included{background-color:#10b9810d;border-color:#10b981}.sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item.step-missing{background-color:#ef44440d;border-color:#ef4444}.sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item .step-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item .step-header .step-name{font-weight:600}.sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item .step-header .step-status{border-radius:1rem;font-size:.75rem;padding:.125rem .5rem}.step-included .sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item .step-header .step-status{background-color:#10b9811a;color:#10b981}.step-missing .sessions-page .transcript-modal .grading-info .steps-container .steps-grid .step-item .step-header .step-status{background-color:#ef44441a;color:#ef4444}.sessions-page .transcript-modal .grading-info p{color:var(--sp-foreground);margin:.5rem 0}.sessions-page .transcript-modal .transcript-messages{display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.sessions-page .transcript-modal .transcript-messages .message{border-radius:.5rem;max-width:80%;padding:1rem}.sessions-page .transcript-modal .transcript-messages .message .message-sender{color:var(--sp-foreground);font-weight:600;margin-bottom:.5rem}.sessions-page .transcript-modal .transcript-messages .message .message-content{color:var(--sp-foreground)}.sessions-page .transcript-modal .transcript-messages .message .message-feedback{background-color:#3b82f61a;border-radius:.25rem;font-size:.875rem;margin-top:.75rem;padding:.5rem}.sessions-page .transcript-modal .transcript-messages .message.assistant-message{align-self:flex-start;background-color:var(--sp-muted);border-bottom-left-radius:0}.sessions-page .transcript-modal .transcript-messages .message.user-message{align-self:flex-end;background-color:#ffc1071a;border-bottom-right-radius:0}.sessions-page .sessions-loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:3rem;text-align:center}.sessions-page .sessions-loading-container .sessions-loading-spinner{color:#ffc107;margin-bottom:1.5rem}.sessions-page .sessions-loading-container .sessions-loading-spinner .spin{animation:spin 1s linear infinite}.sessions-page .sessions-loading-container .sessions-loading-title{color:#24292e;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.sessions-page .sessions-loading-container .sessions-loading-subtitle{color:#586069;font-size:1rem;margin:0}.sessions-page .skeleton-row td{padding:12px 16px;vertical-align:middle}.sessions-page .skeleton-row .skeleton-text{border-radius:4px;height:20px;width:80%}.sessions-page .skeleton-row .skeleton-badge,.sessions-page .skeleton-row .skeleton-text{animation:skeleton-loading 1.5s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}.sessions-page .skeleton-row .skeleton-badge{border-radius:12px;height:24px;width:100px}.sessions-page .skeleton-row .skeleton-actions{display:flex;gap:8px;justify-content:flex-end}.sessions-page .skeleton-row .skeleton-actions .skeleton-button{animation:skeleton-loading 1.5s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;border-radius:4px;height:32px;width:32px}.sessions-page .pagination{align-items:center;color:var(--sp-foreground);display:flex;justify-content:space-between;margin:1rem;padding:.5rem 0}.sessions-page .pagination .pagination-info{color:var(--sp-foreground);font-size:.875rem}.sessions-page .pagination .pagination-controls{align-items:center;display:flex;gap:.5rem}.sessions-page .pagination .pagination-controls .pagination-button{align-items:center;background-color:#0000;border:1px solid var(--sp-border);border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:2rem;justify-content:center;min-width:2.5rem;padding:.375rem .75rem;transition:all .15s}.sessions-page .pagination .pagination-controls .pagination-button:hover:not(:disabled){background-color:var(--sp-muted);border-color:var(--sp-accent);color:var(--sp-accent-dark)}.sessions-page .pagination .pagination-controls .pagination-button:disabled{cursor:not-allowed;opacity:.5}.sessions-page .pagination .pagination-controls .pagination-button.active{background-color:var(--sp-accent);border-color:var(--sp-accent);color:var(--sp-foreground)}.sessions-page .pagination .pagination-controls .pagination-status{color:var(--sp-foreground);font-size:.875rem;margin:0 .5rem;min-width:5rem;text-align:center}.sessions-page .pagination .pagination-controls .pagination-limit{background-color:#0000;border:1px solid var(--sp-border);border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;font-size:.875rem;margin-left:.5rem;padding:.375rem}.sessions-page .pagination .pagination-controls .pagination-limit:focus{border-color:var(--sp-accent);outline:none}.sessions-page .pagination .pagination-controls .pagination-limit:hover{border-color:var(--sp-accent)}.sessions-page .pagination-wrapper{border-top:1px solid #eaeaea;margin-top:auto;padding-top:20px}.status-badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.status-badge.transcription-available{background-color:#10b9811a;color:#10b981}.status-badge.transcription-missing{background-color:#ef44441a;color:#ef4444}.status-badge.feedback-available{background-color:#3b82f61a;color:#3b82f6}.status-badge.feedback-missing{background-color:#0000001a;color:#6b7280}.status-badge.processing{background-color:#f59e0b1a;color:#f59e0b}.status-badge.processing .spin{animation:spin 1s linear infinite}.status-badge.failed{background-color:#ef44441a;color:#ef4444}.run-id-cell{font-family:monospace;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-badge.small{background-color:var(--sp-accent);border-radius:50%;color:var(--sp-foreground);font-size:.875rem;font-weight:600;height:2rem;justify-content:center;width:2rem}.score-badge.processing,.score-badge.small{align-items:center;display:inline-flex;margin-left:.5rem}.score-badge.processing{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:1rem;color:#6b7280;font-size:.75rem;font-weight:500;gap:.5rem;padding:.25rem .6rem}.score-badge.processing .spin{animation:spin 1s linear infinite}.loading-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-overlay .loading-spinner{align-items:center;background-color:#fff;border-radius:0;display:flex;flex-direction:column;gap:1rem;padding:2rem}.loading-overlay .loading-spinner .spinner{animation:spin 1s linear infinite}.loading-overlay .loading-spinner span{color:var(--sp-foreground);font-weight:500}.no-transcript{background-color:var(--sp-muted);border-radius:.5rem;color:var(--sp-foreground);font-style:italic;padding:2rem;text-align:center}.pagination{align-items:center;color:var(--sp-foreground);display:flex;justify-content:space-between;margin:1rem;padding:.5rem 0}.pagination .pagination-info{color:var(--sp-foreground);font-size:.875rem}.pagination .pagination-controls{align-items:center;display:flex;gap:.5rem}.pagination .pagination-controls .pagination-button{align-items:center;background-color:#0000;border:1px solid var(--sp-border);border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:2rem;justify-content:center;min-width:2.5rem;padding:.375rem .75rem;transition:all .15s}.pagination .pagination-controls .pagination-button:hover:not(:disabled){background-color:var(--sp-muted);border-color:var(--sp-accent);color:var(--sp-accent-dark)}.pagination .pagination-controls .pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination .pagination-controls .pagination-button.active{background-color:var(--sp-accent);border-color:var(--sp-accent);color:var(--sp-foreground)}.pagination .pagination-controls .pagination-status{color:var(--sp-foreground);font-size:.875rem;margin:0 .5rem;min-width:5rem;text-align:center}.pagination .pagination-controls .pagination-limit{background-color:#0000;border:1px solid var(--sp-border);border-radius:.25rem;color:var(--sp-foreground);cursor:pointer;font-size:.875rem;margin-left:.5rem;padding:.375rem}.pagination .pagination-controls .pagination-limit:focus{border-color:var(--sp-accent);outline:none}.pagination .pagination-controls .pagination-limit:hover{border-color:var(--sp-accent)}.pagination .loading-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#0000;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.pagination .loader{display:inline-block;height:40px;margin-bottom:16px;position:relative;width:40px}.pagination .loader:after{animation:spin 1.2s linear infinite;border-color:#3b82f6 #0000;border-radius:50%;border-style:solid;border-width:3px;content:" ";display:block;height:32px;width:32px}.pagination .loading-text{color:#333;font-size:14px;font-weight:500}.transcript-overlay{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.transcript-overlay .transcript-modal{background-color:#fff;border-radius:8px;box-shadow:0 10px 25px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow-y:auto;width:90%}.transcript-overlay .transcript-modal .transcript-header{align-items:center;background-color:#f8f8f8;border-bottom:1px solid #eaeaea;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.transcript-overlay .transcript-modal .transcript-header h2{color:#111;font-size:1.25rem;margin:0}.transcript-overlay .transcript-modal .transcript-header .header-actions{align-items:center;display:flex;gap:.5rem}.transcript-overlay .transcript-modal .transcript-header .feedback-button{align-items:center;background-color:#f0f4f9;border:1px solid #d0d7de;border-radius:6px;color:#24292e;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.transcript-overlay .transcript-modal .transcript-header .feedback-button:hover{background-color:#e1e4e8;border-color:#c6cdd4}.transcript-overlay .transcript-modal .transcript-header .feedback-button svg{color:#586069}.transcript-overlay .transcript-modal .transcript-header .close-button{align-items:center;background:#0000;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s ease;width:32px}.transcript-overlay .transcript-modal .transcript-header .close-button:hover{background-color:#0000000d;color:#333}.transcript-overlay .transcript-modal .session-info{grid-gap:1rem;background-color:#ffc1070d;border-bottom:1px solid #eaeaea;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}.transcript-overlay .transcript-modal .session-info .info-item{display:flex;flex-direction:column;gap:.25rem}.transcript-overlay .transcript-modal .session-info .info-item.full-width{grid-column:1/-1}.transcript-overlay .transcript-modal .session-info .info-item .info-label{color:#555;font-size:.875rem;font-weight:600}.transcript-overlay .transcript-modal .session-info .info-item .info-value{color:#111;font-size:.95rem}.transcript-overlay .transcript-modal .session-info .info-item .date-display{align-items:center;color:#111;display:flex;gap:.5rem}.transcript-overlay .transcript-modal .config-info-section{background-color:#f8f8f8;border-bottom:1px solid #eaeaea;padding:1.5rem}.transcript-overlay .transcript-modal .config-info-section h3{color:#111;font-size:1.125rem;margin:0 0 1rem}.transcript-overlay .transcript-modal .config-info-section .config-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.transcript-overlay .transcript-modal .config-info-section .config-grid .config-item{display:flex;flex-direction:column;gap:.25rem}.transcript-overlay .transcript-modal .config-info-section .config-grid .config-item .config-label{color:#555;font-size:.875rem;font-weight:600}.transcript-overlay .transcript-modal .config-info-section .config-grid .config-item .config-value{color:#111;font-size:.95rem}.transcript-overlay .transcript-modal .grading-section{background-color:#f9f9f9;border-bottom:1px solid #eaeaea;padding:1.5rem}.transcript-overlay .transcript-modal .grading-section h3{align-items:center;color:#111;display:flex;font-size:1.125rem;gap:.5rem;margin:0 0 1rem}.transcript-overlay .transcript-modal .grading-section h3 svg{color:#ffc107}.transcript-overlay .transcript-modal .grading-section .score-display{align-items:flex-start;display:flex;gap:1.5rem}.transcript-overlay .transcript-modal .grading-section .score-display .score-badge{align-items:center;background-color:#ffc107;border-radius:8px;color:#000;display:flex;flex-direction:column;font-size:2rem;font-weight:700;gap:.25rem;height:5rem;justify-content:center;width:5rem}.transcript-overlay .transcript-modal .grading-section .score-display .score-badge .processing-text{font-size:.75rem;font-weight:500}.transcript-overlay .transcript-modal .grading-section .score-display .score-badge .spin{animation:spin 1s linear infinite}.transcript-overlay .transcript-modal .grading-section .score-display .score-details{flex:1 1}.transcript-overlay .transcript-modal .grading-section .score-display .score-details h4{color:#333;font-size:1rem;margin:0 0 .5rem}.transcript-overlay .transcript-modal .grading-section .score-display .score-details p{color:#444;line-height:1.5;margin:0}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:.75rem;padding:1rem}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-form-header{margin-bottom:.75rem}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-form-header h4{color:#333;font-size:.95rem;margin:0}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form textarea{border:1px solid #ddd;border-radius:4px;font-size:.875rem;padding:.75rem;resize:vertical;width:100%}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640;outline:none}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form textarea:disabled{background-color:#f9f9f9;cursor:not-allowed}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-controls{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-controls button{border-radius:4px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-controls button.cancel-btn{background-color:#0000;border:1px solid #ddd;color:#666}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-controls button.cancel-btn:hover:not(:disabled){background-color:#f4f4f4;border-color:#ccc}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-controls button.submit-btn{background-color:#ffc107;border:none;color:#fff}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-controls button.submit-btn:hover:not(:disabled){background-color:#eeba1f}.transcript-overlay .transcript-modal .grading-section .score-display .score-details .feedback-form .feedback-controls button:disabled{cursor:not-allowed;opacity:.6}.transcript-overlay .transcript-modal .grading-section .steps-section{margin-top:1.5rem}.transcript-overlay .transcript-modal .grading-section .steps-section h4{color:#333;font-size:1rem;margin:0 0 1rem}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list{display:flex;flex-direction:column;gap:1rem}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card{background-color:#fff;border:1px solid #eaeaea;border-radius:8px;padding:1rem}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card.included{border-left:4px solid #10b981}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card.missing{border-left:4px solid #ef4444}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-header{align-items:center;display:flex;margin-bottom:.75rem}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-header .step-number{align-items:center;background-color:#f4f4f4;border-radius:50%;color:#666;display:flex;font-size:.875rem;font-weight:600;height:1.75rem;justify-content:center;margin-right:.75rem;width:1.75rem}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-header .step-title{color:#333;flex:1 1;font-weight:600}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-header .step-status .included-tag,.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-header .step-status .missing-tag{align-items:center;border-radius:1rem;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-header .step-status .included-tag{background-color:#10b9811a;color:#10b981}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-header .step-status .missing-tag{background-color:#ef44441a;color:#ef4444}.transcript-overlay .transcript-modal .grading-section .steps-section .steps-list .step-card .step-feedback{color:#555;font-size:.9rem;line-height:1.5}.transcript-overlay .transcript-modal .transcript-section{padding:1.5rem}.transcript-overlay .transcript-modal .transcript-section h3{align-items:center;color:#111;display:flex;font-size:1.125rem;gap:.5rem;margin:0 0 1rem}.transcript-overlay .transcript-modal .transcript-section .conversation{display:flex;flex-direction:column;gap:1.5rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container{max-width:80%}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container.bot-message{align-self:flex-start}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container.bot-message .message{background-color:#f4f4f5;border-bottom-left-radius:0}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container.user-message{align-self:flex-end}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container.user-message .message{background-color:#ffc1071a;border-bottom-right-radius:0}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message{border-radius:8px;padding:1rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .message-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .message-header .message-metadata{display:flex;flex-direction:column;gap:.2rem;margin-top:4px}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .message-header .message-metadata .speaker-name{color:#333;font-weight:600}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .message-header .message-metadata .message-timestamp{align-items:center;color:#888;display:flex;font-size:.75rem;gap:4px}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .message-body{color:#333;line-height:1.5}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .message-feedback{background-color:#3b82f61a;border-radius:4px;color:#333;font-size:.875rem;line-height:1.4;margin-top:1rem;padding:.75rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .message-feedback strong{color:#3b82f6}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge .feedback-stats{align-items:center;color:#666;display:flex;font-size:.875rem;gap:1rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge .feedback-stats .downvote-count,.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge .feedback-stats .upvote-count{align-items:center;display:flex;gap:.25rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge .feedback-stats .upvote-count{color:#28a745}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge .feedback-stats .downvote-count{color:#dc3545}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge .feedback-comments-toggle{align-items:center;color:#3b82f6;cursor:pointer;display:flex;font-size:.875rem;gap:.25rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-badge .feedback-comments-toggle:hover{text-decoration:underline}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list{background-color:#f8f9fa;border-radius:4px;margin-top:.5rem;padding:.5rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item{border-bottom:1px solid #eee;margin-bottom:.75rem;padding-bottom:.75rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-header .user-info{align-items:center;color:#666;display:flex;font-size:.875rem;gap:.5rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-header .user-info .user-name{font-weight:500}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-header .rating-indicator{align-items:center;display:flex;font-size:.75rem;gap:.25rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-header .rating-indicator.true{color:#28a745}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-header .rating-indicator.false{color:#dc3545}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-content{color:#333;font-size:.875rem;line-height:1.4;margin:.25rem 0}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-footer{align-items:center;color:#666;display:flex;font-size:.75rem;gap:.5rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .message .feedback-comments-list .feedback-comment-item .comment-footer .timestamp{align-items:center;display:flex;gap:.25rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-top:.75rem;padding:1rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-form-header{margin-bottom:.75rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-form-header h4{color:#333;font-size:.95rem;margin:0}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form textarea{border:1px solid #ddd;border-radius:4px;font-size:.875rem;padding:.75rem;resize:vertical;width:100%}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640;outline:none}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form textarea:disabled{background-color:#f9f9f9;cursor:not-allowed}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-controls{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-controls .cancel-btn{background-color:#0000;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-controls .cancel-btn:hover:not(:disabled){background-color:#f4f4f4;border-color:#ccc}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-controls .submit-btn{background-color:#ffc107;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-controls .submit-btn:hover:not(:disabled){background-color:#eeba1f}.transcript-overlay .transcript-modal .transcript-section .conversation .message-container .feedback-form .feedback-controls button:disabled{cursor:not-allowed;opacity:.6}.transcript-overlay .transcript-modal .transcript-section .no-transcript{background-color:#f4f4f4;border-radius:8px;color:#666;font-style:italic;padding:2rem;text-align:center}.transcript-overlay .transcript-modal .transcript-footer{background-color:#f8f8f8;border-radius:0 0 8px 8px;border-top:1px solid #eaeaea;bottom:0;display:flex;justify-content:center;padding:1.5rem;position:-webkit-sticky;position:sticky}.transcript-overlay .transcript-modal .transcript-footer .close-footer-button{background-color:#3b82f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .2s}.transcript-overlay .transcript-modal .transcript-footer .close-footer-button:hover{background-color:#2563eb}.transcript-overlay .transcript-modal .transcript-footer .close-footer-button:focus{box-shadow:0 0 0 3px #3b82f680;outline:none}.transcript-overlay .transcript-modal .error-message{align-items:center;background-color:#fff3f3;border:1px solid #ffcdd2;border-radius:4px;color:#d32f2f;display:flex;gap:.5rem;margin:1rem;padding:1rem}.transcript-overlay .transcript-modal .error-message svg{flex-shrink:0}.transcript-overlay .transcript-modal .error-boundary{padding:2rem;text-align:center}.transcript-overlay .transcript-modal .error-boundary .error-content{background-color:#fff3f3;border:1px solid #ffcdd2;border-radius:8px;margin:0 auto;max-width:500px;padding:2rem}.transcript-overlay .transcript-modal .error-boundary .error-content h3{color:#d32f2f;margin:1rem 0}.transcript-overlay .transcript-modal .error-boundary .error-content p{color:#666;margin-bottom:1.5rem}.transcript-overlay .transcript-modal .error-boundary .error-content button{background-color:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.transcript-overlay .transcript-modal .error-boundary .error-content button:hover{background-color:#b71c1c}.transcript-overlay .transcript-modal .message-container.error-message{background-color:#fff3f3;border:1px solid #ffcdd2}.transcript-overlay .transcript-modal .message-container.error-message .message-header{line-height:1.4;white-space:pre-wrap;word-break:break-word}.transcript-overlay .transcript-modal .message-container.error-message .message-header .message-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.transcript-overlay .transcript-modal .message-container.error-message .message-header .message-metadata{display:flex;flex-direction:column;gap:.2rem;margin-top:4px}.transcript-overlay .transcript-modal .message-container.error-message .message-header .speaker-name{color:#333;font-weight:600}.transcript-overlay .transcript-modal .message-container.error-message .message-header .message-timestamp{align-items:center;color:#888;display:flex;font-size:.75rem;gap:4px}.existing-feedback{background-color:#f8f9fa;border-left:3px solid #ffc107;border-radius:4px;margin-top:.5rem;padding:.75rem}.existing-feedback .feedback-timestamp{color:#666;font-size:.875rem;margin-bottom:.25rem}.existing-feedback .feedback-content{color:#333;line-height:1.4}.existing-feedback .edit-feedback-btn{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;margin-top:.5rem;padding:0}.existing-feedback .edit-feedback-btn:hover{text-decoration:underline}.rating-controls{display:flex;gap:.5rem;margin-left:1rem}.rating-btn{align-items:center;background:#0000;border:none;box-shadow:0 1px 3px #0000001a;color:#b0b0b0;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.rating-btn:hover:not(:disabled){border-color:#666;color:#666;transform:scale(1.1)}.rating-btn:disabled{cursor:not-allowed;opacity:.5}.rating-btn.thumbs-up.active{background-color:#10b9811a}.rating-btn.thumbs-up.active,.rating-btn.thumbs-up:hover:not(.active):not(:disabled){border-color:#10b981;color:#10b981}.rating-btn.thumbs-down.active{background-color:#ef44441a}.rating-btn.thumbs-down.active,.rating-btn.thumbs-down:hover:not(.active):not(:disabled){border-color:#ef4444;color:#ef4444}.processing-feedback{align-items:center;color:#6b7280;display:flex;font-style:italic;gap:.5rem;padding:1rem 0}.processing-feedback .spin{animation:spin 1s linear infinite}.recommendations-section{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:1.5rem 0;padding:1.5rem}.recommendations-section h3{align-items:center;color:#495057;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin:0 0 1rem}.recommendations-section h3:before{content:"💡";font-size:1.2rem}.recommendations-section .recommendations-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.recommendations-section .recommendation-card{background-color:#fff;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column;height:100%;max-height:300px;padding:1rem 1.25rem;transition:all .2s ease}.recommendations-section .recommendation-card:hover{border-color:#007bff;box-shadow:0 4px 8px #0000001a}.recommendations-section .recommendation-card .recommendation-header{margin-bottom:.5rem}.recommendations-section .recommendation-card .recommendation-header .category-label{color:#6b7280;display:block;font-size:.68rem;font-weight:700;letter-spacing:1px;margin-bottom:.35rem}.recommendations-section .recommendation-card .recommendation-header h4{color:#0f172a;font-size:1.1rem;font-weight:800;line-height:1.2;margin:0}.recommendations-section .recommendation-card .recommendation-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.recommendations-section .recommendation-card .recommendation-content .recommendation-explanation{-webkit-line-clamp:6;-webkit-box-orient:vertical;line-clamp:6;color:#475569;display:-webkit-box;font-size:.95rem;line-height:1.4;margin:0 0 .75rem;overflow:hidden}.recommendations-section .recommendation-card .recommendation-content .recommendation-link{align-items:center;align-self:flex-start;background-color:#06a6ff;border-radius:999px;box-shadow:0 6px 12px #06a6ff14;color:#fff;display:inline-flex;font-size:.95rem;font-weight:700;justify-content:center;margin-top:auto;padding:.5rem .9rem;text-decoration:none;transition:background-color .15s ease,transform .08s ease;width:-webkit-fit-content;width:fit-content}.recommendations-section .recommendation-card .recommendation-content .recommendation-link:hover{background-color:#0891d1;transform:translateY(-1px)}.recommendations-section .no-recommendations{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;padding:2rem;text-align:center}.recommendations-section .no-recommendations .spin{animation:spin 1s linear infinite}.recommendations-section .no-recommendations p{font-size:1rem;line-height:1.5;margin:0}@media(max-width:768px){.transcript-overlay .transcript-modal{max-height:95vh;width:95%}.transcript-overlay .transcript-modal .session-info{grid-template-columns:1fr}}@media(max-width:1024px){.recommendations-section .recommendations-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.recommendations-section .recommendations-grid{grid-template-columns:1fr}}.session-detail-v2{display:flex;flex:1 1;flex-direction:column;gap:20px;overflow-y:auto;padding:20px 24px 32px}.session-detail-v2 .score-hero{align-items:center;background:linear-gradient(135deg,#04345c,#1e4d7b);border-radius:var(--sd-radius);color:#fff;display:flex;flex-shrink:0;gap:32px;padding:24px 32px}.session-detail-v2 .score-hero .score-ring-wrapper{flex-shrink:0;height:96px;position:relative;width:96px}.session-detail-v2 .score-hero .score-ring-wrapper svg{height:96px;transform:rotate(-90deg);width:96px}.session-detail-v2 .score-hero .score-ring-wrapper .ring-bg{fill:none;stroke:#ffffff26;stroke-width:8}.session-detail-v2 .score-hero .score-ring-wrapper .ring-fill{fill:none;stroke:#ffc107;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .8s ease}.session-detail-v2 .score-hero .score-ring-wrapper .score-label{align-items:center;display:flex;flex-direction:column;inset:0;justify-content:center;line-height:1;position:absolute}.session-detail-v2 .score-hero .score-ring-wrapper .score-label .score-pct{color:#fff;font-size:1.5rem;font-weight:800}.session-detail-v2 .score-hero .score-ring-wrapper .score-label .score-sub{color:#fff9;font-size:.65rem;letter-spacing:.5px;margin-top:2px;text-transform:uppercase}.session-detail-v2 .score-hero .hero-stats{display:flex;flex:1 1;gap:32px}.session-detail-v2 .score-hero .hero-stats .hero-stat{display:flex;flex-direction:column;gap:2px}.session-detail-v2 .score-hero .hero-stats .hero-stat .stat-value{color:#fff;font-size:1.3rem;font-weight:700}.session-detail-v2 .score-hero .hero-stats .hero-stat .stat-label{color:#fff9;font-size:.72rem;letter-spacing:.4px;text-transform:uppercase}.session-detail-v2 .score-hero .hero-rating{align-items:center;border-radius:20px;display:flex;flex-shrink:0;font-size:.78rem;font-weight:600;gap:6px;padding:6px 14px}.session-detail-v2 .score-hero .hero-rating.rated-up{background:#10b98133;color:#6ee7b7}.session-detail-v2 .score-hero .hero-rating.rated-down{background:#ef444433;color:#fca5a5}.session-detail-v2 .score-hero .hero-rating.not-rated{background:#ffffff1a;color:#ffffff80}.session-detail-v2 .v2-content{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 300px;min-height:0}.session-detail-v2 .v2-main{display:flex;flex-direction:column;min-height:0}.session-detail-v2 .v2-main .v2-tab-bar{border-bottom:2px solid var(--sd-border);display:flex;flex-shrink:0;gap:0;margin-bottom:20px}.session-detail-v2 .v2-main .v2-tab-bar .v2-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--sd-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:6px;margin-bottom:-2px;padding:10px 20px;transition:all .15s}.session-detail-v2 .v2-main .v2-tab-bar .v2-tab:hover{color:var(--sd-text)}.session-detail-v2 .v2-main .v2-tab-bar .v2-tab.active{border-bottom-color:var(--sd-accent);color:var(--sd-accent)}.session-detail-v2 .v2-main .v2-tab-bar .v2-tab .tab-badge{align-items:center;background:var(--sd-bg);border-radius:10px;color:var(--sd-text-muted);display:inline-flex;font-size:.68rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 6px}.session-detail-v2 .v2-main .v2-tab-bar .v2-tab.active .tab-badge{background:var(--sd-accent-light);color:var(--sd-accent)}.session-detail-v2 .v2-main .v2-tab-content{flex:1 1;overflow-y:auto}.session-detail-v2 .overview-tab{display:flex;flex-direction:column;gap:20px}.session-detail-v2 .overview-tab .overview-card{background:var(--sd-card-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius);padding:20px 24px}.session-detail-v2 .overview-tab .overview-card .overview-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.session-detail-v2 .overview-tab .overview-card .overview-card-header h3{color:var(--sd-text);font-size:.88rem;font-weight:700;letter-spacing:.3px;margin:0;text-transform:uppercase}.session-detail-v2 .overview-tab .overview-card .feedback-summary{color:var(--sd-text);font-size:.88rem;line-height:1.7;margin:0}.session-detail-v2 .overview-tab .overview-card .rating-comment{background:var(--sd-bg);border-left:3px solid var(--sd-danger);border-radius:var(--sd-radius-sm);color:var(--sd-text-muted);font-size:.82rem;line-height:1.5;margin-top:12px;padding:10px 14px}.session-detail-v2 .overview-tab .overview-card .rating-comment p{margin:0}.session-detail-v2 .overview-tab .overview-card .session-rating-controls{display:flex;flex-shrink:0;gap:6px}.session-detail-v2 .overview-tab .overview-card .rate-pill{align-items:center;background:var(--sd-bg);border:1.5px solid var(--sd-border);border-radius:20px;color:var(--sd-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.72rem;font-weight:600;gap:5px;padding:5px 12px;transition:all .15s;white-space:nowrap}.session-detail-v2 .overview-tab .overview-card .rate-pill:hover:not(:disabled){background:var(--sd-accent-light);border-color:var(--sd-accent);color:var(--sd-accent)}.session-detail-v2 .overview-tab .overview-card .rate-pill:disabled{cursor:not-allowed;opacity:.4}.session-detail-v2 .overview-tab .overview-card .rate-pill.active-up{background:#10b9811a;border-color:var(--sd-success);color:var(--sd-success)}.session-detail-v2 .overview-tab .overview-card .rate-pill.active-down{background:#ef44441a;border-color:var(--sd-danger);color:var(--sd-danger)}.session-detail-v2 .overview-tab .overview-card .feedback-inline{margin-top:8px}.session-detail-v2 .overview-tab .overview-card .feedback-inline textarea{border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);color:var(--sd-text);font-family:inherit;font-size:.8rem;outline:none;padding:8px 10px;resize:none;width:100%}.session-detail-v2 .overview-tab .overview-card .feedback-inline textarea:focus{border-color:var(--sd-accent)}.session-detail-v2 .overview-tab .overview-card .feedback-inline .feedback-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.session-detail-v2 .overview-tab .overview-card .feedback-inline .cancel-btn,.session-detail-v2 .overview-tab .overview-card .feedback-inline .submit-btn{border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:.78rem;font-weight:500;padding:4px 12px;transition:all .15s}.session-detail-v2 .overview-tab .overview-card .feedback-inline .cancel-btn{background:#0000;border:1px solid var(--sd-border);color:var(--sd-text-muted)}.session-detail-v2 .overview-tab .overview-card .feedback-inline .cancel-btn:hover:not(:disabled){background:var(--sd-bg)}.session-detail-v2 .overview-tab .overview-card .feedback-inline .submit-btn{background:var(--sd-accent);color:#fff}.session-detail-v2 .overview-tab .overview-card .feedback-inline .submit-btn:hover:not(:disabled){background:#2563eb}.session-detail-v2 .overview-tab .overview-card .feedback-inline .submit-btn:disabled{cursor:not-allowed;opacity:.5}.session-detail-v2 .overview-tab .overview-card .feedback-inline .submit-btn .spin{animation:sd-spin 1s linear infinite}.session-detail-v2 .overview-tab .step-checklist{display:flex;flex-direction:column;gap:6px}.session-detail-v2 .overview-tab .step-checklist .step-check-row{align-items:center;background:var(--sd-bg);border-radius:var(--sd-radius-sm);display:flex;font-size:.84rem;gap:10px;padding:8px 12px}.session-detail-v2 .overview-tab .step-checklist .step-check-row .step-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.session-detail-v2 .overview-tab .step-checklist .step-check-row .step-icon.included{background:#10b9811f;color:var(--sd-success)}.session-detail-v2 .overview-tab .step-checklist .step-check-row .step-icon.missed{background:#ef44441f;color:var(--sd-danger)}.session-detail-v2 .overview-tab .step-checklist .step-check-row .step-check-name{color:var(--sd-text);flex:1 1;font-weight:500}.session-detail-v2 .overview-tab .step-checklist .step-check-row .step-check-num{color:var(--sd-text-muted);font-size:.72rem;font-weight:600}.session-detail-v2 .overview-tab .social-skills-list{display:flex;flex-direction:column;gap:10px}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item{background:var(--sd-bg);border-radius:var(--sd-radius-sm);padding:10px 14px}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header .skill-name{color:var(--sd-text);font-size:.84rem;font-weight:600}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header .skill-rating{border-radius:10px;font-size:.72rem;font-weight:600;padding:2px 8px}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header .skill-rating.good{background:#10b9811a;color:var(--sd-success)}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header .skill-rating.average,.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header .skill-rating.fair{background:#f59e0b1a;color:var(--sd-warning)}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header .skill-rating.needs-work,.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-header .skill-rating.poor{background:#ef44441a;color:var(--sd-danger)}.session-detail-v2 .overview-tab .social-skills-list .social-skill-item .skill-feedback{color:var(--sd-text-muted);font-size:.8rem;line-height:1.5;margin:0}.session-detail-v2 .overview-tab .tools-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.session-detail-v2 .overview-tab .recommendations-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.session-detail-v2 .overview-tab .recommendation-card{background:var(--sd-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);display:flex;flex-direction:column;padding:14px 16px;transition:box-shadow .15s,border-color .15s}.session-detail-v2 .overview-tab .recommendation-card:hover{border-color:var(--sd-accent);box-shadow:0 4px 8px #00000014}.session-detail-v2 .overview-tab .recommendation-card .recommendation-name{color:var(--sd-text);font-size:.88rem;font-weight:700;line-height:1.25;margin:0 0 6px}.session-detail-v2 .overview-tab .recommendation-card .recommendation-explanation{-webkit-line-clamp:5;-webkit-box-orient:vertical;color:var(--sd-text-muted);display:-webkit-box;font-size:.82rem;line-height:1.5;margin:0 0 10px;overflow:hidden}.session-detail-v2 .overview-tab .recommendation-card .recommendation-link{align-items:center;color:var(--sd-accent);display:inline-flex;font-size:.8rem;font-weight:600;margin-top:auto;text-decoration:none;transition:color .12s}.session-detail-v2 .overview-tab .recommendation-card .recommendation-link:hover{color:#2563eb}.session-detail-v2 .overview-tab .recommendations-empty{align-items:center;background:var(--sd-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);color:var(--sd-text-muted);display:flex;font-size:.85rem;gap:8px;justify-content:center;padding:20px}.session-detail-v2 .overview-tab .recommendations-empty .spin{animation:sd-spin 1s linear infinite}.session-detail-v2 .overview-tab .recommendations-empty p{margin:0}.session-detail-v2 .steps-timeline-tab{padding:0 4px}.session-detail-v2 .steps-timeline-tab .timeline{padding-left:32px;position:relative}.session-detail-v2 .steps-timeline-tab .timeline:before{background:var(--sd-border);bottom:16px;content:"";left:11px;position:absolute;top:16px;width:2px}.session-detail-v2 .steps-timeline-tab .timeline-item{padding:0 0 24px;position:relative}.session-detail-v2 .steps-timeline-tab .timeline-item:last-child{padding-bottom:0}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-dot{align-items:center;border-radius:50%;display:flex;height:24px;justify-content:center;left:-32px;position:absolute;top:4px;width:24px;z-index:1}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-dot.included{background:var(--sd-success);color:#fff}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-dot.missed{background:var(--sd-danger);color:#fff}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content{background:var(--sd-card-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);padding:14px 18px}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content .timeline-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content .timeline-header .timeline-step-name{color:var(--sd-text);font-size:.88rem;font-weight:600}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content .timeline-header .timeline-step-tag{align-items:center;border-radius:12px;display:flex;font-size:.7rem;font-weight:600;gap:4px;padding:2px 10px}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content .timeline-header .timeline-step-tag.included-tag{background:#10b9811a;color:var(--sd-success)}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content .timeline-header .timeline-step-tag.missed-tag{background:#ef44441a;color:var(--sd-danger)}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content .timeline-step-number{color:var(--sd-text-muted);font-size:.7rem;font-weight:600;letter-spacing:.3px;margin-bottom:8px;text-transform:uppercase}.session-detail-v2 .steps-timeline-tab .timeline-item .timeline-content .timeline-feedback{color:var(--sd-text-muted);font-size:.84rem;line-height:1.6;margin:0}.session-detail-v2 .steps-timeline-tab .no-steps{color:var(--sd-text-muted);font-size:.88rem;padding:40px 20px;text-align:center}.session-detail-v2 .transcript-tab .feedback-card{background:var(--sd-card-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius);padding:20px 24px}.session-detail-v2 .transcript-tab .feedback-card h3{color:var(--sd-text);font-size:.88rem;font-weight:700;letter-spacing:.3px;margin:0 0 14px;text-transform:uppercase}.session-detail-v2 .v2-sidebar{display:flex;flex-direction:column;gap:16px}.session-detail-v2 .v2-sidebar .sidebar-card{background:var(--sd-card-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius);padding:16px}.session-detail-v2 .v2-sidebar .sidebar-student{text-align:center}.session-detail-v2 .v2-sidebar .sidebar-student .sidebar-avatar{background:linear-gradient(135deg,#f59e0b,#f97316);border-radius:var(--sd-radius-sm);height:200px;margin-bottom:12px;overflow:hidden;position:relative;width:100%}.session-detail-v2 .v2-sidebar .sidebar-student .sidebar-avatar .feedback-avatar{height:100%;inset:0;position:absolute;width:100%;z-index:1}.session-detail-v2 .v2-sidebar .sidebar-student .sidebar-avatar .avatar-placeholder{align-items:center;color:#ffffff4d;display:flex;height:100%;justify-content:center;position:relative;z-index:0}.session-detail-v2 .v2-sidebar .sidebar-student .sidebar-student-name{color:var(--sd-text);font-size:1rem;font-weight:700;margin:0 0 4px}.session-detail-v2 .v2-sidebar .sidebar-student .sidebar-student-meta{align-items:center;color:var(--sd-text-muted);display:flex;font-size:.8rem;gap:6px;justify-content:center;margin-bottom:6px}.session-detail-v2 .v2-sidebar .sidebar-student .sidebar-method{background:var(--sd-accent-light);border-radius:12px;color:var(--sd-accent);display:inline-block;font-size:.75rem;font-weight:500;padding:3px 10px}.session-detail-v2 .v2-sidebar .sidebar-tts-btn{align-items:center;background:var(--sd-accent);border:none;border-radius:var(--sd-radius-sm);color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s;width:100%}.session-detail-v2 .v2-sidebar .sidebar-tts-btn:hover:not(:disabled){background:#2563eb}.session-detail-v2 .v2-sidebar .sidebar-tts-btn:disabled{cursor:not-allowed;opacity:.5}.session-detail-v2 .v2-sidebar .sidebar-tts-btn.speaking{background:var(--sd-danger)}.session-detail-v2 .v2-sidebar .sidebar-tts-btn.speaking:hover{background:#dc2626}.session-detail-v2 .v2-sidebar .sidebar-section h4{color:var(--sd-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.session-detail-v2 .v2-sidebar .quality-chips{display:flex;flex-wrap:wrap;gap:6px}.session-detail-v2 .v2-sidebar .quality-chips .quality-chip{border-radius:20px;font-size:.75rem;font-weight:500;padding:4px 10px}.session-detail-v2 .v2-sidebar .quality-chips .quality-chip.good{background:#10b9811a;color:var(--sd-success)}.session-detail-v2 .v2-sidebar .quality-chips .quality-chip.average{background:#f59e0b1a;color:var(--sd-warning)}.session-detail-v2 .v2-sidebar .quality-chips .quality-chip.needs-work{background:#ef44441a;color:var(--sd-danger)}.session-detail-v2 .v2-sidebar .skills-list{display:flex;flex-direction:column;gap:8px}.session-detail-v2 .v2-sidebar .skills-list .skill-row{align-items:center;display:flex;gap:8px}.session-detail-v2 .v2-sidebar .skills-list .skill-row .skill-name{color:var(--sd-text);flex-shrink:0;font-size:.73rem;min-width:90px}.session-detail-v2 .v2-sidebar .skills-list .skill-row .skill-bar{background:var(--sd-border);border-radius:3px;flex:1 1;height:6px;overflow:hidden}.session-detail-v2 .v2-sidebar .skills-list .skill-row .skill-bar .skill-fill{background:linear-gradient(90deg,var(--sd-accent),#6366f1);border-radius:3px;height:100%;transition:width .3s ease}.session-detail-v2 .v2-sidebar .skills-list .skill-row .skill-pct{color:var(--sd-text-muted);font-size:.68rem;font-weight:600;min-width:28px;text-align:right}.session-detail-v2 .v2-sidebar .attachment-badge{background:#10b9811a;border-radius:12px;color:var(--sd-success);display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:6px;padding:4px 12px}.session-detail-v2 .v2-sidebar .attachment-desc{color:var(--sd-text-muted);font-size:.78rem;line-height:1.4;margin:0}@media(max-width:1000px){.session-detail-v2 .v2-content{grid-template-columns:1fr}.session-detail-v2 .score-hero{flex-wrap:wrap;gap:20px;padding:20px}.session-detail-v2 .score-hero .hero-stats{flex-wrap:wrap;gap:20px}}@media(max-width:600px){.session-detail-v2{padding:12px}.session-detail-v2 .score-hero{align-items:flex-start;flex-direction:column}.session-detail-v2 .score-hero .score-ring-wrapper,.session-detail-v2 .score-hero .score-ring-wrapper svg{height:72px;width:72px}.session-detail-v2 .score-hero .score-ring-wrapper .score-label .score-pct{font-size:1.1rem}.session-detail-v2 .score-hero .hero-stats{flex-direction:column;gap:12px}}.session-detail-page{--sd-bg:#f8f9fb;--sd-card-bg:#fff;--sd-text:#1a1a2e;--sd-text-muted:#6b7280;--sd-border:#e5e7eb;--sd-accent:#3b82f6;--sd-accent-light:#eff6ff;--sd-success:#10b981;--sd-danger:#ef4444;--sd-warning:#f59e0b;--sd-radius:16px;--sd-radius-sm:8px;background:var(--sd-bg);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;height:100%;overflow:hidden;padding:0;width:100%}.session-detail-page *{font-family:inherit}.session-detail-page .demo-badge{align-items:center;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;color:#92400e;display:inline-flex;font-size:.6rem;font-weight:600;gap:3px;letter-spacing:.5px;line-height:1.4;margin-left:8px;padding:1px 6px;text-transform:uppercase;vertical-align:middle}.session-detail-page .error-state,.session-detail-page .loading-state{align-items:center;color:var(--sd-text-muted);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center}.session-detail-page .error-state .spin,.session-detail-page .loading-state .spin{animation:sd-spin 1s linear infinite}.session-detail-page .error-state h3,.session-detail-page .loading-state h3{color:var(--sd-text);margin:0}.session-detail-page .error-state p,.session-detail-page .loading-state p{color:var(--sd-text-muted);margin:0}.session-detail-page .page-header{align-items:center;background:var(--sd-card-bg);border-bottom:1px solid var(--sd-border);display:flex;flex-shrink:0;justify-content:space-between;padding:12px 24px}.session-detail-page .page-header .header-left{align-items:center;display:flex;gap:12px}.session-detail-page .page-header .header-left .header-divider{background:var(--sd-border);height:28px;width:1px}.session-detail-page .page-header .header-left .header-title-group{display:flex;flex-direction:column;gap:1px}.session-detail-page .page-header .header-left h1{color:var(--sd-text);font-size:1.1rem;font-weight:700;line-height:1.2;margin:0}.session-detail-page .page-header .header-left .header-subtitle{color:var(--sd-text-muted);font-size:.78rem;line-height:1.2}.session-detail-page .page-header .header-right{align-items:center;display:flex;gap:16px}.session-detail-page .page-header .header-right .session-date{align-items:center;color:var(--sd-text-muted);display:flex;font-size:.82rem;gap:6px}.session-detail-page .back-btn{align-items:center;background:#0000;border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);color:var(--sd-text);cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:6px 10px;transition:all .15s}.session-detail-page .back-btn:hover{background:var(--sd-bg);border-color:var(--sd-accent);color:var(--sd-accent)}.session-detail-page .three-column-layout{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:280px 1fr 280px;overflow:hidden}.session-detail-page .coach-column{background:var(--sd-card-bg);border-right:1px solid var(--sd-border);display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px 16px}.session-detail-page .coach-column .play-feedback-btn{align-items:center;background:var(--sd-accent);border:none;border-radius:var(--sd-radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:8px;justify-content:center;padding:10px 16px;transition:all .2s;width:100%}.session-detail-page .coach-column .play-feedback-btn:hover:not(:disabled){background:#2563eb}.session-detail-page .coach-column .play-feedback-btn:disabled{cursor:not-allowed;opacity:.5}.session-detail-page .coach-column .play-feedback-btn.speaking{background:var(--sd-danger)}.session-detail-page .coach-column .play-feedback-btn.speaking:hover{background:#dc2626}.session-detail-page .coach-column .quality-components h4{color:var(--sd-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.session-detail-page .coach-column .quality-components .quality-chips{display:flex;flex-wrap:wrap;gap:6px}.session-detail-page .coach-column .quality-components .quality-chips .quality-chip{border-radius:20px;font-size:.75rem;font-weight:500;padding:4px 10px}.session-detail-page .coach-column .quality-components .quality-chips .quality-chip.good{background:#10b9811a;color:var(--sd-success)}.session-detail-page .coach-column .quality-components .quality-chips .quality-chip.average{background:#f59e0b1a;color:var(--sd-warning)}.session-detail-page .coach-column .quality-components .quality-chips .quality-chip.needs-work{background:#ef44441a;color:var(--sd-danger)}.session-detail-page .session-kpis{display:flex;flex-direction:column;gap:10px}.session-detail-page .session-kpis .kpi-card{align-items:flex-start;background:var(--sd-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);display:flex;gap:10px;padding:10px 12px}.session-detail-page .session-kpis .kpi-card.rated-up{background:#10b9810a;border-color:#10b9814d}.session-detail-page .session-kpis .kpi-card.rated-down{background:#ef44440a;border-color:#ef44444d}.session-detail-page .session-kpis .kpi-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.session-detail-page .session-kpis .kpi-icon.steps{background:#3b82f61a;color:var(--sd-accent)}.session-detail-page .session-kpis .kpi-icon.duration{background:#6366f11a;color:#6366f1}.session-detail-page .session-kpis .kpi-icon.positive{background:#10b9811a;color:var(--sd-success)}.session-detail-page .session-kpis .kpi-icon.negative{background:#ef44441a;color:var(--sd-danger)}.session-detail-page .session-kpis .kpi-content{flex:1 1;min-width:0}.session-detail-page .session-kpis .kpi-label{color:var(--sd-text-muted);display:block;font-size:.68rem;font-weight:600;letter-spacing:.3px;margin-bottom:2px;text-transform:uppercase}.session-detail-page .session-kpis .kpi-value{color:var(--sd-text);display:block;font-size:1rem;font-weight:700;line-height:1.2}.session-detail-page .session-kpis .kpi-total{color:var(--sd-text-muted);font-size:.8rem;font-weight:500}.session-detail-page .session-kpis .kpi-bar{background:var(--sd-border);border-radius:3px;height:5px;margin-top:6px;overflow:hidden}.session-detail-page .session-kpis .kpi-bar .kpi-bar-fill{background:linear-gradient(90deg,var(--sd-accent),#6366f1);border-radius:3px;height:100%;transition:width .4s ease}.session-detail-page .avatar-container{align-items:center;border-radius:var(--sd-radius);display:flex;height:220px;justify-content:center;min-height:220px;overflow:hidden;position:relative;width:100%}.session-detail-page .avatar-container .feedback-avatar{height:100%;inset:0;position:absolute;width:100%;z-index:1}.session-detail-page .avatar-container .avatar-placeholder{align-items:center;color:#ffffff4d;display:flex;justify-content:center;position:relative;z-index:0}.session-detail-page .avatar-container.coach-avatar-bg{background:linear-gradient(135deg,#1e3a5f,#2563eb);height:320px;min-height:320px}.session-detail-page .avatar-container.student-avatar-bg{background:linear-gradient(135deg,#f59e0b,#f97316)}.session-detail-page .feedback-column{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px 24px}.session-detail-page .feedback-column .feedback-card{background:var(--sd-card-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius);box-shadow:0 1px 3px #0000000f;padding:22px 24px}.session-detail-page .feedback-column .feedback-card h3{color:var(--sd-text);font-size:.9rem;font-weight:700;letter-spacing:.3px;margin:0 0 14px;text-transform:uppercase}.session-detail-page .feedback-column .feedback-card .feedback-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.session-detail-page .feedback-column .feedback-card .feedback-card-header h3{margin:0}.session-detail-page .feedback-column .feedback-card .feedback-card-header .session-rating-controls{display:flex;flex-shrink:0;gap:6px}.session-detail-page .feedback-column .feedback-card .rate-pill{align-items:center;background:var(--sd-bg);border:1.5px solid var(--sd-border);border-radius:20px;color:var(--sd-text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.72rem;font-weight:600;gap:5px;padding:5px 12px;transition:all .15s;white-space:nowrap}.session-detail-page .feedback-column .feedback-card .rate-pill:hover:not(:disabled){background:var(--sd-accent-light);border-color:var(--sd-accent);color:var(--sd-accent)}.session-detail-page .feedback-column .feedback-card .rate-pill:disabled{cursor:not-allowed;opacity:.4}.session-detail-page .feedback-column .feedback-card .rate-pill.active-up{background:#10b9811a;border-color:var(--sd-success);color:var(--sd-success)}.session-detail-page .feedback-column .feedback-card .rate-pill.active-down{background:#ef44441a;border-color:var(--sd-danger);color:var(--sd-danger)}.session-detail-page .feedback-column .feedback-card .feedback-summary{color:var(--sd-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.88rem;line-height:1.7;margin:0}.session-detail-page .feedback-column .feedback-card .rating-comment{background:var(--sd-bg);border-left:3px solid var(--sd-danger);border-radius:var(--sd-radius-sm);color:var(--sd-text-muted);font-size:.82rem;line-height:1.5;margin-top:12px;padding:10px 14px}.session-detail-page .feedback-column .feedback-card .rating-comment p{margin:0}.session-detail-page .feedback-column .steps-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.session-detail-page .feedback-column .tools-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.session-detail-page .feedback-column .recommendations-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.session-detail-page .feedback-column .recommendation-card{background:var(--sd-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);display:flex;flex-direction:column;padding:14px 16px;transition:box-shadow .15s,border-color .15s}.session-detail-page .feedback-column .recommendation-card:hover{border-color:var(--sd-accent);box-shadow:0 4px 8px #00000014}.session-detail-page .feedback-column .recommendation-card .recommendation-name{color:var(--sd-text);font-size:.88rem;font-weight:700;line-height:1.25;margin:0 0 6px}.session-detail-page .feedback-column .recommendation-card .recommendation-explanation{-webkit-line-clamp:5;-webkit-box-orient:vertical;color:var(--sd-text-muted);display:-webkit-box;font-size:.82rem;line-height:1.5;margin:0 0 10px;overflow:hidden}.session-detail-page .feedback-column .recommendation-card .recommendation-link{align-items:center;color:var(--sd-accent);display:inline-flex;font-size:.8rem;font-weight:600;margin-top:auto;text-decoration:none;transition:color .12s}.session-detail-page .feedback-column .recommendation-card .recommendation-link:hover{color:#2563eb}.session-detail-page .feedback-column .recommendations-empty{align-items:center;background:var(--sd-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);color:var(--sd-text-muted);display:flex;font-size:.85rem;gap:8px;justify-content:center;padding:20px}.session-detail-page .feedback-column .recommendations-empty .spin{animation:sd-spin 1s linear infinite}.session-detail-page .feedback-column .recommendations-empty p{margin:0}.session-detail-page .teaching-step-card{border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);padding:12px;transition:border-color .15s}.session-detail-page .teaching-step-card.included{border-left:3px solid var(--sd-success)}.session-detail-page .teaching-step-card.missed{border-left:3px solid var(--sd-danger)}.session-detail-page .teaching-step-card .step-card-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.session-detail-page .teaching-step-card .step-card-header .step-number{align-items:center;background:var(--sd-bg);border-radius:50%;color:var(--sd-text-muted);display:flex;flex-shrink:0;font-size:.7rem;font-weight:700;height:22px;justify-content:center;width:22px}.session-detail-page .teaching-step-card .step-card-header .step-name{color:var(--sd-text);flex:1 1;font-size:.85rem;font-weight:600}.session-detail-page .teaching-step-card .step-card-header .step-tag{align-items:center;border-radius:12px;display:flex;flex-shrink:0;font-size:.7rem;font-weight:500;gap:4px;padding:2px 8px}.session-detail-page .teaching-step-card .step-card-header .step-tag.included-tag{background:#10b9811a;color:var(--sd-success)}.session-detail-page .teaching-step-card .step-card-header .step-tag.missed-tag{background:#ef44441a;color:var(--sd-danger)}.session-detail-page .teaching-step-card .step-feedback{color:var(--sd-text-muted);font-size:.82rem;line-height:1.55;margin:0}.session-detail-page .tool-strategy-card{border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);padding:10px 12px}.session-detail-page .tool-strategy-card.used{border-left:3px solid var(--sd-success)}.session-detail-page .tool-strategy-card.unused{border-left:3px solid var(--sd-border)}.session-detail-page .tool-strategy-card .tool-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.session-detail-page .tool-strategy-card .tool-header .tool-name{color:var(--sd-text);font-size:.85rem;font-weight:600}.session-detail-page .tool-strategy-card .tool-header .tool-tag{align-items:center;border-radius:10px;display:flex;font-size:.65rem;font-weight:500;gap:3px;padding:2px 6px}.session-detail-page .tool-strategy-card .tool-header .tool-tag.used-tag{background:#10b9811a;color:var(--sd-success)}.session-detail-page .tool-strategy-card .tool-header .tool-tag.unused-tag{background:#0000000d;color:var(--sd-text-muted)}.session-detail-page .tool-strategy-card .tool-description{color:var(--sd-text-muted);font-size:.78rem;line-height:1.4;margin:0}.session-detail-page .transcript-section.empty{color:var(--sd-text-muted);padding:24px;text-align:center}.session-detail-page .transcript-section .transcript-search{align-items:center;background:var(--sd-bg);border:1px solid var(--sd-border);border-radius:24px;display:flex;gap:10px;margin-bottom:16px;padding:9px 14px}.session-detail-page .transcript-section .transcript-search input{background:#0000;border:none;color:var(--sd-text);flex:1 1;font-family:inherit;font-size:.82rem;outline:none}.session-detail-page .transcript-section .transcript-search input::placeholder{color:#9ca3af}.session-detail-page .transcript-section .transcript-search svg{color:#9ca3af;flex-shrink:0}.session-detail-page .transcript-section .transcript-messages{background:var(--sd-bg);border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);display:flex;flex-direction:column;gap:0;max-height:600px;overflow-y:auto}.session-detail-page .transcript-section .transcript-messages::-webkit-scrollbar{width:4px}.session-detail-page .transcript-section .transcript-messages::-webkit-scrollbar-track{background:#0000}.session-detail-page .transcript-section .transcript-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.session-detail-page .transcript-section .transcript-marker{align-items:center;color:#9ca3af;display:flex;font-size:.73rem;gap:6px;justify-content:center;letter-spacing:.2px;padding:10px 16px}.session-detail-page .transcript-section .transcript-marker strong{color:var(--sd-text-muted)}.session-detail-page .transcript-section .transcript-marker.start{background:#fdfdfe;border-bottom:1px solid #e9ecef}.session-detail-page .transcript-section .transcript-marker.end{background:#fdfdfe;border-top:1px solid #e9ecef;font-style:italic}.session-detail-page .transcript-section .transcript-msg{border-bottom:1px solid #eef0f2;padding:12px 16px;transition:background .1s}.session-detail-page .transcript-section .transcript-msg:hover{background:#fff}.session-detail-page .transcript-section .transcript-msg:hover .msg-actions{opacity:1;pointer-events:auto}.session-detail-page .transcript-section .transcript-msg .msg-row{align-items:baseline;display:flex;gap:14px}.session-detail-page .transcript-section .transcript-msg .msg-speaker{flex-shrink:0;font-size:.78rem;font-weight:700;min-width:80px}.session-detail-page .transcript-section .transcript-msg .msg-speaker.bot{color:#2563eb}.session-detail-page .transcript-section .transcript-msg .msg-speaker.user{color:#7c3aed}.session-detail-page .transcript-section .transcript-msg .msg-text{color:var(--sd-text);flex:1 1;font-size:.88rem;line-height:1.7}.session-detail-page .transcript-section .transcript-msg .msg-actions{display:flex;gap:3px;margin-top:6px;opacity:0;padding-left:94px;pointer-events:none;transition:opacity .12s}.session-detail-page .transcript-section .transcript-msg .msg-rate-pill{align-items:center;background:#f1f5f9;border:none;border-radius:12px;color:#64748b;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.7rem;font-weight:600;gap:4px;padding:3px 10px;transition:all .12s;white-space:nowrap}.session-detail-page .transcript-section .transcript-msg .msg-rate-pill:hover:not(:disabled){background:#e0ecff;color:var(--sd-accent)}.session-detail-page .transcript-section .transcript-msg .msg-rate-pill:disabled{cursor:not-allowed;opacity:.3}.session-detail-page .transcript-section .transcript-msg .msg-rate-pill.active-up{background:#10b98126;color:var(--sd-success);opacity:1}.session-detail-page .transcript-section .transcript-msg .msg-rate-pill.active-down{background:#ef44441f;color:var(--sd-danger);opacity:1}.session-detail-page .transcript-section .transcript-msg:has(.active-down) .msg-actions,.session-detail-page .transcript-section .transcript-msg:has(.active-up) .msg-actions{opacity:1;pointer-events:auto}.session-detail-page .transcript-section .transcript-msg .msg-comment{background:#fff;border-left:3px solid var(--sd-danger);border-radius:6px;color:var(--sd-text-muted);font-size:.8rem;line-height:1.5;margin:8px 0 0 94px;padding:8px 12px}.session-detail-page .transcript-section .transcript-msg .msg-feedback-form{margin:8px 0 0 94px}.session-detail-page .transcript-section .transcript-msg .msg-feedback-form textarea{background:#fff;border:1px solid var(--sd-border);border-radius:6px;color:var(--sd-text);font-family:inherit;font-size:.82rem;outline:none;padding:8px 10px;resize:none;width:100%}.session-detail-page .transcript-section .transcript-msg .msg-feedback-form textarea:focus{border-color:var(--sd-accent)}.session-detail-page .transcript-section .transcript-msg .msg-feedback-form .msg-feedback-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:6px}.session-detail-page .feedback-inline{margin-top:8px}.session-detail-page .feedback-inline textarea{border:1px solid var(--sd-border);border-radius:var(--sd-radius-sm);color:var(--sd-text);font-size:.8rem;outline:none;padding:8px 10px;resize:none;width:100%}.session-detail-page .feedback-inline textarea:focus{border-color:var(--sd-accent)}.session-detail-page .feedback-inline .feedback-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.session-detail-page .feedback-inline .cancel-btn,.session-detail-page .feedback-inline .submit-btn{border:none;border-radius:4px;cursor:pointer;font-size:.78rem;font-weight:500;padding:4px 12px;transition:all .15s}.session-detail-page .feedback-inline .cancel-btn{background:#0000;border:1px solid var(--sd-border);color:var(--sd-text-muted)}.session-detail-page .feedback-inline .cancel-btn:hover:not(:disabled){background:var(--sd-bg)}.session-detail-page .feedback-inline .submit-btn{background:var(--sd-accent);color:#fff}.session-detail-page .feedback-inline .submit-btn:hover:not(:disabled){background:#2563eb}.session-detail-page .feedback-inline .submit-btn:disabled{cursor:not-allowed;opacity:.5}.session-detail-page .feedback-inline .submit-btn .spin{animation:sd-spin 1s linear infinite}.session-detail-page .student-column{background:var(--sd-card-bg);border-left:1px solid var(--sd-border);display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding:20px 16px}.session-detail-page .student-column .student-info{text-align:center}.session-detail-page .student-column .student-info h3{color:var(--sd-text);font-size:1rem;font-weight:700;margin:0 0 4px}.session-detail-page .student-column .student-info .student-meta{align-items:center;color:var(--sd-text-muted);display:flex;font-size:.8rem;gap:6px;justify-content:center}.session-detail-page .student-column .student-info .student-method{background:var(--sd-accent-light);border-radius:12px;color:var(--sd-accent);display:inline-block;font-size:.75rem;font-weight:500;margin-top:6px;padding:3px 10px}.session-detail-page .student-column .student-card{background:var(--sd-bg);border-radius:var(--sd-radius-sm);padding:12px}.session-detail-page .student-column .student-card h4{color:var(--sd-text-muted);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.session-detail-page .student-column .student-card .attachment-badge{background:#10b9811a;border-radius:12px;color:var(--sd-success);display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:6px;padding:4px 12px}.session-detail-page .student-column .student-card .attachment-desc{color:var(--sd-text-muted);font-size:.78rem;line-height:1.4;margin:0}.session-detail-page .student-column .skills-list{display:flex;flex-direction:column;gap:8px}.session-detail-page .student-column .skills-list .skill-row{align-items:center;display:flex;gap:8px}.session-detail-page .student-column .skills-list .skill-row .skill-name{color:var(--sd-text);flex-shrink:0;font-size:.75rem;min-width:100px}.session-detail-page .student-column .skills-list .skill-row .skill-bar{background:var(--sd-border);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.session-detail-page .student-column .skills-list .skill-row .skill-bar .skill-fill{background:linear-gradient(90deg,var(--sd-accent),#6366f1);border-radius:4px;height:100%;transition:width .3s ease}.session-detail-page .student-column .skills-list .skill-row .skill-pct{color:var(--sd-text-muted);font-size:.7rem;font-weight:600;min-width:30px;text-align:right}.session-detail-page .student-column .stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.session-detail-page .student-column .stats-grid .stat-box{align-items:center;background:var(--sd-card-bg);border-radius:var(--sd-radius-sm);display:flex;flex-direction:column;padding:10px 8px}.session-detail-page .student-column .stats-grid .stat-box .stat-value{color:var(--sd-text);font-size:1.1rem;font-weight:700}.session-detail-page .student-column .stats-grid .stat-box .stat-label{color:var(--sd-text-muted);font-size:.65rem;letter-spacing:.3px;text-transform:uppercase}.session-detail-page .student-column .record-timeline{display:flex;flex-direction:column;gap:8px}.session-detail-page .student-column .record-timeline .record-entry{border-bottom:1px solid var(--sd-border);display:flex;flex-direction:column;gap:2px;padding:6px 0}.session-detail-page .student-column .record-timeline .record-entry:last-child{border-bottom:none}.session-detail-page .student-column .record-timeline .record-entry .record-date{color:var(--sd-text-muted);font-size:.65rem;font-weight:500}.session-detail-page .student-column .record-timeline .record-entry .record-event{color:var(--sd-text);font-size:.78rem}.session-detail-page .student-column .record-timeline .record-entry .record-outcome{font-size:.7rem;font-weight:600}.session-detail-page .student-column .record-timeline .record-entry .record-outcome.pass{color:var(--sd-success)}.session-detail-page .student-column .record-timeline .record-entry .record-outcome.needs-practice{color:var(--sd-warning)}.session-detail-page .student-column .record-timeline .record-entry .record-outcome.baseline{color:var(--sd-accent)}.session-detail-page .ab-toggle{align-items:center;background:var(--sd-card-bg);border:1px solid var(--sd-border);border-radius:24px;bottom:24px;box-shadow:0 4px 16px #0000001f,0 1px 4px #0000000f;display:flex;gap:0;padding:4px;position:fixed;right:24px;z-index:100}.session-detail-page .ab-toggle .ab-toggle-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--sd-text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:.82rem;font-weight:700;height:36px;justify-content:center;transition:all .2s;width:36px}.session-detail-page .ab-toggle .ab-toggle-btn:hover:not(.active){background:var(--sd-bg);color:var(--sd-text)}.session-detail-page .ab-toggle .ab-toggle-btn.active{background:var(--sd-accent);box-shadow:0 2px 6px #3b82f64d;color:#fff}.session-detail-page .version-content{animation:sd-fade-in .25s ease;display:flex;flex:1 1;flex-direction:column;overflow:hidden}@media(max-width:1200px){.session-detail-page .three-column-layout{grid-template-columns:1fr}.session-detail-page .coach-column,.session-detail-page .student-column{border-bottom:1px solid var(--sd-border);border-left:none;border-right:none}.session-detail-page .coach-column{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:16px}.session-detail-page .coach-column .avatar-container{height:180px;width:180px}.session-detail-page .coach-column .quality-components,.session-detail-page .coach-column .session-kpis{flex:1 1;min-width:200px}.session-detail-page .coach-column .play-feedback-btn{width:auto}.session-detail-page .student-column .avatar-container{height:180px;margin:0 auto;width:180px}}@keyframes sd-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes sd-fade-in{0%{opacity:0}to{opacity:1}}.error-boundary{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;display:flex;justify-content:center;margin:1rem 0;min-height:400px;padding:2rem}.error-boundary-content{max-width:500px;text-align:center}.error-boundary-content .error-icon{color:#dc2626;margin-bottom:1rem}.error-boundary-content h2{color:#991b1b;font-size:1.5rem;font-weight:600;margin:0 0 .75rem}.error-boundary-content p{color:#7f1d1d;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.error-boundary-content .error-details{background-color:#fee2e2;border-radius:.375rem;margin-bottom:1.5rem;padding:1rem;text-align:left}.error-boundary-content .error-details summary{color:#991b1b;cursor:pointer;font-weight:500;margin-bottom:.5rem}.error-boundary-content .error-details pre{color:#7f1d1d;font-size:.75rem;margin:.5rem 0 0;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.error-boundary-content .reset-button{align-items:center;background-color:#dc2626;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:background-color .15s ease}.error-boundary-content .reset-button:hover{background-color:#b91c1c}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:4rem}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.3rem;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.3rem;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.3rem;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + .85rem);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:1.7rem;margin:.166rem;text-align:center;width:1.7rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.5rem;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:3rem;width:3rem}@media (max-height:550px),(max-width:400px){.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__time-name{line-height:2rem;width:2rem}}.react-datepicker__portal .react-datepicker-time__header,.react-datepicker__portal .react-datepicker__current-month{font-size:1.44rem}.react-datepicker__children-container{height:auto;margin:.4rem;padding-left:.2rem;padding-right:.2rem;width:13.8rem}.react-datepicker__aria-live{border:0;-webkit-clip-path:circle(0);clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.filter-bar{background-color:#fff;border:1px solid #e4e4e7;border-radius:.5rem;box-shadow:0 1px 3px #0000000d;margin-bottom:1.5rem;padding:1.25rem}.filter-bar .filter-bar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.filter-bar .filter-bar-header .filter-title{align-items:center;color:#18181b;display:flex;font-size:.95rem;font-weight:600;gap:.5rem}.filter-bar .filter-bar-header .filter-title .filter-count{align-items:center;background-color:#ffc107;border-radius:9999px;color:#18181b;display:inline-flex;font-size:.75rem;font-weight:600;height:1.25rem;justify-content:center;min-width:1.25rem;padding:0 .35rem}.filter-bar .filter-bar-header .clear-all-btn{align-items:center;background-color:#0000;border:1px solid #e4e4e7;border-radius:.25rem;color:#71717a;cursor:pointer;display:flex;font-size:.8rem;gap:.35rem;padding:.35rem .75rem;transition:all .15s ease}.filter-bar .filter-bar-header .clear-all-btn:hover{background-color:#fafafa;border-color:#d4d4d8;color:#18181b}.filter-bar .filter-controls{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.filter-bar .filter-controls{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.filter-bar .filter-controls{grid-template-columns:1fr}}.filter-bar .filter-controls .filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-bar .filter-controls .filter-group label{align-items:center;color:#52525b;display:flex;font-size:.8rem;font-weight:500;gap:.35rem}.filter-bar .filter-controls .filter-group--comparison .filter-hint{color:#a1a1aa;font-size:.7rem;font-style:italic;margin-top:.25rem}.filter-bar .filter-controls .filter-group .date-picker-wrapper{align-items:center;display:flex;position:relative}.filter-bar .filter-controls .filter-group .date-picker-wrapper .calendar-icon{color:#71717a;left:.75rem;pointer-events:none;position:absolute;z-index:1}.filter-bar .filter-controls .filter-group .date-picker-wrapper .date-picker-input{background-color:#fff;border:1px solid #e4e4e7;border-radius:.25rem;color:#18181b;font-size:.875rem;min-height:40px;outline:none;padding:.5rem .75rem .5rem 2.25rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.filter-bar .filter-controls .filter-group .date-picker-wrapper .date-picker-input:focus{border-color:#ffc107;box-shadow:0 0 0 2px #ffc10733}.filter-bar .filter-controls .filter-group .date-picker-wrapper .date-picker-input::placeholder{color:#a1a1aa}.filter-bar .filter-controls .filter-group .date-picker-wrapper .react-datepicker__close-icon:after{background-color:#d4d4d8;color:#18181b}.filter-bar .active-filters{border-top:1px solid #f4f4f5;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:1rem}.filter-bar .active-filters .filter-chip{align-items:center;background-color:#fef3c7;border:1px solid #fcd34d;border-radius:9999px;color:#92400e;display:inline-flex;font-size:.8rem;gap:.35rem;padding:.35rem .5rem .35rem .75rem}.filter-bar .active-filters .filter-chip span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-bar .active-filters .filter-chip button{align-items:center;background-color:#0000;border:none;border-radius:50%;color:#b45309;cursor:pointer;display:flex;height:1.25rem;justify-content:center;padding:0;transition:background-color .15s ease;width:1.25rem}.filter-bar .active-filters .filter-chip button:hover{background-color:#b453091a}.filter-bar .active-filters .filter-chip--comparison{background-color:#e0f2fe;border-color:#38bdf8;color:#0369a1}.filter-bar .active-filters .filter-chip--comparison svg{color:#0284c7}.filter-bar .active-filters .filter-chip--comparison button{color:#0369a1}.filter-bar .active-filters .filter-chip--comparison button:hover{background-color:#0369a11a}.filter-bar .active-filters .filter-chip--org{background-color:#f0fdf4;border-color:#86efac;color:#166534}.filter-bar .active-filters .filter-chip--org svg{color:#22c55e}.filter-bar .active-filters .filter-chip--org button{color:#166534}.filter-bar .active-filters .filter-chip--org button:hover{background-color:#1665341a}.filter-bar .comparison-info{align-items:center;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:.375rem;color:#0369a1;display:flex;font-size:.8rem;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem}.filter-bar .comparison-info svg{color:#0284c7}.react-datepicker{border:1px solid #e4e4e7;border-radius:.5rem;box-shadow:0 4px 12px #0000001a;font-family:inherit}.react-datepicker__header{background-color:#fafafa;border-bottom:1px solid #e4e4e7}.react-datepicker__current-month{color:#18181b;font-weight:600}.react-datepicker__day-name{color:#71717a}.react-datepicker__day{color:#18181b}.react-datepicker__day:hover{background-color:#fff8e1}.react-datepicker__day--in-range,.react-datepicker__day--selected{background-color:#ffc107!important;color:#18181b!important}.react-datepicker__day--in-range:hover,.react-datepicker__day--selected:hover{background-color:#e6ad00!important}.react-datepicker__day--in-selecting-range{background-color:#fff8e1!important;color:#18181b!important}.react-datepicker__day--keyboard-selected{background-color:#fef3c7;color:#18181b}.react-datepicker__day--disabled{color:#d4d4d8}.react-datepicker__navigation-icon:before{border-color:#71717a}.kpi-tile{--kpi-color:#3b82f6;--kpi-color-light:#3b82f61a;background-color:#fff;border:1px solid #e4e4e7;border-radius:.5rem;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;padding:1.25rem;transition:transform .2s ease,box-shadow .2s ease}.kpi-tile:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.kpi-tile--blue{--kpi-color:#3b82f6;--kpi-color-light:#3b82f61a}.kpi-tile--green{--kpi-color:#10b981;--kpi-color-light:#10b9811a}.kpi-tile--purple{--kpi-color:#8b5cf6;--kpi-color-light:#8b5cf61a}.kpi-tile--amber{--kpi-color:#f59e0b;--kpi-color-light:#f59e0b1a}.kpi-tile--cyan{--kpi-color:#06b6d4;--kpi-color-light:#06b6d41a}.kpi-tile--red{--kpi-color:#ef4444;--kpi-color-light:#ef44441a}.kpi-tile .kpi-tile-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.kpi-tile .kpi-icon{align-items:center;background-color:var(--kpi-color);border-radius:.5rem;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.kpi-tile .kpi-icon svg{color:#fff}.kpi-tile .kpi-title{color:#52525b;font-size:.875rem;font-weight:500;line-height:1.3}.kpi-tile .kpi-content{display:flex;flex-direction:column;gap:.5rem;min-height:2.5rem}.kpi-tile .kpi-value{color:#18181b;font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1}.kpi-tile .kpi-value .kpi-suffix{color:#71717a;font-size:1rem;font-weight:500;margin-left:.25rem}.kpi-tile .kpi-loading{align-items:center;display:flex;height:2.5rem;justify-content:flex-start}.kpi-tile .kpi-loading .spinner{animation:spin 1s linear infinite;color:var(--kpi-color)}.kpi-tile .kpi-error{align-items:center;color:#ef4444;display:flex;font-size:.875rem;gap:.35rem}.kpi-tile .kpi-trend{align-items:center;border-radius:9999px;display:inline-flex;font-size:.8rem;font-weight:500;gap:.25rem;padding:.2rem .5rem;width:-webkit-fit-content;width:fit-content}.kpi-tile .kpi-trend.trend-up{background-color:#10b9811a;color:#059669}.kpi-tile .kpi-trend.trend-down{background-color:#ef44441a;color:#dc2626}.kpi-tile .kpi-trend.trend-neutral{background-color:#71717a1a;color:#71717a}.kpi-tile .kpi-trend .trend-label{color:#71717a;font-weight:400;margin-left:.25rem}.kpi-tile .kpi-description{border-top:1px solid #f4f4f5;color:#71717a;font-size:.75rem;line-height:1.4;margin-top:.5rem;padding-top:.5rem}.kpi-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin-bottom:1.5rem}@media(max-width:1400px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.kpi-grid{gap:.75rem;grid-template-columns:1fr}}.chart-card{background-color:#fff;border:1px solid #e4e4e7;border-radius:.5rem;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;overflow:hidden}.chart-card--full-width{grid-column:1/-1}.chart-card .chart-card-header{align-items:flex-start;display:flex;justify-content:space-between;padding:1.25rem 1.25rem 0}.chart-card .chart-card-titles{display:flex;flex-direction:column;gap:.25rem}.chart-card .chart-card-title{color:#18181b;font-size:1rem;font-weight:600;margin:0}.chart-card .chart-card-subtitle{color:#71717a;font-size:.8rem;margin:0}.chart-card .chart-card-content{display:flex;flex:1 1;flex-direction:column;min-height:280px;padding:1.25rem}.chart-card .chart-card-content>div{flex:1 1}.chart-card .chart-card-empty,.chart-card .chart-card-error,.chart-card .chart-card-loading{align-items:center;color:#71717a;display:flex;flex-direction:column;gap:.75rem;height:100%;justify-content:center;min-height:200px;text-align:center}.chart-card .chart-card-loading .spinner{animation:spin 1s linear infinite;color:#ffc107}.chart-card .chart-card-loading span{font-size:.875rem}.chart-card .chart-card-error svg{color:#ef4444}.chart-card .chart-card-error span{color:#71717a;font-size:.875rem}.chart-card .chart-card-error .retry-btn{align-items:center;background-color:#ffc107;border:none;border-radius:.25rem;color:#18181b;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:.35rem;margin-top:.5rem;padding:.5rem 1rem;transition:background-color .15s ease}.chart-card .chart-card-error .retry-btn:hover{background-color:#e6ad00}.chart-card .chart-card-empty svg{color:#d4d4d8}.chart-card .chart-card-empty span{font-size:.875rem;line-height:1.4;max-width:200px}.profile-impact-table-wrapper{margin:0 -.5rem;overflow-x:auto;padding:0 .5rem}.profile-impact-table{border-collapse:collapse;font-size:.875rem;table-layout:fixed;width:100%}.profile-impact-table td,.profile-impact-table th{border-bottom:1px solid #f4f4f5;padding:.875rem 1rem;text-align:left}.profile-impact-table th{background-color:#fafafa;color:#52525b;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.profile-impact-table th:first-child{width:40%}.profile-impact-table th:nth-child(2){text-align:center;width:25%}.profile-impact-table th:nth-child(3){width:35%}.profile-impact-table tbody tr{transition:background-color .15s ease}.profile-impact-table tbody tr:hover{background-color:#fafafa}.profile-impact-table tbody tr:last-child td{border-bottom:none}.profile-impact-table .profile-name{color:#18181b;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-impact-table .sessions-count{color:#3b82f6;font-weight:600;text-align:center}.profile-impact-table .score-cell{display:flex;flex-direction:column;gap:.35rem}.profile-impact-table .score-cell .score-value{font-size:.9rem;font-weight:600}.profile-impact-table .score-cell .score-bar{background-color:#e4e4e7;border-radius:2px;height:4px;transition:width .3s ease}.profile-impact-table .completion-rate{width:120px}.profile-impact-table .rate-cell{align-items:center;display:flex;font-weight:500;gap:.35rem}.profile-impact-table .rate-cell .icon-up{color:#22c55e}.profile-impact-table .rate-cell .icon-down{color:#ef4444}.profile-impact-table .rate-cell .icon-neutral{color:#71717a}@media(max-width:768px){.profile-impact-table{table-layout:auto}.profile-impact-table td,.profile-impact-table th{font-size:.8rem;padding:.625rem .5rem}.profile-impact-table th:first-child,.profile-impact-table th:nth-child(2),.profile-impact-table th:nth-child(3){width:auto}}.export-button-container{display:inline-block;position:relative}.export-button{align-items:center;background:#fff;border:1px solid #e4e4e7;border-radius:8px;color:#18181b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s ease}.export-button:hover:not(:disabled){background:#fafafa;border-color:#ffc107}.export-button:disabled{cursor:not-allowed;opacity:.5}.export-button--open{border-color:#ffc107;box-shadow:0 0 0 2px #ffc10733}.export-button .chevron{margin-left:2px;transition:transform .2s ease}.export-button .chevron--rotated{transform:rotate(180deg)}.export-button .spinning{animation:spin 1s linear infinite}.export-dropdown{animation:slideDown .15s ease;background:#fff;border:1px solid #e4e4e7;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:100}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.export-option{align-items:flex-start;background:#0000;border:none;cursor:pointer;display:flex;gap:12px;padding:12px 14px;text-align:left;transition:background .15s ease;width:100%}.export-option:hover:not(:disabled){background:#fff8e1}.export-option:not(:last-child){border-bottom:1px solid #f4f4f5}.export-option:disabled{cursor:not-allowed;opacity:.5}.export-option svg{color:#ffc107;flex-shrink:0;margin-top:2px}.export-option-text{display:flex;flex-direction:column;gap:2px}.export-option-title{color:#18181b;font-size:14px;font-weight:500}.export-option-desc{color:#71717a;font-size:12px}.analytics-dashboard{margin:0 auto;max-width:1600px;padding:2rem;width:100%}.analytics-dashboard .analytics-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}@media(max-width:768px){.analytics-dashboard .analytics-header{flex-direction:column}}.analytics-dashboard .analytics-header-left .analytics-title-row{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.analytics-dashboard .analytics-header-left .analytics-title-row .analytics-icon{color:#ffc107}.analytics-dashboard .analytics-header-left .analytics-title-row h1{color:#18181b;font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0}.analytics-dashboard .analytics-header-left .analytics-description{color:#52525b;font-size:.95rem;line-height:1.4;margin:0}.analytics-dashboard .analytics-header-right{align-items:center;display:flex;flex-shrink:0;gap:1rem}.analytics-dashboard .analytics-header-right .last-updated{color:#71717a;font-size:.8rem}.analytics-dashboard .analytics-header-right .refresh-button{align-items:center;background-color:#ffc107;border:none;border-radius:.375rem;color:#18181b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;transition:background-color .15s ease,transform .15s ease}.analytics-dashboard .analytics-header-right .refresh-button:hover:not(:disabled){background-color:#e6ad00}.analytics-dashboard .analytics-header-right .refresh-button:active:not(:disabled){transform:scale(.98)}.analytics-dashboard .analytics-header-right .refresh-button:disabled{cursor:not-allowed;opacity:.7}.analytics-dashboard .analytics-header-right .refresh-button .spinning{animation:spin 1s linear infinite}.analytics-dashboard .charts-grid{display:flex;flex-direction:column;gap:1.5rem}.analytics-dashboard .charts-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}@media(max-width:1024px){.analytics-dashboard .charts-row{grid-template-columns:1fr}}.analytics-dashboard .global-error{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;display:flex;justify-content:center;margin-top:1rem;min-height:400px;padding:2rem}.analytics-dashboard .global-error-content{max-width:400px;text-align:center}.analytics-dashboard .global-error-content svg{color:#dc2626;margin-bottom:1rem}.analytics-dashboard .global-error-content h3{color:#991b1b;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.analytics-dashboard .global-error-content p{color:#7f1d1d;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.analytics-dashboard .global-error-content .retry-button{align-items:center;background-color:#dc2626;border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.625rem 1.25rem;transition:background-color .15s ease}.analytics-dashboard .global-error-content .retry-button:hover:not(:disabled){background-color:#b91c1c}.analytics-dashboard .global-error-content .retry-button:disabled{cursor:not-allowed;opacity:.7}.analytics-dashboard .global-error-content .retry-button .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media(max-width:640px){.analytics-dashboard{padding:1rem}.analytics-dashboard .analytics-header-left .analytics-title-row h1{font-size:1.5rem}.analytics-dashboard .analytics-header-left .analytics-description{font-size:.875rem}.analytics-dashboard .analytics-header-right{justify-content:space-between;width:100%}}.users-page .header .create-button{align-items:center;align-self:flex-start;background-color:var(--up-accent);border:none;border-radius:.25rem;color:var(--up-foreground);cursor:pointer;display:flex;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:background-color .2s}.users-page .header .create-button:hover{background-color:var(--up-accent-dark)}.users-page .search-container{margin-bottom:2rem;position:relative}.users-page .search-container .search-icon{color:var(--up-foreground);left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.users-page .search-container .search-input{background-color:var(--up-background);border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);font-size:1rem;padding:.75rem 1rem .75rem 2.5rem;width:100%}.users-page .search-container .search-input::placeholder{color:#0009}.users-page .search-container .search-input:focus{border-color:#0000;outline:2px solid var(--up-accent)}.users-page .users-table .user-name-cell{font-weight:500}.users-page .users-table .role-badge.badge-admin{background-color:#8b5cf61a;color:var(--up-admin)}.users-page .users-table .role-badge.badge-trainer{background-color:#3b82f61a;color:var(--up-trainer)}.users-page .users-table .role-badge.badge-trainee{background-color:#10b9811a;color:var(--up-trainee)}.users-page .users-table .role-badge.badge-default{background-color:#0000001a;color:var(--up-foreground)}.users-page .delete-confirmation-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.users-page .delete-confirmation{background-color:var(--up-background);border-radius:.5rem;box-shadow:0 10px 25px #0003;max-width:400px;padding:1.5rem;width:90%}.users-page .delete-confirmation h2{color:var(--up-foreground);font-size:1.25rem;margin-bottom:1rem;margin-top:0}.users-page .delete-confirmation p{color:var(--up-foreground);margin-bottom:1.5rem}.users-page .delete-confirmation .confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.users-page .delete-confirmation .confirm-actions button{border-radius:.25rem;cursor:pointer;font-weight:500;padding:.5rem 1rem}.users-page .delete-confirmation .confirm-actions button.cancel-button{background-color:#0000;border:1px solid var(--up-border);color:var(--up-foreground)}.users-page .delete-confirmation .confirm-actions button.cancel-button:hover{background-color:var(--up-muted)}.users-page .delete-confirmation .confirm-actions button.confirm-button{background-color:#ef4444;border:none;color:#fff}.users-page .delete-confirmation .confirm-actions button.confirm-button:hover{background-color:#dc2626}.delete-confirmation-overlay,.user-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1000}.action-buttons button{padding:8px!important}.action-buttons button svg{height:20px!important;width:20px!important}.skeleton-row td{padding:12px 16px;vertical-align:middle}.skeleton-row .skeleton-text{border-radius:4px;height:20px;width:80%}.skeleton-row .skeleton-badge,.skeleton-row .skeleton-text{animation:skeleton-loading 1.5s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}.skeleton-row .skeleton-badge{border-radius:12px;height:24px;width:100px}.skeleton-row .skeleton-actions{display:flex;gap:8px;justify-content:flex-end}.skeleton-row .skeleton-actions .skeleton-button{animation:skeleton-loading 1.5s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;border-radius:4px;height:32px;width:32px}.pagination-wrapper{border-top:1px solid #eaeaea;margin-top:auto;padding-top:20px}.organization-form{margin-bottom:24px;padding:16px}.form-group{margin-bottom:16px}.form-label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.form-input,.form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#1f2937;font-size:14px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus,.form-textarea:focus{border-color:#ffc107;box-shadow:0 0 0 4px #ffc10714;outline:none}.form-textarea{min-height:120px;resize:vertical}.form-submit-button{background:#ffc107;border:none;border-radius:8px;color:#1f2937;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:12px 16px;transition:transform .12s ease,box-shadow .12s ease;width:100%}.form-submit-button:hover{box-shadow:0 6px 14px #ffc1072e;transform:translateY(-1px)}.close-modal-button{background:#2496ed;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-weight:600;margin:16px auto 0;max-width:420px;padding:10px 14px;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;width:100%}.close-modal-button:hover{background:#1b78c9;box-shadow:0 8px 18px #2496ed2e;transform:translateY(-2px)}.close-modal-button:focus{outline:3px solid #2496ed1f;outline-offset:2px}.users-page{--up-accent:#ffc107;--up-accent-dark:#e6ad00;--up-background:#fff;--up-foreground:#000;--up-muted:#f4f4f5;--up-muted-foreground:#000;--up-border:#e4e4e7;--up-admin:#8b5cf6;--up-trainer:#3b82f6;--up-trainee:#10b981;--accent:var(--up-accent);--accent-dark:var(--up-accent-dark);--background:var(--up-background);--foreground:var(--up-foreground);--muted:var(--up-muted);--muted-foreground:var(--up-muted-foreground);--border:var(--up-border);height:100%;padding:2rem;position:relative;width:100%}.users-page button,.users-page h1,.users-page h2,.users-page h3,.users-page input,.users-page label,.users-page p,.users-page span,.users-page td,.users-page textarea,.users-page th{color:var(--up-foreground)}.users-page .header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.users-page .header h1{color:var(--up-foreground);font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.users-page .header .description{color:var(--up-foreground);font-size:1rem;margin:0 0 1.5rem}.users-page .header .stat-item{background:var(--up-muted);border:1px solid var(--up-border);border-radius:8px;padding:16px 24px;text-align:center}.users-page .header .stat-item .stat-value{color:var(--up-accent-dark);display:block;font-size:24px;font-weight:600;margin-bottom:4px}.users-page .header .stat-item .stat-label{color:var(--up-foreground);font-size:14px}.users-page .filters-section{background:var(--up-muted);border:1px solid var(--up-border);border-radius:8px;margin-bottom:24px;padding:20px}.users-page .filters-section .filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:20px}.users-page .filters-section .filters-row .filter-group{display:flex;flex-direction:column;gap:8px}.users-page .filters-section .filters-row .filter-group label{align-items:center;color:var(--up-foreground);display:flex;font-size:14px;font-weight:500;gap:6px}.users-page .filters-section .filters-row .filter-group .filter-select{background:var(--up-background);border:1px solid var(--up-border);border-radius:6px;color:var(--up-foreground);font-size:14px;min-width:140px;padding:8px 12px}.users-page .filters-section .filters-row .filter-group .filter-select:focus{border-color:#0000;outline:2px solid var(--up-accent)}.users-page .filters-section .filters-row .filter-group .filter-select option{background:var(--up-background);color:var(--up-foreground)}.users-page .filters-section .filters-row .clear-search{background-color:#0000;border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);cursor:pointer;padding:.5rem 1rem}.users-page .filters-section .filters-row .clear-search:hover{background-color:var(--up-muted)}.users-page .loading{color:var(--up-foreground);padding:2rem;text-align:center}.users-page .users-table-container{border:1px solid var(--up-border);border-radius:.5rem;opacity:1;overflow:hidden;transition:opacity .2s ease-in-out}.users-page .users-table-container.loading{opacity:.7}.users-page .users-table{background-color:var(--up-background);border-collapse:collapse;width:100%}.users-page .users-table td,.users-page .users-table th{color:var(--up-foreground);padding:1rem;text-align:left}.users-page .users-table th{background-color:var(--up-muted);font-size:.9rem;font-weight:600}.users-page .users-table tr{border-bottom:1px solid var(--up-border)}.users-page .users-table tr:last-child{border-bottom:none}.users-page .users-table tr:hover{background-color:#00000005}.users-page .users-table .type-indicator{align-items:center;color:var(--up-foreground);display:flex;font-weight:500;gap:8px}.users-page .users-table .type-indicator svg{flex-shrink:0}.users-page .users-table .message-preview{color:var(--up-foreground);line-height:1.4;margin:0 0 8px}.users-page .users-table .message-meta{color:#0009;display:flex;font-size:12px;gap:16px}.users-page .users-table .message-meta .page-info,.users-page .users-table .message-meta .user-info{align-items:center;display:flex;gap:4px}.users-page .users-table .role-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.users-page .users-table .date-info{align-items:center;color:#0009;display:flex;font-size:13px;gap:6px}.users-page .users-table .date-info svg{flex-shrink:0}.users-page .users-table .actions-cell{text-align:right;width:120px}.users-page .users-table .action-buttons{display:flex;gap:.5rem;justify-content:flex-end}.users-page .users-table .action-buttons button{align-items:center;background:#0000;border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .15s}.users-page .users-table .action-buttons button svg{height:20px;width:20px}.users-page .users-table .action-buttons button:hover{background-color:var(--up-muted)}.users-page .users-table .action-buttons button.edit-button:hover{border-color:var(--up-trainer);color:var(--up-trainer)}.users-page .users-table .action-buttons button.delete-button:hover{border-color:#ef4444;color:#ef4444}.users-page .users-table .empty-state{padding:2rem;text-align:center}.users-page .users-table .empty-state p{color:var(--up-foreground);margin:0 0 1rem}.users-page .users-table .empty-state .clear-search{background-color:#0000;border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);cursor:pointer;padding:.5rem 1rem}.users-page .users-table .empty-state .clear-search:hover{background-color:var(--up-muted)}.users-page .pagination-wrapper{border-top:1px solid var(--up-border);margin-top:auto;padding-top:20px}.users-page .pagination{align-items:center;color:var(--up-foreground);display:flex;justify-content:space-between;margin:1rem;padding:.5rem 0}.users-page .pagination .pagination-info{color:var(--up-foreground);font-size:.875rem}.users-page .pagination .pagination-controls{align-items:center;display:flex;gap:.5rem}.users-page .pagination .pagination-controls .pagination-button{align-items:center;background-color:#0000;border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);cursor:pointer;display:flex;font-size:.75rem;font-weight:500;height:2rem;justify-content:center;min-width:2.5rem;padding:.375rem .75rem;transition:all .15s}.users-page .pagination .pagination-controls .pagination-button:hover:not(:disabled){background-color:var(--up-muted);border-color:var(--up-accent);color:var(--up-accent-dark)}.users-page .pagination .pagination-controls .pagination-button:disabled{cursor:not-allowed;opacity:.5}.users-page .pagination .pagination-controls .pagination-button.active{background-color:var(--up-accent);border-color:var(--up-accent);color:var(--up-foreground)}.users-page .pagination .pagination-controls .pagination-status{color:var(--up-foreground);font-size:.875rem;margin:0 .5rem;min-width:5rem;text-align:center}.users-page .pagination .pagination-controls .pagination-limit{background-color:#0000;border:1px solid var(--up-border);border-radius:.25rem;color:var(--up-foreground);cursor:pointer;font-size:.875rem;margin-left:.5rem;padding:.375rem}.users-page .pagination .pagination-controls .pagination-limit:focus{border-color:var(--up-accent);outline:none}.users-page .pagination .pagination-controls .pagination-limit:hover{border-color:var(--up-accent)}.users-page .modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.users-page .modal-overlay .modal-content{background:var(--up-background);border:1px solid var(--up-border);border-radius:12px;box-shadow:0 25px 50px #00000040;max-height:90vh;overflow-y:auto;padding:0}.users-page .modal-overlay .modal-content.details-modal{max-width:800px;width:90%}.users-page .modal-overlay .modal-content.edit-modal{max-width:500px;width:90%}.users-page .modal-overlay .modal-content .modal-header{align-items:flex-start;background:linear-gradient(135deg,var(--up-muted) 0,#ffffff80 100%);border-bottom:1px solid var(--up-border);display:flex;justify-content:space-between;padding:20px 24px 16px}.users-page .modal-overlay .modal-content .modal-header .modal-title{flex:1 1}.users-page .modal-overlay .modal-content .modal-header .modal-title h2{color:var(--up-foreground);font-size:24px;font-weight:700;line-height:1.2;margin:0 0 8px}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .type-badge{align-items:center;background:#3b82f61a;border:1px solid #3b82f633;border-radius:20px;color:#3b82f6;display:flex;font-size:13px;font-weight:500;gap:6px;padding:4px 10px}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .type-badge svg{flex-shrink:0}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .date-pill,.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .status-pill{align-items:center;border-radius:16px;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .date-pill{background:#6b72801a;border:1px solid #6b728033;color:#6b7280}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .date-pill svg{flex-shrink:0}.users-page .modal-overlay .modal-content .modal-header .close-btn{background:none;border:none;border-radius:6px;color:#00000080;cursor:pointer;line-height:1;padding:8px;transition:all .2s}.users-page .modal-overlay .modal-content .modal-header .close-btn:hover{background:#0000000d;color:var(--up-foreground)}.users-page .modal-overlay .modal-content .modal-body{max-height:calc(90vh - 120px);overflow-y:auto;padding:0}.users-page .modal-overlay .modal-content .modal-body .accordion-section{border-bottom:1px solid var(--up-border)}.users-page .modal-overlay .modal-content .modal-body .accordion-section:last-child{border-bottom:none}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-header{align-items:center;background:none;border:none;color:var(--up-foreground);cursor:pointer;display:flex;justify-content:space-between;padding:16px 24px;transition:all .2s;width:100%}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-header:hover{background:#00000005}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-header .section-title{align-items:center;display:flex;font-size:16px;font-weight:600;gap:12px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-header .section-title svg{color:var(--up-accent-dark);flex-shrink:0}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-header svg:last-child{color:#0006;transition:transform .2s}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content{border-top:1px solid #0000000d;padding:0 24px 20px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .two-column-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .two-column-grid:last-child{margin-bottom:0}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group.full-width{grid-column:1/-1}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-label{color:#00000080;display:block;font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value{color:var(--up-foreground);font-size:14px;font-weight:500;line-height:1.4}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.type-indicator{align-items:center;display:flex;font-weight:600;gap:8px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.type-indicator svg{flex-shrink:0}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.role-pill,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.age-pill,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.duration-pill{align-items:center;background:#10b9811a;border:1px solid #10b98133;border-radius:10px;color:#10b981;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:3px 8px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.age-pill svg,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.duration-pill svg{flex-shrink:0}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .field-value.path-text{background:#0000000d;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;padding:4px 8px;word-break:break-all}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .email-field,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .id-field{align-items:center;background:#00000005;border:1px solid #0000001a;border-radius:8px;display:flex;gap:8px;padding:8px 12px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .email-field svg:first-child,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .id-field svg:first-child{color:#0006;flex-shrink:0}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .email-field .id-text,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .id-field .id-text{color:#000000b3;flex:1 1;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;word-break:break-all}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .email-field .copy-btn,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .id-field .copy-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--up-accent-dark);cursor:pointer;display:flex;padding:4px;transition:all .2s}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .email-field .copy-btn:hover,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .id-field .copy-btn:hover{background:var(--up-accent);color:var(--up-foreground)}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .email-field .copy-btn svg,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .field-group .id-field .copy-btn svg{flex-shrink:0}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .message-section,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .notes-section{margin-top:20px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .message-section .field-label,.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .notes-section .field-label{color:#00000080;display:block;font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content{word-wrap:break-word;background:linear-gradient(135deg,#3b82f608,#93c5fd0f);border:2px solid #3b82f61f;border-radius:12px;box-shadow:0 2px 8px #3b82f614;color:var(--up-foreground);font-size:15px;font-weight:400;line-height:1.7;max-height:200px;overflow-y:auto;padding:20px 24px;position:relative;white-space:pre-wrap}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content:before{background:linear-gradient(180deg,#3b82f6,#60a5fa);border-radius:0 0 0 10px;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content.notes{background:linear-gradient(135deg,#3b82f60d,#93c5fd0d);border-color:#3b82f61a;font-style:italic}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content.scenario{background:linear-gradient(135deg,#10b9810d,#a7f3d00d);border-color:#10b9811a}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content.technical{background:linear-gradient(135deg,#6b72800d,#9ca3af0d);border-color:#6b72801a;color:#000000b3;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content::-webkit-scrollbar{width:6px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.users-page .modal-overlay .modal-content .modal-body .accordion-section .section-content .scrollable-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.users-page .modal-overlay .modal-content .modal-body .form-group{margin-bottom:20px}.users-page .modal-overlay .modal-content .modal-body .form-group label{color:var(--up-foreground);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.users-page .modal-overlay .modal-content .modal-body .form-group select,.users-page .modal-overlay .modal-content .modal-body .form-group textarea{background:var(--up-background);border:1px solid var(--up-border);border-radius:6px;color:var(--up-foreground);font-family:inherit;font-size:14px;padding:10px 12px;width:100%}.users-page .modal-overlay .modal-content .modal-body .form-group select:focus,.users-page .modal-overlay .modal-content .modal-body .form-group textarea:focus{border-color:#0000;outline:2px solid var(--up-accent)}.users-page .modal-overlay .modal-content .modal-body .form-group select option{background:var(--up-background);color:var(--up-foreground)}.users-page .modal-overlay .modal-content .modal-body .form-group textarea{min-height:80px;resize:vertical}.users-page .modal-overlay .modal-content .modal-footer{border-top:1px solid var(--up-border);display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.users-page .modal-overlay .modal-content .modal-footer .cancel-btn,.users-page .modal-overlay .modal-content .modal-footer .save-btn{border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.users-page .modal-overlay .modal-content .modal-footer .cancel-btn{background:#0000;border:1px solid var(--up-border);color:var(--up-foreground)}.users-page .modal-overlay .modal-content .modal-footer .cancel-btn:hover{background-color:var(--up-muted)}.users-page .modal-overlay .modal-content .modal-footer .save-btn{background:var(--up-accent);border:1px solid var(--up-accent);color:var(--up-foreground)}.users-page .modal-overlay .modal-content .modal-footer .save-btn:hover{background:var(--up-accent-dark)}.users-page .toast-container{display:flex;flex-direction:column;gap:8px;position:fixed;right:20px;top:20px;z-index:1100}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.users-page .skeleton-row td{height:72px;padding:1rem;vertical-align:middle}.users-page .skeleton-row .skeleton-text{border-radius:4px;height:20px;width:80%}.users-page .skeleton-row .skeleton-text,.users-page .skeleton-row .skeleton-text-small{animation:skeleton-loading 2s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}.users-page .skeleton-row .skeleton-text-small{border-radius:3px;height:14px;margin-bottom:6px;width:60%}.users-page .skeleton-row .skeleton-badge{border-radius:12px;height:24px;width:100px}.users-page .skeleton-row .skeleton-badge,.users-page .skeleton-row .skeleton-icon{animation:skeleton-loading 2s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}.users-page .skeleton-row .skeleton-icon{border-radius:3px;height:16px;width:16px}.users-page .skeleton-row .skeleton-icon-small{animation:skeleton-loading 2s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;border-radius:2px;height:12px;width:12px}.users-page .skeleton-row .skeleton-type{align-items:center;display:flex;gap:8px}.users-page .skeleton-row .skeleton-message .skeleton-meta{display:flex;gap:16px;margin-top:8px}.users-page .skeleton-row .skeleton-date{align-items:center;display:flex;gap:6px}.users-page .skeleton-row .skeleton-actions{display:flex;gap:8px;justify-content:flex-end}.users-page .skeleton-row .skeleton-actions .skeleton-button{animation:skeleton-loading 2s linear infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;border-radius:4px;height:32px;width:32px}@media(max-width:1024px){.users-page .users-table-container .users-table td,.users-page .users-table-container .users-table th{padding:12px 16px}.users-page .header{align-items:flex-start;flex-direction:column;gap:16px}}@media(max-width:768px){.users-page{padding:16px}.users-page .users-table-container .users-table thead{display:none}.users-page .users-table-container .users-table tbody tr{border:1px solid var(--up-border);border-radius:8px;display:flex;flex-direction:column;gap:12px;margin-bottom:12px;padding:16px}.users-page .users-table-container .users-table tbody tr td{padding:0}.users-page .users-table-container .users-table tbody tr td.actions-cell{display:flex;justify-content:flex-end}.users-page .filters-section .filters-row{align-items:stretch;flex-direction:column}.users-page .filters-section .filters-row .filter-group,.users-page .filters-section .filters-row .filter-group .filter-select{width:100%}.users-page .modal-overlay .modal-content.details-modal,.users-page .modal-overlay .modal-content.edit-modal{margin:20px;width:95%}.users-page .modal-overlay .modal-content .modal-header{padding:16px 20px}.users-page .modal-overlay .modal-content .modal-header .modal-title h2{font-size:20px}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle{gap:8px;margin-top:6px}.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .date-pill,.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .status-pill,.users-page .modal-overlay .modal-content .modal-header .modal-title .modal-subtitle .type-badge{font-size:11px;padding:3px 8px}.users-page .modal-overlay .modal-content .accordion-section .section-header{padding:16px 20px}.users-page .modal-overlay .modal-content .accordion-section .section-header .section-title{font-size:14px;gap:8px}.users-page .modal-overlay .modal-content .accordion-section .section-content{padding:0 20px 16px}.users-page .modal-overlay .modal-content .accordion-section .section-content .two-column-grid{gap:16px;grid-template-columns:1fr}.users-page .modal-overlay .modal-content .accordion-section .section-content .field-group .field-label{font-size:10px}.users-page .modal-overlay .modal-content .accordion-section .section-content .field-group .field-value{font-size:13px}.users-page .modal-overlay .modal-content .accordion-section .section-content .field-group .email-field,.users-page .modal-overlay .modal-content .accordion-section .section-content .field-group .id-field{padding:6px 10px}.users-page .modal-overlay .modal-content .accordion-section .section-content .field-group .email-field .id-text,.users-page .modal-overlay .modal-content .accordion-section .section-content .field-group .id-field .id-text{font-size:10px}.users-page .modal-overlay .modal-content .accordion-section .section-content .scrollable-content{font-size:13px;max-height:150px;padding:12px 16px}}.st{bottom:0;display:flex;font-family:Space Mono,monospace;font-family:var(--font-family,"Space Mono",monospace);pointer-events:auto;position:fixed;right:0;top:60px;z-index:90}.st--collapsed{width:48px}.st--open{width:344px}.st__content{background:#161718;background:var(--header-bg,#161718);border-left:1px solid #2a2f31;border-left:1px solid var(--header-border,#2a2f31);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.st__content-header{align-items:center;border-bottom:1px solid #2a2f31;border-bottom:1px solid var(--header-border,#2a2f31);cursor:grab;display:flex;flex-shrink:0;gap:6px;padding:12px 14px 10px}.st__content-header:active{cursor:grabbing}.st__drag-icon{color:#95a1b3;color:var(--muted-foreground,#95a1b3);flex-shrink:0;opacity:.5}.st__content-title{color:#f7f9fb;color:var(--foreground,#f7f9fb);flex:1 1;font-size:13px;font-weight:600;letter-spacing:.3px}.st__reset-btn{align-items:center;background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:4px;color:#95a1b3;color:var(--muted-foreground,#95a1b3);cursor:pointer;display:flex;flex-shrink:0;height:22px;justify-content:center;padding:0;transition:all .15s ease;width:22px}.st__reset-btn:hover{border-color:#95a1b3;border-color:var(--muted-foreground,#95a1b3);color:#f7f9fb;color:var(--foreground,#f7f9fb)}.st__content-body{flex:1 1;overflow-x:hidden;overflow-y:auto}.st__content-body::-webkit-scrollbar{width:4px}.st__content-body::-webkit-scrollbar-track{background:#0000}.st__content-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:2px}.st__tabs{align-items:center;background:#161718;background:var(--header-bg,#161718);border-left:1px solid #2a2f31;border-left:1px solid var(--header-border,#2a2f31);cursor:grab;display:flex;flex-direction:column;flex-shrink:0;gap:2px;padding-top:8px;width:48px}.st__tabs:active{cursor:grabbing}.st__tab{align-items:center;background:none;border:none;border-radius:6px;color:#95a1b3;color:var(--muted-foreground,#95a1b3);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:4px;height:50px;justify-content:center;transition:all .15s ease;width:42px}.st__tab:hover{background:#1e2530;background:var(--accent,#1e2530);color:#f7f9fb;color:var(--foreground,#f7f9fb)}.st__tab--active{background:#60a5fa26;color:#60a5fa}.st__tab--active:hover{background:#60a5fa33;color:#93bbfd}.st__tab-label{font-size:8px;font-weight:600;letter-spacing:.3px;line-height:1;text-transform:uppercase}.st-section{border-bottom:1px solid #2a2f31;border-bottom:1px solid var(--header-border,#2a2f31);color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);font-size:12px;padding:10px 14px}.st-section--last{border-bottom:none}.st-section-head{align-items:baseline;display:flex;gap:8px;margin-bottom:8px}.st-section-head>span:first-child{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.st-section-hint{color:#60a5fa;font-size:10px;font-weight:400}.at__seats{grid-gap:5px;display:grid;gap:5px;grid-template-columns:repeat(4,1fr)}.at__seat{align-items:center;background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:6px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:7px 3px;transition:all .15s ease}.at__seat:hover{border-color:#95a1b3;border-color:var(--muted-foreground,#95a1b3)}.at__seat--active{background:#60a5fa26;border-color:#60a5fa}.at__seat-label{font-size:10px;font-weight:600;white-space:nowrap}.at__seat-anim{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:8px;max-width:60px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.at__anim-group{margin-bottom:8px}.at__anim-group:last-of-type{margin-bottom:10px}.at__anim-cat{display:block;font-size:10px;font-weight:600;letter-spacing:.6px;margin-bottom:5px;opacity:.8;text-transform:uppercase}.at__anim-list{display:flex;flex-wrap:wrap;gap:4px}.at__anim{background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:5px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);cursor:pointer;font-size:10px;font-weight:500;padding:4px 8px;position:relative;transition:all .15s ease;white-space:nowrap}.at__anim:hover{border-color:#95a1b3;border-color:var(--cat-color,var(--muted-foreground,#95a1b3))}.at__anim--playing,.at__anim:hover{color:#f7f9fb;color:var(--foreground,#f7f9fb)}.at__anim--playing{background:#60a5fa26;border-color:#60a5fa}.at__anim--playing:before{animation:st-pulse 1.5s ease-in-out infinite;background:#60a5fa;border-radius:50%;content:"";display:inline-block;height:5px;margin-right:4px;width:5px}.at__anim-once{background:#ffffff0f;border-radius:3px;color:#95a1b3;color:var(--muted-foreground,#95a1b3);display:inline-block;font-size:8px;margin-left:3px;padding:1px 3px;vertical-align:1px}.at__stop{background:#ef44441a;border:1px solid #ef444440;border-radius:6px;color:#f87171;cursor:pointer;display:block;font-size:10px;font-weight:600;padding:6px;transition:all .15s ease;width:100%}.at__stop:hover{background:#ef444433;border-color:#ef444466}.at__upload{background:#10b9811a;border:1px solid #10b98140;border-radius:6px;color:#34d399;cursor:pointer;display:block;font-family:inherit;font-size:10px;font-weight:600;margin-top:6px;padding:6px;transition:all .15s ease;width:100%}.at__upload:hover{background:#10b98133;border-color:#10b98166}.at__section-toggle{align-items:center;background:none;border:none;color:#95a1b3;color:var(--muted-foreground,#95a1b3);cursor:pointer;display:flex;font-family:inherit;font-size:11px;font-weight:600;justify-content:space-between;letter-spacing:.8px;padding:0;text-transform:uppercase;width:100%}.at__section-toggle:hover{color:#f7f9fb;color:var(--foreground,#f7f9fb)}.at__chevron{transition:transform .2s ease}.at__chevron--open{transform:rotate(180deg)}.at__viseme-hint{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:9px;font-style:italic;margin:0 0 6px}.at__viseme-grid{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(4,1fr)}.at__viseme{background:#a855f70f;border:1px solid #a855f733;border-radius:5px;color:#a855f7cc;cursor:pointer;font-family:inherit;font-size:9px;font-weight:600;padding:5px 3px;text-align:center;transition:all .1s ease;-webkit-user-select:none;user-select:none}.at__viseme:hover{background:#a855f726;border-color:#a855f759;color:#c084fc}.at__viseme:active{background:#a855f74d;border-color:#a855f780;color:#fff;transform:scale(.95)}.ct__row{display:flex;font-size:11px;justify-content:space-between;padding:3px 0}.ct__label{color:#95a1b3;color:var(--muted-foreground,#95a1b3)}.ct__value{color:#60a5fa}.ct__copy-btn,.ct__value{font-size:11px;font-weight:600}.ct__copy-btn{background:#10b9811a;border:1px solid #10b98140;border-radius:6px;color:#34d399;cursor:pointer;font-family:inherit;margin-top:8px;padding:6px;transition:all .15s ease;width:100%}.ct__copy-btn:hover{background:#10b98133;border-color:#10b98166}.ct__pre{background:#1e2530;background:var(--accent,#1e2530);border-radius:4px;color:#60a5fa;font-size:10px;line-height:1.5;margin-top:0;overflow:auto;padding:8px;white-space:pre}.ast__seat-card{margin-bottom:4px}.ast__seat-label{color:#f7f9fb;color:var(--foreground,#f7f9fb);font-size:11px;font-weight:600;margin-bottom:6px}.ast__upload-row{align-items:center;display:flex;gap:6px;margin-bottom:4px}.ast__upload-type{color:#95a1b3;color:var(--muted-foreground,#95a1b3);flex-shrink:0;font-size:10px;font-weight:600;text-transform:capitalize;width:44px}.ast__upload-btn{background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:5px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);cursor:pointer;flex:1 1;font-family:inherit;font-size:10px;font-weight:500;overflow:hidden;padding:5px 8px;text-align:left;text-overflow:ellipsis;transition:all .15s ease;white-space:nowrap}.ast__upload-btn:hover{border-color:#95a1b3;border-color:var(--muted-foreground,#95a1b3);color:#f7f9fb;color:var(--foreground,#f7f9fb)}.ast__upload-btn--loaded{background:#10b9811a;border-color:#10b9814d;color:#34d399}.ast__upload-btn--loaded:hover{background:#10b98126}.lt__edit-toggle{align-items:center;background:#f4ac0414;border:1px solid #f4ac0433;border-radius:6px;color:#f4ac04;color:var(--secondary,#f4ac04);cursor:pointer;display:flex;font-family:inherit;font-size:11px;font-weight:600;gap:8px;justify-content:center;padding:8px;transition:all .15s ease;width:100%}.lt__edit-toggle:hover{background:#f4ac0426;border-color:#f4ac0459}.lt__edit-toggle--active{background:#f4ac0426;border-color:#f4ac0466}.lt__edit-toggle--active:hover{background:#f4ac0433}.lt__disabled-hint{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:10px;font-style:italic;padding:16px 8px;text-align:center}.lt__copy-status{animation:st-fade-in .2s ease;color:#34d399;font-size:10px;font-weight:500}.lt__breadcrumb{color:#f4ac04;color:var(--secondary,#f4ac04);font-size:12px;font-weight:600;margin-bottom:5px}.lt__select{background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:6px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);cursor:pointer;font-family:inherit;font-size:11px;outline:none;padding:5px 8px;width:100%}.lt__select:focus{border-color:#f4ac04;border-color:var(--secondary,#f4ac04)}.lt__select optgroup{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-weight:600}.lt__select option{background:#161718;background:var(--header-bg,#161718);color:#e1e2e3;color:var(--sidebar-text,#e1e2e3)}.lt__mode-toggle{display:flex;gap:3px;margin-bottom:8px}.lt__mode-btn{align-items:center;background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:6px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:10px;font-weight:600;gap:3px;justify-content:center;padding:5px 0;text-align:center;transition:all .15s ease}.lt__mode-btn:hover{border-color:#95a1b3;border-color:var(--muted-foreground,#95a1b3);color:#f7f9fb;color:var(--foreground,#f7f9fb)}.lt__mode-btn--active{background:#f4ac0426;border-color:#f4ac04;border-color:var(--secondary,#f4ac04);color:#f4ac04;color:var(--secondary,#f4ac04)}.lt__mode-btn--active:hover{background:#f4ac0433}.lt__kbd{background:#ffffff0f;border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:2px;color:#95a1b3;color:var(--muted-foreground,#95a1b3);display:inline-block;font-size:8px;line-height:1.3;padding:0 3px}.lt__values{display:flex;flex-direction:column;gap:2px}.lt__value-row{align-items:center;display:flex;gap:6px}.lt__value-key{color:#95a1b3;color:var(--muted-foreground,#95a1b3);flex-shrink:0;font-size:9px;font-weight:700;text-transform:uppercase;width:24px}.lt__value-val{color:#60a5fa;font-size:10px}.lt__copy-row{display:flex;gap:4px}.lt__copy-btn{background:#f4ac0414;border:1px solid #f4ac0433;border-radius:6px;color:#f4ac04;color:var(--secondary,#f4ac04);cursor:pointer;flex:1 1;font-family:inherit;font-size:10px;font-weight:600;padding:5px;text-align:center;transition:all .15s ease}.lt__copy-btn:hover{background:#f4ac0426;border-color:#f4ac0459}.lt__copy-btn--all{background:#60a5fa14;border-color:#60a5fa33;color:#60a5fa}.lt__copy-btn--all:hover{background:#60a5fa26;border-color:#60a5fa59}.lt__save-btn{background:#10b98114;border:1px solid #10b98133;border-radius:6px;color:#34d399;cursor:pointer;display:block;font-family:inherit;font-size:10px;font-weight:600;margin-top:4px;padding:5px;text-align:center;transition:all .15s ease;width:100%}.lt__save-btn:hover{background:#10b98126;border-color:#10b98159}.lt__presets{display:flex;flex-direction:column;gap:2px;margin-top:4px}.lt__preset-row{align-items:center;display:flex;gap:4px;padding:2px 0}.lt__preset-name{background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:4px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);cursor:pointer;flex:1 1;font-family:inherit;font-size:10px;font-weight:500;overflow:hidden;padding:3px 6px;text-align:left;text-overflow:ellipsis;transition:all .15s ease;white-space:nowrap}.lt__preset-name:hover{border-color:#f4ac04;border-color:var(--secondary,#f4ac04);color:#f4ac04;color:var(--secondary,#f4ac04)}.lt__preset-time{font-size:9px;white-space:nowrap}.lt__preset-delete,.lt__preset-time{color:#95a1b3;color:var(--muted-foreground,#95a1b3)}.lt__preset-delete{background:none;border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:3px;cursor:pointer;font-size:12px;line-height:1;padding:2px 5px;transition:all .15s ease}.lt__preset-delete:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.lt__shortcuts-toggle{background:none;border:none;color:#95a1b3;color:var(--muted-foreground,#95a1b3);cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.5px;padding:4px 0;text-align:left;text-transform:uppercase;transition:color .15s ease;width:100%}.lt__shortcuts-toggle:hover{color:#f7f9fb;color:var(--foreground,#f7f9fb)}.lt__shortcuts{grid-gap:2px 8px;display:grid;gap:2px 8px;grid-template-columns:auto 1fr;margin-top:4px}.lt__shortcut-row{display:contents}.lt__shortcut-key{background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:2px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);font-size:9px;padding:1px 4px;text-align:center;white-space:nowrap}.lt__shortcut-action{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:10px;line-height:1.8}.sq__play-bar{display:flex;gap:4px}.sq__play-btn,.sq__save-btn,.sq__stop-btn{align-items:center;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:10px;font-weight:600;gap:4px;justify-content:center;padding:6px 4px;transition:all .15s ease}.sq__play-btn:disabled,.sq__save-btn:disabled,.sq__stop-btn:disabled{cursor:not-allowed;opacity:.4}.sq__play-btn{background:#10b9811a;border:1px solid #10b98140;color:#34d399}.sq__play-btn:hover:not(:disabled){background:#10b98133;border-color:#10b98166}.sq__stop-btn{background:#ef44441a;border:1px solid #ef444440;color:#f87171}.sq__stop-btn:hover:not(:disabled){background:#ef444433;border-color:#ef444466}.sq__save-btn{background:#60a5fa1a;border:1px solid #60a5fa40;color:#60a5fa}.sq__save-btn:hover:not(:disabled){background:#60a5fa33;border-color:#60a5fa66}.sq__save-row{display:flex;gap:4px;margin-top:6px}.sq__save-input{background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:6px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);flex:1 1;font-family:inherit;font-size:11px;outline:none;padding:5px 8px}.sq__save-input:focus{border-color:#60a5fa}.sq__save-confirm{background:#60a5fa26;border:1px solid #60a5fa4d;border-radius:6px;color:#60a5fa;cursor:pointer;font-family:inherit;font-size:10px;font-weight:600;padding:5px 10px}.sq__save-confirm:hover{background:#60a5fa40}.sq__steps{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.sq__step{background:#1e2530;background:var(--accent,#1e2530);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:6px;padding:8px}.sq__step-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.sq__step-num{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.sq__step-actions{display:flex;gap:2px}.sq__delete-btn,.sq__move-btn{background:none;border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:3px;color:#95a1b3;color:var(--muted-foreground,#95a1b3);cursor:pointer;font-size:11px;line-height:1;padding:2px 5px;transition:all .15s ease}.sq__delete-btn:hover:not(:disabled),.sq__move-btn:hover:not(:disabled){border-color:#95a1b3;border-color:var(--muted-foreground,#95a1b3);color:#f7f9fb;color:var(--foreground,#f7f9fb)}.sq__delete-btn:disabled,.sq__move-btn:disabled{cursor:not-allowed;opacity:.3}.sq__delete-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}.sq__step-body{display:flex;flex-direction:column;gap:4px}.sq__field-row{align-items:center;display:flex;gap:4px}.sq__select{background:#161718;background:var(--header-bg,#161718);border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:4px;color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);cursor:pointer;flex:1 1;font-family:inherit;font-size:10px;outline:none;padding:4px 6px}.sq__select:focus{border-color:#60a5fa}.sq__select--value{flex:2 1}.sq__duration,.sq__select option{background:#161718;background:var(--header-bg,#161718);color:#e1e2e3;color:var(--sidebar-text,#e1e2e3)}.sq__duration{border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:4px;font-family:inherit;font-size:10px;outline:none;padding:4px 6px;text-align:right;width:60px}.sq__duration:focus{border-color:#60a5fa}.sq__duration-unit{color:#95a1b3;color:var(--muted-foreground,#95a1b3);flex-shrink:0;font-size:9px}.sq__weight{-webkit-appearance:none;appearance:none;background:#1e2530;background:var(--border,#1e2530);border-radius:2px;cursor:pointer;height:4px;width:50px}.sq__weight::-webkit-slider-thumb{-webkit-appearance:none;background:#a855f7;border-radius:50%;cursor:pointer;height:12px;width:12px}.sq__weight::-moz-range-thumb{background:#a855f7;border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.sq__add-btn{background:none;border:1px dashed #1e2530;border:1px dashed var(--border,#1e2530);border-radius:6px;color:#95a1b3;color:var(--muted-foreground,#95a1b3);cursor:pointer;display:block;font-family:inherit;font-size:11px;font-weight:600;padding:8px;text-align:center;transition:all .15s ease;width:100%}.sq__add-btn:hover{background:#ffffff05;border-color:#95a1b3;border-color:var(--muted-foreground,#95a1b3);color:#f7f9fb;color:var(--foreground,#f7f9fb)}.sq__saved{display:flex;flex-direction:column;gap:4px;margin-top:8px}.sq__empty-hint{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:10px;font-style:italic;margin:0}.sq__saved-row{align-items:center;display:flex;gap:4px;padding:2px 0}.sq__saved-name{color:#e1e2e3;color:var(--sidebar-text,#e1e2e3);flex:1 1;font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sq__saved-steps{color:#95a1b3;color:var(--muted-foreground,#95a1b3);font-size:9px;white-space:nowrap}.sq__saved-load{background:#60a5fa14;border:1px solid #60a5fa33;border-radius:4px;color:#60a5fa;cursor:pointer;font-family:inherit;font-size:9px;font-weight:600;padding:2px 8px;transition:all .15s ease}.sq__saved-load:hover{background:#60a5fa26;border-color:#60a5fa59}.sq__saved-delete{background:none;border:1px solid #1e2530;border:1px solid var(--border,#1e2530);border-radius:3px;color:#95a1b3;color:var(--muted-foreground,#95a1b3);cursor:pointer;font-size:12px;line-height:1;padding:2px 5px;transition:all .15s ease}.sq__saved-delete:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444}@keyframes st-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes st-fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.classroom-scene-page{height:100vh;overflow:hidden;position:relative;width:100%}.classroom-scene-page__background{background-position:50%;background-repeat:no-repeat;background-size:cover;inset:0;position:absolute;z-index:0}.classroom-scene-page__canvas{inset:0;position:absolute;z-index:1}.classroom-scene-page__loading{color:#ffffffb3;font-size:14px;inset:0;pointer-events:none;position:absolute;z-index:2}.classroom-scene-page__loading,.minimal-loading{align-items:center;display:flex;justify-content:center}.minimal-loading{animation:fadeIn .2s ease-in-out forwards;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#fffc;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;z-index:1000}.minimal-loading .loading-indicator{background-color:#ffffffe6;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1rem 2rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
/*# sourceMappingURL=main.61c1ad00.css.map*/