*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background-color:#f9fafb;width:100%;height:100%;font-family:Montserrat,sans-serif}.logo-wrapper{justify-content:center;align-items:center;height:100%;display:flex}.container{flex-direction:row;width:100vw;max-width:100vw;min-height:100vh;display:flex;overflow:hidden auto}.right-panel{background-color:#f9fafb;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;overflow-y:auto}.left-panel{background-color:#6686cc;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;overflow-y:auto}.container.reverse .left-panel{color:#000;background-color:#f9fafb;align-items:center}.container.reverse .right-panel{color:#f1f8ff;background-color:#6686cc;justify-content:center;overflow:hidden}@media (width>=769px){.container.reverse .right-panel{justify-content:flex-start;padding:0}.container.reverse .right-panel .logo-wrapper{flex-grow:0;height:100vh}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@font-face{font-family:Nico Moji;src:url(/fonts/NicoMoji-Regular.ttf)format("truetype");font-weight:400;font-style:normal}.aim-high{color:#f1f8ff;text-align:center;width:100%;font-family:Nico Moji,sans-serif;font-size:clamp(2rem,4vw,3rem)}.logo-wrapper{flex-grow:1;justify-content:center;align-items:center;width:100%;display:flex}@media (width<=768px){.container{flex-direction:column}.left-panel,.right-panel{flex:unset;width:100%;height:50%}.right-panel{padding:1.5rem}}@media (width>=1441px){.right-panel,.left-panel{max-width:50vw;padding:3rem}}@media (width>=1921px){.container{max-width:100vw;margin:0 auto}.right-panel,.left-panel{max-width:50vw;padding:4rem}.aim-high{font-size:clamp(3rem,5vw,4rem)}}.login-wrapper{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;font-family:Montserrat,sans-serif;display:flex}.login-box{text-align:center;width:100%;max-width:min(500px,90vw);padding:2rem}@media (width<=640px){.login-box{max-width:95vw;padding:1.5rem}}@media (width>=1441px){.login-box{max-width:600px;padding:2.5rem}}@media (width>=1921px){.login-box{max-width:700px;padding:3rem}}.login-box h1{margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.tagline{color:#6b7280;white-space:normal;text-align:center;margin-bottom:2rem;font-size:1rem;overflow:visible}.login-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.login-form input,.login-form select{box-sizing:border-box;border:1px solid #ccc;border-radius:6px;width:100%;min-width:0;padding:.875rem;font-size:1rem}.login-form .standard-dropdown{width:100%}.login-form .standard-dropdown .react-select__control{height:32px!important;min-height:32px!important;box-shadow:none!important;border:1px solid #ccc!important;border-radius:6px!important;font-size:1rem!important}.login-form .standard-dropdown .react-select__value-container{padding:2px 8px!important}.login-form .standard-dropdown .react-select__indicators{height:32px!important}.login-form .standard-dropdown .react-select__dropdown-indicator{padding:8px!important}@media (width<=640px){.login-form input,.login-form select{padding:.75rem;font-size:16px}}@media (width>=1921px){.login-form input,.login-form select{padding:1rem;font-size:1.1rem}}.login-form button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;width:100%;padding:.875rem;font-size:1rem;font-weight:600;transition:background-color .2s}.login-form button:hover{background-color:#7f8fb2}.form-links{text-align:center;margin-top:1.5rem;font-size:.95rem}.form-links a{font-weight:500;text-decoration:none;color:#6686cc!important}.success-message{color:#1a7f3c;text-align:center;background-color:#e6ffed;border-radius:8px;margin-bottom:1rem;padding:12px 20px;font-weight:500}.success-toast{color:#fff;text-align:center;background-color:#57c189;border-radius:6px;margin:1rem 0 1.5rem;padding:.5rem 1.25rem;font-size:.95rem;font-weight:500;animation:.3s ease-in-out fadeInSlide;box-shadow:0 2px 6px #00000014}.error-box{color:#b00020;background-color:#fdecea;border:1px solid #f5c6cb;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:.75rem 1rem;font-size:.95rem;display:flex;box-shadow:0 1px 3px #00000014}.error-box:before{font-size:1.2rem}.toast{z-index:10000;border-radius:8px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;animation:.3s ease-out slideIn;position:fixed;box-shadow:0 4px 12px #0000001a}.success-toast{color:#fff;background-color:#57c189}.error-toast{color:#fff;background-color:#f28b82}.warning-toast{color:#fff;background-color:#f59e0b}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.toast.toast-center{padding:.85rem 1.5rem;font-size:1rem;animation:.25s ease-out fadeInCenter}@keyframes fadeInCenter{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.forgot-container{text-align:center;background:#f9fafb;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:2rem;font-family:Montserrat,sans-serif;display:flex}.forgot-container h1{margin-bottom:1rem;font-size:1.75rem;font-weight:700}.forgot-container p{color:#6b7280;margin-bottom:.5rem;font-size:.95rem}.forgot-form{flex-direction:column;gap:1rem;width:100%;max-width:400px;display:flex}.forgot-form label{text-align:left;font-size:.95rem;font-weight:500}.forgot-form input{border:1px solid #ccc;border-radius:6px;padding:.75rem;font-size:1rem}.forgot-form button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.75rem;font-size:1rem;font-weight:700;transition:background-color .2s ease-in-out}.forgot-form button:hover{background-color:#7f8fb2}.footer-link{color:#6b7280;margin-top:1rem;font-size:.9rem}.footer-link a{color:#7f8fb2;text-decoration:none}.footer-link a:hover{text-decoration:underline}.otp-instruction{color:#374151;margin-top:-.5rem;font-size:.95rem}.error-text{color:#d9534f;margin:-.2rem 0;font-size:.85rem}.warning-note{color:#92600a;text-align:left;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;padding:.6rem .9rem;font-size:.82rem;line-height:1.5}.password-input-wrapper input{box-sizing:border-box;width:100%;padding-right:2.25rem}.back-bottom-wrapper{justify-content:center;margin-top:1.25rem;display:flex}.back-bottom{color:#7f8fb2;cursor:pointer;background:0 0;border:none;padding:0;font-family:Montserrat,sans-serif;font-size:.9rem;text-decoration:underline}.back-bottom:hover{color:#6686cc}.signup-option-wrapper{box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;font-family:Montserrat,sans-serif;display:flex}.signup-box{text-align:center;width:100%;max-width:500px;padding:2rem}.signup-box h2{margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.signup-buttons{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.signup-buttons button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.875rem;font-size:1rem;font-weight:600;transition:background-color .2s}.signup-buttons button:hover{background-color:#7f8fb2}.form-links{font-size:.95rem}.form-links a{color:#6686cc;font-weight:500;text-decoration:none}.form-links a:hover{text-decoration:underline}.login-link{color:#000;margin-top:1rem;font-size:.9rem}.standard-dropdown{width:100%;position:relative}.standard-dropdown.has-error .dropdown-error-message{display:block}.dropdown-error-message{color:#f28b82;margin-top:.25rem;font-size:.875rem;font-weight:500;display:none}.standard-dropdown .react-select__loading-indicator{color:#6686cc}.standard-dropdown .react-select__control:focus-within{outline-offset:2px;outline:2px solid #0000}.standard-dropdown .react-select__control--is-disabled{opacity:.6;cursor:not-allowed}.standard-dropdown .react-select__control--is-disabled .react-select__placeholder,.standard-dropdown .react-select__control--is-disabled .react-select__single-value{color:#9ca3af}@media (prefers-contrast:high){.standard-dropdown .react-select__control{border-width:2px}.standard-dropdown .react-select__option--is-focused{outline-offset:-2px;outline:2px solid}}@media (prefers-reduced-motion:reduce){.standard-dropdown .react-select__control,.standard-dropdown .react-select__dropdown-indicator{transition:none}}.multi-select-dropdown .selection-count{text-align:right;margin-top:.25rem;font-size:.75rem}.multi-select-dropdown .count-normal{color:#6b7280}.multi-select-dropdown .count-max{color:#f59e0b;font-weight:600}@media (width<=640px){.standard-dropdown .react-select__menu{font-size:16px}.standard-dropdown .react-select__option{min-height:44px;padding:12px}}.signup-wrapper{flex-direction:column;width:100%;max-width:min(500px,90vw);margin:auto;padding:2rem 1rem;display:flex}@media (width<=640px){.signup-wrapper{max-width:95vw;padding:1.5rem .75rem}}@media (width>=1441px){.signup-wrapper{max-width:600px;padding:2.5rem 1.5rem}}@media (width>=1921px){.signup-wrapper{max-width:700px;padding:3rem 2rem}}@media (height<=700px){.left-panel{align-items:flex-start}}.signup-box{width:100%;max-width:min(500px,90vw)}@media (width<=640px){.signup-box{max-width:95vw}}@media (width>=1441px){.signup-box{max-width:600px}}@media (width>=1921px){.signup-box{max-width:700px}}.signup-box h1{margin-bottom:.75rem;font-size:1.75rem;font-weight:550;color:#000!important}.signup-box .tagline{color:#6b7280;margin-bottom:2rem;font-size:1rem}.signup-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.form-group{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.form-group label{color:#000;font-size:1rem;font-weight:500}.signup-form input{box-sizing:border-box;border:1px solid #ccc;border-radius:6px;width:100%;padding:.875rem;font-size:1rem}.signup-form button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;width:100%;padding:.875rem;font-size:1rem;font-weight:600;transition:background-color .2s}.signup-form select{appearance:none;cursor:pointer;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg fill=\"gray\" height=\"20\" viewBox=\"0 0 24 24\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.1em;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.625rem;font-size:1rem;transition:border-color .2s}.signup-form select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f64d}.signup-form button:hover{background-color:#7f8fb2}.login-link{text-align:center;color:#111827;margin-top:1rem;font-size:.95rem;font-weight:400}.login-link a{color:#6686cc;text-decoration:none}.login-link a:hover{text-decoration:underline}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:999;background-color:#0000004d;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s ease-in-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{text-align:center;background-color:#fff;border-radius:12px;padding:2rem 3rem;animation:.4s ease-out slideUp;box-shadow:0 10px 30px #0003}.modal-title{color:#3b3f8c;font-size:1.5rem;font-weight:700}.modal-message{color:#5a6274;margin-top:.5rem;font-size:1rem}.modal-button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:8px;margin-top:1.5rem;padding:.75rem 1.5rem;font-size:1rem;transition:background-color .3s}.modal-button:hover{background-color:#7f8fb2}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-error{color:#b00020;background-color:#fdecea;border:1px solid #f5c6cb;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.95rem;display:flex;box-shadow:0 1px 3px #00000014}.password-group{position:relative}.password-tooltip{color:#111827;z-index:10;text-align:left;background-color:#fff;border:1px solid #d1d5db;border-radius:.5rem;width:270px;margin-top:.25rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.4;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000014}.tooltip-title{color:#111827;margin-bottom:.4rem;font-size:.9rem;font-weight:600}.tooltip-list{margin:0;padding-left:1.1rem;list-style:outside}.tooltip-list li{margin-bottom:.3rem}.password-input-wrapper input{width:100%;padding-right:2.25rem}.tooltip-text{visibility:hidden;color:#fff;text-align:center;z-index:20;white-space:nowrap;opacity:0;background-color:#111827;border-radius:6px;width:max-content;padding:.4rem .7rem;font-size:.75rem;transition:opacity .2s ease-in-out;position:absolute;bottom:125%;left:50%;transform:translate(-50%)}.password-input-wrapper{width:100%;position:relative}.toggle-password{cursor:pointer;color:#6b7280;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.tooltip-container{display:inline-block;position:relative}.tooltip-text{visibility:hidden;color:#fff;text-align:center;z-index:1;opacity:0;background-color:#333;border-radius:6px;width:110px;padding:4px 8px;font-size:.75rem;transition:opacity .3s;position:absolute;bottom:125%;left:50%;transform:translate(-50%)}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.instructor-home{color:#1f2937;padding:2rem;font-family:Montserrat,sans-serif}.instructor-home h2{margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.instructor-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.instructor-card{background-color:#fff;border-radius:8px;padding:1.25rem;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 6px #0000000d}.instructor-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.instructor-card h4{margin-bottom:.5rem;font-size:1.1rem}.instructor-card p{color:#666;margin-bottom:1rem;font-size:.95rem}.category-modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.category-modal{background:#fff;border-radius:12px;width:100%;max-width:580px;font-family:Montserrat,sans-serif;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.category-modal-header{border-bottom:1px solid #e5e7eb;padding:1.5rem}.category-modal-header h3{color:#1f2937;margin:0;font-size:1.2rem;font-weight:600}.category-modal-body{color:#374151;padding:1.25rem 1.5rem 1.5rem}.category-modal-body>p{color:#6b7280;margin-bottom:1.25rem;font-size:.95rem}.category-cards-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;margin-bottom:1.5rem;display:grid}.category-card{text-align:left;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:1rem;font-family:Montserrat,sans-serif;transition:border-color .15s,background .15s}.category-card.selected{background:#f0f4ff;border-color:#6686cc}.category-card-title{align-items:center;gap:.5rem;display:flex}.category-card-title strong{color:#1f2937;font-size:.95rem}.category-modal-footer{justify-content:space-between;align-items:center;display:flex}.category-modal-skip{color:#9ca3af;cursor:pointer;background:0 0;border:none;font-family:Montserrat,sans-serif;font-size:.875rem}.category-modal-confirm{border:none;border-radius:6px;padding:.5rem 1.5rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;transition:background .15s}.category-modal-confirm:enabled{color:#fff;cursor:pointer;background:#6686cc}.category-modal-confirm:disabled{color:#9ca3af;cursor:default;background:#e5e7eb}.sys-announcement-banner{z-index:999;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.65rem 1.25rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:500;animation:.3s ease-out annSlideIn;display:flex;position:sticky;top:0}@keyframes annSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.banner-info{color:#1d4ed8;background:#eff6ff;border-left:4px solid #3b82f6}.banner-warning{color:#92400e;background:#fffbeb;border-left:4px solid #f59e0b}.banner-maintenance{color:#991b1b;background:#fef2f2;border-left:4px solid #ef4444}.sys-announcement-banner .banner-left{flex:1;align-items:center;gap:.6rem;min-width:0;display:flex}.sys-announcement-banner .banner-icon{flex-shrink:0;font-size:1rem}.sys-announcement-banner .banner-msg{line-height:1.4}.sys-announcement-banner .banner-right{flex-shrink:0;align-items:center;gap:.65rem;display:flex}.sys-announcement-banner .banner-count{opacity:.7;white-space:nowrap;font-size:.75rem}.sys-announcement-banner .banner-dismiss{cursor:pointer;opacity:.8;background:0 0;border-radius:5px;padding:.2rem .65rem;font-family:inherit;font-size:.78rem}.sys-announcement-banner .banner-dismiss:hover{opacity:1}.banner-info .banner-dismiss{color:#fff;background:#3b82f6;border:none}.banner-warning .banner-dismiss{color:#fff;background:#f59e0b;border:none}.banner-maintenance .banner-dismiss{color:#fff;background:#ef4444;border:none}@media (prefers-reduced-motion:reduce){.sys-announcement-banner{animation:none}}.admin-home{padding:2rem;font-family:Montserrat,sans-serif}.admin-home h2{margin-bottom:.5rem;font-size:1.8rem}.admin-home p{color:#555;margin-bottom:2rem}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.admin-card{background-color:#fff;border-radius:8px;padding:1.25rem;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 6px #0000000d}.admin-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.admin-card h4{margin-bottom:.5rem;font-size:1.1rem}.admin-card p{color:#666;margin-bottom:1rem;font-size:.95rem}.admin-card.fe-only{background-color:#fef8e7;font-family:Avenir Next,sans-serif}.impersonation-modal-backdrop{z-index:1000;box-sizing:border-box;background-color:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.impersonation-modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;font-family:Montserrat,sans-serif;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.impersonation-modal-header{color:#fff;background:linear-gradient(135deg,#6686cc 0%,#5a7bc4 100%);border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.impersonation-modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.impersonation-modal-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:2rem;transition:background-color .2s;display:flex}.impersonation-modal-close:hover:not(:disabled){background-color:#ffffff1a}.impersonation-modal-close:disabled{opacity:.6;cursor:not-allowed}.impersonation-modal-body{padding:2rem}.impersonation-field{margin-bottom:1.5rem}.impersonation-field label{color:#374151;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.impersonation-radio-group{flex-wrap:wrap;gap:1rem;margin-top:.5rem;display:flex}.impersonation-radio{cursor:pointer;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;justify-content:flex-start;align-items:center;gap:.5rem;min-width:120px;padding:.75rem 1rem;transition:all .2s;display:flex;position:relative;font-weight:500!important}.impersonation-radio:hover{background-color:#f8faff;border-color:#6686cc;transform:translateY(-1px);box-shadow:0 2px 4px #6686cc1a}.impersonation-radio input[type=radio]{cursor:pointer;accent-color:#6686cc;appearance:auto;vertical-align:top;flex-shrink:0;width:18px;height:18px;margin:0!important;padding:0!important}.impersonation-radio input[type=radio]:checked+span{color:#6686cc;font-weight:600}.impersonation-radio:has(input[type=radio]:checked){background-color:#f0f4ff;border-color:#6686cc;box-shadow:0 2px 8px #6686cc33}.impersonation-radio span{color:#374151;-webkit-user-select:none;user-select:none;align-self:center;margin-left:.25rem;font-size:.9rem;line-height:1;transition:color .2s}.impersonation-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1rem;padding:.75rem;font-size:.9rem}.impersonation-no-users{color:#6b7280;margin-top:.5rem;margin-bottom:0;font-size:.9rem;font-style:italic}.impersonation-summary{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:1rem;padding:1rem}.impersonation-summary h4{color:#1f2937;margin:0 0 .75rem;font-size:1rem;font-weight:600}.impersonation-summary p{color:#374151;margin:.25rem 0;font-size:.9rem}.impersonation-modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.impersonation-btn{cursor:pointer;border:none;border-radius:6px;min-width:120px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s}.impersonation-btn:disabled{opacity:.6;cursor:not-allowed}.impersonation-btn-primary{color:#fff;background-color:#6686cc}.impersonation-btn-primary:hover:not(:disabled){background-color:#5a7bc4;transform:translateY(-1px)}.impersonation-btn-secondary{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.impersonation-btn-secondary:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.impersonation-modal-inline{max-width:1200px;margin:0 auto;padding:2rem 2.5rem;font-family:Montserrat,sans-serif}@media (width<=768px){.impersonation-modal{max-width:none;margin:.5rem}.impersonation-modal-header,.impersonation-modal-body,.impersonation-modal-footer{padding:1rem}.impersonation-radio-group{flex-direction:column;gap:.75rem}.impersonation-modal-footer{flex-direction:column}.impersonation-btn{width:100%}}.impersonation-banner{color:#fff;z-index:999;background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);border-bottom:2px solid #b91c1c;justify-content:space-between;align-items:center;padding:.75rem 1rem;font-family:Montserrat,sans-serif;animation:.3s ease-out fadeInSlide;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #dc26264d}.impersonation-banner--controller{background:linear-gradient(135deg,#4f46e5 0%,#4338ca 100%);border-bottom:2px solid #4338ca;box-shadow:0 2px 8px #4f46e54d}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.impersonation-banner-content{flex:1;align-items:center;gap:1rem;display:flex}.impersonation-banner-icon{background-color:#fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.impersonation-banner-info{flex-direction:column;gap:.25rem;min-width:0;display:flex}.impersonation-banner-title{color:#fff;font-size:.95rem;font-weight:600}.impersonation-banner-details{opacity:.95;flex-wrap:wrap;gap:1rem;font-size:.8rem;display:flex}.impersonation-detail{white-space:nowrap}.impersonation-detail strong{margin-right:.25rem;font-weight:600}.impersonation-banner-exit{color:#fff;cursor:pointer;white-space:nowrap;background-color:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;flex-shrink:0;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.impersonation-banner-exit:hover{background-color:#ffffff40;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.impersonation-banner-exit:active{transform:translateY(0)}@media (width<=768px){.impersonation-banner{flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem}.impersonation-banner-content{flex-direction:column;align-items:flex-start;gap:.5rem}.impersonation-banner-details{flex-direction:column;gap:.25rem}.impersonation-banner-exit{text-align:center;width:100%;padding:.75rem}}@media (width<=480px){.impersonation-banner-details{gap:.125rem}.impersonation-detail{font-size:.75rem}.impersonation-banner-title{font-size:.9rem}}@media (prefers-contrast:high){.impersonation-banner{background:#dc2626;border:2px solid #fff}.impersonation-banner--controller{background:#4338ca}.impersonation-banner-exit{color:#dc2626;background-color:#fff;border:2px solid #fff}.impersonation-banner--controller .impersonation-banner-exit{color:#4338ca}}@media (prefers-reduced-motion:reduce){.impersonation-banner{animation:none}.impersonation-banner-exit{transition:none}}.admin-users{max-width:1200px;margin:0 auto;padding:2rem 2.5rem;font-family:Montserrat,sans-serif}.filter-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.filter-bar .filter-dropdown,.filter-bar .items-per-page-dropdown{flex-shrink:0;min-width:140px;max-width:200px}.filter-bar .filter-dropdown .react-select__control,.filter-bar .items-per-page-dropdown .react-select__control{background-color:#f9fafb!important;border:1px solid #cbd5e1!important;border-radius:8px!important;min-height:42px!important}.filter-bar .filter-dropdown .react-select__value-container,.filter-bar .items-per-page-dropdown .react-select__value-container{padding:.5rem 1rem!important}.filter-bar .filter-dropdown .react-select__indicators,.filter-bar .items-per-page-dropdown .react-select__indicators{padding:.5rem!important}.filter-bar .user-search,.filter-bar select,.filter-bar button.reset-btn{color:#374151;appearance:none;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;height:42px;padding:.5rem 1rem;font-size:.95rem;line-height:1.1;transition:all .2s;display:flex}.filter-bar select{background-image:url("data:image/svg+xml,%3Csvg%20width='10'%20height='6'%20viewBox='0%200%2010%206'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cpath%20d='M1%201L5%205L9%201'%20stroke='%236686cc'%20stroke-width='1.5'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;padding-right:2rem}.filter-bar select:hover,.filter-bar select:focus,.filter-bar .user-search:hover,.filter-bar .user-search:focus{border-color:#6686cc;box-shadow:0 0 0 2px #6686cc33}.filter-bar .user-search:focus,.filter-bar select:focus,.filter-bar button.reset-btn:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 2px #9ec6f34d}.reset-btn{cursor:pointer;background-color:#f3f4f6;font-weight:500;transition:background-color .2s}.reset-btn:hover{background-color:#e5e7eb}.user-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.user-table th.sortable:hover{background-color:#d9eaf7}.sort-icon{color:#6686cc;opacity:.6;margin-left:.3rem;font-size:.75rem}.sort-icon.active{opacity:1}.user-table td{color:#374151;border-top:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.9rem}.admin-users .user-table td{text-align:left!important}.admin-users .user-table td:nth-child(4),.admin-users .user-table td:nth-child(5){text-align:center!important}.upgrade-controller-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:background-color .2s}.upgrade-controller-btn:hover{background-color:#5573b3}.status-badge{border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.status-badge.active{color:#065f46;background-color:#b4e1cd}.status-badge.inactive{color:#7f1d1d;background-color:#f7a4a4}.status-badge.pending{color:#92400e;background-color:#fef3c7;cursor:default!important}.modal-overlay{z-index:1000;background-color:#0006;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.archive-btn:hover{background-color:#e76a6a}.admin-users .activate-btn{color:#fff;cursor:pointer;background-color:#57c189;border:none;border-radius:6px;padding:.45rem 1rem;font-weight:600}.modal-input{color:#6b7280;background-color:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;align-items:center;width:100%;height:42px;padding:.5rem 1rem;font-size:.95rem;line-height:1.1;transition:all .2s;display:flex}.modal-input:focus,.modal-input:hover{border-color:#6686cc;outline:none;box-shadow:0 0 0 2px #6686cc33}.pagination-controls{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;font-weight:500;display:flex}.pagination-controls button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:background-color .2s}.pagination-controls button:hover:not(:disabled){background-color:#5574bb}.pagination-controls button:disabled{color:#888;cursor:not-allowed;background-color:#d3d3d3}.pagination-controls span{color:#333;font-size:.95rem}.items-per-page-dropdown:focus{border-color:#4a90e2}@keyframes slideInUp{to{opacity:1;transform:translateY(0)}}.fading-out{opacity:0;transition:all .3s ease-out;transform:scale(.98)}.modal-overlay{z-index:1000;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{text-align:center;opacity:0;background-color:#fff;border-radius:12px;width:420px;padding:2rem;animation:.25s forwards slideInUp;transform:translateY(20px);box-shadow:0 10px 25px #0000001a}.modal-content h3{color:#1e293b;margin-bottom:.6rem;font-size:1.05rem;font-weight:700;line-height:1.4}.modal-content p{color:#6b7280;margin-bottom:1.75rem;font-size:.95rem;line-height:1.4}.modal-buttons{justify-content:center;gap:1rem;display:flex}.cancel-btn{cursor:pointer;color:#1e293b;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.45rem 1rem;font-weight:500}.archive-btn{color:#fff;cursor:pointer;background-color:#f28b82;border:none;border-radius:6px;padding:.45rem 1rem;font-weight:600}.btn-approve,.btn-reject{cursor:pointer;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:background-color .2s}.approve-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.4rem;display:flex}.btn-approve{color:#fff;background-color:#57c189}.btn-approve:hover{background-color:#42ad75}.btn-reject{color:#fff;background-color:#f28b82}.btn-reject:hover{background-color:#e76a6a}.confirmation-modal-backdrop{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.confirmation-modal-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(400px,90vw);padding:2rem;animation:.2s ease-out slideIn;box-shadow:0 10px 40px #00000026}.confirmation-modal-title{color:#1f2937;text-align:center;margin:0 0 1rem;font-size:1.25rem;font-weight:600}.confirmation-modal-message{color:#6b7280;text-align:center;margin:0 0 2rem;font-size:.95rem;line-height:1.5}.confirmation-modal-actions{justify-content:center;gap:1rem;display:flex}.confirmation-modal-actions--stacked{flex-direction:column;gap:.6rem}.confirmation-modal-actions--stacked .confirmation-action-btn,.confirmation-modal-actions--stacked .confirmation-cancel-btn{text-align:center;width:100%}.confirmation-cancel-btn--borderless{color:#9ca3af;background:0 0;border:none;padding:.4rem;font-size:.85rem}.confirmation-cancel-btn--borderless:hover:not(:disabled){color:#374151;background:0 0;border:none}.confirmation-cancel-btn{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;min-width:100px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.confirmation-cancel-btn:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.confirmation-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.confirmation-action-btn{cursor:pointer;border:none;border-radius:6px;min-width:100px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.confirmation-action-btn.confirm-btn{color:#fff;background-color:#6686cc}.confirmation-action-btn.confirm-btn:hover:not(:disabled){background-color:#5a7bc4}.confirmation-action-btn.destructive-btn{color:#fff;background-color:#f28b82}.confirmation-action-btn.destructive-btn:hover:not(:disabled){background-color:#ef4444}.confirmation-action-btn.delete-btn{color:#fff;background-color:#f28b82}.confirmation-action-btn.delete-btn:hover:not(:disabled){background-color:#ef4444}.confirmation-action-btn.archive-btn{color:#fff;background-color:#f28b82}.confirmation-action-btn.archive-btn:hover:not(:disabled){background-color:#ef4444}.confirmation-action-btn:disabled{opacity:.6;cursor:not-allowed}@media (width<=480px){.confirmation-modal-box{margin:1rem;padding:1.5rem}.confirmation-modal-actions{flex-direction:column;gap:.75rem}.confirmation-cancel-btn,.confirmation-action-btn{width:100%}}.tab-slider-wrapper{flex-direction:column;width:100%;margin-bottom:1.5rem;display:flex;border-bottom:none!important}.tab-content-wrapper{width:100%;padding:0 2rem}.tab-option{text-align:center;color:#6b7280;cursor:pointer;z-index:2;background-color:#0000;flex:1;padding:1rem 0;font-size:1rem;font-weight:550;transition:color .3s;position:relative}.tab-option:after,.tab-option:before{content:none!important;border:none!important}.tab-option.active{color:#6686cc;font-weight:700;text-decoration:none}.tab-option:focus,.tab-option:active{outline:none}.tab-slider-bar{z-index:1;background-color:#6686cc;border-radius:4px 4px 0 0;height:3px;transition:transform .3s,width .3s;position:absolute;bottom:0;left:0}.tab-option:hover:not(.active){color:#4b5563}.tab-slider-container:before{content:none!important;border:none!important}.learner-home{color:#1f2937;padding:2rem;font-family:Montserrat,sans-serif}.learner-home h2{margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.subtitle{color:#6b7280;margin-bottom:2rem;font-size:1rem}.learner-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.learner-card{background-color:#fff;border-radius:8px;padding:1.25rem;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 6px #0000000d}.learner-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.learner-card h4{margin-bottom:.5rem;font-size:1.1rem}.learner-card p{color:#666;margin-bottom:1rem;font-size:.95rem}.go-button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.5rem 1.25rem;font-weight:600;transition:background-color .2s}.go-button:hover{background-color:#7f8fb2}.general-home{height:100vh;font-family:Montserrat,sans-serif;display:flex}.left-panel{color:#fff;background-color:#5b82d7;flex:1;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:flex}.right-panel{background-color:#f9fafb;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.right-panel h2{margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.right-panel p{color:#374151;margin-bottom:1.5rem;font-size:.9rem}.button-group{flex-direction:column;gap:1rem;width:100%;max-width:500px;display:flex}.button-group button{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.875rem;font-size:1rem;font-weight:600;transition:background-color .2s}.button-group button:hover{background-color:#7f8fb2}.usage-page{max-width:1200px;margin:0 auto;padding:2rem 2.5rem;font-family:Montserrat,sans-serif}.usage-filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.usage-filter-bar .filter-label{color:#6b7280;font-size:.875rem}.period-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem 1rem;font-size:.875rem;transition:all .15s}.period-btn:hover{color:#6686cc;border-color:#6686cc}.period-btn.active{color:#fff;background:#6686cc;border-color:#6686cc}.filter-divider{background:#d1d5db;width:1px;height:24px;margin:0 .25rem}.custom-range{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.875rem;display:flex}.custom-range input[type=date]{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.35rem .6rem;font-size:.85rem}.apply-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.875rem;transition:background .15s}.apply-btn:hover{background:#7f8fb2}.usage-cards{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:2.5rem;display:grid}@media (width<=900px){.usage-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.usage-cards{grid-template-columns:1fr}}.usage-card{background:#fff;border-top:4px solid #0000;border-radius:12px;padding:1.5rem 1.75rem;box-shadow:0 1px 4px #00000012}.usage-card.total{border-top-color:#6686cc}.usage-card.openai{border-top-color:#10b981}.usage-card.eleven{border-top-color:#f59e0b}.usage-card.livekit{border-top-color:#3b82f6}.usage-card.speechmatics{border-top-color:#8b5cf6}.usage-card.nvidia{border-top-color:#06b6d4}.card-label{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:.5rem;font-size:.75rem;font-weight:600}.card-cost{color:#111827;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.card-meta{color:#6b7280;font-size:.8rem;line-height:1.8}.card-meta .meta-row{display:block}.card-meta .meta-sub{color:#9ca3af;padding-left:.5rem;font-size:.75rem;display:block}.card-meta .meta-heading{color:#6b7280;margin-top:.25rem;font-size:.78rem;font-weight:600;display:block}.section-title{color:#111827;margin-top:.5rem;margin-bottom:.9rem;font-size:1rem;font-weight:600}.section-note{color:#9ca3af;margin-left:.4rem;font-size:.78rem;font-weight:400}.usage-table-wrapper{background:#fff;border-radius:12px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 4px #00000012}.usage-table-wrapper table{border-collapse:collapse;width:100%}.usage-table-wrapper thead tr{background:#eaf2fb}.usage-table-wrapper th{text-align:left;color:#374151;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:.75rem 1rem;font-size:.8rem;font-weight:600}.usage-table-wrapper th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.usage-table-wrapper th.sortable:hover{background:#dbeafe}.sort-icon{color:#9ca3af;margin-left:.3rem;font-size:.7rem}.sort-icon.active{color:#6686cc}.usage-table-wrapper td{color:#374151;border-top:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.875rem}.usage-table-wrapper tbody tr:hover{background:#f9faff}.log-filter-bar{border-bottom:1px solid #f3f4f6;flex-wrap:nowrap;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex;overflow-x:auto}.log-filter-bar--wrap{flex-direction:column;align-items:stretch;gap:.6rem;overflow-x:visible}.log-filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.log-filter-row--end{justify-content:flex-end}.csv-download-link{color:#9ca3af;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:0;font-family:inherit;font-size:.85rem;font-weight:600;transition:color .15s;display:inline-flex}.csv-download-link:hover:not(:disabled){color:#6686cc}.csv-download-link:disabled{opacity:.5;cursor:not-allowed}.log-filter-bar .filter-label{color:#9ca3af;font-size:.78rem}.log-filter-bar input[type=text],.log-filter-bar input[type=date],.log-filter-bar select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.35rem .65rem;font-size:.82rem}.log-filter-bar input[type=text]{width:140px}.log-reset-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:6px;margin-left:auto;padding:.35rem .85rem;font-size:.8rem;transition:background .15s}.log-reset-btn:hover{background:#7f8fb2}.entry-count{color:#9ca3af;white-space:nowrap;margin-left:auto;font-size:.8rem}.svc-badge{border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:600;display:inline-block}.svc-badge.openai{color:#065f46;background:#d1fae5}.svc-badge.eleven{color:#92400e;background:#fef3c7}.svc-badge.livekit{color:#1e40af;background:#dbeafe}.svc-badge.speechmatics{color:#5b21b6;background:#ede9fe}.svc-badge.nvidia{color:#155e75;background:#cffafe}.svc-badge.system{color:#374151;background:#e5e7eb}.usage-pagination{justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.usage-pagination button{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.35rem .9rem;font-size:.85rem;transition:background .15s}.usage-pagination button:hover:not(:disabled){background:#eaf2fb}.usage-pagination button:disabled{opacity:.4;cursor:default}.pricing-section-header{align-items:center;gap:1rem;margin-top:.5rem;margin-bottom:.9rem;display:flex}.pricing-section-header .section-title{margin:0}.pricing-add-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:6px;padding:.35rem .9rem;font-size:.8rem;font-weight:600;transition:background .15s}.pricing-add-btn:hover{background:#5570b8}.pricing-form-footer{background:#f9faff;border-top:1px solid #f3f4f6;padding:.9rem 1rem}.pricing-form-grid{gap:.75rem;margin-bottom:1rem;display:grid}.pricing-form-row1,.pricing-form-row2{grid-template-columns:repeat(4,1fr)}@media (width<=800px){.pricing-form-row1,.pricing-form-row2{grid-template-columns:repeat(2,1fr)}}.pricing-form-field{flex-direction:column;gap:.3rem;display:flex}.pricing-form-field label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.pricing-form-field input,.pricing-form-field select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:7px;padding:.45rem .7rem;font-family:inherit;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.pricing-form-field input:focus,.pricing-form-field select:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 2px #6686cc2e}.pricing-form-field.checkbox-field{flex-direction:row;align-items:center;gap:.5rem;padding-top:1.4rem}.pricing-form-field.checkbox-field label{text-transform:none;letter-spacing:0;color:#374151;cursor:pointer;font-size:.82rem}.pricing-form-field.checkbox-field input[type=checkbox]{cursor:pointer;accent-color:#6686cc;border:1px solid #d1d5db;border-radius:3px;width:15px;height:15px;padding:0}.spending-limit-badge{border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.spending-limit-badge.ok{color:#065f46;background:#d1fae5}.spending-limit-badge.warn{color:#92400e;background:#fef3c7}.spending-limit-badge.blocked{color:#991b1b;background:#fee2e2}.pricing-form-actions{align-items:center;gap:.5rem;display:flex}.pricing-save-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:7px;padding:.45rem 1.1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s}.pricing-save-btn:hover{background:#5570b8}.pricing-cancel-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:7px;padding:.45rem 1rem;font-family:inherit;font-size:.85rem;transition:all .15s}.pricing-cancel-btn:hover{color:#374151;border-color:#9ca3af}.pricing-form-error{color:#dc2626;margin-bottom:.5rem;font-size:.82rem}.pricing-inline-edit-row td{background:#f8faff;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.pricing-row-edit-btn{color:#6686cc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #6686cc;border-radius:6px;padding:.25rem .6rem;font-family:inherit;font-size:.75rem;font-weight:500;transition:background-color .15s,color .15s}.pricing-row-edit-btn:hover{color:#5570bb;background:#eff6ff;border-color:#5570bb}.pricing-row-actions{align-items:center;gap:.4rem;display:flex}.pricing-row-delete-btn{color:#d9534f;cursor:pointer;background:0 0;border:1px solid #e5b3ae;border-radius:6px;justify-content:center;align-items:center;padding:.3rem;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.pricing-row-delete-btn:hover{color:#b52b27;background:#fdf1f0;border-color:#d9534f}.usage-note{color:#9ca3af;margin-top:.5rem;font-size:.78rem;line-height:1.6}.usage-loading,.usage-empty{text-align:center;color:#9ca3af;padding:3rem 1rem;font-size:.9rem}.dp-wrapper{width:100%;position:relative}.dp-input{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;justify-content:space-between;align-items:center;height:42px;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s;display:flex}.dp-input:hover,.dp-input--open{border-color:#6686cc;box-shadow:0 0 0 2px #6686cc33}.dp-value{color:#374151;font-size:.95rem}.dp-placeholder{color:#9ca3af;font-size:.95rem}.dp-icon{color:#9ca3af;flex-shrink:0;width:16px;height:16px}.dp-input--open .dp-icon,.dp-input:hover .dp-icon{color:#6686cc}.dp-calendar{z-index:2000;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:240px;padding:.75rem;animation:.12s dp-fade-in;box-shadow:0 4px 20px #0000001a}@keyframes dp-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dp-nav{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.dp-nav-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:.2rem .45rem;font-size:1.3rem;line-height:1}.dp-nav-btn:hover{color:#374151;background:#f3f4f6}.dp-month-label{color:#374151;font-size:.875rem;font-weight:600}.dp-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-day-header{text-align:center;color:#9ca3af;padding:.2rem 0 .35rem;font-size:.7rem;font-weight:600}.dp-day{cursor:pointer;text-align:center;color:#374151;aspect-ratio:1;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:0;font-family:inherit;font-size:.82rem;display:flex}.dp-day:hover:not(:disabled){color:#6686cc;background:#eef2ff}.dp-day--selected{font-weight:600;color:#fff!important;background:#6686cc!important}.dp-day--today{color:#6686cc;font-weight:700}.dp-day--disabled{color:#d1d5db;cursor:not-allowed}.admin-announcements{max-width:1200px;margin:0 auto;padding:2rem 2.5rem;font-family:Montserrat,sans-serif}.announcements-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.admin-announcements .user-table-wrapper{background:#fff;border-radius:12px;margin-bottom:1.5rem;overflow:hidden;box-shadow:0 1px 4px #00000012}.btn-primary{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:6px;height:42px;padding:.5rem 1.2rem;font-size:.875rem;font-weight:600}.btn-primary:hover{background:#5574bb}.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:42px;padding:.5rem 1.1rem;font-size:.875rem}.btn-secondary:hover{background:#f9fafb}.action-btn{color:#6686cc;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #6686cc;border-radius:6px;padding:.2rem .65rem;font-size:.78rem;font-weight:500;transition:background-color .15s,color .15s}.action-btn:hover{color:#5570bb;background:#eff6ff;border-color:#5570bb}.action-btn.danger{color:#ef4444;border-color:#ef4444}.action-btn.danger:hover{background:#fef2f2}.action-cell{align-items:center;gap:.4rem;display:flex}.msg-cell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ann-msg-clickable{cursor:pointer}.ann-msg-clickable:hover{color:#6686cc;text-decoration:underline}.type-badge{white-space:nowrap;border-radius:6px;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.type-info{color:#1d4ed8;background:#eff6ff}.type-warning{color:#92400e;background:#fffbeb}.type-maintenance{color:#991b1b;background:#fef2f2}.status-badge.coming{color:#6686cc;background-color:#eef2ff}.ann-summary{justify-content:flex-end;gap:1rem;margin-bottom:.75rem;display:flex}.ann-summary .status-badge{cursor:default;padding:.15rem .55rem;font-size:.75rem}.status-clickable{cursor:pointer;transition:opacity .15s}.status-clickable:hover{opacity:.75}.date-cell{color:#374151;font-size:.85rem;container-type:inline-size;padding-left:.5rem!important;padding-right:.5rem!important}.date-cell .date-short{display:none}.date-cell .date-full{display:inline}@container (width<=58px){.date-cell .date-full{display:none}.date-cell .date-short{display:inline}}.ann-table{table-layout:fixed;width:100%}.ann-table td,.ann-table th{vertical-align:middle;padding-left:.5rem!important;padding-right:.5rem!important}.ann-table td{padding-top:.3rem!important;padding-bottom:.3rem!important}.ann-modal-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;animation:.2s ease-in-out fadeIn;display:flex;position:fixed;inset:0}.ann-modal{opacity:0;background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;padding:2rem;animation:.25s forwards slideInUp;overflow-y:auto;transform:translateY(20px);box-shadow:0 10px 25px #0000001a}.ann-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.ann-modal-header h3{color:#1e293b;margin:0;font-size:1.05rem;font-weight:700}.ann-modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}.ann-modal-close:hover{color:#374151}.ann-modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.form-field{margin-bottom:1rem}.form-field>label{color:#374151;margin-bottom:.35rem;font-size:.875rem;font-weight:600;display:block}.form-field select,.form-field input[type=datetime-local]{color:#6b7280;background-color:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;height:42px;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-field select:hover,.form-field select:focus,.form-field input[type=datetime-local]:hover,.form-field input[type=datetime-local]:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 2px #6686cc33}.form-field textarea{color:#6b7280;resize:vertical;background-color:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.6rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-field textarea:hover,.form-field textarea:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 2px #6686cc33}.clear-date-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;margin-top:.2rem;margin-left:auto;padding:.2rem 0;font-size:.75rem;display:block}.clear-date-btn:hover{color:#374151}.form-dates-row{flex-wrap:wrap;gap:1rem;margin-bottom:1rem;display:flex}.form-dates-row .form-field{flex:1;min-width:180px;margin-bottom:0}.checklist-row{align-items:center;gap:1.25rem;padding:.4rem 0;flex-direction:row!important;display:flex!important}.check-item{color:#374151;cursor:pointer;align-items:center;gap:.4rem;font-size:.875rem;flex-direction:row!important;display:flex!important}.check-item input[type=checkbox]{accent-color:#6686cc;width:15px;height:15px}.check-item.disabled{opacity:.55;cursor:default}.check-item.disabled input{cursor:default}.preview-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.78rem;font-weight:600;display:flex}.preview-audience{color:#6686cc;text-transform:none;letter-spacing:0;background:#eef2ff;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:600}.preview-banner{border-radius:6px;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.9rem;display:flex}.preview-banner.banner-info{color:#1d4ed8;background:#eff6ff;border-left:4px solid #3b82f6}.preview-banner.banner-warning{color:#92400e;background:#fffbeb;border-left:4px solid #f59e0b}.preview-banner.banner-maintenance{color:#991b1b;background:#fef2f2;border-left:4px solid #ef4444}.backstage-page{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-400:#60a5fa;--primary-500:#6686cc;--primary-600:#5a7bc4;--primary-700:#4f6bb0;--success-100:#dcfce7;--success-500:#57c189;--warning-100:#fef3c7;--warning-700:#b45309;--error-100:#fee2e2;--error-600:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#374151;--gray-700:#1f2937;--gray-900:#030712;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-3xl:1.875rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-base:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--transition-fast:.15s ease-in-out;--transition-base:.2s ease-in-out;max-width:1400px;margin:0 auto;padding:2rem 2.5rem;font-family:Montserrat,sans-serif}.backstage-page .card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base);background-color:#fff;overflow:hidden}.backstage-page .card-header{background-color:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:1.1rem 1.25rem}.backstage-page .card-body{padding:1.25rem}.backstage-page .btn{font-size:var(--text-sm);font-weight:var(--font-medium);border-radius:var(--radius-base);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Montserrat,sans-serif;text-decoration:none;display:inline-flex}.backstage-page .btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.backstage-page .btn-primary{background-color:var(--primary-500);color:#fff;border-color:var(--primary-500)}.backstage-page .btn-primary:hover:not(:disabled){background-color:var(--primary-600);border-color:var(--primary-600)}.backstage-page .btn-secondary{color:var(--primary-500);border-color:var(--primary-500);background-color:#0000}.backstage-page .btn-secondary:hover:not(:disabled){background-color:var(--primary-50);border-color:var(--primary-600);color:var(--primary-600)}.backstage-page .btn-sm{font-size:var(--text-xs);padding:.3rem .7rem}.backstage-header{margin-bottom:1.75rem}.backstage-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--gray-900);margin:0 0 .25rem}.backstage-subtitle{font-size:var(--text-sm);color:var(--gray-500);margin:0}.bs-breadcrumb{font-size:var(--text-sm);color:var(--gray-500);align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.bs-back-btn{cursor:pointer;color:var(--primary-500);font-family:Montserrat,sans-serif;font-size:var(--text-sm);font-weight:var(--font-medium);background:0 0;border:none;padding:0}.bs-back-btn:hover{color:var(--primary-600);text-decoration:underline}.bs-breadcrumb-sep{color:var(--gray-300)}.bs-breadcrumb-title{color:var(--gray-700);font-weight:var(--font-medium)}.bs-filter-bar{flex-wrap:wrap;align-items:center;gap:.625rem;margin-bottom:1.25rem;display:flex}.filter-bar.bs-filter-bar--multi .filter-dropdown{flex:200px;min-width:200px;max-width:280px}.bs-search-wrap{flex:180px;max-width:280px;position:relative}.bs-search-icon{color:var(--gray-400);pointer-events:none;z-index:1;position:absolute;top:50%;left:.6rem;transform:translateY(-50%)}.bs-search-input{box-sizing:border-box;width:100%;padding-left:2rem!important}.bs-status-menu-wrap{flex-shrink:0;min-width:130px;max-width:180px;position:relative}.bs-status-btn{color:#374151;text-align:left;white-space:nowrap;cursor:pointer;appearance:none;box-sizing:border-box;background:#f9fafb;border:1px solid #cbd5e1;border-radius:8px;width:100%;height:42px;padding:.5rem 1rem;font-size:.95rem;line-height:1.1}.bs-status-btn:hover,.bs-status-btn:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 2px #6686cc33}.bs-status-dropdown{z-index:50;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:160px;padding:.4rem 0;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.bs-status-option{font-size:var(--text-sm);color:var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.5rem;padding:.45rem .85rem;display:flex}.bs-status-option:hover{background:var(--gray-50)}.bs-status-option input[type=checkbox]{accent-color:#6686cc;cursor:pointer;width:14px;height:14px}.btn-link{color:#6686cc;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover{color:#5570bb}.bs-table-wrap{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000012}.bs-class-group{margin-bottom:1.25rem}.bs-class-group-header{background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-md);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.5rem .5rem .5rem .9rem;display:flex}.bs-class-group-toggle{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:.55rem;min-width:0;padding:.15rem 0;font-family:Montserrat,sans-serif;display:flex}.bs-class-group-header:hover .bs-class-group-toggle{color:var(--primary-700)}.bs-class-group-toggle svg{color:var(--primary-700);flex-shrink:0}.bs-class-group-name{font-weight:var(--font-semibold);color:var(--primary-700)}.bs-class-group-count{color:var(--gray-500);margin-left:auto;font-size:.8rem}.bs-class-group-download{background:#fff;flex-shrink:0}.bs-class-group-header .bs-class-group-download,.bs-class-group-header .bs-class-group-download:hover:not(:disabled){border-color:#0000}.bs-sim-table{font-size:var(--text-sm);table-layout:fixed;width:100%}.bs-sim-table th:first-child,.bs-sim-table td:first-child{width:12%}.bs-sim-table td:first-child{white-space:normal}.bs-class-cell{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.bs-class-name{white-space:nowrap}.bs-sim-table th:nth-child(2),.bs-sim-table td:nth-child(2){width:40%}.bs-sim-table th:nth-child(3),.bs-sim-table td:nth-child(3),.bs-sim-table th:nth-child(4),.bs-sim-table td:nth-child(4){width:20%}.bs-sim-table th:nth-child(5),.bs-sim-table td:nth-child(5){width:3rem}.bs-group-header-row{cursor:pointer;background:var(--primary-50);border-top:1px solid var(--primary-100)}.bs-group-header-row:hover{background:var(--primary-100)!important}.bs-group-header-cell{overflow:visible;white-space:normal!important;padding:.6rem .9rem!important}.bs-group-header-inner{color:var(--primary-700);white-space:nowrap;align-items:center;gap:.45rem;display:flex}.bs-group-header-name{font-weight:var(--font-semibold)}.bs-group-header-count{color:var(--primary-400);font-size:.78rem}.bs-sim-table th{white-space:nowrap;background:#eaf2fb}.bs-sim-table td{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bs-sim-row{cursor:pointer}.bs-sim-row:hover{background:#f0f5ff!important}.bs-sim-row--draft{cursor:default;opacity:.6}.bs-sim-row--draft:hover{background:inherit!important}.bs-sim-title{font-weight:var(--font-medium);color:var(--gray-700);margin-right:.4rem}.bs-view-cell{text-align:center}.bs-chevron{color:var(--gray-400)}.bs-sim-row:hover .bs-chevron{color:var(--primary-500)}.bs-tag{border-radius:var(--radius-md);font-size:.7rem;font-weight:var(--font-semibold);vertical-align:middle;padding:.1rem .45rem;display:inline-block}.bs-tag--active{background:var(--success-100);color:#166534}.bs-tag--draft{background:var(--warning-100);color:var(--warning-700)}.bs-tag--archived{background:var(--gray-100);color:var(--gray-500)}.bs-tag--hidden{background:var(--gray-100);color:var(--gray-400)}.bs-mode-badge{border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.15rem .5rem;display:inline-block}.bs-sim-header-right .bs-mode-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--gray-300);color:var(--gray-600);text-align:center;padding:.5rem 1rem}.bs-mode-badge--online{color:#1d4ed8;background:#dbeafe}.bs-mode-badge--offline{background:var(--gray-100);color:var(--gray-600)}.bs-access-badge{border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.15rem .5rem;display:inline-block}.bs-access-badge--open{background:var(--success-100);color:#166534}.bs-access-badge--closed{background:var(--error-100);color:#991b1b}.bs-access-badge--hidden{background:var(--gray-100);color:var(--gray-500)}.bs-empty{text-align:center;color:var(--gray-400);font-size:var(--text-sm);padding:3rem}.bs-sim-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:1.25rem;padding:1.5rem;display:flex;box-shadow:0 2px 8px #0000000d}.bs-sim-header-left{flex:1;min-width:0}.bs-sim-header-title{font-size:2rem;font-weight:var(--font-bold);color:var(--gray-700);margin:0 0 .5rem}.bs-sim-header-meta{font-size:var(--text-base);color:var(--gray-500);flex-wrap:wrap;gap:.75rem;line-height:1.5;display:flex}.bs-sim-header-meta span:before{content:"·";margin-right:.75rem}.bs-sim-header-meta span:first-child:before{content:none}.bs-sim-header-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.6rem;display:flex}.bs-status-badge{border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:capitalize;padding:.15rem .55rem;display:inline-block}.bs-sim-header-right .bs-status-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;text-align:center;border:1px solid;padding:.5rem 1rem}.bs-status-badge--active{background:var(--success-100);color:#166534}.bs-status-badge--draft{background:var(--warning-100);color:var(--warning-700)}.bs-status-badge--archived{background:var(--gray-100);color:var(--gray-500)}.bs-status-badge--hidden{background:var(--gray-100);color:var(--gray-400)}.bs-tab-bar{border-bottom:2px solid var(--gray-200);align-items:center;gap:0;margin-bottom:1.5rem;display:flex}.bs-tab-btn{font-family:Montserrat,sans-serif;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-500);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.6rem 1rem}.bs-tab-btn:hover{color:var(--gray-700)}.bs-tab-btn--active{color:var(--primary-500);border-bottom-color:var(--primary-500);font-weight:var(--font-semibold)}.bs-tab-divider{background:var(--gray-300);flex-shrink:0;align-self:center;width:1px;height:20px;margin:0 .5rem}.backstage-page .tab-content-wrapper{padding:0}.bs-stat-row{grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1.5rem;display:grid}@media (width<=900px){.bs-stat-row{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.bs-stat-row{grid-template-columns:1fr}}.bs-stat-card{border-top:4px solid #0000}.bs-stat-card--sessions{border-top-color:#6686cc}.bs-stat-card--learners{border-top-color:#10b981}.bs-stat-card--score{border-top-color:#8b5cf6}.bs-stat-card--completed{border-top-color:#14b8a6}.bs-stat-body{text-align:center;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.25rem;display:flex}.bs-stat-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.bs-stat-value{font-size:1.75rem;font-weight:var(--font-bold);color:#111827;line-height:1}.bs-overview{padding-bottom:20rem}.bs-overview-cols{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.bs-info-card{flex:1;min-width:260px}.bs-card-heading{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--gray-600);text-transform:uppercase;letter-spacing:.04em;margin:0}.bs-char-top{align-items:center;gap:.85rem;margin-bottom:.85rem;display:flex}.bs-char-photo-wrap{border-radius:var(--radius-full);background:var(--gray-100);flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.bs-char-photo{object-fit:cover;width:100%;height:100%}.bs-char-photo-placeholder{color:var(--gray-400);font-size:2.25rem}.bs-char-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-700);margin:0}.bs-char-meta{font-size:var(--text-sm);color:var(--gray-600);gap:.5rem;margin:0 0 .4rem;display:flex}.bs-meta-label{font-weight:var(--font-semibold);color:var(--gray-500);flex-shrink:0;min-width:90px}.bs-char-background{align-items:flex-start}.bs-setup-list{font-size:var(--text-sm);grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:0;display:grid}.bs-setup-list dt{font-weight:var(--font-semibold);color:var(--gray-500);white-space:nowrap}.bs-setup-list dd{color:var(--gray-700);margin:0}.bs-section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--gray-600);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}.bs-read-only-note{font-size:var(--text-xs);font-weight:var(--font-normal);color:var(--gray-400);text-transform:none;letter-spacing:0;margin-left:.5rem}.bs-criterion-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--gray-700);margin:0}.bs-checklist-item-name{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--gray-700);margin:0 0 .2rem}.bs-checklist-item-desc{font-size:var(--text-sm);color:var(--gray-500);margin:0;line-height:1.5}.bs-sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.bs-sortable-th:hover{color:var(--primary-600)}.bs-attempts-badge{border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.15rem .55rem;display:inline-block}.bs-attempts-badge--done{background:var(--success-100);color:#166534}.bs-attempts-badge--none{background:var(--gray-100);color:var(--gray-500)}.bs-view-link{color:var(--primary-500);font-family:Montserrat,sans-serif;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0}.bs-view-link:hover{color:var(--primary-600);text-decoration:underline}.bs-download-btn{margin-left:auto}.bs-upload-btn{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;background:var(--gray-100,#f3f4f6);color:var(--gray-700,#374151);border:1px solid var(--gray-300,#cbd5e1);align-items:center;gap:.35rem;padding:.4rem .9rem;font-family:inherit;display:inline-flex}.bs-upload-btn:hover{background:var(--gray-200,#e5e7eb)}.bs-download-selected-btn{color:var(--gray-600,#4b5563);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:.25rem;padding:.2rem .4rem;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.bs-download-selected-btn:hover{color:var(--primary-600);background:var(--primary-50)}.bs-download-selected-btn:disabled{opacity:.5;cursor:not-allowed;background:0 0}.bs-learner-detail{flex-direction:column;gap:1rem;display:flex}.bs-back-sm{font-size:var(--text-sm);align-self:flex-start}.bs-learner-info-card{transition:none}.bs-learner-info-card:hover{transform:none}.bs-learner-info-body{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.bs-learner-avatar{background:var(--primary-100);width:48px;height:48px;color:var(--primary-700);font-weight:var(--font-bold);font-size:var(--text-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.bs-learner-detail-name{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--gray-700);margin:0 0 .15rem}.bs-learner-detail-email{font-size:var(--text-sm);color:var(--gray-500);margin:0}.bs-learner-stats{font-size:var(--text-sm);color:var(--gray-600);gap:1.25rem;margin-left:auto;display:flex}.bs-learner-download-row{justify-content:flex-end;margin-top:1.25rem;display:flex}.bs-attempt-pills{flex-wrap:wrap;gap:.4rem;display:flex}.bs-attempt-pill{border-radius:var(--radius-full);border:1px solid var(--gray-300);font-family:Montserrat,sans-serif;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--gray-600);cursor:pointer;transition:all var(--transition-fast);background:#fff;padding:.3rem .8rem}.bs-attempt-pill:hover{border-color:var(--primary-400);color:var(--primary-600)}.bs-attempt-pill--active{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.bs-transcript{flex-direction:column;gap:.2rem;padding:.75rem 0;display:flex}.bs-transcript-line{font-size:var(--text-sm);color:var(--gray-600);margin:0;padding:.15rem 0;line-height:1.6}.bs-transcript-speaker{font-weight:var(--font-semibold);color:var(--gray-700)}.bs-transcript-speaker--user{color:var(--primary-600)}.bs-result-rubric{flex-direction:column;gap:.75rem;display:flex}.bs-overall-card{transition:none}.bs-overall-card:hover{transform:none}.bs-overall-card .card-body{flex-direction:column;align-items:center;gap:.25rem;padding:1.25rem;display:flex}.bs-overall-score{font-size:var(--text-3xl);font-weight:var(--font-bold)}.bs-overall-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em}.bs-overall-feedback{font-size:var(--text-sm);color:var(--gray-600);text-align:center;margin:.5rem 0 0}.bs-result-criterion{transition:none}.bs-prompt-debug{margin-top:.5rem;padding:0 1.25rem 1rem}.card-body .bs-prompt-debug{margin-top:.6rem;padding:0}.bs-prompt-debug-toggle{cursor:pointer;color:var(--primary-500);font-size:.78rem;font-weight:var(--font-medium);background:0 0;border:none;padding:0;font-family:Montserrat,sans-serif}.bs-prompt-debug-toggle:hover{color:var(--primary-600);text-decoration:underline}.bs-prompt-debug-body{border:1px solid var(--gray-200);border-radius:var(--radius-md);margin-top:.5rem;overflow:hidden}.bs-prompt-debug-label{font-size:.7rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:.4rem .7rem}.bs-prompt-debug-pre{white-space:pre-wrap;word-break:break-word;color:var(--gray-700);background:#fff;max-height:280px;margin:0;padding:.65rem .7rem;font-family:Courier New,monospace;font-size:.72rem;overflow-y:auto}.bs-result-criterion:hover{transform:none}.bs-result-criterion-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.bs-result-score{font-weight:var(--font-bold);font-size:var(--text-base)}.bs-score-bar-track{background:var(--gray-100);border-radius:var(--radius-full);height:6px;margin-bottom:.5rem;overflow:hidden}.bs-score-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .4s}.bs-result-feedback{font-size:var(--text-sm);color:var(--gray-600);margin:0;line-height:1.5}.bs-checklist-summary{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--gray-600);margin:0 0 .5rem}.bs-result-checklist{flex-direction:column;gap:.5rem;display:flex}.bs-result-checklist-item{transition:none}.bs-result-checklist-item:hover{transform:none}.bs-result-checklist-body{align-items:flex-start;gap:.75rem;display:flex}.bs-check-icon{flex-shrink:0;margin-top:1px}.bs-observed-badge{border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);background:var(--error-100);color:#991b1b;white-space:nowrap;flex-shrink:0;margin-left:auto;padding:.15rem .55rem}.bs-observed-badge--pass{background:var(--success-100);color:#166534}.bs-prompts-toolbar{margin-bottom:1.25rem}.bs-prompt-section{margin-bottom:1.5rem}.bs-prompt-section-title{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--gray-200);margin-bottom:.75rem;padding:.5rem 0}.bs-prompt-section-title--agent{color:#6d28d9;border-bottom-color:#ddd6fe}.bs-prompt-section-title--row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.bs-prompt-expand-controls{text-transform:none;letter-spacing:normal;font-weight:var(--font-medium);align-items:center;gap:.4rem;display:flex}.bs-link-btn-sep{color:var(--gray-300)}.bs-link-btn{color:var(--primary-600);font-size:.78rem;font-weight:var(--font-medium);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;display:inline-flex}.bs-link-btn:hover:not(:disabled){text-decoration:underline}.bs-link-btn--disabled,.bs-link-btn:disabled{color:var(--gray-400);cursor:not-allowed}.bs-prompt-subsection{margin-bottom:1.25rem}.bs-prompt-subsection-title{font-size:.78rem;font-weight:var(--font-bold);color:var(--primary-700);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.bs-prompt-block{border:1px solid var(--gray-200);border-radius:var(--radius-md);margin-bottom:.5rem;overflow:hidden}.bs-prompt-block--tint{background:#f5f3ff;border-color:#ddd6fe}.bs-prompt-toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem .9rem;font-family:Montserrat,sans-serif;display:flex}.bs-prompt-step{font-size:var(--text-xs);color:var(--gray-400);white-space:nowrap}.bs-prompt-label{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--gray-700);flex:1}.bs-prompt-chevron{font-size:var(--text-xs);color:var(--gray-400)}.bs-prompt-pre{border-top:1px solid var(--gray-200);white-space:pre-wrap;word-break:break-word;color:var(--gray-700);background:#fff;max-height:360px;margin:0;padding:.75rem .9rem;font-family:Courier New,monospace;font-size:.72rem;overflow-y:auto}.bs-prompt-criterion-group{border-left:3px solid var(--gray-200);margin-bottom:1.25rem;padding-left:.5rem}.bs-prompt-criterion-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--gray-600);margin:0 0 .5rem}.bs-admin-notice{background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--primary-700);margin-bottom:1.25rem;padding:.75rem 1rem}.bs-run-badge{border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.15rem .55rem;display:inline-block}.bs-run-badge--assessed{background:var(--success-100);color:#166534}.bs-run-badge--processing{background:var(--warning-100);color:var(--warning-700)}.bs-run-badge--failed{background:var(--error-100,#fee2e2);color:var(--error-600)}.bs-field-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--gray-600);margin-bottom:.3rem;display:block}.bs-checkbox-label{cursor:pointer;align-items:center;gap:.4rem;display:flex!important}.bs-name-input,.bs-select{border:1px solid var(--gray-300);border-radius:var(--radius-md);width:100%;font-size:var(--text-sm);box-sizing:border-box;background:#fff;padding:.45rem .6rem}.bs-run-picker{background:var(--gray-50,#f9fafb);border:1px solid var(--gray-200);border-radius:var(--radius-lg);flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding:1rem;display:flex}.bs-run-picker-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.bs-run-picker-row>div{flex:1;min-width:200px}.bs-modal-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.bs-modal{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);background:#fff;flex-direction:column;width:100%;max-width:480px;font-family:Montserrat,sans-serif;display:flex}.bs-modal-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.bs-modal-title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-700);margin:0}.bs-modal-close{cursor:pointer;font-size:var(--text-lg);color:var(--gray-400);background:0 0;border:none;padding:0;line-height:1}.bs-modal-close:hover{color:var(--gray-700)}.bs-modal-body{flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.bs-modal-footer{border-top:1px solid var(--gray-200);justify-content:flex-end;gap:.5rem;padding:1rem 1.5rem;display:flex}.drop-zone{border:2px dashed var(--gray-300);border-radius:var(--radius-lg);text-align:center;font-size:var(--text-sm);color:var(--gray-500);cursor:pointer;transition:all var(--transition-fast);padding:2rem}.drop-zone.drag-over{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-600)}.drop-zone .file-input{display:none}.bs-browse-link{color:var(--primary-500);cursor:pointer;text-decoration:underline}.bs-file-name{color:var(--gray-700);font-weight:var(--font-medium);margin:0}.error-message{font-size:var(--text-sm);color:var(--error-600);margin:0}.bs-template-link{font-size:var(--text-sm);color:var(--primary-500);text-align:center;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:none}.bs-template-link:hover{text-decoration:underline}.bs-upload-done{text-align:center;font-size:var(--text-base);color:var(--success-500);font-weight:var(--font-semibold);margin:0;padding:1rem 0}.bs-upload-hint{color:#9ca3af;margin-top:.25rem;font-size:.75rem}.bs-mapping-hint{font-size:var(--text-sm);color:var(--gray-600);margin:0 0 .25rem}.bs-role-chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.bs-role-chip{border:1px solid var(--gray-300);color:var(--gray-600);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;background:#fff;border-radius:999px;padding:.35rem .7rem}.bs-role-chip:hover{border-color:var(--primary-500)}.bs-role-chip--human{background:var(--primary-50);border-color:var(--primary-500);color:var(--primary-700)}.bs-rename-display{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.bs-rename-btn{cursor:pointer;color:var(--gray-400);opacity:0;transition:opacity var(--transition-fast);background:0 0;border:none;padding:.1rem;display:inline-flex}.bs-rename-display:hover .bs-rename-btn,.bs-sim-row:hover .bs-rename-btn{opacity:1}.bs-rename-btn:hover{color:var(--primary-500)}.bs-rename-row{align-items:center;gap:.35rem;display:flex}.bs-rename-row .bs-name-input{flex:1;width:auto}.bs-rename-row button{cursor:pointer;background:0 0;border:none;padding:.2rem;display:inline-flex}.bs-rename-row button:first-of-type{color:var(--success-500,#10b981)}.bs-rename-row button:last-of-type{color:var(--error-600)}.bs-grading-failed-badge{color:#b91c1c;white-space:nowrap;background:#fef2f2;border:1px solid #fecaca;border-radius:999px;align-items:center;padding:.1rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.mode-badge{border-radius:4px;justify-content:center;align-items:center;min-width:60px;padding:.2rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.simulations-container{color:#1f2937;max-width:1200px;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-bottom:2rem;display:flex}.simulations-container .header-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.header-content{display:block}.header-content .page-title{color:#1f2937;margin:0 0 8px;font-size:1.8rem;font-weight:700;display:block}.page-description{color:#666;margin:0;font-size:1rem}.header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.sim-create-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#6686cc;border:none;border-radius:6px;align-items:center;gap:8px;min-height:40px;padding:.5rem 1.25rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-flex}.sim-create-btn:hover{background-color:#5a7bc4}.sim-search-input{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:200px;padding:8px 12px;font-family:Montserrat,sans-serif;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.sim-search-input:focus{border-color:#6686cc;box-shadow:0 0 0 3px #6686cc26}.sim-status-toggle{background:#f3f4f6;border-radius:10px;flex-shrink:0;align-items:center;gap:2px;padding:4px;display:inline-flex}.sim-status-toggle-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:7px;padding:8px 12px;font-family:inherit;font-size:.82rem;font-weight:600;transition:background .12s,color .12s}.sim-status-toggle-btn:hover:not(.active){color:#374151;background:#e5e7eb}.sim-status-toggle-btn.active{background:#fff;box-shadow:0 1px 4px #0000001a}.sim-status-toggle-btn[data-val=all].active{color:#1f2937}.sim-status-toggle-btn[data-val=active].active{color:#16a34a}.sim-status-toggle-btn[data-val=archived].active{color:#4b5563}.sim-status-toggle-btn[data-val=draft].active{color:#713f12}.td-assessment-badges{flex-wrap:wrap;gap:4px;display:flex}.assess-badge{color:#6686cc;white-space:nowrap;background:#f0f4ff;border:1px solid #c7d6f7;border-radius:4px;padding:.08rem .3rem;font-size:.62rem;font-weight:600;display:inline-block}.sim-filters-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:1rem;display:flex}.sim-dropdown-wrap{flex-shrink:0;display:inline-block}.sim-dropdown-wrap--char{width:170px}.sim-dropdown-wrap--perpage{width:145px}.simulations-container .btn-reset{color:#fff;cursor:pointer;white-space:nowrap;background:#6686cc;border:1px solid #6686cc;border-radius:8px;padding:8px 12px;font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s}.simulations-container .btn-reset:hover:not(:disabled){background:#4b61aa;border-color:#4b61aa}.simulations-container .btn-reset:disabled{opacity:.35;cursor:default}.sim-pagination-bar{justify-content:center;align-items:center;gap:12px;margin-top:1rem;padding:.5rem 0;display:flex}.sim-nav-btn{color:#fff;cursor:pointer;background:#6686cc;border:1px solid #6686cc;border-radius:6px;padding:6px 18px;font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s}.sim-nav-btn:hover:not(:disabled){background:#4b61aa;border-color:#4b61aa}.sim-nav-btn:disabled{opacity:.4;cursor:default}.sim-page-info{color:#374151;text-align:center;min-width:80px;font-size:.82rem}.simulations-table-wrapper{background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 4px #00000012}.simulations-container .user-table{min-width:600px;border-collapse:collapse!important;table-layout:fixed!important;background-color:#fff!important;width:100%!important;font-size:.82rem!important}.user-table th{color:#374151;background-color:#eaf2fb;font-weight:600}.sort-icon{opacity:.9;margin-left:4px;font-size:.75rem}.sort-icon--inactive{opacity:.35}.simulations-container .user-table th:first-child,.simulations-container .user-table td:first-child{text-align:center!important;width:2.5rem!important;min-width:2.5rem!important;max-width:2.5rem!important}.simulations-container .user-table th:nth-child(2),.simulations-container .user-table td:nth-child(2){text-align:left!important;width:32%!important}.simulations-container .user-table th:nth-child(3),.simulations-container .user-table td:nth-child(3){text-align:left!important;width:18%!important}.simulations-container .user-table th:nth-child(4),.simulations-container .user-table td:nth-child(4){text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-align:center!important;width:8%!important}.simulations-container .user-table td:nth-child(4){font-size:.82rem!important}.simulations-container .user-table th:nth-child(5),.simulations-container .user-table td:nth-child(5),.simulations-container .user-table th:nth-child(6),.simulations-container .user-table td:nth-child(6){text-align:center!important;width:15%!important}.simulations-container .user-table th:nth-child(7),.simulations-container .user-table td:nth-child(7){text-align:center!important;width:12%!important}.td-actions{align-items:center;gap:4px;display:inline-flex}.td-muted{color:#9ca3af}.sim-classes-count{cursor:default;color:#6686cc;font-weight:500}.sim-classes-popover{z-index:1000;pointer-events:none;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:160px;padding:.5rem 0;position:fixed;box-shadow:0 4px 16px #0000001a}.sim-classes-popover-label{text-transform:uppercase;color:#9ca3af;margin:0;padding:0 .75rem .35rem;font-size:.7rem;font-weight:600}.sim-classes-popover-item{color:#374151;white-space:nowrap;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.82rem;display:flex}.sim-classes-popover-item .mode-badge{flex-shrink:0;padding:1px 6px;font-size:.7rem}.sim-classes-popover-item:hover{color:#6686cc;background:#f3f4f6}.row-number{color:#9ca3af;font-size:.8rem;text-align:center!important;width:2.5rem!important;min-width:2.5rem!important;max-width:2.5rem!important}.sim-char-version{color:#6b7280;vertical-align:middle;background:#f3f4f6;border-radius:4px;margin-left:.35rem;padding:1px 5px;font-size:.68rem;font-weight:600}.sim-row-desc{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.78rem;overflow:hidden}.status-pill{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:.18rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.status-pill--draft{color:#713f12;background:#fde047}.status-pill--active,.status-pill--published{color:#14532d;background:#86efac}.status-pill--archived{color:#374151;background:#f3f4f6}.status-pill--clickable{cursor:pointer}.status-pill--clickable:hover{filter:brightness(.92)}.sim-row-badges{flex-direction:column;align-items:center;gap:.3rem;display:inline-flex}.sim-shared-badge{color:#1e3a8a;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;background:#bfdbfe;border-radius:20px;padding:3px 9px;font-size:.72rem;font-weight:600;display:inline-block}.state-dropdown{cursor:pointer;border:1px solid #0000;border-radius:6px;outline:none;width:100%;max-width:120px;padding:3px 6px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;transition:opacity .15s}.state-dropdown:disabled{cursor:default;opacity:.8}.edit-pencil-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.95rem;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.edit-pencil-btn:hover{color:#6686cc;background:#e0e7ff}.edit-pencil-btn--disabled{opacity:.25;cursor:not-allowed}.edit-pencil-btn--disabled:hover{color:#6b7280;background:0 0}.edit-pencil-btn--danger:hover{color:#dc2626;background:#fee2e2}.simulation-link{color:#5a6e99;font-weight:500;text-decoration:none}.simulation-link:hover{color:#3a4a66;text-decoration:underline}.simulations-container .user-table td button.activate-btn,.simulations-container .user-table td a.activate-btn,.simulations-container .user-table td button.edit-btn,.simulations-container .user-table td a.edit-btn,.simulations-container .user-table td button.share-btn,.simulations-container .user-table td a.share-btn,.simulations-container .user-table td button.delete-btn,.simulations-container .user-table td a.delete-btn,.simulations-container .card-actions button.activate-btn,.simulations-container .card-actions a.activate-btn,.simulations-container .card-actions button.edit-btn,.simulations-container .card-actions a.edit-btn,.simulations-container .card-actions button.share-btn,.simulations-container .card-actions a.share-btn,.simulations-container .card-actions button.delete-btn,.simulations-container .card-actions a.delete-btn{color:#fff!important;cursor:pointer!important;box-sizing:border-box!important;text-align:center!important;letter-spacing:normal!important;word-spacing:normal!important;white-space:nowrap!important;vertical-align:middle!important;appearance:none!important;border:none!important;border-radius:6px!important;outline:none!important;flex:none!important;justify-content:center!important;align-items:center!important;width:90px!important;min-width:90px!important;max-width:90px!important;height:30px!important;margin:0!important;padding:0!important;font-family:Montserrat,sans-serif!important;font-size:.85rem!important;font-weight:400!important;line-height:1!important;text-decoration:none!important;transition:background-color .2s!important;display:inline-flex!important}.simulations-container .delete-btn{background-color:#f28b82;color:#fff!important;cursor:pointer!important;box-sizing:border-box!important;text-align:center!important;letter-spacing:normal!important;word-spacing:normal!important;white-space:nowrap!important;vertical-align:middle!important;appearance:none!important;border:none!important;border-radius:6px!important;flex:none!important;justify-content:center!important;align-items:center!important;width:90px!important;min-width:90px!important;max-width:90px!important;height:30px!important;margin:0!important;padding:0!important;font-family:Montserrat,sans-serif!important;font-size:.85rem!important;font-weight:400!important;line-height:1!important;text-decoration:none!important;transition:background-color .2s!important;display:inline-flex!important}.simulations-container .delete-btn:hover{background-color:#ef4444}.simulations-cards-wrapper{flex-direction:column;gap:1rem;display:flex}.simulation-card{cursor:pointer;background-color:#fff;border-radius:12px;flex-direction:column;min-height:140px;padding:1.5rem;transition:box-shadow .2s,transform .2s;display:flex;position:relative;box-shadow:0 2px 6px #0000000d}.simulation-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.card-title{color:#1f2937;flex:1;min-width:0;margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.detail-value{color:#374151;text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin-left:1rem;font-size:.875rem;overflow:hidden}.simulations-container .card-actions .activate-btn,.simulations-container .card-actions .delete-btn,.simulations-container .card-actions .edit-btn,.simulations-container .card-actions .share-btn{flex-direction:row;justify-content:center;align-items:center;display:inline-flex;flex:none!important;width:90px!important;min-width:90px!important;max-width:90px!important}.simulations-empty-state{text-align:center;color:#6b7280;padding:3rem 1rem;font-style:italic}@media (width<=768px){.simulations-container{padding:1rem}.page-header{flex-direction:column;align-items:stretch;gap:16px}.header-content .page-title{margin-bottom:.5rem;font-size:1.5rem}.page-description{font-size:.9rem}.simulation-card{min-height:120px;padding:1.25rem}.simulation-card:hover{transform:none;box-shadow:0 4px 12px #00000014}.card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.card-title{font-size:1rem}.card-date{font-size:.8rem}.card-actions{flex-wrap:nowrap;width:100%;display:flex}.simulations-container .card-actions .activate-btn,.simulations-container .card-actions .delete-btn,.simulations-container .card-actions .edit-btn,.simulations-container .card-actions .share-btn{white-space:nowrap;justify-content:center;min-height:44px;display:inline-flex;flex:none!important;width:90px!important}}@media (width<=480px){.simulations-container{padding:.75rem}.page-title{text-align:center;font-size:1.25rem}.simulation-card{border-radius:8px;min-height:100px;padding:1rem}.simulation-card:hover{transform:none;box-shadow:0 3px 10px #0000000f}.card-title{font-size:.95rem}.simulation-card .card-actions{flex-flow:row;display:flex}.simulations-container .simulation-card .card-actions .activate-btn,.simulations-container .simulation-card .card-actions .delete-btn,.simulations-container .simulation-card .card-actions .edit-btn,.simulations-container .simulation-card .card-actions .share-btn{flex:1;width:auto;padding:.5rem .25rem;font-size:.8rem;display:inline-block}}.simulations-container button.activate-btn,.simulations-container button.edit-btn,.simulations-container button.delete-btn,.simulations-container a.activate-btn,.simulations-container a.edit-btn,.simulations-container a.delete-btn{box-sizing:border-box!important;justify-content:center!important;align-items:center!important;width:90px!important;min-width:90px!important;max-width:90px!important;height:30px!important;padding:0!important;display:inline-flex!important}.sim-overview-container{max-width:min(1300px,95vw);margin:0 auto;padding:1.5rem;font-family:Montserrat,sans-serif}.sim-overview-loading,.sim-overview-error{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:200px;font-size:.9rem;display:flex}.sim-overview-topbar{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.2rem 1.5rem;display:flex;box-shadow:0 1px 3px #0000000f}.sim-overview-back{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.4rem .85rem;font-family:inherit;font-size:.83rem;font-weight:500;display:inline-flex}.sim-overview-back:hover{background:#e5e7eb}.sim-overview-title{color:#1f2937;margin:0 0 .4rem;font-size:1.8rem;font-weight:700;line-height:1.2}.sim-overview-draft-badge{letter-spacing:.03em;text-transform:uppercase;cursor:pointer;border-radius:20px;padding:3px 9px;font-size:.72rem;font-weight:600;line-height:1;transition:filter .15s;display:inline-block}.sim-overview-draft-badge:hover{filter:brightness(.92)}.sim-overview-draft-badge.is-active{color:#14532d;background:#86efac}.sim-overview-draft-badge.is-archived{color:#374151;background:#e5e7eb}.sim-overview-draft-badge.is-open{color:#166534;cursor:default;background:#dcfce7}.sim-overview-draft-badge.is-closed{color:#991b1b;cursor:default;background:#fecaca}.sim-overview-draft-badge.is-hidden{color:#1f2937;cursor:default;background:#d1d5db}.sim-overview-draft-badge.is-open:hover,.sim-overview-draft-badge.is-closed:hover,.sim-overview-draft-badge.is-hidden:hover{filter:none}.sim-overview-class-meta{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:6px;display:flex}.sim-overview-attempt-display{color:#6b7280;white-space:nowrap;font-size:.8rem;font-weight:600}.sim-overview-vis-select{cursor:pointer;text-transform:uppercase;letter-spacing:.03em;border:none;border-radius:20px;outline:none;padding:3px 9px;font-family:inherit;font-size:.72rem;font-weight:600}.sim-btn{cursor:pointer;border:none;border-radius:7px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.sim-btn-primary{color:#fff;background:#6686cc}.sim-btn-primary:hover{background:#5a7bc4}.sim-btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.sim-btn-secondary:hover{background:#f3f4f6}.sim-btn-sm{padding:.35rem .75rem;font-size:.8rem}.sim-btn:disabled{opacity:.6;cursor:not-allowed}.sim-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.4rem;box-shadow:0 1px 3px #0000000f}.sim-card-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.6rem;display:flex}.sim-card-header h2{color:#111827;align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:700;display:flex}.sim-private-tag{color:#9ca3af;font-size:.72rem;font-weight:500}.sim-grid-2{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=900px){.sim-grid-2{grid-template-columns:1fr}}.sim-col{flex-direction:column;gap:1.5rem;display:flex}.sim-section-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem;font-size:.7rem;font-weight:700}.sim-section-text{color:#4b5563;white-space:pre-line;margin:0;font-size:.88rem;line-height:1.65}.sim-empty{color:#d1d5db;font-size:.85rem;font-style:italic}.sim-patient-header{align-items:flex-start;gap:1.25rem;display:flex}.sim-photo-wrap{border-radius:10px;flex-shrink:0;width:72px;height:72px;overflow:hidden}.sim-photo{object-fit:cover;border-radius:10px;width:72px;height:72px}.sim-photo-placeholder{color:#9ca3af;background:#e5e7eb;border-radius:10px;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.9rem;display:flex}.sim-patient-name{color:#111827;margin:0 0 .2rem;font-size:1.15rem;font-weight:700}.sim-patient-sub{color:#6b7280;margin:0 0 .2rem;font-size:.87rem}.sim-patient-body{border-top:1px solid #f3f4f6;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:1.1rem;padding-top:1rem;display:grid}@media (width<=700px){.sim-patient-body{grid-template-columns:1fr}}.sim-patient-tab{flex-direction:column;gap:1.5rem;display:flex}.sim-view-toggle-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.sim-view-toggle-label{color:#6b7280;font-size:.8rem;font-weight:600}.sim-toggle-group{background:#f9fafb;border:1px solid #e5e7eb;border-radius:7px;display:inline-flex;overflow:hidden}.sim-toggle-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-right:1px solid #e5e7eb;padding:.28rem .85rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background .12s,color .12s}.sim-toggle-btn:last-child{border-right:none}.sim-toggle-btn.active{color:#fff;background:#6686cc}.sim-lv-edit-btn{color:#6686cc;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.3rem;padding:.28rem .75rem;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.sim-lv-edit-btn:hover{background:#f0f4ff;border-color:#6686cc}.sim-lv-edit-bar{color:#6686cc;background:#f0f4ff;border:1.5px dashed #6686cc;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.78rem;font-weight:600;display:flex}.sim-lv-section{border-radius:8px;padding:.4rem .5rem;transition:opacity .15s,background .12s;position:relative}.sim-lv-section.lv-hidden{opacity:.35}.sim-lv-section.lv-editable{cursor:pointer}.sim-lv-section.lv-editable:hover{opacity:1;background:#f3f4f6}.sim-lv-section.lv-editable.lv-hidden:hover{background:#f0f4ff}.lv-eye-icon{color:#9ca3af;line-height:1;position:absolute;top:.35rem;right:.35rem}.sim-prebrief-card{background:#f0f4ff;border:1px solid #c7d6f7;border-radius:10px;padding:1rem 1.2rem}.sim-prebrief-header{margin-bottom:.35rem}.sim-prebrief-label{color:#6686cc;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem;font-size:.7rem;font-weight:700}.sim-prebrief-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.sim-prebrief-text{color:#374151;flex:1;margin:0;font-size:.88rem;line-height:1.6}.sim-notes-text{color:#4b5563;white-space:pre-line;margin:0;font-size:.88rem;line-height:1.65}.sim-notes-area{color:#374151;resize:vertical;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;width:100%;min-height:80px;padding:.6rem .75rem;font-family:inherit;font-size:.87rem}.sim-notes-area:focus{border-color:#0000;outline:2px solid #6686cc}.sim-notes-actions{justify-content:flex-end;gap:.5rem;margin-top:.6rem;display:flex}.sim-pencil-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;align-items:center;gap:.25rem;padding:.2rem .4rem;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.sim-pencil-btn:hover{color:#6686cc;background:#f0f4ff}.sim-overview-assessment-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem;display:grid}.sim-start-results-stat{flex-direction:column;align-items:center;gap:.15rem;display:flex}.sim-start-results-stat-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.sim-start-results-stat-value{color:#1f2937;font-size:1rem;font-weight:600}.sim-overview-assessment-empty{text-align:center;color:#9ca3af;padding:3rem 1rem;font-size:.88rem}.cl-item{border-bottom:1px solid #f3f4f6;gap:.75rem;padding:.6rem 0;display:flex}.cl-item:last-child{border-bottom:none}.cl-box{border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;width:18px;height:18px;margin-top:2px}.cl-cat{color:#6686cc;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.1rem;font-size:.72rem;font-weight:700}.cl-desc{color:#374151;font-size:.87rem}.cl-hint{color:#9ca3af;margin-top:.15rem;font-size:.78rem;line-height:1.45}.rb-item{border-bottom:1px solid #f3f4f6;padding:.7rem 0}.rb-item:last-child{border-bottom:none}.rb-name{color:#6686cc;margin-bottom:.15rem;font-size:.9rem;font-weight:700}.rb-desc{color:#6b7280;margin-bottom:.35rem;font-size:.83rem}.rb-scale-list{flex-direction:column;gap:.4rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.rb-scale-item{color:#4b5563;flex-direction:column;gap:.1rem;font-size:.83rem;display:flex}.rb-scale-item-row{gap:.5rem;display:flex}.rb-scale-score{color:#374151;white-space:nowrap;font-weight:700}.rb-scale-desc{color:#4b5563}.rb-scale-examples{color:#9ca3af;padding-left:1.5rem;font-size:.76rem;font-style:italic}.sim-modal-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sim-modal{background:#fff;border-radius:12px;flex-direction:column;width:min(460px,95vw);display:flex;box-shadow:0 8px 32px #0000002e}.sim-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.1rem 1.4rem .8rem;display:flex}.sim-modal-header h3{color:#111827;margin:0;font-size:1rem;font-weight:700}.sim-modal-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1rem}.sim-modal-close:hover{color:#374151;background:#f3f4f6}.sim-modal-body{flex-direction:column;gap:1rem;padding:1.2rem 1.4rem;display:flex}.sim-modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.5rem;padding:.8rem 1.4rem 1.1rem;display:flex}.sim-modal-field{flex-direction:column;gap:.35rem;display:flex}.sim-modal-label{color:#374151;text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.sim-modal-select{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:7px;padding:.45rem .7rem;font-family:inherit;font-size:.87rem}.sim-modal-body .sim-seg-bar{width:100%}.sim-seg-btn.s-mode-online{color:#1e40af;background:#dbeafe}.sim-seg-btn.s-mode-offline{color:#6b7280;background:#f3f4f6}.sim-modal-body .sim-seg-btn{text-align:center;flex:1;padding:.45rem .65rem;font-size:.87rem}.sim-modal-select:focus{border-color:#0000;outline:2px solid #6686cc}.sim-modal-error{color:#dc2626;margin:0;font-size:.82rem}.sim-modal-loading,.sim-modal-empty{text-align:center;color:#9ca3af;padding:2rem 1.4rem;font-size:.87rem}.sim-seg-btn:disabled{opacity:.4;cursor:not-allowed}.sim-class-mgmt{flex-direction:column;gap:1rem;display:flex}.sim-class-mgmt-header{justify-content:space-between;align-items:center;display:flex}.sim-class-mgmt-header h3{color:#111827;margin:0;font-size:1rem;font-weight:700}.sim-class-empty{text-align:center;color:#9ca3af;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:3rem 1rem;font-size:.88rem}.sim-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.sim-table-scroll .sim-class-table{min-width:620px}.sim-class-table{border-collapse:collapse;width:100%;font-size:.87rem}.sim-class-table thead th{text-align:left;color:#374151;background:#eaf2fb;padding:.55rem .85rem;font-size:.8rem;font-weight:600}.sim-class-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .1s}.sim-class-table tbody tr:last-child{border-bottom:none}.sim-class-table tbody tr:hover{background:#f9faff}.sim-class-table tbody tr.sim-row-editing{background:#f0f4ff}.sim-class-table td{vertical-align:middle;padding:.7rem .85rem}.sim-class-name-cell{color:#111827;font-weight:600}.sim-seg-bar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:inline-flex;overflow:hidden}.sim-seg-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-right:1px solid #e5e7eb;padding:.22rem .65rem;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .12s,color .12s}.sim-seg-btn:last-child{border-right:none}.sim-seg-btn:hover{color:#374151;background:#f3f4f6}.sim-seg-btn.s-open{color:#166534;background:#dcfce7}.sim-seg-btn.s-closed{color:#991b1b;background:#fecaca}.sim-seg-btn.s-hidden{color:#1f2937;background:#d1d5db}.sim-seg-bar.locked .sim-seg-btn{pointer-events:none}.sim-seg-bar.locked .sim-seg-btn:not(.s-active):not(.s-archived):not(.s-open):not(.s-closed):not(.s-hidden){opacity:.4}.sim-attempt-display{color:#374151;white-space:nowrap;font-weight:600}.sim-row-actions-cell{white-space:nowrap}.sim-row-edit-btns{align-items:center;gap:.3rem;display:inline-flex}.sim-pencil-xs{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.18rem .45rem;font-family:inherit;font-size:.78rem;font-weight:600}.sim-pencil-xs:hover{color:#6686cc;background:#f0f4ff}.sim-save-xs{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:5px;padding:.18rem .5rem;font-family:inherit;font-size:.75rem;font-weight:600}.sim-cancel-xs{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:5px;padding:.18rem .5rem;font-family:inherit;font-size:.75rem;font-weight:600}.sim-cancel-xs:hover{background:#f3f4f6}.sim-results-toolbar{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;min-height:3rem;padding:.65rem 1rem;display:flex}.sim-row-selected td{background:#f0f4ff}.sim-group-name-input{color:#111827;border:1px solid #d1d5db;border-radius:6px;outline:none;width:180px;padding:.3rem .6rem;font-family:inherit;font-size:.82rem}.sim-group-name-input:focus{border-color:#6686cc}.sim-groups-menu-wrap{position:relative}.sim-groups-menu{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;width:280px;padding:.75rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 8px 24px #0f172a1f}.sim-groups-menu-section{flex-direction:column;gap:.35rem;display:flex}.sim-groups-menu-label{color:#6b7280;text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:600}.sim-groups-menu-divider{border:none;border-top:1px solid #f0f0f0;margin:0}.sim-group-rename-pencil{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:.15rem;display:inline-flex}.sim-group-rename-pencil:hover{color:#7c3aed;background:#f5f3ff}.sim-group-rename-inline{color:#7c3aed;background:#fff;border:1.5px solid #a78bfa;border-radius:4px;outline:none;width:140px;padding:.1rem .4rem;font-family:inherit;font-size:.78rem;font-weight:600}.evidence-quotes-toggle{margin-top:.5rem}.evidence-quotes-toggle-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;font-weight:500}.evidence-quotes-toggle-btn:hover{color:#374151;text-decoration:underline}.evidence-quotes-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.evidence-quotes-list li{color:#4b5563;border-left:3px solid #e5e7eb;padding:.25rem .75rem;font-size:.85rem;font-style:italic}.admin-draft-cleanup{max-width:1200px;margin:0 auto;padding:2rem 2.5rem;font-family:Montserrat,sans-serif}.admin-draft-cleanup .user-table-wrapper{overflow:visible}.admin-draft-cleanup .user-table{border-spacing:0;border-collapse:separate!important}.admin-draft-cleanup .user-table thead tr th:first-child{border-top-left-radius:12px}.admin-draft-cleanup .user-table thead tr th:last-child{border-top-right-radius:12px}.admin-draft-cleanup .user-table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}.admin-draft-cleanup .user-table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}.dc-stats{gap:1rem;margin-bottom:1.5rem;display:flex}.dc-stat{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;flex:1;align-items:center;padding:1rem 1.5rem;display:flex}.dc-stat__value{color:#1e293b;font-size:1.75rem;font-weight:700}.dc-stat__value--expired{color:#dc2626}.dc-stat__label{color:#6b7280;text-align:center;margin-top:.25rem;font-size:.75rem}.dc-result{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.dc-result__errors{color:#dc2626;flex-direction:column;gap:.25rem;margin-top:.5rem;display:flex}.dc-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.dc-btn-refresh{cursor:pointer;color:#374151;background-color:#f3f4f6;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.4rem;height:38px;padding:.5rem 1rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.dc-btn-refresh:hover:not(:disabled){background-color:#e5e7eb}.dc-btn-refresh:disabled{opacity:.5;cursor:not-allowed}.dc-btn-danger{cursor:pointer;color:#fff;background-color:#f28b82;border:none;border-radius:6px;align-items:center;gap:.4rem;height:38px;padding:.5rem 1rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.dc-btn-danger:hover:not(:disabled){background-color:#e76a6a}.dc-btn-danger:disabled{opacity:.5;cursor:not-allowed}.dc-row--expired td{background-color:#fff7f7}.admin-draft-cleanup .user-table th.dc-col-check,.admin-draft-cleanup .user-table td.dc-col-check{white-space:nowrap;width:10%;padding:0 10px}.dc-td-doc{text-overflow:ellipsis;white-space:nowrap;text-align:left;max-width:260px;font-weight:500;overflow:hidden}.admin-draft-cleanup .user-table th.dc-col-actions,.admin-draft-cleanup .user-table td.dc-col-actions{white-space:nowrap;text-align:center;width:1%}.dc-trash-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.35rem;transition:color .2s,background-color .2s;display:inline-flex}.dc-trash-btn:hover:not(:disabled){color:#dc2626;background-color:#fef2f2}.dc-trash-btn:disabled{opacity:.5;cursor:not-allowed}.dc-owner{font-weight:500}.dc-owner-email{color:#6b7280;font-size:.8rem}.dc-reason{border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.reason-discard{color:#7f1d1d;background-color:#f7a4a4}.reason-cancel{color:#92400e;background-color:#fef3c7}.reason-orphaned{color:#374151;background-color:#e5e7eb}.dc-badge--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.dc-badge--clickable:hover{opacity:.8}.dc-status-menu{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:6px;min-width:140px;padding:.25rem 0;position:absolute;top:calc(100% - 4px);left:0;box-shadow:0 4px 12px #0000001a}.dc-status-menu__item{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;width:100%;padding:.5rem .85rem;font-family:Montserrat,sans-serif;font-size:.85rem;display:block}.dc-status-menu__item:hover{color:#1e293b;background-color:#eaf2fb}.dc-loading,.dc-empty{text-align:center;color:#6b7280;padding:3rem;font-size:.95rem}.rte-wrapper{background:#fff;border:1px solid #cbd5e1;border-radius:7px;font-family:Montserrat,sans-serif;overflow:hidden}.rte-wrapper.rte-disabled{background:#f3f4f6}.rte-toolbar{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:2px;padding:.4rem .5rem;display:flex}.rte-style-select{color:#374151;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;outline:none;padding:.25rem .4rem;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:500}.rte-style-select:hover{border-color:#cbd5e1}.rte-btn{color:#374151;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:.25rem .5rem;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:600;line-height:1.4;transition:background .15s}.rte-btn:hover{background:#e2e8f0}.rte-btn-active{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.rte-divider{background:#e2e8f0;width:1px;height:18px;margin:0 4px}.rte-content{color:#111827;outline:none;min-height:220px;padding:.75rem;font-size:.875rem;line-height:1.65}.terms-admin-layout{align-items:flex-start;gap:1.5rem;font-family:Montserrat,sans-serif;display:flex}.terms-version-list{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;flex:0 0 220px;padding:1rem;display:flex;overflow:hidden}.terms-version-items-wrapper{flex:1;overflow-y:auto}.terms-version-list-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.terms-version-list-header h2{color:#111827;margin:0;font-size:.9rem;font-weight:700}.terms-new-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:6px;padding:.3rem .6rem;font-family:Montserrat,sans-serif;font-size:.8rem}.terms-new-btn:hover{background:#5574bb}.terms-list-empty{color:#9ca3af;margin:0;font-size:.85rem}.terms-version-items{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.terms-version-item{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;padding:.5rem .75rem;transition:background .15s,border-color .15s;display:flex}.terms-version-item:hover{background:#eef2ff}.terms-version-item.active{background:#eef2ff;border-color:#6686cc}.terms-version-label{color:#111827;font-size:.85rem;font-weight:600}.terms-editor{flex:1;min-width:0}.terms-editor-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.terms-editor-header h2{color:#111827;margin:0;font-size:1rem;font-weight:700}.terms-editor-actions{flex-wrap:wrap;gap:.5rem;display:flex}.terms-copy-select{cursor:pointer;color:#374151;background:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none;padding:.45rem .7rem;font-family:Montserrat,sans-serif;font-size:.85rem}.terms-copy-select:hover{border-color:#94a3b8}.terms-clear-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:.45rem .9rem;font-family:Montserrat,sans-serif;font-size:.85rem}.terms-clear-btn:hover{color:#374151;background:#f3f4f6}.terms-preview-toggle{cursor:pointer;color:#374151;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:.45rem .9rem;font-family:Montserrat,sans-serif;font-size:.85rem}.terms-preview-toggle:hover{background:#f3f4f6}.terms-save-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:7px;padding:.45rem 1rem;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600}.terms-save-btn:hover:not(:disabled){background:#5574bb}.terms-save-btn:disabled{opacity:.5;cursor:not-allowed}.terms-activate-btn{color:#065f46;cursor:pointer;background:#d1fae5;border:1px solid #6ee7b7;border-radius:7px;padding:.45rem .9rem;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600}.terms-activate-btn:hover:not(:disabled){background:#a7f3d0}.terms-active-notice{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-size:.85rem}.terms-version-badges{align-items:center;gap:.35rem;display:flex}.terms-active-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.terms-locked-notice{color:#92400e;background:#fffbeb;border:1px solid #f59e0b;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-size:.85rem}.terms-form{flex-direction:column;gap:1.25rem;display:flex}.terms-field{flex-direction:column;flex:1;gap:.4rem;display:flex}.terms-field label{color:#374151;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:700}.terms-field input,.terms-field textarea{color:#111827;resize:vertical;background:#fafafa;border:1px solid #cbd5e1;border-radius:7px;padding:.55rem .75rem;font-family:Montserrat,sans-serif;font-size:.875rem}.terms-field input:focus,.terms-field textarea:focus{background:#fff;border-color:#6686cc;outline:none}.terms-full-content-divider{border-top:1px solid #e5e7eb;margin:.5rem 0}.terms-full-content-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.terms-full-content-header label{margin-bottom:0}.terms-field-optional{color:#9ca3af;text-transform:none;letter-spacing:0;font-size:.75rem;font-weight:400}.terms-toggle-row{color:#374151;cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.terms-toggle-row input[type=checkbox]{accent-color:#6686cc;cursor:pointer;flex-shrink:0;width:15px;height:15px}.terms-field input:disabled,.terms-field textarea:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.terms-sections-area{flex-direction:column;gap:1rem;display:flex}.terms-sections-header{justify-content:space-between;align-items:center;display:flex}.terms-sections-header label{color:#374151;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:700}.terms-add-section-btn{color:#4338ca;cursor:pointer;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;padding:.3rem .7rem;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600}.terms-add-section-btn:hover{background:#e0e7ff}.terms-section-block{background:#fafafa;border:1px solid #e5e7eb;border-radius:9px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.terms-section-block-header{justify-content:space-between;align-items:center;display:flex}.terms-section-num{color:#6686cc;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.terms-section-remove-icon{cursor:pointer;color:#b91c1c;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:.25rem;display:flex}.terms-section-remove-icon:hover{color:#991b1b;background:#fee2e2}.terms-section-heading-input{color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:7px;padding:.5rem .75rem;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:600}.terms-section-heading-input:focus{border-color:#6686cc;outline:none}.terms-section-heading-input:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.terms-overlay{z-index:1000;font-family:Montserrat,sans-serif;position:fixed;inset:0}.terms-overlay--split{flex-direction:row;display:flex}.terms-overlay-left{background-color:#6686cc;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.terms-overlay-aim-high{color:#f1f8ff;text-align:center;font-family:Nico Moji,sans-serif;font-size:clamp(2rem,4vw,3rem)}.terms-overlay-right{background-color:#f9fafb;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow-y:auto}.terms-overlay-close{cursor:pointer;color:#6b7280;z-index:1;background:0 0;border:none;border-radius:6px;padding:.3rem .6rem;font-family:Montserrat,sans-serif;font-size:1rem;line-height:1;position:absolute;top:1rem;right:1rem}.terms-overlay-close:hover{color:#374151;background:#0000000f}.terms-overlay-box{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:min(600px,92%);padding:2rem;box-shadow:0 1px 4px #00000012}.terms-overlay-intro{color:#6b7280;margin-bottom:1.75rem;font-size:.95rem;line-height:1.6}.terms-overlay-section{text-align:left;border-top:1px solid #e5e7eb;padding:1.25rem 0}.terms-overlay-section:last-of-type{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.terms-overlay-section h2{color:#111827;margin-bottom:.5rem;font-size:1rem;font-weight:700}.terms-overlay-section p{color:#374151;margin:0;font-size:.9rem;line-height:1.65}.terms-overlay-link-row{margin:1.25rem 0 1.5rem;font-size:.875rem}.terms-overlay-link-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-family:Montserrat,sans-serif;font-size:.875rem}.terms-overlay-link-btn:hover{text-decoration:underline}.terms-overlay--minimal{background:#fff;flex-direction:column;display:flex}.terms-overlay-topbar{background-color:#edf1fb;border-bottom:1px solid #c5d1ec;flex-shrink:0;align-items:center;gap:.75rem;height:60px;padding:0 1.5rem;display:flex;box-shadow:0 1px 4px #0000000d}.terms-overlay-logo{color:#6686cc;text-align:center;flex:1;font-family:Nico Moji,sans-serif;font-size:22px}.terms-overlay-back{color:#6686cc;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600}.terms-overlay-back:hover{text-decoration:underline}.terms-overlay--minimal .terms-overlay-close{background:0 0;position:static}.terms-overlay-full-body{flex:1;justify-content:center;padding:3rem 1rem;display:flex;overflow-y:auto}.terms-overlay-full-content{width:100%;max-width:min(720px,92vw)}.terms-overlay-full-content h1{color:#111827;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.terms-overlay-full-content h2{color:#111827;margin:1.5rem 0 .4rem;font-size:1rem;font-weight:700}.terms-overlay-full-content h3{color:#111827;margin:1.2rem 0 .3rem;font-size:.9rem;font-weight:700}.terms-overlay-full-content p{color:#374151;min-height:1em;margin:0 0 .5rem;font-size:.9rem;line-height:1.65}.terms-overlay-full-content ul,.terms-overlay-full-content ol{color:#374151;margin:0 0 .6rem;padding-left:1.5rem;font-size:.9rem;line-height:1.65}.terms-overlay-full-content a{color:#2563eb;text-decoration:underline}.terms-overlay-full-content hr{border:none;border-top:1px solid #e5e7eb;margin:1rem 0}.terms-overlay-box .terms-checkbox-label{cursor:pointer;color:#111827;justify-content:center;align-items:flex-start;gap:.6rem;margin-bottom:1.5rem;font-size:.9rem;line-height:1.5;display:flex}.terms-overlay-box .terms-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#6686cc;flex-shrink:0;width:16px;height:16px;margin-top:3px}.terms-overlay-box .terms-continue-btn{color:#fff;cursor:pointer;opacity:.45;background-color:#6686cc;border:none;border-radius:8px;width:100%;padding:.75rem;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600}@media (width<=900px){.terms-admin-layout{flex-direction:column}.terms-version-list{flex:none;width:100%}}.eng-page{max-width:1200px;margin:0 auto;padding:2rem 2.5rem;font-family:Montserrat,sans-serif}.eng-page .usage-filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.eng-filter-bar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.75rem;display:flex}.eng-filter-bar .filter-label{color:#6b7280;font-size:.875rem}.eng-ss{min-width:160px;max-width:240px;font-size:.85rem;position:relative}.eng-ss__trigger{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:space-between;align-items:center;gap:.35rem;padding:.38rem .55rem .38rem .7rem;display:flex}.eng-ss__trigger:hover{border-color:#9ca3af}.eng-ss__placeholder{color:#9ca3af}.eng-ss__value{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.eng-ss__arrow{color:#9ca3af;flex-shrink:0;font-size:.7rem}.eng-ss__search{color:#374151;background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.85rem}.eng-ss__dropdown{z-index:200;background:#fff;border:1px solid #d1d5db;border-radius:8px;min-width:100%;max-width:320px;max-height:220px;padding:.25rem 0;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.eng-ss__option{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;color:#374151;padding:.45rem .85rem;font-size:.85rem;overflow:hidden}.eng-ss__option:hover{background:#f3f4f6}.eng-ss__option--all{color:#6b7280;border-bottom:1px solid #f3f4f6}.eng-ss__option--selected{color:#4f46e5;background:#eef2ff;font-weight:500}.eng-ss__option--none{color:#9ca3af;cursor:default}.eng-cards{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:1rem;display:grid}.eng-cards--5{grid-template-columns:repeat(5,1fr)}@media (width<=1100px){.eng-cards--5{grid-template-columns:repeat(3,1fr)}}@media (width<=900px){.eng-cards,.eng-cards--5{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.eng-cards,.eng-cards--5{grid-template-columns:1fr}}.eng-card{background:#fff;border-top:4px solid #0000;border-radius:12px;padding:1.4rem 1.6rem;box-shadow:0 1px 4px #00000012}.eng-card--views{border-top-color:#6686cc}.eng-card--learners{border-top-color:#10b981}.eng-card--time{border-top-color:#8b5cf6}.eng-card--abandon{border-top-color:#f97316}.eng-card--bounce{border-top-color:#ef4444}.eng-card--meaningful{border-top-color:#f59e0b}.eng-card--rate{border-top-color:#ec4899}.eng-card--transcript{border-top-color:#0ea5e9}.eng-card--rubric{border-top-color:#a855f7}.eng-card--checklist{border-top-color:#14b8a6}.eng-log-header{justify-content:space-between;align-items:center;display:flex}.trend-chart{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem .5rem;box-shadow:0 1px 4px #0000000d}.trend-chart__legend{gap:1.25rem;margin-bottom:.5rem;display:flex}.trend-chart__legend-item{color:#374151;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:inline-flex}.trend-chart__legend-swatch{border-radius:999px;width:10px;height:10px;display:inline-block}.trend-chart__svg-wrap{position:relative}.trend-chart__svg{cursor:crosshair;width:100%;height:220px;display:block}.trend-chart__grid{stroke:#eef0f3;stroke-width:1px}.trend-chart__axis-label{fill:#9ca3af;font-family:Montserrat,sans-serif;font-size:9px}.trend-chart__end-label{fill:#374151;font-family:Montserrat,sans-serif;font-size:10px;font-weight:700}.trend-chart__crosshair{stroke:#d1d5db;stroke-width:1px}.trend-chart__tooltip{pointer-events:none;z-index:2;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:150px;padding:.55rem .7rem;position:absolute;top:8px;transform:translate(-50%);box-shadow:0 4px 14px #0000001a}.trend-chart__tooltip-date{color:#374151;margin-bottom:.35rem;font-size:.75rem;font-weight:700}.trend-chart__tooltip-row{align-items:center;gap:.4rem;padding:.1rem 0;font-size:.78rem;display:flex}.trend-chart__tooltip-key{border-radius:2px;flex-shrink:0;width:10px;height:2px;display:inline-block}.trend-chart__tooltip-label{color:#6b7280;flex:1}.trend-chart__tooltip-value{color:#111827;font-weight:700}.trend-chart--empty{text-align:center;padding-bottom:1rem}.trend-chart__empty-msg{color:#9ca3af;padding:2.5rem 0 1rem;font-size:.85rem}.eng-log-legend{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:.75rem 0 1rem;padding:.75rem 1rem}.eng-log-legend summary{cursor:pointer;color:#374151;font-size:.85rem;font-weight:600}.eng-log-legend__note{color:#6b7280;margin:.75rem 0 1rem;font-size:.8rem;line-height:1.5}.eng-log-legend__cols{flex-wrap:wrap;gap:2.5rem;display:flex}.eng-log-legend__col-title{text-transform:uppercase;letter-spacing:.03em;color:#9ca3af;margin-bottom:.4rem;font-size:.75rem;font-weight:700}.eng-log-legend__col-note{color:#6b7280;max-width:320px;margin:0 0 .6rem;font-size:.76rem;line-height:1.45}.eng-log-legend dl{grid-template-columns:auto 1fr;gap:.35rem .75rem;margin:0;display:grid}.eng-log-legend dt{color:#374151;white-space:nowrap;font-size:.8rem;font-weight:600}.eng-log-legend dd{color:#6b7280;margin:0;font-size:.8rem}.eng-page .usage-table-wrapper table{table-layout:fixed;width:100%}.eng-page .usage-table-wrapper th:first-child{width:13%}.eng-page .usage-table-wrapper th:nth-child(2){width:15%}.eng-page .usage-table-wrapper th:nth-child(3){width:20%}.eng-page .usage-table-wrapper th:nth-child(4){width:14%}.eng-page .usage-table-wrapper th:nth-child(5){width:10%}.eng-page .usage-table-wrapper th:nth-child(6){width:8%}.eng-page .usage-table-wrapper th:nth-child(7){width:14%}.eng-page .usage-table-wrapper td{white-space:nowrap;text-overflow:ellipsis;max-width:0;overflow:hidden}.eng-type-pill{white-space:nowrap;border-radius:999px;padding:.18rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.eng-tabs{border-bottom:2px solid #e5e7eb;margin-bottom:1.5rem;display:flex}.eng-tab{text-align:center;color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:.6rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:color .15s,border-color .15s}.eng-tab:hover{color:#374151}.eng-tab--active{color:#4f46e5;border-bottom-color:#4f46e5}.eng-card--instr-total{border-top-color:#6686cc}.eng-card--instr-instructors{border-top-color:#10b981}.eng-card--instr-time{border-top-color:#8b5cf6}.eng-card--instr-char{border-top-color:#f59e0b}.eng-card--instr-sim{border-top-color:#0ea5e9}.role-layout{max-width:100vw;height:100vh;font-family:Montserrat,sans-serif;display:flex;position:relative;overflow:hidden}.main-content{flex:1;width:100%;min-width:0;overflow:hidden auto}.admin-sidebar{background:#d8e0f2;border-right:1px solid #c5d1ec;flex-direction:column;width:220px;padding:2rem 1rem 1rem;transition:width .3s;display:flex;box-shadow:2px 0 4px #0000000a}.admin-sidebar.collapsed{align-items:center;width:64px;padding:2rem .5rem}.dashboard-header{color:#374151;cursor:pointer;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;display:flex}.dashboard-title,.nav-label{opacity:1;transition:opacity .2s,transform .2s;transform:scale(1)}.sidebar-top{flex-direction:column;flex:1;height:100%;display:flex}.nav-links{flex-direction:column;flex:1;gap:1rem;margin-top:2rem;display:flex}.nav-links a,.nav-action-item{color:#374151;white-space:nowrap;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:flex}.nav-label{white-space:normal;word-break:break-word;flex:1}.nav-links a:hover,.nav-action-item:hover{color:#1d4ed8;background-color:#e5f0fb}.nav-action-item .nav-icon{color:inherit}.admin-sidebar.collapsed .dashboard-title,.admin-sidebar.collapsed .nav-links a>:not(.nav-icon){display:none}.nav-icon{color:#6b7280;justify-content:center;align-items:center;min-width:24px;height:24px;display:flex}.nav-icon-larger{color:#6b7280;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:20px;display:flex}.topbar{background-color:#edf1fb;border-bottom:1px solid #c5d1ec;justify-content:space-between;align-items:center;height:60px;padding:0 1.5rem;display:flex;box-shadow:0 1px 4px #0000000d}.topbar-left{align-items:center;gap:1rem;display:flex}.mobile-menu-toggle{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;transition:background-color .2s;display:none}.mobile-menu-toggle:hover{background-color:#0000000d}.topbar-right{align-items:center;gap:1rem;display:flex}.profile-link{align-items:center;text-decoration:none;display:flex}.profile-icon{color:#3b82f6;font-size:30px;transition:color .3s}.profile-icon:hover{color:#1e3a8a}.profile-icon{text-decoration:none}.logo{color:#6686cc;cursor:pointer;margin:0;padding:0;font-family:Nico Moji,sans-serif;font-size:28px;line-height:1;text-decoration:none;display:inline-block;transform:translateY(2px)}.nav-dropdown{flex-direction:column;gap:.25rem;display:flex}.nav-dropdown-header{color:#374151;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-weight:500;transition:background-color .2s;display:flex}.nav-dropdown-header:hover{color:#1d4ed8;background-color:#e5f0fb}.nav-dropdown-children{flex-direction:column;gap:.5rem;padding-left:2.5rem;display:flex}.nav-sub-header{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;cursor:default;-webkit-user-select:none;user-select:none;padding:.4rem .5rem .1rem;font-size:.82rem;font-weight:600}.nav-sub-link{color:#4b5563;border-radius:4px;padding:.25rem .5rem;font-size:.95rem;text-decoration:none;transition:background-color .2s}.nav-links .nav-sub-link{white-space:normal;word-break:break-word}.nav-sub-link:hover{color:#1d4ed8;background-color:#e0e7ff}.left-content{align-items:center;gap:.75rem;display:flex}.folder-toggle-icon{color:#6b7280;justify-content:center;align-items:center;margin-left:auto;transition:color .2s;display:flex}.nav-dropdown-header:hover .folder-toggle-icon{color:#1d4ed8}.nav-dropdown-children-wrapper{max-height:0;transition:max-height .3s;overflow:hidden}.nav-dropdown-children-wrapper.open{max-height:500px}.nav-dropdown-children{flex-direction:column;gap:.5rem;margin-top:.5rem;padding-left:2.5rem;display:flex}.sidebar{background:#d8e0f2;border-right:1px solid #c5d1ec;flex-direction:column;width:clamp(13.75rem,16vw,15.625rem);height:100vh;min-height:100vh;padding:2rem 1rem 1rem;transition:width .3s,transform .3s;display:flex;overflow:hidden auto;box-shadow:2px 0 4px #0000000a}.sidebar.collapsed{align-items:center;width:64px;height:100vh;min-height:100vh;padding:2rem .5rem;overflow:hidden auto}.sidebar.collapsed .dashboard-title,.sidebar.collapsed .nav-label,.sidebar.collapsed .folder-toggle-icon,.sidebar.collapsed .nav-dropdown-children-wrapper{display:none}@media (width<=1024px){.sidebar.collapsed .dashboard-title,.sidebar.collapsed .nav-label,.sidebar.collapsed .folder-toggle-icon,.sidebar.collapsed .nav-dropdown-children-wrapper{display:block!important}.sidebar.collapsed{align-items:flex-start!important;width:280px!important;padding:2rem 1rem 1rem!important}}.logout{color:#fff;cursor:pointer;background-color:#f28b82;border:none;border-radius:4px;padding:.25rem 1rem;font-size:.875rem;font-weight:700}.logout:hover{background-color:#e76a6a}.collapsed-popup-menu{z-index:9999;opacity:1;background-color:#fff;border:1px solid #ccc;border-radius:8px;padding:.5rem;transition:opacity .2s,transform .2s;position:fixed;transform:translateY(4px);box-shadow:0 4px 12px #0000001a}.collapsed-popup-menu:before{content:"";filter:drop-shadow(-1px 1px 1px #00000014);border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid #fff;width:0;height:0;position:absolute;top:8px;left:-8px}.popup-link{color:#1f2937;white-space:nowrap;border-radius:6px;padding:.4rem .75rem;text-decoration:none;transition:background-color .2s;display:block}.popup-link:hover{color:#1d4ed8;background-color:#e5f0fb}@media (width<=1300px){.sidebar{width:13.75rem}.sidebar.collapsed{width:60px}.logo{font-size:clamp(24px,3.5vw,28px)}}@media (width<=1200px){.sidebar{width:12.5rem;padding:1.5rem .75rem 1rem}.sidebar.collapsed{width:56px;padding:1.5rem .25rem}.nav-links{gap:.75rem;margin-top:1.5rem}.nav-links a,.nav-action-item{padding:.5rem;font-size:.9rem}.dashboard-header{font-size:1rem}.nav-dropdown-children{padding-left:2rem}}@media (width<=1100px){.sidebar{width:11.875rem;padding:1.25rem .5rem 1rem}.sidebar.collapsed{width:52px;padding:1.25rem .2rem}.nav-links{gap:.5rem;margin-top:1.25rem}.nav-links a,.nav-action-item{padding:.4rem;font-size:.85rem}.nav-label{font-size:.85rem}.dashboard-header{font-size:.95rem}.topbar{padding:0 1rem}}@media (width<=1024px){.sidebar{z-index:1000;height:100vh;min-height:100vh;top:0;left:0;transform:translate(-100%);box-shadow:2px 0 10px #00000026;width:280px!important;padding:2rem 1rem 1rem!important;position:fixed!important}.sidebar-open{transform:translate(0)}.sidebar-closed{transform:translate(-100%)}.sidebar-overlay{z-index:999;background-color:#00000080;width:100%;height:100%;transition:opacity .3s;position:fixed;top:0;left:0}.mobile-menu-toggle{display:flex}.main-content{width:100%}.topbar{padding:0 1rem}.logo{font-size:clamp(22px,4vw,28px)}.collapsed-popup-menu{width:auto;min-width:200px;transform:translate(-50%)translateY(4px);left:50%!important}.collapsed-popup-menu:before{border:8px solid #0000;border-top:none;border-bottom-color:#fff;top:-8px;left:50%;transform:translate(-50%)}}@media (width<=768px){.sidebar{width:260px}.topbar{height:56px;padding:0 .75rem}.logo{font-size:24px}.topbar-right,.nav-links{gap:.75rem}.nav-links a,.nav-action-item{padding:.75rem;font-size:.95rem}.nav-dropdown-children{padding-left:2rem}}@media (width<=480px){.sidebar{width:240px}.topbar{height:52px;padding:0 .5rem}.logo{font-size:20px}.profile-icon{font-size:26px}.logout{padding:.25rem .75rem!important;font-size:.8rem!important}.nav-links{gap:.5rem}.nav-links a,.nav-action-item{padding:.625rem .75rem;font-size:.9rem}.dashboard-header{font-size:1rem}.collapsed-popup-menu{min-width:180px;padding:.375rem}.popup-link{padding:.375rem .625rem;font-size:.9rem}}@media (width<=1024px){.nav-links a,.nav-action-item,.nav-dropdown-header,.dashboard-header{align-items:center;min-height:44px;display:flex}.mobile-menu-toggle{min-width:44px;min-height:44px}.collapsed-popup-menu{display:none!important}}@media (prefers-reduced-motion:no-preference){.sidebar{transition:transform .3s cubic-bezier(.4,0,.2,1)}.sidebar-overlay{transition:opacity .25s}.collapsed-popup-menu{transition:opacity .15s,transform .15s}}@media (prefers-color-scheme:dark){.sidebar-overlay{background-color:#000000b3}}.instructor-classes-container{color:#1f2937;max-width:1200px;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif}@media (width<=768px){.instructor-classes-container{padding:1rem}}@media (width<=480px){.instructor-classes-container{padding:.75rem}}.switch{-webkit-user-select:none;user-select:none;width:50px;height:28px;display:inline-block;position:relative}.filter-actions .switch{flex-shrink:0;align-self:center}.switch input{opacity:0;width:0;height:0;position:absolute}.slider:before{content:"";will-change:transform;background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .4s;position:absolute;top:50%;left:4px;transform:translateY(-50%);box-shadow:0 2px 8px #00000026}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.filter-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.status-tab--selected.status-tab--open,.status-tab--selected.status-tab--open .status-tab-label{color:#16a34a}.status-tab--selected.status-tab--closed,.status-tab--selected.status-tab--closed .status-tab-label{color:#4b5563}@media (width<=768px){.top-bar{flex-direction:column;align-items:flex-start;gap:1.5rem}.page-title{font-size:1.5rem}.filter-actions{justify-content:space-between;width:100%}}@media (width<=480px){.top-bar{gap:1rem}.page-title{font-size:1.25rem}.filter-actions{flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}}@media (width<=1024px){.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}}@media (width<=768px){.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}}@media (width<=480px){.card-grid{grid-template-columns:1fr;gap:.75rem;margin-top:1rem}}.class-card h2{color:#1f2937;margin-top:0;margin-bottom:.5rem;padding-right:4rem;font-size:1.1rem;line-height:1.3}@media (width<=768px){.class-card{min-height:100px;padding:1rem}.class-card h2{padding-right:2.5rem;font-size:1rem}.class-card p{padding-right:2.5rem;font-size:.875rem}}@media (width<=480px){.class-card{min-height:90px;padding:.875rem}.class-card h2{padding-right:2rem;font-size:.95rem}.class-card p{padding-right:2rem;font-size:.8rem}}.card--dim.card--closed{opacity:.8;background-color:#e9eaec;border:1px solid #d1d5db}.instructor-classes-container .card-status-pill--open{color:#14532d;background:#86efac}.instructor-classes-container .card-status-pill--closed{color:#991b1b;background:#fecaca}.card-status-pill--clickable{cursor:pointer;transition:filter .15s}.card-status-pill--clickable:hover{filter:brightness(.92)}.card-status-actions{gap:4px;margin-top:auto;padding-top:.75rem;display:flex}.card-edit-btn{color:#9ca3af;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:20px;margin-left:auto;padding:3px 8px;font-size:.85rem;transition:color .15s,border-color .15s}.card-edit-btn:hover{color:#4b5563;border-color:#9ca3af}.card-edit-fields{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.card-edit-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.4rem .6rem;font-family:Montserrat,sans-serif;font-size:.9rem;transition:border-color .15s}.card-edit-input:focus{border-color:#6686cc;outline:none}.card-edit-textarea{resize:none}.card-edit-save{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:20px;padding:4px 14px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;transition:background .15s}.card-edit-save:hover:not(:disabled){background:#5a7bc4}.card-edit-save:disabled{opacity:.4;cursor:not-allowed}.card-edit-cancel{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:20px;padding:4px 14px;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:500;transition:background .15s}.card-edit-cancel:hover{background:#f3f4f6}.class-card .switch{width:36px;height:20px;position:absolute;top:1rem;right:1rem}@media (width<=768px){.class-card .switch{width:32px;height:18px;top:.75rem;right:.75rem}.class-card .slider:before{width:12px;height:12px;bottom:3px;left:3px}.class-card input:checked+.slider:before{transform:translate(14px)}}@media (width<=480px){.class-card .switch{width:30px;height:16px;top:.5rem;right:.5rem}.class-card .slider:before{width:10px;height:10px;bottom:3px;left:3px}.class-card input:checked+.slider:before{transform:translate(12px)}}.class-card .switch input{opacity:0;width:0;height:0}.class-card .slider{cursor:pointer;background-color:#d1d5db;border-radius:20px;transition:all .4s;position:absolute;inset:0}.class-card .slider:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .4s;position:absolute;bottom:3px;left:3px}.class-card input:checked+.slider{background-color:#ef4444}.class-card input:checked+.slider:before{transform:translate(16px)}.instructor-classes-container .activate-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#6686cc;border:none;border-radius:6px;min-height:40px;padding:.5rem 1.25rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;transition:background-color .2s,opacity .2s}.instructor-classes-container .activate-btn:hover{background-color:#5a7bc4}.instructor-classes-container .activate-btn:disabled{opacity:.4;cursor:not-allowed}.instructor-classes-container .activate-btn:disabled:hover,.instructor-classes-container .modal-box .activate-btn{background-color:#6686cc}.instructor-classes-container .modal-box .activate-btn:hover:not(:disabled){background-color:#5a7bc4}.instructor-classes-container .cancel-btn{color:#374151;cursor:pointer;white-space:nowrap;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;min-height:40px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.instructor-classes-container .cancel-btn:hover{background-color:#e5e7eb}@media (width<=480px){.instructor-classes-container .activate-btn,.instructor-classes-container .cancel-btn{justify-content:center;width:100%;min-height:44px;padding:.625rem 1rem;font-size:.8rem}}.modal-backdrop{z-index:999;box-sizing:border-box;background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-box{z-index:1000;background-color:#fff;border-radius:12px;width:min(500px,100%);max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 5px 20px #00000026}.create-class-modal{padding:0}.create-class-modal .modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.create-class-modal .modal-header h3{color:#1f2937;border-bottom:none;margin:0;font-size:1.2rem;font-weight:700;text-decoration:none}.create-class-modal .close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.create-class-modal .close-btn:hover{color:#374151}.create-class-modal .modal-body{flex-direction:column;padding:1rem 1.25rem;display:flex}.create-class-modal .modal-footer{margin-top:0;padding:.75rem 1.25rem}.modal-box h3{color:#1f2937;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.modal-box p{color:#6b7280;margin-bottom:1.5rem;font-size:.9rem}.modal-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;margin-bottom:1rem;padding:.75rem;font-family:Montserrat,sans-serif;font-size:.95rem;transition:border-color .2s}.modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=768px){.modal-backdrop{padding:.5rem}.modal-box{border-radius:8px;padding:1.5rem}.modal-box h3{font-size:1.125rem}}@media (width<=480px){.modal-backdrop{align-items:flex-end;padding:.25rem}.modal-box{border-radius:8px 8px 0 0;width:100%;max-width:none;margin-bottom:0;padding:1rem}.modal-footer{flex-direction:column;gap:.5rem}.modal-input{padding:.875rem;font-size:16px}}.empty-state{text-align:center;color:#6b7280;grid-column:1/-1;padding:3rem 1rem;font-style:italic}.card-status-pill{white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;border-radius:20px;padding:3px 9px;font-size:.72rem;font-weight:600;line-height:1;position:absolute;top:.85rem;right:.85rem}.cd-header{background:#fff;border-radius:10px;margin-bottom:1rem;padding:1.5rem 2rem 1.5rem 3rem;position:relative}.cd-header-activate{position:absolute;top:1.25rem;right:1.5rem}.cd-header-row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.cd-title{margin:0;font-size:1.5rem;font-weight:600}.cd-title-editable{color:#1f2937;background:#f0f4ff;border:none;border-radius:6px;outline:none;width:auto;max-width:480px;margin:0;padding:.15rem .5rem;font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:600}.cd-title-editable:focus{background:#e8eeff}.cd-desc-editable{color:#4b5563;resize:none;box-sizing:border-box;background:#f0f4ff;border:none;border-radius:6px;outline:none;width:100%;margin:.4rem 0 0;padding:.25rem .5rem;font-family:Montserrat,sans-serif;font-size:1rem;line-height:1.5}.cd-desc-editable:focus{background:#e8eeff}.cd-status-pill-wrap{cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;padding:3px 28px 3px 10px;font-size:.8rem;font-weight:600;display:inline-flex;position:relative}.cd-status-pill-wrap.cd-status-btn--open{color:#14532d;background:#86efac;border-color:#4ade80}.cd-status-pill-wrap.cd-status-btn--closed{color:#991b1b;background:#fecaca;border-color:#fca5a5}.cd-status-pill-wrap:after{content:"▾";pointer-events:none;font-size:.75rem;position:absolute;right:8px}.cd-status-pill-select{appearance:none;cursor:pointer;color:inherit;background:0 0;border:none;outline:none;padding:0;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600}.cd-edit-icon-btn{cursor:pointer;color:#888;background:0 0;border:none;border-radius:4px;align-items:center;padding:.2rem;transition:background .15s;display:flex}.cd-edit-icon-btn:hover{background:#d6e4f5}.cd-description{color:#4b5563;margin:.4rem 0 0;font-size:1rem}.cd-text-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;transition:opacity .15s}.cd-text-btn--cancel{color:#6b7280}.cd-text-btn--cancel:hover{color:#374151}.cd-text-btn--save{color:#6686cc}.cd-text-btn--save:hover{color:#4b61aa}.cd-meta-row{color:#6b7280;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;display:flex}.cd-meta-label{color:#374151;margin-right:.25rem;font-weight:600}.cd-meta-sep{color:#d1d5db}.class-detail-container{color:#1f2937;max-width:min(1300px,95vw);margin:0 auto;padding:1.5rem;font-family:Montserrat,sans-serif}.user-table th{color:#374151;background-color:#eaf2fb;font-weight:600;text-align:center!important}.user-table td{border-top:1px solid #f3f4f6;text-align:center!important}.user-table th:last-child,.user-table td:last-child{text-align:center;width:100px;min-width:100px}.user-table td:nth-child(2),.user-table th:nth-child(2){white-space:nowrap;min-width:110px}.user-table td:nth-child(3),.user-table th:nth-child(3){min-width:160px}.class-simulations-container .user-table td:nth-child(3),.class-simulations-container .user-table th:nth-child(3){min-width:0}.class-simulations-container .user-table{table-layout:fixed;width:100%}.class-simulations-container .user-table th:first-child,.class-simulations-container .user-table td:first-child{text-align:center;width:4%}.class-simulations-container .user-table th:nth-child(2),.class-simulations-container .user-table td:nth-child(2){width:28%;text-align:left!important}.class-simulations-container .user-table th:nth-child(3),.class-simulations-container .user-table td:nth-child(3){width:16%;min-width:0;text-align:left!important}.class-simulations-container .user-table th:nth-child(4),.class-simulations-container .user-table td:nth-child(4),.class-simulations-container .user-table th:nth-child(5),.class-simulations-container .user-table td:nth-child(5),.class-simulations-container .user-table th:nth-child(6),.class-simulations-container .user-table td:nth-child(6),.class-simulations-container .user-table th:nth-child(7),.class-simulations-container .user-table td:nth-child(7){text-align:center;width:9%}.class-simulations-container .user-table th:nth-child(8),.class-simulations-container .user-table td:nth-child(8){text-align:center;width:16%}.tab-button-class{color:#374151;cursor:pointer;background-color:#f9fafb;border:1px solid #cbd5e1;border-radius:6px;margin-top:.01rem;margin-bottom:1rem;padding:.5rem .25rem;font-weight:400;transition:background-color .2s}.tab-button{color:#374151;cursor:pointer;background-color:#f9fafb;border:1px solid #cbd5e1;border-radius:6px;padding:.5rem 1.25rem;font-weight:600;transition:background-color .2s}.tab-button.active{color:#1e40af;background-color:#e0e7ff;border-color:#a5b4fc}.tab-button:hover{background-color:#f3f4f6}.tab-slider-wrapper{border-bottom:2px solid #e5e7eb;width:100%;margin-bottom:1.5rem}.tab-slider-container:before{content:"";z-index:1;background-color:#6686cc;border-radius:4px 4px 0 0;width:50%;height:3px;transition:transform .3s;position:absolute;bottom:0;left:0;transform:translate(0%)}.tab-slider-container.unpublished:before{transform:translate(100%)}.tab-option{text-align:center;cursor:pointer;color:#6b7280;z-index:2;flex:1;padding:1rem 0;font-size:1rem;font-weight:600;transition:color .3s}.tab-slider-bar{z-index:1;background-color:#6686cc;border-radius:2px 2px 0 0;width:50%;height:3px;transition:transform .3s;position:absolute;bottom:0;left:0}.tab-slider-container{width:100%;display:flex;position:relative}.tab-option{text-align:center;color:#6b7280;cursor:pointer;flex:1;padding:1rem 0;font-size:1rem;font-weight:550;position:relative}.tab-option.active{color:#6686cc}.tab-slider-bar{background-color:#6686cc;border-radius:4px 4px 0 0;width:50%;height:3px;transition:transform 1s;position:absolute;bottom:0;left:0}.tab-slider-container:after{content:"";z-index:0;background-color:#d1d5db;width:100%;height:1px;position:absolute;bottom:0;left:0}.modal-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.6rem;font-family:Montserrat,sans-serif;font-size:.95rem}.upload-content textarea.modal-input{min-height:7.5rem}.class-detail-container .modal-box .activate-btn{color:#fff;background-color:#6686cc}.class-detail-container .modal-box .activate-btn:hover{background-color:#4b61aa}.modal-box .cancel-btn{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.class-detail-container .activate-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.class-detail-container .activate-btn:hover{background-color:#4b61aa}.cd-status-btn{color:#6b7280;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:20px;padding:5px 14px;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:500;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.cd-status-btn:hover:not(.cd-status-btn--current){color:#1f2937;background:#e5e7eb;border-color:#9ca3af;box-shadow:0 1px 3px #00000014}.cd-status-btn--current{cursor:default}.cd-status-btn--current.cd-status-btn--open{color:#14532d;background:#86efac;border-color:#4ade80}.cd-status-btn--current.cd-status-btn--closed{color:#991b1b;background:#fecaca;border-color:#fca5a5}.class-detail-container .cancel-btn{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.class-detail-container .cancel-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.admin-users .card-actions .activate-btn,.admin-users .card-actions .edit-btn,.admin-users .card-actions .share-btn,.admin-users td .activate-btn,.admin-users td .edit-btn,.admin-users td .share-btn{transition:background-color .2s;color:#fff!important;cursor:pointer!important;box-sizing:border-box!important;text-align:center!important;border:none!important;border-radius:6px!important;flex:none!important;justify-content:center!important;align-items:center!important;width:90px!important;height:30px!important;padding:6px 12px!important;font-family:inherit!important;font-size:.85rem!important;font-weight:400!important;line-height:1!important;display:inline-flex!important}.activate-btn{background-color:#6686cc}.edit-btn{background-color:#57c189}.delete-btn{color:#fff;cursor:pointer;background-color:#f28b82;border:none;border-radius:6px;min-width:70px;padding:.4rem .75rem;font-size:.85rem;font-weight:500;transition:background-color .2s}.delete-btn:hover{background-color:#ef4444}.switch,.switch-danger{width:42px;height:24px;display:inline-block;position:relative}.switch input,.switch-danger input{opacity:0;width:0;height:0}.slider,.slider-danger{cursor:pointer;border-radius:34px;transition:all .3s;position:absolute;inset:0}.slider{background-color:#d1d5db}.slider:before,.slider-danger:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.react-select__control{border-radius:6px;min-height:44px;font-size:1rem}.react-select__multi-value,.react-select__multi-value__label{color:#fff;background-color:#6366f1}.react-select__control--is-focused{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.react-select__menu{z-index:10}.react-select__option{padding:10px;font-size:.95rem}.react-select__option--is-focused{color:#1e40af;background-color:#e0e7ff}.react-select-wrapper{margin-top:1rem;font-family:Montserrat,sans-serif}.preview-container{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:.5rem;padding:1rem 1.25rem}.preview-container h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.preview-container p{color:#374151;margin-bottom:.4rem;font-size:.95rem}.assignment-card{cursor:pointer;background-color:#fff;border-radius:12px;flex-direction:column;min-height:140px;padding:1.5rem;transition:box-shadow .2s,transform .2s;display:flex;position:relative;box-shadow:0 2px 6px #0000000d}.assignment-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.card-title{color:#1f2937;flex:1;margin:0;font-size:1.125rem;font-weight:600;line-height:1.4}.card-date{color:#6b7280;white-space:nowrap;font-size:.875rem;font-weight:500}.card-details{flex-direction:column;flex-grow:1;gap:.5rem;margin-bottom:1rem;display:flex}.card-detail{justify-content:space-between;align-items:center;display:flex}.detail-label{color:#6b7280;font-size:.875rem;font-weight:600}.detail-value{color:#374151;text-align:right;flex:1;margin-left:1rem;font-size:.875rem}.card-actions{flex-flow:row;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-top:auto;display:flex}.card-actions .activate-btn,.card-actions .delete-btn,.card-actions .edit-btn,.card-actions .share-btn{flex-direction:row;justify-content:center;align-items:center;display:inline-flex;flex:none!important;width:90px!important;min-width:90px!important;max-width:90px!important}@media (width<=768px){.admin-users .assignments-container{padding:1rem}.admin-users .page-title{margin-bottom:1.5rem;font-size:1.5rem}.admin-users .assignment-card{min-height:120px;padding:1.25rem}.admin-users .assignment-card:hover{transform:none;box-shadow:0 4px 12px #00000014}.admin-users .card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.admin-users .card-title{font-size:1rem}.admin-users .card-date{font-size:.8rem}.admin-users .card-actions{flex-wrap:nowrap;width:100%;display:flex}.admin-users .card-actions .activate-btn,.admin-users .card-actions .delete-btn,.admin-users .card-actions .edit-btn,.admin-users .card-actions .share-btn{white-space:nowrap;flex:1;justify-content:center;width:auto;min-height:44px;display:inline-flex}}@media (width<=480px){.admin-users .assignments-container{padding:.75rem}.admin-users .page-title{text-align:center;font-size:1.25rem}.admin-users .assignment-card{border-radius:8px;min-height:100px;padding:1rem}.admin-users .assignment-card:hover{transform:none;box-shadow:0 3px 10px #0000000f}.admin-users .card-title{font-size:.95rem}.admin-users .assignment-card .card-actions{flex-flow:row;display:flex}.admin-users .assignment-card .card-actions .activate-btn,.admin-users .assignment-card .card-actions .delete-btn,.admin-users .assignment-card .card-actions .edit-btn,.admin-users .assignment-card .card-actions .share-btn{flex:1;width:auto;padding:.5rem .25rem;font-size:.8rem;display:inline-block}}.status-badge{text-transform:capitalize;white-space:nowrap;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.status-badge.published{color:#166534;background-color:#dcfce7;border:1px solid #bbf7d0}.status-badge.draft{color:#92400e;background-color:#fef3c7;border:1px solid #fde68a}.status-badge.archived{color:#6b7280;background-color:#f3f4f6;border:1px solid #d1d5db}.sim-char-version{color:#6686cc;margin-left:.35rem;font-size:.68rem;font-weight:600}.class-simulations-container{margin-top:0;position:relative}.draggable-table .draggable-row{cursor:grab;-webkit-user-select:none;user-select:none;transition:background-color .2s,opacity .2s}.draggable-table .draggable-row:active{cursor:grabbing}.draggable-table .draggable-row.dragging{opacity:.5;background-color:#e0e7ff}.drag-handle{text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none;padding:.75rem .5rem!important}.drag-icon{color:#6b7280;cursor:grab;margin-right:.5rem;font-weight:700;display:inline-block;transform:rotate(90deg)}.order-number{color:#374151;font-size:.875rem;font-weight:600}.draggable-row:hover .drag-icon{color:#4b5563}.class-simulations-container .user-table th:first-child,.class-simulations-container .user-table td:first-child{width:5%;min-width:120px}.class-simulations-container .user-table th:nth-child(2),.class-simulations-container .user-table td:nth-child(2){padding-left:2rem}.class-simulations-container .user-table th:nth-child(3),.class-simulations-container .user-table td:nth-child(3){width:20%;text-align:center!important}.add-simulation-section{justify-content:flex-end;gap:.75rem;margin-top:1rem;padding:1rem 0;display:flex}.add-simulation-btn{color:#fff;cursor:pointer;background-color:#57c189;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .2s;display:flex}.add-simulation-btn:hover:not(:disabled){background-color:#4ade80}.add-simulation-btn:disabled{color:#9ca3af;cursor:not-allowed;background-color:#e5e7eb}.add-learner-btn{color:#065f46;cursor:pointer;background-color:#d1fae5;border:1px solid #6ee7b7;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .2s;display:flex}.add-learner-btn:hover:not(:disabled){background-color:#a7f3d0}.add-learner-btn:disabled{color:#9ca3af;cursor:not-allowed;background-color:#e5e7eb;border-color:#e5e7eb}.add-sim-config{gap:1rem;margin-bottom:1rem;display:flex}.add-sim-config-field{flex-direction:column;flex:1;gap:.35rem;display:flex}.add-sim-config-field label{color:#374151;font-size:.8rem;font-weight:600}.add-simulation-modal{width:90vw;max-width:600px;max-height:80vh;overflow-y:auto}.simulation-list{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;max-height:400px;margin:1rem 0;padding:1rem;overflow-y:auto}.simulation-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:1rem;transition:border-color .2s;display:flex}.simulation-item:last-child{margin-bottom:0}.simulation-item:hover{border-color:#d1d5db}.simulation-info{flex:1}.simulation-info h4{color:#1f2937;margin:0 0 .5rem;font-size:1rem;font-weight:600}.simulation-info p{color:#6b7280;margin:0 0 .5rem;font-size:.875rem}.empty-state{text-align:center;color:#6b7280;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:2rem;font-style:italic}.groups-section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.groups-section h3{color:#1f2937;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.groups-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.create-group-btn{color:#fff;cursor:pointer;background-color:#57c189;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.create-group-btn:hover{background-color:#4ade80}.group-info{flex:1}.group-info h4{color:#1f2937;margin:0 0 .25rem;font-size:1rem;font-weight:600}.group-info p{color:#6b7280;margin:0 0 .5rem;font-size:.875rem}.group-learners-modal{width:90vw;max-width:600px;max-height:80vh;overflow-y:auto}.learners-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;max-height:400px;margin:1rem 0;overflow-y:auto}.status-badge.completed{color:#166534;background-color:#dcfce7;border:1px solid #bbf7d0}.status-badge.active{color:#1e40af;background-color:#dbeafe;border:1px solid #93c5fd}.status-badge.inactive{color:#6b7280;background-color:#f3f4f6;border:1px solid #d1d5db}.assessment-header{background-color:#f3f4f6;border-radius:8px;margin:1rem 0;padding:1rem}.assessment-header p{margin:.25rem 0;font-size:.875rem}.assessment-section{border-bottom:1px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1.5rem}.assessment-section:last-child{border-bottom:none;margin-bottom:0}.assessment-section h3{color:#1f2937;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.125rem;font-weight:600;display:flex}.score{color:#059669;margin:0;font-size:2rem;font-weight:700}.feedback{flex:1}.feedback p{margin:.5rem 0;font-size:.875rem;line-height:1.5}.transcript-message{border:1px solid #0000;border-radius:8px;margin-bottom:1rem;padding:.75rem}.transcript-message.learner{background-color:#eff6ff;border-color:#dbeafe;margin-left:2rem}.speaker{font-size:.875rem;font-weight:600}.transcript-message.learner .speaker{color:#1e40af}.timestamp{color:#6b7280;font-size:.75rem}.message-content{color:#374151;font-size:.875rem;line-height:1.5}.simulation-title{flex-direction:column;gap:.25rem;display:flex}.simulation-description{color:#6b7280;margin-top:.25rem;font-size:.8rem;font-style:italic}.class-simulations-container .group-count,.class-simulations-container .learner-count,.class-detail-container .group-count,.class-detail-container .learner-count{color:#1e40af!important;background-color:#e0e7ff!important;border-radius:12px!important;justify-content:center!important;align-items:center!important;min-width:24px!important;height:24px!important;padding:.25rem .5rem!important;font-size:.75rem!important;font-weight:600!important;display:inline-flex!important}.user-table td:last-child{text-align:center!important;vertical-align:middle!important;padding:.75rem .5rem!important}.user-table th:last-child{text-align:center!important}.create-group-modal{width:90vw;max-width:600px;max-height:80vh;overflow-y:auto}.form-group label{color:#374151;margin-bottom:.5rem;font-weight:600;display:block}.learners-selection{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;max-height:200px;padding:1rem;overflow-y:auto}.learner-checkbox{cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem;transition:background-color .2s;display:flex}.learner-checkbox:hover{background-color:#e5e7eb}.learner-checkbox input[type=checkbox]{margin:0}.learner-name{color:#374151;font-weight:500}.file-input{opacity:0;z-index:-1;width:.1px;height:.1px;position:absolute;overflow:hidden}.form-label{color:#6b7280;margin-top:.25rem;margin-bottom:.25rem;font-size:.9rem;display:block}.section-heading{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.upload-modal{flex-direction:column;width:90vw;max-width:560px;max-height:90vh;padding:0;display:flex}.upload-modal .upload-content{flex:1;overflow-y:auto}.upload-modal .modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.upload-modal .modal-header h2{color:#1f2937;border-bottom:none;margin:0;font-size:1.2rem;font-weight:700;text-decoration:none}.upload-modal .close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.25rem;line-height:1}.upload-modal .close-btn:hover{color:#374151}.upload-content{padding:1rem 1.25rem}.upload-modal .modal-actions{border-top:1px solid #e5e7eb;flex-wrap:wrap;justify-content:flex-end;gap:.75rem;padding:.75rem 1.25rem;display:flex}.upload-sample-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.upload-modal .upload-sample-header .upload-sample-label{margin:0}.upload-modal .upload-template-btn{color:#6686cc;cursor:pointer;white-space:nowrap;background:#eef1fb;border:1px solid #6686cc;border-radius:5px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.upload-modal .upload-template-btn:hover{color:#fff;background:#6686cc}.upload-modal .modal-actions .cancel-btn,.upload-modal .modal-actions .upload-confirm-btn,.upload-modal .modal-actions .activate-btn{text-align:center;padding:.5rem 1rem;font-size:.875rem}.upload-spec-rows{margin-bottom:1rem}.upload-spec-row{border-bottom:.5px solid #00000012;align-items:center;gap:12px;padding:8px 0;display:flex}.upload-spec-row-last{border-bottom:none}.upload-spec-label{color:#4b5563;flex-shrink:0;width:70px;font-size:12px;font-weight:500}.upload-spec-value{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.upload-spec-plain{color:#374151;font-size:12.5px}.upload-pill{color:#6686cc;background:#eef0fa;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.upload-col-tag{color:#374151;background:#f3f4f6;border-radius:5px;padding:2px 7px;font-family:monospace;font-size:11px}.upload-col-optional{color:#6b7280}.upload-sample{background:#f9fafb;border-radius:8px;margin-bottom:1.25rem;padding:14px 18px}.upload-sample-label{color:#6b7280;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:11px;font-weight:600}.upload-sample-table{border-collapse:collapse;width:100%;font-family:monospace;font-size:11.5px}.upload-sample-table th{text-align:left;color:#374151;border-bottom:.5px solid #0000001a;padding:3px 10px 5px 0;font-weight:600}.upload-col-optional-head{color:#6b7280;font-style:italic;font-weight:500!important}.upload-sample-table td{color:#1f2937;padding:4px 10px 4px 0}.upload-cell-empty{color:#9ca3af}.upload-drop-zone{text-align:center;cursor:pointer;color:#6b7280;border:1.5px dashed #adb5c8;border-radius:10px;margin-bottom:.75rem;padding:24px 20px;transition:border-color .15s,background .15s}.upload-drop-zone:hover,.upload-drop-zone.drag-over{color:#6686cc;background:#f0f2fb;border-color:#6686cc}.upload-drop-icon{margin:0 auto 8px;display:block}.upload-drop-primary{color:#374151;margin:0 0 3px;font-size:13px;font-weight:500}.upload-drop-secondary{color:#6b7280;margin:0;font-size:12px}.upload-drop-link{color:#6686cc;cursor:pointer}.upload-description{color:#6b7280;margin-bottom:.6rem;font-size:.8rem;line-height:1.4}.upload-preview{flex-direction:column;gap:10px;margin-bottom:.5rem;display:flex}.upload-preview-page{max-width:760px;margin:2rem auto;padding:0 1.25rem}.upload-preview-page-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.upload-preview-page-back{color:#6686cc;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:600}.upload-preview-page-back:hover{color:#4b61aa}.upload-preview-page-back:disabled{opacity:.5;cursor:not-allowed}.upload-preview-page-title h2{color:#1f2937;margin:0;font-size:1.25rem;font-weight:700}.upload-preview-page-filename{color:#6b7280;font-size:.8rem}.upload-preview-page-footer{border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1rem;display:flex}.upload-file-card-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.1rem .3rem;font-size:.85rem;line-height:1}.upload-preview-stats{flex-wrap:wrap;gap:6px;display:flex}.upload-stat{border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600}.upload-stat-new{color:#166534;background:#dcfce7}.upload-stat-existing{color:#6686cc;background:#eef0fa}.upload-stat-error,.upload-stat-not_enrollable{color:#991b1b;background:#fee2e2}.upload-stat-already_enrolled{color:#9ca3af;background:#f3f4f6}.upload-stat-needs_name{color:#92400e;background:#fef3c7}.upload-stat-parse_error{color:#c2410c;background:#ffedd5}.upload-preview-table-wrap{border:.5px solid #0000001a;border-radius:8px;max-height:240px;overflow-y:auto}.upload-preview-table{border-collapse:collapse;width:100%;font-size:12.5px}.upload-preview-table thead{z-index:1;background:#f9fafb;position:sticky;top:0}.upload-preview-table th{text-align:left;color:#374151;border-bottom:.5px solid #0000001a;padding:8px 10px;font-weight:600}.upload-preview-table td{color:#1f2937;border-bottom:.5px solid #0000000d;padding:7px 10px}.upload-preview-email{font-family:monospace;font-size:12px}.upload-preview-muted{color:#6b7280;font-family:monospace;font-size:12px}.upload-status-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.upload-status-new{color:#166534;background:#dcfce7}.upload-preview-rejected-wrap{border-radius:0;margin-top:1.25rem;border:none!important}.upload-preview-rejected-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .4rem;font-size:.75rem;font-weight:600}.upload-confirm-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 18px;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.upload-confirm-btn:hover:not(:disabled){background:#4b61aa}.upload-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.loading-spinner-sm{border-width:2px;width:14px;height:14px}.upload-options{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.upload-options .checkbox-wrapper{align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.upload-options .custom-checkbox{width:18px;height:18px;display:inline-block;position:relative}.upload-options .custom-checkbox input[type=checkbox]{opacity:0;width:0;height:0;position:absolute}.upload-options .checkmark{cursor:pointer;background-color:#fff;border:2px solid #d1d5db;border-radius:4px;width:18px;height:18px;transition:all .2s;position:absolute;top:0;left:0}.upload-options .custom-checkbox:hover .checkmark{background-color:#f8fafc;border-color:#6686cc}.upload-options .custom-checkbox input:checked~.checkmark{background-color:#6686cc;border-color:#6686cc}.upload-options .checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:8px;display:none;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.upload-options .custom-checkbox input:checked~.checkmark:after{display:block}.upload-options .checkbox-label{color:#374151;cursor:pointer;margin:0;font-size:.9rem;font-weight:500;line-height:1.4}.uploading-status{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.uploading-status p{color:#0369a1;margin:0;font-weight:500}.upload-results{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:1rem}.upload-results h4{color:#166534;margin:0 0 1rem;font-size:1rem;font-weight:600}.results-summary p{color:#166534;margin:.25rem 0;font-size:.9rem}.results-summary p:last-child{margin-bottom:0}@media (width>=1921px){.class-detail-container{max-width:min(1800px,90vw);padding:2.5rem}.class-simulations-container .user-table th,.class-simulations-container .user-table td{padding:1rem 1.25rem;font-size:1rem}.view-btn,.add-simulation-btn{padding:.65rem 1.25rem;font-size:.95rem}}@media (width>=1200px) and (width<=1920px){.class-detail-container{max-width:min(1400px,92vw);padding:2rem}}@media (width>=641px) and (width<=1199px){.class-detail-container{max-width:95vw;padding:1.5rem}.page-title{font-size:1.5rem}.class-simulations-container .user-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.class-simulations-container .user-table{min-width:900px}.class-simulations-container .user-table th,.class-simulations-container .user-table td{padding:.65rem .75rem;font-size:.85rem}.add-simulation-btn{padding:.65rem 1.25rem;font-size:.85rem}}@media (width<=640px){.class-detail-container{max-width:100%;padding:1rem}.page-title{text-align:center;font-size:1.25rem}.tab-button-class{padding:.75rem 1rem;font-size:.9rem}.class-simulations-container .user-table-wrapper{overflow-x:visible}.class-simulations-container .user-table thead{display:none}.class-simulations-container .user-table,.class-simulations-container .user-table tbody{width:100%;display:block}.class-simulations-container .user-table tbody tr{cursor:default;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem;display:block;box-shadow:0 1px 3px #0000001a}.class-simulations-container .user-table tbody tr:hover{background-color:#fff;box-shadow:0 4px 6px #0000001a}.class-simulations-container .user-table tbody tr.empty-row{text-align:center;box-shadow:none;border:none;padding:2rem 1rem}.class-simulations-container .user-table td{border-bottom:1px solid #f3f4f6;padding:.5rem 0;display:block;text-align:left!important;width:auto!important}.class-simulations-container .user-table td:last-child{border-bottom:none;padding-top:1rem;text-align:center!important}.class-simulations-container .user-table td:nth-child(2){padding-left:0!important}.class-simulations-container .user-table td:nth-child(3){text-align:left!important}.class-simulations-container .user-table td:before{content:attr(data-label);color:#6b7280;margin-bottom:.25rem;font-weight:600;display:block}.class-simulations-container .user-table td:last-child:before{content:none}.class-simulations-container .draggable-row{cursor:default!important}.class-simulations-container .drag-handle{justify-content:space-between;align-items:center;display:flex}.class-simulations-container .drag-icon{display:none}.class-simulations-container .order-number{font-size:.875rem}.add-simulation-section{justify-content:center;padding:.75rem 0}.add-simulation-btn{justify-content:center;width:100%;padding:.75rem 1.25rem;font-size:.875rem}.modal-box{width:95vw;padding:1.5rem}.add-simulation-modal{width:95vw}}@media (width<=480px){.class-detail-container{padding:.75rem}.page-title{font-size:1.125rem}.class-simulations-container .user-table tbody tr{padding:.75rem}.class-simulations-container .user-table td{font-size:.85rem}.class-simulations-container .user-table td:before{font-size:.8rem}.add-simulation-btn{padding:.65rem 1rem;font-size:.8rem}.modal-box{width:98vw;padding:1rem}.simulation-info h4{font-size:.95rem}.simulation-info p{font-size:.8rem}}.user-table-wrapper,.learners-table-wrapper{background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 4px #00000012}.class-simulations-container .sim-row-actions-cell{text-align:center}.class-simulations-container .sim-row-actions{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.4rem;width:100%;display:flex}.sim-row-edit-btns{flex-direction:column;align-items:stretch;gap:.3rem;display:flex}.sim-pencil-xs{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:5px;padding:.2rem .5rem;font-size:.72rem}.sim-pencil-xs:hover{background:#f3f4f6}.sim-save-xs{color:#fff;cursor:pointer;white-space:nowrap;background:#166534;border:none;border-radius:5px;padding:.2rem .55rem;font-size:.72rem}.sim-save-xs:disabled{opacity:.6;cursor:not-allowed}.sim-cancel-xs{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d1d5db;border-radius:5px;padding:.2rem .5rem;font-size:.72rem}.sim-vis-select{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:999px;outline:none;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.class-simulations-container .sim-icon-btn{appearance:none;color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;outline:none;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.class-simulations-container .sim-icon-btn:hover{color:#111827;background:#f3f4f6}.class-simulations-container .sim-icon-btn--danger{color:#b91c1c}.class-simulations-container .sim-icon-btn--danger:hover{color:#991b1b;background:#fee2e2}.class-simulations-container .sim-icon-btn:disabled{opacity:.4;cursor:not-allowed}.sim-attempt-input{color:#374151;border:1.5px solid #6686cc;border-radius:5px;width:56px;padding:.2rem .35rem;font-family:inherit;font-size:.85rem;font-weight:600}.sim-attempt-input:focus{outline:none}.edit-groups-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1.5px solid #d1d5db;border-radius:7px;padding:.35rem .9rem;font-size:.85rem;font-weight:600}.edit-groups-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.edit-groups-btn:disabled{opacity:.45;cursor:not-allowed}.edit-groups-btn--active{color:#3d4fa8;background:#eef0fb;border-color:#6686cc}.edit-groups-btn--active:hover:not(:disabled){background:#e2e5f8}.edit-groups-panel{background:#f8f9fb;border:1.5px solid #d1d5db;border-radius:8px;margin-top:1rem;padding:.75rem}.edit-groups-list{grid-template-columns:repeat(3,1fr);gap:.5rem;min-height:40px;margin:.75rem 0;display:grid}.edit-groups-empty{color:#9ca3af;margin:.5rem 0;font-size:.85rem}.edit-groups-row{background:#f8f9fb;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.edit-groups-name{color:#111827;flex:1;font-size:.9rem;font-weight:500}.edit-groups-count{color:#9ca3af;margin-right:.25rem;font-size:.78rem}.edit-groups-add-to-btn{color:#fff;cursor:pointer;background:#4f62c0;border:none;border-radius:4px;padding:.1rem .45rem;font-size:.78rem;font-weight:600}.edit-groups-add-to-btn:hover{background:#3d4fa8}.edit-groups-rename-btn{color:#6686cc;cursor:pointer;background:0 0;border:1px solid #c7d0f0;border-radius:4px;padding:.1rem .45rem;font-size:.78rem}.edit-groups-rename-btn:hover{background:#eef0fb;border-color:#6686cc}.edit-groups-delete-btn{color:#b91c1c;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-size:.78rem;text-decoration:underline}.edit-groups-delete-btn:hover{color:#7f1d1d}.edit-groups-rename-input{border:1.5px solid #6686cc;border-radius:5px;outline:none;flex:1;padding:.2rem .4rem;font-family:inherit;font-size:.88rem}.edit-groups-save-btn{color:#fff;cursor:pointer;background:#4f62c0;border:none;border-radius:5px;padding:.2rem .55rem;font-size:.78rem;font-weight:600}.edit-groups-save-btn:hover{background:#3d4fa8}.edit-groups-cancel-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.78rem}.group-assign-bar{background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.4rem;margin-top:1rem;padding:.6rem .75rem;display:flex}.group-assign-label{color:#6b7280;font-size:.82rem}.group-assign-controls{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.group-new-input{color:#374151;background:#fff;border:1.5px solid #d1d5db;border-radius:5px;outline:none;width:180px;padding:.2rem .5rem;font-family:inherit;font-size:.85rem}.group-new-input:focus{border-color:#6686cc}.group-new-input:disabled{color:#9ca3af;cursor:not-allowed;background:#f3f4f6}.group-assign-btn{color:#fff;cursor:pointer;background:#4f62c0;border:none;border-radius:6px;padding:.25rem .9rem;font-size:.85rem;font-weight:600}.group-assign-btn:hover:not(:disabled){background:#3d4fa8}.group-assign-btn:disabled{opacity:.45;cursor:not-allowed}.group-cell-tag{color:#3d4fa8;background:#eef0fb;border-radius:5px;align-items:center;gap:.3rem;padding:.15rem .4rem;font-size:.82rem;font-weight:500;display:inline-flex}.group-cell-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;margin-left:.1rem;padding:0;font-size:.95rem;line-height:1}.group-cell-remove:hover{color:#b91c1c}.group-cell-text{color:#6b7280;display:inline-block}.group-inline-select{color:#374151;background:#fff;border:1.5px solid #6686cc;border-radius:5px;outline:none;max-width:180px;padding:.15rem .3rem;font-family:inherit;font-size:.85rem}.row-number-cell{color:#9ca3af}.unenroll-mode-btn--active{color:#b91c1c;background:#fef2f2;border-color:#f87171}.unenroll-mode-btn--active:hover:not(:disabled){background:#fee2e2}.unenroll-selected-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:.25rem .9rem;font-size:.85rem;font-weight:600}.unenroll-selected-btn:hover:not(:disabled){background:#b91c1c}.unenroll-selected-btn:disabled{opacity:.45;cursor:not-allowed}.unenroll-modal-list{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;max-height:180px;margin:0 0 1rem;padding:.5rem .75rem;font-size:.88rem;list-style:none;overflow-y:auto}.unenroll-modal-list li{padding:.2rem 0}.unenroll-modal-list li span{color:#6b7280;margin-left:.4rem}.admin-users{width:100%;max-width:min(1400px,95vw);margin:0 auto;padding:1.5rem;font-family:Montserrat,sans-serif}.status-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:600;transition:background .18s,color .18s,box-shadow .18s}.status-tab-label{font-size:.82rem;font-weight:700;line-height:1}.status-tab--selected.status-tab--closed{color:#4b5563}.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;display:grid}@media (width<=640px){.card-grid{grid-template-columns:1fr;gap:1rem}}@media (width>=1921px){.card-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}}.class-card{cursor:pointer;background-color:#fff;border-radius:8px;flex-direction:column;min-height:120px;padding:1.25rem;transition:box-shadow .2s,transform .2s;display:flex;position:relative;box-shadow:0 2px 6px #0000000d}.class-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.class-card h2{color:#1f2937;margin-top:0;margin-bottom:.5rem;font-size:1.1rem;line-height:1.3}.class-card p{color:#666;flex-grow:1;margin-bottom:0;font-size:.95rem;line-height:1.4}.class-card p.class-card-instructor{color:#9ca3af;flex-grow:0;margin-bottom:.5rem;font-size:.85rem;font-style:italic}.learner-classes-container .card-status-pill--open{color:#14532d;background:#86efac}.learner-classes-container .card-status-pill--closed{color:#374151;background:#e5e7eb}.class-card--archived{opacity:.65;background-color:#f9fafb;border:1px dashed #d1d5db}.modal-box{z-index:1000;background-color:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:min(500px,90vw);max-width:90vw;padding:2rem;display:flex;box-shadow:0 5px 20px #00000026}@media (width<=640px){.modal-box{width:95vw;padding:1.5rem}}.learner-classes-container .modal-box .activate-btn{color:#fff;background-color:#6686cc}.learner-classes-container .modal-box .activate-btn:hover{background-color:#5a7bc4}.learner-classes-container{width:100%;max-width:min(1400px,95vw);margin:0 auto;padding:1.5rem;font-family:Montserrat,sans-serif}@media (width<=640px){.learner-classes-container{padding:1rem}}@media (width>=1921px){.learner-classes-container{max-width:min(1800px,90vw);padding:2rem}}.top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}@media (width<=640px){.top-bar{flex-direction:column;align-items:flex-start}.filter-actions{justify-content:space-between;width:100%}}.page-title{margin:0;font-size:1.5rem;font-weight:600;line-height:1}.filter-actions{align-items:center;gap:1rem;display:flex}.learner-classes-container .activate-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#6686cc;border:none;border-radius:6px;min-height:40px;padding:.5rem 1.25rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:600;transition:background-color .18s}.learner-classes-container .activate-btn:hover{background-color:#5a7bc4}.modal-actions{justify-content:flex-end;gap:1rem;display:flex}.modal-error{color:#991b1b;background-color:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #dc2626;border-radius:6px;margin:0;padding:.6rem .875rem;font-size:.875rem}.tab-button-class{color:#374151;cursor:pointer;background-color:#f9fafb;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:.25rem;margin-top:.01rem;margin-bottom:1rem;padding:.5rem .25rem;font-size:.85rem;font-weight:400;transition:background-color .2s;display:flex}.tab-button-class.active{background-color:#e0e7ff;border-color:#a5b4fc}.tab-button-class:hover{background-color:#f3f4f6}.learner-class-detail-container{color:#1f2937;max-width:1200px;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif}.lcd-header{background:#fff;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem 2rem 1.5rem 3rem}.lcd-title{margin:0;font-size:1.5rem;font-weight:600}.lcd-description{color:#4b5563;margin:.4rem 0 0;font-size:1rem}.lcd-meta-row{color:#6b7280;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.875rem;display:flex}.lcd-meta-label{color:#374151;margin-right:.25rem;font-weight:600}.lcd-error{color:#dc2626;margin-top:.5rem;font-size:.9rem}.lcd-section{margin-top:.5rem}.lcd-section-title{color:#1f2937;margin:0 0 .75rem;font-size:1.1rem;font-weight:600}.admin-users{color:#1f2937;max-width:1200px;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif}.user-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000012}.user-table{border-collapse:collapse;background-color:#fff;width:100%;font-size:.95rem}.user-table th{text-align:left;color:#374151;background-color:#eaf2fb;padding:.75rem 1rem;font-size:.9rem;font-weight:600}.user-table tr:hover{background-color:#f9faff;transition:background-color .2s}.user-table th,.user-table td{vertical-align:middle;color:#374151;padding:.75rem 1rem;font-size:.9rem}.user-table td{border-top:1px solid #f3f4f6}.user-table a{color:#5a6e99;text-decoration:none}.user-table a:hover{color:#3a4a66;text-decoration:underline}.error-row{text-align:center;color:#dc2626;background-color:#fef2f2;padding:2rem 1rem}.archived-row{opacity:.85;background-image:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 10px,#e5e7eb 10px 20px)}.modal-backdrop{z-index:999;background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-box{z-index:1000;background-color:#fff;border-radius:12px;flex-direction:column;gap:1rem;width:500px;padding:2rem;display:flex;box-shadow:0 5px 20px #00000026}.modal-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.6rem;font-size:.95rem}.modal-box button{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600}.modal-box button:hover{opacity:.9}.modal-box .activate-btn{color:#fff;background-color:#4f46e5}.modal-box .activate-btn:hover{background-color:#4338ca}.modal-box .cancel-btn{color:#374151;background-color:#e5e7eb}.action-buttons{gap:1rem;margin-top:1rem;display:flex}.modal-footer{justify-content:flex-end;gap:1rem;margin-top:1rem;display:flex}.admin-users .activate-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.admin-users .activate-btn:hover{background-color:#4b61aa}.admin-users .archive-btn{color:#fff;cursor:pointer;background-color:#f28b82;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.admin-users .archive-btn:hover{background-color:#ef4444}.simulation-title{color:#111827;font-weight:500}.simulation-description{color:#111827;font-weight:500;line-height:1.5}.character-name,.character-details,.published-date{color:#111827;font-weight:500}.badge{text-transform:capitalize;border-radius:6px;justify-content:center;align-items:center;padding:.375rem .75rem;font-weight:500;display:inline-flex}.badge-success{color:#111827;background-color:#dcfce7;font-weight:500}.lcd-simulations-container .user-table th:first-child,.lcd-simulations-container .user-table td:first-child{text-align:center;color:#9ca3af;width:5%}.lcd-simulations-container .user-table th:nth-child(2),.lcd-simulations-container .user-table td:nth-child(2){text-align:left;width:28%}.lcd-simulations-container .user-table th:nth-child(3),.lcd-simulations-container .user-table td:nth-child(3){width:17%}.lcd-simulations-container .user-table th:nth-child(4),.lcd-simulations-container .user-table td:nth-child(4){width:12%}.lcd-simulations-container .user-table th:nth-child(5),.lcd-simulations-container .user-table td:nth-child(5){width:13%}.lcd-simulations-container .user-table th:nth-child(6),.lcd-simulations-container .user-table td:nth-child(6){text-align:center;width:14%}.sim-order-cell{font-size:.85rem;font-weight:500}.sim-row-clickable{cursor:pointer}.sim-status-pill{white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600;display:inline-block}.sim-status-pill.s-open{color:#166534;background:#dcfce7}.sim-status-pill.s-closed{color:#991b1b;background:#fecaca}.sim-status-pill.s-hidden{color:#374151;background:#f3f4f6}.sim-title-link{color:inherit;cursor:pointer;font-weight:500}.sim-title-link:hover{text-decoration:underline}.sim-row-desc{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;max-width:480px;margin-top:2px;font-size:.78rem;overflow:hidden}.sim-row-actions-cell{text-align:right}.sim-row-actions{justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.sim-icon-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;transition:background .15s,color .15s;display:inline-flex}.sim-icon-btn:hover{color:#111827;background:#f3f4f6}.btn-work{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s}.btn-work:hover{background-color:#4b61aa}.user-table-wrapper{background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 1px 4px #00000012}.sim-prebrief-card{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.25rem}.sim-prebrief-label{text-transform:uppercase;letter-spacing:.05em;color:#3b82f6;margin-bottom:.4rem;font-size:.75rem;font-weight:700}.sim-prebrief-text{color:#1e40af;margin:0;font-size:.9rem;line-height:1.5}.lsd-attempts-list{flex-direction:column;gap:10px;display:flex}.lsd-attempt-row{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.lsd-attempt-left{color:#64748b;align-items:center;gap:10px;display:flex}.lsd-attempt-left div{flex-direction:column;gap:2px;display:flex}.lsd-attempt-label{color:#101111;font-size:13px;font-weight:600}.lsd-attempt-date{color:#64748b;font-size:11px}.lsd-attempt-right{align-items:center;gap:12px;display:flex}.lsd-attempt-score{font-size:14px;font-weight:700}.lsd-attempt-counter{color:#6b7280;font-size:.75rem}.lsd-offline-banner{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.15rem;padding:.75rem 1rem;display:flex}.lsd-offline-sub{color:#6b7280;font-size:.8rem}.agent-starter-exact-ui{background:#f1f5f9;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.disconnect-banner{z-index:100;color:#fff;background:linear-gradient(135deg,#ea580c 0%,#c2410c 100%);align-items:center;gap:.6rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 8px #0003}.disconnect-banner-reconnect{color:#fff;cursor:pointer;background:#ffffff40;border:1px solid #ffffff80;border-radius:5px;margin-left:auto;padding:.25rem .7rem;font-size:.8rem;font-weight:600}.disconnect-banner-reconnect:hover{background:#ffffff59}.ui-top-strip{background:#374151;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.ui-top-label{color:#ffffff8c;text-transform:uppercase;letter-spacing:.06em;min-width:80px;font-size:12px;font-weight:600}.ui-mic-status{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:20px;align-items:center;gap:8px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.ui-mic-status:hover:not(:disabled){background:#ffffff2e}.ui-mic-status.muted{color:#fca5a5;background:#ef444433;border-color:#ef444480}.ui-mic-status:disabled{opacity:.6;cursor:not-allowed}.ui-mic-waves{align-items:center;gap:2px;height:14px;display:flex}.ui-wave{background:#34d399;border-radius:1px;width:2px;height:4px}.ui-mic-status:not(.muted) .ui-wave:first-child{height:5px;animation:.6s ease-in-out infinite alternate uiWaveAnim}.ui-mic-status:not(.muted) .ui-wave:nth-child(2){height:11px;animation:.6s ease-in-out .1s infinite alternate uiWaveAnim}.ui-mic-status:not(.muted) .ui-wave:nth-child(3){height:7px;animation:.6s ease-in-out .2s infinite alternate uiWaveAnim}.ui-mic-status.muted .ui-wave{background:#f87171;animation:none;height:4px!important}.ui-mic-status-text{font-size:13px}.ui-top-right{min-width:80px}.ui-main{flex:1;align-items:stretch;gap:12px;min-height:0;padding:24px 20px;display:flex}.ui-character-side{flex:1;justify-content:flex-end;align-items:center;padding-right:6px;display:flex}.ui-character-wrap{aspect-ratio:3/4;background:linear-gradient(160deg,#e0e7ff 0%,#c7d2fe 100%);border-radius:16px;justify-content:center;align-items:center;width:100%;max-width:480px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 24px #00000024}.ui-character-img{object-fit:cover;width:100%;height:100%;display:block}.ui-character-nameplate{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:600;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.ui-right-side{flex:1;justify-content:flex-start;align-items:center;padding-left:6px;display:flex}.ui-camera-wrap{aspect-ratio:3/4;background:#111827;border-radius:16px;justify-content:center;align-items:center;width:100%;max-width:480px;display:flex;overflow:hidden}.ui-camera-feed{object-fit:cover;width:100%;height:100%}.ui-camera-feed video{object-fit:cover;width:100%!important;height:100%!important}.ui-camera-off{color:#6b7280;font-size:13px}.ui-transcript-side{aspect-ratio:3/4;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;width:100%;max-width:480px;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px 6px #0000000d}.ui-transcript-header{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#fafafa;border-bottom:1px solid #f1f5f9;flex-shrink:0;padding:11px 16px;font-size:13px;font-weight:600}.ui-messages{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.ui-messages-empty{text-align:center;color:#9ca3af;padding:40px 20px;font-size:13px;font-style:italic}.ui-msg{display:flex}.ui-msg.user{justify-content:flex-end}.ui-msg.agent{justify-content:flex-start}.ui-bubble{border-radius:12px;max-width:78%;padding:9px 13px;font-size:13.5px;line-height:1.55}.ui-msg.user .ui-bubble{color:#1e40af;background:#dbeafe;border-bottom-right-radius:4px}.ui-msg.agent .ui-bubble{color:#374151;background:#f3f4f6;border-bottom-left-radius:4px}.transcript-typing-dots{align-items:center;gap:5px;height:21px;display:flex}.transcript-typing-dots span{opacity:.3;background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite transcriptTypingDot}.transcript-typing-dots span:nth-child(2){animation-delay:.2s}.transcript-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes transcriptTypingDot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.transcript-typing-dots span{opacity:.6;animation:none}}.ui-messages::-webkit-scrollbar{width:6px}.ui-messages::-webkit-scrollbar-track{background:0 0}.ui-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.ui-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.ui-control-bar{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:12px 24px 20px;display:flex}.ui-icon-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .15s;display:flex}.ui-icon-btn:hover:not(:disabled){color:#374151;background:#f9fafb;border-color:#d1d5db}.ui-icon-btn:disabled{opacity:.5;cursor:not-allowed}.ui-icon-btn.active{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.ui-finish-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:10px;margin-left:8px;padding:9px 22px;font-size:13px;font-weight:600;transition:background .15s}.ui-finish-btn:hover:not(:disabled){background:#dc2626}.ui-finish-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes uiWaveAnim{0%{transform:scaleY(1)}to{transform:scaleY(2.2)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes micWavePulse{0%{height:12px}to{height:20px}}.connecting-overlay{z-index:500;background:#0f172a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.connecting-overlay-card{text-align:center;background:#fff;border-radius:16px;width:calc(100% - 40px);max-width:380px;padding:2.5rem 2rem;box-shadow:0 20px 60px #0000004d}.connecting-overlay-icon{color:#6686cc;justify-content:center;margin-bottom:1.25rem;animation:1s linear infinite spin;display:flex}.connecting-overlay-card h3{color:#1f2937;margin:0 0 .5rem;font-size:1.15rem;font-weight:600}.connecting-overlay-card p{color:#6b7280;margin:0 0 1.5rem;font-size:.9rem;line-height:1.5}.connecting-overlay-steps{text-align:left;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:.85rem;padding:1.1rem 1.25rem;display:flex}.connecting-step{color:#9ca3af;align-items:center;gap:.65rem;font-size:.85rem;display:flex}.connecting-step.completed{color:#059669}.connecting-step.processing{color:#6686cc;font-weight:500}.connecting-step-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.connecting-step-spinner{border:2px solid #d6e0f5;border-top-color:#6686cc;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.work-simulation-container{width:100%;max-width:min(1400px,95vw);min-height:100vh;margin:0 auto;padding:1.5rem;font-family:Montserrat,sans-serif}@media (width<=640px){.work-simulation-container{padding:1rem}}.work-simulation-header{z-index:5;flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex;position:relative}.back-btn{cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.5rem;width:fit-content;padding:.5rem 1rem;font-weight:500;transition:background-color .2s;display:inline-flex}.back-btn:hover{background-color:#e5e7eb}.simulation-title{color:#111827;margin:0;font-size:1.5rem;font-weight:600}.work-simulation-content{z-index:10;width:100%;min-height:calc(100vh - 120px);position:relative}.loading-container{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:400px;font-size:1.1rem;display:flex}.mode-badge{border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:500;display:inline-block}.mode-badge.online{color:#1e40af;background-color:#dbeafe;border:1px solid #93c5fd}.mode-badge.offline{color:#6b7280;background-color:#f3f4f6;border:1px solid #d1d5db}.assessment-results-container{width:100%;max-width:min(1400px,95vw);min-height:100vh;margin:0 auto;padding:1.5rem;font-family:Montserrat,sans-serif}@media (width<=640px){.assessment-results-container{padding:1rem}}.assessment-header{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:400px;display:flex}.loading-container{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:400px;display:flex}.activate-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:500;transition:background-color .2s}.activate-btn:hover{background-color:#5a7bc4}.back-btn-assessment{cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.5rem;width:fit-content;padding:.5rem 1rem;font-weight:500;transition:background-color .2s;display:inline-flex}.back-btn-assessment:hover{background-color:#e5e7eb}.download-report-btn{cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:inline-flex}.download-report-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.score-icon{width:24px;height:24px}.attempts-section{margin-bottom:1.5rem}.attempts-section h2{color:#374151;margin-bottom:.75rem;font-size:1rem;font-weight:600}.attempts-list{flex-wrap:wrap;gap:.75rem;display:flex}.prev-attempt-btn{color:#4b5563;cursor:pointer;background:0 0;border:1.5px solid #d1d5db;border-radius:8px;flex-direction:row;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.prev-attempt-btn:hover{color:#6686cc;border-color:#6686cc}.prev-attempt-btn.active{color:#fff;background:#6686cc;border-color:#6686cc;font-weight:600}.prev-attempt-btn .attempt-num{font-size:13px;font-weight:600;line-height:1}.prev-attempt-btn .attempt-date{opacity:.8;font-size:12px}.spin{animation:1s linear infinite spin}.grading-pending{text-align:center;background:linear-gradient(135deg,#f0f4ff 0%,#f9fafb 100%);border:1px solid #c7d4f0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:3rem 2rem;display:flex}.grading-pending-icon{color:#6686cc;width:56px;height:56px;margin-bottom:1.25rem}.grading-pending h3{color:#1e3a8a;letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.grading-pending-sub{color:#4b5563;margin:0 0 1.5rem;font-size:.92rem;line-height:1.5}.grading-pending-dots{align-items:center;gap:6px;display:flex}.grading-pending-dots span{background-color:#6686cc;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite dot-pulse}.grading-pending-dots span:nth-child(2){animation-delay:.2s}.grading-pending-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.transcript-tab{min-height:400px;padding:1.5rem}.transcript-completed-at{color:#6b7280;text-align:right;margin:0 0 1rem;padding-right:10px;font-size:.8rem}.assessment-tab{min-height:400px;padding:2rem}.transcript-section-assessment{background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;min-height:500px;max-height:70vh;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000d}.transcript-section-assessment .transcript-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px}.transcript-section-assessment .transcript-header h3{color:#374151;margin:0;font-size:18px;font-weight:600}.transcript-section-assessment .transcript-messages-container{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.transcript-section-assessment .transcript-empty-state{text-align:center;color:#6b7280;padding:60px 20px;font-style:italic}.transcript-section-assessment .transcript-message{margin-bottom:0;display:flex}.transcript-section-assessment .transcript-message.user{justify-content:flex-end}.transcript-section-assessment .transcript-message.agent{justify-content:flex-start}.transcript-section-assessment .transcript-message-content{border-radius:12px;max-width:75%;padding:12px 16px;position:relative}.transcript-section-assessment .transcript-message.user .transcript-message-content{color:#1e40af;background:#dbeafe;border-bottom-right-radius:4px}.transcript-section-assessment .transcript-message.agent .transcript-message-content{color:#374151;background:#f3f4f6;border-bottom-left-radius:4px}.transcript-section-assessment .transcript-speaker-label{opacity:.8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.transcript-section-assessment .transcript-message-text{word-wrap:break-word;margin-bottom:4px;line-height:1.6}.transcript-section-assessment .transcript-message-time{color:#9ca3af;opacity:.7;font-size:11px}.transcript-section-assessment .transcript-messages-container::-webkit-scrollbar{width:8px}.transcript-section-assessment .transcript-messages-container::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.transcript-section-assessment .transcript-messages-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.transcript-section-assessment .transcript-messages-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.transcript-lines{flex-direction:column;gap:.6rem;max-height:65vh;padding:1rem 1.25rem;display:flex;overflow-y:auto}.transcript-line{color:#111827;gap:.5rem;font-size:.95rem;line-height:1.6;display:flex}.agent-line{background-color:#f3f4f6}.transcript-colon{color:#374151;flex-shrink:0;font-weight:700}.transcript-speaker{white-space:nowrap;text-align:right;color:#374151;flex-shrink:0;min-width:110px;font-weight:700}.transcript-text{color:#1f2937}.assessment-section{margin-bottom:2rem}.assessment-section h2{color:#111827;border-bottom:2px solid #e5e7eb;margin:0 0 1.5rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.overall-feedback-header{border-bottom:2px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.overall-feedback-header h2{border-bottom:none;margin:0;padding-bottom:0}.rubric-items{flex-direction:column;gap:1.5rem;display:flex}.rubric-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.rubric-title{color:#111827;margin:0;font-size:1.1rem;font-weight:600}.rubric-score{align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;display:flex}.rubric-feedback{color:#111827;font-size:.95rem;line-height:1.5}.assessment-checklist-items{flex-direction:column;gap:1rem;display:flex}.assessment-checklist-category-group{flex-direction:column;gap:.6rem;margin-bottom:1.25rem;display:flex}.assessment-checklist-category-header{text-transform:uppercase;letter-spacing:.06em;color:#6b7280;border-bottom:1px solid #e5e7eb;padding-bottom:.3rem;font-size:.8rem;font-weight:700}.assessment-checklist-row{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.35rem;padding:.85rem 1rem;display:flex}.assessment-checklist-row-top{color:#111827;align-items:center;gap:.6rem;font-weight:500;display:flex}.assessment-checklist-row .assessment-checklist-feedback{color:#6b7280;padding-left:1.75rem;font-size:.88rem;line-height:1.5}.checklist-item{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.status-icon{width:20px;height:20px}.status-icon.completed,.completed{color:#10b981}.overall-feedback{color:#111827;background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1.5rem;font-size:1rem;line-height:1.6}.loading-message,.error-message{color:#6b7280;justify-content:center;align-items:center;height:50vh;font-size:1.1rem;display:flex}.error-message{color:#ef4444}@media (width<=768px){.rubric-header,.checklist-header{flex-direction:column;align-items:flex-start;gap:.5rem}.rubric-score,.checklist-status{align-self:flex-end}.tab-content{padding:1rem}}.grading-failed{text-align:center;background:linear-gradient(135deg,#fef2f2 0%,#fff 100%);border:1px solid #fecaca;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;display:flex}.grading-failed-icon{color:#dc2626;margin-bottom:1rem}.grading-failed h3{color:#991b1b;margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.grading-failed-sub{color:#4b5563;max-width:460px;margin:0 0 1.25rem;font-size:.92rem;line-height:1.5}.grading-failed-retry{color:#fff;cursor:pointer;background:#4f62c0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:600;display:inline-flex}.grading-failed-retry:hover:not(:disabled){background:#3d4fa8}.grading-failed-retry:disabled{opacity:.6;cursor:not-allowed}.grading-failed-error{color:#b91c1c;margin:.75rem 0 0;font-size:.85rem}.print-preview-overlay{z-index:2000;color:#111827;background:#eef0f4;font-family:Montserrat,sans-serif;position:fixed;inset:0;overflow-y:auto}.print-preview-toolbar{z-index:1;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.7rem 1.5rem;display:flex;position:sticky;top:0;box-shadow:0 1px 4px #0f172a0f}.print-preview-toolbar-title{color:#374151;font-size:.9rem;font-weight:600}.print-preview-toolbar-actions{gap:.5rem;display:flex}.print-preview-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1.5px solid #d1d5db;border-radius:7px;align-items:center;gap:.35rem;padding:.4rem .95rem;font-family:inherit;font-size:.85rem;font-weight:600;display:inline-flex}.print-preview-btn:hover{background:#e5e7eb}.print-preview-btn--primary{color:#fff;background:#4f62c0;border-color:#4f62c0}.print-preview-btn--primary:hover{background:#3d4fa8}.print-sheet{background:#fff;border-radius:6px;max-width:820px;margin:1.5rem auto 3rem;padding:2.5rem 3rem;font-size:.92rem;line-height:1.5;box-shadow:0 4px 18px #0f172a14}.print-header{border-bottom:2px solid #111827;margin-bottom:1.25rem;padding-bottom:.9rem}.print-header-section{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;font-size:.72rem;font-weight:700}.print-header h1{margin:.15rem 0 .6rem;font-size:1.45rem}.print-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem 1.5rem;margin:0;display:grid}.print-meta div{gap:.5rem;display:flex}.print-meta dt{color:#6b7280;min-width:5.5rem;font-weight:600}.print-meta dd{margin:0}.print-block{margin-bottom:1.25rem}.print-row-head{border-bottom:1px solid #d1d5db;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.6rem;padding-bottom:.3rem;display:flex}.print-row-head h3{margin:0;font-size:1.05rem}.print-score{white-space:nowrap;font-weight:700}.print-text{white-space:pre-wrap;margin:.25rem 0}.print-category{letter-spacing:.04em;text-transform:uppercase;color:#4b5563;margin:1rem 0 .4rem;font-size:.8rem;font-weight:700}.print-item{border-bottom:1px solid #f0f1f3;padding:.6rem 0}.print-item:last-child{border-bottom:none}.print-item-head{align-items:baseline;gap:.5rem;display:flex}.print-item-title{flex:1;font-weight:600}.print-item-status{color:#6b7280;white-space:nowrap;font-size:.8rem}.print-mark{width:1rem;font-weight:700}.print-mark--ok{color:#047857}.print-mark--no{color:#b91c1c}.print-evidence{border-left:3px solid #e5e7eb;margin:.35rem 0 0 .25rem;padding-left:.75rem}.print-evidence-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.print-evidence ul{margin:.15rem 0 0;padding-left:1rem}.print-evidence li{color:#374151;font-style:italic}.print-transcript .print-line{margin:0 0 .45rem}.print-speaker{font-weight:700}.print-line--learner .print-speaker{color:#3d4fa8}.assessment-print-bar{justify-content:flex-end;margin-bottom:.5rem;display:flex}.assessment-print-btn{color:#374151;cursor:pointer;background:#fff;border:1.5px solid #d1d5db;border-radius:7px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-family:inherit;font-size:.82rem;font-weight:600;display:inline-flex}.assessment-print-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.assessment-print-btn:disabled{opacity:.45;cursor:not-allowed}@media print{@page{margin:16mm 14mm}body.printing-results #root{display:none!important}body.printing-results{background:#fff!important}.print-preview-overlay{background:#fff;position:static;overflow:visible}.print-preview-toolbar{display:none}.print-sheet{max-width:none;box-shadow:none;border-radius:0;margin:0;padding:0;font-size:10.5pt}.print-avoid-break,.print-line{break-inside:avoid;page-break-inside:avoid}.print-row-head,.print-category{break-after:avoid;page-break-after:avoid}.print-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.character-management{color:#1f2937;max-width:1200px;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif}.character-header{flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-title{color:#1f2937;margin:0;font-size:2rem;font-weight:700}.header-actions{gap:1rem;height:fit-content;flex-flow:wrap!important;align-items:center!important;display:flex!important}.header-actions-btn-group{flex-shrink:0;gap:1rem;display:flex}.status-filter-tabs{background:#f3f4f6;border-radius:10px;gap:2px;padding:4px;display:flex}.status-tab{color:#6b7280;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 14px;font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:500;transition:background .18s,color .18s,box-shadow .18s;display:flex}.status-tab-label{color:inherit;font-size:.82rem;font-weight:600;line-height:1}.status-tab-desc{color:#9ca3af;font-size:.68rem;font-weight:400;line-height:1}.status-tab--selected .status-tab-desc{color:inherit;opacity:.65}.status-tab:hover:not(.status-tab--selected){color:#374151;background:#e5e7eb}.status-tab--selected{color:#2563eb;background:#fff;box-shadow:0 1px 4px #0000001a}.status-tab--selected.status-tab--all{color:#1f2937}.status-tab--selected.status-tab--active,.status-tab--selected.status-tab--active .status-tab-label,.status-tab--selected.status-tab--published,.status-tab--selected.status-tab--published .status-tab-label{color:#16a34a}.status-tab--selected.status-tab--archived,.status-tab--selected.status-tab--archived .status-tab-label{color:#4b5563}.status-tab--selected.status-tab--draft,.status-tab--selected.status-tab--draft .status-tab-label,.status-tab--selected.status-tab--drafts,.status-tab--selected.status-tab--drafts .status-tab-label{color:#713f12}.create-character-btn{white-space:nowrap;flex-shrink:0;align-self:center}.slider{cursor:pointer;will-change:background-color;background-color:#d1d5db;border-radius:28px;transition:all .6s cubic-bezier(.23,1,.32,1);position:absolute;inset:0}.slider:before{content:"";will-change:transform;background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .6s cubic-bezier(.23,1,.32,1);position:absolute;bottom:4px;left:4px;box-shadow:0 2px 8px #00000026}input:checked+.slider{background-color:#6686cc}input:focus+.slider{outline:none;box-shadow:0 0 0 3px #6686cc4d}input:checked+.slider:before{transform:translate(22px)}input:checked+.slider:hover:before{box-shadow:0 4px 12px #6686cc66}.create-character-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#6686cc;border:none;border-radius:6px;min-height:40px;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.create-character-btn:hover{background-color:#5a7bc4}.character-grid{opacity:1;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:grid;transform:translateY(0)}.character-grid.loading{opacity:.4;pointer-events:none;transform:translateY(10px)}.character-management .character-grid .character-card,.character-grid>.character-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 2px 8px #00000014}.character-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.character-management .character-grid .character-card.card--dim.card--archived{opacity:.8;background:#e9eaec;border:1px solid #d1d5db}.character-card .card-status-pill--active{color:#14532d;background:#86efac}.character-card .card-status-pill--archived{color:#374151;background:#f3f4f6}.character-card .card-status-pill--draft{color:#713f12;background:#fde047}.character-card .card-status-pill--clickable{cursor:pointer;transition:filter .15s}.character-card .card-status-pill--clickable:hover{filter:brightness(.92)}.character-card .card-badges{align-items:center;gap:.4rem;display:flex;position:absolute;top:.85rem;right:.85rem}.character-card .card-badges .card-status-pill{position:static}.character-card .card-shared-badge{color:#1e3a8a;white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;background:#bfdbfe;border-radius:20px;padding:3px 9px;font-size:.72rem;font-weight:600;line-height:1}.character-card .card-linked-popover-wrap{align-items:center;display:flex;position:absolute;top:.75rem;left:.85rem}.character-card .card-linked-btn{cursor:pointer;color:#1f2937;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:13px;display:flex}.character-card .card-linked-btn:hover{color:#6686cc;background:#e0e7ff}.character-card .card-linked-popover{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;padding:.5rem 0;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 16px #0000001f}.character-card .card-linked-popover-label{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin:0;padding:.25rem .75rem .4rem;font-size:.7rem;font-weight:600}.character-card .card-linked-popover-item{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;padding:.35rem .75rem;font-size:.82rem;text-decoration:none;display:block;overflow:hidden}.character-card .card-linked-popover-item:hover{color:#6686cc;background:#f3f4f6}.character-card .card-linked-sim-tag{text-transform:uppercase;border-radius:4px;margin-left:.4rem;padding:1px 5px;font-size:.65rem;font-weight:600}.character-card .card-linked-sim-tag--draft{color:#92400e;background:#fde68a}.character-card .card-linked-sim-tag--archived{color:#4b5563;background:#e5e7eb}.character-management .character-grid .character-card.draft-card,.character-grid>.character-card.draft-card{opacity:.6;background:#eab30838;border:1px dashed #92400e}.draft-avatar-icon{color:#9ca3af}.character-card-header{align-items:center;gap:1rem;margin-bottom:.5rem;padding-top:1.5rem;display:flex}.patient-avatar{background-color:#f3f4f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden}.avatar-icon{color:#6b7280;font-size:3rem}.avatar-image{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.character-info{flex-direction:column;flex:1;gap:.15rem;padding:0;display:flex}.character-name{color:#1f2937;flex-wrap:wrap;align-items:center;gap:.4rem;padding:0;font-size:.75rem;font-weight:600;line-height:1.2;display:flex;margin:0 0 .15rem!important}.character-version-badge{color:#6686cc;background:#eef0fb;border-radius:4px;flex-shrink:0;padding:1px 5px;font-size:.65rem;font-weight:600;line-height:1.4}.character-management .card-status-actions{justify-content:flex-end;gap:4px;margin-top:auto;padding-top:.35rem;display:flex}.character-management .card-status-actions .card-edit-btn{margin-left:0}.character-management .card-status-actions .card-edit-btn--danger:hover{color:#dc2626;border-color:#fca5a5}.character-management .card-delete-btn{border-radius:20px;margin-left:auto;padding:5px 14px;font-size:.78rem}.view-btn,.edit-btn,.archive-btn,.unarchive-btn,.delete-btn,.create-btn{cursor:pointer;text-align:center;box-sizing:border-box;border-radius:6px;flex:1;justify-content:center;align-items:center;min-width:0;max-width:120px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.modal-actions .edit-btn,.modal-actions .cancel-btn,.modal-actions .create-btn{flex:none;min-width:auto;padding:.75rem 1.5rem}.edit-btn{color:#fff;background-color:#6686cc;border:none}.edit-btn:hover{background-color:#5a7bc4}.archive-btn{color:#fff;background-color:#f28b82;border:none}.archive-btn:hover:not(:disabled){background-color:#ef4444}.archive-btn:disabled{opacity:.6;cursor:not-allowed}.delete-btn{color:#fff;background-color:#f28b82;border:none}.delete-btn:hover:not(:disabled){background-color:#ef4444}.delete-btn:disabled{opacity:.6;cursor:not-allowed}.edit-character-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.edit-character-btn:hover:not(:disabled){background-color:#5a7bc4}.edit-character-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.modal-backdrop{z-index:999;background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-box{background:#fff;border-radius:12px;width:min(800px,95vw);max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 10px 40px #00000026}.modal-box h3{color:#1f2937;margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.form-group{flex-direction:column;display:flex}.form-group label{color:#374151;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.modal-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;transition:border-color .2s}.modal-input:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 3px #6686cc1a}textarea.modal-input{resize:vertical;min-height:80px}.modal-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.cancel-btn:hover{background-color:#e5e7eb}.basic-info{flex-direction:column;gap:.5rem;display:flex}.detail-label{color:#374151;margin-bottom:.75rem;font-size:1rem;font-weight:600;display:block}.loading-state,.empty-state{text-align:center;color:#6b7280;grid-column:1/-1;padding:3rem 1rem;font-style:italic}.loading-state{font-size:1.1rem}@media (width<=1024px){.character-management{padding:1.5rem}.page-title{font-size:1.75rem}.header-actions{gap:.75rem}.create-character-btn,.manage-drafts-btn{padding:.65rem 1rem;font-size:.85rem}.character-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (width<=768px){.character-management{padding:1rem}.character-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-actions{flex-flow:wrap;width:100%}.character-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.character-card{padding:1rem}.avatar-icon{font-size:2rem}.character-management .card-status-actions{flex-wrap:wrap}.draft-preview{flex-wrap:wrap;gap:.35rem}.draft-condition,.draft-age,.draft-gender{font-size:.7rem}.form-row{grid-template-columns:1fr;gap:.75rem}.modal-box{margin:1rem;padding:1.5rem}.modal-actions{flex-direction:column;gap:.75rem}}.modal-box{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(800px,95vw);max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 10px 40px #0000001a}.modal-box h3{color:#1f2937;border-bottom:1px solid #e5e7eb;margin:0 0 1.5rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:600}.expires{color:#f59e0b;background-color:#fef3c7;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.draft-preview{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.draft-condition,.draft-age,.draft-gender{white-space:nowrap;text-overflow:ellipsis;border-radius:20px;max-width:120px;padding:.2rem .55rem;font-size:.8rem;font-weight:500;overflow:hidden}.character-card-notes{color:#9ca3af;-webkit-line-clamp:1;-webkit-box-orient:vertical;min-height:.975rem;margin:.15rem 0 .35rem;font-size:.75rem;font-style:italic;line-height:1.3;display:-webkit-box;overflow:hidden}.draft-condition{color:#065f46;background-color:#d1fae5}.draft-age{color:#1e40af;background-color:#dbeafe}.draft-gender{color:#6d28d9;background-color:#ede9fe}@media (width<=768px){.draft-preview{flex-flow:wrap;gap:.35rem}}@media (width<=480px){.character-management{padding:.75rem}.character-grid{grid-template-columns:1fr}.page-title{font-size:1.5rem}.modal-box{margin:.5rem;padding:1rem}.header-actions{flex-direction:column;gap:.75rem}}.dum-box{flex-direction:column;width:520px;max-width:95vw;max-height:85vh;font-family:Montserrat,sans-serif;display:flex;padding:0!important}.dum-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem .9rem;display:flex}.dum-header h2{color:#1e293b;margin:0;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700}.dum-box .mpm-dropzone{min-height:130px;padding:1.25rem}.mpm-doc-row.dum-doc-selected{background:#f0f4ff;border-color:#6686cc}.error-message.dum-error{margin-top:.75rem;padding:.4rem .6rem;font-size:.82rem}.upload-modal{width:90vw;max-width:600px;max-height:80vh;overflow-y:auto}.modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header h2{color:#1f2937;margin:0;font-size:1.5rem;font-weight:600}.close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.5rem;line-height:1}.close-btn:hover{color:#374151}.upload-content{flex-direction:column;gap:1rem;display:flex}.upload-description{color:#6b7280;margin:0;font-size:.95rem;line-height:1.5}.drop-zone{text-align:center;cursor:pointer;background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;padding:3rem 2rem;transition:all .3s}.drop-zone.drag-over{background-color:#eff6ff;border-color:#6686cc;transform:scale(1.02)}.drop-zone.has-file{cursor:default;background-color:#f0f4ff;border-color:#6686cc}.file-input{display:none}.upload-file-card{background:#f8f9fb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.65rem .9rem;display:flex}.upload-file-card-icon{flex-shrink:0;align-items:center;display:flex}.upload-file-card-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.upload-file-card-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.upload-file-card-size{color:#6b7280;font-size:.75rem}.upload-file-card-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 6px;line-height:1}.upload-file-card-remove:hover{color:#374151;background:#f3f4f6}.file-size{color:#6b7280;margin:0;font-size:.85rem}.error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.75rem;font-size:.9rem}.step-icon .loading-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;margin-bottom:0;animation:1s linear infinite spin;display:inline-block}.processing-modal{max-width:650px}.processing-content{text-align:center;flex-direction:column;gap:2rem;display:flex}.processing-animation{flex-direction:column;align-items:center;gap:1rem;display:flex}.processing-icon{color:#6686cc;animation:1s linear infinite spin}.processing-icon svg{display:block}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.processing-info h3{color:#1f2937;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.processing-info p{color:#6b7280;margin:0;font-size:.95rem;line-height:1.5}.processing-steps{text-align:left;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.step{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.step-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.step.completed,.step.completed .step-icon{color:#059669}.step.processing{color:#6686cc;font-weight:500}.step.processing .step-icon{color:#6686cc}.step.pending{color:#9ca3af}.step.pending .step-icon{color:#d1d5db}.next-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:background-color .2s}.next-btn:hover{background-color:#57b}.dum-fields-body{flex-direction:column;gap:0;display:flex}.dum-field-group{margin-bottom:1rem}.dum-field-label{color:#374151;margin-bottom:.4rem;font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:600;display:block}.dum-fields-section{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:.75rem}.dum-fields-section:first-of-type{border-top:none;padding-top:0}.dum-fields-list{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.dum-field-chip{color:#374151;background:#f0f4ff;border:1px solid #c5d1ec;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .5rem .3rem .65rem;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:500;display:inline-flex}.dum-field-chip--adhoc{background:#fafafa;border-color:#d1d5db;padding:.2rem .4rem}.dum-adhoc-input{color:#374151;background:0 0;border:none;outline:none;width:110px;padding:0;font-family:Montserrat,sans-serif;font-size:.8rem}.dum-adhoc-input::placeholder{color:#9ca3af}.dum-field-chip-remove{cursor:pointer;color:#9ca3af;background:0 0;border:none;align-items:center;padding:0;line-height:1;display:flex}.dum-field-chip-remove:hover{color:#dc2626}.dum-add-field-btn{color:#6686cc;cursor:pointer;background:0 0;border:1px dashed #c5d1ec;border-radius:6px;align-items:center;gap:.35rem;margin-top:.75rem;padding:.35rem .75rem;font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:600;display:inline-flex}.dum-add-field-btn:hover{background:#f0f4ff}.upload-template-btn{color:#6686cc;cursor:pointer;white-space:nowrap;background:#eef1fb;border:1px solid #6686cc;border-radius:5px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.upload-template-btn:hover{color:#fff;background:#6686cc}.mpm-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mpm-box{background:#fff;border-radius:12px;flex-direction:column;width:520px;max-width:95vw;max-height:85vh;font-family:Montserrat,sans-serif;display:flex;box-shadow:0 12px 32px #00000026}.mpm-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem .9rem;display:flex}.mpm-title{color:#1e293b;font-size:1rem;font-weight:700}.mpm-close{cursor:pointer;color:#6b7280;background:0 0;border:none;align-items:center;padding:.2rem;display:flex}.mpm-close:hover{color:#1e293b}.mpm-current{background:#f0f7ff;border-bottom:1px solid #dbeafe;align-items:center;gap:.75rem;padding:.65rem 1.25rem;font-size:.85rem;display:flex}.mpm-current-thumb{object-fit:cover;border-radius:6px;flex-shrink:0;width:36px;height:36px}.mpm-current-icon{color:#6686cc;flex-shrink:0}.mpm-current-name{color:#374151;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.mpm-clear-btn{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:6px;flex-shrink:0;align-items:center;gap:.3rem;padding:.25rem .6rem;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:500;display:flex}.mpm-clear-btn:hover{background:#fef2f2}.mpm-tabs{box-sizing:border-box;border-bottom:1px solid #e5e7eb;gap:.5rem;width:100%;padding:.75rem 1.25rem 0;display:flex}.mpm-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.35rem;margin-bottom:-1px;padding:.45rem .9rem;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;transition:color .15s;display:flex}.mpm-tab:hover{color:#374151}.mpm-tab.active{color:#6686cc;border-bottom-color:#6686cc}.mpm-body{flex:1;padding:1.1rem 1.25rem;overflow-y:auto}.mpm-dropzone{text-align:center;cursor:pointer;box-sizing:border-box;background:#f0f5ff;border:2px dashed #93b4e8;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:180px;padding:2rem;transition:border-color .2s,background .2s;display:flex}.mpm-dropzone:hover,.mpm-dropzone.drag-over{background:#f0f4ff;border-color:#6686cc}.mpm-dropzone.has-file{cursor:default;background:#f8faff;border-color:#6686cc}.mpm-dropzone-placeholder{color:#6b7280;flex-direction:column;align-items:center;gap:.5rem;display:flex}.mpm-drop-icon{color:#9ca3af}.mpm-dropzone-placeholder p{margin:0;font-size:.9rem}.mpm-browse{color:#6686cc;font-weight:600}.mpm-hint{color:#9ca3af!important;font-size:.78rem!important}.mpm-file-selected{flex-direction:column;align-items:center;gap:.75rem;display:flex}.mpm-preview-img{object-fit:cover;border:1px solid #e5e7eb;border-radius:8px;width:100px;height:100px}.mpm-file-icon{color:#6686cc}.mpm-filename{color:#374151;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.875rem;font-weight:500;overflow:hidden}.mpm-change-btn{cursor:pointer;color:#374151;background:0 0;border:1px solid #cbd5e1;border-radius:6px;padding:.25rem .75rem;font-family:Montserrat,sans-serif;font-size:.8rem}.mpm-change-btn:hover{background:#f3f4f6}.mpm-image-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.mpm-image-tile{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex-direction:column;padding:0;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.mpm-image-tile:hover{border-color:#6686cc}.mpm-tile-img{aspect-ratio:1;object-fit:cover;width:100%}.mpm-doc-list{box-sizing:border-box;grid-template-columns:1fr 1fr;gap:.5rem;width:100%;height:180px;display:grid;overflow-y:auto}.mpm-doc-row{cursor:pointer;text-align:left;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;padding:.65rem .85rem;font-family:Montserrat,sans-serif;transition:border-color .15s,background .15s;display:flex}.mpm-doc-row:hover{background:#f0f4ff;border-color:#6686cc}.mpm-doc-icon{color:#6686cc;flex-shrink:0}.mpm-doc-info{flex-direction:column;gap:.1rem;display:flex;overflow:hidden}.mpm-doc-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.mpm-doc-meta{color:#9ca3af;font-size:.75rem}.mpm-loading,.mpm-empty{text-align:center;color:#9ca3af;padding:2.5rem;font-size:.875rem}.mpm-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:.85rem 1.25rem;display:flex}.mpm-btn{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.1rem;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:500;transition:background-color .2s}.mpm-btn--cancel{color:#374151;background:#f3f4f6;border:1px solid #cbd5e1}.mpm-btn--cancel:hover{background:#e5e7eb}.mpm-btn--confirm{color:#fff;background:#6686cc}.mpm-btn--confirm:hover:not(:disabled){background:#4b61aa}.mpm-btn--confirm:disabled{opacity:.45;cursor:not-allowed}.share-modal-overlay{z-index:1000;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal-content{background-color:#fff;border-radius:12px;width:420px;max-width:90vw;padding:2rem;box-shadow:0 10px 25px #00000026}.share-modal-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.share-modal-content h3{color:#1e293b;margin-bottom:0;font-size:1.05rem;font-weight:700}.share-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.share-modal-close:hover{color:#374151;background-color:#f3f4f6}.share-modal-content p{color:#6b7280;margin-bottom:1rem;font-size:.95rem}.share-modal-code{letter-spacing:.15em;text-align:center;background-color:#f3f4f6;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-family:monospace;font-size:1.4rem;font-weight:700}.share-modal-buttons{justify-content:flex-end;gap:.75rem;display:flex}.share-modal-buttons button{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.45rem 1rem;font-weight:600}.share-modal-btn-secondary{color:#1e293b;background-color:#fff;border-color:#cbd5e1!important}.share-modal-btn-danger{color:#fff;background-color:#f28b82}.share-modal-btn-primary{color:#fff;background-color:#6686cc}.voice-select-container{margin-bottom:1rem}.voice-select-container .form-label{color:#374151;align-items:center;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:flex}.voice-select-container .form-label.required:after{content:" *";color:#dc2626}.voice-select{width:100%}.voice-option{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:12px}.voice-option:last-child{border-bottom:none}.voice-option-content{justify-content:space-between;align-items:center;display:flex}.voice-info{flex-direction:column;gap:2px;display:flex}.voice-actions{align-items:center;gap:8px;display:flex}.play-button{color:#6b7280;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.play-button:hover{color:#374151;background-color:#f3f4f6;border-color:#9ca3af}.play-button:active{background-color:#e5e7eb}.no-sample{color:#9ca3af;font-size:.75rem;font-style:italic}.voice-selected{justify-content:space-between;align-items:center;width:100%;height:100%;margin:0;padding:0;display:flex}.voice-selected .voice-info{flex:1;min-width:0;height:100%;margin:0;padding:0;flex-direction:row!important;align-items:center!important;gap:0!important;display:flex!important}.voice-selected .voice-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;padding:0;font-size:.9rem;font-weight:500;line-height:1;overflow:hidden}.voice-selected .voice-actions{flex-shrink:0;margin-left:8px}.voice-selected .play-button{width:28px;height:28px}.audio-error{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-top:.5rem;padding:.5rem;font-size:.8rem}.voice-help-text{color:#6b7280;margin-top:.5rem;font-size:.8rem;font-style:italic}.create-character-page{background-color:#f8fafc;min-height:100vh;padding:2rem}.wizard-step{max-width:700px;margin:0 auto}.step-subtitle{color:#6b7280;margin:0 0 2rem;font-size:1rem;line-height:1.5}.form-group:last-child{margin-bottom:0}.form-label{color:#374151;margin-bottom:.75rem;font-size:.9rem;font-weight:500;display:block}.form-label.required:after{content:" *";color:#dc2626;margin-left:.25rem}.form-input,.form-textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-textarea:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 3px #6686cc1a}.form-textarea{resize:vertical;min-height:100px}.form-textarea.large-textarea{min-height:200px}.form-helper{color:#6b7280;margin-bottom:.75rem;font-size:.85rem;line-height:1.4}.form-row .form-group{margin-bottom:0}.image-upload-container{margin-top:.75rem}.image-upload-label{cursor:pointer;border:2px dashed #d1d5db;border-radius:8px;transition:border-color .2s;display:block;overflow:hidden}.image-upload-label:hover{border-color:#6686cc}.image-placeholder{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}.image-preview{width:200px;height:200px;position:relative}.preview-image{object-fit:cover;width:100%;height:100%}.image-overlay{color:#fff;opacity:0;background:#000000b3;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.image-preview:hover .image-overlay{opacity:1}.preview-container{space-y:1.5rem}.preview-section{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.preview-title{color:#374151;align-items:center;gap:.5rem;font-weight:600;display:flex}.edit-section-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:background-color .2s;display:flex}.edit-section-btn:hover{background:#5a7bc4}.info-row{margin-bottom:.75rem;display:flex}.info-row label{color:#6b7280;min-width:100px;font-weight:500}.info-value{color:#374151}.image-preview-large{align-items:center;gap:1rem;display:flex}.character-image-preview{object-fit:cover;border-radius:8px;width:100px;height:100px}.image-name{color:#6b7280;font-size:.85rem}.file-info-preview{color:#6686cc;background:#6686cc0d;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.85rem;display:flex}.history-preview{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden}.history-content{max-height:300px;overflow-y:auto}.history-text{white-space:pre-wrap;word-wrap:break-word;background:#f8fafc;margin:0;padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.5}.content-stats{color:#6b7280;background:#fff;border-top:1px solid #e5e7eb;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.75rem;display:flex}.no-history{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}.no-content-icon{opacity:.5}.preview-summary{background:#f8fafc;border-radius:8px;margin-top:1.5rem;padding:1rem}.summary-stats{gap:2rem;display:flex}.stat-item{gap:.5rem;font-size:.85rem;display:flex}.validation-container{space-y:1.5rem}.validation-section{margin-bottom:1.5rem}.validation-section h3{color:#374151;margin:0 0 1rem;font-size:1.125rem;font-weight:600}.validation-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.file-source{color:#6b7280;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.validation-list{space-y:.5rem}.validation-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;transition:border-color .2s}.validation-item.error{background:#dc262605;border-color:#dc2626}.validation-item.missing{background:#f59e0b05;border-color:#f59e0b}.validation-item.optional{background:#f8fafc}.validation-item-header{justify-content:space-between;align-items:center;display:flex}.validation-item-title{color:#374151;align-items:center;gap:.5rem;font-weight:500;display:flex}.validation-status{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.status-icon.valid{color:#10b981}.status-icon.error{color:#dc2626}.status-icon.missing{color:#f59e0b}.status-text{font-weight:500}.status-text.optional{color:#6b7280}.validation-error{color:#dc2626;margin-top:.5rem;font-size:.85rem}.validation-preview{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.75rem}.preview-value{color:#374151;font-size:.85rem}.validation-image-preview{object-fit:cover;border-radius:6px;width:60px;height:60px;margin-right:.75rem}.history-preview-section{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1rem;overflow:hidden}.history-preview-text{white-space:pre-wrap;word-wrap:break-word;background:#f8fafc;max-height:200px;margin:0;padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;line-height:1.5;overflow-y:auto}.history-more{color:#6b7280;background:#fff;border-top:1px solid #e5e7eb;padding:.75rem 1rem;font-size:.85rem;font-style:italic}.history-stats{gap:1.5rem;margin-top:1rem;display:flex}.stat{gap:.5rem;font-size:.85rem;display:flex}.stat-label{color:#6b7280;font-weight:500}.stat-value{color:#374151;font-weight:600}.validation-summary{border-radius:8px;margin-top:2rem;padding:1rem}.validation-success{color:#10b981;background:#10b9810d;border:1px solid #10b98133;border-radius:8px;align-items:center;gap:.75rem;padding:1rem;font-weight:500;display:flex}.validation-warning{color:#f59e0b;background:#f59e0b0d;border:1px solid #f59e0b33;border-radius:8px;align-items:center;gap:.75rem;padding:1rem;font-weight:500;display:flex}.submitting-overlay{z-index:10;background:#ffffffe6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.submitting-message{color:#6686cc;align-items:center;gap:.75rem;font-weight:600;display:flex}.spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.spinner.small{border-width:1.5px;width:14px;height:14px}@media (width<=768px){.create-character-page{padding:1rem}.wizard-container{margin:0}.wizard-header,.wizard-content{padding:1.5rem 1rem}.step-connector{display:none}.summary-stats{flex-direction:column;gap:.75rem}.history-stats{flex-direction:column;gap:.5rem}}.create-simulation-page{background-color:#f8fafc;min-height:100vh;padding:2rem}.saving-indicator{color:#2563eb;align-items:center;gap:8px;margin-top:4px;font-size:.875rem;display:flex}.saving-indicator:before{content:"";border:2px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:12px;height:12px;animation:1s linear infinite spin}.wizard-container{background:#fff;border-radius:12px;max-width:900px;margin:0 auto;overflow:hidden;box-shadow:0 4px 16px #0000001a}.wizard-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;display:flex}.wizard-title{color:#1f2937;margin:0;font-size:1.75rem;font-weight:700}.cancel-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;transition:all .2s}.cancel-btn:hover{color:#374151;background-color:#f3f4f6}.progress-indicator{background-color:#f8fafc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;padding:2rem;display:flex;position:relative}.progress-step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-circle{color:#6b7280;z-index:2;background-color:#e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:.75rem;font-size:.9rem;font-weight:600;transition:all .3s;display:flex;position:relative}.step-circle.active{color:#fff;background-color:#6686cc}.step-circle.completed{color:#fff;background-color:#10b981}.step-info{text-align:center;max-width:120px}.step-title{color:#374151;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.step-description{color:#6b7280;font-size:.8rem;line-height:1.3}.step-connector{z-index:1;background-color:#e5e7eb;width:100%;height:2px;transition:background-color .3s;position:absolute;top:20px;left:50%}.step-connector.completed{background-color:#10b981}.wizard-content{min-height:400px;padding:2rem}.wizard-navigation{background-color:#f8fafc;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.nav-left,.nav-right{gap:1rem;display:flex}.nav-center{flex:1;justify-content:center;display:flex}.step-counter{color:#6b7280;font-size:.9rem;font-weight:500}.nav-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.nav-btn.primary{color:#fff;background-color:#6686cc}.nav-btn.primary:hover:not(:disabled){background-color:#5a7bc4}.nav-btn.secondary{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.nav-btn.secondary:hover:not(:disabled){background-color:#e5e7eb}.nav-btn.success{color:#fff;background-color:#57c189}.nav-btn.success:hover:not(:disabled){background-color:#4ade80}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.final-actions{gap:1rem;display:flex}.wizard-step{max-width:100%}.wizard-step h2{color:#1f2937;margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.wizard-step .step-subtitle{color:#6b7280;margin:0 0 .5rem;font-size:1rem}.wizard-step .step-instruction{color:#9ca3af;margin:0 0 2rem;font-size:.85rem}.form-group{margin-bottom:1.5rem}.form-row{align-items:start;display:flex}.form-row .form-group{flex:1;margin-bottom:0}.form-row .form-group+.form-group{margin-left:1rem}.form-group label:not(.label-with-info){color:#374151;margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group label.required:after{content:" *";color:#dc2626}.form-input,.form-select,.form-textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 3px #6686cc1a}.form-textarea{resize:vertical;min-height:100px;font-family:inherit}.form-error{color:#dc2626;margin-top:.25rem;font-size:.8rem}.form-hint{color:#9ca3af;margin-top:.35rem;font-size:.8rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;display:grid}@media (width<=768px){.create-simulation-page{padding:1rem}.wizard-header{padding:1.5rem 1.5rem 1rem}.wizard-title{font-size:1.5rem}.progress-indicator{flex-direction:column;gap:1rem;padding:1.5rem}.progress-step{flex-direction:row;align-items:center;gap:1rem;width:100%}.step-circle{flex-shrink:0;margin-bottom:0}.step-info{text-align:left;flex:1;max-width:none}.step-connector{display:none}.wizard-content{padding:1.5rem}.wizard-navigation{flex-direction:column;gap:1rem;padding:1rem 1.5rem}.nav-left,.nav-right{justify-content:center;width:100%}.nav-center{order:-1}.final-actions{flex-direction:column;width:100%}.form-row,.form-row-triple{grid-template-columns:1fr;gap:1rem}}@media (width<=480px){.wizard-header{padding:1rem}.wizard-title{font-size:1.25rem}.progress-indicator,.wizard-content{padding:1rem}.nav-btn{padding:.6rem 1rem;font-size:.8rem}}.char-counter{text-align:right;color:#6b7280;margin-top:.25rem;font-size:.8rem}.form-helper{color:#6b7280;margin:0 0 1rem;font-size:.85rem;line-height:1.4}.character-image{object-fit:cover;border:2px solid #e5e7eb;border-radius:8px;width:80px;height:80px}.character-details{gap:1rem;margin-bottom:1rem;display:flex}.selected-character-preview{margin-top:.75rem}.selected-character-preview-header{color:#6686cc;align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:flex}.selected-character-preview .character-picker-card{box-sizing:border-box;align-items:flex-start;width:100%}.selected-notes{white-space:nowrap!important;text-overflow:ellipsis!important;max-width:100%!important;overflow:hidden!important}.character-picker-btn{text-align:left;color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;transition:border-color .2s}.character-picker-btn:hover:not(:disabled){border-color:#6686cc}.character-picker-btn:disabled{cursor:not-allowed;color:#9ca3af;background:#f9fafb}.character-picker-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.character-picker-modal{background:#fff;border-radius:12px;flex-direction:column;width:560px;max-width:90vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #00000026}.character-picker-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.character-picker-header h3{color:#1f2937;margin:0;font-size:1.1rem;font-weight:600}.character-picker-close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem;line-height:1}.character-picker-close:hover{color:#1f2937}.character-picker-list{flex-direction:column;gap:.5rem;padding:1rem;display:flex;overflow-y:auto}.character-picker-card{cursor:pointer;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:1rem;padding:.75rem 1rem;transition:border-color .15s,background .15s;display:flex}.character-picker-card:hover{background:#f5f7ff;border-color:#6686cc}.character-picker-card.selected{background:#eef1fb;border-color:#6686cc}.picker-card-image{object-fit:cover;border-radius:8px;flex-shrink:0;width:52px;height:52px}.picker-card-placeholder{color:#9ca3af;background:#e5e7eb;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.picker-card-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.picker-card-name-row{align-items:center;gap:.5rem;display:flex}.picker-card-name{color:#1f2937;font-size:.95rem;font-weight:600}.picker-card-version{color:#9ca3af;font-size:.75rem;font-weight:500}.picker-card-meta{color:#6b7280;font-size:.85rem}.picker-card-notes{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;max-width:360px;margin-top:.1rem;font-size:.8rem;font-style:italic;overflow:hidden}.checkbox-label{cursor:pointer;align-items:center;gap:1rem;margin:0;padding:1rem;font-weight:400;display:flex}.checkbox-label input[type=checkbox]{display:none}.action-list{margin-bottom:1.5rem}.action-item{background-color:#f8fafc;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem;display:flex}.remove-action-btn{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;transition:background-color .2s}.remove-action-btn:hover{background-color:#fee2e2}.add-action-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;padding:.75rem 1rem;font-weight:500;transition:background-color .2s}.add-action-btn:hover{background-color:#5a7bc4}.section-header{margin-bottom:2rem}.section-title{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.section-title h3{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.divider{justify-content:center;align-items:center;height:100px;display:flex;position:relative}.divider:before{content:"";background:#e5e7eb;width:1px;height:60px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.divider span{color:#6b7280;z-index:1;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;position:relative}.file-size{color:#6b7280;font-size:.8rem}@media (width<=768px){.divider{height:auto;margin:1rem 0}.divider:before{width:60px;height:1px;top:50%;left:50%}}.preview-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;overflow:hidden}.preview-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.preview-title{align-items:center;gap:.75rem;display:flex}.preview-title h3{color:#1f2937;margin:0;font-size:1.1rem;font-weight:600}.preview-stats{gap:1rem;display:flex}.stat{color:#6b7280;background:#e5e7eb;border-radius:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:500}.preview-content{padding:1.5rem}.simulation-summary{flex-direction:column;gap:1rem;display:flex}.summary-item{align-items:flex-start;gap:1rem;display:flex}.summary-item label{color:#374151;min-width:120px;font-size:.9rem;font-weight:600}.summary-value{color:#6b7280;flex:1;font-size:.9rem}.character-summary{flex:1;align-items:center;gap:.5rem;display:flex}.details-preview-container{position:relative}.details-preview-text{color:#374151;white-space:pre-wrap;word-wrap:break-word;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;max-height:300px;padding:1rem;font-size:.9rem;line-height:1.6;overflow-y:auto}.file-source-info{color:#065f46;background:#ecfdf5;border:1px solid #d1fae5;border-radius:4px;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem;font-size:.8rem;display:flex}.file-size{color:#6b7280}.empty-section{border:2px dashed #e5e7eb}.empty-state{color:#9ca3af;text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.empty-state p{margin:0;font-size:.85rem}.validation-summary{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.validation-header h3{color:#1f2937;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.validation-items{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.validation-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.validation-item.valid{background:#ecfdf5;border-color:#10b981}.validation-item.invalid{background:#fef2f2;border-color:#ef4444}.validation-item.optional{background:#f9fafb;border-color:#6b7280}.validation-icon{flex-shrink:0}.validation-icon.valid{color:#10b981}.validation-icon.invalid{color:#ef4444}.validation-icon.optional{color:#6b7280}.validation-item span:nth-child(2){color:#374151;flex:1;font-size:.9rem;font-weight:500}.validation-status{color:#6b7280;font-size:.8rem;font-weight:500}.validation-message{border-radius:6px;align-items:center;gap:.75rem;padding:1rem;font-weight:500;display:flex}.success-message{color:#065f46;background:#ecfdf5;border:1px solid #10b981}.error-message{color:#991b1b;background:#fef2f2;border:1px solid #ef4444}.rubric-item{border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1rem;padding:1rem}.rubric-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.rubric-title{color:#374151;text-transform:capitalize;font-weight:600}.rubric-criteria{resize:vertical;border:1px solid #d1d5db;border-radius:6px;width:100%;min-height:80px;margin-top:1rem;padding:.75rem}.discrepancy-summary{border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.65rem 1rem;display:flex}.discrepancy-summary.summary-pending{background:#fff1f2;border:1.5px solid #fca5a5}.discrepancy-summary.summary-all-done{background:#f0fdf4;border:1.5px solid #86efac}.summary-pending .summary-warning-icon{color:#ef4444;flex-shrink:0}.summary-all-done .summary-warning-icon{color:#10b981;flex-shrink:0}.summary-title{color:#1e293b;font-size:.9rem;font-weight:700}.summary-sep{color:#94a3b8;font-size:.9rem}.summary-count{color:#1e293b;font-size:.95rem;font-weight:700}.summary-all-resolved{color:#15803d;align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.discrepancies-container{flex-direction:column;gap:1.5rem;display:flex}.discrepancy-item,.wizard-step .discrepancy-item{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1rem 1.25rem;transition:all .3s;box-shadow:0 2px 8px #0000000a}.discrepancy-item:hover,.wizard-step .discrepancy-item:hover{transform:none;box-shadow:0 4px 16px #00000014}.discrepancy-item.unresolved{border-color:#fca5a5}.discrepancy-item.incomplete{border-color:#fcd34d}.discrepancy-item.resolved,.wizard-step .discrepancy-item.resolved{background:#fff;border-color:#10b981}.discrepancy-header{border-bottom:1px solid #e2e8f0;border-radius:10px 10px 0 0;justify-content:space-between;align-items:flex-start;margin:-1rem -1.25rem 1rem;padding:.75rem 1.25rem;display:flex}.discrepancy-item.unresolved .discrepancy-header{background:#fff1f2;border-bottom-color:#fca5a5}.discrepancy-item.incomplete .discrepancy-header{background:#fffbeb;border-bottom-color:#fcd34d}.discrepancy-item.resolved .discrepancy-header,.wizard-step .discrepancy-item.resolved .discrepancy-header{background:#f0fdf4;border-bottom-color:#86efac}.discrepancy-title{align-items:flex-start;gap:1.25rem;display:flex}.discrepancy-number{color:#fff;background:linear-gradient(135deg,#6686cc 0%,#5a7bc4 100%);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:700;display:flex;box-shadow:0 4px 8px #6686cc33}.discrepancy-info h4{color:#1e293b;letter-spacing:-.01em;margin:0 0 .75rem;font-size:1.15rem;font-weight:700}.discrepancy-info p{color:#64748b;margin:0;font-size:.95rem;line-height:1.6}.discrepancy-status{flex-shrink:0}.resolved-icon{color:#10b981;stroke-width:2.5px}.unresolved-icon{color:#f87171;stroke-width:2.5px}.incomplete-icon{color:#f59e0b;stroke-width:2.5px}.discrepancy-options{margin-top:1.75rem}.option-custom-text{color:#334155;resize:vertical;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:8px;width:100%;margin-top:.75rem;padding:.65rem .85rem;font-family:Montserrat,sans-serif;font-size:.9rem;line-height:1.6}.option-custom-text:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 3px #6686cc26}.disc-values{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.75rem;margin-top:.75rem;display:grid}.disc-value{background:#fafafa;border:1.5px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.2rem;padding:.4rem .65rem;transition:border-color .2s,background .2s;display:flex}.disc-value-active{background:#dcfce7;border-color:#22c55e}.disc-value-label{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-size:.7rem;font-weight:700}.disc-value-active .disc-value-label{color:#15803d}.disc-value-text{color:#334155;font-size:.875rem;line-height:1.5}.disc-value-sep{background:#e2e8f0;align-self:stretch;width:1px}.disc-pills{width:100%;display:flex}.disc-pill{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;border:1.5px solid #e2e8f0;border-right-width:0;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .5rem;font-size:.78rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.disc-pill:first-child{border-radius:8px 0 0 8px}.disc-pill:last-child{border-right-width:1.5px;border-radius:0 8px 8px 0}.disc-pill input[type=radio]{display:none}.disc-pill:hover{color:#6686cc;background:#f1f5f9}.disc-pill-active{color:#15803d;z-index:1;background:#dcfce7;border-color:#22c55e;border-bottom-style:solid;border-bottom-width:2.5px;border-right-width:1.5px;position:relative}.disc-pill-active+.disc-pill{border-left-width:0}.disc-pill-incomplete{color:#92400e;z-index:1;background:#fef3c7;border-color:#f59e0b;border-bottom-style:solid;border-bottom-width:2.5px;border-right-width:1.5px;position:relative}.disc-pill-incomplete+.disc-pill,.disc-pill-active+.disc-pill{border-left-width:0}.disc-custom{margin-top:.6rem}.resolution-warning{color:#92400e;background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;padding:.75rem 1.25rem;font-size:.82rem;font-weight:600;display:flex}@media (width<=768px){.discrepancy-header{flex-direction:column;gap:1rem}}.review-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.review-header{background:#f8fafc;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.review-title{color:#374151;align-items:center;gap:.75rem;display:flex}.review-title h3{margin:0;font-size:1.1rem;font-weight:600}.review-content{padding:1.5rem}.wizard-step .review-content{display:block}.info-value{color:#1f2937;font-size:.95rem;line-height:1.5}.scenario-text{color:#374151;white-space:pre-wrap;word-wrap:break-word;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;max-height:300px;padding:1.5rem;font-size:.95rem;line-height:1.6;overflow-y:auto}.document-info{margin-top:1rem}.summary-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.summary-value{color:#1f2937;font-size:.95rem;font-weight:500}.status-badge{border-radius:12px;align-items:center;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex}.status-badge.resolved{color:#065f46;background:#ecfdf5;border:1px solid #d1fae5}.evaluation-tabs{border-bottom:2px solid #e5e7eb;margin-top:1rem;margin-bottom:.75rem;display:flex}.tab-button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.tab-button:hover{color:#374151;background-color:#f3f4f6}.tab-button.active{color:#6686cc;border-bottom-color:#6686cc;font-size:1.05rem;font-weight:700}.evaluation-content{flex-direction:column;gap:1.25rem;display:flex}.evaluation-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:-.5rem;display:flex}.header-content h3{color:#1f2937;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.header-content p{color:#6b7280;margin:0;font-size:.95rem;line-height:1.5}.header-actions{flex-shrink:0}.checklist-container{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.checklist-container-inner{padding:.85rem 1rem}.checklist-container .add-criterion-form{background:0 0;border:none;border-radius:0;padding:0}.checklist-container .add-criterion-form .add-btn{color:#fff;background:#6686cc;border-top:none;border-radius:6px;justify-content:flex-start;width:auto;margin-top:.6rem;margin-left:0;margin-right:0;padding:.4rem 1rem}.checklist-container .add-criterion-form .add-btn:hover:not(:disabled){color:#fff;background:#5a7bc4}.checklist-container .add-criterion-form .add-btn:disabled{cursor:not-allowed;background:#9ca3af}.checklist-container .rubric-criteria{min-height:unset;border:none;border-radius:0;padding:0}.checklist-item-list{border-top:1px solid #e5e7eb;flex-direction:column;gap:.5rem;margin-top:0;padding:1rem 1.25rem 1.25rem;display:flex}.add-criterion-form{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem}.add-criterion-form .add-btn{background:#fff;border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px;justify-content:center;width:calc(100% + 2.5rem);margin-top:1.25rem;margin-left:-1.25rem;margin-right:-1.25rem;padding:1rem 1.25rem}.add-criterion-form .add-btn:hover:not(:disabled){color:#6686cc;background:#eff6ff}.checklist-inline-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.checklist-inline-row .form-input{padding:.4rem .6rem;font-size:.85rem}.checklist-inline-row .add-btn{margin-top:0;padding:.4rem .75rem;font-size:.85rem}.form-row{align-items:flex-end;gap:1rem;display:flex}.form-row .form-input{flex:1}.add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#6686cc;border:none;border-radius:6px;gap:.5rem;margin-top:.5rem;margin-left:auto;padding:.75rem 1rem;font-weight:500;transition:background-color .2s;display:flex}.add-btn:hover:not(:disabled){background:#5a7bc4}.add-btn:disabled{cursor:not-allowed;background:#9ca3af}.add-btn.primary{background:#57c189}.add-btn.primary:hover:not(:disabled){background:#4ade80}.checklist-items,.rubric-criteria{flex-direction:column;gap:.5rem;display:flex}.checklist-item,.rubric-criterion{background:0 0;border:none;border-bottom:1px solid #f3f4f6;border-radius:0;padding:.6rem 0;transition:background-color .15s}.checklist-item:hover,.rubric-criterion:hover{background:#f9fafb}.item-content{flex-direction:column;width:100%;display:flex}.criterion-header{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.item-number,.criterion-number{color:#fff;background:#6686cc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;font-weight:600;display:flex}.remove-btn{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.5rem;transition:background-color .2s}.remove-btn:hover{background:#fee2e2}.criterion-scales{border-top:1px solid #e5e7eb;padding-top:1rem}.scales-list{flex-wrap:wrap;gap:.5rem;display:flex}.scale-item{color:#1d4ed8;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;align-items:center;gap:.5rem;padding:.25rem .75rem;font-size:.85rem;display:flex}.empty-checklist,.empty-rubric{text-align:center;color:#9ca3af;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:.4rem;padding:3rem 2rem;display:flex}.empty-checklist .empty-icon,.empty-rubric .empty-icon{color:#d1d5db}.empty-checklist p,.empty-rubric p{color:#6b7280;margin:0;font-size:1rem;font-weight:500}.empty-checklist span,.empty-rubric span{color:#9ca3af;font-size:.85rem}.evaluation-summary{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem;padding:.75rem 1.25rem}.summary-stats{flex-direction:row;justify-content:space-evenly;align-items:center;display:flex}.stat-item{flex-direction:row;align-items:center;gap:.5rem;display:flex}.stat-label{color:#6b7280;font-size:.85rem;font-weight:500}.stat-label strong{color:#6686cc;font-size:1rem;font-weight:700}.stat-divider{background:#e5e7eb;width:1px;height:20px}@media (width<=768px){.evaluation-header,.form-row,.item-content,.criterion-header{flex-direction:column;gap:1rem}.scales-list{flex-direction:column;align-items:flex-start}.summary-stats{flex-direction:column;gap:1rem}}.criterion-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.rubric-summary{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.rubric-summary h4{color:#1f2937;margin:0;font-size:1.1rem;font-weight:600}.edit-btn{color:#6686cc;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:.25rem;transition:background-color .2s;display:flex}.edit-btn:hover{background:#eef2ff}.rubric-criterion.editing{background:#f8f9ff;border-color:#6686cc}.info-icon{color:#6686cc;transition:color .2s}.info-icon:hover{color:#5a7bc4}.scale-textarea-error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.no-discrepancies-message{margin-top:2rem}.success-card{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #10b981;border-radius:12px;align-items:center;gap:1.5rem;padding:2rem;display:flex}.success-icon{flex-shrink:0}.success-icon .check-icon{color:#10b981}.success-content h3{color:#065f46;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.success-content p{color:#047857;margin:0;font-size:.95rem;line-height:1.5}.character-details-container{flex-direction:column;gap:1.5rem;display:flex}.conditions-list,.medications-list,.symptoms-list{flex-direction:column;gap:.5rem;display:flex}.scenario-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem}.simulation-status{background:#f8fafc;border-bottom:1px solid #e5e7eb;align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.simulation-status .status-badge{text-transform:capitalize}.simulation-status .status-badge.draft{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.simulation-status .status-badge.unpublished{color:#92400e;background:#fef3c7;border-color:#f59e0b}.simulation-status .status-badge.published{color:#065f46;background:#ecfdf5;border-color:#10b981}.simulation-status .status-badge.archived{color:#6b7280;background:#f3f4f6;border-color:#d1d5db}.summary-warning{text-align:center;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-top:.75rem;padding:.6rem 1rem}.summary-warning p{color:#92400e;align-items:center;gap:.5rem;margin:0;font-size:.9rem;font-weight:500;display:flex}.modal-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:500px;animation:.2s ease-out modalSlideIn;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e5e7eb;padding:1.5rem}.modal-header h3{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600}.modal-body{color:#374151;padding:.75rem 1.5rem 1.5rem;line-height:1.6}.modal-body p{margin:0 0 1rem}.modal-body ul{margin:.5rem 0;padding-left:1.5rem}.modal-body li{color:#6b7280;margin-bottom:.5rem}.modal-body strong{color:#1f2937}.modal-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:.75rem;padding:1.5rem;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s}.modal-btn.cancel-btn{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.modal-btn.cancel-btn:hover{background:#e5e7eb}.modal-btn.confirm-btn{color:#fff;background:#6686cc}.modal-btn.confirm-btn:hover{background:#5a7bc4}.modal-btn.delete-btn{color:#fff;background:#f28b82}.modal-btn.delete-btn:hover{background:#ef4444}.exit-option-cards{flex-direction:column;gap:.6rem;display:flex}.exit-option-card{cursor:pointer;text-align:left;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.9rem;width:100%;padding:.85rem 1rem;font-family:Montserrat,sans-serif;transition:background .15s,border-color .15s;display:flex}.exit-option-card div{flex-direction:column;gap:.15rem;display:flex}.exit-option-card strong{color:#111827;font-size:.9rem}.exit-option-card span{color:#6b7280;font-size:.78rem}.exit-option-save{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.exit-option-save:hover{background:#dbeafe;border-color:#93c5fd}.exit-option-save svg{color:#3b82f6;flex-shrink:0}.exit-option-delete{color:#dc2626;background:#fff5f5;border-color:#fecaca}.exit-option-delete:hover{background:#fee2e2;border-color:#fca5a5}.exit-option-delete svg{color:#ef4444;flex-shrink:0}.exit-option-neutral{color:#374151;background:#f9fafb;border-color:#e5e7eb}.exit-option-neutral:hover{background:#f3f4f6;border-color:#d1d5db}.exit-option-neutral svg{color:#6b7280;flex-shrink:0}@media (width<=768px){.header-actions{flex-direction:column;gap:.5rem;width:100%;display:flex}}.speaker-row{flex-direction:column;gap:.5rem;display:flex}.speaker-row>label{color:#374151;font-size:.875rem;font-weight:500}.speaker-default{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:.75rem;padding:.625rem .875rem;display:flex}.speaker-default-name{color:#374151;flex:1;font-size:.875rem}.speaker-self-tag{color:#6b7280;background:#e5e7eb;border-radius:4px;margin-left:.4rem;padding:.1rem .45rem;font-size:.72rem;font-weight:500;display:inline-block}.speaker-change-btn{color:#6686cc;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.speaker-change-btn:hover:not(:disabled){color:#4f6abf}.speaker-change-btn:disabled{color:#9ca3af;cursor:not-allowed}.speaker-custom{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.speaker-fields{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.speaker-field{flex-direction:column;gap:.3rem;display:flex}.speaker-field label{color:#6b7280;font-size:.8rem;font-weight:500}.speaker-field-full{grid-column:1/-1}.speaker-reset-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.8rem;text-decoration:underline}.speaker-reset-btn:hover:not(:disabled){color:#6b7280}.speaker-reset-btn:disabled{cursor:not-allowed}.publish-modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.publish-modal-content{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;width:100%;max-width:500px;max-height:85vh;animation:.2s ease-out slideIn;display:flex;overflow:hidden;box-shadow:0 10px 40px #00000026}.publish-modal-header{border-bottom:1px solid #e5e7eb;padding:2rem 2rem 0}.publish-modal-title{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.publish-modal-title h2{color:#1f2937;margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.publish-modal-subtitle{color:#6b7280;margin-bottom:1rem;font-size:.95rem;font-weight:400}.publish-modal-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.publish-modal-close:hover{color:#374151;background-color:#f3f4f6}.publish-modal-body{flex:1;padding:2rem 2rem 0;overflow-y:auto}.publish-selection-controls{margin-bottom:2rem}.publish-selection-summary{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.publish-selection-summary svg{color:#6686cc;flex-shrink:0}.publish-selection-summary span{color:#374151;font-size:.95rem;font-weight:500}.publish-select-all-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:100%;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.publish-select-all-btn:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.publish-select-all-btn:disabled{opacity:.5;cursor:not-allowed}.publish-classes-list{flex-direction:column;margin-bottom:1rem;display:flex}.publish-class-item{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex;position:relative}.publish-class-item:hover{background-color:#f9fafb;border-color:#9ca3af}.publish-class-item.selected{background-color:#eff6ff;border-color:#6686cc;box-shadow:0 2px 4px #6686cc1a}.publish-class-info{flex:1;min-width:0}.publish-class-name{color:#1f2937;margin:0 0 .25rem;font-size:1rem;font-weight:600;line-height:1.4}.publish-class-description{color:#6b7280;margin:0;font-size:.85rem;line-height:1.4}.publish-selection-indicator{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.publish-selected-icon{color:#6686cc;animation:.2s ease-out checkmarkPop}@keyframes checkmarkPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.publish-empty-classes{text-align:center;color:#6b7280;padding:3rem 1rem}.publish-empty-classes svg{color:#d1d5db;margin-bottom:1rem}.publish-empty-classes h4{color:#374151;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.publish-empty-classes p{margin:0;font-size:.95rem;line-height:1.5}.publish-loading-state{text-align:center;color:#6b7280;padding:3rem 1rem}.publish-loading-spinner{border:3px solid #e5e7eb;border-top-color:#6686cc;border-radius:50%;width:32px;height:32px;margin:0 auto 1rem;animation:1s linear infinite spin}.publish-loading-state p{margin:0;font-size:.95rem}.publish-modal-footer{background-color:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;gap:1rem;padding:1rem 2rem 2rem;display:flex}.publish-btn-secondary{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;min-width:100px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s}.publish-btn-secondary:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.publish-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.publish-btn-primary{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;min-width:140px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.publish-btn-primary:hover:not(:disabled){background-color:#5a7bc4}.publish-btn-primary:disabled{opacity:.6;cursor:not-allowed}.publish-btn-primary .publish-loading-spinner{border-width:2px;border-color:#fff #ffffff4d #ffffff4d;width:16px;height:16px;margin:0}@media (width<=640px){.publish-modal-overlay{padding:var(--space-2)}.publish-modal-content{border-radius:var(--radius-lg);max-height:90vh}.publish-modal-header,.publish-modal-body,.publish-modal-footer{padding:var(--space-4)}.publish-modal-title h2{font-size:var(--text-xl)}.publish-modal-subtitle{font-size:var(--text-xs)}.publish-modal-footer{flex-direction:column}.publish-btn-secondary,.publish-btn-primary{width:100%;min-width:auto}.publish-class-item{padding:var(--space-3)}.publish-class-name{font-size:var(--text-sm)}}.extraction-banner{border-radius:8px;margin-bottom:1.25rem;padding:.9rem 1.25rem;font-size:.9rem;line-height:1.5}.extraction-banner--error{color:#7f1d1d;background:#fef2f2;border:1px solid #fca5a5;border-left:4px solid #ef4444}.extraction-banner--warning{color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-left:4px solid #f59e0b}.character-details-page{background-color:#f9fafb;min-height:100vh;padding:2rem;font-family:Montserrat,sans-serif}.character-details-container{max-width:800px;margin:0 auto}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-header h1{color:#1f2937;margin:0;font-size:2rem;font-weight:700}.back-btn{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.character-profile-card{background:#fff;border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #0000000f}.profile-header{flex-wrap:wrap;align-items:flex-start;gap:2rem;display:flex}.avatar-section{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:110px;display:flex}.character-avatar{color:#6b7280;font-size:5rem}.character-avatar-image{object-fit:cover;border:2px solid #e5e7eb;border-radius:50%;width:96px;height:96px}.avatar-change-btn{cursor:pointer;color:#6686cc;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;text-decoration:underline}.basic-info{flex-direction:column;flex:300px;gap:.65rem;width:100%;min-width:0;display:flex}.basic-field{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:4px;padding:.45rem .75rem .5rem;display:flex}.basic-field-top{justify-content:space-between;align-items:center;display:flex}.basic-field-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.basic-field-revert{color:#6686cc;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-family:inherit;font-size:.72rem}.basic-field-revert:hover{opacity:1;text-decoration:underline}.basic-field-input,.basic-field-select{color:#1f2937;box-sizing:border-box;background:#fff;border:1px solid #e5e7eb;border-radius:6px;width:100%;padding:.35rem .5rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.basic-field-input:focus,.basic-field-select:focus{border-color:#6686cc;outline:none}.basic-field-input:disabled,.basic-field-select:disabled{color:#374151;cursor:default;background:#f3f4f6}.basic-field-star-btn{cursor:pointer;color:#d1d5db;background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;padding:2px;transition:color .15s;display:flex}.basic-field-star-btn:hover,.basic-field-star-btn--active{color:#f59e0b}.basic-field-star-btn--active svg{fill:#f59e0b}.basic-field-label-input{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;outline:none;width:100%;padding:0;font-family:inherit;font-size:.75rem;font-weight:600}.basic-field-label-input::placeholder{color:#c4c9d4;text-transform:none;letter-spacing:0;font-weight:400}.detail-field-delete-btn{cursor:pointer;color:#c4c9d4;background:0 0;border:none;border-radius:3px;flex-shrink:0;align-items:center;padding:2px;transition:color .15s;display:flex}.detail-field-delete-btn:hover{color:#ef4444}.detail-fields-removed{background:#f9fafb;border:1px dashed #d1d5db;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;padding:.5rem .75rem;display:flex}.detail-fields-removed-label{color:#9ca3af;flex-shrink:0;font-size:.78rem}.detail-field-restore-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:4px;padding:.2rem .55rem;font-family:inherit;font-size:.78rem;transition:all .15s}.detail-field-restore-btn:hover{color:#6686cc;background:#f0f4ff;border-color:#6686cc}.detail-field-add-btn{color:#6686cc;cursor:pointer;background:0 0;border:1.5px dashed #c7d2e8;border-radius:6px;align-items:center;gap:.35rem;margin-top:.6rem;padding:.4rem .9rem;font-family:inherit;font-size:.83rem;font-weight:500;transition:all .15s;display:flex}.detail-field-add-btn:hover{background:#f0f4ff;border-color:#6686cc}.basic-field-textarea{color:#1f2937;box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #e5e7eb;border-radius:6px;width:100%;min-height:120px;padding:.35rem .5rem;font-family:inherit;font-size:.9rem;line-height:1.5;transition:border-color .15s}.basic-field-textarea:focus{border-color:#6686cc;outline:none}.inline-fields{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.65rem;display:grid}.details-section{background:#fff;border-radius:12px;margin-bottom:1rem;padding:1.25rem 1.5rem;box-shadow:0 2px 8px #0000000f}.section-title{color:#1f2937;border-bottom:2px solid #f3f4f6;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.voice-selection-container{max-width:500px}.section-hint{color:#9ca3af;margin:-.5rem 0 .75rem;font-size:.82rem}.notes-textarea{box-sizing:border-box;color:#1f2937;resize:vertical;border:1px solid #d1d5db;border-radius:8px;width:100%;min-height:90px;padding:.65rem .75rem;font-family:Montserrat,sans-serif;font-size:.9rem;transition:border-color .2s}.notes-textarea:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 3px #6686cc1a}.notes-view-text{color:#374151;white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.6}.fields-grid{flex-direction:column;gap:.75rem;display:flex}.character-field{border:1px solid #e5e7eb;border-radius:8px;transition:border-color .2s;overflow:hidden}.character-field:hover{border-color:#d1d5db}.field-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:.45rem .75rem;display:flex}.field-label{color:#374151;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.ai-suggested-badge{color:#7c3aed;letter-spacing:.02em;text-transform:none;background:#ede9fe;border-radius:4px;flex-shrink:0;padding:.15rem .45rem;font-size:.68rem;font-weight:600}.field-content{padding:.6rem .75rem}.field-content--detail{min-height:120px}.field-value{color:#1f2937;white-space:pre-wrap;line-height:1.6}.field-value.empty{color:#9ca3af;font-style:italic}.medical-data-editor{flex-direction:column;gap:.75rem;display:flex}.medical-section-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.medical-section-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:.5rem;padding:.4rem .6rem;display:flex}.medical-section-label-input{color:#374151;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.85rem;font-weight:600}.medical-section-label-input::placeholder{color:#9ca3af;text-transform:none;letter-spacing:0;font-weight:400}.medical-section-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:.8rem;line-height:1}.medical-section-remove:hover{color:#ef4444;background:#fef2f2}.medical-section-textarea{color:#1f2937;resize:vertical;box-sizing:border-box;border:none;width:100%;min-height:80px;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;line-height:1.5}.medical-section-textarea:focus{background:#fafbff;outline:none}.medical-restore-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:4px;padding:.25rem .6rem;font-family:inherit;font-size:.8rem;transition:all .15s}.medical-restore-btn:hover{color:#6686cc;background:#f0f4ff;border-color:#6686cc}.medical-add-btn{color:#6686cc;cursor:pointer;background:0 0;border:1.5px dashed #c7d2e8;border-radius:6px;align-self:flex-start;padding:.45rem 1rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .15s}.medical-add-btn:hover{background:#f0f4ff;border-color:#6686cc}.action-buttons{justify-content:flex-end;gap:1rem;padding:2rem 0;display:flex}.cancel-btn{color:#6b7280;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.cancel-btn:hover:not(:disabled){color:#374151;background-color:#e5e7eb}.save-draft-btn{color:#6686cc;cursor:pointer;background-color:#dde4f5;border:1px solid #6686cc;border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.save-draft-btn:hover:not(:disabled){background-color:#c8d4f0}.save-draft-btn:disabled{opacity:.6;cursor:not-allowed}.save-character-btn,.edit-character-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;transition:background-color .2s;display:flex}.save-character-btn:hover:not(:disabled),.edit-character-btn:hover:not(:disabled){background-color:#57b}.save-character-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.loading-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@media (width<=900px){.profile-header{text-align:center;flex-direction:column;gap:1rem}.inline-fields{grid-template-columns:1fr 1fr}}@media (width<=768px){.character-details-page{padding:1rem}.profile-header{text-align:center;flex-direction:column;gap:1rem}.inline-fields{grid-template-columns:1fr}.action-buttons{flex-direction:column}.page-header{flex-direction:column;align-items:flex-start;gap:.5rem}.page-header h1{font-size:1.5rem}}.simulations-container{color:#1f2937;background-color:#f9fafb;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:2rem;display:flex}.header-content{flex:1}.page-title{color:#1f2937;margin:0 0 8px;font-size:1.8rem;font-weight:700;line-height:1.2}.page-description{color:#666;margin:0;font-size:1rem;line-height:1.5}.header-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:16px;display:flex}.status-badge-container{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.status-badge.draft{color:#92400e;background:#fef3c7;border-color:#f59e0b}.status-badge.unpublished{color:#3730a3;background:#e0e7ff;border-color:#6366f1}.status-badge.published{color:#065f46;background:#d1fae5;border-color:#10b981}.status-badge.archived{color:#374151;background:#f3f4f6;border-color:#6b7280}.published-classes{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.class-badge{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500}.header-buttons{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.attempt-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 22px #2563eb40}.attempt-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #2563eb59}.attempt-btn:disabled{cursor:not-allowed;box-shadow:none;background:#94a3b8}.edit-btn{color:#fff;cursor:pointer;background-color:#57c189;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.edit-btn:hover{background-color:#4ade80;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.info-card{background:#fff;border-radius:12px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 6px #0000000d}.info-card:hover{box-shadow:0 4px 12px #00000014}.card-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:20px 24px}.card-title-section{align-items:center;gap:12px;display:flex}.card-title-section h2{color:#1e293b;margin:0;font-size:18px;font-weight:600}.card-content{padding:24px}.info-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.info-item{flex-direction:column;gap:4px;display:flex}.info-item label{color:#64748b;font-size:14px;font-weight:500}.info-item p{color:#1e293b;margin:0;font-size:16px;line-height:1.5}.character-overview{text-align:left}.character-name{color:#1e293b;margin:0 0 16px;font-size:20px;font-weight:600}.character-item{align-items:center;gap:8px;display:flex}.character-item label{color:#64748b;min-width:80px;font-weight:500}.character-item span{color:#1e293b;font-weight:500}.scenario-text{color:#475569;margin:0;line-height:1.6}.document-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-top:8px;padding:16px;display:flex}.document-info{flex-direction:column;gap:4px;display:flex}.document-meta{gap:12px;display:flex}.evaluation-section{margin-bottom:32px}.evaluation-section:last-child{margin-bottom:0}.evaluation-header{align-items:center;gap:8px;margin-bottom:16px;display:flex}.evaluation-header h3{color:#1e293b;flex:1;margin:0;font-size:16px;font-weight:600}.points-badge{color:#0891b2;background:#e0f2fe;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.checklist-container,.rubric-container{flex-direction:column;gap:12px;display:flex}.checklist-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;gap:12px;padding:12px;display:flex}.item-number{color:#fff;background:#3b82f6;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:600;display:flex}.item-content{flex:1;justify-content:space-between;align-items:center;display:flex}.item-description{color:#1e293b;font-weight:500}.item-points{color:#0891b2;background:#e0f2fe;border-radius:3px;padding:2px 6px;font-size:12px;font-weight:500}.rubric-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.criterion-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.criterion-points{color:#0891b2;background:#e0f2fe;border-radius:3px;padding:2px 6px;font-size:12px;font-weight:600}.criterion-description{color:#475569;margin:0;line-height:1.5}.empty-message{text-align:center;color:#6b7280;margin:0;padding:2rem;font-style:italic}.stats-container{gap:20px;margin-bottom:24px;display:flex}.stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;align-items:center;min-width:120px;padding:16px;display:flex}.stat-number{color:#3b82f6;margin-bottom:4px;font-size:24px;font-weight:700}.stat-label{color:#64748b;text-transform:uppercase;font-size:12px;font-weight:500}.assignments-container{flex-direction:column;gap:20px;display:flex}.assignment-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.assignment-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.assignment-header h4{color:#1e293b;margin:0;font-size:18px;font-weight:600}.assignment-date{color:#64748b;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.groups-container{flex-direction:column;gap:12px;display:flex}.group-card{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:16px}.group-info{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.group-name{color:#1e293b;font-size:16px;font-weight:600}.group-count{color:#64748b;font-size:12px;font-weight:500}.group-instructions{color:#475569;margin:0;font-size:14px;font-style:italic;line-height:1.4}.loading-container,.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.error-container h2{color:#dc2626;margin-bottom:8px}.error-container p{color:#6b7280;margin-bottom:16px}@media (width<=768px){.simulations-container{padding:1rem}.page-header{flex-direction:column;align-items:stretch;gap:16px}.header-actions{flex-direction:row;justify-content:space-between;align-items:center}.status-badge-container{align-items:flex-start}.page-title{font-size:1.5rem}.info-grid,.character-details{grid-template-columns:1fr}.stats-container{flex-wrap:wrap}.assignment-header{flex-direction:column;align-items:flex-start;gap:8px}.group-info{flex-direction:column;align-items:flex-start;gap:4px}.card-content{padding:16px}}@media (width<=480px){.simulations-container{padding:.75rem}.page-title{font-size:1.25rem}.page-description{font-size:.9rem}.symptoms-list{flex-direction:column}.document-card{flex-direction:column;align-items:stretch;gap:12px}.stats-container{flex-direction:column}}.simulation-detail-page{color:#1f2937;background-color:#f9fafb;max-width:1400px;min-height:100vh;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif}.simulation-detail-container{width:100%}.simulation-header{background:#fff;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:2rem;padding:1.5rem;display:flex;box-shadow:0 2px 8px #0000000d}.header-left{flex:1}.simulation-title-section h1{color:#1f2937;margin:0 0 .5rem;font-size:2rem;font-weight:700}.simulation-description{color:#6b7280;margin:0;font-size:1rem;line-height:1.5}.header-right{flex-direction:column;align-items:flex-end;gap:1rem;display:flex}.simulation-status{gap:.5rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.5px;border:1px solid;border-radius:20px;padding:.5rem 1rem;font-size:.75rem;font-weight:600}.published-info{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.published-info label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.published-date{color:#1f2937;font-size:.875rem;font-weight:500}.no-published{color:#9ca3af;margin:0;font-size:.875rem;font-style:italic}.tab-content{padding:1.5rem 0;animation:.3s ease-in fadeIn}.simulation-content{flex-direction:column;gap:1.5rem;display:flex}.content-section{background:#fff;border-radius:12px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #0000000d}.content-section:hover{box-shadow:0 4px 12px #00000014}.section-header{background:linear-gradient(90deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.section-header h2{color:#1e293b;margin:0;font-size:1.125rem;font-weight:600}.section-header svg{color:#6686cc;flex-shrink:0}.section-content{padding:1.5rem}.character-card{background:linear-gradient(135deg,#f8fafc 0%,#e0e7ff 100%);border:1px solid #e2e8f0;border-radius:10px;padding:1.5rem}.character-card h3{color:#1e293b;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.5rem;font-weight:700;display:flex}.character-details{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.character-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.character-item label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.character-item span{color:#1e293b;font-size:1rem;font-weight:600}.scenario-section{margin-bottom:24px}.scenario-section:last-child{margin-bottom:0}.scenario-section h4{color:#1e293b;margin:0 0 8px;font-size:16px;font-weight:600}.scenario-text{color:#475569;white-space:pre-wrap;word-wrap:break-word;margin:0;line-height:1.8}.symptoms-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.symptom-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;padding:6px 12px;font-size:14px;font-weight:500}.document-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-top:.5rem;padding:1rem;display:flex}.document-name{color:#1e293b;font-size:1rem;font-weight:600}.document-size,.document-type{color:#6b7280;font-size:.75rem}.download-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.download-btn:hover{background:#5a7bc4;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.evaluation-subsection{margin-bottom:2rem}.evaluation-subsection:last-child{margin-bottom:0}.evaluation-subsection h3{color:#1e293b;background:#f1f5f9;border-radius:6px;align-items:center;gap:.5rem;margin:0 0 1rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;display:flex}.evaluation-subsection h3 svg{color:#6686cc}.checklist-items{flex-direction:column;gap:.75rem;display:flex}.checklist-item{text-align:left;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s;display:block}.checklist-item:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translate(4px)}.checklist-item .item-number{color:#fff!important;aspect-ratio:1!important;background:linear-gradient(135deg,#6686cc 0%,#3b82f6 100%)!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;font-size:.875rem!important;font-weight:700!important;display:flex!important}.checklist-item .item-content{text-align:left}.item-description{color:#1e293b;text-align:left;font-weight:500;line-height:1.5;display:block}.item-points{color:#1e40af;white-space:nowrap;background:#dbeafe;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.rubric-criteria{flex-direction:column;gap:1rem;display:flex}.rubric-criterion{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;transition:all .2s}.rubric-criterion:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.criterion-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.criterion-header h4{color:#1e293b;margin:0;font-size:1.125rem;font-weight:600}.criterion-points{color:#1e40af;white-space:nowrap;background:linear-gradient(135deg,#dbeafe 0%,#e0f2fe 100%);border-radius:16px;padding:.375rem .875rem;font-size:.875rem;font-weight:700}.criterion-definition{margin-top:.5rem}.criterion-definition p{color:#475569;margin:0;font-size:.9rem;line-height:1.6}.criterion-scales{margin-top:1rem}.criterion-scales h5{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.scales-list{flex-direction:column;gap:.75rem;display:flex}.scale-item{background:#f8fafc;border-left:3px solid #6b7280;border-radius:6px;gap:1rem;padding:.75rem;display:flex}.scale-value{color:#6b7280;flex-shrink:0;min-width:50px;font-size:.875rem;font-weight:600}.scale-content{flex-direction:column;flex:1;gap:.25rem;display:flex}.scale-description{color:#6b7280;font-size:.875rem;line-height:1.5}.scale-examples{color:#9ca3af;font-size:.8rem;font-style:italic;line-height:1.45}.discrepancies-list{flex-direction:column;gap:1rem;display:flex}.discrepancy-item{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:8px;padding:1.25rem;transition:all .2s}.discrepancy-item.resolved{background:#d1fae5;border-left-color:#10b981}.discrepancy-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.discrepancy-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.discrepancy-field{color:#1e293b;font-family:Courier New,monospace;font-size:.9rem;font-weight:600}.discrepancy-badge{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.discrepancy-badge.pending{color:#991b1b;background:#fecaca}.discrepancy-badge.resolved{color:#14532d;background:#86efac}.discrepancy-description{color:#475569;margin-bottom:1rem;font-size:.9rem;line-height:1.6}.discrepancy-values{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.value-box{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.75rem}.value-label{color:#6b7280;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:600;display:block}.value-text{color:#1e293b;font-family:Courier New,monospace;font-size:.875rem;line-height:1.5}.user-selection{background:#fff;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.user-selection strong{color:#1e293b}.user-selection span{color:#6686cc;text-transform:capitalize;font-weight:600}.groups-section{flex-direction:column;gap:1.5rem;display:flex}.class-context-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem 1.25rem;display:flex}.class-context-control{flex-direction:column;gap:.5rem;display:flex}.class-context-control label{text-transform:uppercase;letter-spacing:.5px;color:#64748b;font-size:.75rem;font-weight:600}.class-context-control select{color:#1f2937;background:#fff;border:1px solid #cbd5f5;border-radius:8px;min-width:220px;padding:.6rem 1rem;font-size:.9rem;box-shadow:0 2px 4px #6366f114}.class-context-meta{color:#475569;font-size:.9rem;font-weight:500}.groups-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.groups-stats{gap:1.5rem;display:flex}.stat-item{background:linear-gradient(135deg,#f1f5f9 0%,#e0e7ff 100%);border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;align-items:center;min-width:120px;padding:1rem 1.5rem;display:flex}.stat-number{color:#6686cc;margin-bottom:.25rem;font-size:2rem;font-weight:700;line-height:1}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;text-align:center;font-size:.75rem;font-weight:600}.create-group-btn{color:#fff;cursor:pointer;background:#6686cc;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 4px #6686cc33}.create-group-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6686cc4d}.create-group-btn:active{transform:translateY(0)}.create-group-btn.disabled,.create-group-btn:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#e2e8f0;transform:none}.groups-list{flex-direction:column;gap:1rem;display:flex}.group-card.compact{background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s;overflow:hidden}.group-card.compact:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.group-main{justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}.group-info{flex-direction:column;flex:1;gap:.5rem;display:flex}.group-header-compact{align-items:center;gap:.75rem;display:flex}.group-name{color:#1e293b;margin:0;font-size:1.125rem;font-weight:600}.group-badge{color:#1e40af;text-transform:uppercase;background:#dbeafe;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.group-desc{color:#6b7280;margin:0;font-size:.875rem;line-height:1.5}.group-meta-compact{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.meta-item-compact{color:#64748b;align-items:center;gap:.375rem;font-size:.8rem;display:flex}.meta-item-compact svg{width:14px;height:14px}.group-actions-compact{flex-wrap:nowrap;align-items:center;gap:.5rem;display:flex}.attempt-group-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#6686cc;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;height:36px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;line-height:1;transition:all .2s;display:inline-flex;box-shadow:0 2px 4px #6686cc33}.attempt-group-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6686cc4d}.attempt-group-btn:active:not(:disabled){transform:translateY(0)}.attempt-group-btn:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#e2e8f0;transform:none}.action-btn-compact{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.action-btn-compact.view{color:#1e40af;background:#dbeafe}.action-btn-compact.view:hover{background:#bfdbfe;transform:scale(1.05)}.action-btn-compact.manage{color:#4338ca;background:#e0e7ff}.action-btn-compact.manage:hover{background:#c7d2fe;transform:scale(1.05)}.action-btn-compact.delete{color:#dc2626;background:#fee2e2}.action-btn-compact.delete:hover{background:#fecaca;transform:scale(1.05)}.empty-groups{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-icon{color:#cbd5e1;margin-bottom:1rem}.empty-groups h3{color:#1e293b;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.empty-groups p{color:#6b7280;margin:.25rem 0;font-size:.9rem}.loading-container,.error-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:400px;padding:2rem;display:flex}.loading-spinner{border:4px solid #e2e8f0;border-top-color:#6686cc;border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}.loading-container p{color:#6b7280;font-size:1rem}.error-container h2{color:#dc2626;margin:0 0 .5rem;font-size:1.5rem}.error-container p{color:#6b7280;margin:0 0 1rem}.modal-box.compact-modal{max-width:500px}.modal-box.create-group-modal{max-width:550px}.modal-box.group-learners-modal{max-width:800px}.modal-box.manage-learners-modal{max-width:900px}.modal-box.attempt-modal{max-width:520px}.attempt-subtitle{color:#475569;margin:0 0 1.25rem;font-size:.95rem;line-height:1.5}.attempt-participants{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.75rem;max-height:320px;margin-bottom:1.5rem;padding:.5rem;display:flex;overflow-y:auto}.participant-row{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;display:flex}.participant-row:hover{border-color:#cbd5f5;box-shadow:0 6px 14px #6366f11f}.participant-row input{cursor:pointer;width:18px;height:18px}.participant-info{flex-direction:column;gap:.25rem;display:flex}.participant-name{color:#1f2937;font-size:.95rem;font-weight:600}.participant-meta{color:#64748b;font-size:.8rem}.attempt-actions{justify-content:flex-end;gap:.75rem;display:flex}.primary-btn,.secondary-btn{cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.4rem;font-size:.9rem;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #6686cc59}.primary-btn:disabled{color:#7c8aa3;cursor:not-allowed;box-shadow:none;background:#cbd5f5;transform:none}.secondary-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.secondary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-box h2{color:#1e293b;margin:0 0 1rem;font-size:1.5rem;font-weight:700}.form-row{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.inline-label{color:#374151;min-width:100px;font-size:.875rem;font-weight:600}.inline-input{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:.75rem;font-size:.875rem;transition:border-color .2s}.inline-input:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 3px #6686cc1a}.learners-section-compact{margin-top:1.5rem}.section-label{color:#374151;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:block}.learners-list{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;max-height:250px;padding:.5rem;overflow-y:auto}.learners-list.compact-list{max-height:300px}.learner-row{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:1rem;padding:.625rem .75rem;transition:background .2s;display:flex}.learner-row:hover{background:#f1f5f9}.learner-row:last-child{border-bottom:none}.learner-row.compact-row{padding:.5rem .75rem}.learner-name{color:#374151;flex:1;font-size:.875rem;font-weight:500}.learner-email{color:#6b7280;font-size:.75rem}.learner-checkbox{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin:0}.no-learners{text-align:center;color:#6b7280;padding:2rem;font-style:italic}.info-text{text-align:center;color:#9ca3af;margin-top:.5rem;font-size:.75rem;font-style:italic}.learners-table-wrapper{margin:1rem 0;overflow-x:auto}.user-table{border-collapse:collapse;width:100%;font-size:.875rem}.user-table thead{background:#f8fafc}.user-table th{text-align:left;color:#1e293b;border-bottom:2px solid #e2e8f0;padding:.75rem;font-weight:600}.user-table td{color:#475569;border-bottom:1px solid #e2e8f0;padding:.75rem}.user-table tbody tr:hover{background:#f8fafc}.empty-row{text-align:center;color:#6b7280;padding:2rem;font-style:italic}.manage-learners-content{grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0;display:grid}.learners-section{flex-direction:column;display:flex}.learners-section h3{color:#1e293b;margin:0 0 .75rem;font-size:1rem;font-weight:600}.learners-list.manage-list{max-height:350px}.learner-row.manage-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.learner-actions{align-items:center;gap:.75rem;display:flex}.learner-checkbox.add-checkbox,.learner-checkbox.remove-checkbox{width:18px;height:18px}.changes-summary{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;margin:1rem 0;padding:1rem}.change-item{margin:.25rem 0;font-size:.875rem;font-weight:500}.change-item.add-change{color:#059669}.change-item.remove-change{color:#dc2626}.modal-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.modal-actions.compact-actions{margin-top:1.25rem}.cancel-btn,.activate-btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s}.cancel-btn{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.cancel-btn:hover{background:#e5e7eb;border-color:#9ca3af}.activate-btn{color:#fff;background:#6686cc}.activate-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6686cc4d}.activate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (width<=768px){.simulation-detail-page{padding:1rem}.simulation-header{flex-direction:column;gap:1rem}.header-right{align-items:flex-start;width:100%}.simulation-title-section h1{font-size:1.5rem}.character-details{grid-template-columns:1fr}.groups-header{flex-direction:column;align-items:stretch}.groups-stats{justify-content:space-around}.stat-item{flex:1;min-width:auto}.group-main{flex-direction:column;align-items:stretch}.group-actions-compact{justify-content:flex-end}.discrepancy-values,.manage-learners-content{grid-template-columns:1fr}.form-row{flex-direction:column;align-items:stretch}.inline-label{min-width:auto}}@media (width<=480px){.simulation-detail-page{padding:.75rem}.simulation-title-section h1{font-size:1.25rem}.section-content{padding:1rem}.groups-stats{flex-direction:column;width:100%}.stat-item{width:100%}.modal-box{padding:1rem}}.online-mode-info{text-align:center;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;padding:3rem 2rem}.online-mode-info .info-icon{color:#0ea5e9;margin-bottom:1.5rem}.online-mode-info h3{color:#0c4a6e;margin:0 0 1rem;font-size:1.5rem;font-weight:600}.online-mode-info p{color:#0369a1;margin:0 0 1.5rem;font-size:1rem;line-height:1.6}.mode-note{color:#0c4a6e;background:#0ea5e91a;border:1px solid #0ea5e933;border-radius:8px;padding:1rem;font-size:.9rem;line-height:1.5}.mode-note strong{color:#0ea5e9}.online-results-section{flex-direction:column;gap:1.25rem;display:flex}.online-class-filter{align-items:center;gap:.75rem;display:flex}.online-class-filter label{color:#374151;font-size:.9rem;font-weight:600}.online-class-filter select{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:.4rem .75rem;font-size:.9rem}.online-stats-row{flex-wrap:wrap;gap:1rem;display:flex}.online-stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.25rem;min-width:110px;padding:1rem 1.25rem;display:flex}.online-stat-card .stat-value{color:#1e293b;font-size:1.6rem;font-weight:700}.online-stat-card .stat-label{color:#64748b;text-align:center;font-size:.78rem}.online-results-toolbar{justify-content:flex-end;gap:.5rem;display:flex}.online-results-toolbar .btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.875rem;transition:background .15s;display:flex}.online-results-toolbar .btn-secondary:hover{background:#f3f4f6}.online-results-section .user-table-wrapper{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000012}.online-results-section .user-table{border-collapse:collapse;background-color:#fff;width:100%;font-size:.95rem}.online-results-section .user-table th,.online-results-section .user-table td{vertical-align:middle;color:#374151;padding:.75rem 1rem;font-size:.9rem}.online-results-section .user-table th{color:#374151;background-color:#eaf2fb;font-weight:600}.online-results-section .user-table td{border-top:1px solid #f3f4f6}.online-results-section .user-table th:last-child,.online-results-section .user-table td:last-child{text-align:center;min-width:120px}.online-results-section .user-table tr:hover{background-color:#f9faff;transition:background-color .2s}.online-results-section .empty-row{text-align:center;color:#9ca3af;font-style:italic;padding:1.5rem!important}.badge{border-radius:20px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.78rem;font-weight:500;display:inline-flex}.badge-completed{color:#15803d;background:#dcfce7}.badge-not-started{color:#64748b;background:#f1f5f9}.btn-view-results{color:#fff;cursor:pointer;white-space:nowrap;background:#3b82f6;border:none;border-radius:7px;align-items:center;gap:.3rem;padding:.4rem .85rem;font-size:.82rem;font-weight:500;transition:background .15s;display:inline-flex}.btn-view-results:hover{background:#5a7bc4}.eval-checklist-items{flex-direction:column;gap:1.25rem;display:flex}.eval-checklist-category{flex-direction:column;gap:.5rem;display:flex}.eval-checklist-category-header{text-transform:uppercase;letter-spacing:.08em;color:#6b7280;border-bottom:1px solid #e5e7eb;padding-bottom:.4rem;font-size:.72rem;font-weight:700}.eval-checklist-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.eval-item-row{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.eval-item-description{color:#1e293b;flex:1;font-size:.9rem;line-height:1.5}.eval-item-notes,.eval-item-example{color:#6b7280;font-size:.8rem;font-style:italic;display:block}.eval-item-required{color:#d97706;background:#fef3c7;border-radius:12px;align-self:flex-start;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.download-group-filter{border-bottom:1px solid #e5e7eb;margin-bottom:.75rem;padding-bottom:.75rem}.download-group-filter-label{color:#6b7280;margin-bottom:.4rem;font-size:.8rem;font-weight:600;display:block}.download-group-filter-btns{flex-wrap:wrap;gap:.4rem;display:flex}.group-filter-btn{cursor:pointer;color:#374151;background:#f9fafb;border:1px solid #d1d5db;border-radius:999px;padding:.25rem .65rem;font-size:.8rem;transition:background .15s,border-color .15s}.group-filter-btn:hover{background:#e5e7eb;border-color:#9ca3af}.download-select-all{border-bottom:1px solid #e5e7eb;margin-bottom:.5rem;padding-bottom:.5rem}.download-select-all .learner-name{font-weight:600}.learners-selection{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;max-height:240px;margin-bottom:.25rem;padding:.5rem;overflow-y:auto}.offline-tab-row{gap:8px;margin-bottom:20px;display:flex}.offline-tab-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:8px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.offline-tab-btn.active{color:#fff;background:#6686cc;border-color:#6686cc}.offline-tab-btn:not(.active):hover{background:#e2e8f0}.offline-results-view{flex-direction:column;gap:1.25rem;display:flex}.loading-state-small{text-align:center;color:#64748b;padding:24px;font-size:.9rem}.groups-inner{flex-direction:column;display:flex}.offline-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.offline-table-toolbar .toolbar-left,.offline-table-toolbar .toolbar-right{align-items:center;gap:.5rem;display:flex}.offline-table-toolbar .btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;transition:background .15s;display:flex}.offline-table-toolbar .btn-secondary:hover{background:#f3f4f6}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{background-color:#d8eaf8}.sort-indicator{color:#6686cc;letter-spacing:0;margin-left:3px;font-size:.72rem}.col-check{text-align:center;width:36px;padding-left:.75rem!important;padding-right:.25rem!important}.offline-unified-section .user-table{table-layout:fixed;margin:0 auto;width:90%!important}.offline-unified-section .user-table colgroup col.col-w-check{width:36px}.offline-unified-section .user-table colgroup col.col-w-name{width:18%}.offline-unified-section .user-table colgroup col.col-w-email{width:22%}.offline-unified-section .user-table colgroup col.col-w-group{width:18%}.offline-unified-section .user-table colgroup col.col-w-status{width:13%}.offline-unified-section .user-table colgroup col.col-w-score{width:8%}.offline-unified-section .user-table colgroup col.col-w-actions{width:21%}.offline-unified-section .user-table th:last-child,.offline-unified-section .user-table td:last-child{text-align:left;min-width:auto}.row-selected{background-color:#eff6ff!important}.row-selected:hover{background-color:#dbeafe!important}.learner-name-cell{color:#1e293b;font-weight:600}.text-muted-cell{color:#6b7280;font-size:.85rem}.group-cell{align-items:center;gap:.35rem;display:flex}.group-name-text{color:#1e293b;white-space:nowrap;font-weight:500}.group-cell-actions{opacity:0;align-items:center;gap:2px;transition:opacity .15s;display:inline-flex}tr:hover .group-cell-actions{opacity:1}.btn-icon-xs{cursor:pointer;color:#4338ca;background:#e0e7ff;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .15s;display:inline-flex}.btn-icon-xs:hover{background:#c7d2fe}.btn-icon-xs.danger{color:#dc2626;background:#fee2e2}.btn-icon-xs.danger:hover{background:#fecaca}.group-name-input{border:1px solid #6686cc;border-radius:4px;outline:none;width:120px;padding:.2rem .4rem;font-family:inherit;font-size:.875rem;box-shadow:0 0 0 2px #6686cc26}.badge-unassigned{color:#94a3b8;background:#f1f5f9;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-style:italic;font-weight:500;display:inline-block}.row-actions{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.row-actions .attempt-group-btn,.row-actions .btn-view-results{cursor:pointer;white-space:nowrap;height:28px;box-shadow:none;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.78rem;font-weight:600;transition:opacity .15s,background .15s;display:inline-flex}.row-actions .attempt-group-btn{color:#fff;background:#6686cc}.row-actions .attempt-group-btn:hover:not(:disabled){background:#5a76bb;transform:none}.row-actions .attempt-group-btn:disabled{color:#94a3b8;cursor:not-allowed;background:#e2e8f0}.row-actions .btn-view-results{color:#fff;background:#6686cc}.row-actions .btn-view-results:hover{background:#5a76bb}.offline-unified-section{flex-direction:column;gap:1.25rem;display:flex}.voice-display{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;margin-top:.5rem;padding:1rem;display:flex}.voice-info{flex:1;align-items:center;gap:.75rem;display:flex}.voice-details{flex-direction:column;gap:.25rem;display:flex}.voice-name{color:#1f2937;font-size:.95rem;font-weight:600}.play-sample-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:flex}.play-sample-btn:hover:not(:disabled){background-color:#57b}.play-sample-btn:disabled{cursor:not-allowed;background-color:#9ca3af}.no-voice{color:#6b7280;align-items:center;gap:.5rem;font-style:italic;display:flex}.audio-error{color:#dc2626;text-align:center;margin-top:.5rem;font-size:.8rem}.loading-indicator{color:#6b7280;text-align:center;margin-top:.5rem;font-size:.8rem;font-style:italic}.instructor-review-container{background:#f8fafc;flex-direction:column;gap:24px;max-width:1200px;min-height:100vh;margin:0 auto;padding:2rem;font-family:Montserrat,sans-serif;display:flex}.review-header h1{color:#0f172a;margin:.5rem 0 0;font-size:1.8rem}.review-header .subheading{color:#475569;margin:.5rem 0 0;font-size:.95rem}.back-btn{color:#374151;cursor:pointer;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.back-btn:hover{color:#374151;background-color:#e5e7eb;border-color:#9ca3af}.review-content{grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.transcript-card,.mapping-card{background:#fff;border-radius:16px;flex-direction:column;display:flex;box-shadow:0 8px 24px #0f172a14}.card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.card-header h2{color:#0f172a;margin:0;font-size:1.15rem}.message-count{color:#0c4a6e;background:#e0f2fe;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:600}.transcript-body{flex-direction:column;gap:12px;max-height:520px;padding:16px 24px 24px;display:flex;overflow-y:auto}.transcript-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:120px 1fr 110px;align-items:flex-start;gap:16px;padding:12px 16px;display:grid}.speaker-tag{color:#1d4ed8;text-align:center;background:#e0e7ff;border-radius:8px;padding:6px 10px;font-weight:700}.message-text{color:#0f172a;font-size:.95rem;line-height:1.45}.timestamp{color:#64748b;text-align:right;font-size:.8rem}.empty-state{text-align:center;color:#64748b;padding:32px}.mapping-card .mapping-body{flex-direction:column;gap:16px;padding:20px 24px;display:flex}.selected-participants-banner{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-direction:column;gap:8px;padding:14px 24px;display:flex}.selected-participants-banner strong{color:#0f172a}.selected-participants-banner .meta{color:#64748b;font-size:.85rem;font-weight:500}.participant-chips{flex-wrap:wrap;gap:8px;display:flex}.participant-chip{color:#3730a3;background:#e0e7ff;border-radius:16px;padding:6px 12px;font-size:.8rem;font-weight:600}.mapping-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.speaker-info{flex-direction:column;gap:4px;max-width:60%;display:flex}.speaker-name{color:#0f172a;font-size:.95rem;font-weight:600}.speaker-preview{color:#64748b;font-size:.85rem;line-height:1.3}.speaker-select{color:#0f172a;background:#fff;border:1px solid #cbd5f5;border-radius:10px;flex:1;min-width:220px;padding:10px 12px;font-size:.92rem}.card-footer{justify-content:space-between;gap:12px;margin-top:auto;padding:16px 24px 24px;display:flex}.primary-btn,.secondary-btn{cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-weight:600;transition:transform .2s,box-shadow .2s}.primary-btn{color:#fff;background:#6686cc}.primary-btn:hover{background:#5a7bc4;transform:translateY(-1px);box-shadow:0 12px 24px #6686cc40}.primary-btn:disabled{cursor:not-allowed;box-shadow:none;background:#94a3b8;transform:none}.secondary-btn{color:#374151;background:#f3f4f6;border:1px solid #d1d5db}.secondary-btn:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.loading-note{color:#64748b;font-size:.85rem}.error-banner{color:#991b1b;background:#fee2e2;border-radius:8px;margin:0 24px;padding:12px 16px;font-size:.9rem}.offline-results-container{justify-content:center;display:flex}.offline-results-card{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:640px;display:flex;overflow:hidden;box-shadow:0 16px 40px #0f172a1a}.results-success-banner{background:#f0fdf4;border-bottom:1px solid #bbf7d0;align-items:flex-start;gap:16px;padding:28px 32px;display:flex}.results-success-icon{color:#16a34a;flex-shrink:0;margin-top:2px}.results-success-banner h2{color:#14532d;margin:0 0 6px;font-size:1.25rem}.results-success-banner p{color:#166534;margin:0;font-size:.9rem;line-height:1.5}.results-learner-list{flex-direction:column;gap:12px;padding:24px 32px;display:flex}.results-learner-list h3{color:#0f172a;margin:0 0 4px;font-size:1rem;font-weight:600}.results-learner-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.results-learner-info{align-items:center;gap:12px;display:flex}.results-speaker-tag{color:#1d4ed8;text-align:center;background:#e0e7ff;border-radius:8px;min-width:36px;padding:4px 10px;font-size:.85rem;font-weight:700}.results-learner-name{color:#0f172a;font-size:.95rem;font-weight:600}.results-view-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#6686cc;border:none;border-radius:8px;padding:8px 16px;font-size:.88rem;font-weight:600;transition:background .2s}.results-view-btn:hover{background:#5a7bc4}.results-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 32px 28px;display:flex}.spin-inline{vertical-align:middle;margin-right:6px;animation:1s linear infinite spin;display:inline-block}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.user-search-modal{background:#fff;border-radius:16px;flex-direction:column;width:90%;max-width:600px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 40px #0f172a33}.modal-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{color:#0f172a;margin:0;font-size:1.25rem}.close-button{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.close-button:hover{color:#0f172a;background:#f1f5f9}.modal-body{flex:1;padding:24px;overflow-y:auto}.search-input-wrapper{margin-bottom:20px;position:relative}.search-icon{color:#64748b;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.user-search-input{color:#0f172a;background:#fff;border:1px solid #cbd5f5;border-radius:10px;width:100%;padding:12px 12px 12px 40px;font-size:.95rem;transition:border-color .2s}.user-search-input:focus{border-color:#6686cc;outline:none;box-shadow:0 0 0 3px #6686cc1a}.search-loading,.search-empty,.search-hint{text-align:center;color:#64748b;padding:20px;font-size:.9rem}.search-results{flex-direction:column;gap:8px;max-height:400px;display:flex;overflow-y:auto}.search-result-item{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px;transition:all .2s}.search-result-item:hover{background:#e0e7ff;border-color:#6686cc;transform:translate(2px)}.user-name{color:#0f172a;margin-bottom:4px;font-size:.95rem;font-weight:600}.user-details{color:#64748b;flex-wrap:wrap;gap:12px;font-size:.85rem;display:flex}.user-details span{white-space:nowrap}@media (width<=1024px){.review-content{grid-template-columns:1fr}.transcript-row{grid-template-columns:100px 1fr}.timestamp{text-align:left;grid-column:1/-1}.user-search-modal{width:95%;max-height:90vh}}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 10px 40px #0003}.terms-wrapper{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100%;padding:2rem 1rem;font-family:Montserrat,sans-serif;display:flex}.terms-box{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:min(600px,92vw);padding:2rem;box-shadow:0 1px 4px #00000012}.terms-subtitle{color:#6b7280;margin-bottom:1.75rem;font-size:.95rem}.terms-section{text-align:left;border-top:1px solid #e5e7eb;padding:1.25rem 0}.terms-section:last-of-type{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.terms-section h2{color:#111827;margin-bottom:.5rem;font-size:1rem;font-weight:700}.terms-section p{color:#374151;margin:0;font-size:.9rem;line-height:1.65}.terms-full-link{margin:1.25rem 0 1.5rem;font-size:.875rem}.terms-full-link a{color:#2563eb;text-decoration:none}.terms-full-link a:hover{text-decoration:underline}.terms-checkbox-label{cursor:pointer;color:#111827;justify-content:center;align-items:flex-start;gap:.6rem;margin-bottom:1.5rem;font-size:.9rem;line-height:1.5;display:flex}.terms-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#6686cc;flex-shrink:0;width:16px;height:16px;margin-top:3px}.terms-continue-btn{color:#fff;cursor:pointer;background-color:#6686cc;border:none;border-radius:8px;width:100%;padding:.75rem;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;transition:background-color .2s,opacity .2s}.terms-continue-btn:hover:not(:disabled){background-color:#7f8fb2}.terms-continue-btn:disabled{opacity:.45;cursor:not-allowed}@media (width<=640px){.terms-box{padding:1.5rem}}.full-terms-wrapper{box-sizing:border-box;justify-content:center;width:100%;min-height:100%;padding:3rem 1rem;font-family:Montserrat,sans-serif;display:flex}.full-terms-box{width:100%;max-width:min(720px,92vw)}.full-terms-box h1{color:#111827;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.full-terms-unavailable{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:2rem;display:flex}.full-terms-unavailable p{color:#6b7280;font-size:.95rem}.full-terms-back-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.45rem 1rem;font-family:Montserrat,sans-serif;font-size:.875rem}.full-terms-back-btn:hover{background:#f9fafb}.full-terms-body h2{color:#111827;margin:1.5rem 0 .4rem;font-size:1rem;font-weight:700}.full-terms-body h3{color:#111827;margin:1.2rem 0 .3rem;font-size:.9rem;font-weight:700}.full-terms-body p{color:#374151;min-height:1em;margin:0 0 .5rem;font-size:.9rem;line-height:1.65}.full-terms-body ul,.full-terms-body ol{color:#374151;margin:0 0 .6rem;padding-left:1.5rem;font-size:.9rem;line-height:1.65}.full-terms-body a{color:#2563eb;text-decoration:underline}.full-terms-body hr{border:none;border-top:1px solid #e5e7eb;margin:1rem 0}.full-terms-error,.full-terms-loading{color:#6b7280;margin-top:1rem;font-size:.95rem}.minimal-layout{background:#fff;flex-direction:column;min-height:100vh;font-family:Montserrat,sans-serif;display:flex}.minimal-topbar{background-color:#edf1fb;border-bottom:1px solid #c5d1ec;flex-shrink:0;align-items:center;height:60px;padding:0 1.5rem;display:flex;box-shadow:0 1px 4px #0000000d}.minimal-logo{color:#6686cc;margin:0;padding:0;font-family:Nico Moji,sans-serif;font-size:28px;line-height:1;text-decoration:none;display:inline-block;transform:translateY(2px)}.minimal-content{flex:1;overflow-y:auto}.inactivity-modal-backdrop{z-index:1000;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.inactivity-modal{text-align:center;opacity:0;background-color:#fff;border-radius:12px;width:420px;max-width:90vw;padding:2rem;animation:.25s forwards slideInUp;position:relative;transform:translateY(20px);box-shadow:0 10px 25px #0000001a}.inactivity-modal-header{margin-bottom:1rem}.warning-title{color:#1e293b;margin:0 0 .6rem;font-size:1.05rem;font-weight:700;line-height:1.4}.inactivity-modal-content{margin-bottom:1.75rem}.warning-message{color:#6b7280;margin:0 0 1rem;font-size:.95rem;line-height:1.4}.countdown-container{margin:1rem 0}.countdown-display{flex-direction:column;align-items:center;gap:.25rem;margin-bottom:.75rem;display:flex}.countdown-time{color:#6686cc;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700}.countdown-label{color:#6b7280;font-size:.8rem;font-weight:500}.progress-bar{background-color:#e5e7eb;border-radius:2px;width:100%;height:4px;margin:.75rem 0;overflow:hidden}.progress-fill{background-color:#6686cc;border-radius:2px;height:100%}.warning-details{background:#f8f9fa;border-radius:6px;margin:.75rem 0 0;padding:.75rem}.warning-details p{color:#6b7280;margin:0 0 .25rem;font-size:.8rem;line-height:1.3}.warning-details p:last-child{margin-bottom:0}.inactivity-modal-actions{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.inactivity-modal .btn{cursor:pointer;border-radius:6px;padding:.45rem 1rem;font-size:.9rem;font-weight:500}.inactivity-modal .btn-primary{color:#fff;background-color:#6686cc;border:none;font-weight:600}.inactivity-modal .btn-primary:hover{background-color:#5a7bc4}.inactivity-modal .btn-secondary{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.inactivity-modal .btn-secondary:hover{background-color:#e5e7eb;border-color:#9ca3af}.stay-logged-in-btn{color:#fff;background-color:#6686cc;border:none;font-weight:600}.stay-logged-in-btn:hover{background-color:#5a7bc4}.logout-btn{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.logout-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.close-button{display:none}@media (width<=640px){.inactivity-modal{width:calc(100% - 2rem);padding:1.5rem}.inactivity-modal-actions{flex-direction:column}.inactivity-modal .btn{width:100%}.countdown-time{font-size:1.25rem}}
