@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap);.modal-batch-picker .modal-dialog{margin:1.75rem auto;max-width:540px;width:calc(100% - 32px)}.modal-batch-picker .modal-content{border:none;border-radius:14px;box-shadow:0 20px 50px #0f172a33;overflow:hidden}.modal-batch-picker .modal-header{background:var(--surface-card);border-bottom:1px solid #eef0f4;padding:18px 22px 14px}.modal-batch-picker .modal-header .modal-title{color:#1f2533;font-size:17px;font-weight:700;letter-spacing:.005em}.modal-batch-picker .modal-header .btn-close,.modal-batch-picker .modal-header .close{color:var(--text-muted);font-size:22px;font-weight:400;opacity:.75;transition:opacity .15s ease}.modal-batch-picker .modal-header .btn-close:hover,.modal-batch-picker .modal-header .close:hover{opacity:1}.modal-batch-picker .modal-body{background:var(--surface-card);padding:18px 22px 22px}.modal-batch-picker .modal-body>p:empty{display:none}.bp-root{--bp-bg:var(--surface-card);--bp-text:#1f2533;--bp-text-muted:var(--text-muted);--bp-border:#e6e9f0;--bp-border-strong:#d3d8e3;--bp-primary:var(--brand-primary);--bp-primary-hover:var(--brand-primary-hover);--bp-primary-soft:#eef2ff;--bp-accent:var(--brand-primary);--bp-shadow-sm:0 1px 2px #0f172a0a;--bp-shadow-md:0 6px 18px #4f46e51a;color:var(--bp-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.bp-root .bp-search{align-items:center;background:#f7f8fb;border:1px solid var(--bp-border);border-radius:10px;display:flex;gap:10px;height:42px;margin-bottom:14px;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.bp-root .bp-search:focus-within{background:var(--surface-card);border-color:var(--bp-primary);box-shadow:0 0 0 3px #4f46e51f}.bp-root .bp-search-icon{color:var(--bp-text-muted);font-size:13px}.bp-root .bp-search-input{background:#0000;border:none;color:var(--bp-text);flex:1 1;font-size:14px;outline:none}.bp-root .bp-search-input::placeholder{color:#9aa0ad}.bp-root .bp-count{background:#ecedf3;border-radius:999px;color:var(--bp-text-muted);flex-shrink:0;font-size:12px;font-weight:600;padding:3px 8px}.bp-root .bp-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;max-height:60vh;overflow-y:auto;padding:0 4px 0 0}.bp-root .bp-item-row{list-style:none;margin:0;padding:0}.bp-root .bp-list::-webkit-scrollbar{width:6px}.bp-root .bp-list::-webkit-scrollbar-thumb{background:var(--bp-border-strong);border-radius:3px}.bp-root .bp-item{align-items:center;background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:10px;color:inherit;cursor:pointer;display:flex;font:inherit;gap:14px;overflow:hidden;padding:14px 14px 14px 18px;position:relative;text-align:left;transition:border-color .15s ease,box-shadow .18s ease,transform .05s ease,background .15s ease;width:100%}.bp-root .bp-item:hover{background:var(--surface-page);border-color:var(--bp-primary);box-shadow:var(--bp-shadow-md)}.bp-root .bp-item:hover .bp-item-chevron{color:var(--bp-primary);transform:translateX(2px)}.bp-root .bp-item:hover .bp-item-accent{opacity:1}.bp-root .bp-item:active{transform:translateY(1px)}.bp-root .bp-item:focus-visible{outline:2px solid var(--bp-primary);outline-offset:2px}.bp-root .bp-item-accent{background:linear-gradient(180deg,var(--bp-primary) 0,var(--bp-accent) 100%);bottom:0;left:0;opacity:.55;position:absolute;top:0;transition:opacity .15s ease;width:4px}.bp-root .bp-item-body{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.bp-root .bp-item-title{color:var(--bp-text);font-size:14.5px;font-weight:600;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-root .bp-item-meta{align-items:center;color:var(--bp-text);display:flex;font-size:12.5px;gap:7px;line-height:1.3}.bp-root .bp-item-meta-muted{color:var(--bp-text-muted)}.bp-root .bp-item-meta-icon{color:var(--bp-text-muted);flex-shrink:0;font-size:11px;text-align:center;width:12px}.bp-root .bp-item-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bp-root .bp-item-chevron{color:#c1c5d1;flex-shrink:0;font-size:12px;transition:color .15s ease,transform .15s ease}.bp-root .bp-empty{color:var(--bp-text-muted);padding:40px 20px;text-align:center}.bp-root .bp-empty-icon{color:#c1c5d1;font-size:28px;margin-bottom:10px}.bp-root .bp-empty-title{color:var(--bp-text);font-size:14px;font-weight:600;margin:0 0 4px}.bp-root .bp-empty-sub{font-size:13px;margin:0}.lgn-page,.lgn-scope{--lgn-accent:#1d7ed5;--lgn-accent-2:#15bae3;--lgn-ink:var(--text-strong);--lgn-muted:#64748b;--lgn-field-bg:var(--surface-sunken);--lgn-border:var(--border-default);color:var(--lgn-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.lgn-page{background:#f6f8fb;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.lgn-page *,.lgn-page :after,.lgn-page :before,.lgn-scope *,.lgn-scope :after,.lgn-scope :before{box-sizing:border-box}.lgn-brand{background-color:var(--lgn-accent);background-position:50%;background-size:cover;border-radius:0 0 28px 28px;padding:64px 24px 72px;position:relative}.lgn-back,.lgn-brand{color:var(--text-on-brand)}.lgn-back{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;left:16px;position:absolute;top:16px;transition:background .15s ease;width:40px}.lgn-back:hover{background:#ffffff4d}.lgn-brand-inner{max-width:480px}.lgn-logo-chip{align-items:center;background:var(--surface-card);border-radius:16px;box-shadow:0 8px 20px #02204740;display:flex;height:64px;justify-content:center;margin-bottom:16px;overflow:hidden;width:64px}.lgn-logo-chip img{max-height:82%;max-width:82%;object-fit:contain}.lgn-brand-title{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.lgn-brand-sub{color:#ffffffde;font-size:14.5px;line-height:1.5;margin:0}.lgn-panel{align-items:center;display:flex;flex:1 1;flex-direction:column;padding:0 16px 28px}.lgn-card{background:var(--surface-card);border-radius:20px;box-shadow:0 12px 40px #0f2a501a;margin-top:-40px;max-width:440px;padding:28px 22px;position:relative;width:100%}.lgn-card-title{font-size:22px;font-weight:700;margin:0 0 4px}.lgn-card-sub{color:var(--lgn-muted);font-size:14px;margin:0 0 22px}.lgn-field{margin-bottom:16px}.lgn-field label{color:var(--text-strong);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.lgn-field input,.lgn-field select{appearance:none;background:var(--lgn-field-bg);border:1px solid var(--lgn-border);border-radius:12px;color:var(--lgn-ink);font-family:inherit;font-size:16px;height:48px;outline:none;padding:0 14px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;width:100%}.lgn-field select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' stroke='%2364748b' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}.lgn-field input::placeholder{color:var(--text-faint);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400}.lgn-field input:focus,.lgn-field select:focus{background:var(--surface-card);border-color:var(--lgn-accent);box-shadow:0 0 0 3px #1d7ed526}.lgn-field.lgn-invalid input,.lgn-field.lgn-invalid select{background:var(--status-danger-bg);border-color:var(--status-danger)}.lgn-otp-input.lgn-otp-input{font-size:18px;font-weight:600;letter-spacing:8px;text-align:center}.lgn-field-note{color:var(--text-faint);display:block;font-size:12px;line-height:1.4;margin-top:5px}.lgn-field-hint{color:var(--status-danger);display:block;font-size:12.5px;margin-top:5px}.lgn-password-wrap{position:relative}.lgn-password-wrap input{padding-right:48px}.lgn-eye{align-items:center;background:#0000;border:none;border-radius:10px;color:var(--text-faint);cursor:pointer;display:flex;height:38px;justify-content:center;position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px}.lgn-eye:hover{color:var(--lgn-accent)}.lgn-links{display:flex;justify-content:space-between;margin:2px 2px 18px}.lgn-links button{background:none;border:none;color:var(--lgn-accent);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;padding:0}.lgn-links button:hover{text-decoration:underline}.lgn-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:10px;color:var(--status-danger);font-size:13.5px;line-height:1.45;margin-bottom:14px;padding:10px 12px}.lgn-cta{background:linear-gradient(135deg,var(--lgn-accent),var(--lgn-accent-2));border:none;border-radius:12px;box-shadow:0 6px 16px #1d7ed54d;color:var(--text-on-brand);cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;height:50px;letter-spacing:.04em;transition:transform .15s ease,box-shadow .15s ease;width:100%}.lgn-cta:hover{box-shadow:0 8px 20px #1d7ed561;transform:translateY(-1px)}.lgn-cta:active{box-shadow:0 4px 10px #1d7ed547;transform:translateY(0)}.lgn-cta:disabled{box-shadow:none;cursor:not-allowed;opacity:.55;transform:none}.lgn-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:10px;color:var(--status-success-text);font-size:13.5px;line-height:1.45;margin-bottom:14px;padding:10px 12px}.lgn-note{background:var(--lgn-field-bg);border:1px solid var(--lgn-border);border-radius:10px;color:var(--text-body);font-size:13.5px;line-height:1.5;padding:12px 14px}.lgn-check-row{align-items:flex-start;color:var(--lgn-muted);display:flex;font-size:13px;gap:10px;line-height:1.45;margin:4px 0 16px}.lgn-check-row input[type=checkbox]{accent-color:var(--lgn-accent);flex-shrink:0;height:16px;margin-top:2px;width:16px}.lgn-check-row label{cursor:pointer;margin:0}.lgn-divider{align-items:center;color:var(--text-faint);display:flex;font-size:12px;font-weight:600;gap:12px;letter-spacing:.08em;margin:20px 0;text-transform:uppercase}.lgn-divider:after,.lgn-divider:before{background:var(--lgn-border);content:"";flex:1 1;height:1px}.lgn-secondary{background:#1d7ed517;border:none;border-radius:12px;color:var(--lgn-accent);cursor:pointer;font-family:inherit;font-size:14.5px;font-weight:600;height:48px;letter-spacing:.03em;transition:background .15s ease;width:100%}.lgn-secondary:hover{background:#1d7ed529}.lgn-parent{color:var(--lgn-muted);font-size:13.5px;margin-top:18px;text-align:center}.lgn-parent button{background:none;border:none;color:var(--lgn-accent);cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:600;padding:0}.lgn-parent button:hover{text-decoration:underline}.lgn-ms-btn{align-items:center;background:var(--surface-card);border:1px solid var(--lgn-border);border-radius:12px;color:var(--text-strong);cursor:pointer;display:flex;font-family:inherit;font-size:14.5px;font-weight:600;gap:10px;height:48px;justify-content:center;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.lgn-ms-btn:hover{border-color:var(--lgn-accent);box-shadow:0 2px 10px #1d7ed51f}.lgn-ms-btn svg{height:20px;width:20px}.lgn-terms{color:var(--lgn-muted);font-size:12.5px;line-height:1.5;margin:16px 0 0;max-width:440px;text-align:center;width:100%}.lgn-card.lgn-contact,.lgn-contact{color:var(--lgn-muted);font-size:14px;line-height:1.6;margin-top:16px}.lgn-info-cards{display:flex;flex-direction:column;gap:10px;margin:16px 0 0;max-width:440px;width:100%}.lgn-info-card{align-items:center;background:var(--surface-card);border:1px solid var(--lgn-border);border-radius:14px;box-shadow:0 4px 14px #0f2a500f;cursor:pointer;display:flex;font-family:inherit;gap:12px;padding:12px 14px;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;width:100%}.lgn-info-card:hover{border-color:var(--lgn-accent);box-shadow:0 6px 18px #1d7ed529;transform:translateY(-1px)}.lgn-info-thumb{align-items:center;background:var(--lgn-field-bg);border:1px solid var(--lgn-border);border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;overflow:hidden;width:44px}.lgn-info-thumb img{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.lgn-info-name{color:var(--lgn-ink);flex:1 1;font-size:15px;font-weight:600;line-height:1.3;min-width:0}.lgn-info-arrow{color:var(--lgn-accent);flex-shrink:0;font-size:13px}.lgn-contact h1,.lgn-contact h2,.lgn-contact h3,.lgn-contact h4,.lgn-contact h5,.lgn-contact h6{color:var(--text-strong);font-size:13px;font-weight:600;margin:12px 0 2px}.lgn-contact h1:first-child,.lgn-contact h2:first-child,.lgn-contact h3:first-child,.lgn-contact h4:first-child,.lgn-contact h5:first-child,.lgn-contact h6:first-child{margin-top:0}.lgn-contact p{margin:0 0 4px}.lgn-contact a{color:var(--lgn-accent);text-decoration:none}.lgn-contact a:hover{text-decoration:underline}.lgn-powered{align-items:center;color:var(--text-faint);display:flex;font-size:12px;gap:8px;margin-top:22px}.lgn-powered img{height:22px;opacity:.75}@media (min-width:992px){.lgn-page{flex-direction:row}.lgn-brand{align-items:center;border-radius:0;display:flex;flex:1.1 1;justify-content:center;min-height:100vh;min-height:100dvh;padding:64px 56px}.lgn-back{left:24px;top:24px}.lgn-logo-chip{border-radius:18px;height:76px;margin-bottom:28px;width:76px}.lgn-brand-title{font-size:38px;margin-bottom:12px}.lgn-brand-sub{font-size:16px;line-height:1.6}.lgn-panel{flex:1 1;justify-content:center;padding:40px 48px}.lgn-card{border:1px solid #eef2f7;box-shadow:0 16px 48px #0f2a5014;margin-top:0;padding:40px 36px}.lgn-card-title{font-size:26px}}.modern-login-container{display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh}.login-branding{align-items:center;background:var(--gradient-brand);background-color:var(--brand-primary);background-position:50%;background-size:cover;display:flex;flex:1 1;justify-content:center;overflow:hidden;padding:60px;position:relative}.login-branding.has-hero:after,.login-branding.has-hero:before{display:none}.logo-monogram{color:#fff;font-size:44px;font-weight:800;letter-spacing:1px;line-height:1}.login-branding:before{background:#ffffff1a;height:400px;right:-100px;top:-100px;width:400px}.login-branding:after,.login-branding:before{border-radius:50%;content:"";position:absolute}.login-branding:after{background:#ffffff14;bottom:-80px;height:300px;left:-80px;width:300px}.branding-content{color:#fff;max-width:500px;position:relative;z-index:1}.logo-section{align-items:center;display:flex;gap:16px;margin-bottom:24px}.logo-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;display:inline-flex;font-size:48px;justify-content:center;margin-bottom:22px;padding:16px}.brand-name{font-size:40px;font-weight:800;letter-spacing:-1px;margin:0 0 12px;text-shadow:0 1px 14px #0000002e}.brand-tagline{font-size:18px;line-height:1.55;margin-bottom:0;max-width:30ch;opacity:.95}.feature-list{display:flex;flex-direction:column;gap:20px}.feature-item{font-size:16px;gap:16px;line-height:1.5}.feature-icon,.feature-item{align-items:center;display:flex}.feature-icon{background:#ffffff40;border-radius:50%;flex-shrink:0;font-weight:700;height:28px;justify-content:center;width:28px}.login-form-section{align-items:center;background:var(--surface-page);display:flex;flex:1 1;justify-content:center;padding:60px}.login-form-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000014;max-width:440px;padding:48px;width:100%}.login-header{margin-bottom:32px;text-align:left}.login-header h2{color:var(--text-strong);font-size:32px;font-weight:700;margin:0 0 8px}.login-header p{color:var(--text-muted);font-size:16px;margin:0}.modern-login-form{gap:24px}.form-field,.modern-login-form{display:flex;flex-direction:column}.form-field{gap:8px}.form-field label{color:var(--text-body);font-size:14px;font-weight:600}.modern-input{background:#fff;border:1.5px solid var(--border-strong);border-radius:10px;color:var(--text-strong);font-family:inherit;font-size:16px;padding:14px 16px;transition:all .2s ease;width:100%}.modern-input:hover{background:#fff;border-color:var(--border-strong)}.modern-input:focus{background:#fff;border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea2e;outline:none}.modern-input::placeholder{color:var(--text-faint)}.login-forgot-link{margin-top:8px;text-align:right}.login-forgot-link span{color:var(--brand-primary);cursor:pointer;font-size:13px;font-weight:600}.login-forgot-link span:hover{text-decoration:underline}.modern-login-btn{align-items:center;background:var(--gradient-brand);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;margin-top:8px;padding:16px;transition:all .2s ease;width:100%}.modern-login-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea4d;transform:translateY(-2px)}.modern-login-btn:active:not(:disabled){transform:translateY(0)}.modern-login-btn:disabled{cursor:not-allowed;opacity:.7}.btn-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.login-footer{margin-top:32px;text-align:center}.footer-text{color:var(--text-faint);font-size:13px;margin:0}@media (max-width:1024px){.login-branding{display:none}.login-form-section{flex:1 1}}@media (max-width:640px){.login-form-section{padding:24px}.login-form-container{padding:32px 24px}.login-header h2{font-size:28px}.brand-name{font-size:36px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-form-container{animation:fadeInUp .4s ease both}.branding-content{animation:fadeInUp .4s ease .1s both}@media (prefers-reduced-motion:reduce){.branding-content,.login-form-container{animation:none}}.fp-steps{gap:8px;margin-bottom:28px}.fp-step,.fp-steps{align-items:center;display:flex;justify-content:center}.fp-step{border-radius:50%;flex-shrink:0;font-size:14px;font-weight:700;height:34px;transition:all .25s ease;width:34px}.fp-step.pending{background:var(--surface-sunken);color:var(--text-faint)}.fp-step.active{background:var(--gradient-brand);box-shadow:0 4px 12px #667eea59;color:var(--text-on-brand)}.fp-step.completed{background:var(--status-success);color:var(--text-on-brand)}.fp-step-line{background:var(--surface-sunken);border-radius:2px;height:3px;transition:background .25s ease;width:48px}.fp-step-line.completed{background:var(--status-success)}.fp-message{border-radius:8px;font-size:14px;padding:10px 14px}.fp-message.error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.fp-message.success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.fp-otp-message{background:var(--surface-sunken);border-radius:8px;color:var(--text-body);padding:10px 14px}.fp-otp-message,.fp-timer{font-size:13px;text-align:center}.fp-timer{color:var(--brand-primary);font-weight:600}.fp-timer.expired{color:var(--status-danger)}.fp-hint{color:var(--text-faint);font-size:12px}.fp-eye-toggle{align-items:center;background:#0000;border:none;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.fp-link{margin-top:20px;text-align:center}.fp-link span{color:var(--brand-primary);cursor:pointer;font-size:14px;font-weight:600}.fp-link span:hover{text-decoration:underline}.fp-resend{margin-top:-8px;text-align:center}.fp-resend span{color:var(--brand-primary);cursor:pointer;font-size:13px;font-weight:600}.fp-resend span:hover{text-decoration:underline}.fp-success{align-items:center;display:flex;flex-direction:column;gap:16px}.fp-success-icon{color:var(--status-success);font-size:56px}.fp-success-text{color:var(--text-body);font-size:15px;margin:0;text-align:center}.fp-success .modern-login-btn{width:100%}.attendance .full-height1{height:100vh}.attendance .card-body{overflow:scroll}.attendance .form-control{border:none}.attendance .row{border-bottom:1px solid #dedede;margin-bottom:10px}.attendance .col{padding-left:1px;padding-right:1px}.attendance .my-label{padding-top:.5rem}.attendance .mark-all{margin-bottom:10px}.attendance .mark-all button{margin-right:10px}.attendance-image-div{align-items:center;display:flex;margin:10px auto;position:relative;width:500px}.attendance-image{display:block;margin:30px auto;max-height:100%;max-width:100%}.open-attendance-image{align-items:center;background:#00000080;color:var(--text-on-brand);cursor:pointer;display:flex;flex-direction:column;font-size:20px;font-weight:500;height:95%;justify-content:center;position:absolute;width:100%}.open-attendance-image svg{fill:#fff;width:50px}.attendance-camera-icon{fill:#fff;cursor:pointer;width:25px}.skeleton-loader-container{padding:8px 0}.skeleton-student-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;padding:10px 0}.skeleton-switch{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e8e8e8 25%,var(--surface-sunken) 50%,#e8e8e8 75%);background-size:200% 100%;border-radius:12px;flex-shrink:0;height:24px;width:50px}.skeleton-student-info{flex:1 1;margin-left:12px}.skeleton-line{animation:skeleton-shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e8e8e8 25%,var(--surface-sunken) 50%,#e8e8e8 75%);background-size:200% 100%;border-radius:6px;height:12px}.skeleton-code{margin-bottom:6px;width:30%}.skeleton-name{width:60%}.image-preview{background:var(--surface-card);border:2px solid #838383a8;bottom:40px;left:30px;overflow:scroll;overflow-x:hidden;position:fixed;right:30px;top:40px;z-index:2}.cross-icon-div{display:flex;justify-content:flex-end;width:100%}.cross-icon{cursor:pointer;margin:10px;width:30px}.image-card{align-content:center;align-items:center;border:1px solid #838383a8;border-radius:28px;display:flex;flex-direction:column;margin:10px auto;padding:20px;width:80%}.attendance-card-image{max-height:100%;max-width:100%}.attendance-v2{background:linear-gradient(180deg,var(--surface-page) 0,#eef2f7 100%);color:var(--text-strong);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100vh}.attendance-v2 .app{align-items:flex-start!important;padding:24px 12px 48px}.attendance-v2 .container{max-width:960px!important;padding:0!important}.attendance-v2 .card-group{display:block!important}.attendance-v2 .card,.attendance-v2 .full-height1{background:var(--surface-card)!important;border:none!important;border-radius:16px!important;box-shadow:0 12px 32px #0f172a14,0 2px 6px #0f172a0a;height:auto!important;overflow:hidden}.attendance-v2 .card-header.pageheading{background:linear-gradient(135deg,#14b8a6,#0d9488)!important;border:none!important;font-size:18px;letter-spacing:.3px;padding:18px 22px!important;position:relative}.attendance-v2 .card-header.pageheading b{font-weight:600}.attendance-v2 .card-header.pageheading svg{cursor:pointer;opacity:.95;transition:transform .15s ease,opacity .15s ease}.attendance-v2 .card-header.pageheading svg:hover{opacity:1;transform:scale(1.08)}.attendance-v2 .card-body{background:var(--surface-card);overflow:visible!important;padding:18px 22px 22px!important}.attendance-v2 .card-body>.row{align-items:center;border-bottom:1px solid var(--border-subtle)!important;margin:0!important;padding:10px 0!important;transition:background .12s ease}.attendance-v2 .card-body>.row:hover{background:var(--surface-page)}.attendance-v2 .card-body>.row:first-of-type{border-bottom:1px solid var(--border-default)!important;margin-bottom:6px!important;padding:8px 0 14px!important}.attendance-v2 .card-body>.row:first-of-type h5{color:var(--text-strong);font-size:20px;font-weight:700;letter-spacing:-.2px;margin:0}.attendance-v2 .my-label{color:var(--text-body);font-size:13px;font-weight:600;letter-spacing:.3px;padding-top:.5rem;text-transform:uppercase}.attendance-v2 .form-control{background:var(--surface-card)!important;border:1px solid var(--border-default)!important;border-radius:8px!important;box-shadow:none!important;color:var(--text-strong)!important;font-size:14px!important;height:40px!important;padding:8px 12px!important;transition:border-color .15s ease,box-shadow .15s ease}.attendance-v2 .form-control:focus{border-color:#14b8a6!important;box-shadow:0 0 0 3px #14b8a626!important;outline:none!important}.attendance-v2 select.form-control{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%2364748b' d='M6 8 0 0h12z'/%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-repeat:no-repeat!important;cursor:pointer;padding-right:32px!important}.attendance-v2 .col.text-right.my-label{color:var(--text-strong);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}.attendance-v2 .text-danger{font-size:12px;font-weight:500;margin-top:4px;width:100%}.attendance-v2 .card-body>.row>.btn-primary.btn-lg.btn-block,.attendance-v2 .card-body>.row>.btn-secondary.btn-lg.btn-block{background:var(--gradient-brand)!important;border:none!important;border-radius:10px!important;box-shadow:0 4px 12px #6366f140;color:var(--text-on-brand)!important;cursor:pointer;font-size:15px!important;font-weight:600!important;height:auto!important;letter-spacing:.4px;padding:12px 18px!important;transition:transform .12s ease,box-shadow .15s ease,opacity .12s ease}.attendance-v2 .card-body>.row>.btn-primary.btn-lg.btn-block:hover:not(:disabled),.attendance-v2 .card-body>.row>.btn-secondary.btn-lg.btn-block:hover:not(:disabled){box-shadow:0 8px 18px #6366f152;transform:translateY(-1px)}.attendance-v2 .card-body>.row>.btn-primary.btn-lg.btn-block:disabled,.attendance-v2 .card-body>.row>.btn-secondary.btn-lg.btn-block:disabled{box-shadow:none;cursor:not-allowed;opacity:.65}.attendance-v2 .attendance-save-row>.btn-primary.btn-lg.btn-block,.attendance-v2 .attendance-save-row>.btn-secondary.btn-lg.btn-block{background:linear-gradient(135deg,var(--status-success) 0,var(--status-success) 100%)!important;box-shadow:0 4px 12px #10b98147}.attendance-v2 .attendance-save-row>.btn-primary.btn-lg.btn-block:hover:not(:disabled),.attendance-v2 .attendance-save-row>.btn-secondary.btn-lg.btn-block:hover:not(:disabled){box-shadow:0 8px 18px #10b9815c}.attendance-v2 button[style*="#28a745"],.attendance-v2 button[style*="#dc3545"]{border-radius:8px!important;box-shadow:0 3px 10px #00000014;font-weight:600!important;letter-spacing:.3px;transition:transform .12s ease,box-shadow .15s ease}.attendance-v2 button[style*="#28a745"]:hover,.attendance-v2 button[style*="#dc3545"]:hover{box-shadow:0 6px 14px #0000001f;transform:translateY(-1px)}.attendance-v2 div[style*="#fff3cd"]{background-color:var(--status-warning-bg)!important;border-color:var(--status-warning)!important;border-radius:10px!important}.attendance-v2 div[style*="#856404"]{color:var(--status-warning-text)!important}.attendance-v2 .att-count-summary{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--surface-sunken) 100%);border:1px solid var(--brand-primary-subtle);border-radius:10px;display:flex;gap:16px;justify-content:space-between;margin:8px 0 12px;padding:14px 16px}.attendance-v2 .att-count-total{color:var(--text-strong);font-size:15px;font-weight:700;letter-spacing:.2px}.attendance-v2 .att-count-total span{color:var(--brand-primary);margin-left:4px}.attendance-v2 .att-count-breakdown{display:flex;font-size:13px;font-weight:600;gap:10px}.attendance-v2 .att-sort-group{align-items:center;display:flex;gap:8px;margin-left:auto;margin-right:12px}.attendance-v2 .att-sort-label{color:var(--text-body);font-size:12px;font-weight:600;letter-spacing:.4px;margin:0;text-transform:uppercase}.attendance-v2 .att-sort-select{appearance:none;-webkit-appearance:none;background-color:var(--surface-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid var(--border-default);border-radius:8px;color:var(--text-strong);cursor:pointer;font-size:13px;font-weight:500;min-width:160px;padding:6px 28px 6px 12px;transition:border-color .15s ease,box-shadow .15s ease}.attendance-v2 .att-sort-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}@media (max-width:640px){.attendance-v2 .att-count-summary{flex-wrap:wrap}.attendance-v2 .att-sort-group{flex-basis:100%;margin-left:0;margin-right:0}.attendance-v2 .att-sort-select{flex:1 1;min-width:0}}.attendance-v2 .att-count-present{background:var(--status-success-bg);border-radius:999px;color:var(--status-success-text);padding:4px 10px}.attendance-v2 .att-count-absent{background:var(--status-danger-bg);border-radius:999px;color:var(--status-danger);padding:4px 10px}.attendance-v2 .card-body>div>.row{align-items:center;border-bottom:1px solid var(--border-subtle)!important;margin:0!important;padding:12px 0!important;transition:background .12s ease}.attendance-v2 .card-body>div>.row:hover{background:var(--surface-page)}.attendance-v2 .att-sno{font-feature-settings:"tnum";color:var(--text-muted);flex:0 0 48px!important;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;line-height:1;padding:0 6px!important;text-align:center;white-space:nowrap;width:48px}.attendance-v2 .col.text-left.align-self-center>span{display:inline-block;line-height:1.45}.attendance-v2 .col.text-left.align-self-center>span,.attendance-v2 .col.text-left.align-self-center>span br+:after{color:var(--text-strong);font-size:14px;font-weight:500}.attendance-v2 .col.text-left.align-self-center>span{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.attendance-v2 .col.text-left.align-self-center svg.float-right{height:18px!important;margin-top:2px;width:18px!important}.attendance-v2 .text-muted{color:var(--text-faint)!important}.attendance-v2 .text-secondary{color:#14b8a6!important}.attendance-v2 .text-danger{color:var(--status-danger)!important}.attendance-v2 .skeleton-student-row{border-bottom:1px solid var(--border-subtle)}.attendance-v2 .skeleton-line,.attendance-v2 .skeleton-switch{background:linear-gradient(90deg,#eef2f7 25%,var(--surface-page) 50%,#eef2f7 75%)!important;background-size:200% 100%!important}@media (max-width:640px){.attendance-v2 .app{padding:12px 6px 32px}.attendance-v2 .card,.attendance-v2 .full-height1{border-radius:12px!important}.attendance-v2 .card-header.pageheading{padding:14px 16px!important}.attendance-v2 .card-body{padding:14px 16px 18px!important}}.Home .full-height1{height:100vh}.Home .tab-footer{padding:0}.Home .tab-content{padding-top:0}.Home .card-body{overflow:scroll}.Home a.active:hover{color:var(--text-on-brand)}.home-header-container{align-items:center;display:flex;justify-content:space-between}.home-header-text{flex:1 1;margin:auto;text-align:center}.user-profile-icon{fill:#fff;cursor:pointer;width:30px}@media (max-width:768px){.Home .full-height1{height:90vh}}.modern-home{background:var(--surface-sunken);transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.modern-home{margin-left:280px}body.sidebar-collapsed .modern-home{margin-left:80px}}.modern-content{padding:24px}.home-nav{box-shadow:0 1px 0 0 #0000000d}.home-nav-content{gap:1rem;padding:12px 24px}.home-nav .home-nav-content{margin:0;max-width:none;padding:12px 16px}.hamburger-button-home{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.5rem;line-height:1;padding:8px 12px;transition:all .3s ease}.hamburger-button-home:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}.hamburger-button-home:active{transform:scale(.95)}@media (max-width:1023px){.hamburger-button-home{display:block}}.brand{color:var(--text-strong);font-size:16px;font-weight:600;gap:12px}.home-nav .brand .home-brand-logo{border-radius:8px;display:block;height:46px;max-height:46px;max-width:min(58vw,520px);object-fit:contain;width:auto}@media (max-width:1023px){.home-nav .brand .home-brand-logo{height:38px;max-height:38px;max-width:55vw}}.brand-text{color:var(--text-strong);letter-spacing:-.01em}.nav-actions{align-items:center;display:flex;gap:16px}.user-avatar{fill:#605e5c;background:#e8e6e4;border:1px solid #d2d0ce;border-radius:50%;height:32px;width:32px}.hero-section{margin:0 auto;padding:32px 24px 24px}.hero-content{text-align:left}.hero-title{color:var(--text-strong);font-size:32px;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0 0 8px}.hero-subtitle{color:var(--text-muted);font-size:14px;font-weight:400;margin:0}.features-container{margin:0 auto;padding:0 24px 48px}.features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:24px}.feature-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 .3px .9px #00000012,0 1.6px 3.6px #0000000a;cursor:pointer;overflow:hidden;padding:24px;position:relative;transition:all .15s cubic-bezier(.4,0,.2,1)}.feature-card:hover{border-color:#d2d0ce;box-shadow:0 3.2px 7.2px #00000021,0 .6px 1.8px #0000001c;transform:translateY(-2px)}.feature-card:active{transform:scale(.98);transition:all .06s}.card-content{align-items:flex-start;display:flex;gap:16px}.card-icon{align-items:center;display:flex;filter:none;flex-shrink:0;font-size:40px;height:48px;justify-content:center;width:48px}.card-text{flex:1 1;min-width:0}.card-title{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 4px}.card-description{color:var(--text-muted);font-size:14px;line-height:1.4;margin:0}.card-arrow{display:none}.quick-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;padding:0 24px 48px}.stat-card{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:24px;transition:all .3s ease}.stat-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.stat-icon{align-items:center;background:var(--gradient-brand);border-radius:12px;display:flex;flex-shrink:0;font-size:36px;height:60px;justify-content:center;width:60px}.stat-info{flex:1 1}.modern-home .stat-value{color:var(--text-strong);font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.modern-home .stat-label{color:var(--text-muted);font-size:13px;font-weight:500}@media (max-width:768px){.hero-title{font-size:32px}.hero-subtitle{font-size:16px}.features-grid{gap:16px;grid-template-columns:1fr}.feature-card{padding:24px 20px}.card-icon{font-size:40px}.card-title{font-size:20px}.quick-stats{grid-template-columns:1fr}.home-nav-content{padding:12px 16px}.brand-text,.user-name{display:none}}@media (max-width:480px){.hero-section{padding:32px 16px 24px}.features-container,.quick-stats{padding-left:16px;padding-right:16px}}.home-portlets-error{display:flex;justify-content:center;padding:48px 24px}.home-portlets-error-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;max-width:480px;padding:40px 48px;text-align:center}.home-portlets-error-icon{display:block;font-size:40px;margin-bottom:12px}.home-portlets-error-card h2{font-size:20px;font-weight:700;margin-bottom:8px}.home-portlets-error-card p{color:var(--text-muted);font-size:14px;margin-bottom:20px}.tab-activities .tile{color:var(--text-on-brand);height:100px;padding:2px}.tab-activities .tile-double{height:200px}.tab-activities .tile+.tile{height:90px;margin-top:10px}.tab-activities .tile-icon{font-size:40px;line-height:100px;padding:0;text-align:center}.tab-activities .tile-title{position:relative;text-align:center}.tab-activities .tile-title>h1{color:var(--text-on-brand);font-family:Lato,sans-serif;font-size:24px;font-weight:300;left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.tab-activities .tile-image{background-position:bottom;background-size:cover;text-shadow:1px 1px 0 #000}@media (min-width:600px){.tab-activities .tile{height:150px;padding:4px;transition:all .5s linear}.tab-activities .tile-double{height:300px}.tab-activities .tile+.tile{height:140px;margin-top:10px}.tab-activities .tile-icon{font-size:60px;line-height:150px;padding:0}.tab-activities .tile-title>h1{font-size:32px}}.tab-activities .tile .tile-content{color:var(--text-strong);color:var(--text-on-brand);font-family:Segoe UI,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-size:9pt;font-weight:400;height:100%;line-height:16px;overflow:hidden;padding:10px 15px;position:relative;text-overflow:ellipsis;vertical-align:top;width:100%}.tab-activities .tile .tile-content:hover{color:#000c}.tab-activities .tile .tile-content:active{color:#0006}.tab-activities .tile .tile-content:hover{color:var(--text-on-brand)}.tab-activities .tile .tile-content h1,.tab-activities .tile .tile-content h2,.tab-activities .tile .tile-content h3,.tab-activities .tile .tile-content h4,.tab-activities .tile .tile-content h5,.tab-activities .tile .tile-content h6,.tab-activities .tile .tile-content p{line-height:24px;margin:0;padding:0}.tab-activities .tile .tile-content h1:hover,.tab-activities .tile .tile-content h2:hover,.tab-activities .tile .tile-content h3:hover,.tab-activities .tile .tile-content h4:hover,.tab-activities .tile .tile-content h5:hover,.tab-activities .tile .tile-content h6:hover,.tab-activities .tile .tile-content p:hover{color:var(--text-on-brand)}.tab-activities .tile.icon>.tile-content{padding:0}.tab-activities .tile.icon>.tile-content>img{height:48px;left:50%;margin-left:-26px;margin-top:-32px;position:absolute;top:50%;width:48px}.tab-activities .tile.image-slider>.tile-content,.tab-activities .tile.image>.tile-content{padding:0}.tab-activities .tile.image-slider>.tile-content>img,.tab-activities .tile.image>.tile-content>img{height:auto;max-width:100%;min-height:100%;width:100%}.tab-activities .tile.image-set>.tile-content{border:1px solid #1e1e1e;float:left;height:50%;margin:0;padding:0;width:25%!important}.tab-activities .tile .brand,.tab-activities .tile .tile-status{*zoom:1;background-color:initial;bottom:0;left:0;min-height:30px;position:absolute;right:0}.tab-activities .tile .brand:after,.tab-activities .tile .brand:before,.tab-activities .tile .tile-status:after,.tab-activities .tile .tile-status:before{content:"";display:table}.tab-activities .tile .brand:after,.tab-activities .tile .tile-status:after{clear:both}.tab-activities .tile .brand>.badge,.tab-activities .tile .tile-status>.badge{font-smooth:always;bottom:0;color:var(--text-on-brand);font-family:Segoe UI Semibold,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-size:11pt;font-weight:600;height:28px;letter-spacing:.01em;line-height:14pt;margin-bottom:0;margin-right:15px;padding-top:3px;position:absolute;right:5px;text-align:right;width:150px}.tab-activities .tile .brand>.name,.tab-activities .tile .tile-status>.name{font-size:10pt;text-align:left}.tab-activities .tile .brand>.name,.tab-activities .tile .brand>.starttime,.tab-activities .tile .tile-status>.name{font-smooth:always;bottom:0;color:var(--text-on-brand);font-family:Segoe UI,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-weight:400;left:0;margin-bottom:5px;margin-left:15px;position:absolute}.tab-activities .tile .brand>.starttime{font-size:11pt}.tab-activities .tile .brand>.name:hover,.tab-activities .tile .tile-status>.name:hover{color:var(--text-on-brand)}.tab-activities .tile .brand>.name>[class*=icon-],.tab-activities .tile .tile-status>.name>[class*=icon-]{font-size:24px}.tab-activities .tile .brand>.icon,.tab-activities .tile .tile-status>.icon{height:32px;margin:5px 15px;width:32px}.tab-activities .tile .brand>.icon>[class*=icon-],.tab-activities .tile .tile-status>.icon>[class*=icon-]{font-size:32px}.tab-activities .tile .brand>.icon>img,.tab-activities .tile .tile-status>.icon>img{height:100%;width:100%}.tab-activities .tile .brand>img~.text,.tab-activities .tile .tile-status>img~.text{left:60px;position:absolute;width:auto}.tab-activities .tile .brand>.text,.tab-activities .tile .tile-status>.text{font-smooth:always;color:var(--text-strong);color:var(--text-on-brand);font-family:Segoe UI,Open Sans,Verdana,Arial,Helvetica,sans-serif;font-size:9pt;font-weight:400;left:8px;line-height:14px;position:relative;right:50px;top:5px;width:60%}.tab-activities .tile .brand>.text:hover,.tab-activities .tile .tile-status>.text:hover{color:#000c}.tab-activities .tile .brand>.text:active,.tab-activities .tile .tile-status>.text:active{color:#0006}.tab-activities .tile .brand>.text:hover,.tab-activities .tile .tile-status>.text:hover{color:var(--text-on-brand)}.tab-activities .tile:hover{outline:3px solid #3a3a3a}.bg-color-blue{background-color:#00a8ec!important}.bg-color-blueLight{background-color:#04aeda!important}.bg-color-blueLight1{background-color:#00a8ec!important}.bg-color-blueDark{background-color:#0071b9!important}.bg-color-green{background-color:#00a300!important}.bg-color-green1{background-color:#04d94b!important}.bg-color-greenLight{background-color:#b8d631!important}.bg-color-greenDark{background-color:#1e7145!important}.bg-color-red{background-color:#c90c12!important}.bg-color-red1{background-color:#db1436!important}.bg-color-yellow{background-color:#ffc40d!important}.bg-color-orange{background-color:#e3a21a!important}.bg-color-orangeDark{background-color:#ed7700!important}.bg-color-pink{background-color:#9f00a7!important}.bg-color-pinkDark{background-color:#7e3878!important}.bg-color-purple{background-color:#63218f!important}.bg-color-maroon{background-color:#cf3a70!important}.bg-color-darken{background-color:#1d1d1d!important}.bg-color-dark{background-color:#2d2d2d!important}.bg-color-lighten{background-color:#d5e7ec!important}.bg-color-white{background-color:var(--surface-card)!important}.bg-color-grayDark{background-color:#525252!important}.tab-activities .col{padding-left:5px;padding-right:5px}.tab-activities .row{padding-top:10px}.skeleton-container{margin:0 auto;max-width:1400px;padding:24px}.skeleton-avatar,.skeleton-card,.skeleton-card-body,.skeleton-card-header,.skeleton-header,.skeleton-line,.skeleton-list-content,.skeleton-list-item,.skeleton-search,.skeleton-stat-card,.skeleton-stat-icon,.skeleton-stat-label,.skeleton-stat-value,.skeleton-subtitle,.skeleton-table-cell,.skeleton-title{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,#e8e8e8 0,var(--surface-sunken) 50%,#e8e8e8 100%);background-size:1000px 100%;border-radius:8px}.skeleton-header{margin-bottom:32px}.skeleton-title{height:40px;margin-bottom:8px;width:300px}.skeleton-subtitle{height:20px;width:200px}.skeleton-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.skeleton-stat-card{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:12px;display:flex;gap:16px;min-height:100px;padding:20px}.skeleton-stat-icon{border-radius:8px;flex-shrink:0;height:48px;width:48px}.skeleton-stat-content{flex:1 1}.skeleton-stat-label{height:16px;margin-bottom:8px;width:80px}.skeleton-stat-value{height:32px;width:60px}.skeleton-search{height:48px;margin-bottom:24px;width:100%}.skeleton-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.skeleton-card{background:#fff;border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.skeleton-card-header{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-page) 50%,var(--surface-sunken) 100%);background-size:1000px 100%;height:60px}.skeleton-card-body{padding:16px}.skeleton-line{border-radius:4px;height:16px;margin-bottom:12px}.skeleton-line.short{width:60%}.skeleton-list{display:flex;flex-direction:column;gap:12px}.skeleton-list-item{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:8px;display:flex;gap:16px;padding:16px}.skeleton-avatar{border-radius:50%;flex-shrink:0;height:48px;width:48px}.skeleton-list-content{flex:1 1}.skeleton-table{background:#fff;border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.skeleton-table-header{background:var(--surface-page)}.skeleton-table-header,.skeleton-table-row{grid-gap:16px;border-bottom:1px solid var(--border-default);display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding:16px}.skeleton-table-row:last-child{border-bottom:none}.skeleton-table-cell{height:20px}.skeleton-button-list{display:flex;flex-direction:column;gap:16px}.skeleton-button{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-page) 50%,var(--surface-sunken) 100%);background-size:1000px 100%;border-radius:8px;height:56px;width:100%}@media (max-width:768px){.skeleton-cards-grid,.skeleton-stats-grid,.skeleton-table-header,.skeleton-table-row{grid-template-columns:1fr}}.sidebar-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.sidebar{background:#fff;box-shadow:2px 0 20px #0003;display:flex;flex-direction:column;height:100vh;left:-320px;overflow-y:auto;position:fixed;top:0;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px;z-index:1001}@media (min-width:1024px){.sidebar{left:0;width:280px}.sidebar.collapsed{width:80px}.sidebar-overlay{display:none}}@media (max-width:1023px){.sidebar.open{left:0}}.sidebar-header{align-items:center;background:var(--gradient-brand);border-bottom:2px solid #ffffff1a;color:#fff;display:flex;justify-content:space-between;min-height:70px;padding:1.5rem}.sidebar.collapsed .sidebar-header{justify-content:center;padding:1.5rem .5rem}.sidebar-header h2{font-size:1.3rem;font-weight:700;margin:0}.close-button,.collapse-button{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:36px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:36px}.close-button{font-size:2rem}.close-button:hover,.collapse-button:hover{background:#ffffff4d;transform:scale(1.1)}.close-button:hover{transform:rotate(90deg)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.menu-group{margin-bottom:1.5rem}.menu-group:last-child{margin-bottom:0}.group-title{color:#95a5a6;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:.25rem;padding:.5rem 1.5rem;text-transform:uppercase}.sidebar.collapsed .group-title{display:none}.sidebar.collapsed .menu-group{margin-bottom:.5rem}.menu-item{align-items:center;background:none;border:none;border-left:4px solid #0000;cursor:pointer;display:flex;gap:1rem;padding:.875rem 1.5rem;position:relative;text-align:left;transition:all .2s ease;width:100%}.sidebar.collapsed .menu-item{gap:0;justify-content:center;padding:.875rem .5rem}.menu-item:hover{background:linear-gradient(90deg,rgba(var(--brand-primary-rgb),.08) 0,#0000 100%)}.menu-item.active,.menu-item:hover{border-left-color:var(--brand-primary)}.menu-item.active{background:linear-gradient(90deg,rgba(var(--brand-primary-rgb),.12) 0,#0000 100%)}.menu-item.active .menu-label{color:var(--brand-primary);font-weight:700}.menu-icon,.menu-item.active .menu-icon{background:var(--gradient-brand)}.menu-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:1.5rem;height:40px;justify-content:center;transition:all .2s ease;width:40px}.menu-item:hover .menu-icon{transform:scale(1.1)}.menu-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.sidebar.collapsed .menu-content{display:none}.menu-label{color:var(--text-strong);font-size:.95rem;font-weight:600}.menu-description,.menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-description{color:#7f8c8d;font-size:.75rem;line-height:1.3}.menu-arrow{color:#bdc3c7;flex-shrink:0;font-size:1.2rem;transition:all .2s ease}.sidebar.collapsed .menu-arrow{display:none}.menu-item:hover .menu-arrow{color:var(--brand-primary);transform:translateX(4px)}.sidebar-help{border-top:1px solid var(--border-default);padding:.5rem 0}.sidebar.collapsed .sidebar-help .group-title{display:none}.sidebar-theme-toggle{border-top:1px solid var(--border-default);padding:.5rem 1rem}.theme-toggle-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--nav-text);cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.6rem;padding:.5rem .75rem;transition:background .2s ease,color .2s ease;width:100%}.theme-toggle-btn:hover{background:var(--surface-hover);color:var(--nav-text-active)}.theme-toggle-icon{align-items:center;display:flex;justify-content:center}.theme-toggle-label{white-space:nowrap}.sidebar.collapsed .sidebar-theme-toggle{padding:.5rem}.sidebar.collapsed .theme-toggle-btn{justify-content:center;padding:.5rem}.sidebar-lang-selector{border-top:1px solid var(--border-default);display:flex;justify-content:center;padding:.75rem 1rem}.lang-buttons{background:var(--surface-sunken);border-radius:6px;display:flex;gap:.25rem;padding:2px}.lang-btn{background:#0000;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:.75rem;font-weight:600;padding:.3rem .6rem;transition:all .2s ease}.lang-btn:hover{background:#fff9;color:var(--text-body)}.lang-btn.active{background:var(--surface-card);box-shadow:0 1px 3px #0000001a;color:var(--text-body)}.lang-globe-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.3rem;padding:.25rem;transition:background .2s}.lang-globe-btn:hover{background:var(--surface-sunken)}.lang-collapsed-wrapper{position:relative}.lang-popup{background:var(--surface-card);border-radius:8px;bottom:0;box-shadow:0 4px 16px #00000026;display:flex;flex-direction:column;left:calc(100% + 8px);min-width:140px;padding:4px;position:absolute;z-index:1003}.lang-popup-btn{background:#0000;border:none;border-radius:6px;color:var(--text-body);cursor:pointer;font-size:.85rem;padding:.5rem .75rem;text-align:left;transition:background .15s}.lang-popup-btn.active,.lang-popup-btn:hover{background:var(--surface-sunken)}.lang-popup-btn.active{font-weight:600}.sidebar.collapsed .sidebar-lang-selector{padding:.5rem 0}.sidebar-footer{align-items:center;background:var(--surface-page);border-top:1px solid var(--border-default);display:flex;flex-direction:column;justify-content:center;min-height:70px;padding:1.5rem;text-align:center}.sidebar.collapsed .sidebar-footer{padding:1rem .5rem}.footer-text{color:var(--text-body);font-size:.85rem;font-weight:600;margin:0 0 .5rem}.footer-version{color:var(--text-faint);font-size:.75rem;margin:0}.footer-icon{font-size:1.5rem}.sidebar.collapsed .footer-text,.sidebar.collapsed .footer-version{display:none}@media (max-width:480px){.sidebar{left:-300px;width:280px}.sidebar-header{padding:1.25rem}.sidebar-header h2{font-size:1.15rem}.menu-item{padding:.75rem 1.25rem}.menu-icon{font-size:1.3rem;height:36px;width:36px}.menu-label{font-size:.9rem}.group-title,.menu-description{font-size:.7rem}.group-title{padding:.5rem 1.25rem}}@media (min-width:481px) and (max-width:1023px){.sidebar{left:-320px;width:300px}}.sidebar-nav::-webkit-scrollbar,.sidebar::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-track,.sidebar::-webkit-scrollbar-track{background:#f1f1f1}.sidebar-nav::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover,.sidebar::-webkit-scrollbar-thumb:hover{background:#555}.sidebar.open{animation:slideIn .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed .menu-item{position:relative}.sidebar.collapsed .menu-item:hover:after{background:#2c3e50;border-radius:6px;box-shadow:0 4px 12px #00000026;color:#fff;content:attr(title);font-size:.875rem;margin-left:10px;padding:.5rem 1rem;white-space:nowrap}.sidebar.collapsed .menu-item:hover:after,.sidebar.collapsed .menu-item:hover:before{left:100%;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:1002}.sidebar.collapsed .menu-item:hover:before{border:6px solid #0000;border-right-color:#2c3e50;content:"";margin-left:4px}.tenant-prefs-gear{align-items:center;background:#0000000a;border-radius:50%;color:inherit;cursor:pointer;display:inline-flex;height:38px;justify-content:center;text-decoration:none;transition:background .2s ease,transform .2s ease;width:38px}.tenant-prefs-gear:hover{background:#00000017;transform:rotate(20deg)}.tenant-prefs-gear svg{display:block}.workspace-tab-bar{-ms-overflow-style:none;align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:4px;margin-bottom:20px;overflow-x:auto;padding:0;scrollbar-width:none}.workspace-tab-bar::-webkit-scrollbar{display:none}.workspace-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:400;gap:6px;padding:10px 16px;position:relative;transition:all .15s ease;white-space:nowrap}.workspace-tab:hover{background:var(--surface-sunken);color:var(--text-strong)}.workspace-tab.active{border-bottom-color:var(--brand-primary);color:var(--text-strong);font-weight:600}.workspace-tab-icon{font-size:16px;line-height:1}.workspace-tab-name{line-height:1}.workspace-tab-settings{align-items:center;background:#0000;border:none;border-radius:4px;color:#a19f9d;cursor:pointer;display:none;font-family:inherit;font-size:12px;height:20px;justify-content:center;margin-left:2px;padding:0;width:20px}.workspace-tab:hover .workspace-tab-settings{display:flex}.workspace-tab-settings:hover{background:var(--surface-sunken);color:var(--text-muted)}.workspace-add-btn{align-items:center;background:#0000;border:1px dashed #d2d0ce;border-radius:6px;color:#a19f9d;cursor:pointer;display:flex;flex-shrink:0;font-family:inherit;font-size:18px;height:32px;justify-content:center;margin-left:4px;transition:all .15s ease;width:32px}.workspace-add-btn:hover{background:#f0f0ff;border-color:var(--brand-primary);color:var(--brand-primary)}.workspace-context-menu{animation:contextMenuFadeIn .12s ease-out;background:var(--surface-card);border-radius:8px;box-shadow:0 6px 20px #00000026,0 1px 4px #00000014;min-width:160px;padding:4px 0;position:fixed;z-index:200}.context-menu-item{background:#0000;color:#323130;font-family:inherit;gap:8px;padding:8px 16px;transition:background .1s ease}.context-menu-item:hover{background:var(--surface-sunken)}.context-menu-item.danger{color:#d13438}.context-menu-item.danger:hover{background:#fdf3f4}.context-menu-icon{font-size:14px;text-align:center;width:18px}.workspace-dialog-overlay{align-items:center;animation:overlayFadeIn .15s ease-out;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:300}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.workspace-dialog{animation:dialogSlideIn .2s ease-out;background:var(--surface-card);border-radius:12px;box-shadow:0 16px 48px #0003;max-width:90vw;padding:24px;width:400px}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.workspace-dialog h3{color:var(--text-strong);font-size:18px;font-weight:600;margin:0 0 20px}.workspace-dialog-field{margin-bottom:16px}.workspace-dialog-field label{color:var(--text-muted);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.workspace-dialog-field input{border:1px solid #d2d0ce;border-radius:6px;box-sizing:border-box;color:var(--text-strong);font-family:inherit;font-size:14px;outline:none;padding:8px 12px;transition:border-color .15s ease;width:100%}.workspace-dialog-field input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #667eea26}.emoji-picker-grid{display:flex;flex-wrap:wrap;gap:6px}.emoji-picker-btn{align-items:center;background:#0000;border:1px solid var(--border-default);border-radius:8px;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;transition:all .12s ease;width:36px}.emoji-picker-btn:hover{background:var(--surface-sunken);border-color:#d2d0ce}.emoji-picker-btn.selected{background:#f0f0ff;border-color:var(--brand-primary);box-shadow:0 0 0 2px #667eea26}.workspace-dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:24px}.workspace-dialog-actions button{border-radius:6px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:8px 20px;transition:all .15s ease}.workspace-dialog .btn-cancel{background:var(--surface-card);border:1px solid #d2d0ce;color:var(--text-muted)}.workspace-dialog .btn-cancel:hover{background:var(--surface-sunken)}.btn-primary-ws{background:var(--gradient-brand);border:none;color:var(--text-on-brand)}.btn-primary-ws:hover{box-shadow:0 4px 12px #667eea4d}.btn-primary-ws:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.feature-card-ws{position:relative}.card-workspace-pin{align-items:center;background:#ffffffe6;border:none;border-radius:6px;box-shadow:0 1px 4px #0000001a;color:#a19f9d;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:all .15s ease;width:28px;z-index:2}.feature-card-ws:hover .card-workspace-pin{opacity:1}.card-workspace-pin:hover{background:var(--surface-card);box-shadow:0 2px 8px #00000026;color:var(--brand-primary)}.card-workspace-remove{align-items:center;background:#d134381a;border:none;border-radius:50%;color:#d13438;cursor:pointer;display:flex;font-family:inherit;font-size:12px;height:24px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:all .15s ease;width:24px;z-index:2}.feature-card-ws:hover .card-workspace-remove{opacity:1}.card-workspace-remove:hover{background:#d1343833}.workspace-popover{animation:contextMenuFadeIn .12s ease-out;background:var(--surface-card);border-radius:10px;box-shadow:0 8px 24px #00000026,0 1px 4px #00000014;max-width:280px;min-width:220px;padding:8px 0;position:fixed;z-index:200}.workspace-popover-header{color:#a19f9d;font-size:11px;font-weight:600;letter-spacing:.05em;padding:8px 16px 4px;text-transform:uppercase}.workspace-popover-item{align-items:center;background:#0000;border:none;color:#323130;cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:10px;padding:8px 16px;text-align:left;transition:background .1s ease;width:100%}.workspace-popover-item:hover{background:var(--surface-sunken)}.workspace-popover-item.disabled{cursor:default;opacity:.5}.workspace-popover-item.disabled:hover{background:#0000}.workspace-popover-check{align-items:center;border:1.5px solid #d2d0ce;border-radius:4px;color:#fff;display:flex;flex-shrink:0;font-size:11px;height:18px;justify-content:center;transition:all .12s ease;width:18px}.workspace-popover-check.checked{background:var(--brand-primary);border-color:var(--brand-primary)}.workspace-popover-ws-icon{flex-shrink:0;font-size:14px}.workspace-popover-ws-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-empty-state{color:#a19f9d;grid-column:1/-1;padding:48px 24px;text-align:center}.workspace-empty-state p{font-size:15px;margin:0 0 8px}.workspace-empty-state p:first-child{color:var(--text-muted);font-size:17px;font-weight:500}@media (max-width:768px){.workspace-tab{font-size:13px;padding:8px 12px}.workspace-tab-settings{display:none!important}.workspace-dialog{padding:20px;width:95vw}.card-workspace-pin,.card-workspace-remove{opacity:1}}@media (max-width:480px){.workspace-tab-bar{margin-bottom:12px}.workspace-tab{font-size:12px;gap:4px;padding:6px 10px}.workspace-tab-icon{font-size:14px}}.test-dashboard-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.test-dashboard-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:1400px;width:95%}.test-dashboard-header{align-items:center;background:var(--gradient-brand);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 30px}.test-dashboard-header h2{font-size:22px;font-weight:600;margin:0}.btn-close-dashboard{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:all .2s;width:36px}.btn-close-dashboard:hover{background:#ffffff4d;transform:rotate(90deg)}.test-dashboard-body{flex:1 1;overflow-y:auto;padding:24px}.test-dashboard-tabs{border-bottom:2px solid var(--border-default);display:flex;gap:8px;margin-bottom:24px;padding-bottom:0}.dashboard-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-muted);cursor:pointer;font-size:15px;font-weight:500;padding:12px 24px;position:relative;top:2px;transition:all .2s}.dashboard-tab.active,.dashboard-tab:hover{background:rgba(var(--brand-primary-rgb),.05);color:var(--brand-primary)}.dashboard-tab.active{border-bottom-color:var(--brand-primary)}.test-info-card-compact{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-sunken) 100%);border:2px solid var(--border-default);border-radius:8px;margin-bottom:24px;padding:16px 24px}.test-info-line{align-items:center;color:var(--text-strong);display:flex;flex-wrap:wrap;font-size:14px;gap:16px;line-height:1.6}.test-info-item{align-items:center;display:flex;gap:6px}.test-info-separator{color:var(--text-faint);font-weight:700}.test-metrics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.metric-card{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:8px;gap:12px;padding:16px}.metric-card:hover{box-shadow:0 4px 12px #0000001a}.metric-icon{background:rgba(var(--brand-primary-rgb),.1);font-size:28px;height:48px;width:48px}.metric-value{font-size:24px}.question-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:24px}.question-chart-card{background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:16px;text-align:center;transition:all .2s}.question-chart-card:hover{box-shadow:0 4px 12px #0000001a}.question-chart-card h6{color:var(--text-strong);font-size:14px;font-weight:600;margin:0 0 12px}.donut-chart{margin-bottom:12px}.circular-chart{display:block;margin:0 auto;max-height:120px;max-width:120px}.circle{fill:none;stroke-width:2.8}.circle.correct{stroke:#2ca32c}.circle.wrong{stroke:#d42b2c}.circle.not-attempted{stroke:#789}.percentage{fill:#111827;text-anchor:middle;font-family:sans-serif;font-size:.5em;font-weight:700}.question-stats{display:flex;flex-direction:column;font-size:12px;gap:6px}.question-stats .stat{align-items:center;display:flex;gap:6px;justify-content:center}.stat-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.stat.correct .stat-dot{background:#2ca32c}.stat.wrong .stat-dot{background:#d42b2c}.stat.not-attempted .stat-dot{background:#789}.pagination-controls{align-items:center;border-top:1px solid var(--border-default);display:flex;gap:16px;justify-content:center;margin-top:16px;padding:16px 0}.pagination-info{color:var(--text-muted);font-size:14px}.student-performance-tab .analytics-table{font-size:14px}.status-badge{border-radius:12px;display:inline-block;font-size:12px}.status-completed{background:var(--status-success-bg);color:var(--status-success-text)}.status-in-progress{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-not-started{background:var(--surface-sunken);color:var(--text-body)}.score-badge{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;padding:4px 12px}.score-good{background:var(--status-success-bg);color:var(--status-success-text)}.score-average{background:var(--status-warning-bg);color:var(--status-warning-text)}.score-poor{background:var(--status-danger-bg);color:var(--status-danger)}.analytics-loading{color:var(--text-muted);padding:80px 20px}.analytics-loading p{font-size:15px}@media (max-width:768px){.test-dashboard-modal{border-radius:0;max-height:100vh;max-width:100%;width:100%}.test-dashboard-header{border-radius:0}.question-charts-grid,.test-metrics-grid{grid-template-columns:repeat(2,1fr)}.test-dashboard-tabs{overflow-x:auto}.dashboard-tab{font-size:13px;padding:10px 16px;white-space:nowrap}}@media (max-width:480px){.question-charts-grid,.test-metrics-grid{grid-template-columns:1fr}}.modal-dialog.step-analytics-modal{height:95vh!important;margin:2.5vh auto!important;max-width:95vw!important;width:95vw!important}.modal-dialog.step-analytics-modal .modal-content{border:none!important;border-radius:16px!important;box-shadow:0 25px 50px -12px #0006!important;display:flex!important;flex-direction:column!important;height:95vh!important;overflow:hidden!important}.modal-dialog.step-analytics-modal .modal-header{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%)!important;border-bottom:none!important;border-radius:16px 16px 0 0!important;color:#fff!important;flex-shrink:0!important;padding:1.5rem 2.5rem!important}.modal-dialog.step-analytics-modal .modal-title{color:#fff!important;font-size:2rem!important;font-weight:700!important}.modal-dialog.step-analytics-modal .modal-title .step-name{font-size:1.6rem!important;font-weight:400!important;opacity:.95!important}.modal-dialog.step-analytics-modal .modal-body{background:var(--surface-page)!important;flex:1 1!important;min-height:0!important;overflow-y:auto!important;padding:0!important}.modal-dialog.step-analytics-modal .modal-footer{background:#fff!important;border-top:2px solid var(--border-default)!important;flex-shrink:0!important;padding:1.25rem 2.5rem!important}.analytics-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.analytics-loading p{color:var(--text-muted);font-size:14px;margin-top:16px}.analytics-tabs{background:var(--surface-page);border-bottom:2px solid var(--border-default);display:flex;position:sticky;top:0;z-index:10}.analytics-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:18px 32px;transition:all .2s}.analytics-tab:hover{background:var(--surface-sunken);color:var(--text-body)}.analytics-tab.active{background:#fff;border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.analytics-tab-content{margin:0 auto;max-width:1600px;padding:32px}.analytics-card{border:1px solid var(--border-default);border-radius:16px;box-shadow:0 1px 3px 0 #0000000d;margin-bottom:28px;padding:28px}.analytics-card.step-info-compact{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-sunken) 100%);border:2px solid var(--border-default);margin-bottom:24px;padding:20px 28px}.step-info-line{align-items:center;color:var(--text-strong);display:flex;flex-wrap:wrap;font-size:15px;gap:16px;line-height:1.6}.step-info-item strong{color:var(--text-body);font-weight:700;margin-right:6px}.step-info-separator{color:var(--text-faint);font-weight:600}.status-badge-inline{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;margin-left:6px;padding:4px 12px}.status-badge-inline.active{background:var(--status-success-bg);color:var(--status-success-text)}.status-badge-inline.inactive{background:var(--status-danger-bg);color:var(--status-danger)}.analytics-card h5{border-bottom:2px solid var(--border-default);color:var(--text-strong);font-size:20px;font-weight:700;margin-bottom:24px;padding-bottom:16px}.analytics-card h6{color:var(--text-body);font-size:16px;font-weight:600;margin-bottom:16px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.info-item{display:flex;flex-direction:column;gap:6px}.info-label{font-size:13px}.info-value{font-weight:600}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.metric-card{align-items:flex-start;background:var(--surface-page);border:2px solid var(--border-default);border-radius:12px;display:flex;gap:16px;padding:24px;transition:all .2s}.metric-card:hover{background:var(--surface-sunken);border-color:var(--brand-primary);box-shadow:0 8px 16px -4px #3b82f626;transform:translateY(-2px)}.metric-icon{font-size:32px;line-height:1}.metric-content{flex:1 1}.metric-label{font-size:13px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.metric-value{font-size:36px;line-height:1.1}.metric-subtitle{color:var(--text-faint);font-size:13px;font-weight:500;margin-top:6px}.trends-grid{grid-gap:12px;display:grid;gap:12px;margin-bottom:20px}.trend-item{align-items:center;background:var(--surface-page);border-radius:6px;display:flex;justify-content:space-between;padding:12px}.trend-label{color:var(--text-muted);font-size:13px;font-weight:500}.trend-value{color:var(--text-strong);font-size:13px;font-weight:600}.trend-badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px}.trend-badge.trend-up{background:var(--status-success-bg);color:var(--status-success-text)}.trend-badge.trend-down{background:var(--status-danger-bg);color:var(--status-danger)}.trend-badge.trend-stable{background:var(--status-info-bg);color:var(--brand-primary-active)}.activity-timeline{margin-top:16px}.activity-timeline table{font-size:13px}.activity-timeline thead th{background:var(--surface-page);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.phase-summary-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.phase-summary-card{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;padding:16px}.phase-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:8px;margin-bottom:12px;padding-bottom:8px}.phase-icon{font-size:20px}.phase-name{color:var(--text-body);font-size:13px;font-weight:600}.phase-stats{grid-gap:8px;display:grid;gap:8px}.phase-stat{align-items:center;display:flex;font-size:12px;justify-content:space-between}.phase-stat .stat-label{color:var(--text-muted)}.phase-stat .stat-value{color:var(--text-strong);font-weight:600}.phase-selector{background:var(--surface-page);border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:20px}.phase-btn{background:#fff;border:2px solid var(--border-default);border-radius:8px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 20px;transition:all .2s}.phase-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.phase-btn.active{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border-color:var(--brand-primary);color:#fff}.analytics-table{font-size:13px;margin-bottom:0}.analytics-table thead th{background:var(--surface-page);border-bottom:2px solid var(--border-default);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px;text-transform:uppercase}.analytics-table tbody td{border-bottom:1px solid var(--border-subtle);padding:12px;vertical-align:middle}.analytics-table tbody tr:hover{background:var(--surface-page)}.analytics-table tbody tr:last-child td{border-bottom:none}.phase-badge,.score-badge,.status-badge,.type-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.type-badge{background:var(--status-info-bg);color:var(--brand-primary-active)}.phase-badge{background:var(--brand-primary-subtle);color:var(--brand-primary-hover)}.status-badge.status-active{background:var(--status-success-bg);color:var(--status-success-text)}.status-badge.status-moderate{background:var(--status-warning-bg);color:var(--status-warning-text)}.status-badge.status-inactive{background:var(--status-danger-bg);color:var(--status-danger)}.score-badge.score-good{background:var(--status-success-bg);color:var(--status-success-text)}.score-badge.score-average{background:var(--status-warning-bg);color:var(--status-warning-text)}.score-badge.score-poor{background:var(--status-danger-bg);color:var(--status-danger)}.progress-container{background:var(--surface-sunken);border-radius:4px;height:24px;overflow:hidden;position:relative}.modal-dialog.step-analytics-modal .progress-bar{background:linear-gradient(90deg,var(--brand-primary) 0,var(--brand-primary) 100%);height:100%;transition:width .3s ease}.progress-label{color:var(--text-strong);font-size:11px;font-weight:600;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.effectiveness-rating{display:flex;gap:2px}.star{filter:grayscale(100%);font-size:14px;opacity:.3}.star.filled{filter:grayscale(0);opacity:1}.students-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.summary-card{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:12px;display:flex;gap:16px;padding:20px}.summary-card.alert-card{background:var(--status-danger-bg);border-color:var(--status-danger-border)}.summary-icon{font-size:32px}.summary-content{flex:1 1}.summary-label{font-weight:500}.summary-value{font-size:28px}.students-controls{background:var(--surface-page);border-radius:8px;display:flex;gap:16px;margin-bottom:24px;padding:16px}.modal-dialog.step-analytics-modal .filter-group{display:flex;flex:1 1;flex-direction:column;gap:8px}.modal-dialog.step-analytics-modal .filter-group label{color:var(--text-body);font-size:12px;font-weight:600;margin:0}.filter-group .form-control{font-size:13px}.at-risk-row{background:var(--status-danger-bg)!important}.at-risk-badge{font-size:16px;margin-left:8px}.completion-pct{color:var(--text-muted);font-size:11px}.tests-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.tests-controls{background:var(--surface-page);border-radius:8px;margin-bottom:24px;padding:16px}.performance-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.performance-card{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;padding:16px}.performance-card h6{border-bottom:1px solid var(--border-default);color:var(--text-strong);font-size:14px;font-weight:600;margin-bottom:12px;padding-bottom:8px}.performance-metrics{gap:12px}.perf-metric,.performance-metrics{display:flex;flex-direction:column}.perf-metric{gap:4px}.perf-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.perf-value{color:var(--text-strong);font-size:13px;font-weight:600}.perf-bar{background:var(--surface-sunken);border-radius:4px;height:8px;margin-top:4px;overflow:hidden}.perf-bar-fill{background:linear-gradient(90deg,var(--brand-primary) 0,var(--brand-primary) 100%);height:100%;transition:width .3s ease}.score-range{align-items:center;display:flex;gap:8px;margin-top:4px}.range-label{color:var(--text-faint);font-size:10px;font-weight:600}.range-bar{background:var(--surface-sunken);border-radius:6px;flex:1 1;height:12px;position:relative}.range-fill{background:linear-gradient(90deg,#fbbf24 0,var(--status-success) 100%);border-radius:6px;height:100%;position:absolute;top:0}.range-avg{background:var(--status-danger);border-radius:2px;height:16px;position:absolute;top:-2px;transform:translateX(-2px);width:4px}.pass-fail-bar{border-radius:6px;display:flex;font-size:11px;font-weight:600;height:32px;margin-top:4px;overflow:hidden}.pass-section{background:var(--status-success)}.fail-section,.pass-section{align-items:center;color:#fff;display:flex;justify-content:center;transition:width .3s ease}.fail-section{background:var(--status-danger)}.analytics-card.alert-card{background:var(--status-danger-bg);border-color:var(--status-danger-border)}.analytics-card.alert-card h5{color:var(--status-danger)}.analytics-card.alert-card ul{margin-top:12px;padding-left:20px}.analytics-card.alert-card li{color:var(--status-danger-text);margin-bottom:8px}@media (max-width:768px){.metrics-grid,.phase-summary-grid,.students-summary,.tests-summary{grid-template-columns:1fr}.phase-selector,.students-controls{flex-direction:column}.analytics-tab{font-size:12px;padding:12px 8px}}.lesson-plan .full-height1{height:100vh}.lesson-plan .card-body{overflow:scroll}.lesson-plan .form-control{border:none}.lesson-plan .row{border-bottom:1px solid #dedede}.lesson-plan .col{padding-left:1px;padding-right:1px}.lesson-plan .my-label{padding-top:.5rem}.course-name-wrapper{font-size:14px;margin:5px 0;opacity:.8}.custom-radio .form-check-input{margin-left:-1.55rem;margin-top:-.5rem;position:absolute;z-index:1}.custom-radio{display:flex}.btn-analytics-small{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border:none;border-radius:6px;box-shadow:0 1px 3px 0 #3b82f64d;cursor:pointer;display:inline-flex;font-size:16px;justify-content:center;padding:4px 8px;transition:all .15s ease}.btn-analytics-small:hover{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);box-shadow:0 3px 6px 0 #3b82f666;transform:translateY(-1px)}.btn-analytics-small:active{box-shadow:0 1px 3px 0 #3b82f64d;transform:translateY(0)}.btn-change-status{background:#0000;border:1px solid #6b7280;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 8px;transition:all .15s ease}.btn-change-status:hover{background:#6b7280;color:#fff}.status-dropdown{background:#fff;border:1px solid var(--border-default);border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;min-width:140px;position:absolute;top:100%;z-index:1000}.status-option{cursor:pointer;font-size:13px;padding:8px 12px;transition:background .1s ease;white-space:nowrap}.status-option:first-child{border-radius:6px 6px 0 0}.status-option:last-child{border-radius:0 0 6px 6px}.status-option:hover{background:var(--surface-sunken)}.status-option.active{background:var(--status-info-bg);font-weight:500}.step-locked{background-color:var(--status-danger-bg);opacity:.6}.btn-request-access{background:#0000;border:1px solid var(--status-warning);border-radius:4px;color:var(--status-warning);cursor:pointer;font-size:.7rem;padding:2px 6px;transition:all .15s ease;white-space:nowrap}.btn-request-access:hover{background:var(--status-warning);color:#fff}.lock-badge{background:var(--status-danger);border-radius:10px;color:#fff;display:inline-block;font-size:.65rem;margin-left:6px;padding:1px 6px;vertical-align:middle}.access-badge{align-items:center;border-radius:4px;display:inline-flex;flex-direction:column;font-size:.65rem;line-height:1.3;padding:2px 8px;text-align:center;white-space:nowrap}.access-badge-time{font-size:.55rem;margin-top:1px;opacity:.75}.access-badge-pending{background:var(--status-warning-bg);border:1px solid var(--status-warning);color:var(--status-warning-text)}.access-badge-approved{border:1px solid var(--status-success)}.access-badge-approved,.access-badge-approved-inline{background:var(--status-success-bg);color:var(--status-success-text)}.access-badge-approved-inline{border:1px solid var(--status-success);border-radius:10px;display:inline-block;font-size:.6rem;margin-left:6px;padding:1px 6px;vertical-align:middle}.access-badge-rejected{background:var(--status-danger-bg);border:1px solid var(--status-danger);color:var(--status-danger)}.access-badge-remarks{color:var(--text-muted);display:block;font-size:.55rem;margin-top:2px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-rejected-group{align-items:center;display:flex;flex-direction:column;gap:2px}.btn-request-access-sm{font-size:.6rem;margin-top:2px;padding:1px 4px}.step-analytics-page{background:var(--surface-sunken);display:flex;flex-direction:column;min-height:100vh}.analytics-page-header{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);box-shadow:0 4px 6px -1px #0000001a;color:#fff;padding:1.5rem 2rem;position:sticky;top:0;z-index:100}.step-analytics-page .header-content{align-items:center;display:flex;gap:1.5rem;margin:0 auto;max-width:1600px}.btn-back{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.btn-back:hover{background:#ffffff4d;transform:translateX(-2px)}.page-title{flex:1 1;font-size:1.75rem}.analytics-page-body{flex:1 1;margin:0 auto;max-width:1600px;padding:2rem;width:100%}.analytics-loading-page{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:100px 20px;text-align:center}.analytics-loading-page p{color:var(--text-muted);font-size:16px;margin-top:16px}.analytics-error-page{margin:0 auto;max-width:600px;padding:40px 20px}.analytics-page-tabs{background:#fff;border-radius:12px;box-shadow:0 1px 3px 0 #0000001a;display:flex;gap:8px;margin-bottom:2rem;padding:8px}.analytics-page-tab{background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:16px 24px;transition:all .2s}.analytics-page-tab:hover{background:var(--surface-sunken);color:var(--text-body)}.analytics-page-tab.active{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);box-shadow:0 4px 6px -1px #3b82f64d;color:#fff}.analytics-page-content{background:#0000}@media (max-width:768px){.analytics-page-header{padding:1rem}.header-content{align-items:flex-start;flex-direction:column;gap:1rem}.page-title{font-size:1.25rem}.analytics-page-body{padding:1rem}.analytics-page-tabs{flex-direction:column}.analytics-page-tab{padding:12px 16px}}:root{--bg:#f8f9fc;--panel:#fff;--panel2:#fafbfc;--text:var(--text-strong);--muted:#475569;--line:#6b728026;--good:var(--status-success);--warn:var(--status-warning);--bad:var(--status-danger);--accent2:#764ba2;--chip:#f3f4f6;--shadow:0 4px 20px #00000014;--radius:12px;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}.class-review-dashboard,.class-review-dashboard *{color:inherit}.class-review-dashboard *{box-sizing:border-box}.class-review-dashboard{background:linear-gradient(135deg,#f8f9fc 0,var(--surface-page) 100%);color:var(--text-strong)!important;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;font-family:var(--sans);margin:0;min-height:100vh}.class-review-dashboard div,.class-review-dashboard h1,.class-review-dashboard h2,.class-review-dashboard h3,.class-review-dashboard h4,.class-review-dashboard label,.class-review-dashboard p,.class-review-dashboard span{color:inherit}.class-review-dashboard .app{margin:0 auto;max-width:1220px;padding:22px}.class-review-dashboard .topbar{align-items:center;background:var(--gradient-brand);border:none;border-radius:12px;box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow);color:#fff;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;padding:16px 24px}.class-review-dashboard .titlewrap{align-items:center;display:flex;flex-shrink:1;gap:12px;min-width:0}.class-review-dashboard .fc-icon{background:#fff3;border:1px solid #ffffff4d;border-radius:12px;color:#fff;display:grid;font-weight:800;height:44px;letter-spacing:.2px;place-items:center;width:44px}.class-review-dashboard .topbar h1{color:#fff!important;font-size:16px;font-weight:800;margin:0;white-space:nowrap}.class-review-dashboard .topbar .subtitle{color:#ffffffd9!important;font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-review-dashboard .actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.class-review-dashboard .chip{align-items:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:999px;color:#fff;cursor:default;display:flex;font-size:12px;gap:8px;padding:8px 12px;white-space:nowrap}.class-review-dashboard .btn{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:10px 16px;transition:all .2s}.class-review-dashboard .btn:hover{background:#ffffff4d}.class-review-dashboard .btn.secondary{background:#ffffff1a;border-color:#fff3}.class-review-dashboard .btn.secondary:hover{background:#ffffff26}.class-review-dashboard .btn.grade-ai{background:var(--status-success);border-color:var(--status-success)}.class-review-dashboard .btn.grade-ai:hover{background:var(--status-success)}.class-review-dashboard .layout{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:250px 1fr;margin-top:16px}.class-review-dashboard .side{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow);padding:16px;position:sticky;top:16px}.class-review-dashboard .content{display:flex;flex-direction:column;gap:16px}.class-review-dashboard .navtitle{color:var(--text-body)!important;font-size:11px;font-weight:700;letter-spacing:.5px;margin:2px 8px 12px;text-transform:uppercase}.class-review-dashboard .nav{display:flex;flex-direction:column;gap:6px}.class-review-dashboard .nav button{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:var(--text-strong)!important;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:8px;justify-content:space-between;min-height:42px;padding:10px 12px;text-align:left;transition:all .2s;width:100%}.class-review-dashboard .nav button:hover{background:#f3f4f6;background:var(--chip)}.class-review-dashboard .nav button.active{background:linear-gradient(135deg,rgba(var(--brand-primary-rgb),.1),rgba(var(--brand-accent-rgb),.05));border-color:rgba(var(--brand-primary-rgb),.3);color:var(--brand-primary);color:var(--accent)}.class-review-dashboard .pill{background:#f3f4f6;background:var(--chip);border-radius:999px;color:var(--text-muted)!important;flex-shrink:0;font-size:10px;font-weight:700;padding:4px 8px;white-space:nowrap}.class-review-dashboard .pill,.threshold-list{border:1px solid #6b728026;border:1px solid var(--line)}.threshold-list{border-radius:8px;color:var(--text-body);font-size:11px;line-height:1.6;margin:6px 0 0;padding:10px 10px 10px 26px}.threshold-list li{margin:0}.threshold-list strong{color:var(--text-strong)}.class-review-dashboard .grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}.class-review-dashboard .card{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 20px #00000014;box-shadow:var(--shadow);grid-column:span 12;padding:20px}.class-review-dashboard .card h2{align-items:center;color:var(--text-strong)!important;display:flex;font-size:14px;font-weight:800;gap:10px;justify-content:space-between;letter-spacing:.2px;margin:0}.class-review-dashboard .card h2 .hint{color:var(--text-muted)!important;font-size:11px;font-weight:600}.kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-top:16px}.kpi{background:linear-gradient(135deg,var(--surface-page) 0,#f8f9fc 100%);border:1px solid #6b728026;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:8px;min-height:96px;padding:16px;transition:all .2s}.kpi:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.kpi .label{color:var(--text-muted)!important;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.kpi .value{color:var(--text-strong)!important;font-size:24px;font-weight:900;letter-spacing:.2px}.kpi .sub{color:var(--text-muted)!important;font-size:11px;line-height:1.4}.bar{background:var(--surface-sunken);border:none;border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--gradient-brand);border-radius:999px;display:block;height:100%;width:0}.split{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.2fr .8fr;margin-top:12px}.insights{display:flex;flex-direction:column;gap:10px;margin-top:12px}.insight{align-items:flex-start;background:#fafbfc;background:var(--panel2);border:1px solid #6b728026;border:1px solid var(--line);border-radius:10px;display:flex;gap:12px;padding:12px 14px}.dot{background:var(--brand-primary);background:var(--accent);border-radius:999px;box-shadow:0 0 0 4px #667eea1f;flex-shrink:0;height:10px;margin-top:5px;width:10px}.dot.good{background:var(--status-success);background:var(--good);box-shadow:0 0 0 4px #10b9811f}.dot.warn{background:var(--status-warning);background:var(--warn);box-shadow:0 0 0 4px #f59e0b1f}.dot.bad{background:var(--status-danger);background:var(--bad);box-shadow:0 0 0 4px #ef44441f}.insight .t{color:var(--text-strong)!important;font-size:13px;font-weight:700;margin:0}.insight .d{color:var(--text-body)!important;font-size:12px;line-height:1.5;margin-top:4px}.donut-charts-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:16px}.donut-chart-card{align-items:center;display:flex;flex-direction:column;gap:10px}.donut-svg{height:120px;transform:rotate(-90deg);width:120px}.donut-circle{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease-out}.donut-bg{stroke:#e5e7eb}.donut-correct{stroke:var(--status-success)}.donut-wrong{stroke:var(--status-danger)}.donut-not-attempted{stroke:#9ca3af}.donut-label{color:var(--text-strong)!important;font-size:13px;font-weight:700;text-align:center}.donut-stats{display:flex;flex-direction:column;font-size:11px;gap:4px;width:100%}.donut-stat-row{align-items:center;display:flex;gap:6px;justify-content:center}.donut-stat-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.donut-stat-dot.correct{background:var(--status-success)}.donut-stat-dot.wrong{background:var(--status-danger)}.donut-stat-dot.not-attempted{background:#9ca3af}.donut-stat-text,.donut-summary{color:var(--text-muted)!important;font-weight:600}.donut-summary{font-size:13px;margin-top:8px;padding:12px;text-align:center}.three-phase-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr 1fr}.phase-column{background:#fafbfc;background:var(--panel2);border:2px solid #0000;border-radius:10px;padding:16px}.phase-column.pre{border-color:rgba(var(--brand-primary-rgb),.3)}.phase-column.in{border-color:#10b9814d}.phase-column.post{border-color:#f59e0b4d}.phase-header{border-bottom:2px solid #6b728026;border-bottom:2px solid var(--line);margin-bottom:16px;padding-bottom:12px;text-align:center}.phase-icon{font-size:32px;margin-bottom:8px}.phase-title{color:var(--text-strong)!important;font-size:16px;font-weight:800;margin-bottom:4px}.phase-subtitle{color:var(--text-muted)!important;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.phase-metrics{display:flex;flex-direction:column;gap:12px}.phase-metric{align-items:center;display:flex;justify-content:space-between}.phase-metric-label{color:var(--text-muted)!important;font-size:12px;font-weight:600}.phase-metric-value{color:var(--text-strong)!important;font-size:18px;font-weight:800}.phase-metric-right{align-items:flex-end;display:flex;flex-direction:column}.phase-metric-sub{color:var(--text-faint)!important;font-size:10px;font-weight:500;margin-top:-2px}.baseline-endline-container{grid-gap:40px;align-items:center;display:grid;gap:40px;grid-template-columns:1fr auto 1fr}.baseline-quiz,.endline-quiz{text-align:center}.quiz-donut-large{height:180px;margin:0 auto 12px;width:180px}.quiz-score{color:var(--text-strong)!important;font-size:48px;font-weight:900;line-height:1}.quiz-outof{color:var(--text-muted)!important;font-size:18px;font-weight:600}.quiz-title{color:var(--text-strong)!important;font-size:14px;font-weight:700;text-align:center}.improvement-arrow{background:linear-gradient(135deg,#10b9811a,#10b9810d);border:2px solid #10b9814d;border-radius:10px;padding:20px;text-align:center}.improvement-icon{font-size:40px}.improvement-text{color:var(--status-success);font-size:14px;font-weight:700;text-align:center}.improvement-value{color:var(--status-success);font-size:28px;font-weight:900}.improvement-students{color:var(--text-muted)!important;font-size:11px;margin-top:8px;text-align:center}.class-review-dashboard table{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-collapse:initial;border-radius:10px;border-spacing:0;margin-top:12px;overflow:hidden;width:100%}.class-review-dashboard thead th{background:#fafbfc;background:var(--panel2);border-bottom:2px solid #6b728026;border-bottom:2px solid var(--line);color:var(--text-muted)!important;font-size:11px;font-weight:800;letter-spacing:.5px;padding:12px;position:sticky;text-align:left;text-transform:uppercase;top:0}.class-review-dashboard tbody td{border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);color:var(--text-strong)!important;font-size:13px;font-weight:600;padding:12px;vertical-align:top}.class-review-dashboard tbody tr:hover{background:#f3f4f6;background:var(--chip)}.class-review-dashboard tbody tr{cursor:pointer;transition:all .2s}.class-review-dashboard .tag{align-items:center;background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:999px;color:var(--text-muted)!important;display:inline-flex;font-size:11px;font-weight:700;gap:6px;padding:5px 10px;white-space:nowrap}.class-review-dashboard .tag.good{background:#10b9811a;border-color:#10b9814d;color:var(--status-success)}.class-review-dashboard .tag.warn{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--status-warning)}.class-review-dashboard .tag.bad{background:#ef44441a;border-color:#ef44444d;color:var(--status-danger)}.class-review-dashboard .controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.class-review-dashboard .field{align-items:center;background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:8px;display:flex;flex:1 1 260px;gap:10px;padding:10px 12px}.class-review-dashboard .field label{color:var(--text-muted)!important;font-size:11px;font-weight:700;white-space:nowrap}.class-review-dashboard .field input,.class-review-dashboard .field select{background:#0000;border:none;color:var(--text-strong)!important;font-size:13px;font-weight:600;outline:none;width:100%}.class-review-dashboard .two{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.class-review-dashboard .three{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.class-review-dashboard .hide{display:none}.class-review-dashboard .mono{color:var(--text-muted)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-family:var(--mono);font-size:11px}.class-review-dashboard .row{align-items:center;display:flex;gap:12px;justify-content:space-between;margin:10px 0}.class-review-dashboard .row .name{color:var(--text-strong)!important;font-size:13px;font-weight:700}.class-review-dashboard .row .meta{color:var(--text-muted)!important;font-size:11px}@media (max-width:980px){.three-phase-summary{grid-template-columns:1fr}.baseline-endline-container{gap:20px;grid-template-columns:1fr}.improvement-arrow{transform:rotate(90deg)}.layout{grid-template-columns:1fr}.side{position:relative;top:0}.kpis{grid-template-columns:1fr 1fr}.split,.three,.two{grid-template-columns:1fr}}@media (max-width:560px){.actions{justify-content:flex-start}.kpis{grid-template-columns:1fr}}.pdf-section{margin:10px 0}.pdf-resource-row{background:#fafbfc;background:var(--panel2);border:1px solid #6b728026;border:1px solid var(--line);border-radius:8px;margin:6px 0;padding:10px 12px}.pdf-resource-row:hover{background:#f0f4ff;border-color:var(--accent)}.pdf-name{color:var(--text-strong);color:var(--text);font-size:13px;font-weight:600;margin-bottom:4px}.pdf-meta{color:#475569;color:var(--muted);font-size:11px;margin-bottom:8px}.pdf-resource-row .bar{background:#6b728026;background:var(--line);border-radius:3px;height:6px;overflow:hidden}.pdf-resource-row .bar span{background:linear-gradient(90deg,var(--brand-primary),#764ba2);background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:3px;display:block;height:100%;transition:width .3s ease}.warning-tag{background:var(--status-warning-bg);border-radius:4px;color:var(--status-warning);color:var(--warn);display:inline-block;font-size:11px;font-weight:500;margin-top:6px;padding:3px 8px}.info-icon{align-items:center;background:var(--brand-primary-subtle);border-radius:50%;color:var(--brand-primary);color:var(--accent);cursor:pointer;display:inline-flex;font-size:10px;height:16px;justify-content:center;margin-left:6px;transition:all .2s;vertical-align:middle;width:16px}.info-icon:hover{background:var(--brand-primary);background:var(--accent);color:#fff;transform:scale(1.1)}.class-review-dashboard .btn-generate-ai{align-items:center;background:linear-gradient(135deg,var(--brand-accent),#a855f7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:all .2s;white-space:nowrap}.class-review-dashboard .btn-generate-ai:hover:not(:disabled){background:linear-gradient(135deg,var(--brand-accent),#9333ea);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-1px)}.class-review-dashboard .btn-generate-ai:disabled{cursor:not-allowed;opacity:.6;transform:none}.class-review-dashboard .btn-generate-ai .spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.class-review-dashboard .ai-error-message{align-items:center;background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:8px;color:var(--status-danger);display:flex;font-size:13px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.class-review-dashboard .ai-assessment{background:linear-gradient(135deg,var(--brand-primary-subtle),var(--brand-primary-subtle));border-left:3px solid var(--brand-accent);border-radius:8px;color:#5b21b6;font-size:13px;margin-bottom:12px;padding:12px 14px}.class-review-dashboard .ai-assessment strong{color:var(--brand-accent);margin-right:6px}.class-review-dashboard .insight.ai-insight{background:linear-gradient(135deg,#faf5ff 0,var(--brand-primary-subtle) 100%);border-left:3px solid var(--brand-accent);position:relative}.class-review-dashboard .insight.ai-insight.priority-high{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border-left-color:var(--status-warning)}.class-review-dashboard .insight.ai-insight.priority-medium{border-left-color:var(--brand-accent)}.class-review-dashboard .insight.ai-insight.priority-low{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);border-left-color:var(--status-success)}.class-review-dashboard .insight .time-badge{background:rgba(var(--brand-accent-rgb),.15);border-radius:12px;color:var(--brand-accent);display:inline-block;font-size:11px;font-weight:500;margin-left:8px;padding:2px 8px;vertical-align:middle}.class-review-dashboard .insight.priority-high .time-badge{background:#f59e0b26;color:var(--status-warning-text)}.class-review-dashboard .dot.info{background-color:var(--brand-accent)}.in-class-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.in-class-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-in-class{border:1px solid #6b728026;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:all .2s}.btn-in-class.flash{background:var(--gradient-brand);border-color:#0000;color:#fff}.btn-in-class.flash:hover{opacity:.9;transform:translateY(-1px)}.btn-in-class.tracker{background:linear-gradient(135deg,var(--status-success),var(--status-success));border-color:#0000;color:#fff}.btn-in-class.tracker:hover{opacity:.9;transform:translateY(-1px)}.btn-in-class.tracker.active{background:var(--brand-primary);background:var(--accent);border-color:var(--accent);color:#fff}.btn-in-class.btn-form-groups{background:linear-gradient(135deg,var(--status-warning) 0,var(--status-danger) 100%);border-color:#0000;box-shadow:0 2px 8px #ef444440;color:var(--text-on-brand)}.btn-in-class.btn-form-groups:hover{box-shadow:0 4px 14px #ef444459;transform:translateY(-1px)}.btn-in-class.btn-case-discussion{background:linear-gradient(135deg,var(--brand-accent) 0,#ec4899 100%);border-color:#0000;box-shadow:0 2px 8px #6d28d94d;color:var(--text-on-brand)}.btn-in-class.btn-case-discussion:hover{box-shadow:0 4px 16px #6d28d973;transform:translateY(-1px)}.engagement-tracker{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:10px;isolation:isolate;margin-top:8px;padding:16px}.engagement-tracker .name-cell span{background:#0000!important;border:none!important;border-radius:0!important;display:block;padding:0!important}.engagement-tracker-loading{color:#475569;color:var(--muted);padding:20px;text-align:center}.engagement-header{align-items:center;border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.engagement-title h3{font-size:14px;font-weight:700;margin:0}.engagement-status{color:#475569;color:var(--muted);font-size:11px;margin-top:4px}.saving-indicator{color:var(--brand-primary);color:var(--accent)}.saved-indicator{color:var(--status-success);color:var(--good)}.engagement-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-engagement{background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:5px;color:var(--text-strong);color:var(--text);cursor:pointer;font-size:11px;font-weight:600;padding:6px 12px;transition:all .2s}.btn-engagement:hover{background:var(--surface-sunken)}.btn-engagement:disabled{cursor:not-allowed;opacity:.5}.btn-engagement.flash{background:var(--gradient-brand);border-color:#0000;color:#fff}.btn-engagement.quiz{background:var(--status-success);background:var(--good);border-color:#0000;color:#fff}.btn-engagement.save{background:var(--brand-primary);background:var(--accent);border-color:#0000;color:#fff}.autosave-toggle{align-items:center;color:#475569;color:var(--muted);cursor:pointer;display:flex;font-size:11px;gap:4px}.autosave-toggle input{cursor:pointer}.engagement-error{align-items:center;background:#ef44441a;border-radius:6px;display:flex;font-size:12px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.engagement-error,.engagement-error button{color:var(--status-danger);color:var(--bad)}.engagement-error button{background:none;border:none;cursor:pointer;font-size:11px;font-weight:600}.engagement-filters{display:flex;gap:10px;margin-bottom:12px}.class-review-dashboard .search-input{border:1px solid #6b728026;border:1px solid var(--line);border-radius:6px;flex:1 1;font-size:12px;padding:8px 12px}.class-review-dashboard .search-input:focus{border-color:var(--accent);outline:none}.class-review-dashboard .filter-select{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:6px;cursor:pointer;font-size:12px;padding:8px 12px}.engagement-table-wrapper{max-height:400px;overflow-x:auto;overflow-y:auto}.engagement-table{border-collapse:collapse;font-size:12px;width:100%}.engagement-table thead{background:#fff;position:sticky;top:0;z-index:1}.engagement-table th{border-bottom:2px solid #6b728026;border-bottom:2px solid var(--line);color:#475569;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.3px;padding:8px 10px;text-align:left;text-transform:uppercase}.engagement-table td{background:#fff;border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);padding:8px 10px}.engagement-table .col-center{text-align:center}.engagement-table .student-row{background:#fff}.engagement-table .student-row:hover,.engagement-table .student-row:hover td{background:var(--surface-page)}.engagement-table .student-name{background:#fff!important;min-width:180px}.engagement-table .name-cell{background:#0000!important;display:flex;flex-direction:column}.engagement-table .name-cell .name{color:var(--text-strong)!important;font-weight:600}.engagement-table .name-cell .id,.engagement-table .name-cell .name{background:#0000!important;border:none!important;border-radius:0!important;padding:0!important}.engagement-table .name-cell .id{color:var(--text-muted)!important;font-size:10px}.hands-up-group{gap:4px}.hands-up-btn,.hands-up-group{align-items:center;display:inline-flex}.hands-up-btn{background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:4px;cursor:pointer;justify-content:center;min-width:32px;padding:4px 8px;transition:all .15s}.hands-up-btn:hover{background:rgba(var(--brand-primary-rgb),.1);border-color:var(--accent)}.hands-up-btn:active{transform:scale(.95)}.hands-up-btn:disabled{cursor:default;opacity:.35}.hands-up-btn:disabled:hover{background:#f3f4f6;background:var(--chip);border-color:#6b728026;border-color:var(--line)}.hands-icon{color:var(--brand-primary);color:var(--accent);font-size:14px;font-weight:700;line-height:1}.hands-up-group>.hands-count{font-weight:600;min-width:20px;text-align:center}.poll-score{color:#475569;color:var(--muted);font-weight:500}.participation-select,.role-select{background:#fff;border:1px solid #6b728026;border:1px solid var(--line);border-radius:4px;cursor:pointer;font-size:11px;max-width:120px;padding:5px 8px;width:100%}.participation-select:focus,.role-select:focus{border-color:var(--accent);outline:none}.participation-select.level-high{background:#10b9811a;border-color:var(--good)}.participation-select.level-medium{background:#f59e0b1a;border-color:var(--warn)}.participation-select.level-low{background:#ef44441a;border-color:var(--bad)}.no-students{color:#475569;color:var(--muted);font-size:13px;padding:20px;text-align:center}.flash-quiz-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.flash-quiz-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;color:var(--text-strong);display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:90%}.flash-quiz-modal .flash-quiz-header{align-items:center;background:var(--gradient-brand);border-bottom:1px solid #6b728026;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.flash-quiz-header h2{color:#fff;font-size:16px;font-weight:700;margin:0}.flash-quiz-header .close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;width:28px}.flash-quiz-header .close-btn:hover{background:#ffffff4d}.flash-quiz-error{align-items:center;background:#ef44441a;color:var(--status-danger);display:flex;font-size:12px;justify-content:space-between;padding:10px 16px}.flash-quiz-error button{background:none;border:none;color:var(--status-danger);cursor:pointer;font-weight:600}.flash-quiz-content{flex:1 1;overflow-y:auto;padding:16px 20px}.flash-quiz-content .loading,.no-questions{color:var(--text-body);padding:40px;text-align:center}.no-questions p{margin:8px 0}.quiz-info{align-items:center;border-bottom:1px solid #6b728026;display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.quiz-name{color:var(--text-strong);font-weight:600}.history-btn{border:1px solid #6b728026;border-radius:4px;cursor:pointer;font-size:11px;padding:6px 12px}.history-btn,.history-btn:hover{background:var(--surface-sunken)}.question-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.question-card{border:2px solid #6b728026;border-radius:8px;cursor:pointer;padding:12px 14px;transition:all .15s}.question-card:hover{background:rgba(var(--brand-primary-rgb),.03);border-color:var(--brand-primary)}.question-card.selected{background:rgba(var(--brand-primary-rgb),.08);border-color:var(--brand-primary)}.question-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.question-num{background:var(--brand-primary);border-radius:4px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px}.question-concept{color:var(--text-body);flex:1 1;font-size:11px}.question-stat{border-radius:10px;font-size:10px;font-weight:600;padding:2px 6px}.question-stat.low{background:#ef444426;color:var(--status-danger)}.question-stat.medium{background:#f59e0b26;color:var(--status-warning-text)}.question-stat.high{background:#10b98126;color:var(--status-success)}.question-text{color:var(--text-strong);font-size:13px;line-height:1.4;margin-bottom:8px}.question-options{display:flex;flex-wrap:wrap;gap:6px}.option-preview{background:var(--surface-sunken);border-radius:3px;color:var(--text-body);font-size:10px;padding:2px 6px}.flash-settings{border-top:1px solid #6b728026;margin-top:16px;padding-top:16px}.flash-settings label{align-items:center;color:var(--text-strong);display:flex;font-size:12px;gap:10px}.flash-settings select{background-color:var(--surface-card);border:1px solid var(--border-strong);border-radius:4px;color:var(--text-strong);font-size:12px;padding:6px 10px}.flash-actions{border-top:1px solid #6b728026;display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:16px}.class-review-dashboard .cancel-btn{background:#fff;border:1px solid #6b728026;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px}.cancel-btn:hover{background:var(--surface-sunken)}.flash-btn{background:var(--gradient-brand);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px;transition:all .2s}.flash-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.flash-btn:disabled{cursor:not-allowed;opacity:.5}.flash-quiz-content.active-session{text-align:center}.flash-quiz-content .session-timer{margin-bottom:12px}.flash-quiz-content .session-timer .time{color:var(--text-strong);font-size:36px;font-weight:700}.flash-quiz-content .session-timer .time.urgent{animation:pulse 1s infinite;color:var(--status-danger)}.flash-quiz-content .session-timer .timer-label{color:var(--text-body);display:block;font-size:11px;margin-top:2px}.flash-quiz-content .active-question{background:var(--surface-page);border-radius:8px;margin-bottom:14px;padding:14px}.flash-quiz-content .active-question .question-text{color:var(--text-strong);font-size:14px;margin-bottom:6px}.flash-quiz-content .active-question .question-concept{color:var(--text-body);font-size:11px}.flash-quiz-content .live-stats{margin-bottom:14px;text-align:left}.flash-quiz-content .stat-row{align-items:center;border-bottom:1px solid #6b728026;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.flash-quiz-content .stat-label{color:var(--text-body);font-size:13px}.flash-quiz-content .stat-value{color:var(--text-strong);font-size:14px;font-weight:600}.flash-quiz-content .options-results{margin-top:12px}.flash-quiz-content .option-result{align-items:center;background:var(--surface-page);border:1px solid #6b72801f;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 10px;margin-bottom:6px;padding:10px 12px}.flash-quiz-content .option-letter{align-items:center;background:#e8eaf6;border-radius:50%;color:var(--brand-primary);display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.flash-quiz-content .option-result .option-text{color:var(--text-strong);flex:1 1;font-size:13px;min-width:0;text-align:left}.flash-quiz-content .option-bar{background:var(--surface-sunken);border-radius:3px;flex-basis:100%;height:6px;margin-left:38px;overflow:hidden}.flash-quiz-content .bar-fill{background:var(--brand-primary);border-radius:3px;height:100%;transition:width .3s ease}.flash-quiz-content .bar-fill.correct{background:var(--status-success)}.flash-quiz-content .option-count{color:var(--text-body);font-size:12px;font-weight:600;text-align:right;width:30px}.flash-quiz-content .session-actions{margin-top:16px}.flash-quiz-content .close-quiz-btn{background:var(--status-danger);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px}.flash-quiz-content .close-quiz-btn:disabled{cursor:not-allowed;opacity:.5}.flash-quiz-content.results-view{text-align:center}.flash-quiz-content .results-summary{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:16px}.flash-quiz-content .result-stat{background:var(--surface-page);border-radius:8px;min-width:90px;padding:12px 20px}.flash-quiz-content .result-stat .value{color:var(--text-strong);display:block;font-size:24px;font-weight:700}.flash-quiz-content .result-stat .label{color:var(--text-body);font-size:11px;text-transform:uppercase}.flash-quiz-content .result-stat.correct .value{color:var(--status-success)}.comparison-box{background:linear-gradient(135deg,rgba(var(--brand-primary-rgb),.1),rgba(var(--brand-accent-rgb),.1));border-radius:8px;margin-bottom:20px;padding:16px}.comparison-header{color:var(--text-body);font-size:12px;font-weight:600;margin-bottom:12px}.comparison-stats{align-items:center;display:flex;gap:20px;justify-content:center}.compare-stat .label{color:var(--text-body);display:block;font-size:11px}.compare-stat .value{font-size:24px;font-weight:700}.compare-arrow{font-size:20px}.improvement{border-radius:12px;display:inline-block;font-size:14px;font-weight:700;padding:4px 10px}.improvement.positive{background:#10b98126;color:var(--status-success)}.improvement.negative{background:#ef444426;color:var(--status-danger)}.final-options-results{margin-top:20px;text-align:left}.final-options-results .option-result{border-radius:6px;padding:10px}.final-options-results .option-result.correct{background:#10b98114}.option-text{flex:1 1;font-size:12px;text-align:left}.correct-badge{background:var(--status-success);border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px}.results-actions{border-top:1px solid #6b728026;display:flex;gap:12px;justify-content:center;margin-top:20px;padding-top:16px}.flash-another-btn{background:#fff;border:1px solid var(--brand-primary);border-radius:6px;color:var(--brand-primary);cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px}.flash-another-btn:hover{background:rgba(var(--brand-primary-rgb),.05)}.done-btn{background:var(--status-success);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px}.history-view{text-align:left}.back-btn{border:1px solid #6b728026;border-radius:4px;cursor:pointer;font-size:12px;margin-bottom:16px;padding:8px 14px}.back-btn,.back-btn:hover{background:var(--surface-sunken)}.no-history{color:var(--text-body);padding:40px;text-align:center}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{background:var(--surface-page);border:1px solid #6b728026;border-radius:6px;padding:12px 14px}.history-question{font-size:13px;font-weight:500;margin-bottom:6px}.history-stats{color:var(--text-body);display:flex;font-size:11px;gap:16px}.history-time{color:var(--text-body);font-size:10px;margin-top:6px}.insight.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.insight.clickable:hover{box-shadow:0 2px 8px #00000014;transform:translateX(4px)}.insight .click-hint{color:var(--brand-primary);font-size:.75em;font-weight:400;margin-left:8px;opacity:0;transition:opacity .15s ease}.insight.clickable:hover .click-hint{opacity:1}.filter-badge{align-items:center;background:var(--brand-primary-subtle);border-radius:16px;color:var(--brand-primary-hover);display:inline-flex;font-size:.8em;font-weight:500;gap:8px;margin-left:12px;padding:4px 12px}.clear-filter{background:none;border:none;color:var(--brand-primary);cursor:pointer;font-size:1.2em;line-height:1;padding:0 4px}.clear-filter:hover{color:var(--brand-primary-hover)}.phase-column.clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.phase-column.clickable:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.signals-compact{padding:12px 14px!important}.sc-section{border-bottom:1px solid #6b728026;border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:8px}.sc-section.sc-section-last,.sc-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.sc-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;padding:4px 0}.sc-label{color:var(--text-muted)!important;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.3px;min-width:90px;text-transform:uppercase}.sc-chips{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:6px}.sc-chip{align-items:center;background:#f3f4f6;background:var(--chip);border:1px solid #6b728026;border:1px solid var(--line);border-radius:999px;color:var(--text-muted)!important;display:inline-flex;font-size:11px;font-weight:700;padding:3px 8px;white-space:nowrap}.sc-chip.good{background:#10b9811a;border-color:#10b9814d;color:var(--status-success)!important}.sc-chip.warn{background:#f59e0b1a;border-color:#f59e0b4d;color:var(--status-warning)!important}.sc-chip.bad{background:#ef44441a;border-color:#ef44444d;color:var(--status-danger)!important}.sc-chip.muted{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-faint)!important}.sc-val{color:var(--text-strong)!important;flex-shrink:0;font-size:12px;font-weight:600;white-space:nowrap}.sc-tracked{color:var(--text-faint)!important;font-size:11px;font-weight:500;margin-left:4px}.sc-bar{flex:1 1;height:6px!important;max-width:140px;min-width:60px}@media (max-width:980px){.sc-label{margin-bottom:2px;min-width:100%}.sc-bar{flex-basis:100%;max-width:100%}}.wb-modal-overlay{align-items:stretch;background:rgba(var(--surface-inverse-rgb),.55);display:flex;inset:0;justify-content:stretch;padding:16px;position:fixed;z-index:1050}.wb-modal{background:var(--surface-card);border-radius:12px;box-shadow:0 10px 40px #00000040;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.wb-toolbar{align-items:center;background:var(--surface-page);border-bottom:1px solid var(--border-default);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:10px 14px}.wb-toolbar-left,.wb-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.wb-tool-group{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;display:flex;gap:6px;padding:4px 6px}.wb-tool-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-strong);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 10px}.wb-tool-btn.active{background:var(--brand-primary-subtle);border-color:#c4b5fd;color:var(--brand-accent);font-weight:600}.wb-color-swatch{border:2px solid var(--border-default);border-radius:50%;cursor:pointer;height:22px;padding:0;width:22px}.wb-color-swatch.active{border-color:var(--brand-accent);box-shadow:0 0 0 2px #ede9fe}.wb-color-swatch:disabled{cursor:not-allowed;opacity:.4}.wb-width-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;height:30px;justify-content:center;width:30px}.wb-width-btn.active{background:var(--brand-primary-subtle);border-color:#c4b5fd}.wb-width-dot{background:var(--surface-inverse);border-radius:50%;display:inline-block}.wb-action-btn{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-strong);cursor:pointer;font-size:13px;padding:6px 12px}.wb-action-btn:hover:not(:disabled){background:var(--surface-sunken)}.wb-action-danger{border-color:var(--status-danger-border);color:var(--status-danger)}.wb-action-danger:hover:not(:disabled){background:var(--status-danger-bg)}.wb-action-btn:disabled{cursor:not-allowed;opacity:.5}.wb-close-btn{border:1px solid #1f2937;border-radius:6px;color:var(--text-on-brand);cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px}.wb-close-btn,.wb-close-btn:hover:not(:disabled){background:var(--surface-inverse)}.wb-close-btn:disabled{cursor:not-allowed;opacity:.6}.wb-stage{background:var(--surface-card);flex:1 1;overflow:hidden;position:relative}.wb-canvas-wrap{inset:0;position:absolute}.wb-canvas{background:var(--surface-card);display:block;height:100%;width:100%}.wb-error,.wb-loading{border-radius:8px;font-size:14px;left:50%;padding:12px 20px;position:absolute;top:50%;transform:translate(-50%,-50%)}.wb-loading{background:var(--surface-sunken);color:var(--text-body)}.wb-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.group-formation-modal-dialog{max-width:1180px}.group-formation-modal-dialog .modal-content{background:var(--surface-card);border:1px solid var(--border-default);border-radius:16px;box-shadow:0 20px 50px #0000002e}.group-formation-modal-dialog .modal-header{background:var(--gradient-brand);border-bottom:none;border-top-left-radius:16px;border-top-right-radius:16px;color:var(--text-on-brand);padding:18px 24px}.group-formation-modal-dialog .modal-header .modal-title{color:var(--text-on-brand);font-size:18px;font-weight:700}.group-formation-modal-dialog .modal-header .btn-close{filter:brightness(0) invert(1);opacity:.85}.group-formation-modal-dialog .gfm-subtitle{font-size:12px;font-weight:400;margin-top:4px;opacity:.85}.group-formation-modal-dialog .modal-body{background:var(--surface-page);padding:24px}.group-formation-modal-dialog .modal-footer{background:var(--surface-card);border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:1px solid var(--border-default);padding:14px 24px}.gfm-controls{margin-bottom:18px}.gfm-control-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.gfm-control-label{color:var(--text-body);font-size:14px;font-weight:600;margin:0}.gfm-group-size{width:90px}.gfm-suggest-btn{font-weight:600;padding:8px 22px}.gfm-add-btn{font-weight:500;padding:8px 14px}.gfm-strategy-banner{background:var(--brand-primary-subtle);border-left:4px solid var(--brand-primary);border-radius:6px;color:#312e81;font-size:13px;line-height:1.5;margin-top:12px;padding:10px 14px}.gfm-empty{color:var(--text-muted);padding:50px 20px;text-align:center}.gfm-empty-icon{font-size:48px;margin-bottom:8px}.gfm-empty h4{color:var(--text-body);margin-bottom:8px}.gfm-empty p{font-size:14px;line-height:1.6;margin:0 auto;max-width:460px}.gfm-summary{color:var(--text-body);font-size:13px;font-weight:500;margin-bottom:12px}.gfm-group-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.gfm-group-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;padding:14px}.gfm-group-card-header{align-items:center;display:flex;gap:6px;margin-bottom:8px}.gfm-group-name-input{background:#0000;border:none;border-bottom:1px dashed #0000;color:var(--text-strong);flex:1 1;font-size:15px;font-weight:700;outline:none;padding:4px 0}.gfm-group-name-input:focus{border-bottom-color:var(--brand-primary)}.gfm-group-remove{align-items:center;background:var(--surface-sunken);border:none;border-radius:50%;color:var(--text-faint);cursor:pointer;display:flex;font-size:18px;height:26px;justify-content:center;line-height:1;width:26px}.gfm-group-remove:hover{background:var(--status-danger-bg);color:var(--status-danger)}.gfm-group-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.gfm-meta-pill{background:var(--surface-sunken);border-radius:999px;color:var(--text-body);font-size:11px;font-weight:500;padding:3px 8px}.gfm-meta-score{background:var(--status-success-bg);color:var(--status-success-text)}.gfm-member-list{display:flex;flex-direction:column;gap:6px}.gfm-no-members{color:var(--text-faint);font-size:12px;font-style:italic;padding:8px 0;text-align:center}.gfm-member-row{background:var(--surface-page);border-radius:6px;padding:6px 8px}.gfm-member-info,.gfm-member-row{align-items:center;display:flex;gap:8px}.gfm-member-info{flex:1 1;min-width:0}.gfm-member-name{color:var(--text-strong);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gfm-member-score{background:var(--brand-primary-subtle);border-radius:4px;color:var(--brand-primary);font-size:11px;font-weight:600;padding:1px 6px}.gfm-member-move{background:var(--surface-card);border:1px solid var(--border-default);border-radius:4px;color:var(--text-body);cursor:pointer;font-size:11px;padding:2px 6px}.gfm-member-move:hover{border-color:var(--brand-primary)}.case-discussion-manager-dialog{max-width:1280px}.case-discussion-manager-dialog .modal-content{background:var(--surface-card);border-radius:16px;box-shadow:0 24px 60px #0003}.case-discussion-manager-dialog .modal-header{background:linear-gradient(135deg,var(--brand-accent) 0,#ec4899 100%);border-bottom:none;border-top-left-radius:16px;border-top-right-radius:16px;color:var(--text-on-brand);padding:18px 26px}.case-discussion-manager-dialog .modal-header .modal-title{color:var(--text-on-brand);font-size:18px;font-weight:700}.case-discussion-manager-dialog .modal-header .btn-close{filter:brightness(0) invert(1);opacity:.85}.case-discussion-manager-dialog .cdm-subtitle{font-size:12px;font-weight:400;margin-top:4px;opacity:.85}.case-discussion-manager-dialog .modal-body{background:#f7f8fc;max-height:78vh;overflow-y:auto;padding:22px 26px}.case-discussion-manager-dialog .modal-footer{border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:1px solid var(--border-default);padding:12px 24px}.cdm-loading{color:var(--text-muted);padding:40px;text-align:center}.cdm-setup .cdm-prereq{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.cdm-prereq-card{align-items:flex-start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;display:flex;gap:12px;padding:14px 16px}.cdm-prereq-num{align-items:center;background:linear-gradient(135deg,var(--brand-accent),#ec4899);border-radius:50%;color:var(--text-on-brand);display:flex;flex-shrink:0;font-weight:700;height:28px;justify-content:center;width:28px}.cdm-prereq-content{flex:1 1;font-size:13px}.cdm-prereq-content strong{color:var(--text-strong);display:block;font-size:14px;margin-bottom:4px}.cdm-prereq-ok{color:var(--status-success-text);font-weight:600}.cdm-prereq-missing{color:var(--status-danger)}.cdm-prereq-missing a{color:var(--brand-accent);text-decoration:underline}.cdm-section-title{color:var(--text-strong);font-size:14px;font-weight:700;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.cdm-pick-case-header{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.cdm-pick-case-header .cdm-section-title{margin:0}.cdm-author-new-link{color:var(--brand-accent);font-size:13px;font-weight:600;text-decoration:none}.cdm-author-new-link:hover{text-decoration:underline}.cdm-case-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.cdm-case-row{align-items:flex-start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:all .15s}.cdm-case-row.is-selected,.cdm-case-row:hover{border-color:var(--brand-accent)}.cdm-case-row.is-selected{background:#faf5ff;box-shadow:0 0 0 3px #6d28d91a}.cdm-case-row input[type=radio]{margin-top:4px}.cdm-case-info{flex:1 1}.cdm-case-info strong{color:var(--text-strong);font-size:14px}.cdm-case-preview{color:var(--text-muted);font-size:12px;line-height:1.5;margin-top:4px}.cdm-case-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.cdm-case-tag{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-hover);font-size:10.5px;padding:2px 7px}.cdm-attach-link{background:#0000;border:1px solid var(--brand-accent);border-radius:6px;color:var(--brand-accent);cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.cdm-attach-link:hover{background:var(--brand-accent);color:var(--text-on-brand)}.cdm-start-btn{background:linear-gradient(135deg,var(--brand-accent),#ec4899);border-color:#0000;font-weight:700;padding:12px 28px}.cdm-start-btn:focus,.cdm-start-btn:hover{background:linear-gradient(135deg,#5b21b6,#db2777);border-color:#0000}.cdm-walk-card{animation:cdm-walk-pulse 3.5s ease-in-out infinite;background:linear-gradient(135deg,var(--status-warning) 0,var(--status-danger) 50%,#db2777 100%);border-radius:16px;box-shadow:0 8px 24px #ef444459;color:var(--text-on-brand);margin-bottom:18px;overflow:hidden;padding:22px 24px;position:relative}.cdm-walk-card:before{background:#ffffff14;height:220px;right:-10%;top:-40%;width:220px}.cdm-walk-card:after,.cdm-walk-card:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.cdm-walk-card:after{background:#ffffff0d;bottom:-50%;height:280px;left:-10%;width:280px}@keyframes cdm-walk-pulse{0%,to{box-shadow:0 8px 24px #ef444459}50%{box-shadow:0 12px 36px #ef44448c}}.cdm-walk-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px;position:relative;z-index:1}.cdm-walk-eyebrow{font-weight:800;letter-spacing:.18em;opacity:.85}.cdm-walk-eyebrow,.cdm-walk-signal{font-size:11px;text-transform:uppercase}.cdm-walk-signal{background:#ffffff40;border-radius:999px;color:var(--text-on-brand);font-weight:700;letter-spacing:.04em;padding:4px 10px}.cdm-walk-group{font-size:32px;font-weight:800;line-height:1.1;margin-bottom:6px;position:relative;z-index:1}.cdm-walk-reason{font-size:13.5px;margin-bottom:12px;opacity:.93;position:relative;z-index:1}.cdm-walk-reason strong{color:var(--text-on-brand)}.cdm-walk-quote{background:#ffffff2e;border-left:3px solid #fff;border-radius:0 8px 8px 0;font-size:13px;font-style:italic;margin-bottom:12px;max-height:80px;overflow-y:auto;padding:10px 14px;position:relative;z-index:1}.cdm-walk-probe{background:var(--surface-card);border-radius:10px;color:var(--text-strong);display:flex;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px 14px;position:relative;z-index:1}.cdm-walk-probe-label{color:#ec4899;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.cdm-walk-probe-text{color:var(--text-strong);font-size:14px;font-weight:500;line-height:1.5}.cdm-walk-open{background:var(--surface-card);border-color:#0000;color:#ec4899;font-weight:700;padding:8px 18px;position:relative;z-index:1}.cdm-walk-open:hover{background:#fce7f3;border-color:#0000;color:#be185d}.cdm-all-good{align-items:center;background:linear-gradient(135deg,var(--status-success),var(--status-success));border-radius:16px;color:var(--text-on-brand);display:flex;gap:18px;margin-bottom:18px;padding:20px 24px}.cdm-all-good-icon{font-size:36px}.cdm-all-good strong{font-size:17px;font-weight:700}.cdm-all-good-sub{font-size:13px;margin-top:2px;opacity:.93}.cdm-aggregate{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:16px;padding:12px 16px}.cdm-agg-pills{display:flex;flex-wrap:wrap;gap:8px}.cdm-agg-pill{border-radius:999px;font-size:12px;font-weight:600;padding:4px 12px}.cdm-clusters{align-items:center;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px}.cdm-clusters-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.cdm-cluster-pill{background:var(--status-warning-bg);border-radius:999px;color:var(--status-warning-text);font-size:11.5px;font-weight:500;padding:2px 9px}.cdm-sig-ontrack{background:var(--status-success-bg);color:var(--status-success-text)}.cdm-sig-stuck{background:#fed7aa;color:#c2410c}.cdm-sig-offtopic{background:var(--surface-sunken);color:var(--text-body)}.cdm-sig-insight{background:#fce7f3;color:#be185d}.cdm-sig-misconception{background:var(--status-danger-bg);color:var(--status-danger)}.cdm-walk-signal.cdm-sig-insight,.cdm-walk-signal.cdm-sig-misconception,.cdm-walk-signal.cdm-sig-offtopic,.cdm-walk-signal.cdm-sig-ontrack,.cdm-walk-signal.cdm-sig-stuck{background:#ffffff40;color:var(--text-on-brand)}.cdm-tiles{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:18px}.cdm-tile{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:14px;text-align:left;transition:all .15s}.cdm-tile:hover{border-color:var(--brand-accent);box-shadow:0 4px 14px #6d28d926;transform:translateY(-1px)}.cdm-tile-header{align-items:center;display:flex;justify-content:space-between}.cdm-tile-name{color:var(--text-strong);font-size:14px;font-weight:700}.cdm-tile-signal{border-radius:999px;font-size:11px;font-weight:600;padding:2px 8px}.cdm-tile-meta{color:var(--text-muted);font-size:11.5px}.cdm-tile-ai,.cdm-tile-student{color:var(--text-body);font-size:12px;line-height:1.5}.cdm-tile-ai strong,.cdm-tile-student strong{color:var(--text-strong)}.cdm-live-footer{text-align:right}.case-discussion-detail-dialog{max-width:720px}.case-discussion-detail-dialog .modal-content{background:var(--surface-card);border-radius:14px}.case-discussion-detail-dialog .modal-header{background:var(--gradient-brand);border-top-left-radius:14px;border-top-right-radius:14px;color:var(--text-on-brand)}.case-discussion-detail-dialog .modal-header .modal-title{align-items:center;color:var(--text-on-brand);display:flex;font-weight:700;gap:10px}.case-discussion-detail-dialog .modal-header .btn-close{filter:brightness(0) invert(1)}.cdm-detail-signal{background:#ffffff40;border-radius:999px;color:var(--text-on-brand);font-size:11px;font-weight:600;letter-spacing:.04em;padding:3px 9px;text-transform:uppercase}.cdm-detail-reason{background:var(--surface-page);border-left:3px solid var(--brand-accent);border-radius:0 6px 6px 0;color:var(--text-body);font-size:12.5px;margin-bottom:12px;padding:8px 12px}.cdm-detail-thread{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;max-height:360px;overflow-y:auto;padding:4px}.cdm-detail-empty{color:var(--text-faint);padding:30px;text-align:center}.cdm-detail-turn{border-radius:10px;max-width:92%;padding:10px 14px}.cdm-detail-turn-ai{align-self:flex-start;background:var(--brand-primary-subtle);border-bottom-left-radius:2px}.cdm-detail-turn-student{align-self:flex-end;background:#ecfeff;border-bottom-right-radius:2px}.cdm-detail-turn-teacher{align-self:center;background:var(--status-warning-bg);border:1px solid var(--status-warning-border)}.cdm-detail-actor{color:var(--text-muted);font-size:10.5px;font-weight:700;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.cdm-detail-content{color:var(--text-strong);font-size:13.5px;line-height:1.55;white-space:pre-wrap}.cdm-detail-ai-meta{align-items:center;color:var(--text-muted);display:flex;font-size:11px;gap:6px;margin-top:6px}.cdm-detail-inject{align-items:flex-end;border-top:1px solid var(--border-default);display:flex;gap:8px;padding-top:12px}.cdm-detail-inject textarea{flex:1 1;resize:none}.cdm-recently-closed{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;margin-top:16px;padding:10px 14px}.cdm-recently-closed-title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:8px;text-transform:uppercase}.cdm-recently-closed-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.cdm-recently-closed-item{align-items:center;color:var(--text-body);display:flex;font-size:12.5px;gap:10px}.cdm-recently-closed-name{color:var(--text-strong);font-weight:600}.cdm-recently-closed-meta{color:var(--text-faint);flex:1 1;font-size:12px}.cdm-recently-closed-reopen{background:#0000;border:none;border-radius:4px;color:var(--brand-primary);cursor:pointer;font-size:12px;font-weight:600;padding:2px 6px}.cdm-recently-closed-reopen:hover{background:var(--brand-primary-subtle)}.cdm-case-select{align-items:flex-start;display:flex;padding-top:2px}.cdm-case-select-spacer{display:inline-block;width:16px}.cdm-runas{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.cdm-runas-group{align-items:center;border:1px solid #e3e0f2;border-radius:8px;display:inline-flex;gap:0;overflow:hidden}.cdm-runas-label{color:#8a86a6;font-size:11px;font-weight:700;letter-spacing:.03em;padding:0 8px;text-transform:uppercase}.cdm-runas-group button{background:var(--surface-card);border:none;border-left:1px solid #e3e0f2;color:#57536e;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.cdm-runas-group button.active{background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-primary) 100%);color:var(--text-on-brand)}.cdm-mode-note{color:var(--text-muted);font-size:12px;font-style:italic;margin-top:6px}.case-editor-modal-dialog{max-width:760px}.case-editor-modal-dialog .modal-content{background:var(--surface-card);border:1px solid var(--border-default);border-radius:16px}.case-editor-modal-dialog .modal-header{background:var(--gradient-brand);border-bottom:none;border-top-left-radius:16px;border-top-right-radius:16px;color:var(--text-on-brand);padding:16px 22px}.case-editor-modal-dialog .modal-header .modal-title{color:var(--text-on-brand);font-size:17px;font-weight:700}.case-editor-modal-dialog .modal-header .btn-close{filter:brightness(0) invert(1);opacity:.85}.case-editor-modal-dialog .modal-body{background:var(--surface-page);padding:22px}.case-editor-modal-dialog .modal-footer{border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top:1px solid var(--border-default);padding:14px 22px}.case-editor-modal-dialog .ce-field{margin-bottom:16px}.case-editor-modal-dialog .ce-field .form-label{align-items:center;color:var(--text-body);display:flex;font-size:13px;font-weight:600;gap:8px}.case-editor-modal-dialog .ce-required{color:var(--status-danger)}.case-editor-modal-dialog .ce-hint{color:var(--text-faint);font-size:11px;font-style:italic;font-weight:400}.case-editor-modal-dialog textarea.form-control{font-family:inherit;font-size:13.5px;line-height:1.55}.case-editor-modal-dialog .ce-ai-panel{background:linear-gradient(135deg,rgba(var(--brand-accent-rgb),.06) 0,#db27770f 100%);border:1px solid rgba(var(--brand-accent-rgb),.2);border-radius:12px;margin-bottom:18px;overflow:hidden;transition:all .2s ease}.case-editor-modal-dialog .ce-ai-panel.is-open{background:var(--surface-card);border-color:var(--brand-accent);box-shadow:0 4px 16px #6d28d91f}.case-editor-modal-dialog .ce-ai-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:12px;padding:12px 16px;text-align:left;transition:background .15s;width:100%}.case-editor-modal-dialog .ce-ai-header:hover{background:rgba(var(--brand-accent-rgb),.04)}.case-editor-modal-dialog .ce-ai-icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--brand-accent),#db2777);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 2px 4px rgba(var(--brand-accent-rgb),.3));font-size:22px;line-height:1}.case-editor-modal-dialog .ce-ai-header-text{display:flex;flex:1 1;flex-direction:column;gap:2px}.case-editor-modal-dialog .ce-ai-header-text strong{color:#4c1d95;font-size:14px;font-weight:700}.case-editor-modal-dialog .ce-ai-subtitle{color:var(--text-muted);font-size:11.5px}.case-editor-modal-dialog .ce-ai-caret{color:var(--brand-accent);font-size:10px}.case-editor-modal-dialog .ce-ai-body{border-top:1px solid rgba(var(--brand-accent-rgb),.12);padding:6px 16px 16px}.case-editor-modal-dialog .ce-ai-field{margin-bottom:12px}.case-editor-modal-dialog .ce-ai-field .form-label{align-items:center;color:#4c1d95;display:flex;font-size:12px;font-weight:600;gap:8px}.case-editor-modal-dialog .ce-ai-field .form-control,.case-editor-modal-dialog .ce-ai-field .form-select{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:none;font-size:13px;height:auto;line-height:1.4;min-height:36px;padding:7px 12px;transition:border-color .15s ease,box-shadow .15s ease}.case-editor-modal-dialog .ce-ai-field .form-control:focus,.case-editor-modal-dialog .ce-ai-field .form-select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #6d28d926;outline:none}.case-editor-modal-dialog .ce-ai-field .form-select{background-position:right 10px center;padding-right:32px}.case-editor-modal-dialog .ce-ai-row{display:flex;flex-wrap:wrap;gap:10px}.case-editor-modal-dialog .ce-ai-field-half{flex:1 1 220px}.case-editor-modal-dialog .ce-ai-field-quarter{flex:1 1 140px}.case-editor-modal-dialog .ce-ai-actions{display:flex;justify-content:flex-end;margin-top:4px}.case-editor-modal-dialog .ce-ai-gen-btn{background:linear-gradient(135deg,var(--brand-accent),#db2777);border-color:#0000;box-shadow:0 4px 14px #6d28d952;color:var(--text-on-brand);font-size:13.5px;font-weight:700;padding:9px 22px;transition:all .15s}.case-editor-modal-dialog .ce-ai-gen-btn:focus:not(:disabled),.case-editor-modal-dialog .ce-ai-gen-btn:hover:not(:disabled){background:linear-gradient(135deg,#5b21b6,#be185d);border-color:#0000;box-shadow:0 8px 22px #6d28d966;transform:translateY(-1px)}.case-editor-modal-dialog .ce-ai-gen-btn:disabled{cursor:not-allowed;opacity:.55}.case-editor-modal-dialog .ce-ai-error{background:var(--status-danger-bg);border-left:3px solid var(--status-danger);border-radius:0 6px 6px 0;color:var(--status-danger);font-size:12.5px;margin-bottom:12px;padding:8px 12px}.case-editor-modal-dialog .ce-ai-draft-banner{align-items:center;background:linear-gradient(135deg,var(--status-warning-bg) 0,#fed7aa 100%);border:1px solid #fbbf24;border-radius:8px;color:var(--status-warning-text);display:flex;font-size:12.5px;gap:10px;line-height:1.5;margin-bottom:16px;padding:10px 14px}.case-editor-modal-dialog .ce-ai-draft-pill{background:#b45309;border-radius:999px;color:var(--text-on-brand);flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.06em;padding:3px 8px;text-transform:uppercase}.case-editor-modal-dialog .ce-ai-draft-dismiss{background:#0000;border:none;color:var(--status-warning-text);cursor:pointer;font-size:18px;line-height:1;margin-left:auto;padding:0 4px}.case-editor-modal-dialog .ce-ai-draft-dismiss:hover{color:#451a03}.case-studies-page{background:#f7f8fc;min-height:100vh;padding:10px 0 60px 12px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.case-studies-page{margin-left:280px}body.sidebar-collapsed .case-studies-page{margin-left:80px}}.case-studies-page .cs-hero{align-items:flex-end;background:linear-gradient(135deg,var(--brand-accent) 0,#db2777 100%);color:var(--text-on-brand);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;overflow:hidden;padding:36px 40px 44px;position:relative}.case-studies-page .cs-hero:before{background:#ffffff14;border-radius:50%;content:"";height:360px;pointer-events:none;position:absolute;right:-80px;top:-120px;width:360px}.case-studies-page .cs-hero:after{background:#ffffff0d;border-radius:50%;bottom:-180px;content:"";height:320px;left:-60px;pointer-events:none;position:absolute;width:320px}.case-studies-page .cs-hero-content{flex:1 1;min-width:280px;position:relative;z-index:1}.case-studies-page .cs-back{align-items:center;color:#ffffffd9;display:inline-flex;font-size:13px;font-weight:500;letter-spacing:.01em;margin-bottom:14px;text-decoration:none;transition:color .15s}.case-studies-page .cs-back:hover{color:var(--text-on-brand);text-decoration:none}.case-studies-page .cs-title{color:var(--text-on-brand);font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin:0 0 8px}.case-studies-page .cs-subtitle{color:#ffffffe0;font-size:14px;line-height:1.55;max-width:580px}.case-studies-page .cs-context-badge{align-items:baseline;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border:1px solid #ffffff40;border-radius:999px;color:var(--text-on-brand);display:inline-flex;flex-wrap:wrap;font-size:12.5px;gap:4px;margin-top:14px;max-width:100%;padding:7px 14px}.case-studies-page .cs-context-badge strong{color:var(--text-on-brand);font-weight:700}.case-studies-page .cs-context-hint{color:#ffffffc7}.case-studies-page .cs-hero-actions{position:relative;z-index:1}.case-studies-page .cs-new-btn{align-items:center;background:var(--surface-card);border-color:#0000;box-shadow:0 6px 20px #0000002e;color:var(--brand-accent);display:inline-flex;font-size:14px;font-weight:700;gap:6px;padding:11px 22px;transition:all .15s}.case-studies-page .cs-new-btn:focus,.case-studies-page .cs-new-btn:hover{background:#fce7f3;border-color:#0000;box-shadow:0 8px 24px #00000040;color:#be185d;transform:translateY(-1px)}.case-studies-page .cs-new-icon{font-size:18px;font-weight:300;line-height:1}.case-studies-page .cs-body{margin:0 auto;max-width:1480px;padding:24px 40px 40px}.case-studies-page .cs-search-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px;max-width:960px}.case-studies-page .cs-course-filter{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 1px 3px #00000008;flex:0 0 260px;font-size:13.5px}.case-studies-page .cs-course-filter:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #6d28d91f}.case-studies-page .cs-search-wrap{align-items:center;display:flex;flex:1 1;position:relative}.case-studies-page .cs-search-icon{font-size:14px;left:12px;opacity:.55;pointer-events:none;position:absolute}.case-studies-page .cs-search-input{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 1px 3px #00000008;font-size:13.5px;padding-left:36px}.case-studies-page .cs-search-input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #6d28d91f}.case-studies-page .cs-search-btn{background:linear-gradient(135deg,var(--brand-accent),#db2777);border-color:#0000;font-weight:600;padding:8px 22px}.case-studies-page .cs-search-btn:focus,.case-studies-page .cs-search-btn:hover{background:linear-gradient(135deg,#5b21b6,#be185d);border-color:#0000}.case-studies-page .cs-error-card{background:var(--status-danger-bg);border-left:4px solid var(--status-danger);border-radius:8px;color:var(--status-danger);margin-bottom:20px;padding:14px 18px}.case-studies-page .cs-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:14px;padding:60px 20px;text-align:center}.case-studies-page .cs-loading .spinner-border{color:var(--brand-accent)}.case-studies-page .cs-empty{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:18px;box-shadow:0 1px 3px #0000000a;padding:56px 32px;text-align:center}.case-studies-page .cs-empty h2{color:var(--text-strong);font-size:22px;font-weight:700;margin:4px 0 8px}.case-studies-page .cs-empty p{color:var(--text-muted);font-size:14px;line-height:1.6;margin:0 auto 24px;max-width:460px}.case-studies-page .cs-empty-illustration{height:110px;margin:0 auto 18px;position:relative;width:180px}.case-studies-page .cs-empty-bubble{align-items:center;animation:cs-empty-float 3.6s ease-in-out infinite;border-radius:50%;box-shadow:0 8px 24px #6d28d92e;display:flex;font-size:30px;height:64px;justify-content:center;position:absolute;width:64px}.case-studies-page .cs-empty-bubble-1{animation-delay:0s;background:linear-gradient(135deg,var(--status-warning-bg),var(--status-warning));left:10px;top:30px}.case-studies-page .cs-empty-bubble-2{animation-delay:1.2s;background:linear-gradient(135deg,#fbcfe8,#ec4899);left:60px;top:0}.case-studies-page .cs-empty-bubble-3{animation-delay:2.4s;background:linear-gradient(135deg,#ddd6fe,var(--brand-accent));left:110px;top:36px}@keyframes cs-empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.case-studies-page .cs-empty-cta{background:linear-gradient(135deg,var(--brand-accent),#db2777);border-color:#0000;font-weight:700;padding:12px 26px}.case-studies-page .cs-empty-cta:focus,.case-studies-page .cs-empty-cta:hover{background:linear-gradient(135deg,#5b21b6,#be185d);border-color:#0000}.case-studies-page .cs-summary-row{align-items:center;display:flex;margin-bottom:14px}.case-studies-page .cs-count{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.case-studies-page .cs-card-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.case-studies-page .cs-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 1px 3px #0000000a;cursor:pointer;display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:22px 22px 18px;position:relative;transition:all .2s ease}.case-studies-page .cs-card:before{background:linear-gradient(180deg,var(--brand-accent),#db2777);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .2s;width:4px}.case-studies-page .cs-card:hover{border-color:rgba(var(--brand-accent-rgb),.2);box-shadow:0 14px 36px #6d28d924;transform:translateY(-3px)}.case-studies-page .cs-card:hover:before{opacity:1}.case-studies-page .cs-card-accent{display:none}.case-studies-page .cs-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.case-studies-page .cs-card-title{color:var(--text-strong);flex:1 1;font-size:16px;font-weight:700;line-height:1.35;margin:0}.case-studies-page .cs-card-delete{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-faint);cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:28px;justify-content:center;transition:all .15s;width:28px}.case-studies-page .cs-card-delete:hover{background:var(--status-danger-bg);color:var(--status-danger)}.case-studies-page .cs-card-scenario{-webkit-line-clamp:4;-webkit-box-orient:vertical;color:var(--text-body);display:-webkit-box;font-size:13.5px;line-height:1.6;overflow:hidden}.case-studies-page .cs-card-objectives{background:var(--surface-page);border-left:3px solid var(--brand-primary-subtle);border-radius:0 6px 6px 0;color:var(--text-body);font-size:12px;line-height:1.5;padding:8px 12px}.case-studies-page .cs-card-objectives-label{color:var(--brand-accent);display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;margin-bottom:3px;text-transform:uppercase}.case-studies-page .cs-card-tags{display:flex;flex-wrap:wrap;gap:5px}.case-studies-page .cs-card-tag{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-hover);font-size:11px;font-weight:500;padding:3px 9px}.case-studies-page .cs-card-tag-more{background:var(--surface-sunken);border-radius:999px;color:var(--text-muted);font-size:11px;font-weight:500;padding:3px 9px}.case-studies-page .cs-card-footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-top:4px;padding-top:12px}.case-studies-page .cs-card-meta{color:var(--text-faint);font-size:11px;font-weight:500}.case-studies-page .cs-card-edit-hint{color:var(--brand-accent);font-size:11.5px;font-weight:600;opacity:0;transition:opacity .15s}.case-studies-page .cs-card:hover .cs-card-edit-hint{opacity:1}.cs-confirm-dialog .modal-content{border:none;border-radius:14px;box-shadow:0 24px 60px #0003}.cs-confirm-dialog .modal-header{border-bottom:1px solid var(--border-subtle)}.cs-confirm-dialog .modal-body{color:var(--text-body);font-size:14px;line-height:1.6}.cs-confirm-dialog .modal-footer{border-top:1px solid var(--border-subtle)}@media (max-width:768px){.case-studies-page .cs-hero{padding:28px 20px 32px}.case-studies-page .cs-title{font-size:26px}.case-studies-page .cs-body{padding:20px}}.case-studies-page .cs-tabs{border-bottom:1px solid #e9e7f5;display:flex;gap:6px;margin-top:14px;padding:0 28px}.case-studies-page .cs-tab{background:none;border:none;border-bottom:2px solid #0000;color:#7c7a93;cursor:pointer;font-size:.92rem;font-weight:600;margin-bottom:-1px;padding:10px 6px}.case-studies-page .cs-tab:hover{color:#4b2fb3}.case-studies-page .cs-tab-active{border-bottom-color:var(--brand-accent);color:#4b2fb3}.case-studies-page .cs-responses{display:flex;flex-direction:column;gap:16px}.case-studies-page .cs-responses-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.case-studies-page .cs-responses-case{flex:1 1;max-width:460px;min-width:280px}.case-studies-page .cs-responses-label{color:var(--text-muted);font-size:.74rem;font-weight:700;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.case-studies-page .cs-responses-summary{color:var(--text-muted);font-size:.85rem;padding-bottom:8px}.case-studies-page .cs-responses-pending{color:var(--status-warning-text);font-weight:600}.case-studies-page .cs-responses-empty,.case-studies-page .cs-responses-loading{align-items:center;color:var(--text-muted);display:flex;font-size:.92rem;gap:8px;padding:28px 4px}.case-studies-page .cs-responses-table{background:var(--surface-card);border-radius:10px;overflow:hidden}.case-studies-page .cs-responses-table th{border-bottom:2px solid #eef0f6;color:var(--text-muted);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}.case-studies-page .cs-responses-table td{color:#1f2440;vertical-align:middle}.cs-corr-response-label{color:var(--text-muted);font-size:.74rem;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.cs-corr-response{background:#f8f7fd;border:1px solid #ece9f8;border-radius:10px;color:var(--text-body);font-size:.92rem;line-height:1.55;margin-bottom:16px;max-height:220px;overflow-y:auto;padding:12px 14px;white-space:pre-wrap}.cs-corr-field{margin-bottom:14px}.date-scroll .scrolling-wrapper{overflow-x:auto;padding-bottom:20px;padding-top:20px}.date-scroll .card{background-color:#dcdcdc;margin-right:5px;min-width:60px}.date-scroll .card-head{text-align:center}.date-scroll .date-active{background:#73ad21;border-radius:50%;color:ivory;display:inline-block;height:28px;width:28px}.date-scroll .date-label{font-size:small;font-weight:500;padding-bottom:2px;text-align:center}.one-line-text{white-space:nowrap}.no-data-container{align-items:center;border:.5px solid #4040401a;display:flex;justify-content:center;margin:0}.no-data-max-height{display:block;grid-row-end:span 100}.sticky-text-vertical{position:sticky;top:50%;z-index:0}@media (max-width:750px){.no-data-text{font-size:16px}}@media print{.no-data-max-height{display:flex}.sticky-text-vertical{position:static}.no-data-text{color:#000!important}}.activity-slot-container{border:.5px solid #4040401a;overflow:overlay}.slot-data-container .timelist{margin-bottom:0!important}.activity-slot-time{color:var(--text-on-brand)!important}@media (max-width:750px){.activity-slot-batch{font-size:16px;margin-bottom:0}.activity-slot-topic{font-size:14px;margin-bottom:0}.activity-slot-time{font-size:12px;margin-bottom:0}}@media print{.activity-slot-batch,.activity-slot-time,.activity-slot-topic{color:#000!important}}.timetable{transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.timetable{margin-left:280px}}.timetable-menu-btn{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;font-size:1.5rem;left:1rem;line-height:1;padding:10px 12px;position:fixed;top:1rem;transition:all .3s ease;z-index:999}.timetable-menu-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}@media (max-width:1023px){.timetable-menu-btn{align-items:center;display:flex;justify-content:center}}.time-table-heading{align-items:center;display:flex;gap:10px}.time-table-back{font-size:24px;font-weight:500}.timetable .timelist{margin-bottom:5px;padding:5px}.timetable .label-topic{color:bisque;display:inline-block}.timetable .label-room{color:#0ff;float:right}.timetable .card-body{max-height:480px}.timetable-header{display:flex;justify-content:space-between}.timetable-button-container{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);align-items:center;background-color:#fff6;border:.5px solid #4040401a;border-radius:12px;display:flex;height:45px;justify-content:space-around;margin:10px;-webkit-user-select:none;user-select:none}.timetable-button{align-items:center;border-radius:10px;color:#1d1d1f;cursor:pointer;display:flex;height:38px;justify-content:center;margin:0 3px;width:90px}.timetable-button.active{background:var(--surface-sunken);border:.5px solid #4040401a}.weekly-timetable-container{grid-column-gap:5px;column-gap:5px;display:grid;grid-template-columns:120px 1fr 1fr 1fr 1fr 1fr 1fr 1fr;padding:0 15px 15px}.weekly-column{grid-row-gap:5px;align-content:start;display:grid;row-gap:5px}.day-details-weekly-timetable{align-items:center;background:var(--surface-hover);border:.5px solid #4040401a;display:flex;flex-direction:column;justify-content:center;padding:5px;text-align:center}.weekly-timetable-download-wrapper{display:flex;justify-content:space-between;padding:0 20px}.weekly-timetable-download{align-items:center;background:var(--surface-sunken);border:1px solid #82828229;border-radius:7px;cursor:pointer;display:flex;gap:5px;margin:10px 0;max-width:150px;padding:10px}.donwload-icon-container{width:20px}.slot-data-container{display:flex;flex-direction:column;row-gap:5px}@media (max-width:750px){.time-table-heading{font-size:24px}.time-table-back{font-size:20px}.weekly-timetable-container{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;margin:0 0 10px 10px;overflow-x:scroll;padding:0}.sticky-container{background:var(--surface-card);left:0;position:sticky;z-index:1}.day-details-weekly-timetable{font-size:13px;min-width:125px}}@media print{.weekly-timetable-container{overflow:visible}.timetable-button-container,.weekly-timetable-download{display:none}}.modern-home{background:var(--surface-page);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh}.modern-content{margin:0 auto;max-width:1200px;padding:20px}.home-nav{background:var(--surface-card);border-bottom:1px solid var(--border-default);box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:100}.home-nav-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:16px 20px}.brand,.home-nav-content{align-items:center;display:flex}.brand{color:#1a1a1a;font-size:18px;font-weight:700;gap:10px}.brand-icon{font-size:24px}.brand-text{color:#1a1a1a;letter-spacing:-.02em}.modern-home .back-button{align-items:center;background:#2c3e50;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.modern-home .back-button:hover{background:#34495e;transform:translateX(-2px)}.modern-home .back-button:active{transform:scale(.98)}.user-info{align-items:center;background:#0000;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:background .1s ease}.user-info:active,.user-info:hover{background:var(--surface-sunken)}.user-avatar{fill:#0078d4;height:28px;width:28px}.user-name{color:#323130;font-size:14px;font-weight:400}.search-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:24px;padding:24px}.search-title{color:var(--text-strong);font-size:18px;font-weight:700;letter-spacing:.5px;margin:0 0 20px;text-align:center;text-transform:uppercase}.search-filters{grid-gap:16px;align-items:end;display:grid;grid-template-columns:auto auto auto}.modern-home .filter-group{display:flex;flex-direction:column;gap:8px}.filter-group-button{align-self:end}.filter-label{color:var(--text-strong);font-size:14px;font-weight:600}.date-input,.select-input,.text-input{background:#fff;border:1px solid var(--border-default);border-radius:4px;color:var(--text-strong);font-size:14px;padding:8px 12px}.date-input:disabled,.select-input:disabled,.text-input:disabled{background:var(--surface-sunken);cursor:not-allowed}.search-button{background:#2c3e50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.search-button:hover:not(:disabled){background:#34495e}.search-button:disabled{cursor:not-allowed;opacity:.6}.activities-section{background:#2c3e50;border-radius:8px;margin-bottom:16px;padding:16px 24px}.activities-title{color:#fff;font-size:16px;font-weight:700;letter-spacing:.5px;margin:0;text-transform:uppercase}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.modern-home .spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-radius:50%;border-top-color:#2c3e50;height:48px;margin-bottom:16px;width:48px}.loading-container p{color:var(--text-muted);font-size:16px;font-weight:500}.error-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.modern-home .error-message{color:#a4262c;font-size:16px;margin-bottom:16px}.retry-button{background:#2c3e50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.retry-button:hover{background:#34495e}.retry-button:active{transform:scale(.98)}.no-activities{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:60vh;text-align:center}.no-activities-icon{font-size:64px;margin-bottom:16px}.no-activities p{color:var(--text-muted);font-size:16px;margin:0}.activities-container{display:flex;flex-direction:column;gap:24px}.date-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:16px;overflow:hidden}.date-header{background:#2c3e50;gap:12px;padding:12px 16px}.date-badge{align-items:center;display:flex;gap:16px}.date-day{color:#fff;font-size:36px;font-weight:700;line-height:1;min-width:50px;text-align:center}.date-weekday{color:#fff;font-size:16px;font-weight:600;line-height:1.2;text-transform:capitalize}.date-month{color:#ffffffe6;font-size:12px;font-weight:400;line-height:1.2}.activities-list{padding:0}.activity-card{grid-column-gap:32px;align-items:center;border-bottom:1px solid #f3f2f1;column-gap:32px;display:grid;grid-template-columns:180px 1fr 1fr 200px;padding:20px;transition:background .15s ease}.activity-card:last-child{border-bottom:none}.activity-card:hover{background:#faf9f8}.activity-time{align-items:center;display:flex}.time-label{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:4px;color:var(--text-strong);display:block;font-size:13px;font-weight:600;padding:8px 12px;text-align:center;white-space:nowrap}.activity-details{display:contents}.activity-row{display:flex;flex-direction:column;gap:4px}.activity-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;line-height:1;text-transform:uppercase}.activity-batch{color:#1a1a1a;font-size:16px;font-weight:600}.activity-batch,.activity-course{word-wrap:break-word;line-height:1.5;overflow-wrap:break-word}.activity-course{color:var(--text-strong);font-size:15px;font-weight:500}.activity-topic{align-self:flex-start;background:var(--surface-sunken);border-radius:4px;color:var(--text-muted);display:inline-block;font-size:13px;font-weight:400;margin-top:2px;padding:4px 10px}.action-button{border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;text-align:center;transition:all .2s ease}.attendance-button{background:#5cb85c;color:#fff}.attendance-button:hover{background:#4cae4c}@media (max-width:768px){.modern-content{padding:16px}.home-nav-content{padding:12px 16px}.brand-text,.user-name{display:none}.search-filters{grid-template-columns:1fr}.search-section{padding:16px}.search-title{font-size:16px}.activities-section{padding:12px 16px}.activities-title{font-size:14px}.activities-container{gap:16px}.date-section{border-radius:8px}.date-header{padding:12px 16px}.date-day{font-size:28px}.date-weekday{font-size:14px}.date-month{font-size:12px}.activity-card{gap:16px;grid-template-columns:1fr;padding:16px}.activity-time{width:auto}.time-label{font-size:13px;padding:5px 10px}.activity-batch{font-size:16px}.activity-course{font-size:14px}.activity-topic{font-size:12px}.activity-details{display:flex;flex-direction:column;gap:12px}}@media (max-width:480px){.modern-content{padding:12px}.modern-home .back-button{font-size:14px;padding:6px 12px}.timetable-header{margin-bottom:24px}.timetable-title{font-size:20px}}.play-area-sub{align-items:center;background:#121212;display:flex;height:100vh;justify-content:center}.nav-bar{display:flex;left:10px;padding:10px;position:fixed;top:10px;z-index:1}.nav-bar-icon{fill:#fff;cursor:pointer;margin:10px;width:40px}.image-capture-detail{background:#121212;border-radius:100%;color:var(--text-on-brand);cursor:pointer;font-size:20px;font-weight:500;padding:2px;position:absolute;right:17px;top:8px}.image-capture-detail p{display:contents}#stream{border-radius:24px;height:90vh;position:fixed;top:20px}.loading-camera{color:var(--text-on-brand);font-size:20px;font-weight:600}.button-group{align-items:center;bottom:0;display:flex;flex-direction:column;justify-content:space-evenly;position:fixed;right:40px;top:0}.camera-icon{stroke-width:25px;stroke:#1d1d1f;fill:#fff;width:70px}.camera-icon:hover{cursor:pointer}.camera-icon:active{transform:scale(.9)}.small-camera-icon{width:50px}.capture-area{align-items:center;background-color:#000000e6;display:flex;flex-direction:column;height:100%;justify-content:space-evenly;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:1}.display-image{height:500px;width:auto}.popup-text{color:var(--text-on-brand);font-size:20px;font-weight:600}@media (max-width:1200px){.nav-bar{left:auto;right:10px}.button-group{bottom:20px;flex-direction:row;left:0;right:0;top:auto}}@media (max-width:420px){#stream{height:90vh;position:fixed;top:0;width:100%}}*{font-family:Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;letter-spacing:.5px}.mentoring-chat .ce-chat-list,.mentoring-chat .ce-chats-container{background-color:var(--surface-sunken)!important}.mentoring-chat .ce-active-chat-card{background-color:#cabcdc!important;border:4px solid #cabcdc!important;border-radius:0!important}.mentoring-chat .ce-chat-subtitle-text{color:#595959!important}.mentoring-chat .ce-chat-form-container{padding-bottom:20px!important}.mentoring-chat .ce-text-input{border:1px solid #3b2a50!important;border-radius:6px!important}.mentoring-chat .ce-primary-button{background-color:#7554a0!important;border-radius:6px!important;bottom:1px;position:relative}.mentoring-chat .ce-danger-button{background-color:#fff!important;border-radius:22px!important}.mentoring-chat .ce-settings{background-color:var(--surface-sunken)!important}.mentoring-chat .ce-autocomplete-input,.mentoring-chat .ce-autocomplete-options{border:1px solid #3b2a50!important;border-radius:6px!important}.mentoring-chat .ce-autocomplete-options{background-color:#fff!important}.mentoring-chat .ce-chat-settings-container{padding-top:12px!important}.mentoring-chat .ce-chat-avatars-row{display:none!important}.mentoring-chat .chat-feed{background-color:var(--surface-sunken);height:100%;overflow:scroll;width:100%}.mentoring-chat .chat-title-container{padding:18px;text-align:center;width:calc(100% - 36px)}.mentoring-chat .chat-title{color:#7554a0;font-size:24px;font-weight:800}.mentoring-chat .chat-subtitle{color:#7554a0;font-size:12px;font-weight:600;padding-top:4px}.mentoring-chat .mentoring-chat .message-row{display:flex;float:left;margin-left:18px;width:100%}.mentoring-chat .message-block{display:inline-block;width:100%}.mentoring-chat .message-avatar{background-position:50%;background-repeat:no-repeat;background-size:48px;border-radius:22px;color:#fff;height:44px;text-align:center;width:44px}.mentoring-chat .message{border-radius:6px;font-size:16px;max-width:60%;padding:12px}.mentoring-chat .message-image{border-radius:6px;height:30vw;margin-right:18px;max-height:200px;max-width:200px;min-height:100px;min-width:100px;object-fit:cover}.mentoring-chat .read-receipts{bottom:6px;position:relative}.mentoring-chat .read-receipt{background-position:50%;background-repeat:no-repeat;background-size:14px;border-radius:13px;height:13px;margin:1.5px;width:13px}.mentoring-chat .message-form-container{background-color:var(--surface-sunken);bottom:0;margin-bottom:36px;padding:18px;position:absolute;width:100%}.mentoring-chat .message-form{background-color:#fff;border:1px solid #3b2a50;border-radius:6px;overflow:hidden}.mentoring-chat .message-input{background-color:#fff;border:1px solid #fff;font-size:15px;height:40px;outline:none;padding:0 18px;width:calc(100% - 132px)}.mentoring-chat .image-button{cursor:pointer;height:100%;padding:0 12px}.mentoring-chat .send-button{background-color:#fff;border:1px solid #fff;cursor:pointer;height:42px;padding:0 18px}.mentoring-chat .send-icon{position:relative;top:1px;transform:rotate(-90deg)}.mentoring-chat .picture-icon{font-size:14px;position:relative;top:1px}*,:after,:before{font-size:62,5%;margin:0;padding:0}.mentoring-chat .wrapper{align-items:center;background:#7554a0;background:linear-gradient(90deg,#7554a0 7%,#7554a0 17%,#6a5fa8 29%,#6367ae 44%,#5774b8 66%,#4687c6 83%,#2ca3db 96%,#16bced 100%,#00d4ff 0);display:flex;height:100vh;justify-content:center;width:100%}.mentoring-chat .input{background-color:var(--surface-card);border:none;border-bottom:.3rem solid #0000;border-radius:.2rem;color:var(--text-strong);display:block;font-size:1.2rem;margin:0 auto 25px;outline:none;padding:1.5rem 2rem;transition:all .3s;width:90%}.mentoring-chat .form{width:400px}.mentoring-chat .title{color:#fff;font-size:2.3em;margin-bottom:30px;text-align:center;width:100%}.mentoring-chat .button{background-color:#fff;border:none;border-radius:4px;color:#000;cursor:pointer;font-size:22px;margin:5px;padding:20px;text-align:center;text-transform:uppercase;transition:all .4s;width:200px;width:90%}.mentoring-chat .button span{cursor:pointer;display:inline-block;position:relative;transition:.4s}.mentoring-chat .button span:after{content:"\00bb";opacity:0;position:absolute;right:-20px;top:0;transition:.5s}.mentoring-chat .button:hover span{padding-right:25px}.mentoring-chat .button:hover span:after{opacity:1;right:0}@media screen and (min-width:1024px){.mentoring-chat .ce-chat-card{width:245px}.mentoring-chat .ce-settings-container{width:100%}}.email-templates-page{padding:20px}.email-templates-page .et-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.email-templates-page .et-header h2{font-size:22px;font-weight:600;margin:0}.email-templates-page .et-empty{color:var(--text-faint);padding:60px 20px;text-align:center}.email-templates-page .et-empty h3{color:var(--text-body);margin-bottom:8px}.email-templates-page .et-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.email-templates-page .et-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;overflow:hidden;transition:box-shadow .2s}.email-templates-page .et-card:hover{box-shadow:0 4px 12px #0000001a}.email-templates-page .et-card-preview{background:var(--surface-page);border-bottom:1px solid var(--border-subtle);cursor:pointer;height:180px;overflow:hidden;position:relative}.email-templates-page .et-preview-content{padding:10px;pointer-events:none;transform:scale(.4);transform-origin:top left;width:250%}.email-templates-page .et-preview-empty{align-items:center;color:var(--text-faint);display:flex;font-size:14px;height:100%;justify-content:center}.email-templates-page .et-badge-builder{background:var(--brand-primary);border-radius:10px;color:var(--text-on-brand);font-size:10px;font-weight:600;padding:2px 8px;position:absolute;right:8px;top:8px}.email-templates-page .et-card-info{padding:12px 14px 8px}.email-templates-page .et-card-name{color:var(--text-strong);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-templates-page .et-card-subject{color:var(--text-faint);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-templates-page .et-card-actions{border-top:1px solid var(--border-subtle);display:flex;gap:0}.email-templates-page .et-action-btn{background:none;border:none;color:var(--brand-primary);cursor:pointer;flex:1 1;font-size:12px;font-weight:500;padding:8px 4px;transition:background .15s}.email-templates-page .et-action-btn:hover{background:#f5f7ff}.email-templates-page .et-action-delete{color:var(--status-danger)}.email-templates-page .et-action-delete:hover{background:#fff5f5}.email-template-editor{background:var(--surface-sunken);display:flex;flex-direction:column;height:calc(100vh - 60px)}.email-template-editor .ete-toolbar{align-items:center;background:var(--surface-card);border-bottom:1px solid var(--border-default);display:flex;gap:12px;padding:10px 16px;z-index:10}.email-template-editor .ete-toolbar input{border:1px solid var(--border-strong);border-radius:4px;flex:1 1;font-size:14px;font-weight:500;max-width:300px;padding:6px 12px}.email-template-editor .ete-toolbar .ete-subject-input{border:1px solid var(--border-strong);border-radius:4px;flex:1 1;font-size:13px;max-width:250px;padding:6px 12px}.email-template-editor .ete-editor-wrap{flex:1 1;overflow:hidden}.email-template-editor .gjs-one-bg{background-color:#2d2d2d}.email-template-editor .gjs-two-color{color:#ddd}.email-template-editor .gjs-three-bg{background-color:var(--brand-primary)}.email-template-editor .gjs-four-color,.email-template-editor .gjs-four-color-h:hover{color:var(--brand-primary)}.starter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.starter-card{border:2px solid var(--border-default);border-radius:8px;cursor:pointer;overflow:hidden;transition:border-color .2s,box-shadow .2s}.starter-card:hover{border-color:var(--brand-primary);box-shadow:0 4px 12px #667eea33}.starter-card-preview{background:var(--surface-page);border-bottom:1px solid var(--border-subtle);height:140px;overflow:hidden}.starter-card-preview-inner{padding:8px;pointer-events:none;transform:scale(.35);transform-origin:top left;width:285%}.starter-card-info{padding:10px 12px;text-align:center}.starter-card-info h6{color:var(--text-strong);font-size:13px;font-weight:600;margin:0}.starter-card-info small{color:var(--text-faint);font-size:11px}.CodeMirror{color:#000;direction:ltr;font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{background-color:#f7f7f7;border-right:1px solid #ddd;white-space:nowrap}.CodeMirror-linenumber{color:#999;min-width:20px;padding:0 3px 0 5px;text-align:right;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{background:#7e7;border:0!important;width:auto}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{animation:blink 1.06s steps(1) infinite;background-color:#14ff1480}.cm-animate-fat-cursor{animation:blink 1.06s steps(1) infinite;background-color:#7e7;width:auto}@keyframes blink{50%{background-color:initial}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:-50px}.CodeMirror-ruler{border-left:1px solid #ccc;bottom:0;position:absolute;top:0}.cm-s-default .cm-header{color:blue}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:blue}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{background:#fff;overflow:hidden;position:relative}.CodeMirror-scroll{height:100%;margin-bottom:-50px;margin-right:-50px;outline:none;overflow:scroll!important;padding-bottom:50px;position:relative}.CodeMirror-sizer{border-right:50px solid #0000;position:relative}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{display:none;outline:none;position:absolute;z-index:6}.CodeMirror-vscrollbar{overflow-x:hidden;overflow-y:scroll;right:0;top:0}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-x:scroll;overflow-y:hidden}.CodeMirror-scrollbar-filler{bottom:0;right:0}.CodeMirror-gutter-filler{bottom:0;left:0}.CodeMirror-gutters{left:0;min-height:100%;position:absolute;top:0;z-index:3}.CodeMirror-gutter{display:inline-block;height:100%;margin-bottom:-50px;vertical-align:top;white-space:normal}.CodeMirror-gutter-wrapper{background:none!important;border:none!important;position:absolute;z-index:4}.CodeMirror-gutter-background{bottom:0;position:absolute;top:0;z-index:4}.CodeMirror-gutter-elt{cursor:default;position:absolute;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:initial}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:initial}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{word-wrap:normal;-webkit-tap-highlight-color:transparent;font-feature-settings:"calt";background:#0000;border-radius:0;border-width:0;color:inherit;font-family:inherit;font-size:inherit;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual;line-height:inherit;margin:0;overflow:visible;position:relative;white-space:pre;z-index:2}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.CodeMirror-linewidget{padding:.1px;position:relative;z-index:2}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:initial}.CodeMirror-measure{height:0;overflow:hidden;position:absolute;visibility:hidden;width:100%}.CodeMirror-cursor{pointer-events:none;position:absolute}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{position:relative;visibility:hidden;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.cm-s-hopscotch.CodeMirror{background:#322931;color:#d5d3d5}.cm-s-hopscotch div.CodeMirror-selected{background:#433b42!important}.cm-s-hopscotch .CodeMirror-gutters{background:#322931;border-right:0}.cm-s-hopscotch .CodeMirror-linenumber{color:#797379}.cm-s-hopscotch .CodeMirror-cursor{border-left:1px solid #989498!important}.cm-s-hopscotch span.cm-comment{color:#b33508}.cm-s-hopscotch span.cm-atom,.cm-s-hopscotch span.cm-number{color:#c85e7c}.cm-s-hopscotch span.cm-attribute,.cm-s-hopscotch span.cm-property{color:#8fc13e}.cm-s-hopscotch span.cm-keyword{color:#dd464c}.cm-s-hopscotch span.cm-string{color:#fdcc59}.cm-s-hopscotch span.cm-variable{color:#8fc13e}.cm-s-hopscotch span.cm-variable-2{color:#1290bf}.cm-s-hopscotch span.cm-def{color:#fd8b19}.cm-s-hopscotch span.cm-error{background:#dd464c;color:#989498}.cm-s-hopscotch span.cm-bracket{color:#d5d3d5}.cm-s-hopscotch span.cm-tag{color:#dd464c}.cm-s-hopscotch span.cm-link{color:#c85e7c}.cm-s-hopscotch .CodeMirror-matchingbracket{color:#fff!important;text-decoration:underline}.cm-s-hopscotch .CodeMirror-activeline-background{background:#302020}.gjs-is__grab,.gjs-is__grab *{cursor:grab!important}.gjs-is__grabbing,.gjs-is__grabbing *{cursor:grabbing!important;-webkit-user-select:none;-o-user-select:none;user-select:none}:root{--gjs-main-color:#444;--gjs-primary-color:#444;--gjs-secondary-color:#ddd;--gjs-tertiary-color:#804f7b;--gjs-quaternary-color:#d278c9;--gjs-font-color:#ddd;--gjs-font-color-active:#f8f8f8;--gjs-main-dark-color:#0003;--gjs-secondary-dark-color:#0000001a;--gjs-main-light-color:#ffffff1a;--gjs-secondary-light-color:#ffffffb3;--gjs-soft-light-color:hsla(0,0%,100%,.015);--gjs-color-blue:#3b97e3;--gjs-color-red:#dd3636;--gjs-color-yellow:#ffca6f;--gjs-color-green:#62c462;--gjs-left-width:15%;--gjs-color-highlight:#71b7f1;--gjs-color-warn:#ffca6f;--gjs-handle-margin:-5px;--gjs-light-border:#ffffff0d;--gjs-arrow-color:#ffffffb3;--gjs-dark-text-shadow:#0003;--gjs-color-input-padding:22px;--gjs-input-padding:5px;--gjs-padding-elem-classmanager:5px 6px;--gjs-upload-padding:150px 10px;--gjs-animation-duration:0.2s;--gjs-main-font:Helvetica,sans-serif;--gjs-font-size:0.75rem;--gjs-placeholder-background-color:var(--gjs-color-green);--gjs-canvas-top:40px;--gjs-flex-item-gap:5px}.gjs-bg-main,.gjs-off-prv,.gjs-sm-colorp-c{background-color:#444;background-color:var(--gjs-main-color)}.gjs-color-main,.gjs-off-prv,.gjs-sm-stack #gjs-sm-add{fill:#ddd;fill:var(--gjs-font-color);color:#ddd;color:var(--gjs-font-color)}.gjs-color-active{fill:#f8f8f8;fill:var(--gjs-font-color-active);color:#f8f8f8;color:var(--gjs-font-color-active)}.gjs-color-warn{fill:#ffca6f;fill:var(--gjs-color-warn);color:#ffca6f;color:var(--gjs-color-warn)}.gjs-color-hl{fill:#71b7f1;fill:var(--gjs-color-highlight);color:#71b7f1;color:var(--gjs-color-highlight)}.gjs-clm-tags #gjs-clm-new,.gjs-invis-invis,.gjs-no-app{background-color:#0000;border:none;color:inherit}.gjs-no-app{height:10px}.opac50{filter:alpha(opacity=50);opacity:.5}.checker-bg,.gjs-checker-bg,.gjs-field-colorp-c,.gjs-sm-layer-preview{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.gjs-grabbing,.gjs-grabbing *,.gjs-layer-name,.gjs-no-user-select,.gjs-rte-toolbar{-webkit-user-select:none;-o-user-select:none;user-select:none}.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el,.gjs-margin-v-el,.gjs-no-pointer-events,.gjs-padding-v-el,.gjs-resizer-c{pointer-events:none}.gjs-block-category .gjs-title,.gjs-category-title,.gjs-clm-tags #gjs-clm-close,.gjs-com-no-select,.gjs-com-no-select img,.gjs-layer-title,.gjs-sm-sector-title,.gjs-trait-category .gjs-title,.no-select{-webkit-user-select:none;-o-user-select:none;user-select:none}.clear{clear:both}.gjs-block-category.gjs-open,.gjs-category-open,.gjs-sm-sector.gjs-sm-open,.gjs-trait-category.gjs-open{border-bottom:1px solid #00000040}.gjs-block-category .gjs-title,.gjs-category-title,.gjs-layer-title,.gjs-sm-sector-title,.gjs-trait-category .gjs-title{background-color:#0000001a;background-color:var(--gjs-secondary-dark-color);border-bottom:1px solid #00000040;cursor:pointer;font-weight:lighter;letter-spacing:1px;padding:9px 10px 9px 20px;position:relative;text-align:left}.btn-cl,.gjs-am-close,.gjs-mdl-btn-close{cursor:pointer;filter:alpha(opacity=30);font-size:25px;opacity:.3}.btn-cl:hover,.gjs-am-close:hover,.gjs-mdl-btn-close:hover{filter:alpha(opacity=70);opacity:.7}.gjs-traits-label{border-bottom:1px solid #0003;border-bottom:1px solid var(--gjs-main-dark-color);font-weight:lighter;margin-bottom:5px;padding:10px;text-align:left}.gjs-label-wrp{min-width:30%;width:30%}.gjs-field-wrp{flex-grow:1}.gjs-trait-categories,.gjs-traits-c,.gjs-traits-cs{display:flex;flex-direction:column}.gjs-trait-category{width:100%}.gjs-trait-category .gjs-caret-icon{margin-right:5px}.gjs-trt-header{font-weight:lighter;padding:10px}.gjs-trt-trait{align-items:center;display:flex;font-weight:lighter;gap:5px;justify-content:flex-start;padding:5px 10px;text-align:left}.gjs-trt-traits{font-size:.75rem;font-size:var(--gjs-font-size)}.gjs-trt-trait .gjs-label{overflow:hidden;text-align:left;text-overflow:ellipsis}.gjs-guide-info{position:absolute}.gjs-guide-info__content{display:flex;height:100%;padding:5px;position:absolute;width:100%}.gjs-guide-info__line{margin:auto;position:relative}.gjs-guide-info__line:after,.gjs-guide-info__line:before{background-color:inherit;content:"";display:block;position:absolute}.gjs-guide-info__y{padding:0 5px}.gjs-guide-info__y .gjs-guide-info__content{justify-content:center}.gjs-guide-info__y .gjs-guide-info__line{height:1px;width:100%}.gjs-guide-info__y .gjs-guide-info__line:after,.gjs-guide-info__y .gjs-guide-info__line:before{bottom:0;height:10px;left:0;margin:auto;top:0;width:1px}.gjs-guide-info__y .gjs-guide-info__line:after{left:auto;right:0}.gjs-guide-info__x{padding:5px 0}.gjs-guide-info__x .gjs-guide-info__content{align-items:center}.gjs-guide-info__x .gjs-guide-info__line{height:100%;width:1px}.gjs-guide-info__x .gjs-guide-info__line:after,.gjs-guide-info__x .gjs-guide-info__line:before{height:1px;left:0;margin:auto;right:0;top:0;transform:translateX(-50%);width:10px}.gjs-guide-info__x .gjs-guide-info__line:after{bottom:0;top:auto}.gjs-badge{white-space:nowrap}.gjs-badge__icon{display:inline-block;height:15px;vertical-align:middle;width:15px}.gjs-badge__icon svg{fill:currentColor}.gjs-badge__name{display:inline-block;vertical-align:middle}.gjs-frame-wrapper{height:100%;left:0;margin:auto;position:absolute;right:0;width:100%}.gjs-frame-wrapper--anim{transition:width .35s ease,height .35s ease}.gjs-frame-wrapper__top{display:flex;left:50%;padding:5px 0;position:absolute;top:0;transform:translateY(-100%) translateX(-50%);width:100%}.gjs-frame-wrapper__top-r{margin-left:auto}.gjs-frame-wrapper__left{height:100%;left:0;position:absolute;top:50%;transform:translateX(-100%) translateY(-50%)}.gjs-frame-wrapper__bottom{bottom:0;left:50%;position:absolute;transform:translateY(100%) translateX(-50%);width:100%}.gjs-frame-wrapper__right{height:100%;position:absolute;right:0;top:50%;transform:translateX(100%) translateY(-50%)}.gjs-frame-wrapper__icon{cursor:pointer;width:24px}.gjs-frame-wrapper__icon>svg{fill:currentColor}.gjs-fixedpadding-v-top,.gjs-padding-v-top{left:0;top:0;width:100%}.gjs-fixedpadding-v-right,.gjs-padding-v-right{right:0}.gjs-fixedpadding-v-bottom,.gjs-padding-v-bottom{bottom:0;left:0;width:100%}.gjs-fixedpadding-v-left,.gjs-padding-v-left{left:0}.gjs-cv-canvas{bottom:0;box-sizing:border-box;height:calc(100% - 40px);height:calc(100% - var(--gjs-canvas-top));left:0;overflow:hidden;position:absolute;top:40px;top:var(--gjs-canvas-top);width:85%;width:calc(100% - var(--gjs-left-width));z-index:1}.gjs-cv-canvas-bg{background-color:#00000026}.gjs-cv-canvas.gjs-cui{height:100%;top:0;width:100%}.gjs-cv-canvas.gjs-is__grab .gjs-cv-canvas__frames,.gjs-cv-canvas.gjs-is__grabbing .gjs-cv-canvas__frames{pointer-events:none}.gjs-cv-canvas__frames{height:100%;left:0;position:absolute;top:0;width:100%}.gjs-cv-canvas__spots{pointer-events:none;position:absolute;z-index:1}.gjs-cv-canvas .gjs-ghost{background-color:#5b5b5b;border:2px dashed #ccc;display:none;filter:alpha(opacity=55);opacity:.55;pointer-events:none;position:absolute;z-index:10}.gjs-cv-canvas .gjs-highlighter,.gjs-cv-canvas .gjs-highlighter-sel{height:100%;outline:1px solid #3b97e3;outline:1px solid var(--gjs-color-blue);outline-offset:-1px;pointer-events:none;position:absolute;width:100%}.gjs-cv-canvas .gjs-highlighter-warning{outline:3px solid #ffca6f;outline:3px solid var(--gjs-color-yellow)}.gjs-cv-canvas .gjs-highlighter-sel{outline:2px solid #3b97e3;outline:2px solid var(--gjs-color-blue);outline-offset:-2px}.gjs-cv-canvas #gjs-tools,.gjs-cv-canvas .gjs-tools{height:100%;left:0;outline:none;position:absolute;top:0;width:100%;z-index:1}.gjs-cv-canvas #gjs-tools{z-index:2}.gjs-cv-canvas *{box-sizing:border-box}.gjs-frame{border:none;bottom:0;display:block;height:100%;margin:auto;outline:medium none;right:0;transition:width .35s ease,height .35s ease;width:100%}.gjs-frame,.gjs-toolbar{left:0;position:absolute;top:0}.gjs-toolbar{background-color:#3b97e3;background-color:var(--gjs-color-blue);color:#fff;white-space:nowrap;z-index:10}.gjs-toolbar-item{cursor:pointer;display:inline-block;padding:5px;width:26px}.gjs-toolbar-item svg{fill:currentColor;vertical-align:middle}.gjs-resizer-c{height:100%;left:0;position:absolute;top:0;width:100%;z-index:9}.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el,.gjs-margin-v-el,.gjs-padding-v-el{background-color:#ff0;filter:alpha(opacity=10);opacity:.1;position:absolute}.gjs-fixedmargin-v-el,.gjs-fixedpadding-v-el{filter:alpha(opacity=20);opacity:.2}.gjs-fixedpadding-v-el,.gjs-padding-v-el{background-color:navy}.gjs-resizer-h{background-color:#fff;border:3px solid #3b97e3;border:3px solid var(--gjs-color-blue);height:10px;margin:-5px;margin:var(--gjs-handle-margin);pointer-events:all;position:absolute;width:10px}.gjs-resizer-h-tl{cursor:nwse-resize;left:0;top:0}.gjs-resizer-h-tr{cursor:nesw-resize;right:0;top:0}.gjs-resizer-h-tc{cursor:ns-resize;left:0;margin:-5px auto;margin:var(--gjs-handle-margin) auto;right:0;top:0}.gjs-resizer-h-cl{left:0}.gjs-resizer-h-cl,.gjs-resizer-h-cr{bottom:0;cursor:ew-resize;margin:auto -5px;margin:auto var(--gjs-handle-margin);top:0}.gjs-resizer-h-cr{right:0}.gjs-resizer-h-bl{bottom:0;cursor:nesw-resize;left:0}.gjs-resizer-h-bc{bottom:0;cursor:ns-resize;left:0;margin:-5px auto;margin:var(--gjs-handle-margin) auto;right:0}.gjs-resizer-h-br{bottom:0;cursor:nwse-resize;right:0}.gjs-pn-panel .gjs-resizer-h{background-color:#0003;border:none;opacity:0;transition:opacity .25s}.gjs-pn-panel .gjs-resizer-h:hover{opacity:1}.gjs-pn-panel .gjs-resizer-h-bc,.gjs-pn-panel .gjs-resizer-h-tc{margin:0 auto;width:100%}.gjs-pn-panel .gjs-resizer-h-cl,.gjs-pn-panel .gjs-resizer-h-cr{height:100%;margin:auto 0}.gjs-resizing .gjs-badge,.gjs-resizing .gjs-highlighter{display:none!important}.gjs-resizing-tl *{cursor:nwse-resize!important}.gjs-resizing-tr *{cursor:nesw-resize!important}.gjs-resizing-tc *{cursor:ns-resize!important}.gjs-resizing-cl *,.gjs-resizing-cr *{cursor:ew-resize!important}.gjs-resizing-bl *{cursor:nesw-resize!important}.gjs-resizing-bc *{cursor:ns-resize!important}.gjs-resizing-br *{cursor:nwse-resize!important}.no-dots,.ui-resizable-handle{border:none!important;margin:0!important;outline:none!important}.gjs-com-dashed *{box-sizing:border-box;outline:1px dashed #888;outline-offset:-2px}.gjs-badge,.gjs-com-badge{background-color:#3b97e3;background-color:var(--gjs-color-blue);color:#fff;display:none;font-size:12px;outline:none;padding:2px 5px;pointer-events:none;position:absolute;z-index:1}.gjs-badge-warning{background-color:#ffca6f;background-color:var(--gjs-color-yellow)}.gjs-com-placeholder,.gjs-placeholder{display:none;pointer-events:none;position:absolute;z-index:10}.gjs-placeholder{border-style:solid!important;box-sizing:border-box;outline:none;transition:top .2s,left .2s,width .2s,height .2s;transition:top var(--gjs-animation-duration),left var(--gjs-animation-duration),width var(--gjs-animation-duration),height var(--gjs-animation-duration)}.gjs-com-placeholder.horizontal,.gjs-placeholder.horizontal{border-color:#0000 #62c462;border-color:#0000 var(--gjs-placeholder-background-color);border-width:3px 5px;margin:-3px 0 0}.gjs-com-placeholder.vertical,.gjs-placeholder.vertical{border-color:#62c462 #0000;border-color:var(--gjs-placeholder-background-color) #0000;border-width:5px 3px;margin:0 0 0 -3px}.gjs-com-placeholder-int,.gjs-placeholder-int{background-color:#62c462;background-color:var(--gjs-placeholder-background-color);box-shadow:0 0 3px #0003;height:100%;outline:none;padding:1.5px;pointer-events:none;width:100%}.gjs-pn-panel{box-sizing:border-box;display:inline-block;padding:5px;position:absolute;text-align:center;z-index:3}.gjs-pn-panel .icon-redo,.gjs-pn-panel .icon-undo{font-size:20px;height:30px;width:25px}.gjs-pn-commands{box-shadow:0 0 5px #0003;box-shadow:0 0 5px var(--gjs-main-dark-color);left:0;top:0;width:85%;width:calc(100% - var(--gjs-left-width))}.gjs-pn-options{right:15%;right:var(--gjs-left-width);top:0}.gjs-pn-views{border-bottom:2px solid #0003;border-bottom:2px solid var(--gjs-main-dark-color);z-index:4}.gjs-pn-views,.gjs-pn-views-container{right:0;width:15%;width:var(--gjs-left-width)}.gjs-pn-views-container{box-shadow:0 0 5px #0003;box-shadow:0 0 5px var(--gjs-main-dark-color);height:100%;overflow:auto;padding:42px 0 0}.gjs-pn-buttons{align-items:center;display:flex;justify-content:space-between}.gjs-pn-btn{background-color:#0000;border:none;border-radius:2px;box-sizing:border-box;cursor:pointer;font-size:18px;line-height:21px;margin-right:5px;min-height:30px;min-width:30px;padding:4px;position:relative}.gjs-pn-btn.gjs-pn-active{background-color:#00000026;box-shadow:inset 0 0 3px #00000040}.gjs-pn-btn svg{fill:currentColor}.gjs-label{line-height:18px}.gjs-fields{display:flex}.gjs-select{padding:0;width:100%}.gjs-select select{padding-right:10px}.gjs-select select:-moz-focusring,.gjs-select:-moz-focusring{color:#0000;text-shadow:0 0 0 #ffffffb3;text-shadow:0 0 0 var(--gjs-secondary-light-color)}.gjs-btn-prim:focus,.gjs-button:focus,.gjs-input:focus,.gjs-select select:focus,.gjs-select:focus{outline:none}.gjs-field input,.gjs-field select,.gjs-field textarea{appearance:none;background-color:#0000;border:none;box-sizing:border-box;color:inherit;padding:5px;padding:var(--gjs-input-padding);position:relative;width:100%;z-index:1}.gjs-field input:focus,.gjs-field select:focus,.gjs-field textarea:focus{outline:none}.gjs-field input[type=number]{-moz-appearance:textfield}.gjs-field input[type=number]::-webkit-inner-spin-button,.gjs-field input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.gjs-field-range{flex:9 1 auto}.gjs-field-integer input{padding-right:30px}.gjs-clm-select option,.gjs-field-select option,.gjs-fields option,.gjs-select option,.gjs-sm-select option,.gjs-sm-unit option{background-color:#444;background-color:var(--gjs-main-color);color:#ddd;color:var(--gjs-font-color)}.gjs-field{background-color:#0003;background-color:var(--gjs-main-dark-color);border:none;border-radius:2px;box-shadow:none;box-sizing:border-box;padding:0;position:relative}.gjs-field textarea{resize:vertical}.gjs-field .gjs-sel-arrow{height:100%;position:absolute;right:0;top:0;width:9px;z-index:0}.gjs-field .gjs-d-s-arrow{border-left:3px solid #0000;border-right:4px solid #0000;border-top:4px solid #ffffffb3;border-top:4px solid var(--gjs-arrow-color);cursor:pointer;height:0;right:5px;right:var(--gjs-input-padding);width:0}.gjs-field .gjs-d-s-arrow,.gjs-field-arrows{bottom:0;margin:auto;position:absolute;top:0}.gjs-field-arrows{cursor:ns-resize;height:20px;right:3px;right:calc(var(--gjs-input-padding) - 2px);width:9px;z-index:10}.gjs-field-color,.gjs-field-radio{width:100%}.gjs-field-color input{box-sizing:border-box;padding-right:22px;padding-right:var(--gjs-color-input-padding)}.gjs-field-colorp{border-left:1px solid #0003;border-left:1px solid var(--gjs-main-dark-color);box-sizing:border-box;height:100%;padding:2px;position:absolute;right:0;top:0;width:22px;width:var(--gjs-color-input-padding);z-index:10}.gjs-field-colorp .gjs-checker-bg,.gjs-field-colorp .gjs-field-colorp-c{border-radius:1px;height:100%;width:100%}.gjs-field-colorp-c{height:100%;position:relative;width:100%}.gjs-field-color-picker{background-color:#ddd;background-color:var(--gjs-font-color);border-radius:1px;box-shadow:0 0 1px #0003;box-shadow:0 0 1px var(--gjs-main-dark-color);cursor:pointer;height:100%;position:absolute;top:0;width:100%}.gjs-field-checkbox{cursor:pointer;display:block;height:17px;padding:0;width:17px}.gjs-field-checkbox input{display:none}.gjs-field-checkbox input:checked+.gjs-chk-icon{border-color:#ffffff80;border-style:solid;border-width:0 2px 2px 0}.gjs-radio-item{border-left:1px solid #0003;border-left:1px solid var(--gjs-dark-text-shadow);flex:1 1 auto;text-align:center}.gjs-radio-item:first-child{border:none}.gjs-radio-item:hover{background:#0003;background:var(--gjs-main-dark-color)}.gjs-radio-item input{display:none}.gjs-radio-item input:checked+.gjs-radio-item-label{background-color:#fff3}.gjs-radio-items{display:flex}.gjs-radio-item-label{cursor:pointer;display:block;padding:5px;padding:var(--gjs-input-padding)}.gjs-field-units{bottom:0;margin:auto;position:absolute;right:10px;top:0}.gjs-field-unit{color:#ffffffb3;color:var(--gjs-arrow-color);cursor:pointer;font-size:10px;position:absolute;right:10px;top:3px}.gjs-input-unit{text-align:center}.gjs-field-arrow-d,.gjs-field-arrow-u{border-left:3px solid #0000;border-right:4px solid #0000;border-top:4px solid #ffffffb3;border-top:4px solid var(--gjs-arrow-color);bottom:4px;cursor:pointer;height:0;position:absolute;width:0}.gjs-field-arrow-u{border-bottom:4px solid #ffffffb3;border-bottom:4px solid var(--gjs-arrow-color);border-top:none;top:4px}.gjs-field-select{padding:0}.gjs-field-range{background-color:#0000;border:none;box-shadow:none;padding:0}.gjs-field-range input{height:100%;margin:0}.gjs-field-range input:focus{outline:none}.gjs-field-range input::-webkit-slider-thumb{-webkit-appearance:none;background-color:#ddd;background-color:var(--gjs-font-color);border:1px solid #0003;border:1px solid var(--gjs-main-dark-color);border-radius:100%;cursor:pointer;height:10px;margin-top:-4px;width:10px}.gjs-field-range input::-moz-range-thumb{background-color:#ddd;background-color:var(--gjs-font-color);border:1px solid #0003;border:1px solid var(--gjs-main-dark-color);border-radius:100%;cursor:pointer;height:10px;width:10px}.gjs-field-range input::-ms-thumb{background-color:#ddd;background-color:var(--gjs-font-color);border:1px solid #0003;border:1px solid var(--gjs-main-dark-color);border-radius:100%;cursor:pointer;height:10px;width:10px}.gjs-field-range input::-moz-range-track{background-color:#0003;background-color:var(--gjs-main-dark-color);border-radius:1px;height:3px;margin-top:3px}.gjs-field-range input::-webkit-slider-runnable-track{background-color:#0003;background-color:var(--gjs-main-dark-color);border-radius:1px;height:3px;margin-top:3px}.gjs-field-range input::-ms-track{background-color:#0003;background-color:var(--gjs-main-dark-color);border-radius:1px;height:3px;margin-top:3px}.gjs-btn-prim{border:none;border-radius:2px;color:inherit;cursor:pointer;padding:5px;padding:var(--gjs-input-padding)}.gjs-btn-prim,.gjs-btn-prim:active{background-color:#ffffff1a;background-color:var(--gjs-main-light-color)}.gjs-btn--full{width:100%}.gjs-chk-icon{box-sizing:border-box;display:block;height:14px;margin:0 5px;transform:rotate(45deg);width:6px}.gjs-add-trasp{background:none;border:none;border-radius:2px;color:#ddd;color:var(--gjs-font-color);cursor:pointer;filter:alpha(opacity=75);font-size:1em;opacity:.75}.gjs-add-trasp:hover{filter:alpha(opacity=100);opacity:1}.gjs-add-trasp:active{background-color:#0003}.gjs-devices-c{align-items:center;display:flex;padding:2px 3px 3px}.gjs-devices-c .gjs-device-label{flex-grow:2;margin-right:10px;text-align:left}.gjs-devices-c .gjs-select{flex-grow:20}.gjs-devices-c .gjs-add-trasp{flex-grow:1;margin-left:5px}.gjs-sm-clear{cursor:pointer;height:14px;margin-left:3px;min-width:14px;width:14px}.gjs-sm-header{font-weight:lighter;padding:10px}.gjs-sm-sector{clear:both;font-weight:lighter;text-align:left}.gjs-sm-sector-title{align-items:center;display:flex}.gjs-sm-sector-caret{height:17px;min-width:17px;transform:rotate(-90deg);width:17px}.gjs-sm-sector-label{margin-left:5px}.gjs-sm-sector.gjs-sm-open .gjs-sm-sector-caret{transform:none}.gjs-sm-properties{align-items:flex-end;box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:.75rem;font-size:var(--gjs-font-size);padding:10px 5px;width:100%}.gjs-sm-label{align-items:center;display:flex;margin:5px 5px 3px 0}.gjs-sm-close-btn,.gjs-sm-preview-file-close{cursor:pointer;display:block;filter:alpha(opacity=70);font-size:23px;opacity:.7;position:absolute;right:5px;top:0}.gjs-sm-close-btn:hover,.gjs-sm-preview-file-close:hover{filter:alpha(opacity=90);opacity:.9}.gjs-clm-field,.gjs-clm-select,.gjs-sm-field{position:relative;width:100%}.gjs-clm-field input,.gjs-clm-field select,.gjs-clm-select input,.gjs-clm-select select,.gjs-sm-field input,.gjs-sm-field select{background-color:#0000;border:none;color:#ffffffb3;width:100%}.gjs-clm-field input,.gjs-clm-select input,.gjs-sm-field input{box-sizing:border-box}.gjs-clm-field select,.gjs-clm-select select,.gjs-sm-field select{appearance:none;position:relative;z-index:1}.gjs-clm-field select::-ms-expand,.gjs-clm-select select::-ms-expand,.gjs-sm-field select::-ms-expand{display:none}.gjs-clm-field select:-moz-focusring,.gjs-clm-select select:-moz-focusring,.gjs-sm-field select:-moz-focusring{color:#0000;text-shadow:0 0 0 #ffffffb3;text-shadow:0 0 0 var(--gjs-secondary-light-color)}.gjs-clm-field input:focus,.gjs-clm-field select:focus,.gjs-clm-select input:focus,.gjs-clm-select select:focus,.gjs-sm-field input:focus,.gjs-sm-field select:focus{outline:none}.gjs-clm-field .gjs-sm-unit,.gjs-clm-select .gjs-sm-unit,.gjs-sm-field .gjs-sm-unit{color:#ffffffb3;color:var(--gjs-secondary-light-color);cursor:pointer;font-size:10px;position:absolute;right:10px;top:3px}.gjs-clm-field .gjs-clm-sel-arrow,.gjs-clm-field .gjs-sm-int-arrows,.gjs-clm-field .gjs-sm-sel-arrow,.gjs-clm-select .gjs-clm-sel-arrow,.gjs-clm-select .gjs-sm-int-arrows,.gjs-clm-select .gjs-sm-sel-arrow,.gjs-sm-field .gjs-clm-sel-arrow,.gjs-sm-field .gjs-sm-int-arrows,.gjs-sm-field .gjs-sm-sel-arrow{cursor:ns-resize;height:100%;position:absolute;right:0;top:0;width:9px}.gjs-clm-field .gjs-sm-sel-arrow,.gjs-clm-select .gjs-sm-sel-arrow,.gjs-sm-field .gjs-sm-sel-arrow{cursor:pointer}.gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-field .gjs-sm-d-arrow,.gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-field .gjs-sm-u-arrow,.gjs-clm-select .gjs-clm-d-s-arrow,.gjs-clm-select .gjs-sm-d-arrow,.gjs-clm-select .gjs-sm-d-s-arrow,.gjs-clm-select .gjs-sm-u-arrow,.gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-field .gjs-sm-d-arrow,.gjs-sm-field .gjs-sm-d-s-arrow,.gjs-sm-field .gjs-sm-u-arrow{border-left:3px solid #0000;border-right:4px solid #0000;cursor:pointer;height:0;position:absolute;width:0}.gjs-clm-field .gjs-sm-u-arrow,.gjs-clm-select .gjs-sm-u-arrow,.gjs-sm-field .gjs-sm-u-arrow{border-bottom:4px solid #ffffffb3;border-bottom:4px solid var(--gjs-secondary-light-color);top:4px}.gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-field .gjs-sm-d-arrow,.gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-select .gjs-clm-d-s-arrow,.gjs-clm-select .gjs-sm-d-arrow,.gjs-clm-select .gjs-sm-d-s-arrow,.gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-field .gjs-sm-d-arrow,.gjs-sm-field .gjs-sm-d-s-arrow{border-top:4px solid #ffffffb3;border-top:4px solid var(--gjs-secondary-light-color);bottom:4px}.gjs-clm-field .gjs-clm-d-s-arrow,.gjs-clm-field .gjs-sm-d-s-arrow,.gjs-clm-select .gjs-clm-d-s-arrow,.gjs-clm-select .gjs-sm-d-s-arrow,.gjs-sm-field .gjs-clm-d-s-arrow,.gjs-sm-field .gjs-sm-d-s-arrow{bottom:7px}.gjs-clm-select,.gjs-sm-color.gjs-clm-field,.gjs-sm-field.gjs-sm-color,.gjs-sm-field.gjs-sm-input,.gjs-sm-field.gjs-sm-integer,.gjs-sm-field.gjs-sm-list,.gjs-sm-field.gjs-sm-select,.gjs-sm-input.gjs-clm-field,.gjs-sm-integer.gjs-clm-field,.gjs-sm-list.gjs-clm-field,.gjs-sm-select.gjs-clm-field{background-color:#0003;background-color:var(--gjs-main-dark-color);border:1px solid #0000001a;border-radius:2px;box-shadow:1px 1px 0 #ffffff1a;box-shadow:1px 1px 0 var(--gjs-main-light-color);box-sizing:border-box;color:#ffffffb3;color:var(--gjs-secondary-light-color);padding:0 5px}.gjs-sm-composite.gjs-clm-field,.gjs-sm-composite.gjs-clm-select,.gjs-sm-field.gjs-sm-composite{border-radius:2px}.gjs-clm-select,.gjs-sm-field.gjs-sm-select,.gjs-sm-select.gjs-clm-field{padding:0}.gjs-clm-select select,.gjs-sm-field.gjs-sm-select select,.gjs-sm-select.gjs-clm-field select{height:20px}.gjs-clm-select option,.gjs-sm-field.gjs-sm-select option,.gjs-sm-select.gjs-clm-field option{padding:3px 0}.gjs-sm-composite.gjs-clm-field,.gjs-sm-composite.gjs-clm-select,.gjs-sm-field.gjs-sm-composite{background-color:#0000001a;background-color:var(--gjs-secondary-dark-color);border:1px solid #00000040}.gjs-sm-field.gjs-sm-list,.gjs-sm-list.gjs-clm-field,.gjs-sm-list.gjs-clm-select{float:left;overflow:hidden;padding:0;width:auto}.gjs-sm-field.gjs-sm-list input,.gjs-sm-list.gjs-clm-field input,.gjs-sm-list.gjs-clm-select input{display:none}.gjs-sm-field.gjs-sm-list label,.gjs-sm-list.gjs-clm-field label,.gjs-sm-list.gjs-clm-select label{cursor:pointer;display:block;padding:5px}.gjs-sm-field.gjs-sm-list .gjs-sm-radio:checked+label,.gjs-sm-list.gjs-clm-field .gjs-sm-radio:checked+label,.gjs-sm-list.gjs-clm-select .gjs-sm-radio:checked+label{background-color:#fff3}.gjs-sm-field.gjs-sm-list .gjs-sm-icon,.gjs-sm-list.gjs-clm-field .gjs-sm-icon,.gjs-sm-list.gjs-clm-select .gjs-sm-icon{background-position:50%;background-repeat:no-repeat;line-height:normal;text-shadow:none}.gjs-sm-field.gjs-sm-integer select,.gjs-sm-integer.gjs-clm-field select,.gjs-sm-integer.gjs-clm-select select{padding:0;width:auto}.gjs-sm-list .gjs-sm-el{border-left:1px solid #0003;border-left:1px solid var(--gjs-main-dark-color);float:left}.gjs-sm-list .gjs-sm-el:first-child{border:none}.gjs-sm-list .gjs-sm-el:hover{background:#0003;background:var(--gjs-main-dark-color)}.gjs-sm-slider .gjs-field-integer{flex:1 1 65px}.gjs-sm-property{box-sizing:border-box;float:left;margin-bottom:5px;padding:0 5px;width:50%}.gjs-sm-property--full,.gjs-sm-property.gjs-sm-color,.gjs-sm-property.gjs-sm-composite,.gjs-sm-property.gjs-sm-file,.gjs-sm-property.gjs-sm-list,.gjs-sm-property.gjs-sm-slider,.gjs-sm-property.gjs-sm-stack{width:100%}.gjs-sm-property .gjs-sm-btn{background-color:color-mix(in srgb,#0003,#fff 13%);background-color:color-mix(in srgb,var(--gjs-main-dark-color),#fff 13%);border:none;border-radius:2px;box-shadow:1px 1px 0 color-mix(in srgb,#0003,#fff 2%),inset 1px 1px 0 color-mix(in srgb,#0003,#fff 17%);box-shadow:1px 1px 0 color-mix(in srgb,var(--gjs-main-dark-color),#fff 2%),1px 1px 0 color-mix(in srgb,var(--gjs-main-dark-color),#fff 17%) inset;box-sizing:border-box;color:#ddd;color:var(--gjs-font-color);cursor:pointer;filter:alpha(opacity=85);height:auto;opacity:.85;padding:5px;position:relative;text-align:center;text-shadow:-1px -1px 0 #0003;text-shadow:-1px -1px 0 var(--gjs-main-dark-color);width:100%}.gjs-sm-property .gjs-sm-btn-c{box-sizing:border-box;float:left;width:100%}.gjs-sm-property__text-shadow .gjs-sm-layer-preview-cnt:after{color:#000;content:"T";font-weight:900;line-height:17px;padding:0 4px}.gjs-sm-preview-file{background-color:#ffffff0d;background-color:var(--gjs-light-border);border:1px solid color-mix(in srgb,#ffffff0d,#000 1%);border:1px solid color-mix(in srgb,var(--gjs-light-border),#000 1%);border-radius:2px;margin-top:5px;overflow:hidden;padding:3px 20px;position:relative}.gjs-sm-preview-file-cnt{background-position:50%;background-repeat:no-repeat;background-size:auto 100%;height:50px}.gjs-sm-preview-file-close{height:14px;top:-5px;width:14px}.gjs-sm-layers{margin-top:5px;min-height:30px;padding:1px 3px}.gjs-sm-layer{background-color:hsla(0,0%,100%,.055);border-radius:2px;margin:2px 0;padding:7px;position:relative}.gjs-sm-layer.gjs-sm-active{background-color:#ffffff1f}.gjs-sm-layer .gjs-sm-label-wrp{align-items:center;display:flex}.gjs-sm-layer #gjs-sm-move{cursor:grab;height:14px;min-width:14px;width:14px}.gjs-sm-layer #gjs-sm-label{flex-grow:1;margin:0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gjs-sm-layer-preview{border-radius:2px;height:15px;margin-right:5px;min-width:15px;width:15px}.gjs-sm-layer-preview-cnt{background-color:#fff;background-size:cover!important;border-radius:2px;height:100%;width:100%}.gjs-sm-layer #gjs-sm-close-layer{cursor:pointer;display:block;filter:alpha(opacity=50);height:14px;min-width:14px;opacity:.5;width:14px}.gjs-sm-layer #gjs-sm-close-layer:hover{filter:alpha(opacity=80);opacity:.8}.gjs-sm-stack .gjs-sm-properties{padding:5px 0 0}.gjs-sm-property__border-radius .gjs-sm-property__border-bottom-right-radius{order:4}.gjs-sm-stack #gjs-sm-add{background:none;border:none;cursor:pointer;height:18px;opacity:.75;outline:none;padding:0;position:absolute;right:0;top:-17px;width:18px}.gjs-sm-stack #gjs-sm-add:hover{filter:alpha(opacity=100);opacity:1}.gjs-sm-colorp-c{border-radius:2px;box-sizing:border-box;height:100%;padding:2px;position:absolute;right:0;top:0;width:20px}.gjs-sm-colorp-c .gjs-checker-bg,.gjs-sm-colorp-c .gjs-field-colorp-c{border-radius:1px;height:100%;width:100%}.gjs-sm-color-picker{background-color:#ddd;background-color:var(--gjs-font-color);border-radius:1px;box-shadow:0 0 1px #0003;box-shadow:0 0 1px var(--gjs-main-dark-color);cursor:pointer;height:16px;margin-top:-16px;width:100%}.gjs-sm-btn-upload #gjs-sm-upload{cursor:pointer;left:0;opacity:0;position:absolute;top:0;width:100%}.gjs-sm-btn-upload #gjs-sm-label{padding:2px 0}.gjs-sm-layer>#gjs-sm-move{cursor:move;filter:alpha(opacity=70);float:left;font-size:12px;margin:0 5px 0 0;opacity:.7}.gjs-sm-layer>#gjs-sm-move:hover{filter:alpha(opacity=90);opacity:.9}.gjs-blocks-c{display:flex;flex-wrap:wrap;justify-content:flex-start}.gjs-block-categories{display:flex;flex-direction:column}.gjs-block-category{width:100%}.gjs-block-category .gjs-caret-icon{margin-right:5px}.gjs-block{border:1px solid #0003;border-radius:3px;box-shadow:0 1px 0 0 #00000026;box-sizing:border-box;cursor:all-scroll;display:flex;flex-direction:column;font-size:11px;font-weight:lighter;justify-content:space-between;margin:10px 2.5% 5px;min-height:90px;min-width:45px;padding:1em;text-align:center;transition:all .2s ease 0s;transition-property:box-shadow,color;-webkit-user-select:none;-o-user-select:none;user-select:none;width:45%}.gjs-block:hover{box-shadow:0 3px 4px 0 #00000026}.gjs-block svg{fill:currentColor}.gjs-block__media{margin-bottom:10px;pointer-events:none}.gjs-block-svg{width:54px}.gjs-block-svg,.gjs-block-svg-path{fill:currentColor}.gjs-block.fa{font-size:2em;line-height:2em;padding:11px}.gjs-block-label{font-family:Helvetica,sans-serif;font-size:.65rem;font-weight:400;line-height:normal;overflow:hidden;pointer-events:none;text-overflow:ellipsis}.gjs-block.gjs-bdrag{padding:0;width:auto}.gjs-selected-parent{border:1px solid #ffca6f;border:1px solid var(--gjs-color-yellow)}.gjs-opac50{filter:alpha(opacity=50);opacity:.5}.gjs-layer{display:grid;font-size:.75rem;font-size:var(--gjs-font-size);font-weight:lighter;position:relative;text-align:left}.gjs-layer-item{background-color:#0000001a;background-color:var(--gjs-secondary-dark-color);border-bottom:1px solid #0003;border-bottom:1px solid var(--gjs-main-dark-color);cursor:pointer;justify-content:space-between;padding:5px 10px}.gjs-layer-item,.gjs-layer-item-left,.gjs-layer-item-right{align-items:center;display:flex;gap:5px;gap:var(--gjs-flex-item-gap)}.gjs-layer-item-left{width:100%}.gjs-layer-hidden{filter:alpha(opacity=55);opacity:.55}.gjs-layer-vis{box-sizing:initial;cursor:pointer;z-index:1}.gjs-layer-vis-off,.gjs-layer-vis-on{display:flex;height:13px;width:13px}.gjs-layer-vis-off,.gjs-layer-vis.gjs-layer-off .gjs-layer-vis-on{display:none}.gjs-layer-vis.gjs-layer-off .gjs-layer-vis-off{display:flex}.gjs-layer-caret{box-sizing:initial;cursor:pointer;display:flex;filter:alpha(opacity=70);height:15px;opacity:.7;transform:rotate(90deg);width:15px}.gjs-layer-caret:hover{filter:alpha(opacity=100);opacity:1}.gjs-layer.open>.gjs-layer-item .gjs-layer-caret{transform:rotate(180deg)}.gjs-layer-title{align-items:center;background-color:#0000!important;border-bottom:none;display:flex;padding:0}.gjs-layer-title-inn{align-items:center;display:flex;gap:5px;gap:var(--gjs-flex-item-gap);position:relative}.gjs-layer-title-c{width:100%}.gjs-layer__icon{display:block;max-height:15px;max-width:15px;padding-left:5px;width:100%}.gjs-layer__icon svg{fill:currentColor}.gjs-layer-name{box-sizing:initial;display:inline-block;height:auto;max-width:170px;overflow:hidden;white-space:nowrap}.gjs-layer-name--no-edit{text-overflow:ellipsis}.gjs-layer>.gjs-layer-children{display:none}.gjs-layer.open>.gjs-layer-children{display:block}.gjs-layer-no-chld>.gjs-layer-title-inn>.gjs-layer-caret{visibility:hidden}.gjs-layer-move{box-sizing:initial;cursor:move;display:flex;height:13px;width:13px}.gjs-layer.gjs-hovered .gjs-layer-item{background-color:hsla(0,0%,100%,.015);background-color:var(--gjs-soft-light-color)}.gjs-layer.gjs-selected .gjs-layer-item{background-color:#ffffff1a;background-color:var(--gjs-main-light-color)}.gjs-layers{height:100%;position:relative}.gjs-layers #gjs-placeholder{position:absolute;width:100%}.gjs-layers #gjs-placeholder #gjs-plh-int{height:100%;padding:1px}.gjs-layers #gjs-placeholder #gjs-plh-int.gjs-insert{background-color:#62c462;background-color:var(--gjs-color-green)}#gjs-clm-add-tag,.gjs-clm-tags-btn{background-color:#ffffff26;border:1px solid #00000026;border-radius:2px;box-sizing:border-box;cursor:pointer;height:24px;margin-right:3px;padding:3px;width:24px}.gjs-clm-tags-btn svg{fill:currentColor;display:block}.gjs-clm-header{align-items:center;display:flex;margin:7px 0}.gjs-clm-header-status{flex-shrink:1;margin-left:auto}.gjs-clm-tag{align-items:center;border-radius:3px;cursor:default;display:flex;margin:0 3px 3px 0;overflow:hidden;padding:5px}.gjs-clm-tag-close,.gjs-clm-tag-status{flex-shrink:1;height:12px;width:12px}.gjs-clm-tag-close svg,.gjs-clm-tag-status svg{fill:currentColor;vertical-align:middle}.gjs-clm-sels-info{margin:7px 0;text-align:left}.gjs-clm-sel-id{filter:alpha(opacity=50);font-size:.9em;opacity:.5}.gjs-clm-label-sel{float:left;padding-right:5px}.gjs-clm-tags{font-size:.75rem;font-size:var(--gjs-font-size);padding:10px 5px}.gjs-clm-tags #gjs-clm-sel{float:left;font-style:italic;margin-left:5px;padding:7px 0}.gjs-clm-tags #gjs-clm-tags-field{clear:both;display:flex;flex-wrap:wrap;margin-bottom:5px;padding:5px}.gjs-clm-tags #gjs-clm-tags-c{display:flex;flex-wrap:wrap;overflow:hidden;vertical-align:top}.gjs-clm-tags #gjs-clm-new{color:#ddd;color:var(--gjs-font-color);display:none;padding:5px 6px;padding:var(--gjs-padding-elem-classmanager)}.gjs-clm-tags #gjs-clm-close{color:#ffffffe6;cursor:pointer;filter:alpha(opacity=85);font-size:20px;line-height:0;opacity:.85}.gjs-clm-tags #gjs-clm-close:hover{filter:alpha(opacity=100);opacity:1}.gjs-clm-tags #gjs-clm-checkbox{color:#ffffffe6;cursor:pointer;font-size:9px;vertical-align:middle}.gjs-clm-tags #gjs-clm-tag-label{cursor:text;flex-grow:1;overflow:hidden;padding:0 3px;text-overflow:ellipsis}.gjs-mdl-container{background-color:#00000080;bottom:0;display:flex;font-family:Helvetica,sans-serif;font-family:var(--gjs-main-font);left:0;overflow-y:auto;position:fixed;right:0;top:0;z-index:100}.gjs-mdl-dialog{animation:gjs-slide-down .215s;border-radius:3px;font-weight:lighter;margin:auto;max-width:850px;position:relative;text-shadow:-1px -1px 0 #0000000d;width:90%;z-index:2}.gjs-mdl-title{font-size:1rem}.gjs-mdl-btn-close{position:absolute;right:15px;top:5px}.gjs-mdl-active .gjs-mdl-dialog{animation:gjs-mdl-slide-down .216s}.gjs-mdl-content,.gjs-mdl-header{clear:both;padding:10px 15px}.gjs-mdl-header{border-bottom:1px solid #0003;border-bottom:1px solid var(--gjs-main-dark-color);padding:15px 15px 7px;position:relative}.gjs-export-dl:after{clear:both;content:"";display:block;margin-bottom:10px}.gjs-dropzone{display:none;height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .25s;width:100%;z-index:11}.gjs-dropzone-active .gjs-dropzone{display:block;opacity:1}.gjs-am-assets{align-content:flex-start;align-items:flex-start;clear:both;display:flex;flex-wrap:wrap;height:290px;overflow:auto}.gjs-am-assets-header{padding:5px}.gjs-am-add-asset .gjs-am-add-field{float:left;width:70%}.gjs-am-add-asset button{float:right;width:25%}.gjs-am-preview-cont{background-color:#444;background-color:var(--gjs-main-color);border-radius:2px;float:left;height:70px;overflow:hidden;position:relative;width:30%}.gjs-am-preview{background-position:50%;background-repeat:no-repeat;background-size:cover;z-index:1}.gjs-am-preview,.gjs-am-preview-bg{height:100%;position:absolute;width:100%}.gjs-am-preview-bg{filter:alpha(opacity=50);opacity:.5;z-index:0}.gjs-am-dimensions{filter:alpha(opacity=50);font-size:10px;opacity:.5}.gjs-am-meta{box-sizing:border-box;float:left;font-size:12px;padding:5px 0 0 5px;width:70%}.gjs-am-meta>div{margin-bottom:5px}.gjs-am-close{cursor:pointer;display:none;position:absolute;right:5px;top:0}.gjs-am-asset{border-bottom:1px solid color-mix(in srgb,#0003,#000 3%);border-bottom:1px solid color-mix(in srgb,var(--gjs-main-dark-color),#000 3%);box-sizing:border-box;cursor:pointer;padding:5px;position:relative;width:100%}.gjs-am-asset:hover .gjs-am-close{display:block}.gjs-am-highlight{background-color:#ffffff1a;background-color:var(--gjs-main-light-color)}.gjs-am-assets-cont{background-color:#0000001a;background-color:var(--gjs-secondary-dark-color);border-radius:3px;box-sizing:border-box;float:right;height:325px;overflow:hidden;padding:10px;width:45%}.gjs-am-file-uploader{float:left;width:55%}.gjs-am-file-uploader>form{background-color:#0000001a;background-color:var(--gjs-secondary-dark-color);border:2px dashed;border-radius:3px;margin-bottom:15px;position:relative;text-align:center}.gjs-am-file-uploader>form.gjs-am-hover{border:2px solid #62c462;border:2px solid var(--gjs-color-green);color:color-mix(in srgb,#62c462,#fff 5%);color:color-mix(in srgb,var(--gjs-color-green),#fff 5%)}.gjs-am-file-uploader>form.gjs-am-disabled{border-color:red}.gjs-am-file-uploader>form #gjs-am-uploadFile{box-sizing:border-box;filter:alpha(opacity=0);opacity:0;padding:150px 10px;padding:var(--gjs-upload-padding);width:100%}.gjs-am-file-uploader #gjs-am-title{padding:150px 10px;padding:var(--gjs-upload-padding);position:absolute;width:100%}.gjs-cm-editor-c{box-sizing:border-box;float:left;width:50%}.gjs-cm-editor-c .CodeMirror{height:450px}.gjs-cm-editor{font-size:12px}.gjs-cm-editor#gjs-cm-htmlmixed{border-right:1px solid #0003;border-right:1px solid var(--gjs-main-dark-color);padding-right:10px}.gjs-cm-editor#gjs-cm-htmlmixed #gjs-cm-title{color:#a97d44}.gjs-cm-editor#gjs-cm-css{padding-left:10px}.gjs-cm-editor#gjs-cm-css #gjs-cm-title{color:#ddca7e}.gjs-cm-editor #gjs-cm-title{background-color:#0003;background-color:var(--gjs-main-dark-color);font-size:12px;padding:5px 10px 3px;text-align:right}.gjs-rte-toolbar{position:absolute;z-index:10}.gjs-rte-toolbar-ui{border:1px solid #0003;border:1px solid var(--gjs-main-dark-color);border-radius:3px}.gjs-rte-actionbar{display:flex}.gjs-rte-action{align-items:center;border-right:1px solid #0003;border-right:1px solid var(--gjs-main-dark-color);cursor:pointer;display:flex;justify-content:center;outline:none;padding:5px;text-align:center;width:25px}.gjs-rte-action:last-child{border-right:none}.gjs-rte-action:hover,.gjs-rte-active{background-color:#ffffff1a;background-color:var(--gjs-main-light-color)}.gjs-rte-disabled{color:#ffffff1a;color:var(--gjs-main-light-color);cursor:not-allowed}.gjs-rte-disabled:hover{background-color:initial}.sp-container{display:inline-block;left:0;overflow:hidden;position:absolute;top:0;z-index:9999994}.sp-container.sp-flat{position:relative}.sp-container,.sp-container *{box-sizing:initial}.sp-top{display:inline-block;position:relative;width:100%}.sp-top-inner{right:0}.sp-color,.sp-top-inner{bottom:0;left:0;position:absolute;top:0}.sp-color{right:20%}.sp-hue{bottom:0;height:100%;left:84%;position:absolute;right:0;top:0}.sp-clear-enabled .sp-hue{height:77.5%;top:33px}.sp-fill{padding-top:80%}.sp-sat,.sp-val{bottom:0;left:0;position:absolute;right:0;top:0}.sp-alpha-enabled .sp-top{margin-bottom:18px}.sp-alpha-enabled .sp-alpha{display:block}.sp-alpha-handle{background:#fff;border:1px solid #000;bottom:-4px;cursor:pointer;left:50%;opacity:.8;position:absolute;top:-4px;width:6px}.sp-alpha{bottom:-14px;display:none;height:8px;left:0;position:absolute;right:0}.sp-alpha-inner{border:1px solid #333}.sp-clear{display:none}.sp-clear.sp-clear-display{background-position:50%}.sp-clear-enabled .sp-clear{bottom:0;display:block;height:28px;left:84%;position:absolute;right:0;top:0}.sp-alpha,.sp-alpha-handle,.sp-clear,.sp-container,.sp-container button,.sp-container.sp-dragging .sp-input,.sp-dragger,.sp-preview,.sp-replacer,.sp-slider{-webkit-user-select:none;-o-user-select:none;user-select:none}.sp-container.sp-buttons-disabled .sp-button-container,.sp-container.sp-input-disabled .sp-input-container,.sp-container.sp-palette-buttons-disabled .sp-palette-button-container,.sp-initial-disabled .sp-initial,.sp-palette-disabled .sp-palette-container,.sp-palette-only .sp-picker-container{display:none}.sp-sat{background-image:linear-gradient(90deg,#fff,#cc9a8100);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType = 1, startColorstr=#FFFFFFFF, endColorstr=#00CC9A81)";filter:progid:DXImageTransform.Microsoft.gradient(GradientType = 1,startColorstr="#FFFFFFFF",endColorstr="#00CC9A81")}.sp-val{background-image:linear-gradient(0deg,#000,#cc9a8100);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#00CC9A81, endColorstr=#FF000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00CC9A81",endColorstr="#FF000000")}.sp-hue{background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.sp-1{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff0000",endColorstr="#ffff00");height:17%}.sp-2{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffff00",endColorstr="#00ff00");height:16%}.sp-3{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ff00",endColorstr="#00ffff");height:17%}.sp-4{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffff",endColorstr="#0000ff");height:17%}.sp-5{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#0000ff",endColorstr="#ff00ff");height:16%}.sp-6{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff00ff",endColorstr="#ff0000");height:17%}.sp-hidden{display:none!important}.sp-cf:after,.sp-cf:before{content:"";display:table}.sp-cf:after{clear:both}@media(max-device-width:480px){.sp-color{right:40%}.sp-hue{left:63%}.sp-fill{padding-top:60%}}.sp-dragger{background:#000;border:1px solid #fff;border-radius:5px;height:5px;left:0;width:5px}.sp-dragger,.sp-slider{cursor:pointer;position:absolute;top:0}.sp-slider{background:#fff;border:1px solid #000;height:3px;left:-1px;opacity:.8;right:-1px}.sp-container{background-color:#ececec;border:1px solid #f0c49b;border-radius:0;padding:0}.sp-clear,.sp-color,.sp-container,.sp-container button,.sp-container input,.sp-hue{-ms-box-sizing:border-box;box-sizing:border-box;font:normal 12px Lucida Grande,Lucida Sans Unicode,Lucida Sans,Geneva,Verdana,sans-serif}.sp-top{margin-bottom:3px}.sp-clear,.sp-color,.sp-hue{border:1px solid #666}.sp-input-container{float:right;margin-bottom:4px;width:100px}.sp-initial-disabled .sp-input-container,.sp-input{width:100%}.sp-input{background:#0000;border:1px inset;border-radius:3px;color:#222;font-size:12px!important;margin:0;padding:4px 5px}.sp-input:focus{border:1px solid orange}.sp-input.sp-validation-error{background:#fdd;border:1px solid red}.sp-palette-container,.sp-picker-container{float:left;margin-bottom:-290px;padding:10px 10px 300px;position:relative}.sp-picker-container{border-left:1px solid #fff;width:172px}.sp-palette-container{border-right:1px solid #ccc}.sp-palette-only .sp-palette-container{border:0}.sp-palette .sp-thumb-el{border:2px solid #0000;cursor:pointer;display:block;float:left;height:15px;margin:3px;position:relative;width:24px}.sp-palette .sp-thumb-el.sp-thumb-active,.sp-palette .sp-thumb-el:hover{border-color:orange}.sp-thumb-el{position:relative}.sp-initial{border:1px solid #333;float:left}.sp-initial span{border:none;display:block;float:left;height:25px;margin:0;width:30px}.sp-initial .sp-clear-display{background-position:50%}.sp-button-container,.sp-palette-button-container{float:right}.sp-replacer{background:#eee;border:1px solid #91765d;color:#333;cursor:pointer;display:inline-block;margin:0;overflow:hidden;padding:4px;vertical-align:middle}.sp-replacer.sp-active,.sp-replacer:hover{border-color:#f0c49b;color:#111}.sp-replacer.sp-disabled{border-color:silver;color:silver;cursor:default}.sp-dd{float:left;font-size:10px;height:16px;line-height:16px;padding:2px 0}.sp-preview{border:1px solid #222;float:left;height:20px;margin-right:5px;position:relative;width:25px;z-index:0}.sp-palette{max-width:220px}.sp-palette .sp-thumb-el{border:1px solid #d0d0d0;height:16px;margin:2px 1px;width:16px}.sp-container{padding-bottom:0}.sp-container button{background-color:#eee;background-image:linear-gradient(180deg,#eee,#ccc);border:1px solid;border-color:#ccc #ccc #bbb;border-radius:3px;color:#333;font-size:14px;line-height:1;padding:5px 4px;text-align:center;text-shadow:0 1px 0 #eee;vertical-align:middle}.sp-container button:hover{background-color:#ddd;background-image:linear-gradient(180deg,#ddd,#bbb);border:1px solid;border-color:#bbb #bbb #999;cursor:pointer;text-shadow:0 1px 0 #ddd}.sp-container button:active{border:1px solid;border-color:#aaa #aaa #888;-ms-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;-o-box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee;box-shadow:inset 0 0 5px 2px #aaa,0 1px 0 0 #eee}.sp-cancel{color:#d93f3f!important;font-size:11px;margin:0 5px 0 0;padding:2px;text-decoration:none;vertical-align:middle}.sp-cancel:hover{color:#d93f3f!important;text-decoration:underline}.sp-palette span.sp-thumb-active,.sp-palette span:hover{border-color:#000}.sp-alpha,.sp-preview,.sp-thumb-el{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);position:relative}.sp-alpha-inner,.sp-preview-inner,.sp-thumb-inner{bottom:0;display:block;left:0;position:absolute;right:0;top:0}.sp-palette .sp-thumb-inner{background-position:50% 50%;background-repeat:no-repeat}.sp-palette .sp-thumb-light.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIVJREFUeNpiYBhsgJFMffxAXABlN5JruT4Q3wfi/0DsT64h8UD8HmpIPCWG/KemIfOJCUB+Aoacx6EGBZyHBqI+WsDCwuQ9mhxeg2A210Ntfo8klk9sOMijaURm7yc1UP2RNCMbKE9ODK1HM6iegYLkfx8pligC9lCD7KmRof0ZhjQACDAAceovrtpVBRkAAAAASUVORK5CYII=)}.sp-palette .sp-thumb-dark.sp-thumb-active .sp-thumb-inner{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAMdJREFUOE+tkgsNwzAMRMugEAahEAahEAZhEAqlEAZhEAohEAYh81X2dIm8fKpEspLGvudPOsUYpxE2BIJCroJmEW9qJ+MKaBFhEMNabSy9oIcIPwrB+afvAUFoK4H0tMaQ3XtlrggDhOVVMuT4E5MMG0FBbCEYzjYT7OxLEvIHQLY2zWwQ3D+9luyOQTfKDiFD3iUIfPk8VqrKjgAiSfGFPecrg6HN6m/iBcwiDAo7WiBeawa+Kwh7tZoSCGLMqwlSAzVDhoK+6vH4G0P5wdkAAAAASUVORK5CYII=)}.sp-clear-display{background-image:url(data:image/gif;base64,R0lGODlhFAAUAPcAAAAAAJmZmZ2dnZ6enqKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq/Hx8fLy8vT09PX19ff39/j4+Pn5+fr6+vv7+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAUABQAAAihAP9FoPCvoMGDBy08+EdhQAIJCCMybCDAAYUEARBAlFiQQoMABQhKUJBxY0SPICEYHBnggEmDKAuoPMjS5cGYMxHW3IiT478JJA8M/CjTZ0GgLRekNGpwAsYABHIypcAgQMsITDtWJYBR6NSqMico9cqR6tKfY7GeBCuVwlipDNmefAtTrkSzB1RaIAoXodsABiZAEFB06gIBWC1mLVgBa0AAOw==);background-position:50%;background-repeat:no-repeat}.gjs-editor-sp{border:1px solid #0003;border:1px solid var(--gjs-main-dark-color);border-radius:3px;box-shadow:0 0 7px #0003;box-shadow:0 0 7px var(--gjs-main-dark-color)}.gjs-editor-sp .sp-hue,.gjs-editor-sp .sp-slider{cursor:row-resize}.gjs-editor-sp .sp-color,.gjs-editor-sp .sp-dragger{cursor:crosshair}.gjs-editor-sp .sp-alpha-handle,.gjs-editor-sp .sp-alpha-inner{cursor:col-resize}.gjs-editor-sp .sp-hue{left:90%}.gjs-editor-sp .sp-color{right:15%}.gjs-editor-sp .sp-picker-container{border:none}.gjs-editor-sp .colpick_dark .colpick_color{outline:1px solid #0003;outline:1px solid var(--gjs-main-dark-color)}.gjs-editor-sp .sp-cancel,.gjs-editor-sp .sp-cancel:hover{bottom:-8px;color:#777!important;font-size:25px;left:0;position:absolute;text-decoration:none}.gjs-editor-sp .sp-alpha-handle{background-color:#ccc;border:1px solid #555;width:4px}.gjs-editor-sp .sp-color,.gjs-editor-sp .sp-hue{border:1px solid #333}.gjs-editor-sp .sp-slider{background-color:#ccc;border:1px solid #555;height:3px;left:-4px;width:22px}.gjs-editor-sp .sp-dragger{background:#0000;box-shadow:0 0 0 1px #111}.gjs-editor-sp .sp-button-container{float:none;position:relative;text-align:right;width:100%}.gjs-editor-sp .sp-button-container .sp-choose,.gjs-editor-sp .sp-button-container .sp-choose:active,.gjs-editor-sp .sp-button-container .sp-choose:hover{background:#0003;background:var(--gjs-main-dark-color);border-color:#0003;border-color:var(--gjs-main-dark-color);box-shadow:none;color:#ddd;color:var(--gjs-font-color);padding:3px 5px;text-shadow:none}.gjs-editor-sp .sp-palette-container{border:none;float:none;margin:0;padding:5px 10px 0}.gjs-editor-sp .sp-palette .sp-thumb-el,.gjs-editor-sp .sp-palette .sp-thumb-el:hover{border:1px solid #000000e6}.gjs-editor-sp .sp-palette .sp-thumb-el.sp-thumb-active,.gjs-editor-sp .sp-palette .sp-thumb-el:hover{border-color:#000000e6}.gjs-one-bg{background-color:#444;background-color:var(--gjs-primary-color)}.gjs-one-color,.gjs-one-color-h:hover{color:#444;color:var(--gjs-primary-color)}.gjs-two-bg{background-color:#ddd;background-color:var(--gjs-secondary-color)}.gjs-two-color,.gjs-two-color-h:hover{color:#ddd;color:var(--gjs-secondary-color)}.gjs-three-bg{background-color:#804f7b;background-color:var(--gjs-tertiary-color)}.gjs-three-color,.gjs-three-color-h:hover{color:#804f7b;color:var(--gjs-tertiary-color)}.gjs-four-bg{background-color:#d278c9;background-color:var(--gjs-quaternary-color)}.gjs-four-color,.gjs-four-color-h:hover{color:#d278c9;color:var(--gjs-quaternary-color)}.gjs-danger-bg{background-color:#dd3636;background-color:var(--gjs-color-red)}.gjs-danger-color,.gjs-danger-color-h:hover{color:#dd3636;color:var(--gjs-color-red)}.gjs-bdrag{width:auto}.gjs-bdrag,.gjs-drag-helper{pointer-events:none!important;position:absolute!important;z-index:10!important}.gjs-drag-helper{background-color:#3b97e3!important;background-color:var(--gjs-color-blue)!important;margin:15px!important;outline:none!important;transform:scale(.3)!important;transform-origin:top left!important;-webkit-transform-origin:top left!important;transition:none!important}.gjs-grabbing,.gjs-grabbing *{cursor:grabbing!important;cursor:-webkit-grabbing!important}.gjs-grabbing{overflow:hidden}.gjs-off-prv{cursor:pointer;padding:5px;position:relative;z-index:10}.gjs-editor-cont ::-webkit-scrollbar-track{background:#0000001a;background:var(--gjs-secondary-dark-color)}.gjs-editor-cont ::-webkit-scrollbar-thumb{background-color:#fff3}.gjs-editor-cont ::-webkit-scrollbar{width:8px}.gjs-no-touch-actions{touch-action:none}.gjs-disabled{filter:alpha(opacity=50);opacity:.5;-webkit-user-select:none;-o-user-select:none;user-select:none}.gjs-editor{box-sizing:border-box;font-family:Helvetica,sans-serif;font-family:var(--gjs-main-font);font-size:.75rem;font-size:var(--gjs-font-size);height:100%;position:relative}.gjs-freezed{filter:alpha(opacity=50);opacity:.5;pointer-events:none}.gjs-hidden{display:none}@keyframes gjs-slide-down{0%{opacity:0;transform:translateY(-3rem)}to{opacity:1;transform:translate(0)}}@keyframes gjs-slide-up{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translateY(-3rem)}}.cm-s-hopscotch span.cm-error{color:#fff}.template-builder{background:var(--surface-sunken);display:flex;flex-direction:column;height:calc(100vh - 60px)}.template-builder .tb-toolbar{align-items:center;background:var(--surface-card);border-bottom:1px solid var(--border-default);display:flex;gap:12px;padding:10px 16px;z-index:10}.template-builder .tb-toolbar input{border:1px solid var(--border-strong);border-radius:4px;flex:1 1;font-size:14px;font-weight:500;max-width:300px;padding:6px 12px}.template-builder .tb-toolbar .tb-subject-input{border:1px solid var(--border-strong);border-radius:4px;flex:1 1;font-size:13px;font-weight:400;max-width:250px;padding:6px 12px}.template-builder .tb-error{color:var(--status-danger);font-size:13px;font-weight:500;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-builder .tb-editor-wrap{flex:1 1;overflow:hidden}.template-builder .gjs-one-bg{background-color:#2d2d2d}.template-builder .gjs-two-color{color:#ddd}.template-builder .gjs-three-bg{background-color:var(--brand-primary)}.template-builder .gjs-four-color,.template-builder .gjs-four-color-h:hover{color:var(--brand-primary)}.template-builder .gjs-block.tb-var-block{font-size:11.5px;font-weight:600;min-height:auto;padding:8px 10px}.profile-page{background:var(--surface-sunken);margin:0;min-height:100vh;padding:0}.profile-container{margin:0 auto;max-width:1200px}.profile-back-nav{padding:20px 40px 0}.profile-back-btn{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:8px;color:var(--text-body);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s}.profile-back-btn:hover{background:var(--surface-page);border-color:var(--border-strong);transform:translateX(-2px)}.profile-header{background:#fff;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;position:relative}.profile-header-bg{background:var(--gradient-brand);height:200px}.profile-header-content{align-items:flex-end;display:flex;gap:24px;padding:0 40px 32px;position:relative}.profile-avatar-wrapper{margin-top:-80px;position:relative}.profile-avatar{background:#fff;border:6px solid #fff;border-radius:50%;box-shadow:0 4px 12px #00000026;height:160px;object-fit:cover;width:160px}.profile-status-indicator{background:var(--status-success);border:4px solid #fff;border-radius:50%;bottom:12px;height:24px;position:absolute;right:12px;width:24px}.profile-header-info{flex:1 1;padding-bottom:8px}.profile-name{color:var(--text-strong);font-size:32px;font-weight:600;line-height:1.2;margin:0 0 4px}.profile-role{color:var(--brand-primary);font-size:16px;font-weight:500;margin:0 0 4px}.profile-email{color:var(--text-muted);font-size:14px;margin:0}.profile-institute{background:rgba(var(--brand-primary-rgb),.1);border-radius:12px;color:var(--text-body);display:inline-block;font-size:13px;font-weight:500;margin:6px 0 0;padding:3px 12px}.profile-content{grid-gap:24px;display:grid;gap:24px;padding:0 40px 40px}.profile-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.profile-card-header{border-bottom:1px solid var(--border-default);padding:20px 24px}.profile-card-header h2{color:var(--text-strong);font-size:18px;font-weight:600;margin:0}.profile-card-body{padding:24px}.profile-info-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.profile-info-item label{color:var(--text-muted);display:block;font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.profile-info-value{color:var(--text-strong);font-size:16px;font-weight:500}.profile-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.profile-stat-item{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;display:flex;gap:16px;padding:16px}.profile-stat-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:24px;height:48px;justify-content:center;width:48px}.profile-stat-content{flex:1 1}.profile-stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-bottom:4px}.profile-stat-value{color:var(--text-strong);font-size:24px;font-weight:700;line-height:1}.profile-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.profile-action-btn{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:8px;color:var(--text-body);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 20px;transition:all .2s}.profile-action-btn:hover{background:var(--surface-page);border-color:var(--border-strong);transform:translateY(-1px)}.profile-action-btn.secondary{border-color:var(--border-default)}.profile-action-btn.danger{color:var(--status-danger)}.profile-action-btn.danger,.profile-action-btn.danger:hover{background:var(--status-danger-bg);border-color:var(--status-danger-border)}.profile-action-icon{font-size:20px;line-height:1}.profile-action-text{flex:1 1;text-align:left}@media (max-width:768px){.profile-header-content{align-items:center;flex-direction:column;padding:0 20px 24px;text-align:center}.profile-avatar-wrapper{margin-top:-80px}.profile-name{font-size:24px}.profile-content{padding:0 20px 40px}.profile-actions,.profile-info-grid,.profile-stats-grid{grid-template-columns:1fr}}.tab-profile .card{display:none}.tab-profile .card .card-heading{margin:0;padding:0 20px}.tab-profile .card .card-heading.simple{border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:20px;font-weight:300}.tab-profile .card .card-heading.image img{border:0;border-radius:50%;display:inline-block;height:46px;margin-right:15px;vertical-align:top;width:46px}.tab-profile .card .card-heading.image .card-heading-header{display:inline-block;vertical-align:top}.tab-profile .card .card-heading.image .card-heading-header h3{color:#262626;font-size:14px;line-height:16px;margin:0}.tab-profile .card .card-heading.image .card-heading-header span{color:var(--text-faint);font-size:12px}.tab-profile .card .card-body{margin-top:20px;padding:0 20px}.tab-profile .card .card-media{margin:0 -14px;padding:0 20px}.tab-profile .card .card-media img{max-height:100%;max-width:100%}.tab-profile .card .card-actions{margin:20px 0 0;min-height:30px;padding:0 20px 20px}.tab-profile .card .card-comments{background-color:#f8f8f8;margin:0;padding:20px}.tab-profile .card .card-comments .comments-collapse-toggle{margin:0 20px 12px;padding:0}.tab-profile .card .card-comments .comments-collapse-toggle a,.tab-profile .card .card-comments .comments-collapse-toggle span{color:var(--text-faint);font-size:12px;overflow:hidden;padding-right:5px;text-overflow:ellipsis;white-space:nowrap}.tab-profile .card-comments .media-heading{font-size:13px;font-weight:700}.tab-profile .card.people{display:inline-block;height:300px;margin-left:20px;overflow:hidden;padding-top:0;position:relative;vertical-align:top;width:170px}.tab-profile .card.people:first-child{margin-left:0}.tab-profile .card.people .card-top{background-color:var(--surface-card);display:inline-block;height:150px;left:0;position:absolute;top:0;width:170px}.tab-profile .card.people .card-top.green{background-color:#53a93f}.tab-profile .card.people .card-top.blue{background-color:#427fed}.tab-profile .card.people .card-info{background:var(--surface-card);box-sizing:border-box;display:inline-block;height:101px;overflow:hidden;position:absolute;top:150px;width:100%}.tab-profile .card.people .card-info .title{color:#404040;display:block;font-size:16px;font-weight:700;line-height:18px;margin:8px 14px 0;overflow:hidden}.tab-profile .card.people .card-info .desc{color:#737373;display:block;font-size:12px;line-height:16px;margin:8px 14px 0;overflow:hidden;text-overflow:ellipsis}.tab-profile .card.people .card-bottom{bottom:0;box-sizing:border-box;display:inline-block;left:0;line-height:29px;padding:10px 20px;position:absolute;text-align:center;width:100%}.tab-profile .card.hovercard{background-color:#d6e0e233;overflow:hidden;padding-top:0;position:relative;text-align:center}.tab-profile .card.hovercard .cardheader{background:url(/static/media/banner.b5a19386497d50dfcbfb.jpg);background-size:cover;height:175px}.tab-profile .card.hovercard .avatar{margin-bottom:-50px;position:relative;top:-50px}.tab-profile .card.hovercard .avatar img{border:5px solid #ffffff80;border-radius:50%;height:150px;max-height:150px;max-width:150px;width:150px}.tab-profile .card.hovercard .info{padding:4px 8px 10px}.tab-profile .card.hovercard .info .title{color:var(--brand-primary);font-size:24px;line-height:1;margin-bottom:4px;vertical-align:middle}.tab-profile .card.hovercard .info .desc{color:#737373;font-size:12px;line-height:20px;overflow:hidden;text-overflow:ellipsis}.tab-profile .card.hovercard .bottom{margin-bottom:17px;padding:0 20px}.tab-profile .btn{border-radius:50%;height:32px;line-height:18px;width:32px}.category-header{align-items:center;background:var(--primary);color:var(--text-on-brand);display:flex;font-size:22px;font-weight:600;justify-content:flex-start;padding:5px 20px;position:sticky;top:0}.category-header-text{margin:auto}.test-details-wrapper{grid-gap:20px;border-radius:7px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:40px}.test-analysis-category-name{background:var(--blue);border-radius:7px 7px 0 0;color:var(--text-on-brand);display:block;font-size:18px;font-weight:500;padding:10px 0 10px 10px}.test-analysis-category-wrapper{border:1px solid #eceef0;box-shadow:0 20px 40px 0 #11181c14}.test-analysis-test-detail{border-bottom:1px solid #0003;font-weight:600}.test-analysis-test-container{display:grid;grid-template-columns:.2fr 1fr;padding:2px 0 3px 10px}.test-analysis-button-wrapper{border-top:1px solid #0003;display:flex;justify-content:flex-end;padding:10px}.test-analysis-more-button{color:var(--blue);cursor:pointer;font-weight:700}.test-list-div{align-items:center;display:flex}.test-list-div .test-list-arrow{margin-left:auto}.test-list-course-name{display:block;font-weight:600;padding-bottom:5px}.test-list-batch-name{display:block;font-size:14px}.tad-page{--tad-bg:#f4f6fb;--tad-surface:var(--surface-card);--tad-border:#e6e9f0;--tad-border-strong:#d3d8e3;--tad-text:#1f2533;--tad-text-muted:var(--text-muted);--tad-primary:var(--brand-primary);--tad-primary-hover:var(--brand-primary-hover);--tad-primary-soft:#eef2ff;--tad-success:var(--status-success);--tad-warning:var(--status-warning);--tad-shadow-sm:0 1px 2px #0f172a0a;--tad-shadow-md:0 4px 12px #0f172a0f;--tad-shadow-lg:0 12px 28px #0f172a1a;--tad-radius:14px;--tad-radius-sm:8px;background:var(--tad-bg);color:var(--tad-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100%;padding-bottom:32px}.tad-page .tad-header{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 60%,#818cf8 100%);box-shadow:var(--tad-shadow-md);color:var(--text-on-brand);display:flex;gap:16px;padding:18px 28px;position:sticky;top:0;z-index:10}.tad-page .tad-back-btn{align-items:center;background:#ffffff29;border:none;border-radius:50%;color:var(--text-on-brand);cursor:pointer;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;transition:background .15s ease,transform .15s ease;width:38px}.tad-page .tad-back-btn:hover{background:#ffffff47;transform:translateX(-2px)}.tad-page .tad-back-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.tad-page .tad-header-titles{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.tad-page .tad-header-eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;opacity:.78;text-transform:uppercase}.tad-page .tad-header-title{font-size:20px;font-weight:700;line-height:1.25;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tad-page .tad-header-count{background:#ffffff2e;border-radius:999px;flex-shrink:0;font-size:13px;font-weight:600;padding:6px 12px}.tad-page .tad-main{margin:24px auto 0;max-width:1080px;padding:0 24px}.tad-page .tad-list{display:flex;flex-direction:column;gap:14px;list-style:none;margin:0;padding:0}.tad-page .tad-card{background:var(--tad-surface);border:1px solid var(--tad-border);border-radius:var(--tad-radius);box-shadow:var(--tad-shadow-sm);transition:box-shadow .18s ease,border-color .18s ease,transform .18s ease}.tad-page .tad-card:hover{border-color:var(--tad-border-strong);box-shadow:var(--tad-shadow-lg);transform:translateY(-1px)}.tad-page .tad-card-body{align-items:center;display:flex;gap:24px;padding:18px 22px}.tad-page .tad-card-info{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.tad-page .tad-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--tad-text);display:-webkit-box;font-size:15.5px;font-weight:600;letter-spacing:.005em;line-height:1.35;margin:0;overflow:hidden;text-overflow:ellipsis}.tad-page .tad-batch-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:500;gap:8px;max-width:100%;padding:5px 12px;width:fit-content}.tad-page .tad-batch-chip.is-empty{background:var(--surface-sunken);border:1px dashed var(--tad-border-strong);color:var(--tad-text-muted)}.tad-page .tad-batch-chip.is-selected{background:var(--tad-primary-soft);border:1px solid var(--brand-primary-subtle);color:var(--tad-primary)}.tad-page .tad-batch-chip-icon{font-size:12px;opacity:.85}.tad-page .tad-batch-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tad-page .tad-card-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.tad-page .tad-btn{align-items:center;border:1px solid #0000;border-radius:var(--tad-radius-sm);display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;height:38px;justify-content:center;padding:0 16px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .05s ease;white-space:nowrap}.tad-page .tad-btn:active:not(:disabled){transform:translateY(1px)}.tad-page .tad-btn:focus-visible{outline:2px solid var(--tad-primary);outline-offset:2px}.tad-page .tad-btn-ghost,.tad-page .tad-btn-ghost:focus{background:var(--surface-card);border-color:var(--tad-border-strong);box-shadow:none;color:var(--tad-text)}.tad-page .tad-btn-ghost:hover{background:var(--surface-page);border-color:#b7bccb;color:var(--tad-text)}.tad-page .tad-btn-primary,.tad-page .tad-btn-primary:focus{background:var(--tad-primary);border-color:var(--tad-primary);box-shadow:0 1px 2px #4f46e54d;color:var(--text-on-brand)}.tad-page .tad-btn-primary:hover:not(:disabled){background:var(--tad-primary-hover);border-color:var(--tad-primary-hover);box-shadow:0 4px 10px #4f46e552;color:var(--text-on-brand)}.tad-page .tad-btn-primary:disabled{background:#c7c9d4;border-color:#c7c9d4;box-shadow:none;color:var(--text-on-brand);cursor:not-allowed;opacity:.85}.tad-page .tad-btn-icon{font-size:13px}.tad-page .tad-empty{background:var(--tad-surface);border:1px dashed var(--tad-border-strong);border-radius:var(--tad-radius);color:var(--tad-text-muted);padding:56px 24px;text-align:center}.tad-page .tad-empty-icon{color:var(--tad-warning);font-size:28px;margin-bottom:12px}.tad-page .tad-empty p{font-size:14px;margin:0}@media (max-width:720px){.tad-page .tad-header{gap:12px;padding:14px 16px}.tad-page .tad-header-title{font-size:17px}.tad-page .tad-header-count{display:none}.tad-page .tad-main{margin-top:16px;padding:0 14px}.tad-page .tad-card-body{align-items:stretch;flex-direction:column;gap:14px;padding:16px}.tad-page .tad-card-actions{justify-content:stretch}.tad-page .tad-card-actions .tad-btn{flex:1 1}}.sm-page{--sm-bg:#f4f6fb;--sm-surface:var(--surface-card);--sm-border:#e6e9f0;--sm-border-strong:#d3d8e3;--sm-text:#1f2533;--sm-text-muted:var(--text-muted);--sm-primary:var(--brand-primary);--sm-primary-hover:var(--brand-primary-hover);--sm-primary-soft:#eef2ff;--sm-success:var(--status-success);--sm-success-hover:var(--status-success);--sm-danger:var(--status-danger);--sm-danger-hover:var(--status-danger);--sm-warning:var(--status-warning);--sm-info-bg:var(--status-info-bg);--sm-info-border:#bfdbfe;--sm-info-text:var(--brand-primary-active);--sm-warn-bg:var(--status-warning-bg);--sm-warn-border:var(--status-warning-border);--sm-warn-text:var(--status-warning-text);--sm-shadow-sm:0 1px 2px #0f172a0a;--sm-shadow-md:0 4px 12px #0f172a0f;background:var(--sm-bg);color:var(--sm-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100%;padding:0 0 32px}.sm-page .sm-header{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 60%,#818cf8 100%);box-shadow:var(--sm-shadow-md);display:flex;gap:14px;padding:16px 24px;position:sticky;top:0;z-index:20}.sm-page .sm-back-btn,.sm-page .sm-header{align-items:center;color:var(--text-on-brand)}.sm-page .sm-back-btn{background:#ffffff29;border:none;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;height:36px;justify-content:center;transition:background .15s ease,transform .15s ease;width:36px}.sm-page .sm-back-btn:hover{background:#ffffff47;transform:translateX(-2px)}.sm-page .sm-header-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.sm-page .sm-header-eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;opacity:.78;text-transform:uppercase}.sm-page .sm-header-title{font-size:18px;font-weight:700;line-height:1.25;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm-page .sm-header-actions{display:flex;flex-shrink:0;gap:8px}.sm-page .sm-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;height:36px;justify-content:center;padding:0 14px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s ease,box-shadow .15s ease;white-space:nowrap}.sm-page .sm-btn:active:not(:disabled){transform:translateY(1px)}.sm-page .sm-btn:disabled{cursor:not-allowed;opacity:.6}.sm-page .sm-btn-on-dark{background:#ffffffeb;border-color:#0000;color:var(--sm-text)}.sm-page .sm-btn-on-dark:hover{background:var(--surface-card)}.sm-page .sm-btn-success{background:var(--sm-success);border-color:var(--sm-success);box-shadow:0 1px 2px #10b9814d;color:var(--text-on-brand)}.sm-page .sm-btn-success:hover{background:var(--sm-success-hover);border-color:var(--sm-success-hover)}.sm-page .sm-body{margin:20px auto 0;max-width:1400px;padding:0 20px}.sm-page .sm-banner{align-items:flex-start;border:1px solid;border-radius:10px;display:flex;font-size:13.5px;font-weight:500;gap:10px;margin-bottom:16px;padding:12px 16px}.sm-page .sm-banner-icon{flex-shrink:0;font-size:14px;margin-top:2px}.sm-page .sm-banner-info{background:var(--sm-info-bg);border-color:var(--sm-info-border);color:var(--sm-info-text)}.sm-page .sm-banner-warn{background:var(--sm-warn-bg);border-color:var(--sm-warn-border);color:var(--sm-warn-text)}.sm-page .sm-banner-error{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.sm-page .sm-meta{align-items:center;background:var(--sm-surface);border:1px solid var(--sm-border);border-radius:12px;box-shadow:var(--sm-shadow-sm);display:flex;flex-wrap:wrap;gap:16px 28px;margin-bottom:16px;padding:16px 20px}.sm-page .sm-meta-item{display:flex;flex-direction:column;gap:2px;min-width:0}.sm-page .sm-meta-label{color:var(--sm-text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.sm-page .sm-meta-value{color:var(--sm-text);font-size:14.5px;font-weight:600}.sm-page .sm-meta-spacer{flex:1 1}.sm-page .sm-student-count{align-items:center;background:var(--sm-primary-soft);border-radius:999px;color:var(--sm-primary);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:6px 12px}.sm-page .sm-table-wrap{background:var(--sm-surface);border:1px solid var(--sm-border);border-radius:12px;box-shadow:var(--sm-shadow-sm);max-height:calc(100vh - 280px);overflow:auto}.sm-page .sm-table{background:var(--sm-surface);border-collapse:initial;border-spacing:0;font-size:14px;min-width:900px;width:100%}.sm-page .sm-table th{background:var(--surface-page);border-bottom:2px solid var(--sm-border-strong);color:var(--sm-text);font-size:12.5px;font-weight:600;letter-spacing:.02em;min-width:110px;padding:12px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:2}.sm-page .sm-table th .sm-th-max{color:var(--sm-text-muted);display:block;font-size:11px;font-weight:500;letter-spacing:.04em;margin-top:2px}.sm-page .sm-table td{border-bottom:1px solid var(--sm-border);color:var(--sm-text);font-size:14px;padding:8px 12px;vertical-align:top}.sm-page .sm-table tbody tr{transition:background .08s ease}.sm-page .sm-table tbody tr:nth-child(2n) td{background:var(--surface-page)}.sm-page .sm-table tbody tr:hover td{background:var(--brand-primary-subtle);box-shadow:inset 0 -1px 0 #4f46e559}.sm-page .sm-table tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--sm-primary),inset 0 -1px 0 #4f46e559;color:var(--sm-primary)}.sm-page .sm-table tbody tr:hover .sm-cell-name{color:var(--sm-primary)}.sm-page .sm-table tbody tr:hover .sm-cell-total{background:var(--sm-primary);color:var(--text-on-brand)}.sm-page .sm-table tbody tr:hover .sm-input{background:var(--surface-card);border-color:#a5b4fc}.sm-page .sm-table tbody tr:focus-within td{background:var(--brand-primary-subtle);box-shadow:inset 0 -1px 0 #4f46e559}.sm-page .sm-table tbody tr:focus-within td:first-child{box-shadow:inset 3px 0 0 var(--sm-primary),inset 0 -1px 0 #4f46e559;color:var(--sm-primary)}.sm-page .sm-cell-sno{color:var(--sm-text-muted);font-weight:600;min-width:56px;text-align:center;width:56px}.sm-page .sm-cell-name{font-weight:600}.sm-page .sm-cell-readonly{color:var(--sm-text-muted);font-weight:600}.sm-page .sm-cell-marks-display{color:var(--sm-text);font-weight:600}.sm-page .sm-cell-remarks-display{color:var(--sm-text-muted);font-size:12.5px;font-style:italic;margin-top:4px}.sm-page .sm-cell-total{align-items:center;background:var(--sm-primary-soft);border-radius:6px;color:var(--sm-primary);display:inline-flex;font-weight:700;justify-content:center;min-width:44px;padding:4px 10px}.sm-page .sm-input{background:var(--surface-card);border:1px solid var(--sm-border-strong);border-radius:6px;color:var(--sm-text);font-family:inherit;font-size:14px;min-width:64px;padding:6px 8px;transition:border-color .12s ease,box-shadow .12s ease;width:100%}.sm-page .sm-input:hover{border-color:#b3b9c8}.sm-page .sm-input:focus{border-color:var(--sm-primary);box-shadow:0 0 0 3px #4f46e524;outline:none}.sm-page .sm-input.is-invalid{background:var(--status-danger-bg);border-color:var(--sm-danger);box-shadow:0 0 0 3px #ef444424}.sm-page .sm-textarea{font-family:inherit;margin-top:6px;resize:none}.sm-page .sm-cell-msg{font-size:11.5px;line-height:1.3;margin-top:4px;min-height:14px}.sm-page .sm-cell-msg.is-error{color:var(--sm-danger);font-weight:500}.sm-page .sm-cell-msg.is-success{color:var(--sm-success);font-weight:500}.sm-page .sm-cell-msg.is-updating{color:var(--sm-text-muted);font-style:italic}.sm-page .sm-loading{align-items:center;color:var(--sm-text-muted);display:flex;font-size:15px;gap:12px;justify-content:center;padding:80px 20px}.sm-page .sm-spinner{animation:sm-spin .7s linear infinite;border:2.5px solid var(--sm-border-strong);border-radius:50%;border-top-color:var(--sm-primary);height:20px;width:20px}@keyframes sm-spin{to{transform:rotate(1turn)}}.sm-page .sm-error-card{align-items:center;background:var(--sm-surface);border:1px solid var(--status-danger-border);border-left:4px solid var(--sm-danger);border-radius:10px;color:var(--status-danger);display:flex;font-weight:500;gap:12px;margin:20px;padding:18px 20px}@media (max-width:720px){.sm-page .sm-header{gap:10px;padding:14px 16px}.sm-page .sm-body{margin-top:14px;padding:0 12px}.sm-page .sm-meta{gap:12px 18px;padding:14px}.sm-page .sm-table td,.sm-page .sm-table th{padding:8px 10px}}.tde-batches-container{--tde-primary:var(--brand-primary);--tde-primary-hover:var(--brand-primary-hover);--tde-primary-soft:rgba(var(--brand-primary-rgb),0.08);--tde-accent:#a855f7;--tde-text:var(--text-strong);--tde-text-muted:var(--text-muted);--tde-text-soft:var(--text-faint);--tde-surface:var(--surface-card);--tde-surface-soft:var(--surface-page);--tde-border:var(--border-default);--tde-border-strong:var(--border-strong);--tde-shadow-sm:0 1px 2px #0f172a0a;--tde-shadow-md:0 1px 2px #0f172a0a,0 4px 16px #0f172a0f;--tde-shadow-lg:0 1px 3px #0f172a0d,0 12px 32px #4f46e524;--tde-radius:16px;--tde-radius-sm:10px;--tde-ease:cubic-bezier(0.4,0,0.2,1);-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 100% -10%,#a855f70f,#0000 60%),radial-gradient(900px 500px at -10% 0,rgba(var(--brand-primary-rgb),.06),#0000 60%),linear-gradient(180deg,var(--surface-page) 0,#f7f5ff 100%);color:var(--tde-text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;min-height:100vh;padding:40px 32px}.tde-batches-container .header{align-items:center;background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-md);display:flex;gap:20px;margin-bottom:36px;overflow:hidden;padding:24px 28px;position:relative}.tde-batches-container .header:before{background:linear-gradient(135deg,rgba(var(--brand-primary-rgb),.04) 0,#a855f70a 100%);content:"";inset:0;pointer-events:none;position:absolute}.tde-batches-container .header>*{position:relative}.tde-batches-container .header h1{color:var(--tde-text);flex:1 1;font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:0}.tde-batches-container .header h1 .header-subtitle{color:var(--tde-text-muted);display:block;font-size:13px;font-weight:500;letter-spacing:0;margin-top:4px}.tde-batches-container .back-button{align-items:center;background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:10px;box-shadow:var(--tde-shadow-sm);color:var(--tde-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s var(--tde-ease)}.tde-batches-container .back-button:hover{background:var(--tde-surface-soft);border-color:var(--tde-border-strong);box-shadow:var(--tde-shadow-md);transform:translateY(-1px)}.tde-batches-container .back-button:active{transform:translateY(0)}.tde-batches-container .loading,.tde-batches-container .no-batches{background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-sm);color:var(--tde-text-muted);font-size:15px;font-weight:500;padding:80px 40px;text-align:center}.tde-batches-container .error-message{background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);border:1px solid var(--status-danger-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-sm);color:var(--status-danger);font-size:14px;font-weight:500;margin-bottom:24px;padding:18px 22px}.tde-batches-container .batches-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.tde-batches-container .batch-card{background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-md);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;padding:26px;position:relative;transition:transform .28s var(--tde-ease),box-shadow .28s var(--tde-ease),border-color .28s var(--tde-ease)}.tde-batches-container .batch-card:before{background:linear-gradient(90deg,var(--tde-primary),var(--tde-accent));content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .32s var(--tde-ease)}.tde-batches-container .batch-card:hover:before{transform:scaleX(1)}.tde-batches-container .batch-card:hover{border-color:rgba(var(--brand-primary-rgb),.22);box-shadow:var(--tde-shadow-lg);transform:translateY(-4px)}.tde-batches-container .batch-card-header{align-items:center;display:flex;gap:14px;margin-bottom:22px}.tde-batches-container .batch-avatar{align-items:center;background:linear-gradient(135deg,var(--tde-primary) 0,var(--tde-accent) 100%);border-radius:12px;box-shadow:0 4px 12px #4f46e538;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:48px;justify-content:center;letter-spacing:-.02em;width:48px}.tde-batches-container .batch-name-wrap{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.tde-batches-container .batch-name{color:var(--tde-text);font-size:17px;font-weight:700;letter-spacing:-.015em;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tde-batches-container .batch-id{align-self:flex-start;background:var(--tde-primary-soft);border-radius:999px;color:var(--tde-primary);font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 10px}.tde-batches-container .batch-card-body{flex:1 1;margin-bottom:22px}.tde-batches-container .batch-info{display:flex;flex-direction:column;gap:8px}.tde-batches-container .info-item{align-items:baseline;background:var(--tde-surface-soft);border:1px solid var(--tde-border);border-radius:var(--tde-radius-sm);display:flex;gap:12px;justify-content:space-between;padding:12px 14px;transition:border-color .2s}.tde-batches-container .batch-card:hover .info-item{border-color:#d4d8e0}.tde-batches-container .info-label{color:var(--tde-text-muted);flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tde-batches-container .info-value{color:var(--tde-text);flex:1 1;font-size:14px;font-weight:500;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.tde-batches-container .info-value-empty{color:var(--tde-text-soft);font-style:italic;font-weight:400}.tde-batches-container .batch-card-footer{display:flex;justify-content:flex-end;padding-top:4px}.tde-batches-container .select-button{align-items:center;background:linear-gradient(180deg,var(--tde-primary) 0,var(--tde-primary-hover) 100%);border:none;border-radius:10px;box-shadow:0 1px 2px #4f46e533,0 4px 12px #4f46e52e;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;letter-spacing:.01em;padding:11px 22px;transition:transform .2s var(--tde-ease),box-shadow .2s var(--tde-ease)}.tde-batches-container .batch-card:hover .select-button{box-shadow:0 1px 2px #4f46e54d,0 8px 20px #4f46e552}.tde-batches-container .select-button:hover{transform:translateY(-1px)}.tde-batches-container .select-arrow{display:inline-block;font-size:16px;line-height:1;transition:transform .2s var(--tde-ease)}.tde-batches-container .batch-card:hover .select-arrow{transform:translateX(3px)}@media (max-width:768px){.tde-batches-container{padding:24px 16px}.tde-batches-container .header{align-items:flex-start;flex-direction:column;padding:20px}.tde-batches-container .header h1{font-size:22px}.tde-batches-container .batches-grid{grid-template-columns:1fr}.tde-batches-container .batch-card{padding:20px}}.tde-tests-container{--tde-primary:var(--brand-primary);--tde-primary-hover:var(--brand-primary-hover);--tde-primary-soft:rgba(var(--brand-primary-rgb),0.08);--tde-accent:#a855f7;--tde-text:var(--text-strong);--tde-text-muted:var(--text-muted);--tde-text-soft:var(--text-faint);--tde-surface:var(--surface-card);--tde-surface-soft:var(--surface-page);--tde-border:var(--border-default);--tde-border-strong:var(--border-strong);--tde-shadow-sm:0 1px 2px #0f172a0a;--tde-shadow-md:0 1px 2px #0f172a0a,0 4px 16px #0f172a0f;--tde-shadow-lg:0 1px 3px #0f172a0d,0 12px 32px #4f46e524;--tde-radius:16px;--tde-radius-sm:10px;--tde-ease:cubic-bezier(0.4,0,0.2,1);-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 600px at 100% -10%,#a855f70f,#0000 60%),radial-gradient(900px 500px at -10% 0,rgba(var(--brand-primary-rgb),.06),#0000 60%),linear-gradient(180deg,var(--surface-page) 0,#f7f5ff 100%);color:var(--tde-text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1280px;min-height:100vh;padding:40px 32px}.tde-tests-container .header{background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-md);display:flex;flex-direction:column;gap:18px;margin-bottom:36px;overflow:hidden;padding:24px 28px;position:relative}.tde-tests-container .header:before{background:linear-gradient(135deg,rgba(var(--brand-primary-rgb),.04) 0,#a855f70a 100%);content:"";inset:0;pointer-events:none;position:absolute}.tde-tests-container .header>*{position:relative}.tde-tests-container .header-content{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.tde-tests-container .header h1{color:var(--tde-text);font-size:26px;font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:0}.tde-tests-container .header h1 .header-subtitle{color:var(--tde-text-muted);display:block;font-size:13px;font-weight:500;letter-spacing:0;margin-top:4px}.tde-tests-container .batch-code{align-items:center;background:var(--tde-primary-soft);border-radius:999px;color:var(--tde-primary);display:inline-flex;font-size:13px;font-weight:600;gap:6px;letter-spacing:.01em;margin:0;padding:7px 14px}.tde-tests-container .batch-code-dot{background:var(--tde-primary);border-radius:50%;display:inline-block;height:6px;width:6px}.tde-tests-container .back-button{align-items:center;align-self:flex-start;background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:10px;box-shadow:var(--tde-shadow-sm);color:var(--tde-text);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s var(--tde-ease)}.tde-tests-container .back-button:hover{background:var(--tde-surface-soft);border-color:var(--tde-border-strong);box-shadow:var(--tde-shadow-md);transform:translateY(-1px)}.tde-tests-container .back-button:active{transform:translateY(0)}.tde-tests-container .loading{background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-sm);color:var(--tde-text-muted);padding:80px 40px;text-align:center}.tde-tests-container .spinner{animation:tde-spin .7s linear infinite;border:3px solid rgba(var(--brand-primary-rgb),.16);border-radius:50%;border-top-color:var(--tde-primary);height:44px;margin:0 auto 20px;width:44px}@keyframes tde-spin{to{transform:rotate(1turn)}}.tde-tests-container .loading p{font-size:15px;font-weight:500;margin:0}.tde-tests-container .error-container,.tde-tests-container .no-tests{background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-sm);padding:80px 40px;text-align:center}.tde-tests-container .state-icon{align-items:center;background:var(--tde-primary-soft);border-radius:16px;color:var(--tde-primary);display:inline-flex;height:64px;justify-content:center;margin-bottom:20px;width:64px}.tde-tests-container .state-icon.is-error{background:#ef444414;color:var(--status-danger)}.tde-tests-container .state-icon svg{height:28px;width:28px}.tde-tests-container .error-message,.tde-tests-container .no-tests p{color:var(--tde-text);font-size:16px;font-weight:500;margin:0 0 20px}.tde-tests-container .tests-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.tde-tests-container .test-card{align-items:center;background:var(--tde-surface);border:1px solid var(--tde-border);border-radius:var(--tde-radius);box-shadow:var(--tde-shadow-md);cursor:pointer;display:flex;gap:16px;overflow:hidden;padding:22px;position:relative;transition:transform .28s var(--tde-ease),box-shadow .28s var(--tde-ease),border-color .28s var(--tde-ease)}.tde-tests-container .test-card:before{background:linear-gradient(90deg,var(--tde-primary),var(--tde-accent));content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .32s var(--tde-ease)}.tde-tests-container .test-card:hover:before{transform:scaleX(1)}.tde-tests-container .test-card:hover{border-color:rgba(var(--brand-primary-rgb),.22);box-shadow:var(--tde-shadow-lg);transform:translateY(-3px)}.tde-tests-container .test-icon{align-items:center;background:linear-gradient(135deg,var(--tde-primary) 0,var(--tde-accent) 100%);border-radius:12px;box-shadow:0 4px 12px #4f46e538;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:52px;justify-content:center;letter-spacing:-.02em;width:52px}.tde-tests-container .test-content{display:flex;flex:1 1;flex-direction:column;gap:6px;min-width:0}.tde-tests-container .test-name{color:var(--tde-text);font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tde-tests-container .test-id{align-self:flex-start;background:var(--tde-primary-soft);border-radius:999px;color:var(--tde-primary);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 10px}.tde-tests-container .test-arrow{align-items:center;background:var(--tde-surface-soft);border:1px solid var(--tde-border);border-radius:10px;color:var(--tde-text-muted);display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:36px;justify-content:center;transition:all .22s var(--tde-ease);width:36px}.tde-tests-container .test-card:hover .test-arrow{background:linear-gradient(180deg,var(--tde-primary) 0,var(--tde-primary-hover) 100%);border-color:#0000;box-shadow:0 4px 10px #4f46e547;color:#fff;transform:translateX(2px)}@media (max-width:768px){.tde-tests-container{padding:24px 16px}.tde-tests-container .header{padding:20px}.tde-tests-container .header h1{font-size:22px}.tde-tests-container .tests-grid{gap:16px;grid-template-columns:1fr}.tde-tests-container .test-card{padding:18px}.tde-tests-container .test-icon{font-size:16px;height:48px;width:48px}}.resource-pool-browser{z-index:1060!important}.resource-pool-browser .modal-dialog{margin:1.75rem auto;max-width:95vw!important;width:95vw!important;z-index:1060}@media (min-width:1200px){.resource-pool-browser .modal-dialog{max-width:1600px!important}}@media (min-width:992px){.resource-pool-browser .modal-dialog{max-width:1400px!important}}.resource-pool-browser .modal-body{max-width:100%;min-height:400px;overflow-x:hidden;padding:1.25rem 1.5rem}.resource-pool-browser .modal-content{max-width:100%;width:100%}.resource-pool-browser .row.g-3{align-items:stretch;margin-left:0;margin-right:0}.resource-pool-browser .row.g-3>*{padding-left:.75rem;padding-right:.75rem}.resource-pool-browser .row.g-3>:first-child{padding-left:0}.resource-pool-browser .row.g-3>:last-child{padding-right:0}.resource-pool-browser .input-group{display:flex;width:100%}.resource-pool-browser .input-group-lg{height:48px}.resource-pool-browser .input-group-lg .btn,.resource-pool-browser .input-group-lg .form-control,.resource-pool-browser .input-group-lg .form-select{font-size:1rem;height:48px;padding:.75rem 1rem}.resource-pool-browser .input-group-text{align-items:center;background-color:var(--surface-page);border-color:var(--border-default);display:flex;justify-content:center;padding:.75rem 1rem}.resource-pool-browser .form-control,.resource-pool-browser .form-select{border-color:var(--border-default)}.resource-pool-browser .form-control:focus,.resource-pool-browser .form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem #0d6efd40}.resource-pool-table{border:1px solid var(--border-default);border-radius:.375rem;margin-top:1rem;max-height:500px;overflow-x:hidden;overflow-y:auto;width:100%}.resource-pool-table .table{margin-bottom:0;table-layout:fixed;width:100%}.resource-pool-table .table thead{background-color:var(--surface-page);position:sticky;top:0;z-index:10}.resource-pool-table .table thead th{border-bottom:2px solid var(--border-default);font-weight:600;padding:.75rem;white-space:nowrap}.resource-pool-table .table tbody td{word-wrap:break-word;overflow-wrap:break-word;padding:.75rem;vertical-align:middle}.resource-pool-table .table tbody td:first-child{min-width:450px;overflow:visible}.resource-pool-table .resource-type-badge{align-items:center;border-radius:.3rem;display:inline-flex;flex-shrink:0;font-size:.75rem;font-weight:600;line-height:1.3;margin-left:.5rem;padding:.3rem .6rem;vertical-align:middle;white-space:nowrap}.resource-pool-table .table tbody td .d-flex.align-items-center.gap-2{align-items:center;flex-wrap:nowrap;gap:0!important;margin-bottom:.25rem}.resource-pool-table .table tbody td .fw-semibold{display:inline-block;flex:0 1 auto;font-size:.95rem;margin-bottom:0;white-space:normal;word-break:break-word}.resource-pool-table .table tbody td>.d-flex{gap:.75rem;overflow:visible}.resource-pool-table .table tbody tr{transition:background-color .2s ease}.resource-pool-table .table tbody tr:hover{background-color:var(--surface-page)}.resource-pool-table .table tbody tr.clickable{cursor:pointer}.resource-pool-table .table tbody tr.table-active{background-color:#e7f1ff}.resource-pool-table .table tbody td .d-flex{gap:.5rem}.resource-pool-table .table tbody td .text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-pool-footer{background-color:var(--surface-page);border-radius:0 0 .375rem .375rem;border-top:1px solid var(--border-default);margin-top:-1px;padding:12px}.resource-pool-browser .modal-xl{max-width:1140px}.resource-pool-table::-webkit-scrollbar{width:8px}.resource-pool-table::-webkit-scrollbar-track{background:#f1f1f1;border-radius:0 .375rem .375rem 0}.resource-pool-table::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.resource-pool-table::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.resource-pool-browser .modal-dialog{margin:1rem auto;max-width:95%}.resource-pool-browser .col-md-4,.resource-pool-browser .col-md-8{flex:0 0 100%;max-width:100%;width:100%}.resource-pool-table{max-height:400px}}.ai-generate-modal .modal-content{border:none;border-radius:16px;box-shadow:0 20px 60px #00000026;overflow:hidden}.ai-generate-modal .modal-dialog{transition:max-width .3s ease}.aigm-header{align-items:center;background:var(--gradient-brand);color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.aigm-header-content{align-items:center;display:flex;gap:12px}.aigm-header-icon{animation:aigm-sparkle 2s ease-in-out infinite}@keyframes aigm-sparkle{0%,to{transform:rotate(0deg) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}.aigm-header h3{font-size:16px;font-weight:600;margin:0}.aigm-subtitle{font-size:12px;margin:2px 0 0;opacity:.85}.aigm-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .2s;width:30px}.aigm-close:hover{background:#ffffff4d}.aigm-choice-body{padding:24px}.aigm-choice-description{color:var(--text-muted);font-size:14px;margin:0 0 16px;text-align:center}.aigm-choice-card{align-items:center;background:#fff;border:2px solid var(--border-default);border-radius:12px;cursor:pointer;display:flex;gap:16px;margin-bottom:12px;padding:16px 20px;text-align:left;transition:all .2s ease;width:100%}.aigm-choice-card:last-child{margin-bottom:0}.aigm-choice-card:hover{background:#f8f7ff;border-color:var(--brand-primary);box-shadow:0 4px 12px #667eea26;transform:translateY(-1px)}.aigm-choice-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.aigm-choice-quick .aigm-choice-icon{background:linear-gradient(135deg,#fbbf24 0,var(--status-warning) 100%);color:#fff}.aigm-choice-custom .aigm-choice-icon{background:var(--gradient-brand);color:#fff}.aigm-choice-text h4{color:var(--text-strong);font-size:15px;font-weight:600;margin:0 0 4px}.aigm-choice-text p{color:var(--text-muted);font-size:13px;line-height:1.4;margin:0}.aigm-chat-body{display:flex;flex-direction:column;height:500px;max-height:65vh}.aigm-messages{background:var(--surface-page);flex:1 1;overflow-y:auto;padding:16px 20px}.aigm-message{animation:aigm-msgIn .3s ease;display:flex;gap:10px;margin-bottom:12px}@keyframes aigm-msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.aigm-message-user{justify-content:flex-end}.aigm-message-avatar{align-items:center;background:var(--gradient-brand);border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.aigm-message-content{border-radius:12px;font-size:13px;line-height:1.5;max-width:80%;padding:10px 14px}.aigm-message-user .aigm-message-content{background:var(--gradient-brand);border-bottom-right-radius:4px;color:#fff;white-space:pre-wrap}.aigm-message-assistant .aigm-message-content{background:#fff;border:1px solid var(--border-default);border-bottom-left-radius:4px;color:var(--text-strong)}.aigm-message-content p{margin:6px 0}.aigm-message-content p:first-child{margin-top:0}.aigm-message-content p:last-child{margin-bottom:0}.aigm-message-content strong{font-weight:600}.aigm-message-content ol,.aigm-message-content ul{margin:6px 0;padding-left:20px}.aigm-message-content li{margin:2px 0}.aigm-message-content em{font-style:italic}.aigm-typing{background:#fff;border:1px solid var(--border-default);border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:10px 14px}.aigm-typing span{animation:aigm-typingDot 1.4s infinite;background:#9ca3af;border-radius:50%;height:7px;width:7px}.aigm-typing span:nth-child(2){animation-delay:.2s}.aigm-typing span:nth-child(3){animation-delay:.4s}@keyframes aigm-typingDot{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.aigm-chips-container{background:#fff;border-top:1px solid var(--border-subtle);padding:8px 20px}.aigm-chips{display:flex;flex-wrap:wrap;gap:6px}.aigm-chip{background:#fff;border:1px solid var(--border-strong);border-radius:16px;color:var(--text-body);cursor:pointer;font-size:11px;font-weight:500;padding:4px 10px;transition:all .15s ease;white-space:nowrap}.aigm-chip:hover{background:#f8f7ff;border-color:var(--brand-primary);color:var(--brand-primary)}.aigm-chip-selected{background:var(--gradient-brand);border-color:#0000;color:#fff}.aigm-chip-selected:hover{border-color:#0000;color:#fff;opacity:.9}.aigm-input-area{background:#fff;border-top:1px solid var(--border-default);padding:12px 20px 16px}.aigm-input-row{display:flex;gap:8px;margin-bottom:12px}.aigm-input{border:1px solid var(--border-strong);border-radius:8px;flex:1 1;font-size:13px;outline:none;padding:10px 14px;transition:all .2s}.aigm-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea1a}.aigm-send{align-items:center;background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all .2s;width:40px}.aigm-send:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.aigm-send:disabled{cursor:not-allowed;opacity:.5}.aigm-actions{align-items:center;display:flex;justify-content:space-between}.aigm-btn-cancel{background:#fff;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.aigm-btn-cancel:hover{background:var(--surface-page);border-color:var(--border-strong)}.aigm-btn-generate{align-items:center;background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 20px;transition:all .2s}.aigm-btn-generate:hover:not(:disabled){box-shadow:0 4px 16px #667eea4d;transform:translateY(-1px)}.aigm-btn-generate:disabled{cursor:not-allowed;opacity:.5}.aigm-generating-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffd9;border-radius:16px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.aigm-generating-content{text-align:center}.aigm-generating-content p{color:var(--text-body);font-size:15px;font-weight:600;margin:12px 0 4px}.aigm-generating-hint{color:var(--text-faint)!important;font-size:12px!important;font-weight:400!important}.aigm-generating-docs-hint{align-items:center;color:var(--brand-primary)!important;display:flex;font-size:13px!important;font-weight:500!important;gap:5px;margin:4px 0 2px!important}.aigm-course-docs-badge{color:var(--brand-primary);gap:5px;margin:4px 0 0}.aigm-chat-docs-banner,.aigm-course-docs-badge{align-items:center;display:flex;font-size:12px;font-weight:500}.aigm-chat-docs-banner{background:#f0ecff;border-bottom:1px solid #e0d9fc;color:#6d5acd;flex-shrink:0;gap:6px;padding:6px 16px}.aigm-strict-tag{background:var(--brand-primary-subtle);border-radius:4px;color:var(--brand-accent);display:inline-block;font-size:10px;font-weight:600;letter-spacing:.5px;margin-left:4px;padding:1px 6px;text-transform:uppercase}.aigm-spinner{animation:aigm-spin 1s linear infinite;color:var(--brand-primary)}@keyframes aigm-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.aigm-error-banner{align-items:center;background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:8px;color:var(--status-danger);display:flex;font-size:13px;gap:10px;margin:12px 16px;padding:10px 14px}.aigm-error-retry{background:#fff;border:1px solid var(--status-danger);border-radius:6px;color:var(--status-danger);cursor:pointer;font-size:12px;font-weight:500;margin-left:auto;padding:4px 12px;white-space:nowrap}.aigm-error-retry:hover{background:var(--status-danger-bg)}.aigm-review-body{display:flex;flex-direction:column;max-height:70vh;overflow-y:auto}.aigm-rejected-badge{color:#fbbf24;font-weight:600}.aigm-resource-list{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px 20px}.aigm-resource-card{background:#fff;border:1px solid var(--border-default);border-radius:10px;overflow:hidden;transition:all .2s ease}.aigm-resource-card:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #0000000d}.aigm-resource-rejected{background:var(--status-danger-bg);border-color:var(--status-danger-border);opacity:.5}.aigm-resource-rejected .aigm-resource-name{color:var(--text-faint);text-decoration:line-through}.aigm-resource-header{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.aigm-resource-info{align-items:center;display:flex;flex:1 1;gap:10px;min-width:0}.aigm-resource-icon{flex-shrink:0;font-size:20px;text-align:center;width:32px}.aigm-resource-details{display:flex;flex-direction:column;min-width:0}.aigm-resource-name{color:var(--text-strong);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aigm-resource-type{color:var(--text-faint);font-size:11px;font-weight:500}.aigm-resource-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.aigm-phase-select{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;font-size:12px;max-width:140px;outline:none;padding:4px 8px}.aigm-phase-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #667eea1a}.aigm-resource-btn{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .15s;width:30px}.aigm-resource-btn:hover{background:var(--surface-page)}.aigm-resource-expand:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.aigm-resource-reject{color:var(--text-faint)}.aigm-resource-reject:hover{background:var(--status-danger-bg);border-color:var(--status-danger);color:var(--status-danger)}.aigm-resource-restore{border-color:var(--status-success);color:var(--status-success)}.aigm-resource-restore:hover{background:var(--status-success-bg)}.aigm-resource-preview{animation:aigm-previewIn .2s ease;border-top:1px solid var(--border-subtle);padding:0 14px 14px}@keyframes aigm-previewIn{0%{max-height:0;opacity:0}to{max-height:800px;opacity:1}}.aigm-youtube-embed{background:#000;border-radius:8px;margin-top:12px;overflow:hidden;padding-top:56.25%;position:relative;width:100%}.aigm-youtube-embed iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.aigm-article-preview{background:var(--surface-page);border-radius:8px;color:var(--text-body);font-size:13px;line-height:1.6;margin-top:12px;max-height:200px;overflow-y:auto;padding:12px}.aigm-article-preview p{margin:6px 0}.aigm-article-preview p:first-child{margin-top:0}.aigm-article-preview p:last-child{margin-bottom:0}.aigm-url-preview{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;gap:6px;margin-top:12px;padding:10px 12px}.aigm-url-preview a{color:#0369a1;font-size:13px;text-decoration:none;word-break:break-all}.aigm-url-preview a:hover{text-decoration:underline}.aigm-url-preview svg{color:#0369a1;flex-shrink:0}.aigm-replace-section{border-top:1px solid var(--border-subtle);padding:12px 20px}.aigm-btn-replace{align-items:center;background:#fff;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s;width:100%}.aigm-btn-replace:hover:not(:disabled){background:#f8f7ff;border-color:var(--brand-primary);color:var(--brand-primary)}.aigm-btn-replace:disabled{cursor:not-allowed;opacity:.5}.aigm-replace-input-area{display:flex;flex-direction:column;gap:8px}.aigm-replace-label{color:var(--text-muted);font-size:12px;margin:0}.aigm-replace-row{display:flex;gap:8px}.aigm-replace-row .aigm-input{flex:1 1}.aigm-btn-replace-go{align-items:center;background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:8px 14px;transition:all .2s;white-space:nowrap}.aigm-btn-replace-go:hover:not(:disabled){box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.aigm-btn-replace-go:disabled{cursor:not-allowed;opacity:.5}.aigm-btn-replace-cancel{background:#fff;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:12px;padding:8px 12px;white-space:nowrap}.aigm-btn-replace-cancel:hover{background:var(--surface-page)}.aigm-confirm-bar{align-items:center;background:#fff;border-top:1px solid var(--border-default);display:flex;justify-content:space-between;padding:14px 20px}.aigm-confirm-right{align-items:center;display:flex;gap:10px}@media (max-width:768px){.aigm-chat-body{height:60vh}.aigm-message-content{max-width:90%}.aigm-review-body{max-height:80vh}.aigm-resource-header{flex-wrap:wrap}.aigm-resource-actions{justify-content:flex-end;width:100%}.aigm-question-header{flex-wrap:wrap}.aigm-question-actions{justify-content:flex-end;width:100%}}.aigm-blooms-checkbox{align-items:flex-start;background:#f0f0ff;border:1px solid #d0d0f0;border-radius:10px;cursor:pointer;display:flex;gap:10px;margin:0 0 12px;padding:12px 16px;transition:background .15s}.aigm-blooms-checkbox:hover{background:#e8e8ff}.aigm-blooms-checkbox input[type=checkbox]{accent-color:var(--brand-primary);cursor:pointer;flex-shrink:0;height:18px;margin-top:2px;width:18px}.aigm-blooms-label{display:flex;flex-direction:column;gap:2px}.aigm-blooms-title{color:var(--text-strong);font-size:14px;font-weight:600}.aigm-blooms-desc{color:var(--text-muted);font-size:12px;line-height:1.3}.aigm-course-docs-toggle{margin:0 0 12px}.aigm-course-docs-modes{background:#f8f8ff;border-radius:8px;display:flex;flex-direction:column;gap:6px;margin:4px 0 0 38px;padding:8px 12px}.aigm-radio-option{align-items:flex-start;color:var(--text-strong);cursor:pointer;display:flex;font-size:13px;gap:8px;line-height:1.4}.aigm-radio-option input[type=radio]{accent-color:var(--brand-primary);cursor:pointer;height:16px;margin-top:2px;width:16px}.aigm-radio-desc{color:var(--text-muted);font-weight:400}.aigm-course-docs-list{background:var(--surface-page);border-radius:6px;font-size:13px;margin:8px 0 0;padding:8px 12px}.aigm-course-docs-count{color:#444;display:block;font-weight:600;margin-bottom:4px}.aigm-course-docs-names{list-style:none;margin:0;max-height:120px;overflow-y:auto;padding:0}.aigm-course-docs-names li{color:var(--text-body);line-height:1.4;padding:2px 0}.aigm-course-docs-names li:before{content:"\1F4C4";font-size:12px;margin-right:6px}.aigm-doc-type{color:var(--text-faint);font-size:12px}.aigm-question-list{display:flex;flex-direction:column;gap:8px}.aigm-question-card{border:1px solid var(--border-default);border-radius:10px;overflow:hidden;transition:opacity .2s,border-color .2s}.aigm-question-card:hover{border-color:#c0c0e0}.aigm-question-rejected{background:#fef8f8;border-color:#f0c0c0;opacity:.5}.aigm-question-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.aigm-question-info{align-items:flex-start;display:flex;flex:1 1;gap:10px;min-width:0}.aigm-question-number{align-items:center;background:var(--gradient-brand);border-radius:6px;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:26px;justify-content:center;margin-top:1px;min-width:30px;padding:0 6px}.aigm-question-text-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}.aigm-question-stem{color:var(--text-strong);font-size:13.5px;line-height:1.45}.aigm-blooms-tag{align-self:flex-start;background:#eef0ff;border-radius:4px;color:#5a5faa;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px}.aigm-question-actions{align-items:center;display:flex;flex-shrink:0;gap:4px}.aigm-question-details{border-top:1px solid var(--border-subtle);margin-top:0;padding:0 14px 14px}.aigm-question-choices{display:flex;flex-direction:column;gap:6px;margin-top:10px}.aigm-question-choice{align-items:center;background:#f8f8fa;border-radius:6px;display:flex;font-size:13px;gap:8px;padding:8px 10px;transition:background .15s}.aigm-choice-correct{background:#e8f5e9;border:1px solid #a5d6a7}.aigm-choice-letter{align-items:center;background:var(--surface-sunken);border-radius:50%;color:var(--text-body);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.aigm-choice-correct .aigm-choice-letter{background:#66bb6a;color:#fff}.aigm-choice-text{flex:1 1;min-width:0}.aigm-choice-check{color:#43a047;flex-shrink:0}.aigm-question-explanation{background:#fff8e1;border-radius:6px;color:#5d4037;font-size:12.5px;line-height:1.45;margin-top:10px;padding:10px 12px}.learning-modules-container{padding:24px 28px 40px}.learning-modules-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin-bottom:20px}.learning-modules-header .header-title-wrap{display:flex;flex-direction:column;gap:12px;min-width:0}.learning-modules-header h1{color:var(--text-strong);font-size:22px;font-weight:650;letter-spacing:-.01em;margin:0}.header-stats{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.stat-chip{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:999px;color:var(--text-strong);display:inline-flex;font-size:13px;font-weight:650;gap:6px;line-height:1;padding:5px 11px}.stat-chip .stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-left:2px}.stat-chip-lm{background:#faf5ff;border-color:#ede9fe}.stat-chip-lm,.stat-chip-lm .stat-label{color:var(--brand-accent)}.stat-chip-lp{background:#f0fdfa;border-color:#ccfbf1;color:#0f766e}.stat-chip-lp .stat-label{color:#14b8a6}.stat-chip-fresh{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.stat-chip-fresh .stat-label{color:var(--status-warning)}.learning-modules-container .header-actions{align-items:center;display:flex;gap:10px}.learning-modules-container .btn-primary{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);border:none;border-radius:8px;box-shadow:0 1px 2px #2563eb40;color:#fff;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:2px;padding:9px 16px;transition:all .15s ease}.learning-modules-container .btn-primary:hover{background:linear-gradient(135deg,var(--brand-primary-hover) 0,var(--brand-primary-active) 100%);box-shadow:0 4px 10px #2563eb4d;transform:translateY(-1px)}.learning-modules-container .btn-secondary{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:8px;color:var(--text-strong);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:500;padding:9px 14px;transition:all .15s ease}.learning-modules-container .btn-secondary:hover{background:var(--surface-page);border-color:var(--border-strong);color:var(--text-strong)}.learning-modules-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.learning-modules-container .search-wrap{flex:1 1;max-width:380px;min-width:240px;position:relative}.learning-modules-container .search-wrap .search-icon{color:var(--text-faint);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.learning-modules-container .search-input{background:#fff;border:1px solid var(--border-default);border-radius:8px;font-size:13.5px;padding:9px 14px 9px 36px;transition:all .15s ease;width:100%}.learning-modules-container .search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.learning-modules-container .filter-select{background:#fff;border:1px solid var(--border-default);border-radius:8px;color:var(--text-strong);cursor:pointer;font-size:13.5px;min-width:150px;padding:9px 14px;transition:all .15s ease}.learning-modules-container .filter-select:hover{border-color:var(--border-strong)}.learning-modules-container .filter-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.sort-group{align-items:center;display:flex}.sort-group .filter-select{border-radius:8px 0 0 8px;border-right:none;min-width:140px}.sort-order-btn{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:0 8px 8px 0;color:var(--text-body);cursor:pointer;display:inline-flex;height:38px;justify-content:center;padding:0 12px;transition:all .15s ease}.sort-order-btn:hover{background:var(--surface-page);color:var(--text-strong)}.learning-modules-container .empty-message,.learning-modules-container .error-message,.learning-modules-container .loading-message{color:var(--text-muted);font-size:14px;padding:40px 20px;text-align:center}.learning-modules-container .error-message{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:8px;color:var(--status-danger)}.empty-message{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px}.link-button{background:none;border:none;color:var(--brand-primary);cursor:pointer;font-size:inherit;margin-left:4px;padding:0;text-decoration:underline}.link-button:hover{color:var(--brand-primary-hover)}.learning-modules-table-container{background:#fff;border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 2px #0f172a0a;overflow:visible}.learning-modules-table{border-collapse:collapse;width:100%}.learning-modules-table thead{background:var(--surface-page);border-bottom:1px solid var(--border-default)}.learning-modules-table th{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;padding:11px 16px;text-align:left;text-transform:uppercase}.learning-modules-table th.actions-col{width:130px}.learning-modules-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-strong);font-size:14px;padding:12px 16px;vertical-align:middle}.learning-modules-table tbody tr:last-child td{border-bottom:none}.clickable-row{cursor:pointer;position:relative;transition:background .12s}.clickable-row:hover{background:var(--surface-page)}.clickable-row.row-inactive{background:#fcfcfd}.clickable-row.row-inactive .name-text{color:var(--text-muted)}.name-cell{align-items:center;display:flex;gap:12px}.type-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.type-dot-lm{background:#a855f7;box-shadow:0 0 0 3px #a855f724}.type-dot-lp{background:#14b8a6;box-shadow:0 0 0 3px #14b8a624}.name-inner{display:flex;flex-direction:column;gap:2px;min-width:0}.name-line{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.name-text{color:var(--text-strong);font-size:14px;font-weight:600}.inactive-pill{background:var(--surface-sunken);color:var(--text-muted);font-size:10.5px;letter-spacing:.4px;padding:1px 8px;text-transform:uppercase}.inactive-pill,.type-badge{align-items:center;border-radius:999px;display:inline-flex;font-weight:600}.type-badge{border:1px solid #0000;font-size:11.5px;gap:5px;padding:3px 10px;white-space:nowrap}.type-badge-lm{background:#faf5ff;border-color:#f3e8ff;color:#7e22ce}.type-badge-lp{background:#f0fdfa;border-color:#ccfbf1;color:#0f766e}.id-badge{background:#0000;border-radius:4px;color:var(--text-faint);font-size:11px;letter-spacing:.2px;padding:1px 6px}.code-chip,.id-badge{display:inline-block;font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace;font-weight:500}.code-chip{background:var(--surface-sunken);border-radius:5px;color:var(--text-body);cursor:help;font-size:12px;max-width:200px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.dates-cell{font-size:13px;line-height:1.35;min-width:140px;white-space:nowrap}.date-modified{color:var(--text-strong);font-weight:500}.date-created{color:var(--text-faint);font-size:11.5px;margin-top:2px}.actions-cell{position:relative;text-align:right}.row-actions{align-items:center;display:inline-flex;gap:2px;opacity:0;transition:opacity .15s ease}.clickable-row:focus-within .row-actions,.clickable-row:hover .row-actions{opacity:1}.clickable-row:has(.row-menu) .row-actions{opacity:1}.row-icon-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;transition:all .12s ease;width:30px}.row-icon-btn:hover{background:var(--brand-primary-subtle);color:var(--brand-primary-hover)}.row-icon-btn:disabled{cursor:not-allowed;opacity:.4}.row-menu-wrap{position:relative}.row-menu{background:#fff;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 8px 24px #0f172a1f;min-width:180px;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.row-menu-item{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-strong);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 10px;text-align:left;transition:background .12s;width:100%}.row-menu-item:hover:not(:disabled){background:var(--surface-sunken)}.row-menu-item.danger{color:var(--status-danger)}.row-menu-item.danger:hover:not(:disabled){background:var(--status-danger-bg)}.row-menu-item:disabled{cursor:not-allowed;opacity:.6}.learning-modules-footer{margin-top:14px;text-align:right}.count-text{color:var(--text-faint);font-size:12.5px}.lah{background:var(--surface-sunken);min-height:100vh;padding:24px}@media (min-width:1024px){.lah{margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body.sidebar-collapsed .lah{margin-left:80px}}.lah-header{background:linear-gradient(135deg,#4c1d95 0,var(--brand-primary) 100%);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;color:var(--text-on-brand);margin-bottom:20px;padding:24px 28px}.lah-title{font-size:1.75rem;font-weight:700;margin:0 0 6px}.lah-subtitle{font-size:.9rem;margin:0;max-width:720px;opacity:.85}.lah-filters{align-items:end;background:var(--surface-card);border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:16px}.lah-filters .field{display:flex;flex-direction:column;gap:4px;min-width:150px}.lah-filters label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.lah-filters input{border:1px solid var(--border-strong);border-radius:8px;font-size:.875rem;padding:8px 10px}.lah-filters .hint{align-self:center;color:var(--text-muted);font-size:.75rem;margin-left:auto}.lah-section{margin-bottom:28px}.lah-section-title{color:var(--text-body);font-size:.85rem;font-weight:700;letter-spacing:.06em;margin:0 0 12px 4px;text-transform:uppercase}.lah-tiles{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.lah-tile{background:var(--surface-card);border:1px solid #0000;border-radius:12px;box-shadow:0 1px 3px #0000000f;display:flex;flex-direction:column;padding:18px;transition:border-color .15s,transform .15s}.lah-tile.is-launchable:hover{border-color:var(--brand-primary-subtle);transform:translateY(-1px)}.lah-tile-head{gap:12px;margin-bottom:10px}.lah-tile-emoji,.lah-tile-head{align-items:center;display:flex}.lah-tile-emoji{background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:10px;font-size:1.6rem;height:44px;justify-content:center;width:44px}.lah-tile-title{color:var(--text-strong);font-size:1rem;font-weight:700;margin:0}.lah-tile-desc{color:var(--text-body);flex:1 1;font-size:.825rem;line-height:1.45;margin:0 0 12px}.lah-kpis{background:var(--surface-page);border-radius:8px;display:flex;gap:12px;margin:6px 0 12px;padding:10px}.lah-kpi{flex:1 1;text-align:center}.lah-kpi-val{color:var(--text-strong);font-size:1.1rem;font-weight:700}.lah-kpi-lbl{color:var(--text-muted);font-size:.65rem;letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.lah-kpis.is-empty .lah-kpi-val{color:var(--text-faint)}.lah-tile-actions{align-items:center;display:flex;gap:8px;margin-top:auto}.lah-tile-status{background:var(--surface-sunken);border-radius:10px;color:var(--text-muted);display:inline-block;font-size:.7rem;padding:4px 8px}.lah-xrefs{align-items:center;border-top:1px dashed var(--border-default);display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px}.lah-xrefs-label{color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.lah-xref-chip{border:1px solid var(--status-info-border);border-radius:12px;color:var(--brand-primary-active);cursor:pointer;font-size:.75rem;padding:2px 10px;text-decoration:none}.lah-xref-chip,.lah-xref-chip:hover{background:var(--status-info-bg)}.lah-inline-list{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;margin:8px 0 12px;overflow:hidden}.lah-inline-head{align-items:center;background:var(--surface-sunken);border-bottom:1px solid var(--border-default);color:var(--text-muted);display:flex;font-size:.7rem;font-weight:700;justify-content:space-between;letter-spacing:.04em;padding:6px 10px;text-transform:uppercase}.lah-inline-loading{font-weight:400;letter-spacing:0;text-transform:none}.lah-inline-empty{color:var(--text-faint);font-size:.8rem;padding:12px;text-align:center}.lah-inline-row{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:space-between;padding:8px 10px;text-align:left;width:100%}.lah-inline-row:last-child{border-bottom:none}.lah-inline-row:hover{background:var(--brand-primary-subtle)}.lah-inline-row-main{display:flex;flex:1 1;flex-direction:column;min-width:0}.lah-inline-step{color:var(--text-strong);font-size:.85rem;font-weight:600}.lah-inline-meta,.lah-inline-step{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lah-inline-meta{color:var(--text-muted);font-size:.7rem}.lah-inline-row-stats{color:var(--text-body);display:flex;font-size:.7rem;gap:4px;white-space:nowrap}.lah-inline-sep{color:var(--text-faint)}.lms-container{--bg:var(--surface-page);--card:var(--surface-card);--border:var(--border-default);--text:var(--text-strong);--muted:#64748b;--accent:var(--brand-primary);--good:var(--status-success);--warn:var(--status-warning);--bad:var(--status-danger);background:var(--bg)!important;color:var(--text)!important;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:24px}.lms-container h1{font-size:28px;margin:0 0 4px}.lms-container .muted{color:var(--muted)}.lms-container .card{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:14px;box-shadow:0 1px 3px #0000000a;padding:16px}.lms-container .grid{grid-gap:20px;display:grid;gap:20px;margin-top:20px}.lms-container .g-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.lms-container .g-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.lms-container .kpi{font-size:28px;font-weight:700}.lms-container .row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.lms-container .pill{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-active);font-size:12px;font-weight:600;padding:4px 8px}.lms-container table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.lms-container thead th{background:var(--surface-sunken);color:var(--muted);font-size:12px;letter-spacing:.04em;position:sticky;text-align:left;text-transform:uppercase;top:0}.lms-container td,.lms-container th{border-bottom:1px solid var(--border);padding:8px}.lms-container .heat{border-radius:6px;font-weight:600;text-align:center}.lms-container .right{text-align:right}.lms-container .section-title{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.lms-container .btn{background:var(--surface-card);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:12px;padding:4px 8px}.lms-container .btn:hover{background:var(--surface-page)}.lms-container .tiny{font-size:12px}.lms-container canvas{display:block;max-width:100%}.lms-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.lms-container ul{list-style-type:disc;margin:0;padding-left:20px}.lms-container li{margin-bottom:4px}@media (max-width:768px){.lms-container{max-width:100%;padding:16px}.lms-container h1{font-size:22px}.lms-container .kpi{font-size:24px}.lms-container .card{padding:12px}.lms-container .grid{gap:16px}.lms-container .g-2,.lms-container .g-3{grid-template-columns:1fr}.lms-container .card{overflow-x:auto}.lms-container table{font-size:12px;min-width:600px}.lms-container td,.lms-container th{padding:6px 4px}.lms-header{align-items:flex-start;flex-direction:column}@media (max-width:480px){.lms-container table{font-size:11px}}}.ds-modal.modal-overlay{align-items:center;animation:fadeIn .2s ease-in;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.ds-modal .modal-content{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:90%}.ds-modal .modal-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:20px 24px}.ds-modal .modal-header h3{color:var(--text-strong);font-size:20px;margin:0}.ds-modal .modal-close{align-items:center;background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.ds-modal .modal-close:hover{background:var(--surface-sunken);color:var(--text-strong)}.ds-modal .modal-body{flex:1 1;margin:24px;overflow-y:auto}.data-source-info{border-radius:8px;margin-bottom:20px;padding:16px}.data-source-info strong{display:block;font-size:16px;margin-bottom:8px}.data-source-info p{font-size:14px;margin:0;opacity:.9}.api-url-box{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;margin-bottom:20px;padding:16px}.api-url-box strong{color:var(--text-strong);display:block;font-size:14px;margin-bottom:8px}.explanation-box{background:var(--surface-page);border-left:4px solid var(--brand-primary);border-radius:8px;margin-bottom:20px;padding:16px}.explanation-box strong{color:var(--text-strong);display:block;margin-bottom:8px}.explanation-box p{color:var(--text-body);font-size:14px;line-height:1.6;margin:0}.records-section{margin-top:20px}.records-section strong{color:var(--text-strong);display:block;margin-bottom:12px}.records-list{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.records-list pre{word-wrap:break-word;color:var(--text-strong);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.6;margin:0;white-space:pre-wrap}.no-records{color:var(--text-muted);font-style:italic;padding:40px 20px;text-align:center}.ds-modal .modal-footer{border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;padding:16px 24px}.btn-close{border-radius:8px;color:#fff;font-size:14px;font-weight:600;padding:10px 20px;transition:background .2s}.btn-close,.btn-close:hover{background:var(--brand-primary)}.academic-dashboard{background-color:var(--surface-page);min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.academic-dashboard{margin-left:280px}body.sidebar-collapsed .academic-dashboard{margin-left:80px}}.academic-dashboard .dashboard-header{align-items:center;background:#fff;border-bottom:1px solid var(--border-default);display:flex;gap:1rem;padding-left:1rem;position:sticky;top:0;z-index:10}.academic-dashboard .dashboard-header .mobile-menu-btn{align-items:center;background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:none;flex-shrink:0;justify-content:center;padding:10px;transition:all .3s ease}.academic-dashboard .dashboard-header .mobile-menu-btn:hover{box-shadow:0 4px 12px #6366f14d;transform:scale(1.05)}@media (max-width:1023px){.academic-dashboard .dashboard-header .mobile-menu-btn{display:flex}}.academic-dashboard .header-content{flex:1 1;padding:1.5rem}.academic-dashboard .header-text{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.academic-dashboard .dashboard-title{color:var(--text-strong);font-size:24px;font-weight:700;letter-spacing:-.4px;margin:0}.academic-dashboard .dashboard-subtitle{color:var(--text-muted);font-size:14px;margin-top:.25rem}.academic-dashboard .filter-button,.academic-dashboard .header-actions{align-items:center;display:flex;gap:.5rem}.academic-dashboard .filter-button{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:.5rem 1rem;transition:filter .15s ease}.academic-dashboard .filter-button:hover{filter:brightness(1.05)}.academic-dashboard .search-section{margin-top:1.5rem}.academic-dashboard .search-bar{margin:0;position:relative;width:100%}.academic-dashboard .search-icon{align-items:center;color:var(--text-faint);display:flex;left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.academic-dashboard .search-input{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-strong);font-size:1rem;outline:none;padding:.75rem 3rem;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.academic-dashboard .search-input::placeholder{color:var(--text-faint)}.academic-dashboard .search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126}.academic-dashboard .search-clear{align-items:center;background:none;border:none;color:var(--text-faint);cursor:pointer;display:flex;padding:.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.academic-dashboard .search-clear:hover{color:var(--text-body)}.academic-dashboard .dashboard-content{padding:2rem 1.5rem}.academic-dashboard .stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.academic-dashboard .stats-card{background:#fff;border:1px solid var(--border-default);border-radius:12px;box-shadow:none;padding:1.5rem;transition:border-color .15s ease,box-shadow .15s ease}.academic-dashboard .stats-card:hover{box-shadow:0 4px 12px #0f172a0f}.academic-dashboard .stats-card-clickable{cursor:pointer}.academic-dashboard .stats-card-clickable:hover{border-color:var(--brand-primary-subtle);box-shadow:0 4px 12px #0f172a14}.academic-dashboard .stats-card-clickable:active{box-shadow:none}.academic-dashboard .stats-card-content{align-items:center;display:flex;justify-content:space-between}.academic-dashboard .stats-info{flex:1 1}.academic-dashboard .stats-title{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.6px;margin:0 0 .25rem;text-transform:uppercase}.academic-dashboard .stats-value{color:var(--text-strong);font-size:1.875rem;font-weight:700;letter-spacing:-.4px;margin:0}.academic-dashboard .stats-subtitle{font-size:.8rem;font-weight:600;margin:.25rem 0 0}.academic-dashboard .stats-icon{border-radius:10px;padding:.75rem}.academic-dashboard .icon-blue{background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);color:var(--brand-primary)}.academic-dashboard .icon-green{background-color:var(--status-success-bg);color:var(--status-success-text)}.academic-dashboard .icon-purple{background-color:var(--brand-primary-subtle);color:var(--brand-accent)}.academic-dashboard .icon-orange{background-color:#fff7ed;color:#ea580c}.academic-dashboard .icon-yellow{color:#eab308}.academic-dashboard .loading-container{align-items:center;display:flex;justify-content:center;padding:3rem}.academic-dashboard .spinner{animation:spin 1s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:3rem;width:3rem}.academic-dashboard .cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(500px,1fr))}@media (max-width:768px){.academic-dashboard .cards-grid{grid-template-columns:1fr}}.academic-dashboard .student-card{background:#fff;border:1px solid var(--border-default);border-radius:12px;overflow:hidden;transition:box-shadow .15s ease}.academic-dashboard .student-card:hover{box-shadow:0 4px 12px #0f172a0f}.academic-dashboard .student-card-header{background:var(--gradient-brand);color:#fff;padding:1.5rem}.academic-dashboard .student-header-content{align-items:flex-start;display:flex;justify-content:space-between}.academic-dashboard .student-name{font-size:1.25rem;font-weight:700;letter-spacing:-.2px;margin:0 0 .25rem}.academic-dashboard .student-course{color:#ffffffe6;font-size:.875rem;margin:0}.academic-dashboard .overall-score-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border-radius:8px;padding:.5rem 1rem;text-align:center}.academic-dashboard .score-value{font-size:1.5rem;font-weight:700}.academic-dashboard .score-label{color:#ffffffe6;font-size:.75rem}.academic-dashboard .student-card-body{padding:1.5rem}.academic-dashboard .student-info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.academic-dashboard .info-item{align-items:center;color:var(--text-strong);display:flex;gap:.75rem}.academic-dashboard .info-icon{flex-shrink:0}.academic-dashboard .info-label{color:var(--text-muted);font-size:.75rem;margin-bottom:.125rem}.academic-dashboard .info-value{font-size:.875rem;font-weight:500}.academic-dashboard .test-summary{border-top:1px solid var(--border-default);margin-top:1rem;padding-top:1rem}.academic-dashboard .test-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.academic-dashboard .test-title{align-items:center;color:var(--text-strong);display:flex;font-weight:600;gap:.5rem}.academic-dashboard .expand-button{align-items:center;background:none;border:none;color:var(--brand-primary);cursor:pointer;display:flex;font-size:.875rem;gap:.25rem;padding:.25rem;transition:color .15s ease}.academic-dashboard .expand-button:hover{color:var(--brand-primary-hover)}.academic-dashboard .quick-stats{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr);text-align:center}.academic-dashboard .stat-box{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;padding:.75rem}.academic-dashboard .stat-value{color:var(--text-strong);font-size:1.125rem;font-weight:700}.academic-dashboard .stat-label{color:var(--text-muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-dashboard .no-tests{border-top:1px solid var(--border-default);color:var(--text-muted);margin-top:1rem;padding-top:1rem;text-align:center}.academic-dashboard .test-details{background:var(--surface-page);border-top:1px solid var(--border-default);padding:1.5rem}.academic-dashboard .test-results-chart{display:flex;flex-direction:column;gap:1rem}.academic-dashboard .chart-title{align-items:center;color:var(--text-strong);display:flex;font-weight:600;gap:.5rem;margin:0 0 .5rem}.academic-dashboard .test-result-item{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:1rem}.academic-dashboard .test-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.academic-dashboard .test-info{flex:1 1}.academic-dashboard .test-name{color:var(--text-strong);font-weight:500;margin:0 0 .25rem}.academic-dashboard .test-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.875rem;gap:1rem}.academic-dashboard .test-category{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-hover);font-size:.75rem;font-weight:600;letter-spacing:.3px;padding:.125rem .625rem}.academic-dashboard .test-percentage{text-align:right}.academic-dashboard .percentage-value{font-size:1.5rem;font-weight:700}.academic-dashboard .percentage-value.positive{color:var(--status-success-text)}.academic-dashboard .percentage-value.negative{color:var(--status-danger)}.academic-dashboard .progress-container{margin-bottom:1rem}.academic-dashboard .progress-bar{background-color:var(--surface-sunken);border-radius:9999px;height:.75rem;overflow:hidden;width:100%}.academic-dashboard .progress-fill{border-radius:9999px;height:100%;transition:width .3s ease}.academic-dashboard .progress-fill.positive{background-color:var(--status-success)}.academic-dashboard .progress-fill.negative{background-color:var(--status-danger)}.academic-dashboard .sections-breakdown{margin-top:1rem}.academic-dashboard .sections-title{align-items:center;color:var(--text-strong);display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:.5rem}.academic-dashboard .sections-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.academic-dashboard .section-item{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;display:flex;font-size:.875rem;justify-content:space-between;padding:.5rem}.academic-dashboard .section-info{flex:1 1;min-width:0}.academic-dashboard .section-name{color:var(--text-strong);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-dashboard .section-keyword{color:var(--text-muted);font-size:.75rem}.academic-dashboard .section-score{flex-shrink:0;margin-left:.5rem;text-align:right}.academic-dashboard .section-percentage{font-weight:700}.academic-dashboard .section-percentage.positive{color:var(--status-success-text)}.academic-dashboard .section-percentage.negative{color:var(--status-danger)}.academic-dashboard .section-marks{color:var(--text-muted);font-size:.75rem}.academic-dashboard .load-more-container{display:flex;justify-content:center;margin-top:2rem}.academic-dashboard .load-more-button{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:.75rem 1.5rem;transition:filter .15s ease}.academic-dashboard .load-more-button:hover{filter:brightness(1.05)}.academic-dashboard .no-results{padding:3rem;text-align:center}.academic-dashboard .no-results-icon{color:var(--text-faint);margin:0 auto 1rem}.academic-dashboard .no-results-title{color:var(--text-strong);font-size:1.125rem;font-weight:500;margin:0 0 .5rem}.academic-dashboard .no-results-text{color:var(--text-muted);margin:0}@media (max-width:640px){.academic-dashboard .dashboard-title{font-size:1.5rem}.academic-dashboard .header-text{align-items:flex-start;flex-direction:column}.academic-dashboard .quick-stats,.academic-dashboard .sections-grid,.academic-dashboard .student-info-grid{grid-template-columns:1fr}}.director-dashboard{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1400px;padding:24px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.director-dashboard{margin-left:280px}body.sidebar-collapsed .director-dashboard{margin-left:80px}}.academic-overview{background:var(--surface-page);margin:0 auto;max-width:1600px;min-height:100vh;padding:32px}.overview-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:32px}.overview-header h1{color:var(--text-strong);font-size:32px;font-weight:700;margin:0 0 8px}.overview-header p{color:var(--text-muted);font-size:16px;margin:0}.director-dashboard .header-actions{display:flex;gap:12px}.director-dashboard .btn-secondary{background:#fff;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.director-dashboard .btn-secondary:hover{background:var(--surface-page);border-color:var(--brand-primary);color:var(--brand-primary)}.kpi-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px}.kpi-card{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:16px;padding:24px;transition:all .2s}.kpi-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.kpi-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.kpi-content{flex:1 1}.kpi-value{color:var(--text-strong);font-size:28px;font-weight:700;line-height:1;margin-bottom:4px}.kpi-percentage{margin-left:8px}.kpi-label,.kpi-percentage{color:var(--text-muted);font-size:14px;font-weight:500}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.dashboard-card{background:#fff;border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.card-header{background:var(--surface-page);border-bottom:1px solid var(--border-default);padding:20px 24px}.card-title{align-items:center;color:var(--text-strong);display:flex;gap:10px}.card-title h3{font-size:16px;font-weight:600;margin:0}.card-content{padding:0}.program-item{align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;justify-content:space-between;padding:20px 24px;transition:background .2s}.program-item:last-child{border-bottom:none}.program-item:hover{background:var(--surface-page)}.program-info{flex:1 1}.program-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.program-code{background:var(--status-info-bg);border-radius:6px;color:var(--brand-primary);display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.program-name{color:var(--text-strong);font-size:15px;font-weight:600;margin-bottom:4px}.program-meta{color:var(--text-muted);font-size:13px}.program-stats{gap:8px}.program-stats,.stat-badge{align-items:center;display:flex}.stat-badge{border-radius:6px;color:var(--status-success-text);font-size:12px;font-weight:600;gap:4px;padding:6px 12px}.stat-badge.warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.centre-item{border-bottom:1px solid var(--border-subtle);cursor:pointer;padding:20px 24px;transition:background .2s}.centre-item:last-child{border-bottom:none}.centre-item:hover{background:var(--surface-page)}.centre-info{margin-bottom:12px}.centre-header{align-items:center;display:flex;gap:8px;margin-bottom:6px}.centre-risk{font-size:14px}.centre-code{background:var(--surface-sunken);border-radius:6px;color:var(--text-body);font-size:12px;font-weight:600;padding:4px 10px}.centre-name{color:var(--text-strong);font-size:15px;font-weight:600;margin-bottom:4px}.centre-meta{color:var(--text-muted);font-size:13px}.centre-stats{display:flex;flex-direction:column;gap:8px}.director-dashboard .stat-item{align-items:center;display:flex;gap:12px}.director-dashboard .stat-label{flex-shrink:0;font-size:12px;width:80px}.director-dashboard .progress-bar{background:var(--surface-sunken);border-radius:4px;flex:1 1;height:8px}.director-dashboard .progress-fill{border-radius:4px}.director-dashboard .stat-value{font-size:13px;font-weight:600;text-align:right;width:50px}.stat-warning{background:var(--status-danger-bg);border-radius:4px;color:var(--status-danger);font-size:12px;margin-top:4px;padding:4px 8px}.metrics-content{padding:32px 24px!important}.metric-large{border-bottom:1px solid var(--border-default);margin-bottom:32px;padding-bottom:32px;text-align:center}.metric-value{font-size:56px;font-weight:700;line-height:1;margin-bottom:8px}.metric-label{color:var(--text-body);font-size:16px;font-weight:600;margin-bottom:4px}.metric-subtitle{color:var(--text-muted);font-size:14px}.metric-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.metric-item{background:var(--surface-page);gap:16px;padding:16px}.metric-icon,.metric-item{align-items:center;border-radius:8px;display:flex}.metric-icon{height:40px;justify-content:center;width:40px}.metric-icon.green{background:var(--status-success-bg);color:var(--status-success-text)}.metric-icon.orange{background:var(--status-warning-bg);color:var(--status-warning-text)}.metric-num{color:var(--text-strong);font-size:24px;font-weight:700}.metric-text{color:var(--text-muted);font-size:13px;font-weight:500}.action-item{align-items:center;background:var(--surface-page);border-left:4px solid;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px 20px}.action-item:last-child{margin-bottom:0}.action-item.high{background:var(--status-danger-bg);border-left-color:var(--status-danger)}.action-item.medium{background:var(--status-warning-bg);border-left-color:var(--status-warning)}.action-item.low{background:var(--status-success-bg);border-left-color:var(--status-success)}.action-icon{flex-shrink:0;font-size:20px}.action-details{flex:1 1}.action-title{color:var(--text-strong);font-size:14px;font-weight:600;margin-bottom:2px}.action-meta{color:var(--text-muted);font-size:12px}.director-dashboard .btn-action{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.director-dashboard .btn-action:hover{background:var(--surface-page);border-color:var(--brand-primary);color:var(--brand-primary)}@media (max-width:1200px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.kpi-grid,.metric-grid{grid-template-columns:1fr}}.professional-back-button{align-items:center;background:#0000;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-bottom:16px;padding:6px 14px;transition:all .2s ease}.professional-back-button:hover{background:var(--surface-page);border-color:var(--brand-primary);color:var(--brand-primary)}.professional-back-button svg{transition:transform .2s ease}.professional-back-button:hover svg{transform:translateX(-2px)}.professional-header-card{background:#fff;border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 3px #0000000f;margin-bottom:28px;padding:20px 28px}.professional-title-section{align-items:center;display:flex;gap:16px}.professional-icon-wrapper{align-items:center;background:var(--gradient-brand);border-radius:12px;box-shadow:0 4px 12px #667eea33;color:#fff;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.professional-title-content{align-items:center;display:flex;flex:1 1;gap:12px}.professional-title-content h1{color:var(--text-strong);font-size:24px;font-weight:700;line-height:1;margin:0}.professional-code-badge{align-items:center;background:var(--status-info-bg);border:1px solid var(--status-info-border);border-radius:6px;color:var(--brand-primary);display:inline-flex;font-size:12px;font-weight:600;letter-spacing:.5px;padding:6px 12px}.director-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.mobile-menu-btn{background:var(--gradient-brand);color:#fff;display:none;padding:10px;transition:all .3s ease}.mobile-menu-btn:hover{box-shadow:0 4px 12px #667eea4d;transform:scale(1.05)}@media (max-width:1023px){.mobile-menu-btn{display:flex}}.director-title{align-items:center;display:flex;gap:16px}.director-title svg{color:var(--brand-primary)}.director-title h1{color:var(--text-strong);font-size:32px;font-weight:700;margin:0}.batch-subtitle,.course-code-subtitle,.director-title p{color:var(--text-muted);font-size:14px;margin:4px 0 0}.director-actions{display:flex;gap:8px}.ai-insights-btn,.course-view-btn,.home-btn,.matrix-view-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.2;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.home-btn,.home-btn:hover{background:var(--status-success)}.home-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.ai-insights-btn{background:linear-gradient(135deg,var(--status-warning) 0,var(--status-warning) 100%)}.ai-insights-btn:hover{background:linear-gradient(135deg,var(--status-warning) 0,#b45309 100%);box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.course-view-btn{background:linear-gradient(135deg,var(--status-info) 0,#0369a1 100%)}.course-view-btn:hover{background:linear-gradient(135deg,#0369a1,#075985);box-shadow:0 4px 12px #0ea5e94d;transform:translateY(-1px)}.matrix-view-btn{align-items:center;background:var(--brand-accent);cursor:pointer;display:flex;gap:8px;transition:all .2s ease}.matrix-view-btn:hover{background:var(--brand-accent);box-shadow:0 4px 12px #8b5cf64d;transform:translateY(-2px)}.view-all-students-btn{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:background .2s}.view-all-students-btn,.view-all-students-btn:hover{background:var(--brand-primary)}.breadcrumb{align-items:center;font-size:14px;gap:8px;margin-bottom:24px}.breadcrumb button{align-items:center;background:none;border:none;border-radius:4px;color:var(--brand-primary);cursor:pointer;display:flex;gap:4px;padding:4px 8px;transition:background .2s}.breadcrumb button:hover{background:var(--status-info-bg)}.breadcrumb span{color:var(--text-faint)}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:32px;margin-top:20px}.director-search{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:8px;display:flex;gap:12px;margin-bottom:32px;padding:12px 16px}.director-search svg{color:var(--text-faint)}.director-search input{border:none;color:var(--text-strong);flex:1 1;font-size:14px;outline:none}.director-search input::placeholder{color:var(--text-faint)}.courses-section{margin-bottom:40px}.courses-section h2{align-items:center;color:var(--text-strong);display:flex;font-size:24px;font-weight:600;gap:12px;margin-bottom:24px}.courses-section h2 svg{color:var(--brand-primary)}.courses-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.course-card{background:#fff;border:1px solid var(--border-default);border-radius:12px;cursor:pointer;padding:24px;transition:all .2s}.course-card:hover{border-color:var(--brand-primary);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.course-card-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:20px}.course-icon{align-items:center;background:var(--status-info-bg);border-radius:8px;color:var(--brand-primary);display:flex;height:48px;justify-content:center;width:48px}.course-title h3{color:var(--text-strong);font-size:18px;font-weight:600;margin:0 0 4px}.course-code{background:var(--surface-sunken);border-radius:4px;color:var(--text-muted);font-size:12px;padding:2px 8px}.course-metrics{grid-gap:16px;border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px;padding:16px 0}.metric{align-items:center;display:flex;gap:8px}.metric svg{color:var(--text-faint)}.metric-content{display:flex;flex-direction:column}.metric-value{color:var(--text-strong);font-size:18px;font-weight:600}.metric-label{color:var(--text-muted);font-size:12px}.course-toppers{margin-bottom:16px}.toppers-header{align-items:center;color:var(--text-muted);display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:12px}.toppers-header svg{color:var(--status-warning)}.toppers-list{display:flex;flex-direction:column;gap:8px}.topper-item{align-items:center;display:flex;font-size:13px;gap:8px}.topper-rank{color:var(--status-warning);font-weight:700;min-width:24px}.topper-name{color:var(--text-body);flex:1 1}.topper-score{color:var(--status-success);font-weight:600}.course-card-footer{text-align:right}.view-details{color:var(--brand-primary);font-size:14px;font-weight:600}.batches-section{margin-bottom:40px}.batches-section h2{align-items:center;color:var(--text-strong);display:flex;font-size:24px;font-weight:600;gap:12px;margin-bottom:24px}.batches-section h2 svg{color:var(--brand-accent)}.batches-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.batch-card{background:#fff;border:1px solid var(--border-default);border-radius:10px;cursor:pointer;padding:20px;transition:all .2s}.batch-card:hover{border-color:var(--brand-accent);box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.batch-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.batch-title h4{color:var(--text-strong);font-size:16px;font-weight:600;margin:0 0 4px}.batch-code{background:var(--surface-sunken);border-radius:3px;color:var(--text-muted);font-size:11px;padding:2px 6px}.at-risk-badge{align-items:center;background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:6px;color:var(--status-danger);display:flex;font-size:11px;font-weight:600;gap:4px;padding:4px 8px}.at-risk-badge svg{height:14px;width:14px}.batch-metrics-grid{grid-gap:12px;border-bottom:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:16px;padding:12px 0}.batch-metric{align-items:center;display:flex;gap:8px}.batch-metric svg{color:var(--text-faint);flex-shrink:0}.batch-metric-value{color:var(--text-strong);font-size:16px;font-weight:600}.batch-metric-label{color:var(--text-muted);font-size:11px}.batch-toppers{margin-bottom:12px}.batch-toppers-header{align-items:center;color:var(--text-muted);display:flex;font-size:12px;font-weight:600;gap:6px;margin-bottom:10px}.batch-toppers-header svg{color:var(--status-warning)}.batch-toppers-list{display:flex;flex-direction:column;gap:6px}.batch-topper-item{align-items:center;display:flex;font-size:12px;gap:6px}.batch-topper-rank{color:var(--status-warning);font-weight:700;min-width:20px}.batch-topper-name{color:var(--text-body);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-topper-score{color:var(--status-success);font-weight:600}.batch-card-footer{text-align:right}.view-batch{color:var(--brand-accent);font-size:13px;font-weight:600}.batch-filters{display:flex;gap:12px;margin-bottom:16px}.filter-definitions{background:var(--surface-page);border-left:3px solid var(--brand-primary);border-radius:8px;color:var(--text-body);display:flex;font-size:13px;gap:24px;margin-bottom:24px;padding:12px 16px}.definition-item{align-items:center;display:flex;gap:8px}.definition-icon{color:var(--brand-primary);flex-shrink:0}.definition-item strong{color:var(--text-strong)}.filter-btn{border:2px solid var(--border-default);border-radius:8px;color:var(--text-muted);font-size:14px;gap:8px;padding:10px 16px;transition:all .2s}.filter-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.filter-btn.active{background:var(--brand-primary);border-color:var(--brand-primary)}.filter-btn svg{height:18px;width:18px}.ranking-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.ranking-title-row h2{color:var(--text-strong);font-size:24px;font-weight:600;margin:0}.sort-toggle{align-items:center;color:var(--text-muted);display:flex;gap:6px}.sort-btn,.sort-label{color:var(--text-muted);font-size:13px;font-weight:500}.sort-btn{background:#fff;border:1px solid var(--border-default);border-radius:6px;cursor:pointer;padding:5px 12px;transition:all .15s ease}.sort-btn:hover{color:var(--brand-primary)}.sort-btn.active,.sort-btn:hover{border-color:var(--brand-primary)}.sort-btn.active{background:var(--brand-primary);color:#fff}.student-code-badge{background:var(--status-info-bg);border-radius:4px;color:var(--brand-primary);display:inline-block;font-size:15px;font-weight:600;margin-right:8px;padding:3px 10px;vertical-align:middle}.students-ranking h2{color:var(--text-strong);font-size:24px;font-weight:600;margin-bottom:24px}.ranking-grid{display:flex;flex-direction:column;gap:16px}.ranking-card{background:#fff;border:1px solid var(--border-default);border-radius:10px;padding:20px}.ranking-header{border-bottom:1px solid var(--border-subtle);gap:16px;margin-bottom:16px;padding-bottom:16px}.rank-badge,.ranking-header{align-items:center;display:flex}.rank-badge{border-radius:8px;flex-shrink:0;font-size:16px;font-weight:700;height:48px;justify-content:center;width:48px}.rank-badge.rank-gold{background:linear-gradient(135deg,#fbbf24 0,var(--status-warning) 100%);color:#fff}.rank-badge.rank-silver{background:linear-gradient(135deg,var(--surface-sunken) 0,#9ca3af 100%);color:#fff}.rank-badge.rank-bronze{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.rank-badge.rank-default{background:var(--surface-sunken);color:var(--text-muted)}.student-info-header{flex:1 1}.student-info-header h3{color:var(--text-strong);font-size:18px;font-weight:600;margin:0 0 4px}.student-email{margin:0}.pdf-menu-container{position:relative}.pdf-download-btn{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border:none;border-radius:6px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.pdf-download-btn:hover{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.pdf-download-btn:active{box-shadow:0 2px 4px #3b82f633;transform:translateY(0)}.pdf-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.pdf-menu-dropdown{animation:slideDown .2s ease;background:#fff;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 10px 25px #0000001a;min-width:280px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:999}.pdf-menu-header{align-items:center;background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);display:flex;font-size:13px;font-weight:600;gap:12px;justify-content:space-between;padding:12px 16px}.pdf-menu-header-title{flex:1 1;min-width:0}.pdf-menu-header-provenance{align-items:center;color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:500;gap:4px;letter-spacing:.01em;text-decoration:none;transition:color .15s ease;white-space:nowrap}.pdf-menu-header-provenance:hover{color:var(--brand-primary)}.pdf-menu-header-provenance svg{opacity:.7}.pdf-menu-option{background:#fff;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;padding:12px 16px;text-align:left;transition:background .15s ease;width:100%}.pdf-menu-option:last-child{border-bottom:none}.pdf-menu-option:hover{background:var(--surface-page)}.pdf-menu-option-label{align-items:center;color:var(--text-strong);display:flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:4px}.pdf-menu-option-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.pdf-menu-option-custom{box-shadow:inset 3px 0 0 var(--brand-primary)}.pdf-option-tag{border-radius:999px;flex:none;font-size:9.5px;font-weight:700;letter-spacing:.04em;margin-left:auto;padding:2px 8px;text-transform:uppercase}.pdf-option-tag.builtin{background:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-muted)}.pdf-option-tag.custom{background:var(--brand-primary-subtle);border:1px solid rgba(var(--brand-primary-rgb),.3);color:var(--brand-ink)}.pdf-templates-note{color:var(--text-muted);font-size:11px;font-style:italic;padding:10px 16px 6px}.pdf-templates-note.error{color:var(--status-danger);font-style:normal}.pdf-merge-note{align-items:flex-start;background:var(--surface-subtle);background:var(--status-info-bg,var(--surface-subtle));border:1px solid var(--status-info-border,var(--border-default));border-radius:8px;color:var(--text-secondary);color:var(--status-info-text,var(--text-secondary));display:flex;font-size:11.5px;gap:6px;line-height:1.45;margin:0 16px 10px;padding:8px 10px}.pdf-merge-note svg{flex-shrink:0;margin-top:2px}.batch-pdf-download-btn{align-items:center;background:linear-gradient(135deg,var(--status-success) 0,var(--status-success) 100%);border:none;border-radius:8px;box-shadow:0 2px 6px #10b9814d;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;transition:all .2s ease}.batch-pdf-download-btn:hover{background:linear-gradient(135deg,var(--status-success) 0,#047857 100%);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.batch-pdf-download-btn:active{box-shadow:0 2px 6px #10b9814d;transform:translateY(0)}.pdf-menu-large{max-height:80vh;max-width:500px;min-width:400px;overflow-y:auto}.pdf-filters-container{padding:8px}.pdf-filter-section{border-bottom:1px solid var(--border-subtle);padding:12px}.pdf-filter-section:last-child{border-bottom:none}.pdf-filter-label{color:var(--text-body);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.pdf-preset-selection{padding:8px}.pdf-checkbox-group{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:4px}.pdf-checkbox-label{align-items:center;border-radius:4px;color:var(--text-body);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px;transition:background .15s ease}.pdf-checkbox-label:hover{background:var(--surface-page)}.pdf-checkbox-label input[type=checkbox]{accent-color:var(--brand-primary);cursor:pointer;height:16px;width:16px}.pdf-toggle-label{color:var(--text-strong);font-weight:500;padding:10px}.pdf-filter-empty{color:var(--text-faint);font-size:12px;font-style:italic;padding:8px}.pdf-date-inputs{align-items:center;display:flex;gap:8px}.pdf-date-inputs span{color:var(--text-muted);font-size:12px}.pdf-date-input{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);flex:1 1;font-size:13px;padding:8px 10px;transition:border-color .15s ease,box-shadow .15s ease}.pdf-date-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.pdf-filter-actions{align-items:center;background:var(--surface-page);border-radius:0 0 8px 8px;border-top:1px solid var(--border-default);bottom:0;display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end;margin:8px -8px -8px;padding:12px;position:sticky;z-index:2}.pdf-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;line-height:1.2;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.pdf-action-btn svg{height:14px;width:14px}.pdf-action-btn:disabled,.pdf-action-btn[disabled]{cursor:not-allowed;filter:grayscale(.5);opacity:.45;pointer-events:none}.pdf-filter-actions .pdf-cancel-btn{margin-right:auto}.pdf-cancel-btn{background:var(--surface-sunken);color:var(--text-muted)}.pdf-cancel-btn:hover{background:var(--surface-sunken);color:var(--text-body)}.pdf-download-btn-primary{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);box-shadow:0 2px 4px #3b82f633;color:#fff}.pdf-download-btn-primary:hover{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.pdf-download-btn-primary:active{box-shadow:0 2px 4px #3b82f633;transform:translateY(0)}.pdf-number-input-group{display:flex;flex-direction:column;gap:6px}.pdf-number-input{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);font-size:14px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100px}.pdf-number-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.pdf-input-hint{color:var(--text-muted);font-size:11px;line-height:1.4}.director-dashboard .score-badge{border-radius:6px;color:#fff;font-size:18px;font-weight:700;padding:8px 16px}.ranking-metrics{grid-gap:16px;border-bottom:1px solid var(--border-subtle);display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin-bottom:16px;padding-bottom:16px}.ranking-metric{display:flex;flex-direction:column;gap:4px}.ranking-metric .metric-label{color:var(--text-muted);font-size:12px}.ranking-metric .metric-value{color:var(--text-strong);font-size:16px;font-weight:600}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.director-dashboard .spinner{animation:spin 1s linear infinite;border:4px solid var(--border-subtle);border-radius:50%;border-top-color:var(--brand-primary);height:48px;width:48px}.loading-spinner p{font-size:14px;margin-top:16px}.loading-spinner p,.no-results{color:var(--text-muted)}.no-results p{font-size:16px}@media (max-width:768px){.director-dashboard{padding:16px}.director-header{align-items:flex-start;flex-direction:column;gap:16px}.batches-grid,.courses-grid,.stats-grid{grid-template-columns:1fr}.batch-filters{flex-wrap:wrap}.filter-definitions{flex-direction:column;gap:8px}.batch-metrics-grid,.course-metrics{grid-template-columns:1fr}}.school-card{background:#fff;border:1px solid var(--border-default);border-radius:14px;box-shadow:0 1px 2px #0f172a0a;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:14px;padding:18px 18px 16px;position:relative;text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;width:100%}.school-card:focus-visible,.school-card:hover{border-color:#93c5fd;box-shadow:0 10px 24px -10px #3b82f659;outline:none;transform:translateY(-2px)}.school-card:focus-visible .school-card-arrow,.school-card:hover .school-card-arrow{background:var(--brand-primary);color:#fff;transform:translate(2px,-2px)}.school-card-header{align-items:flex-start;display:flex;gap:12px;margin:0}.school-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border-radius:10px;box-shadow:0 4px 10px -4px #2563eb80;color:#fff;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.school-info{flex:1 1;min-width:0}.school-info h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-strong);display:-webkit-box;font-size:15px;font-weight:600;line-height:1.3;margin:0 0 6px;overflow:hidden}.school-code{background:var(--status-info-bg);border-radius:999px;color:var(--brand-primary);display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.school-card-arrow{align-items:center;background:var(--surface-sunken);border-radius:8px;color:var(--text-faint);display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .18s ease;width:28px}.school-card-divider{background:var(--surface-sunken);height:1px;margin:0 -2px}.school-card-stats{align-items:center;display:flex;gap:18px}.school-card-stat{align-items:center;display:flex;font-size:13px;gap:6px}.school-card-stat svg{color:var(--brand-primary);flex-shrink:0}.school-card-stat-label{color:var(--text-muted);font-weight:500}.school-card-stat-value{color:var(--text-strong);font-weight:700}.school-card-stat--muted .school-card-stat-label,.school-card-stat--muted .school-card-stat-value{color:var(--text-faint);font-weight:600}.matrix-view{padding:24px}.matrix-legend{background:#fff;border-radius:8px;box-shadow:0 2px 4px #00000014;margin-bottom:24px;padding:16px 24px}.matrix-legend h3{color:var(--text-muted);font-size:14px;font-weight:600;margin:0 0 12px}.legend-items{display:flex;flex-wrap:wrap;gap:24px}.legend-item{color:var(--text-body);display:flex;font-size:13px;gap:8px}.legend-color{border:1px solid var(--border-strong);border-radius:4px;height:24px;width:24px}.matrix-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;max-height:calc(100vh - 300px);overflow-x:auto;overflow-y:auto;padding:16px}.matrix-table{border-collapse:collapse;min-width:1200px;width:100%}.matrix-table thead{position:sticky;top:0;z-index:10}.matrix-header-corner{font-weight:700;left:0;min-width:200px;padding:16px;position:sticky;z-index:12}.matrix-header-corner,.matrix-header-school,.matrix-header-total{background:var(--surface-page);border:1px solid var(--border-default);color:var(--text-strong)}.matrix-header-school,.matrix-header-total{font-weight:600;min-width:120px;padding:12px;text-align:center;z-index:11}.matrix-header-school.clickable{cursor:pointer;transition:background .2s ease}.matrix-header-school.clickable:hover{background:var(--status-info-bg);color:var(--brand-primary-active)}.matrix-header-total{background:var(--status-info-bg);box-shadow:-2px 0 4px #0000000d;font-weight:700;position:sticky;right:0;z-index:11}.school-header-content{display:flex;flex-direction:column;gap:4px}.school-header-content .school-name{color:var(--text-strong);font-size:13px;font-weight:600}.school-header-content .school-code{color:var(--text-muted);font-size:11px;font-weight:500}.matrix-row-header{background:var(--surface-page);border:1px solid var(--border-default);box-shadow:2px 0 4px #0000000d;color:var(--text-strong);font-weight:500;left:0;padding:12px 16px;position:sticky;z-index:5}.course-header-content{display:flex;flex-direction:column;gap:2px}.course-header-content .course-name{color:var(--text-strong);font-size:13px;font-weight:600}.course-header-content .course-code{color:var(--text-muted);font-size:11px;font-weight:500}.matrix-cell{border:1px solid var(--border-default);padding:8px;text-align:center;transition:all .2s ease}.matrix-cell.clickable{cursor:pointer}.matrix-cell.clickable:hover{border-color:var(--brand-primary);box-shadow:0 4px 12px #00000026;transform:scale(1.05);z-index:1}.matrix-cell.empty{background:var(--surface-sunken);color:var(--text-faint)}.cell-content{color:#fff;flex-direction:column;font-weight:600}.cell-content,.cell-students{align-items:center;display:flex;gap:4px}.cell-students{font-size:16px}.cell-batches{font-size:11px;opacity:.9}.cell-empty{color:var(--text-faint);font-size:14px}.matrix-total-cell{background:var(--status-info-bg);border:1px solid var(--border-default);box-shadow:-2px 0 4px #0000000d;color:var(--text-strong);font-weight:700;padding:12px;position:sticky;right:0;text-align:center;z-index:6}.matrix-total-cell.clickable{cursor:pointer;transition:background .2s ease,color .2s ease}.matrix-total-cell.clickable:hover{background:#bfdbfe;color:var(--brand-primary-active)}.matrix-total-row{background:var(--status-info-bg)}.matrix-total-row .matrix-row-header{background:var(--status-info-bg);font-weight:700}.matrix-grand-total{background:var(--status-info-bg);color:var(--brand-primary-active);font-size:16px}.matrix-settings-btn{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 18px;position:relative;transition:all .2s ease}.matrix-settings-btn:hover{background:var(--surface-page);border-color:var(--brand-primary);color:var(--brand-primary)}.hidden-count-badge{background:var(--status-danger);border-radius:10px;color:#fff;font-size:11px;font-weight:700;min-width:18px;padding:2px 6px;text-align:center}.matrix-context-menu{animation:contextMenuFadeIn .15s ease-out;background:#fff;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:200px;overflow:hidden;position:fixed;z-index:1000}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-header{background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:13px;font-weight:600;overflow:hidden;padding:10px 16px;text-overflow:ellipsis;white-space:nowrap}.context-menu-item{align-items:center;background:#fff;border:none;color:var(--text-body);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 16px;text-align:left;transition:background .15s ease;width:100%}.context-menu-item:hover{background:var(--status-danger-bg);color:var(--status-danger)}.matrix-settings-panel{animation:slideInRight .3s ease-out;background:#fff;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:400px;z-index:999}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.settings-panel-header{align-items:center;background:var(--surface-page);border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:20px 24px}.settings-panel-header h3{color:var(--text-strong);font-size:18px;font-weight:700;margin:0}.close-panel-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:32px}.close-panel-btn:hover{background:var(--surface-sunken);color:var(--text-strong)}.settings-panel-content{flex:1 1;overflow-y:auto;padding:24px}.no-hidden-courses{align-items:center;color:var(--text-faint);display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.no-hidden-courses p{color:var(--text-muted);font-size:16px;font-weight:600;margin:16px 0 8px}.no-hidden-courses span{color:var(--text-faint);font-size:13px}.hidden-courses-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.hidden-courses-list{display:flex;flex-direction:column;gap:8px}.hidden-course-item{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;display:flex;justify-content:space-between;padding:14px 16px;transition:all .2s ease}.hidden-course-item:hover{background:var(--surface-sunken);border-color:var(--border-strong)}.hidden-course-info{flex:1 1;min-width:0}.hidden-course-name{color:var(--text-strong);font-size:14px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hidden-course-code{color:var(--text-muted);font-family:Monaco,Courier New,monospace;font-size:12px}.unhide-btn{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;display:flex;flex-shrink:0;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .2s ease}.unhide-btn:hover{background:var(--status-success-bg);border-color:var(--status-success);color:var(--status-success)}.dossier-review-overlay{align-items:center;background:rgba(var(--surface-inverse-rgb),.55);display:flex;inset:0;justify-content:center;padding:12px;position:fixed;z-index:1050}.dossier-review-panel{background:var(--surface-card);border-radius:12px;box-shadow:0 20px 50px #00000040;display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;overflow:hidden;width:100%}.dossier-review-panel .dsr-header{align-items:flex-start;background:var(--surface-page);border-bottom:1px solid var(--border-default);display:flex;gap:16px;justify-content:space-between;padding:18px 22px 14px}.dossier-review-panel .dsr-header h2{align-items:center;color:var(--text-strong);display:flex;font-size:17px;font-weight:700;gap:8px;margin:0}.dossier-review-panel .dsr-header-meta{align-items:center;display:flex;gap:14px;margin-top:6px}.dossier-review-panel .dsr-provenance{align-items:center;color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:500;gap:4px}.dossier-review-panel .dsr-progress{color:var(--brand-primary);font-size:12px;font-weight:600}.dossier-review-panel .dsr-close-btn{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;line-height:0;padding:4px}.dossier-review-panel .dsr-close-btn:hover{background:var(--surface-sunken);color:var(--text-strong)}.dossier-review-panel .dsr-error-banner{align-items:center;background:var(--status-danger-bg);border-bottom:1px solid var(--status-danger-border);color:var(--status-danger);display:flex;font-size:13px;font-weight:500;gap:8px;padding:10px 22px}.dossier-review-panel .dsr-toolbar{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:14px;padding:10px 22px}.dossier-review-panel .dsr-toolbar-btn{align-items:center;background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary-hover);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;padding:7px 14px;transition:background .15s ease}.dossier-review-panel .dsr-toolbar-btn:hover{background:var(--brand-primary-subtle)}.dossier-review-panel .dsr-toolbar-hint{color:var(--text-muted);font-size:12px}.dossier-review-panel .dsr-body{display:flex;flex:1 1;min-height:0}.dossier-review-panel .dsr-table-wrap{flex:1 1;min-width:0;overflow:auto;transition:flex-basis .25s cubic-bezier(.4,0,.2,1),opacity .2s ease}.dossier-review-panel .dsr-body-list-collapsed .dsr-table-wrap{flex:0 0;min-width:0;opacity:0;overflow:hidden;pointer-events:none;width:0}.dossier-review-panel .dsr-body-list-collapsed .dsr-preview-pane{border-left:none;width:100%}.dossier-review-panel .dsr-preview-pane-actions{align-items:center;display:flex;flex-shrink:0;gap:2px}.dossier-review-panel .dsr-table{border-collapse:collapse;font-size:13px;width:100%}.dossier-review-panel .dsr-table thead th{background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);font-size:11.5px;font-weight:700;letter-spacing:.03em;padding:10px 12px;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.dossier-review-panel .dsr-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-strong);padding:9px 12px;vertical-align:middle}.dossier-review-panel .dsr-row{cursor:pointer}.dossier-review-panel .dsr-row:hover{background:var(--surface-page)}.dossier-review-panel .dsr-row-flagged,.dossier-review-panel .dsr-row-flagged:hover{background:var(--status-warning-bg)}.dossier-review-panel .dsr-row-reviewed .dsr-td-name{color:var(--text-muted)}.dossier-review-panel .dsr-row-active{outline:2px solid var(--brand-primary);outline-offset:-2px}.dossier-review-panel .dsr-td-check{text-align:center;width:40px}.dossier-review-panel .dsr-td-check input{cursor:pointer;height:15px;width:15px}.dossier-review-panel .dsr-td-name{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dossier-review-panel .dsr-accepted-note{background:var(--status-warning-bg);border-radius:999px;color:var(--status-warning-text);font-size:10.5px;font-weight:600;margin-left:8px;padding:2px 8px}.dossier-review-panel .dsr-merged-note{color:var(--text-muted);font-size:10.5px;font-weight:500;line-height:1.4;margin-top:3px;white-space:normal}.dossier-review-panel .dsr-td-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.dossier-review-panel .dsr-table thead th.dsr-td-num{text-align:right}.dossier-review-panel .dsr-table thead th.dsr-td-check{text-align:center}.dossier-review-panel .dsr-warn-text{color:var(--status-warning-text);font-weight:700}.dossier-review-panel .dsr-td-flags{max-width:300px}.dossier-review-panel .dsr-flag-pill{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:999px;color:var(--status-warning-text);margin:2px 4px 2px 0}.dossier-review-panel .dsr-flag-pill,.dossier-review-panel .dsr-ok-pill{align-items:center;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 9px;white-space:nowrap}.dossier-review-panel .dsr-ok-pill{background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:999px;color:var(--status-success-text)}.dossier-review-panel .dsr-td-preview{text-align:center;width:44px}.dossier-review-panel .dsr-preview-btn{background:none;border:1px solid var(--border-default);border-radius:6px;color:var(--brand-primary);cursor:pointer;line-height:0;padding:4px 7px}.dossier-review-panel .dsr-preview-btn:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary-subtle)}.dossier-review-panel .dsr-preview-pane{background:var(--surface-page);border-left:1px solid var(--border-default);display:flex;flex-direction:column;min-width:380px;transition:width .25s cubic-bezier(.4,0,.2,1);width:52%}.dossier-review-panel .dsr-preview-pane-header{align-items:center;border-bottom:1px solid var(--border-default);color:var(--text-body);display:flex;font-size:12px;font-weight:600;gap:10px;justify-content:space-between;padding:10px 14px}.dossier-review-panel .dsr-preview-iframe{background:var(--surface-card);border:none;flex:1 1;width:100%}.dossier-review-panel .dsr-footer{align-items:center;background:var(--surface-page);border-top:1px solid var(--border-default);display:flex;gap:10px;justify-content:flex-end;padding:14px 22px}.dossier-review-panel .dsr-certified-panel{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:12px;justify-content:center;padding:40px;text-align:center}.dossier-review-panel .dsr-certified-icon{color:var(--status-success)}.dossier-review-panel .dsr-certified-panel h3{color:var(--text-strong);font-size:20px;font-weight:700;margin:0}.dossier-review-panel .dsr-certified-panel p{color:var(--text-muted);font-size:14px;margin:0;max-width:480px}.dossier-review-panel .dsr-certified-actions{display:flex;gap:10px;margin-top:10px}.modal-dialog.dossier-certify-modal .modal-content{border:1px solid var(--border-default);border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.modal-dialog.dossier-certify-modal .modal-header{background:var(--surface-page);border-bottom:1px solid var(--border-default)}.modal-dialog.dossier-certify-modal .modal-title{color:var(--text-strong);font-size:16px;font-weight:700}.modal-dialog.dossier-certify-modal .modal-body{color:var(--text-body);font-size:13.5px}.pdf-signoff-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;margin:8px 16px 0;padding:3px 10px}.pdf-signoff-chip.certified{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.pdf-signoff-chip.stale{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.pdf-signoff-chip.in-review{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);color:var(--brand-primary-hover)}.dossier-review-panel .dsr-header-actions{align-items:center;display:flex;gap:10px}.dossier-review-panel .dsr-rules-btn{align-items:center;border:1px solid var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary-hover);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:5px;padding:6px 12px;transition:background .15s ease}.dossier-review-panel .dsr-rules-btn,.dossier-review-panel .dsr-rules-btn:hover{background:var(--brand-primary-subtle)}.modal-dialog.dossier-rules-modal{max-width:min(900px,calc(100vw - 32px))}.modal-dialog.dossier-rules-modal .modal-content{border:1px solid var(--border-default);border-radius:12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.modal-dialog.dossier-rules-modal .modal-header{background:var(--surface-page);border-bottom:1px solid var(--border-default)}.modal-dialog.dossier-rules-modal .modal-title{color:var(--text-strong);font-size:16px;font-weight:700}.modal-dialog.dossier-rules-modal .dsr-rules-intro{color:var(--text-body);font-size:13px;line-height:1.5;margin-bottom:16px}.modal-dialog.dossier-rules-modal .dsr-rules-list{display:flex;flex-direction:column;gap:14px}.modal-dialog.dossier-rules-modal .dsr-rule-item{align-items:flex-start;display:flex;gap:12px}.modal-dialog.dossier-rules-modal .dsr-rule-pill{flex-shrink:0;justify-content:center;margin-top:2px;width:205px}.modal-dialog.dossier-rules-modal .dsr-flag-pill{align-items:center;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:999px;color:var(--status-warning-text);display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 9px;white-space:nowrap}.modal-dialog.dossier-rules-modal .dsr-rule-text{font-size:12.5px;line-height:1.5}.modal-dialog.dossier-rules-modal .dsr-rule-checks{color:var(--text-strong);font-weight:500}.modal-dialog.dossier-rules-modal .dsr-rule-why{color:var(--text-muted);margin-top:2px}.dossier-review-panel .dsr-rules-btn:disabled{cursor:default;opacity:.6}.dossier-review-panel .dsr-spin{animation:dsr-spin .8s linear infinite}@keyframes dsr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.director-dashboard .student-card-header{padding:.6rem .85rem 0}.director-dashboard .student-header-content{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between}.director-dashboard .student-card-header .student-name{color:var(--text-strong);font-size:.95rem;font-weight:600;margin:0}.director-dashboard .student-card-header .student-course{color:var(--text-muted);font-size:.78rem;margin:.1rem 0 0}.director-dashboard .overall-score-badge{flex-shrink:0;text-align:right}.director-dashboard .overall-score-badge .score-value{color:var(--text-strong);font-size:1rem;font-weight:700;line-height:1.1}.director-dashboard .overall-score-badge .score-label{color:var(--text-muted);font-size:.68rem}.director-dashboard .student-card-body{padding:.6rem .85rem .75rem}.director-dashboard .student-info-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:.6rem}.director-dashboard .info-item{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;display:flex;gap:.5rem;min-width:0;padding:.45rem .6rem}.director-dashboard .info-item>div{min-width:0}.director-dashboard .info-icon{flex-shrink:0;height:14px;width:14px}.director-dashboard .info-label{color:var(--text-muted);font-size:.66rem;letter-spacing:.02em;line-height:1.2;text-transform:uppercase}.director-dashboard .info-value{color:var(--text-strong);font-size:.8rem;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.director-dashboard .test-summary{border-top:1px solid var(--border-default);margin-top:.6rem;padding-top:.6rem}.director-dashboard .test-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;margin-bottom:.45rem}.director-dashboard .test-title{align-items:center;color:var(--text-strong);display:flex;font-size:.82rem;font-weight:600;gap:.4rem}.director-dashboard .test-title svg{height:14px;width:14px}.director-dashboard .expand-button{align-items:center;background:none;border:none;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-size:.78rem;gap:.25rem;padding:.15rem .3rem}.director-dashboard .expand-button svg{height:14px;width:14px}.director-dashboard .quick-stats{grid-gap:.45rem;display:grid;gap:.45rem;grid-template-columns:repeat(3,1fr);text-align:center}.director-dashboard .stat-box{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;min-width:0;padding:.4rem .5rem}.director-dashboard .stat-value{color:var(--text-strong);font-size:.92rem;font-weight:700}.director-dashboard .stat-label{color:var(--text-muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.director-dashboard .no-tests{color:var(--text-muted);font-size:.78rem;margin-top:.6rem}.director-dashboard .student-card-header .student-name{display:none}.director-dashboard .test-details{padding:0 .85rem .85rem}.director-dashboard .test-results-chart{display:flex;flex-direction:column;gap:.6rem}.director-dashboard .chart-title{align-items:center;color:var(--text-strong);display:flex;font-size:.85rem;font-weight:600;gap:.4rem;margin:0 0 .25rem}.director-dashboard .chart-title svg{height:15px;width:15px}.director-dashboard .test-result-item{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:.7rem .8rem}.director-dashboard .test-item-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.director-dashboard .test-info{flex:1 1;min-width:0}.director-dashboard .test-name{color:var(--text-strong);font-size:.85rem;font-weight:600;margin:0 0 .2rem}.director-dashboard .test-meta{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.75rem;gap:.5rem}.director-dashboard .test-category{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-hover);font-size:.68rem;font-weight:600;letter-spacing:.3px;padding:.1rem .55rem}.director-dashboard .test-percentage{flex-shrink:0;text-align:right}.director-dashboard .percentage-value{font-size:1.05rem;font-weight:700;line-height:1.1}.director-dashboard .percentage-value.positive{color:var(--status-success-text)}.director-dashboard .percentage-value.negative{color:var(--status-danger)}.director-dashboard .progress-container{margin-bottom:.6rem}.director-dashboard .progress-bar{background-color:var(--surface-sunken);border-radius:9999px;height:.45rem;overflow:hidden;width:100%}.director-dashboard .progress-fill{border-radius:9999px;height:100%;transition:width .3s ease}.director-dashboard .progress-fill.positive{background-color:var(--status-success)}.director-dashboard .progress-fill.negative{background-color:var(--status-danger)}.director-dashboard .sections-breakdown{margin-top:.6rem}.director-dashboard .sections-title{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;font-weight:600;gap:.4rem;letter-spacing:.02em;margin-bottom:.4rem;text-transform:uppercase}.director-dashboard .sections-grid{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.director-dashboard .section-item{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;display:flex;font-size:.78rem;gap:.5rem;justify-content:space-between;padding:.4rem .55rem}.director-dashboard .section-info{flex:1 1;min-width:0}.director-dashboard .section-name{color:var(--text-strong);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.director-dashboard .section-keyword{color:var(--text-muted);font-size:.68rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.director-dashboard .section-score{flex-shrink:0;text-align:right}.director-dashboard .section-percentage{font-weight:700;line-height:1.15}.director-dashboard .section-percentage.positive{color:var(--status-success-text)}.director-dashboard .section-percentage.negative{color:var(--status-danger)}.director-dashboard .section-marks{color:var(--text-muted);font-size:.68rem}.doubts-dashboard{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.doubts-dashboard .dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.doubts-dashboard .header-title h1{color:var(--text-strong);font-size:22px;font-weight:700;margin:0}.doubts-dashboard .header-title p{color:var(--text-faint);font-size:13px;margin:2px 0 0}.doubts-dashboard .refresh-btn{align-items:center;border:1px solid var(--border-default);border-radius:6px;color:var(--text-body);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .15s}.doubts-dashboard .refresh-btn,.doubts-dashboard .refresh-btn:hover,.doubts-dashboard .skeleton{background:var(--surface-sunken)}.doubts-dashboard .skeleton{animation:shimmer 1.5s ease-in-out infinite;background-image:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-sunken) 40%,var(--surface-sunken) 80%);background-size:200% 100%;border-radius:4px}.doubts-dashboard .skeleton-text{border-radius:3px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.doubts-dashboard .stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.doubts-dashboard .stat-card{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;display:block;padding:16px 20px;transition:box-shadow .2s}.doubts-dashboard .stat-card:hover{box-shadow:0 2px 8px #0000001f}.doubts-dashboard .stat-card-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.doubts-dashboard .stat-label{color:var(--text-muted);flex-shrink:1;font-size:13px;font-weight:500;letter-spacing:.01em;margin:0;width:auto}.doubts-dashboard .stat-icon{align-items:center;border-radius:8px;color:#fff;display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.doubts-dashboard .stat-icon.stat-total{background:var(--brand-primary)}.doubts-dashboard .stat-icon.stat-escalated{background:var(--status-danger)}.doubts-dashboard .stat-icon.stat-resolved{background:var(--status-success)}.doubts-dashboard .stat-icon.stat-satisfaction{background:var(--brand-primary)}.doubts-dashboard .stat-value{color:var(--text-strong);font-size:28px;font-weight:700;line-height:1.2;margin:0;text-align:left;width:auto}.doubts-dashboard .stat-sub{color:var(--text-faint);font-size:12px;margin:4px 0 0}.doubts-dashboard .dashboard-tabs{border-bottom:1px solid var(--border-default);display:flex;gap:0;margin-bottom:20px}.doubts-dashboard .tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:-1px;padding:10px 16px;transition:color .15s,border-color .15s}.doubts-dashboard .tab:hover{color:var(--text-body)}.doubts-dashboard .tab.active{border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.doubts-dashboard .doubts-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:20px}.doubts-dashboard .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.doubts-dashboard .section-header h2{color:var(--text-strong);font-size:18px;font-weight:700;margin:0}.doubts-dashboard .filters{display:flex;gap:12px}.doubts-dashboard .status-filter{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px}.doubts-dashboard .doubts-list{display:flex;flex-direction:column;gap:8px}.doubts-dashboard .doubt-card{border:1px solid var(--border-default);border-radius:8px;cursor:pointer;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.doubts-dashboard .doubt-card:hover{border-color:var(--brand-primary);box-shadow:0 1px 4px #6366f11a}.doubts-dashboard .doubt-card.escalated{background:var(--status-danger-bg);border-left:3px solid var(--status-danger)}.doubts-dashboard .doubt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.doubts-dashboard .student-info{align-items:center;color:var(--text-strong);display:flex;gap:8px;min-width:0}.doubts-dashboard .student-avatar{align-items:center;background:var(--brand-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.doubts-dashboard .student-info strong{display:inline;font-size:13px}.doubts-dashboard .doubt-context-inline{color:var(--text-faint);display:inline;font-size:12px;margin-left:6px}.doubts-dashboard .doubt-meta{align-items:center;display:flex;flex-shrink:0;font-size:12px;gap:6px}.doubts-dashboard .doubt-time{color:var(--text-faint);font-size:11px}.doubts-dashboard .doubt-question-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-body);display:-webkit-box;font-size:13px;line-height:1.4;margin:0;overflow:hidden}.doubts-dashboard .escalation-reason{align-items:center;background:#fff7ed;border-radius:4px;color:#ea580c;display:flex;font-size:11px;gap:4px;margin-top:4px;padding:3px 8px}.doubts-dashboard .status-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:3px 8px}.doubts-dashboard .status-orange{background:#fff7ed;color:#ea580c}.doubts-dashboard .status-blue{background:var(--status-info-bg);color:var(--brand-primary)}.doubts-dashboard .status-red{background:var(--status-danger-bg);color:var(--status-danger)}.doubts-dashboard .status-green{background:var(--status-success-bg);color:var(--status-success)}.doubts-dashboard .status-gray{background:var(--surface-sunken);color:var(--text-muted)}.doubts-dashboard .priority-badge{border-radius:8px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.doubts-dashboard .priority-gray{background:var(--surface-sunken);color:var(--text-muted)}.doubts-dashboard .priority-blue{background:var(--status-info-bg);color:var(--brand-primary-active)}.doubts-dashboard .priority-orange{background:#fed7aa;color:#c2410c}.doubts-dashboard .priority-red{background:var(--status-danger-bg);color:var(--status-danger)}.doubts-dashboard .students-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:20px}.doubts-dashboard .students-section h2{font-size:18px;font-weight:700;margin:0 0 16px}.doubts-dashboard .students-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.doubts-dashboard .student-card{border:1px solid var(--border-default);border-radius:8px;cursor:pointer;padding:14px;transition:all .15s}.doubts-dashboard .student-card:hover{border-color:var(--brand-primary);box-shadow:0 2px 8px #6366f126;transform:translateY(-1px)}.doubts-dashboard .student-card:active{transform:translateY(0)}.doubts-dashboard .student-filter-banner{align-items:center;background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:12px;padding:10px 16px}.doubts-dashboard .student-filter-banner span{color:var(--brand-primary-hover);font-size:14px;font-weight:500}.doubts-dashboard .clear-filter-btn{background:none;border:1px solid #a5b4fc;border-radius:4px;color:var(--brand-primary-hover);cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px;transition:all .15s}.doubts-dashboard .clear-filter-btn:hover{background:var(--brand-primary-hover);color:#fff}.doubts-dashboard .student-header{align-items:center;border-bottom:1px solid var(--border-default);color:var(--text-strong);display:flex;gap:10px;margin-bottom:10px;padding-bottom:10px}.doubts-dashboard .student-stats{display:flex;flex-direction:column;gap:6px}.doubts-dashboard .stat-row{align-items:center;display:flex;font-size:13px;justify-content:space-between}.doubts-dashboard .stat-row.small{color:var(--text-faint);font-size:11px}.doubts-dashboard .escalated-count{color:var(--status-danger)}.doubts-dashboard .resolved-count{color:var(--status-success)}.doubts-dashboard .analytics-section{background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;padding:20px}.doubts-dashboard .analytics-section h2{font-size:18px;font-weight:700;margin:0 0 6px}.doubts-dashboard .section-description{color:var(--text-muted);font-size:13px;margin:0 0 16px}.doubts-dashboard .topics-list{display:flex;flex-direction:column;gap:8px}.doubts-dashboard .topic-card{align-items:center;border:1px solid var(--border-default);border-radius:8px;display:flex;gap:14px;padding:12px 16px;transition:all .15s}.doubts-dashboard .topic-card:hover{border-color:var(--brand-primary);box-shadow:0 1px 4px #6366f11a}.doubts-dashboard .topic-rank{align-items:center;background:var(--brand-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.doubts-dashboard .topic-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.doubts-dashboard .topic-info strong{color:var(--text-strong);font-size:14px}.doubts-dashboard .course-name{color:var(--text-faint);font-size:12px}.doubts-dashboard .topic-stats{align-items:center;display:flex;gap:14px}.doubts-dashboard .topic-count,.doubts-dashboard .topic-escalated{align-items:center;display:flex;font-size:12px;font-weight:600;gap:4px}.doubts-dashboard .topic-count{color:var(--brand-primary)}.doubts-dashboard .topic-escalated{color:var(--status-danger)}.doubts-dashboard .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.doubts-dashboard .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:800px;overflow:auto;width:100%}.doubts-dashboard .modal-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:16px 20px}.doubts-dashboard .modal-header h3{color:var(--text-strong);font-size:18px;font-weight:700;margin:0}.doubts-dashboard .close-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;display:flex;font-size:22px;justify-content:center;padding:4px;transition:all .15s}.doubts-dashboard .close-btn:hover{background:var(--surface-sunken);color:var(--text-body)}.doubts-dashboard .modal-body{padding:20px}.doubts-dashboard .doubt-detail-section{background:var(--surface-page);border-radius:8px;margin-bottom:20px;padding:14px}.doubts-dashboard .detail-row{align-items:center;border-bottom:1px solid var(--border-default);display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.doubts-dashboard .detail-row:last-child{border-bottom:none}.doubts-dashboard .detail-label{color:var(--text-muted);font-weight:500}.doubts-dashboard .conversation-section h4{color:var(--text-strong);font-size:14px;font-weight:700;margin:16px 0 8px}.doubts-dashboard .ai-response-box,.doubts-dashboard .question-box,.doubts-dashboard .teacher-response-box{border-radius:8px;font-size:14px;line-height:1.6;padding:14px}.doubts-dashboard .question-box{background:var(--status-info-bg);border-left:3px solid var(--brand-primary);color:var(--brand-primary-active)}.doubts-dashboard .ai-response-box{background:var(--status-success-bg);border-left:3px solid var(--status-success);color:var(--status-success-text)}.doubts-dashboard .teacher-response-box{background:var(--status-warning-bg);border-left:3px solid var(--status-warning);color:var(--status-warning-text)}.doubts-dashboard .conversation-history{border:1px solid var(--border-default);border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.doubts-dashboard .dd-message{border-bottom:1px solid var(--border-default);display:block;margin-bottom:16px;padding-bottom:16px}.doubts-dashboard .dd-message:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.doubts-dashboard .dd-message>strong{color:var(--text-muted);display:block;font-size:12px;letter-spacing:.03em;margin-bottom:6px;text-transform:uppercase}.doubts-dashboard .dd-message p{color:var(--text-strong);font-size:14px;line-height:1.6;margin:6px 0}.doubts-dashboard .dd-message p:first-of-type{margin-top:0}.doubts-dashboard .dd-message p:last-child{margin-bottom:0}.doubts-dashboard .ai-response-box h1,.doubts-dashboard .ai-response-box h2,.doubts-dashboard .ai-response-box h3,.doubts-dashboard .ai-response-box h4,.doubts-dashboard .ai-response-box h5,.doubts-dashboard .ai-response-box h6,.doubts-dashboard .dd-message-assistant h1,.doubts-dashboard .dd-message-assistant h2,.doubts-dashboard .dd-message-assistant h3,.doubts-dashboard .dd-message-assistant h4,.doubts-dashboard .dd-message-assistant h5,.doubts-dashboard .dd-message-assistant h6{color:inherit;display:block;font-weight:600;line-height:1.3;margin:14px 0 6px}.doubts-dashboard .ai-response-box h1:first-child,.doubts-dashboard .ai-response-box h2:first-child,.doubts-dashboard .ai-response-box h3:first-child,.doubts-dashboard .dd-message-assistant h1:first-child,.doubts-dashboard .dd-message-assistant h2:first-child,.doubts-dashboard .dd-message-assistant h3:first-child{margin-top:0}.doubts-dashboard .ai-response-box h1,.doubts-dashboard .dd-message-assistant h1{font-size:18px}.doubts-dashboard .ai-response-box h2,.doubts-dashboard .dd-message-assistant h2{font-size:16px}.doubts-dashboard .ai-response-box h3,.doubts-dashboard .dd-message-assistant h3{font-size:15px}.doubts-dashboard .ai-response-box h4,.doubts-dashboard .dd-message-assistant h4{font-size:14px}.doubts-dashboard .ai-response-box p,.doubts-dashboard .dd-message-assistant p{display:block;font-size:14px;line-height:1.6;margin:6px 0}.doubts-dashboard .ai-response-box ol,.doubts-dashboard .ai-response-box ul,.doubts-dashboard .dd-message-assistant ol,.doubts-dashboard .dd-message-assistant ul{display:block;margin:8px 0;padding-left:24px}.doubts-dashboard .ai-response-box li,.doubts-dashboard .dd-message-assistant li{display:list-item;font-size:14px;line-height:1.5;margin:4px 0}.doubts-dashboard .ai-response-box strong,.doubts-dashboard .dd-message-assistant strong{font-weight:600}.doubts-dashboard .ai-response-box em,.doubts-dashboard .dd-message-assistant em{font-style:italic}.doubts-dashboard .ai-response-box code,.doubts-dashboard .dd-message-assistant code{background:#0000000f;border-radius:3px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;padding:1px 4px}.doubts-dashboard .ai-response-box pre,.doubts-dashboard .dd-message-assistant pre{background:var(--surface-inverse);border-radius:6px;color:#f9fafb;margin:8px 0;overflow-x:auto;padding:12px}.doubts-dashboard .ai-response-box pre code,.doubts-dashboard .dd-message-assistant pre code{background:none;color:inherit;padding:0}.doubts-dashboard .ai-response-box blockquote,.doubts-dashboard .dd-message-assistant blockquote{border-left:3px solid var(--border-strong);color:var(--text-muted);font-style:italic;margin:8px 0;padding-left:12px}.doubts-dashboard .teacher-response-box h1,.doubts-dashboard .teacher-response-box h2,.doubts-dashboard .teacher-response-box h3,.doubts-dashboard .teacher-response-box h4{color:inherit;display:block;font-weight:600;margin:14px 0 6px}.doubts-dashboard .teacher-response-box h1:first-child,.doubts-dashboard .teacher-response-box h2:first-child{margin-top:0}.doubts-dashboard .teacher-response-box p{display:block;line-height:1.6;margin:6px 0}.doubts-dashboard .teacher-response-box ol,.doubts-dashboard .teacher-response-box ul{display:block;margin:8px 0;padding-left:24px}.doubts-dashboard .teacher-response-box li{display:list-item;line-height:1.5;margin:4px 0}.doubts-dashboard .teacher-response-section{border-top:2px solid var(--border-default);margin-top:20px;padding-top:20px}.doubts-dashboard .response-textarea{border:1px solid var(--border-strong);border-radius:6px;font-family:inherit;font-size:14px;margin-bottom:10px;padding:10px;resize:vertical;width:100%}.doubts-dashboard .response-textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.doubts-dashboard .resolve-btn{align-items:center;background:var(--brand-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:all .15s}.doubts-dashboard .resolve-btn:hover{background:var(--brand-primary);box-shadow:0 2px 4px #6366f14d}.doubts-dashboard .empty-state{color:var(--text-faint);padding:48px 20px;text-align:center}.doubts-dashboard .empty-state p{font-size:14px;margin:8px 0 0}@media (max-width:1024px){.doubts-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.doubts-dashboard{padding:16px}.doubts-dashboard .dashboard-header{align-items:flex-start;flex-direction:column;gap:12px}.doubts-dashboard .stats-grid{grid-template-columns:1fr}.doubts-dashboard .dashboard-tabs{flex-wrap:nowrap;overflow-x:auto}.doubts-dashboard .students-grid{grid-template-columns:1fr}.doubts-dashboard .doubt-header{align-items:flex-start;flex-direction:column;gap:4px}.doubts-dashboard .student-info,.doubts-dashboard .topic-card{flex-wrap:wrap}.doubts-dashboard .modal-content{max-height:95vh}}.rubric-evaluation-button-container{background:var(--gradient-brand);border-radius:12px;box-shadow:0 4px 6px #0000001a;margin:20px 0;padding:20px}.rubric-stats-card{background:#fff;border-radius:8px;padding:20px}.stats-row{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-around;margin-bottom:20px}.rubric-evaluation-button-container .stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.rubric-evaluation-button-container .stat-label{color:var(--text-muted);font-size:12px;font-weight:500;margin-bottom:5px}.rubric-evaluation-button-container .stat-value{color:var(--text-strong);font-size:24px;font-weight:700}.stat-value.highlight{color:var(--brand-primary)}.rubric-evaluation-button{align-items:center;background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;margin-bottom:10px;padding:15px 25px;transition:all .3s ease;width:100%}.rubric-evaluation-button:hover:not(:disabled){box-shadow:0 6px 12px #6366f14d;transform:translateY(-2px)}.rubric-evaluation-button:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.button-icon{font-size:20px}.button-icon.spinning{animation:spin 1s linear infinite}.refresh-stats-button{border:1px solid var(--border-strong);border-radius:6px;color:var(--text-strong);cursor:pointer;font-size:14px;padding:10px;transition:all .2s ease;width:100%}.refresh-stats-button,.refresh-stats-button:hover:not(:disabled){background:var(--surface-sunken)}.refresh-stats-button:disabled{cursor:not-allowed;opacity:.5}.rubric-evaluation-button-container .error-message{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;margin-top:10px;padding:12px}.results-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.results-modal{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}.results-modal-header{align-items:center;background:var(--gradient-brand);border-bottom:1px solid var(--border-default);color:#fff;display:flex;justify-content:space-between;padding:20px}.results-modal-header h3{font-size:20px;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.close-button:hover{background:#fff3}.results-summary{grid-gap:15px;background:var(--surface-page);border-bottom:1px solid var(--border-default);display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:20px}.summary-item{background:#fff;box-shadow:0 2px 4px #0000000d;padding:15px}.summary-item.success{border-left:4px solid #4caf50}.summary-item.warning{border-left:4px solid #ff9800}.summary-item.error{border-left:4px solid #f44336}.summary-label{color:var(--text-muted);margin-bottom:5px;text-align:center}.summary-value{color:var(--text-strong)}.results-details{flex:1 1;overflow-y:auto;padding:20px}.results-details h4{color:var(--text-strong);font-size:16px;margin-bottom:15px;margin-top:0}.results-table{display:flex;flex-direction:column;gap:10px}.result-row{align-items:center;background:var(--surface-page);border-left:4px solid var(--border-default);border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;padding:12px}.result-row.scored{background:#f1f8f4;border-left-color:#4caf50}.result-row.skipped{background:#fff8f1;border-left-color:#ff9800}.result-row.error{background:#fff1f0;border-left-color:#f44336}.result-submission-id{color:var(--text-strong);font-weight:600;min-width:120px}.result-status{background:var(--surface-sunken);border-radius:4px;color:var(--text-muted);font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.result-score{color:#4caf50;font-weight:600}.result-error,.result-reason{color:var(--text-muted);flex:1 1;font-size:13px;min-width:200px}.result-error{color:#f44336}.results-modal-footer{background:var(--surface-page);border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;padding:20px}.close-button-footer{background:var(--brand-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s}.close-button-footer:hover{background:var(--brand-primary-hover)}@media (max-width:768px){.stats-row{flex-direction:column}.results-summary{grid-template-columns:1fr}.result-row{align-items:flex-start;flex-direction:column}.result-error,.result-reason,.result-submission-id{min-width:auto;width:100%}}.rubric-evaluation-page{background:var(--surface-page);min-height:100vh;padding:20px}.page-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;gap:16px;margin-bottom:24px;padding:24px}.mobile-menu-btn,.page-header{align-items:center;display:flex}.mobile-menu-btn{background:none;border:none;border-radius:8px;cursor:pointer;justify-content:center;padding:8px;transition:background .2s}.mobile-menu-btn:hover{background:var(--surface-sunken)}.rubric-evaluation-page .header-content{flex:1 1}.page-title{-webkit-text-fill-color:#0000;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.page-subtitle{color:var(--text-muted);font-size:14px;margin:8px 0 0}.page-content{margin:0 auto;max-width:1200px}.help-card,.info-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.help-card h3,.info-card h2{color:var(--text-strong);font-size:20px;font-weight:600;margin:0 0 16px}.info-card ol{color:var(--text-body);margin:0;padding-left:24px}.info-card ol li{line-height:1.6;margin-bottom:12px}.help-card ul{color:var(--text-body);margin:0;padding-left:24px}.help-card ul li{line-height:1.6;margin-bottom:8px}.help-card strong{color:var(--brand-primary);font-weight:600}@media (max-width:768px){.rubric-evaluation-page{padding:12px}.page-header{padding:16px}.page-title{font-size:22px}.page-subtitle{font-size:13px}.help-card,.info-card{padding:16px}}.ai-grading-studio{--bg:#0b1220;--panel:#0f1a2e;--panel-2:#111f36;--panel-3:#0d172a;--border:#ffffff14;--muted:#ffffffa6;--muted2:#ffffff73;--text:#ffffffeb;--accent:#7c5cff;--accent2:#2dd4bf;--warn:var(--status-warning);--good:var(--status-success);--bad:var(--status-danger);--shadow:0 10px 30px #00000059;--radius:14px;--radius2:18px;--gap:12px;--topbar-h:56px;--rail-w:308px;--drawer-w:360px;--drawer-w-compact:56px;--mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:radial-gradient(1200px 800px at 10% -10%,#7c5cff59,#0000 55%),radial-gradient(900px 700px at 110% 10%,#2dd4bf2e,#0000 55%),var(--bg);color:var(--text);display:grid;font-family:var(--sans);grid-template-rows:var(--topbar-h) 1fr;inset:0;overflow:hidden;position:fixed;z-index:9999}.ai-grading-studio *,.ai-grading-studio :after,.ai-grading-studio :before{box-sizing:border-box}.ai-grading-studio aside,.ai-grading-studio details,.ai-grading-studio header,.ai-grading-studio label,.ai-grading-studio li,.ai-grading-studio main,.ai-grading-studio section,.ai-grading-studio summary,.ai-grading-studio ul{background:none;border:none;color:inherit;font:inherit;line-height:inherit;margin:0;padding:0}.ai-grading-studio input:not([type=checkbox]):not([type=radio]):not(#drawerToggle){appearance:none}.ai-grading-studio input:not([type=checkbox]):not([type=radio]):not(#drawerToggle),.ai-grading-studio textarea{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);font-family:inherit;font-size:13px;outline:none;padding:10px}.ai-grading-studio textarea{line-height:1.4;min-height:120px;resize:vertical;width:100%}.ai-grading-studio select{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;outline:none;padding:10px}.ai-grading-studio select option{background:var(--panel);color:var(--text)}.ai-grading-studio input:focus,.ai-grading-studio select:focus,.ai-grading-studio textarea:focus{border-color:#7c5cff73}.ai-grading-studio button{color:var(--text);cursor:pointer;font-family:inherit}.ai-grading-studio a{color:inherit;text-decoration:none}.ai-grading-studio p{margin:0}.ai-grading-studio .topbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#0f1a2ef2,#0f1a2ec7);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 14px;position:sticky;top:0;z-index:10}.ai-grading-studio .brand,.ai-grading-studio .topbar .center,.ai-grading-studio .topbar .left,.ai-grading-studio .topbar .right{align-items:center;display:flex;gap:10px}.ai-grading-studio .brand{background:#ffffff08;border:1px solid var(--border);border-radius:999px;padding:8px 10px}.ai-grading-studio .brand>div{display:flex;flex-direction:column;gap:2px}.ai-grading-studio .logo{background:linear-gradient(135deg,#7c5cff,#2dd4bf);border-radius:10px;box-shadow:0 8px 20px #7c5cff40;flex-shrink:0;height:28px;width:28px}.ai-grading-studio .brand strong{color:var(--text);display:block;font-size:13px;font-weight:700;letter-spacing:.2px}.ai-grading-studio .crumbs{color:var(--muted);display:block;font-size:12px}.ai-grading-studio .pill{align-items:center;background:#ffffff08;border:1px solid var(--border);border-radius:999px;color:var(--text);display:inline-flex;font-size:12px;gap:8px;padding:7px 10px;white-space:nowrap}.ai-grading-studio .dot{background:var(--good);border-radius:99px;box-shadow:0 0 0 4px #22c55e24;flex-shrink:0;height:7px;width:7px}.ai-grading-studio .navbtn{align-items:center;background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;gap:8px;justify-content:center;padding:8px 10px;transition:transform .08s ease,background .15s ease}.ai-grading-studio .navbtn:hover{background:#ffffff0f}.ai-grading-studio .navbtn:active{transform:translateY(1px)}.ai-grading-studio .navbtn.primary{background:linear-gradient(135deg,#7c5cff,#7c5cffbf);border-color:#7c5cff73;box-shadow:0 10px 24px #7c5cff38}.ai-grading-studio .navbtn.primary:hover{background:linear-gradient(135deg,#7c5cff,#7c5cffd9)}.ai-grading-studio .navbtn.primary:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .navbtn.ghost{background:#0000;border-color:#ffffff1f}.ai-grading-studio .navbtn.ghost:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .kbd{background:#0000002e;border:1px solid #ffffff1f;border-radius:8px;color:var(--muted);font-family:var(--mono);font-size:11px;padding:3px 6px}.ai-grading-studio .view-toggle-switch{background:#ffffff0f;border:1px solid var(--border);border-radius:10px;display:flex;gap:4px;padding:3px}.ai-grading-studio .view-toggle-switch .toggle-btn{background:#0000;border:none;border-radius:8px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.ai-grading-studio .view-toggle-switch .toggle-btn:hover{background:#ffffff0f;color:var(--text)}.ai-grading-studio .view-toggle-switch .toggle-btn.active{background:#7c5cff2e;box-shadow:0 2px 6px #00000026;color:var(--text)}.ai-grading-studio .layout{grid-gap:0;background:#0000;display:grid;gap:0;grid-template-columns:var(--rail-w) 1fr var(--drawer-w);grid-template-rows:1fr;height:calc(100vh - var(--topbar-h))}.ai-grading-studio .rail{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0}.ai-grading-studio .railHead{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:12px 12px 10px}.ai-grading-studio .railHead h3{color:var(--muted);font-size:12px;letter-spacing:.5px;margin:0;text-transform:uppercase}.ai-grading-studio .railBody{flex:1 1;overflow:auto;padding:12px}.ai-grading-studio .search{display:flex;gap:10px;margin-bottom:10px}.ai-grading-studio .input{background:#ffffff08;border:1px solid var(--border);border-radius:12px;color:var(--text);flex:1 1;font:inherit;font-size:13px;outline:none;padding:10px}.ai-grading-studio .input:focus{border-color:#7c5cff73}.ai-grading-studio select.input{appearance:auto;cursor:pointer;margin-bottom:10px}.ai-grading-studio select.input option{background:var(--panel);color:var(--text)}.ai-grading-studio .chipRow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 12px}.ai-grading-studio .chip{align-items:center;background:#ffffff08;border:1px solid #ffffff1f;border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;gap:8px;padding:7px 10px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ai-grading-studio .chip:hover{background:#ffffff0f}.ai-grading-studio .chip.active{background:#7c5cff24;border-color:#7c5cff73;color:var(--text)}.ai-grading-studio .list{display:flex;flex-direction:column;gap:10px}.ai-grading-studio .item{grid-gap:10px;background:#ffffff08;border:1px solid #ffffff1a;border-radius:var(--radius);cursor:pointer;display:grid;gap:10px;grid-template-columns:1fr auto;padding:10px;position:relative;transition:border-color .15s ease,background .15s ease}.ai-grading-studio .item:hover{background:#ffffff0d;border-color:#ffffff29}.ai-grading-studio .item.active{background:#7c5cff1a;border-color:#7c5cff8c}.ai-grading-studio .itemTop{align-items:center;display:flex;gap:8px}.ai-grading-studio .avatar{background:linear-gradient(135deg,#fff3,#ffffff0f);border:1px solid #ffffff1f;border-radius:10px;color:#fffc;display:grid;flex-shrink:0;font-size:11px;font-weight:600;height:28px;place-items:center;text-transform:uppercase;width:28px}.ai-grading-studio .name{font-size:13px;font-weight:650}.ai-grading-studio .sub{color:var(--muted2);font-size:12px;margin-top:3px}.ai-grading-studio .badge{all:unset;background:#0000001f!important;border:1px solid #ffffff1f!important;border-radius:999px!important;box-sizing:border-box;color:var(--muted)!important;display:inline-block;font-family:inherit;font-size:11px!important;font-weight:400;line-height:1;padding:5px 8px!important;text-align:center;vertical-align:initial;white-space:nowrap}.ai-grading-studio .badge.good{background:#22c55e1f!important;border-color:#22c55e59!important;color:#a7f3d0f2!important}.ai-grading-studio .badge.warn{background:#f59e0b1a!important;border-color:#f59e0b59!important;color:#fde68af2!important}.ai-grading-studio .badge.bad{background:#ef44441a!important;border-color:#ef444459!important;color:#fca5a5f2!important}.ai-grading-studio .submission-actions{border-top:1px solid #ffffff14;display:none;gap:6px;grid-column:1/-1;margin-top:6px;padding-top:6px}.ai-grading-studio .item:hover .submission-actions{display:flex}.ai-grading-studio .submission-actions button{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;color:var(--muted);cursor:pointer;flex:1 1;font-family:inherit;font-size:10px;font-weight:600;padding:5px 8px;transition:all .15s ease}.ai-grading-studio .submission-actions button:hover{background:#ffffff14;color:var(--text)}.ai-grading-studio .submission-actions .btn-delete:hover{background:#ef444426;border-color:#ef444459;color:#fca5a5f2}.ai-grading-studio .submission-actions .btn-reset-grade:hover{background:#f59e0b26;border-color:#f59e0b59;color:#fde68af2}.ai-grading-studio .submission-actions .btn-clear-data:hover{background:#ef44441a;border-color:#ef444440;color:#fca5a5e6}.ai-grading-studio .submission-actions .btn-reset-session:hover{background:rgba(var(--brand-primary-rgb),.15);border-color:rgba(var(--brand-primary-rgb),.35);color:#93c5fdf2}.ai-grading-studio .submission-score{border-top:1px solid #ffffff0f;color:var(--accent2);font-size:11px;font-weight:600;grid-column:1/-1;margin-top:4px;padding-top:4px}.ai-grading-studio .error-message{background:#ef44441f;border:1px solid #ef444440;border-radius:8px;color:#fca5a5f2;font-size:12px;font-weight:500;margin-bottom:10px;padding:8px 10px}.ai-grading-studio .main{background:#0d172a66;display:flex;flex-direction:column;min-width:0}.ai-grading-studio .mainHead{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f1a2eb3,#0f1a2e59);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 14px}.ai-grading-studio .titleBlock{display:flex;flex-direction:column;gap:4px;min-width:0}.ai-grading-studio .titleRow{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ai-grading-studio .titleRow h2{font-size:14px;letter-spacing:.2px;margin:0}.ai-grading-studio .metaRow{color:var(--muted2);display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.ai-grading-studio .tabs{align-items:center;border-bottom:none!important;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0}.ai-grading-studio .tab{background:#ffffff08;border:1px solid #ffffff1f;border-bottom:none!important;border-radius:999px;color:var(--muted);cursor:pointer;font-size:12px;padding:7px 10px;text-decoration:none!important;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ai-grading-studio .tab:hover{background:#ffffff0f}.ai-grading-studio .tab.active{background:#2dd4bf1a;border-color:#2dd4bf73;color:var(--text)}.ai-grading-studio .viewerWrap{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow:hidden;padding:14px}.ai-grading-studio .viewer{background:linear-gradient(180deg,#111f36d9,#0d172ad9);border:1px solid #ffffff1a;border-radius:var(--radius2);box-shadow:var(--shadow);flex:1 1;min-height:0;overflow:auto;position:relative}.ai-grading-studio .viewerToolbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#111f36f2,#111f36b3);border-bottom:1px solid #ffffff1a;display:flex;gap:10px;justify-content:space-between;padding:10px 12px;position:sticky;top:0;z-index:2}.ai-grading-studio .toolGroup{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.ai-grading-studio .tool{background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;color:var(--muted);cursor:pointer;font-size:12px;padding:7px 10px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.ai-grading-studio .tool:hover{background:#ffffff0f}.ai-grading-studio .tool.active{background:#7c5cff24;border-color:#7c5cff73;color:var(--text)}.ai-grading-studio .viewerBody{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:46px 1fr;min-height:200px;padding:14px}.ai-grading-studio .viewerBody.no-lines{display:block}.ai-grading-studio .lines{color:#ffffff4d;font-family:var(--mono);font-size:12px;line-height:1.8;text-align:right;-webkit-user-select:none;user-select:none}.ai-grading-studio .content{color:#ffffffeb;font-size:14px;line-height:1.65;padding-right:10px}.ai-grading-studio .content h4{color:#ffffffe6;font-size:13px;margin:0 0 10px}.ai-grading-studio .content .muted{color:var(--muted)}.ai-grading-studio .formatted-data{color:var(--text);font-size:13px;overflow:visible}.ai-grading-studio .data-row{border-bottom:1px solid #ffffff0f;display:flex;gap:12px;padding:8px 0}.ai-grading-studio .data-row:last-child{border-bottom:none}.ai-grading-studio .data-key{color:var(--accent2);flex-shrink:0;font-weight:600;min-width:150px}.ai-grading-studio .data-value{color:var(--text);word-break:break-word}.ai-grading-studio .data-group{border-left:3px solid #ffffff1a;margin:12px 0;overflow:visible;padding-left:16px}.ai-grading-studio .data-label{color:var(--accent);font-size:14px;font-weight:700;margin-bottom:8px;overflow:visible;white-space:nowrap}.ai-grading-studio .data-nested{margin-left:12px}.ai-grading-studio .data-array{display:flex;flex-direction:column;gap:8px}.ai-grading-studio .array-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:10px;padding:12px}.ai-grading-studio .depth-0{border-left-color:var(--accent)}.ai-grading-studio .depth-1{border-left-color:var(--accent2)}.ai-grading-studio .depth-2{border-left-color:var(--warn)}.ai-grading-studio .content-box{background:#0003;border:1px solid #ffffff14;border-radius:10px;color:var(--text);font-size:13px;grid-column:1/-1;line-height:1.5;max-height:600px;overflow-y:auto;padding:12px}.ai-grading-studio .content-box.json-view{background:#0000004d;color:#2dd4bfe6;font-family:var(--mono)}.ai-grading-studio .content-box.json-view pre{word-wrap:break-word;margin:0;white-space:pre-wrap}.ai-grading-studio .content-box.formatted-view{background:#ffffff05}.ai-grading-studio .view-toggle{display:flex;gap:6px}.ai-grading-studio .toggle-btn{background:#ffffff08;border:1px solid #ffffff1f;border-radius:8px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.ai-grading-studio .toggle-btn.active{background:#7c5cff24;border-color:#7c5cff73;color:var(--text)}.ai-grading-studio .toggle-btn:hover:not(.active){background:#ffffff0f;color:var(--text)}.ai-grading-studio .callout{background:#7c5cff14;border:1px solid #7c5cff38;border-radius:14px;margin:12px 0;padding:12px}.ai-grading-studio .callout strong{color:#e9e4fff2}.ai-grading-studio .quote{background:#2dd4bf12;border:1px solid #2dd4bf38;border-radius:14px;color:#dcfce7eb;margin:12px 0;padding:12px}.ai-grading-studio details{background:#ffffff08;border:1px solid #ffffff1a;border-radius:var(--radius2)}.ai-grading-studio summary{align-items:center;border-bottom:1px solid #ffffff14;cursor:pointer;display:flex;gap:10px;justify-content:space-between;list-style:none;padding:12px;-webkit-user-select:none;user-select:none}.ai-grading-studio summary::-webkit-details-marker{display:none}.ai-grading-studio .sumLeft{align-items:center;display:flex;gap:10px}.ai-grading-studio .caret{border-bottom:2px solid #ffffff73;border-right:2px solid #ffffff73;flex-shrink:0;height:10px;margin-right:2px;transform:rotate(-45deg);transition:transform .15s ease;width:10px}.ai-grading-studio details[open] .caret{transform:rotate(45deg)}.ai-grading-studio .sumTitle{font-size:13px;font-weight:650}.ai-grading-studio .sumMeta{color:var(--muted2);font-size:12px}.ai-grading-studio .detailsBody{color:var(--muted);font-size:13px;line-height:1.55;max-height:400px;overflow-y:auto;padding:12px}.ai-grading-studio .kpiRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ai-grading-studio .kpi{all:unset;aspect-ratio:unset!important;background:#0000001f!important;border:1px solid #ffffff1a!important;border-radius:999px!important;box-sizing:border-box;color:#fffc!important;display:inline-block;font-family:inherit;font-size:12px!important;height:auto!important;line-height:1;min-height:0!important;min-width:0!important;padding:7px 10px!important;white-space:nowrap;width:auto!important}.ai-grading-studio .drawer{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-left:1px solid var(--border);display:flex;flex-direction:column;max-height:calc(100vh - var(--topbar-h));min-height:0;min-width:0;overflow:hidden;position:relative}.ai-grading-studio #drawerToggle{display:none}.ai-grading-studio .drawerHead{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;justify-content:space-between;padding:12px 12px 10px}.ai-grading-studio .drawerHead h3{color:var(--muted);font-size:12px;letter-spacing:.5px;margin:0;text-transform:uppercase}.ai-grading-studio .drawerBody{display:flex;flex:1 1;flex-direction:column;gap:12px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px}.ai-grading-studio .card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:var(--radius2);padding:12px}.ai-grading-studio .fieldLabel{color:var(--muted2);font-size:12px;margin-bottom:6px}.ai-grading-studio .scoreRow{align-items:center;display:flex;gap:10px}.ai-grading-studio .scoreInput{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:10px}.ai-grading-studio .scoreInput:focus{border-color:#7c5cff73}.ai-grading-studio .outOf{color:var(--muted2);font-size:12px;white-space:nowrap}.ai-grading-studio .card textarea{background:#00000024;border:1px solid #ffffff1f;border-radius:12px;color:var(--text);font-family:inherit;font-size:13px;line-height:1.4;min-height:120px;outline:none;padding:10px;resize:vertical;width:100%}.ai-grading-studio .card textarea:focus{border-color:#7c5cff73}.ai-grading-studio .drawerFooter{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(180deg,#0f1a2e8c,#0f1a2ed9);border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:10px;padding:12px}.ai-grading-studio .btn{align-items:center;background:#ffffff08;border:1px solid #ffffff1f;border-radius:14px;color:var(--text);cursor:pointer;display:inline-flex;flex:1 1;font:inherit;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:10px 12px;transition:transform .08s ease,background .15s ease}.ai-grading-studio .btn:hover{background:#ffffff0f}.ai-grading-studio .btn:active{transform:translateY(1px)}.ai-grading-studio .btn.primary{background:linear-gradient(135deg,#7c5cff,#7c5cffbf);border-color:#7c5cff73;box-shadow:0 10px 24px #7c5cff38;flex:1.3 1}.ai-grading-studio .btn.primary:hover{background:linear-gradient(135deg,#7c5cff,#7c5cffd9)}.ai-grading-studio .btn.primary:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .drawerToggleLabel{align-items:center;background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:16px;height:36px;justify-content:center;transition:background .15s ease;-webkit-user-select:none;user-select:none;width:36px}.ai-grading-studio .drawerToggleLabel:hover{background:#ffffff0f}.ai-grading-studio #drawerToggle:checked~.layout{grid-template-columns:var(--rail-w) 1fr var(--drawer-w-compact)}.ai-grading-studio #drawerToggle:checked~.layout .drawer .drawerBody,.ai-grading-studio #drawerToggle:checked~.layout .drawer .drawerFooter,.ai-grading-studio #drawerToggle:checked~.layout .drawer .drawerHead h3{display:none}.ai-grading-studio .ai-results-compact{background:#2dd4bf14;border:1px solid #2dd4bf40;border-radius:10px;margin-top:10px;max-height:350px;overflow-y:auto;padding:10px}.ai-grading-studio .ai-score-compact{color:#dcfce7eb;font-size:13px;margin-bottom:8px}.ai-grading-studio .ai-score-compact strong{color:var(--accent2)}.ai-grading-studio .ai-feedback-compact{margin-bottom:8px}.ai-grading-studio .ai-feedback-compact strong{color:var(--accent2);font-size:12px}.ai-grading-studio .ai-feedback-compact p{color:var(--muted);font-size:12px;line-height:1.4;margin:4px 0 0;max-height:150px;overflow-y:auto;padding-right:4px}.ai-grading-studio .ai-criteria-compact{border-top:1px solid #2dd4bf26;margin-top:8px;padding-top:8px}.ai-grading-studio .ai-criteria-compact>strong{color:var(--accent2);display:block;font-size:12px;margin-bottom:4px}.ai-grading-studio .criterion-item-compact{grid-gap:4px;background:#0000001f;border-radius:8px;display:grid;gap:4px;grid-template-columns:1fr auto;margin-bottom:4px;padding:6px 8px}.ai-grading-studio .criterion-item-compact .criterion-name{color:var(--accent2);font-size:11px;font-weight:600}.ai-grading-studio .criterion-item-compact .criterion-score{color:var(--text);font-size:11px;font-weight:700}.ai-grading-studio .criterion-item-compact .criterion-feedback{color:var(--muted);font-size:11px;grid-column:1/-1;line-height:1.3;margin:2px 0 0}.ai-grading-studio .rubric-panel{background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:var(--radius);padding:12px}.ai-grading-studio .rubric-panel h3{color:#fde68af2;font-size:13px;font-weight:700;margin:0 0 8px}.ai-grading-studio .rubric-info{background:#00000026;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:8px;padding:6px 8px}.ai-grading-studio .rubric-code{color:#fde68acc;font-family:var(--mono);font-size:12px;font-weight:600}.ai-grading-studio .rubric-maxscore{color:var(--warn);font-size:13px;font-weight:700}.ai-grading-studio .rubric-levels{display:flex;flex-direction:column;gap:6px}.ai-grading-studio .rubric-level{background:#0000001f;border-left:3px solid var(--warn);border-radius:8px;padding:6px 8px}.ai-grading-studio .level-header{display:flex;justify-content:space-between;margin-bottom:3px}.ai-grading-studio .level-name{color:#fde68af2;font-size:12px;font-weight:700}.ai-grading-studio .level-score{color:var(--warn);font-size:11px;font-weight:700}.ai-grading-studio .level-description{color:var(--muted);font-size:11px;line-height:1.4;margin:0}.ai-grading-studio .empty-state{align-items:center;color:var(--muted2);display:flex;font-size:16px;height:100%;justify-content:center;min-height:300px}.ai-grading-studio .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.ai-grading-studio .modal-content{animation:modalSlideIn .3s ease-out;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 60px #00000080;color:var(--text);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-grading-studio .modal-header{align-items:center;background:#0000;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:24px 28px}.ai-grading-studio .modal-header h3{color:var(--text);font-size:20px;font-weight:700;margin:0}.ai-grading-studio .modal-close{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--muted);cursor:pointer;display:flex;font-size:32px;height:36px;justify-content:center;line-height:1;transition:all .2s;width:36px}.ai-grading-studio .modal-close:hover{background:#ffffff0f;color:var(--text)}.ai-grading-studio .modal-body{padding:28px}.ai-grading-studio .modal-warning{align-items:flex-start;background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:16px 20px}.ai-grading-studio .warning-icon{flex-shrink:0;font-size:24px}.ai-grading-studio .modal-warning p{color:#fde68af2;font-size:15px;font-weight:600;line-height:1.5;margin:0}.ai-grading-studio .modal-info{background:#ffffff08;border:1px solid var(--border);border-radius:12px;padding:20px}.ai-grading-studio .modal-info p{color:var(--text);font-size:14px;line-height:1.6;margin:0 0 12px}.ai-grading-studio .modal-info ul{margin:8px 0 16px 20px;padding:0}.ai-grading-studio .modal-info li{color:var(--muted);font-size:13px;line-height:1.5;margin-bottom:6px}.ai-grading-studio .modal-note{background:#7c5cff1a;border:1px solid #7c5cff40;border-radius:8px;color:var(--accent)!important;font-weight:600;margin-bottom:0!important;margin-top:16px!important;padding:12px}.ai-grading-studio .modal-options{display:flex;flex-direction:column;gap:16px}.ai-grading-studio .modal-checkbox{align-items:flex-start;background:#ffffff08;border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:16px;transition:all .2s}.ai-grading-studio .modal-checkbox:hover{background:#7c5cff0f;border-color:#7c5cff66}.ai-grading-studio .modal-checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;height:20px;margin-top:2px;width:20px}.ai-grading-studio .checkbox-content{display:flex;flex-direction:column;gap:4px}.ai-grading-studio .checkbox-content strong{color:var(--text);font-size:14px;font-weight:600}.ai-grading-studio .checkbox-description{color:var(--muted);font-size:13px;line-height:1.4}.ai-grading-studio .modal-error{background:#ef44441f;border:1px solid #ef444440;border-radius:8px;color:#fca5a5f2;font-size:13px;font-weight:600;margin-top:16px;padding:12px 16px}.ai-grading-studio .modal-footer{background:#0000001a;border-radius:0 0 16px 16px;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;padding:20px 28px}.ai-grading-studio .btn-modal-cancel,.ai-grading-studio .btn-modal-confirm{border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s}.ai-grading-studio .btn-modal-cancel{background:#ffffff0d;border:1px solid var(--border);color:var(--muted)}.ai-grading-studio .btn-modal-cancel:hover{background:#ffffff14;color:var(--text)}.ai-grading-studio .btn-modal-confirm{background:linear-gradient(135deg,var(--status-danger),var(--status-danger));color:#fff}.ai-grading-studio .btn-modal-confirm:hover:not(:disabled){box-shadow:0 8px 20px #ef444459;transform:translateY(-2px)}.ai-grading-studio .btn-modal-confirm:disabled{cursor:not-allowed;opacity:.4;transform:none}.ai-grading-studio .modal-danger{border:2px solid #ef444473}.ai-grading-studio .modal-danger-warning{background:#ef44441f!important;border:1px solid #ef444459!important}.ai-grading-studio .modal-danger-warning p{color:#fca5a5f2!important}.ai-grading-studio .modal-danger-info{background:#ef44440f!important;border:1px solid #ef444433!important}.ai-grading-studio .modal-danger-info li{color:#fca5a5e6!important;font-weight:600}.ai-grading-studio .modal-danger-note{background:#ef44441f!important;border:1px solid #ef444459!important;border-radius:8px;color:#fca5a5f2!important;font-weight:700!important;margin-bottom:0!important;margin-top:16px!important;padding:16px!important;text-align:center}.ai-grading-studio .modal-confirmation{background:#f59e0b14;border:1px solid #f59e0b40;border-radius:8px;margin-top:16px;padding:16px;text-align:center}.ai-grading-studio .modal-confirmation p{color:#fde68af2;font-size:15px;font-weight:700;margin:0}.ai-grading-studio .btn-modal-danger{background:linear-gradient(135deg,var(--status-danger),var(--status-danger));border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .2s}.ai-grading-studio .btn-modal-danger:hover{box-shadow:0 8px 20px #dc262680;transform:translateY(-2px)}.ai-grading-studio .student-submissions-section{border-top:1px solid var(--border);display:flex;flex:1 1;flex-direction:column;margin-top:12px;min-height:0}.ai-grading-studio .student-submissions-section .railHead{padding:8px 0}.ai-grading-studio .student-submissions-section .railHead h4{color:var(--text);font-size:12px;font-weight:600;margin:0}.ai-grading-studio .drawer .rubric-card{background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:var(--radius);margin-bottom:12px}.ai-grading-studio .drawer .rubric-card[open]{background:#f59e0b14}.ai-grading-studio .drawer .rubric-summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;list-style:none;padding:10px 12px}.ai-grading-studio .drawer .rubric-summary::-webkit-details-marker{display:none}.ai-grading-studio .drawer .rubric-summary .fieldLabel{color:#fde68af2;font-size:12px}.ai-grading-studio .drawer .rubric-max{background:#f59e0b26;border-radius:4px;color:var(--warn);font-size:11px;font-weight:600;padding:2px 6px}.ai-grading-studio .drawer .rubric-levels-compact{max-height:200px;overflow-y:auto;padding:8px 12px 12px}.ai-grading-studio .drawer .rubric-level-compact{background:#00000026;border-left:3px solid #f59e0b59;border-radius:6px;margin-bottom:6px;padding:8px 10px}.ai-grading-studio .drawer .rubric-level-compact:last-child{margin-bottom:0}.ai-grading-studio .drawer .level-header-compact{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.ai-grading-studio .drawer .level-name{color:var(--text);font-size:12px;font-weight:600}.ai-grading-studio .drawer .level-score{color:var(--warn);font-size:11px;font-weight:600}.ai-grading-studio .drawer .level-description-compact{color:var(--muted);font-size:11px;line-height:1.4;margin:0}.ai-grading-studio .student-rail{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ai-grading-studio .rail-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px}.ai-grading-studio .rail-header h3{color:var(--text);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0;text-transform:uppercase}.ai-grading-studio .rail-filters,.ai-grading-studio .rail-search{border-bottom:1px solid var(--border);padding:8px 12px}.ai-grading-studio .rail-filters{display:flex;gap:8px}.ai-grading-studio .rail-filters .filter-select{background:#00000024;border:1px solid #ffffff1f;border-radius:6px;color:var(--text);cursor:pointer;flex:1 1;font-size:11px;outline:none;padding:6px 8px}.ai-grading-studio .rail-filters .filter-select option{background:var(--panel);color:var(--text)}.ai-grading-studio .student-list{flex:1 1;max-height:40%;min-height:120px;overflow-y:auto;padding:8px}.ai-grading-studio .student-item{background:#ffffff08;border:1px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:4px;padding:10px 12px;transition:all .15s ease}.ai-grading-studio .student-item:hover{background:#ffffff0d;border-color:#ffffff1a}.ai-grading-studio .student-item.active{background:#7c5cff1f;border-color:#7c5cff73}.ai-grading-studio .student-item .student-name{color:var(--text);font-size:13px;font-weight:600;margin-bottom:4px}.ai-grading-studio .student-item .student-meta{display:flex;flex-wrap:wrap;gap:6px}.ai-grading-studio .badge-avg,.ai-grading-studio .badge-pending,.ai-grading-studio .badge-total{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px}.ai-grading-studio .badge-pending{background:#f59e0b26;color:#fde68af2}.ai-grading-studio .badge-total{background:#7c5cff26;color:#c4b5fdf2}.ai-grading-studio .badge-avg{background:#22c55e26;color:#a7f3d0f2}.ai-grading-studio .rail-empty,.ai-grading-studio .rail-loading{color:var(--muted);font-size:13px;padding:24px 16px;text-align:center}.ai-grading-studio .submission-list{border-top:1px solid var(--border);display:flex;flex:1 1;flex-direction:column;min-height:0}.ai-grading-studio .submission-list-header{align-items:center;background:#7c5cff14;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:10px 12px}.ai-grading-studio .submission-list-header strong{color:var(--text);font-size:12px}.ai-grading-studio .submission-count{background:#7c5cff33;border-radius:10px;color:var(--text);font-size:11px;padding:2px 8px}.ai-grading-studio .submission-items{flex:1 1;overflow-y:auto;padding:8px}.ai-grading-studio .submission-item{background:#ffffff08;border:1px solid #0000;border-radius:8px;cursor:pointer;margin-bottom:4px;padding:10px 12px;transition:all .15s ease}.ai-grading-studio .submission-item:hover{background:#ffffff0d;border-color:#ffffff1a}.ai-grading-studio .submission-item.active{background:#2dd4bf1f;border-color:#2dd4bf73}.ai-grading-studio .submission-item .submission-name{color:var(--text);font-size:12px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-grading-studio .submission-item .submission-info{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:8px}.ai-grading-studio .status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.ai-grading-studio .status-dot.status-pending{background:var(--warn)}.ai-grading-studio .status-dot.status-review{background:var(--accent)}.ai-grading-studio .status-dot.status-graded{background:var(--good)}.ai-grading-studio .grading-main{background:#0d172a66;display:flex;flex-direction:column;overflow:hidden}.ai-grading-studio .grading-main .grading-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f1a2eb3,#0f1a2e59);border-bottom:1px solid var(--border);padding:16px}.ai-grading-studio .grading-main .grading-content-scroll{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px}.ai-grading-studio .grading-form-section{display:flex;flex-direction:column;gap:16px}.ai-grading-studio .ai-section{display:flex;flex-direction:column;gap:10px}.ai-grading-studio .btn-ai{background:linear-gradient(135deg,#2dd4bfd9,#2dd4bfa6);border:1px solid #2dd4bf73;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s ease}.ai-grading-studio .btn-ai:hover:not(:disabled){background:linear-gradient(135deg,#2dd4bff2,#2dd4bfbf);box-shadow:0 4px 12px #2dd4bf40}.ai-grading-studio .btn-ai:disabled{cursor:not-allowed;opacity:.6}.ai-grading-studio .ai-results{background:#2dd4bf14;border:1px solid #2dd4bf40;border-radius:8px;padding:10px}.ai-grading-studio .ai-results .ai-score{color:var(--accent2);font-size:14px;font-weight:600;margin-bottom:6px}.ai-grading-studio .ai-results .ai-feedback{color:var(--muted);font-size:12px;line-height:1.4}.ai-grading-studio .score-row{align-items:center;display:flex;gap:8px}.ai-grading-studio .search-input{background:#ffffff08;border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;outline:none;padding:8px 12px;width:100%}.ai-grading-studio .search-input::placeholder{color:var(--muted2)}.ai-grading-studio .search-input:focus{border-color:#7c5cff73}.ai-grading-studio .error-toast{align-items:center;animation:slideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ef444426;border:1px solid #ef444459;border-radius:10px;bottom:20px;box-shadow:0 4px 16px #0000004d;color:#fca5a5f2;display:flex;font-size:14px;gap:12px;justify-content:space-between;max-width:400px;padding:16px;position:fixed;right:20px;z-index:1000}.ai-grading-studio .error-toast button{align-items:center;background:#0000;border:none;border-radius:4px;color:#fca5a5f2;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;width:24px}.ai-grading-studio .error-toast button:hover{background:#ef444426}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.ai-grading-studio .grading-panel{background:linear-gradient(180deg,#0f1a2ed9,#0d172ad9);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ai-grading-studio .grading-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,#0f1a2eb3,#0f1a2e59);border-bottom:1px solid var(--border);padding:16px}.ai-grading-studio .grading-header .header-info h2{color:var(--text);font-size:16px;font-weight:700;margin:0 0 8px}.ai-grading-studio .grading-header .submission-meta-row{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:12px}.ai-grading-studio .grading-header .submission-meta-row span{color:var(--muted)}.ai-grading-studio .grading-header .submission-meta-row strong{color:var(--text)}.ai-grading-studio .grading-content-scroll{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:16px}.ai-grading-studio .submission-section{background:#ffffff08;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ai-grading-studio .submission-section.collapsible{cursor:default}.ai-grading-studio .section-header{align-items:center;background:linear-gradient(180deg,#0f1a2e80,#0f1a2e40);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 16px}.ai-grading-studio .section-header.clickable{cursor:pointer;transition:background .2s ease}.ai-grading-studio .section-header.clickable:hover{background:linear-gradient(180deg,#0f1a2ea6,#0f1a2e59)}.ai-grading-studio .section-header h3{color:var(--text);font-size:13px;font-weight:600;margin:0}.ai-grading-studio .section-header .collapse-icon{color:var(--muted);font-size:12px}.ai-grading-studio .section-content{background:#0000;color:var(--text);padding:16px}.ai-grading-studio .section-content .json-view{background:#0003;border-radius:8px;color:#2dd4bfe6;font-family:var(--mono);font-size:12px;margin:0;overflow-x:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.ai-grading-studio .grading-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.ai-grading-studio .grading-left-column{display:flex;flex-direction:column;gap:12px}.ai-grading-studio .grading-left-column .rubric-panel{background:#f59e0b0f;border:1px solid #f59e0b33;border-radius:var(--radius);overflow:hidden}.ai-grading-studio .grading-left-column .rubric-panel .section-header{background:#f59e0b1a;border-bottom:1px solid #f59e0b33}.ai-grading-studio .grading-left-column .rubric-panel .section-header h3{color:#fde68af2}.ai-grading-studio .rubric-content{padding:12px}.ai-grading-studio .rubric-max-score{background:#0000001f;border-radius:8px;color:var(--warn);display:inline-block;font-size:12px;font-weight:600;margin-bottom:12px;padding:6px 10px}.ai-grading-studio .grading-form{display:flex;flex-direction:column;gap:16px}.ai-grading-studio .ai-evaluate-section{margin-bottom:8px}.ai-grading-studio .btn-ai-compact{background:linear-gradient(135deg,#2dd4bfd9,#2dd4bfa6);border:1px solid #2dd4bf73;border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 16px;transition:all .2s ease;width:100%}.ai-grading-studio .btn-ai-compact:hover:not(:disabled){background:linear-gradient(135deg,#2dd4bff2,#2dd4bfbf);box-shadow:0 4px 12px #2dd4bf40}.ai-grading-studio .btn-ai-compact:disabled{cursor:not-allowed;opacity:.6}.ai-grading-studio .form-group{display:flex;flex-direction:column;gap:6px}.ai-grading-studio .form-group label{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ai-grading-studio .score-input-wrapper{align-items:center;display:flex;gap:8px}.ai-grading-studio .score-input{background:#00000024;border:1px solid #ffffff1f;border-radius:10px;color:var(--text);flex:1 1;font-family:inherit;font-size:16px;font-weight:600;outline:none;padding:10px 12px}.ai-grading-studio .score-input:focus{border-color:#7c5cff73}.ai-grading-studio .max-score{color:var(--muted);font-size:14px;font-weight:500}.ai-grading-studio .comments-textarea,.ai-grading-studio .feedback-textarea{background:#00000024;border:1px solid #ffffff1f;border-radius:10px;color:var(--text);font-family:inherit;font-size:13px;line-height:1.5;min-height:100px;outline:none;padding:12px;resize:vertical;width:100%}.ai-grading-studio .comments-textarea:focus,.ai-grading-studio .feedback-textarea:focus{border-color:#7c5cff73}.ai-grading-studio .grading-actions{margin-top:12px}.ai-grading-studio .btn-submit{background:linear-gradient(135deg,#7c5cff,#7c5cffbf);border:1px solid #7c5cff73;border-radius:10px;box-shadow:0 4px 12px #7c5cff38;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease;width:100%}.ai-grading-studio .btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#7c5cff,#7c5cffd9);box-shadow:0 6px 16px #7c5cff4d}.ai-grading-studio .btn-submit:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .filters{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;padding:8px 12px}.ai-grading-studio .filter-group{display:flex;flex-direction:column;gap:4px}.ai-grading-studio .filter-group>label{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.ai-grading-studio .filter-select{background:#00000024;border:1px solid #ffffff1f;border-radius:8px;color:var(--text);cursor:pointer;font-size:12px;outline:none;padding:8px 10px}.ai-grading-studio .filter-select:focus{border-color:#7c5cff73}.ai-grading-studio .filter-select option{background:var(--panel);color:var(--text)}.ai-grading-studio .btn-refresh{background:#ffffff08;border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.ai-grading-studio .btn-refresh:hover:not(:disabled){background:#ffffff0f;color:var(--text)}.ai-grading-studio .btn-refresh:disabled{cursor:not-allowed;opacity:.5}.ai-grading-studio .grading-panel .status-badge{all:unset;border-radius:6px;display:inline-block;font-size:11px;font-weight:500;padding:4px 8px}.ai-grading-studio .status-badge.status-pending{background:#f59e0b1f;border:1px solid #f59e0b40;color:#fde68af2}.ai-grading-studio .status-badge.status-review{background:#7c5cff1f;border:1px solid #7c5cff40;color:#c4b5fdf2}.ai-grading-studio .status-badge.status-graded{background:#22c55e1f;border:1px solid #22c55e40;color:#a7f3d0f2}.ai-grading-studio .debug-info-box{background:#7c5cff1a;border:1px solid #7c5cff40;border-radius:8px;color:var(--muted);font-size:11px;margin-bottom:8px;padding:8px;position:sticky;top:0;z-index:10}.ai-grading-studio .debug-info-box div{color:var(--muted);margin-bottom:2px}.ai-grading-studio .markdown-content{color:var(--text);font-size:13px;line-height:1.6}.ai-grading-studio .markdown-content h1,.ai-grading-studio .markdown-content h2,.ai-grading-studio .markdown-content h3,.ai-grading-studio .markdown-content h4,.ai-grading-studio .markdown-content h5,.ai-grading-studio .markdown-content h6{color:var(--text);font-weight:700;line-height:1.3;margin:12px 0 8px}.ai-grading-studio .markdown-content h1{font-size:18px}.ai-grading-studio .markdown-content h2{font-size:16px}.ai-grading-studio .markdown-content h3{font-size:14px}.ai-grading-studio .markdown-content h4{font-size:13px}.ai-grading-studio .markdown-content h5,.ai-grading-studio .markdown-content h6{font-size:12px}.ai-grading-studio .markdown-content p{margin:8px 0}.ai-grading-studio .markdown-content strong{color:var(--accent2);font-weight:700}.ai-grading-studio .markdown-content em{color:#ffffffd9;font-style:italic}.ai-grading-studio .markdown-content ol,.ai-grading-studio .markdown-content ul{margin:8px 0;padding-left:20px}.ai-grading-studio .markdown-content li{line-height:1.5;margin:4px 0}.ai-grading-studio .markdown-content ul li{list-style-type:disc}.ai-grading-studio .markdown-content ol li{list-style-type:decimal}.ai-grading-studio .markdown-content code{background:#00000040;border-radius:4px;color:var(--accent2);font-family:var(--mono);font-size:12px;padding:2px 6px}.ai-grading-studio .markdown-content pre{background:#0000004d;border:1px solid #ffffff14;border-radius:8px;margin:10px 0;overflow-x:auto;padding:12px}.ai-grading-studio .markdown-content pre code{background:none;color:#2dd4bfe6;font-size:12px;padding:0}.ai-grading-studio .markdown-content blockquote{background:#7c5cff14;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;color:#ffffffd9;margin:10px 0;padding:10px 14px}.ai-grading-studio .markdown-content hr{border:none;border-top:1px solid #ffffff1f;margin:16px 0}.ai-grading-studio .markdown-content a{color:var(--accent);text-decoration:underline}.ai-grading-studio .markdown-content a:hover{color:#7c5cffd9}.ai-grading-studio .markdown-content table{border-collapse:collapse;font-size:12px;margin:10px 0;width:100%}.ai-grading-studio .markdown-content td,.ai-grading-studio .markdown-content th{border:1px solid #ffffff1f;padding:8px 10px;text-align:left}.ai-grading-studio .markdown-content th{background:#ffffff0d;color:var(--accent2);font-weight:600}.ai-grading-studio .markdown-content td{background:#0000001a}.ai-grading-studio .feedback-view{background:#0000001a;border:1px solid #ffffff14;border-radius:10px;min-height:60px;padding:12px}.ai-grading-studio .feedback-view .markdown-content{font-size:13px}.ai-grading-studio .criterion-feedback{color:var(--muted);font-size:11px;line-height:1.4}.ai-grading-studio .criterion-feedback strong{color:var(--accent2);font-weight:600}.ai-grading-studio .criterion-feedback ol,.ai-grading-studio .criterion-feedback ul{margin:4px 0;padding-left:16px}.ai-grading-studio .criterion-feedback li{margin:2px 0}.ai-grading-studio .ai-feedback-compact .markdown-content{color:var(--muted);font-size:12px}.ai-grading-studio .ai-feedback-compact .markdown-content strong{color:var(--accent2)}.ai-grading-studio .ai-feedback-compact .markdown-content p{margin:4px 0}@media (max-width:1100px){:root{--rail-w:280px;--drawer-w:320px}}@media (max-width:980px){.ai-grading-studio{height:auto;min-height:100vh;overflow:visible}.ai-grading-studio .layout{grid-template-columns:1fr;height:auto}.ai-grading-studio .rail{display:none}.ai-grading-studio .drawer{border-left:none;border-top:1px solid var(--border)}.ai-grading-studio #drawerToggle{display:none}.ai-grading-studio .student-centric-view .studio-layout{grid-template-columns:1fr}}@media (max-width:1400px){.ai-grading-studio .student-list-panel{width:240px}.ai-grading-studio .summary-stats{grid-template-columns:1fr 1fr}}.test-browser-modal .modal-body{max-height:70vh;overflow-y:auto}.test-browser-modal .test-browser-table{max-height:55vh;overflow-y:auto}.test-browser-modal .table{margin-bottom:0}.test-browser-modal .table tbody tr{cursor:default}.test-browser-modal .table tbody tr:hover{background-color:rgba(0,0,0,.025)}.test-browser-modal .table tbody tr.table-active{background-color:#1987541a;border-left:3px solid var(--status-success)}.test-browser-modal .modal-footer{border-top:1px solid var(--border-default);padding:1rem 1.5rem}.study-resources-page{background-color:var(--surface-page);margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.study-resources-page .filter-panel{padding:16px 20px!important}.study-resources-page .filter-panel .filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.study-resources-page .filter-panel .results-count{border-left:1px solid var(--border-default);color:var(--text-muted);font-size:14px;margin-left:auto;padding-left:16px;white-space:nowrap}.study-resources-page .filter-panel .results-count strong{color:var(--text-body);font-weight:600}.study-resources-page .filter-panel .input-group{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.study-resources-page .filter-panel .input-group .input-group-text{background-color:var(--surface-card);border:none;color:var(--text-muted);font-size:14px;padding:8px 12px}.study-resources-page .filter-panel .input-group .form-control{border:none;box-shadow:none;font-size:14px;height:38px;padding:8px 12px}.study-resources-page .filter-panel .input-group .form-control:focus{box-shadow:none}.study-resources-page .filter-panel .input-group:focus-within{border-color:#86b7fe;box-shadow:0 0 0 3px #0d6efd1f}.study-resources-page .filter-panel .form-select{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;font-size:14px;height:38px;padding:8px 36px 8px 14px;transition:border-color .15s ease,box-shadow .15s ease}.study-resources-page .filter-panel .form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 3px #0d6efd1f}.study-resources-page .filter-panel .btn-primary{align-items:center;border-radius:8px;display:inline-flex;font-size:14px;font-weight:500;gap:6px;height:38px;padding:8px 20px}.study-resources-page h2{color:var(--text-strong);font-size:22px;font-weight:600;letter-spacing:-.01em}.study-resources-page .text-muted{font-size:13px}.study-resources-page .table{font-size:13.5px;margin-bottom:0}.study-resources-page .table thead th{background-color:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-transform:uppercase}.study-resources-page .table tbody td{color:var(--text-strong);padding:10px 12px;vertical-align:middle}.study-resources-page .table tbody tr{transition:background-color .2s ease}.study-resources-page .table tbody tr:hover{background-color:#f1f3f5}.study-resources-page .card{border:none;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.study-resources-page .btn{transition:all .2s ease}.study-resources-page .btn:hover{box-shadow:0 .25rem .5rem #0000001a;transform:translateY(-1px)}.study-resources-page .table .btn-outline-primary{background-color:#fff;border-color:var(--brand-primary);color:var(--brand-primary)}.study-resources-page .table .btn-outline-primary:hover{background-color:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.study-resources-page .table .btn-outline-danger{background-color:#fff;border-color:var(--status-danger);color:var(--status-danger)}.study-resources-page .table .btn-outline-danger:hover{background-color:var(--status-danger);border-color:var(--status-danger);color:#fff}.study-resources-page .table .btn-sm{border-width:1px;font-size:12.5px;font-weight:500;inline-size:max-content;padding:4px 10px}.study-resources-page .table .btn{font-size:12.5px;padding:4px 10px}.study-resources-page .badge{border:none;border-radius:.375rem;display:inline-block;font-size:.75rem;font-weight:500;height:auto;padding:.3em .6em;white-space:nowrap;width:auto}.modal .btn-close{background:#0000!important;border:none!important;cursor:pointer!important;font-size:1.5rem!important;font-weight:700!important;height:1em!important;opacity:.5!important;padding:0!important;text-shadow:none!important;width:1em!important}.modal .btn-close,.modal .btn-close:before{color:var(--text-strong)!important;line-height:1!important}.modal .btn-close:before{content:"×"!important;display:block!important;font-size:2rem!important}.modal .btn-close:hover{opacity:.75!important}.modal .btn-close:focus{box-shadow:none!important;opacity:1!important;outline:none!important}.modal .badge{border-radius:.375rem!important;display:inline-block!important;font-size:.75em!important;font-weight:500!important;height:auto!important;line-height:1!important;padding:.25em .5em!important;vertical-align:middle!important;white-space:nowrap!important;width:auto!important}.modal .badge.bg-secondary{background-color:#6c757d!important;color:var(--text-on-brand)!important}.modal .badge.bg-primary{background-color:var(--brand-primary)!important;color:var(--text-on-brand)!important}.modal .badge.bg-success{background-color:var(--status-success)!important;color:var(--text-on-brand)!important}.modal .badge.bg-warning{background-color:var(--status-warning)!important;color:var(--text-strong)!important}.modal .badge.bg-danger{background-color:var(--status-danger)!important;color:var(--text-on-brand)!important}.modal .badge.bg-info{background-color:#0dcaf0!important;color:var(--text-strong)!important}.modal .form-label{align-items:center!important;display:flex!important;flex-wrap:wrap!important;gap:.5rem!important}.study-resources-page .table-responsive{overflow:visible}.study-resources-page .card:has(.table-responsive){overflow:visible}.study-resources-page .card:has(.table-responsive) .card-body{min-height:200px;overflow:visible}.study-resources-page .dropdown-menu{position:absolute!important}.study-resources-page .dropdown-menu.show{z-index:1050}.study-resources-page .table td,.study-resources-page .table th{vertical-align:middle}.study-resources-page .table td [title="Click to change rubric"]{border-radius:4px;padding:4px 8px;transition:background-color .15s ease}.study-resources-page .table td [title="Click to change rubric"]:hover{background-color:var(--surface-sunken)}.study-resources-page .table td [title="Click to change rubric"] .text-muted{color:var(--text-muted)!important}.study-resources-page .table td [title="Click to change rubric"]:hover .text-muted{color:var(--brand-primary)!important}.study-resources-page .text-truncate{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-resources-page .table .input-group-text{background-color:var(--surface-card);border-right:none}.study-resources-page .table .input-group .form-control{border-left:none}.study-resources-page .table .input-group .form-control:focus{border-color:var(--border-strong);box-shadow:none}.study-resources-page .table .input-group .form-control:focus+.input-group-text{border-color:var(--border-strong)}.modal-dialog.study-resources-modal.modal-lg{max-width:800px}.modal-dialog.study-resources-modal .modal-content{border:none;border-radius:.5rem;box-shadow:0 .5rem 1rem #00000026}.modal-dialog.study-resources-modal .modal-header{background-color:var(--surface-page);border-bottom:1px solid var(--border-default)}.modal-dialog.study-resources-modal .modal-header .btn-close,.modal-dialog.study-resources-modal .modal-header .close{background-color:initial;border:0;color:var(--text-strong);cursor:pointer;font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;padding:0;text-shadow:none}.modal-dialog.study-resources-modal .modal-header .btn-close:hover,.modal-dialog.study-resources-modal .modal-header .close:hover{color:var(--text-strong);opacity:.75}.modal-dialog.study-resources-modal .modal-header .btn-close:focus,.modal-dialog.study-resources-modal .modal-header .close:focus{box-shadow:none;opacity:1;outline:none}.modal-dialog.study-resources-modal .modal-header .btn-close:before,.modal-dialog.study-resources-modal .modal-header .close:before{color:var(--text-strong);content:"×";font-size:2rem;line-height:1}.modal-dialog.study-resources-modal .modal-footer{background-color:var(--surface-page);border-top:1px solid var(--border-default)}.study-resources-page .form-label{color:var(--text-body);font-weight:500;margin-bottom:.5rem}.study-resources-page .form-control:focus,.study-resources-page .form-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.study-resources-page textarea.form-control{font-family:Courier New,Courier,monospace;font-size:.9rem;resize:vertical}.study-resources-page .progress{border-radius:.375rem;font-size:.875rem;height:1.5rem}.study-resources-page .text-center svg{opacity:.5}@media (max-width:992px){.study-resources-page .filter-panel .filter-row{gap:12px}.study-resources-page .filter-panel .results-count{border-left:none;border-top:1px solid var(--border-default);margin-left:0;margin-top:8px;padding-left:0;padding-top:12px;text-align:right;width:100%}}@media (max-width:768px){.study-resources-page h2{font-size:1.5rem}.study-resources-page .d-flex.justify-content-between{flex-direction:column;gap:1rem}.study-resources-page .filter-panel .filter-row{gap:10px}.study-resources-page .filter-panel .form-select,.study-resources-page .filter-panel .input-group{flex:1 1 100%!important;width:100%!important}.study-resources-page .filter-panel .btn-primary{justify-content:center;width:100%}.study-resources-page .table{font-size:.875rem}.study-resources-page .btn-sm{font-size:.75rem;padding:.25rem .5rem}}.study-resources-page .alert,.study-resources-page .card{animation:fadeIn .3s ease}.study-resource-form-drawer.offcanvas,.study-resource-form-drawer.offcanvas.offcanvas-end,.study-resource-view-drawer.offcanvas,.study-resource-view-drawer.offcanvas.offcanvas-end{background-clip:padding-box!important;background-color:var(--surface-card)!important;border-left:1px solid #0000001a!important;bottom:0!important;box-shadow:-4px 0 15px #00000026!important;display:flex!important;flex-direction:column!important;left:auto!important;max-width:100%!important;outline:0!important;position:fixed!important;right:0!important;top:0!important;visibility:visible!important;z-index:1055!important}.study-resource-form-drawer.offcanvas.show,.study-resource-view-drawer.offcanvas.show{transform:none!important}.study-resource-view-drawer.offcanvas{width:420px!important}.study-resource-form-drawer.offcanvas{width:520px!important}.study-resource-form-drawer.offcanvas .offcanvas-header,.study-resource-view-drawer .offcanvas-header{background-color:var(--surface-page);border-bottom:1px solid var(--border-default);flex-shrink:0}.study-resource-form-drawer .offcanvas-body,.study-resource-view-drawer .offcanvas-body{flex:1 1;overflow-y:auto}.offcanvas-backdrop,body>.offcanvas-backdrop{background-color:#000!important;height:100vh!important;left:0!important;position:fixed!important;top:0!important;width:100vw!important;z-index:1040!important}.offcanvas-backdrop.show{opacity:.5!important}.offcanvas-backdrop.fade{opacity:0;transition:opacity .15s linear}.study-resource-form-drawer .badge,.study-resource-view-drawer .badge{border-radius:.375rem!important;display:inline-block!important;font-size:.85em!important;font-weight:500!important;height:auto!important;line-height:1.2!important;overflow:visible!important;padding:.35em .65em!important;text-overflow:clip!important;vertical-align:initial!important;white-space:nowrap!important;width:auto!important}.study-resource-form-drawer .badge.bg-primary,.study-resource-view-drawer .badge.bg-primary{background-color:var(--brand-primary)!important;color:var(--text-on-brand)!important}.study-resource-form-drawer .badge.bg-secondary,.study-resource-view-drawer .badge.bg-secondary{background-color:#6c757d!important;color:var(--text-on-brand)!important}.study-resource-form-drawer .badge.bg-success,.study-resource-view-drawer .badge.bg-success{background-color:var(--status-success)!important;color:var(--text-on-brand)!important}.study-resource-form-drawer .badge.bg-warning,.study-resource-view-drawer .badge.bg-warning{background-color:var(--status-warning)!important;color:var(--text-strong)!important}.study-resource-form-drawer .badge.bg-danger,.study-resource-view-drawer .badge.bg-danger{background-color:var(--status-danger)!important;color:var(--text-on-brand)!important}.study-resource-form-drawer .badge.bg-info,.study-resource-view-drawer .badge.bg-info{background-color:#0dcaf0!important;color:var(--text-strong)!important}.study-resource-form-drawer .badge.bg-dark,.study-resource-view-drawer .badge.bg-dark{background-color:#212529!important;color:var(--text-on-brand)!important}.study-resource-form-drawer .badge.bg-light,.study-resource-view-drawer .badge.bg-light{background-color:var(--surface-page)!important;color:var(--text-strong)!important}.study-resource-form-drawer.offcanvas .offcanvas-header{align-items:center!important;background:var(--gradient-brand)!important;border-bottom:1px solid #ffffff14!important;box-shadow:inset 0 -1px 0 #00000014,0 1px 0 #ffffff0a;height:auto!important;min-height:0!important;padding:10px 18px!important}.study-resource-form-drawer.offcanvas .offcanvas-header .offcanvas-title{color:var(--text-on-brand);font-size:15px;font-weight:600;letter-spacing:.005em;line-height:1.2;margin:0!important}.study-resource-form-drawer.offcanvas .offcanvas-header .sr-subtitle{color:#ffffffb8;display:block;font-size:11px;font-weight:500;letter-spacing:.02em;margin-top:1px}.study-resource-form-drawer.offcanvas .offcanvas-header .btn-close{filter:invert(1) brightness(2);margin:0!important;opacity:.85;padding:8px!important}.study-resource-form-drawer .offcanvas-body{background:var(--surface-page);padding:14px 18px!important}.study-resource-form-drawer .sr-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 1px 2px #0f172a08;margin-bottom:10px;padding:12px 16px}.study-resource-form-drawer .sr-section-title{align-items:center;color:var(--text-muted);display:flex;font-size:10.5px;font-weight:700;gap:6px;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.study-resource-form-drawer .sr-section-title svg{color:var(--text-faint)}.study-resource-form-drawer .form-label{color:var(--text-strong);font-size:13px;font-weight:600;margin-bottom:5px}.study-resource-form-drawer .form-text{color:var(--text-faint);font-size:11.5px}.study-resource-form-drawer .form-control,.study-resource-form-drawer .form-select{background:var(--surface-card);border-color:var(--border-default);font-size:13.5px}.study-resource-form-drawer .form-control:focus,.study-resource-form-drawer .form-select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #8b5cf61f}.study-resource-form-drawer .sr-required-pill{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:999px;color:var(--status-danger)}.study-resource-form-drawer .sr-optional-pill,.study-resource-form-drawer .sr-required-pill{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.04em;margin-left:8px;padding:1px 7px;vertical-align:2px}.study-resource-form-drawer .sr-optional-pill{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted)}.study-resource-form-drawer .sr-switch{display:inline-block;flex-shrink:0;height:20px;position:relative;width:34px}.study-resource-form-drawer .sr-switch input{height:0;opacity:0;width:0}.study-resource-form-drawer .sr-switch .sr-switch-slider{background-color:#cbd5e1;border-radius:999px;cursor:pointer;inset:0;position:absolute;transition:background-color .18s ease}.study-resource-form-drawer .sr-switch .sr-switch-slider:before{background-color:var(--surface-card);border-radius:50%;box-shadow:0 1px 2px #0000002e;content:"";height:14px;left:3px;position:absolute;top:3px;transition:transform .18s ease;width:14px}.study-resource-form-drawer .sr-switch input:checked+.sr-switch-slider{background-color:var(--brand-accent)}.study-resource-form-drawer .sr-switch input:checked+.sr-switch-slider:before{transform:translateX(14px)}.study-resource-form-drawer .sr-switch input:focus-visible+.sr-switch-slider{box-shadow:0 0 0 3px #8b5cf640}.study-resource-form-drawer .sr-switch input:disabled+.sr-switch-slider{cursor:not-allowed;opacity:.5}.study-resource-form-drawer .sr-toggle-row{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:7px 0}.study-resource-form-drawer .sr-toggle-row+.sr-toggle-row{border-top:1px dashed var(--border-default)}.study-resource-form-drawer .sr-toggle-row .sr-toggle-meta{flex:1 1;min-width:0}.study-resource-form-drawer .sr-toggle-row .sr-toggle-title{align-items:center;color:var(--text-strong);display:inline-flex;font-size:13px;font-weight:600;gap:6px;line-height:1.3}.study-resource-form-drawer .sr-toggle-row .sr-toggle-help{color:var(--text-faint);font-size:11.5px;line-height:1.35;margin-top:1px}.study-resource-form-drawer .sr-toggle-row.sr-nested{border-left:2px solid #ede9fe;margin-left:18px;padding-left:12px}.study-resource-form-drawer .sr-rubric-chip{align-items:center;background:var(--brand-primary-subtle);border:1px solid #ddd6fe;border-radius:6px;color:#5b21b6;display:inline-flex;font-size:11.5px;font-weight:500;gap:6px;margin-top:6px;padding:4px 10px}.study-resource-form-drawer .sr-rubric-chip .sr-rubric-chip-meta{color:var(--brand-accent);font-size:11px;font-weight:600}.study-resource-form-drawer .sr-template-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}.study-resource-form-drawer .sr-template-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;cursor:pointer;padding:12px 14px;text-align:left;transition:all .15s ease}.study-resource-form-drawer .sr-template-card:hover{background:#faf5ff;border-color:var(--brand-accent);box-shadow:0 4px 8px #8b5cf614;transform:translateY(-1px)}.study-resource-form-drawer .sr-template-card .sr-template-name{color:#5b21b6;font-size:12.5px;font-weight:700;letter-spacing:.01em;margin-bottom:4px}.study-resource-form-drawer .sr-template-card .sr-template-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.study-resource-form-drawer .offcanvas-body+div,.study-resource-form-drawer form>div.border-top{background:var(--surface-card)!important;border-top:1px solid var(--border-default)!important;padding:10px 18px!important}.study-resource-form-drawer .btn-primary{background:var(--gradient-brand);border:none;box-shadow:0 1px 2px #6366f140;font-weight:600;padding:8px 18px}.study-resource-form-drawer .btn-primary:focus:not(:disabled),.study-resource-form-drawer .btn-primary:hover:not(:disabled){background:var(--gradient-brand);box-shadow:0 4px 10px #6366f14d}.study-resource-form-drawer .btn-secondary{background:var(--surface-card);border-color:var(--border-default);color:var(--text-body);font-weight:600}.study-resource-form-drawer .btn-secondary:hover:not(:disabled){background:var(--surface-page);border-color:var(--border-strong);color:var(--text-strong)}.knowledge-core{padding:20px 24px 30px}.knowledge-core .kc-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.knowledge-core .kc-header h1{color:var(--text-strong);font-size:20px;margin:0}.knowledge-core .kc-header p{color:var(--text-muted);font-size:12.5px;margin:3px 0 0}.knowledge-core .kc-stats{display:flex;gap:12px}.knowledge-core .kc-stat{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:8px 16px;text-align:center}.knowledge-core .kc-stat-num{color:var(--brand-primary);font-size:18px;font-weight:700}.knowledge-core .kc-stat-label{color:var(--text-muted);font-size:11px}.knowledge-core .kc-tabs{align-items:center;display:flex;gap:8px;margin-bottom:12px}.knowledge-core .kc-tabs>button:not(.kc-add-btn){background:var(--surface-card);border:1px solid var(--border-default);border-radius:999px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:600;padding:6px 16px}.knowledge-core .kc-tabs>button.on{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.knowledge-core .kc-add-btn{margin-left:auto}.knowledge-core .kc-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;overflow-x:auto;padding:6px 0}.knowledge-core .kc-table{border-collapse:collapse;font-size:13px;width:100%}.knowledge-core .kc-table th{border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:11px;letter-spacing:.05em;padding:10px 14px;text-align:left;text-transform:uppercase}.knowledge-core .kc-table td{border-bottom:1px solid var(--border-default);color:var(--text-body);padding:9px 14px;vertical-align:middle}.knowledge-core .kc-table tr:last-child td{border-bottom:0}.knowledge-core .kc-table tr.inactive td{opacity:.5}.knowledge-core .kc-td-meaning,.knowledge-core .kc-td-student,.knowledge-core .kc-td-title{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-core .kc-link{color:var(--brand-primary);cursor:pointer;font-weight:600}.knowledge-core .kc-link:hover{text-decoration:underline}.knowledge-core .kc-badge{border-radius:999px;display:inline-block;font-size:10.5px;font-weight:600;padding:2px 10px;text-transform:capitalize}.knowledge-core .kc-badge.active,.knowledge-core .kc-badge.correction{background:#ecfdf5;background:var(--status-success-bg,#ecfdf5);color:#047857;color:var(--status-success-text,#047857)}.knowledge-core .kc-badge.inactive{background:var(--surface-sunken);color:var(--text-muted)}.knowledge-core .kc-badge.warning{background:#fffbeb;background:var(--status-warning-bg,#fffbeb);color:#b45309;color:var(--status-warning-text,#b45309)}.knowledge-core .kc-badge.team{background:var(--brand-primary-subtle);color:var(--brand-primary)}.knowledge-core .kc-gloss-form{grid-gap:8px;border-bottom:1px solid var(--border-default);display:grid;gap:8px;grid-template-columns:150px 200px 1fr auto;padding:12px 14px}.modal-dialog.kc-modal .modal-content{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;color:var(--text-body)}.modal-dialog.kc-modal .modal-header{border-bottom:1px solid var(--border-default)}.modal-dialog.kc-modal .modal-title{color:var(--text-strong);font-size:16px}.modal-dialog.kc-modal .kc-modal-sub{color:var(--text-muted);font-size:12px;font-weight:400;margin-top:3px}.modal-dialog.kc-modal .kc-doc-content{background:var(--surface-page);border-radius:8px;color:var(--text-body);font-family:inherit;font-size:13px;line-height:1.6;max-height:60vh;overflow-y:auto;padding:14px;white-space:pre-wrap}.modal-dialog.kc-modal .kc-form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.modal-dialog.kc-modal .kc-span2{grid-column:span 2}.modal-dialog.kc-modal .form-label{color:var(--text-muted);font-size:12px;font-weight:600;margin-bottom:4px}.lesson-plan-management-page{background-color:var(--surface-page);margin:0 auto;max-width:1400px;min-height:100vh;padding:24px}.lesson-plan-management-page .lpm-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.lesson-plan-management-page .lpm-title{color:var(--text-strong);font-weight:700;margin:0}.lesson-plan-management-page .lpm-subtitle{color:var(--text-muted);font-size:14px;margin:4px 0 0}.lesson-plan-management-page .lpm-filter-card,.lesson-plan-management-page .lpm-table-card{border:1px solid var(--border-default);border-radius:12px;margin-bottom:16px}.lesson-plan-management-page .lpm-filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.lesson-plan-management-page .lpm-search{flex:1 1 320px;max-width:480px}.lesson-plan-management-page .lpm-type-select{min-width:190px;width:auto}.lesson-plan-management-page .lpm-count{color:var(--text-muted);font-size:14px;margin-left:auto;white-space:nowrap}.lesson-plan-management-page .lpm-alert{border-radius:10px}.lesson-plan-management-page .lpm-table{margin-bottom:0;vertical-align:middle}.lesson-plan-management-page .lpm-table thead th{border-bottom:2px solid var(--border-default);color:var(--text-muted);font-size:12px;letter-spacing:.03em;text-transform:uppercase}.lesson-plan-management-page .lpm-table td{color:var(--text-body);font-size:14px;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-plan-management-page .lpm-empty{color:var(--text-muted);padding:32px 8px;text-align:center}.lesson-plan-management-page .lpm-pagination{display:flex;justify-content:flex-end;margin-top:16px}.lesson-plan-management-page .lpm-pagination .pagination{margin-bottom:0}.lpm-detail-meta{border-bottom:1px solid #eef1f4;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:12px;padding:4px 0 12px}.lpm-detail-meta>div{display:flex;flex-direction:column}.lpm-meta-label{color:var(--text-faint);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.lpm-meta-value{color:var(--text-strong);font-size:16px;font-weight:600}.lpm-remarks{color:var(--text-body);font-size:14px;margin-bottom:16px}.lpm-section-title{color:var(--text-strong);font-weight:700;margin-bottom:10px}.lpm-group{margin-bottom:14px}.lpm-group-head{background:var(--surface-sunken);border-left:4px solid #2572eb;border-radius:4px;color:var(--text-strong);font-weight:600;padding:6px 12px}.lpm-group-count{color:var(--text-muted);font-size:13px;font-weight:400}.lpm-steps{margin:8px 0 0;padding-left:22px}.lpm-steps li{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:4px 0}.lpm-step-name{color:var(--text-body);font-size:14px}.lpm-step-res{color:var(--text-muted);font-size:12px;white-space:nowrap}.lpcr-page{background-color:var(--surface-page);margin:0 auto;max-width:100%;min-height:100vh;padding:20px 24px}.lpcr-header{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);border-radius:10px;color:var(--text-on-brand);margin-bottom:16px;padding:14px 20px}.lpcr-title{font-size:20px;font-weight:700;margin:0}.lpcr-sticky-bar{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:14px;padding:12px 14px;position:sticky;top:0;z-index:20}.lpcr-filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px}.lpcr-filter-summary{color:var(--text-body);font-size:13px;overflow:hidden;padding:4px 2px;text-overflow:ellipsis;white-space:nowrap}.lpcr-field{display:flex;flex-direction:column;min-width:180px}.lpcr-field.lpcr-wide{flex:1 1 240px;min-width:240px}.lpcr-field>label{color:var(--text-body);font-size:12px;font-weight:600;letter-spacing:.02em;margin-bottom:4px;text-transform:uppercase}.lpcr-radios{height:38px}.lpcr-actions,.lpcr-radios{align-items:center;display:flex;gap:8px}.lpcr-actions{border-top:1px solid #eef1f4;flex-wrap:wrap;margin-top:10px;padding-top:10px}.lpcr-actions .btn-light{border:1px solid #d5dbe5}.lpcr-rs__control{min-height:38px}.lpcr-topic-field .lpcr-rs__multi-value{max-width:100%}.lpcr-topic-field .lpcr-rs__multi-value__label{overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.lpcr-rs__group-heading{background:var(--surface-sunken);color:var(--brand-primary);font-size:11px;font-weight:700;letter-spacing:.4px;padding:6px 12px}.lpcr-alert{border-radius:10px}.lpcr-empty{color:var(--text-muted);padding:40px;text-align:center}.lpcr-course{margin-bottom:28px}.lpcr-course-title{background:#eef2f7;border-left:4px solid var(--brand-primary);border-radius:6px;color:var(--text-strong);font-size:16px;font-weight:700;margin:0 0 10px;padding:8px 14px}.lpcr-md-wrap{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.lpcr-md-table{border-collapse:collapse;font-size:13px;width:100%}.lpcr-md-table td,.lpcr-md-table th{border-bottom:1px solid #eef1f4;padding:8px 12px;text-align:left;vertical-align:middle}.lpcr-md-table thead th{background:#eef2f7;color:var(--text-body);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.lpcr-md-row:hover td{background:var(--surface-page)}.lpcr-md-row.lpcr-open td{background:#f2f6ff}.lpcr-md-table .lpcr-instr{color:var(--text-body);max-width:280px;white-space:normal;word-break:break-word}.lpcr-md-table .lpcr-total-row td{background:#eaf0ff;color:var(--brand-primary-hover);font-weight:700}.lpcr-subjects-toggle{align-items:center;background:var(--surface-card);border:1px solid #d5dbe5;border-radius:999px;color:var(--brand-primary-hover);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:3px 12px}.lpcr-subjects-toggle:hover{background:var(--brand-primary-subtle)}.lpcr-detail>td{background:#f9fbff;padding:0!important}.lpcr-detail-inner{border-collapse:collapse;font-size:12.5px;width:100%}.lpcr-detail-inner td,.lpcr-detail-inner th{border-bottom:1px dashed #e5e9f0;padding:6px 12px;text-align:center;white-space:nowrap}.lpcr-detail-inner thead th{background:#eaf0fb;color:#556;font-weight:700}.lpcr-detail-inner .lpcr-di-subject{color:var(--text-strong);font-weight:600;min-width:160px;text-align:left}.lpcr-detail-inner .lpcr-di-instr{color:var(--text-body);font-weight:500;max-width:260px;min-width:160px;text-align:left;white-space:normal;word-break:break-word}.lpcr-detail-inner tbody tr:last-child td{border-bottom:none}.lpcr-table-wrap{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;overflow-x:auto}.lpcr-table{border-collapse:collapse;font-size:12px;min-width:100%;width:max-content}.lpcr-table td,.lpcr-table th{border:1px solid #d5dbe5;padding:4px 8px;text-align:center;white-space:nowrap}.lpcr-table thead th{background:#eef2f7;color:var(--text-strong);font-weight:700;position:sticky;top:0;z-index:1}.lpcr-group{background:#dbe7ff}.lpcr-subgroup.lpcr-cov{background:#d6f2df}.lpcr-subgroup.lpcr-att{background:#d9f2fb}.lpcr-leaf{background:#eef2f7;font-size:11.5px}.lpcr-table tbody td{color:var(--text-body)}.lpcr-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.lpcr-table td.lpcr-instr{max-width:280px;min-width:200px;overflow:visible;text-align:left;text-overflow:clip;white-space:normal;word-break:break-word}.lpcr-total-row td{background:#eaf0ff;color:var(--brand-primary-hover);font-weight:700}.lpcr-table .lpcr-freeze{background:var(--surface-card);position:relative;text-align:left;will-change:transform;z-index:3}.lpcr-table thead th.lpcr-freeze{background:#eef2f7;z-index:5}.lpcr-total-row .lpcr-freeze{background:#eaf0ff}.lpcr-freeze-1{min-width:130px}.lpcr-freeze-2{min-width:120px}.lpcr-freeze-3{max-width:280px;min-width:200px}.lpcr-results-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.lpcr-hint{color:var(--text-muted);font-size:12.5px}.lpcr-toolbar-actions{display:flex;gap:8px;margin-left:auto}.lpcr-group-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.lpcr-group-toggle:hover{filter:brightness(.96)}.lpcr-caret{color:var(--brand-primary-hover);font-size:11px;margin-right:2px}.lpcr-chip-cell{padding:4px 6px}.lpcr-chip{background:#eef1f4;border-radius:999px;color:#556;display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;white-space:nowrap}.lpcr-chip-good{background:#e7f8ee;color:var(--status-success-text)}.lpcr-chip-warn{background:#fff3d6;color:var(--status-warning-text)}.lpcr-chip-bad{background:#fde2e1;color:var(--status-danger)}.lpcr-chip-none{background:#eef1f4;color:var(--text-muted)}.lpcr-cards{display:none}@media (max-width:992px){.lpcr-table-wrap{display:none}.lpcr-cards{display:block}}.lpcr-card-centre{margin-bottom:16px}.lpcr-card-centre-head{background:#dbe7ff;border-radius:8px 8px 0 0;color:var(--text-strong);font-weight:700;padding:8px 12px}.lpcr-card-batch{background:var(--surface-card);border:1px solid var(--border-default);border-top:none}.lpcr-card-batch>summary{align-items:center;color:var(--text-strong);cursor:pointer;display:flex;font-weight:600;gap:12px;justify-content:space-between;list-style:none;padding:10px 12px}.lpcr-card-batch>summary::-webkit-details-marker{display:none}.lpcr-card-instr{color:var(--text-body);font-size:13px;padding:0 12px 8px}.lpcr-card-subject{border-top:1px dashed #eef1f4;padding:8px 12px}.lpcr-card-subject-head{align-items:center;color:var(--text-body);display:flex;font-weight:600;gap:10px;justify-content:space-between}.lpcr-card-metrics{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:12.5px;gap:6px 14px;margin-top:6px}.grid-report-page{background-color:var(--surface-page);color:var(--text-body);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;min-height:100vh;padding:28px 32px}.grid-report-page .gr-header{margin-bottom:22px}.grid-report-page .gr-header-title{align-items:center;display:flex;gap:12px}.grid-report-page .gr-header-icon{align-items:center;background:var(--gradient-brand);border-radius:11px;box-shadow:0 6px 16px #667eea59;color:var(--text-on-brand);display:inline-flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.grid-report-page .gr-header h4{color:var(--text-strong);font-size:1.6rem;font-weight:700;letter-spacing:-.01em;margin:0}.grid-report-page .gr-header p{color:var(--text-muted);font-size:.92rem;margin:4px 0 0 54px}.grid-report-page .card{background:var(--surface-card);border:1px solid #edeef2;border-radius:12px;box-shadow:0 1px 3px #1018280f,0 1px 2px #1018280a}.grid-report-page .card-header{background:var(--surface-card);border-bottom:1px solid #f1f2f5;border-radius:12px 12px 0 0!important;color:var(--text-strong)}.grid-report-page .btn-primary{background:var(--gradient-brand);border:none;border-radius:8px;box-shadow:0 2px 6px #667eea47;font-size:.85rem;font-weight:600;padding:7px 20px;transform:none;transition:all .2s ease}.grid-report-page .btn-primary:focus:not(:disabled),.grid-report-page .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fe0,#6b4396);box-shadow:0 6px 16px #667eea6b;transform:translateY(-1px)}.grid-report-page .btn-primary:disabled{background:#c7cad1;box-shadow:none;opacity:1}.grid-report-page .btn-secondary{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;box-shadow:none;color:var(--text-body);font-size:.85rem;font-weight:600;transition:all .2s ease}.grid-report-page .btn-secondary:focus:not(:disabled),.grid-report-page .btn-secondary:hover:not(:disabled){background:var(--brand-primary-subtle);border-color:var(--brand-primary);color:var(--brand-primary)}.grid-report-page .btn-secondary:disabled{opacity:.5}.grid-report-page .form-label{color:var(--text-body)}.grid-report-page .form-control,.grid-report-page .form-select{border:1px solid #d8dbe0;border-radius:8px;color:var(--text-body);transition:border-color .15s ease,box-shadow .15s ease}.grid-report-page .form-control:focus,.grid-report-page .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea26}.grid-report-page .alert-danger{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:10px;color:var(--status-danger)}.grid-report-card{overflow:visible!important}.grid-report-scroll-container{border-radius:0 0 12px 12px;max-height:calc(100vh - 300px);min-width:100%;overflow:auto;position:relative;width:0}.grid-report-scroll-container::-webkit-scrollbar{height:10px;width:10px}.grid-report-scroll-container::-webkit-scrollbar-thumb{background:#d1d5db;border:2px solid #fff;border-radius:6px}.grid-report-scroll-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.grid-report-scroll-container::-webkit-scrollbar-track{background:#0000}.grid-report-table{border-collapse:initial!important;border-spacing:0;color:var(--text-body);font-size:.82rem;min-width:100%}.grid-report-table td,.grid-report-table th{border-bottom:1px solid #eef0f3;border-right:1px solid #eef0f3;padding:7px 12px}.grid-report-corner-cell{min-width:170px;will-change:transform;z-index:3!important}.grid-report-col-header,.grid-report-corner-cell{background:var(--surface-sunken)!important;border-bottom:2px solid var(--border-default)!important;position:sticky!important;top:0!important}.grid-report-col-header{color:var(--text-body);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:9px 12px!important;text-align:center;text-transform:uppercase;white-space:nowrap;z-index:2!important}.grid-report-total-header{background:#e9ebf5!important;color:var(--brand-primary-hover)!important}.grid-report-row-header{background:#fcfcfd!important;border-right:2px solid var(--border-default)!important;color:var(--text-body);font-size:.8rem;font-weight:600;max-width:240px;min-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;will-change:transform;z-index:1}.grid-report-table tbody tr:nth-child(2n) td{background:#fbfbfd}.grid-report-table tbody tr:hover td{background:var(--brand-primary-subtle)}.grid-report-table tbody tr:hover .grid-report-row-header{background:#efeafe!important}.grid-report-page-total-row td,.grid-report-page-total-row th{border-top:2px solid var(--brand-primary-subtle);font-style:italic;font-weight:600}.grid-report-page-total-row .grid-report-row-header,.grid-report-page-total-row td,.grid-report-page-total-row th{background:var(--brand-primary-subtle)!important;color:var(--brand-primary-active)}.grid-report-table tbody tr.grid-report-page-total-row:hover td{background:#e6ecff!important}.grid-report-total-row td,.grid-report-total-row th{background:#f1f1f4!important;border-top:2px solid var(--border-strong);color:var(--text-strong);font-weight:700}.grid-report-total-row .grid-report-row-header{background:#f1f1f4!important}.grid-report-table tbody tr.grid-report-total-row:hover td{background:#ebebef!important}.grid-report-legend-bar{align-items:center;border-bottom:1px solid #f1f2f5;color:var(--text-body);display:flex;font-size:.8rem;justify-content:space-between;padding:12px 18px}.grid-report-interpret-btn{align-items:center;background:var(--gradient-brand);border:none;border-radius:8px;box-shadow:0 2px 6px #667eea47;color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s ease}.grid-report-interpret-btn:hover{box-shadow:0 6px 16px #667eea6b;transform:translateY(-1px)}.grid-report-export-btn{align-items:center;background:linear-gradient(135deg,var(--status-success) 0,#047857 100%);border:none;border-radius:8px;box-shadow:0 2px 6px #05966947;color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s ease}.grid-report-export-btn:hover:not(:disabled){box-shadow:0 6px 16px #0596696b;transform:translateY(-1px)}.grid-report-export-btn:disabled{cursor:default;opacity:.6}.grid-report-pill{align-items:center;background:var(--brand-primary-subtle);border:1px solid #ddd6fe;border-radius:999px;color:#5b21b6;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:500;gap:6px;padding:4px 12px;transition:all .15s ease;white-space:nowrap}.grid-report-pill:hover{background:var(--brand-primary-subtle);border-color:#c4b5fd}.grid-report-pill .gr-pill-x{color:#8b7fb8;cursor:pointer;font-size:.85rem;font-weight:700;line-height:1;margin-left:2px}.grid-report-pill .gr-pill-x:hover{color:var(--status-danger)}.grid-report-filter-chip{align-items:center;background:var(--gradient-brand);border-radius:999px;color:var(--text-on-brand);display:inline-flex;font-size:.7rem;font-weight:700;height:20px;justify-content:center;margin-left:8px;min-width:20px;padding:0 6px}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-bar{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#eceef1 25%,#f6f7f9 50%,#eceef1 75%);background-size:200px 100%;border-radius:4px;display:inline-block;height:14px}.skeleton-bar-num{margin-left:auto;width:32px}.grid-report-empty{color:var(--text-muted);padding:64px 20px;text-align:center}.grid-report-empty .gr-empty-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:16px;color:var(--brand-primary);display:flex;height:64px;justify-content:center;margin:0 auto 18px;width:64px}.grid-report-empty h5{color:var(--text-strong);font-weight:600;margin-bottom:8px}.grid-report-empty p{font-size:.88rem;line-height:1.6;margin:0 auto;max-width:420px}.grid-report-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f9fafbb8;border-radius:12px;display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.grid-report-page .gr-filter-header{align-items:center;color:var(--text-strong);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;justify-content:space-between;padding:12px 18px;-webkit-user-select:none;user-select:none}.grid-report-page .gr-filter-header-title{align-items:center;display:inline-flex;gap:8px}.grid-report-page .gr-filter-header-title svg{stroke:currentColor;fill:none;color:var(--brand-primary);display:inline-block;flex:0 0 auto;height:16px;opacity:1;vertical-align:middle;visibility:visible;width:16px}.grid-report-page .gr-filter-caret{align-items:center;color:var(--text-faint);display:inline-flex}.grid-report-page .gr-filter-caret svg{stroke:currentColor;fill:none;flex:0 0 auto;height:16px;width:16px}.grid-report-page .gr-filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.grid-report-page .gr-filter-field-label{align-items:center;color:var(--text-body);display:flex;font-size:.72rem;font-weight:600;gap:6px;justify-content:space-between;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.grid-report-page .gr-filter-field-clear{background:var(--brand-primary-subtle);border:none;border-radius:999px;color:#5b21b6;cursor:pointer;font-size:.66rem;font-weight:600;letter-spacing:0;padding:2px 9px;text-transform:none;transition:background .15s ease;white-space:nowrap}.grid-report-page .gr-filter-field-clear:hover{background:var(--brand-primary-subtle)}.grid-report-page .gr-multiselect.form-select{background-color:var(--surface-card);background-image:none;border:1px solid #d8dbe0;border-radius:10px;box-shadow:0 1px 2px #1018280a;color:var(--text-body);font-size:.8rem;height:150px;padding:5px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.grid-report-page .gr-multiselect.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea26}.grid-report-page .gr-multiselect option{border-radius:7px;color:var(--text-body);cursor:pointer;margin-bottom:2px;padding:6px 10px;transition:background .12s ease}.grid-report-page .gr-multiselect option:hover{background:var(--brand-primary-subtle)}.grid-report-page .gr-multiselect option:checked,.grid-report-page .gr-multiselect option:checked:hover{background:var(--brand-primary) linear-gradient(0deg,var(--brand-primary),var(--brand-primary));box-shadow:0 0 10px 100px var(--brand-primary) inset;color:var(--text-on-brand)!important;font-weight:500}.grid-report-page .gr-multiselect::-webkit-scrollbar{width:9px}.grid-report-page .gr-multiselect::-webkit-scrollbar-thumb{background:#d1d5db;border:2px solid #fff;border-radius:6px}.grid-report-page .gr-multiselect::-webkit-scrollbar-thumb:hover{background:#9ca3af}.grid-report-page .gr-filter-footer{align-items:center;border-top:1px solid #f1f2f5;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px;padding-top:14px}.grid-report-page .gr-filter-hint{color:var(--text-faint);font-size:.76rem}.grid-report-page .gr-filter-hint kbd{background:var(--surface-sunken);border:solid var(--border-default);border-radius:5px;border-width:1px 1px 2px;color:var(--text-body);font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.72rem;padding:1px 6px}.grid-report-detail-modal{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.grid-report-detail-modal .modal-content{border:none;border-radius:16px;box-shadow:0 24px 60px #10182847;overflow:hidden}.grid-report-detail-modal .gr-detail-header{align-items:center;background:var(--gradient-brand);border:none;display:flex;justify-content:space-between;padding:18px 22px}.grid-report-detail-modal .gr-detail-header-main{align-items:center;display:flex;gap:14px}.grid-report-detail-modal .gr-detail-header-icon{align-items:center;background:#ffffff2e;border-radius:11px;color:var(--text-on-brand);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.grid-report-detail-modal .gr-detail-title{color:var(--text-on-brand);font-size:1.05rem;font-weight:700;line-height:1.2}.grid-report-detail-modal .gr-detail-title-sep{font-weight:400;margin:0 4px;opacity:.6}.grid-report-detail-modal .gr-detail-subtitle{color:#ffffffd9;font-size:.78rem;margin-top:2px}.grid-report-detail-modal .gr-detail-close{align-items:center;background:#ffffff26;border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:1.4rem;height:32px;justify-content:center;line-height:1;transition:background .15s ease;width:32px}.grid-report-detail-modal .gr-detail-close:hover{background:#ffffff4d}.grid-report-detail-modal .gr-detail-export{align-items:center;background:#ffffff2e;border:1px solid #ffffff59;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:7px 14px;transition:background .15s ease;white-space:nowrap}.grid-report-detail-modal .gr-detail-export:hover:not(:disabled){background:#ffffff52}.grid-report-detail-modal .gr-detail-export:disabled{cursor:default;opacity:.5}.grid-report-detail-modal .gr-detail-body{background:var(--surface-card);max-height:70vh;overflow:auto;padding:0}.grid-report-detail-modal .gr-detail-body::-webkit-scrollbar{height:10px;width:10px}.grid-report-detail-modal .gr-detail-body::-webkit-scrollbar-thumb{background:#d1d5db;border:2px solid #fff;border-radius:6px}.grid-report-detail-modal .gr-detail-state{color:var(--text-muted);font-size:.88rem;padding:48px 20px;text-align:center}.grid-report-detail-modal .gr-detail-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:10px;color:var(--status-danger);font-size:.85rem;margin:18px;padding:14px 16px}.grid-report-detail-modal .gr-detail-table{border-collapse:initial;border-spacing:0;color:var(--text-body);font-size:.83rem;width:100%}.grid-report-detail-modal .gr-detail-table thead th{background:var(--surface-page);border-bottom:2px solid var(--border-default);color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.04em;padding:11px 14px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.grid-report-detail-modal .gr-detail-table tbody td{border-bottom:1px solid #f1f2f5;padding:9px 14px;white-space:nowrap}.grid-report-detail-modal .gr-detail-table tbody tr:nth-child(2n) td{background:#fbfbfd}.grid-report-detail-modal .gr-detail-table tbody tr:hover td{background:var(--brand-primary-subtle)}.grid-report-detail-modal .gr-detail-td-num,.grid-report-detail-modal .gr-detail-th-num{color:var(--text-faint);font-size:.76rem;text-align:center!important;width:48px}.grid-report-detail-modal .gr-detail-footer{background:var(--surface-card);border-top:1px solid #f1f2f5;font-size:.82rem;justify-content:space-between;padding:12px 20px}.grid-report-detail-modal .gr-detail-footer-info{color:var(--text-muted)}.grid-report-detail-modal .gr-detail-footer .btn-secondary{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);font-weight:600}.grid-report-detail-modal .gr-detail-footer .btn-secondary:hover:not(:disabled){background:var(--brand-primary-subtle);border-color:var(--brand-primary);color:var(--brand-primary)}.grid-report-detail-modal .gr-detail-footer .btn-secondary:disabled{opacity:.5}.grid-report-page .gr-header{background:radial-gradient(120% 140% at 100% 0,rgba(var(--brand-accent-rgb),.1) 0,rgba(var(--brand-primary-rgb),.06) 30%,#0000 60%),linear-gradient(180deg,var(--surface-card) 0,#fbfaff 100%);border:1px solid #eceaf6;border-radius:18px;box-shadow:0 1px 3px #1018280a;margin-bottom:20px;overflow:hidden;padding:22px 26px;position:relative}.grid-report-page .gr-header:after{background:radial-gradient(circle,rgba(var(--brand-accent-rgb),.1) 0,#0000 70%);border-radius:50%;content:"";height:180px;pointer-events:none;position:absolute;right:-30px;top:-40px;width:180px}.grid-report-page .gr-header-icon{border-radius:13px;height:46px;width:46px}.grid-report-page .gr-header h4{font-size:1.7rem}.grid-report-page .gr-toolbar-card{border-radius:14px!important;box-shadow:0 4px 18px #1018280f,0 1px 3px #1018280d;overflow:hidden;position:relative}.grid-report-page .gr-toolbar-accent{background:var(--gradient-brand);height:3px;left:0;position:absolute;right:0;top:0}.grid-report-page .gr-saved-bar{align-items:center;border-bottom:1px dashed #ebedf2;display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;padding-bottom:13px}.grid-report-page .gr-saved-label{align-items:center;color:var(--text-faint);display:inline-flex;font-size:.7rem;font-weight:700;gap:5px;letter-spacing:.05em;margin-right:2px;text-transform:uppercase}.grid-report-page .gr-saved-label svg{color:var(--brand-accent)}.grid-report-page .gr-toolbar-fields{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.grid-report-page .gr-field{display:flex;flex:1 1 170px;flex-direction:column;margin-bottom:0;min-width:150px}.grid-report-page .gr-field-report{flex:2.4 1 240px}.grid-report-page .gr-field-date{flex:0 1 168px;min-width:150px}.grid-report-page .gr-field-label{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.7rem;font-weight:700;gap:6px;letter-spacing:.045em;margin-bottom:7px;text-transform:uppercase}.grid-report-page .gr-field-label svg{color:#7c6cf0}.grid-report-page .gr-field .form-control,.grid-report-page .gr-field .form-select{background-color:#fcfcfe;border:1px solid #e2e4ea;border-radius:11px;box-shadow:0 1px 2px #10182808;font-size:.88rem;font-weight:500;height:44px;padding:8px 13px}.grid-report-page .gr-field .form-control:hover,.grid-report-page .gr-field .form-select:hover{border-color:#c7c9d6}.grid-report-page .gr-field .form-control:focus,.grid-report-page .gr-field .form-select:focus{background-color:var(--surface-card);border-color:#7c6cf0;box-shadow:0 0 0 3.5px #7c6cf029}.grid-report-page .gr-field .form-select:disabled{background-color:var(--surface-sunken);color:var(--text-faint)}.grid-report-page .gr-toolbar-actions{align-items:center;display:flex;gap:9px;margin-left:auto;padding-bottom:1px}.grid-report-page .gr-generate-btn{border-radius:11px!important;font-size:.92rem!important;font-weight:600;letter-spacing:.01em;min-width:138px;padding:0 22px!important}.grid-report-page .gr-generate-btn,.grid-report-page .gr-icon-btn{align-items:center;display:inline-flex;height:44px;justify-content:center}.grid-report-page .gr-icon-btn{background:var(--surface-card);border:1px solid #e2e4ea;border-radius:11px;box-shadow:0 1px 2px #1018280a;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all .18s ease;width:44px}.grid-report-page .gr-icon-btn:hover:not(:disabled){background:var(--brand-primary-subtle);border-color:#c4b5fd;box-shadow:0 6px 14px #7c6cf038;color:var(--brand-accent);transform:translateY(-1px)}.grid-report-page .gr-icon-btn:disabled{cursor:default;opacity:.45}.grid-report-page .grid-report-empty .gr-empty-icon{animation:gr-float 3.6s ease-in-out infinite;border-radius:20px;box-shadow:inset 0 0 0 1px #7c6cf01f,0 10px 26px #7c6cf029;height:76px;width:76px}@keyframes gr-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.grid-report-page .grid-report-empty h5{font-size:1.2rem}.grid-report-page .gr-empty-steps{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.grid-report-page .gr-empty-step{align-items:center;background:#f7f6ff;border:1px solid #ece9fb;border-radius:999px;color:#5b21b6;display:inline-flex;font-size:.78rem;font-weight:600;gap:7px;padding:6px 14px}.grid-report-page .gr-empty-step b{align-items:center;background:var(--gradient-brand);border-radius:50%;color:var(--text-on-brand);display:inline-flex;font-size:.66rem;font-weight:700;height:18px;justify-content:center;width:18px}.grid-report-page .gr-empty-step-arrow{color:#c4b5fd}.grid-report-page .gr-results-card{border-radius:14px!important;box-shadow:0 4px 18px #1018280f,0 1px 3px #1018280d;position:relative}.grid-report-page .gr-results-card .gr-toolbar-accent,.grid-report-page .gr-results-card .grid-report-legend-bar{border-radius:14px 14px 0 0}.grid-report-page .grid-report-legend-bar{background:linear-gradient(180deg,#fbfaff 0,var(--surface-card) 100%);border-bottom:1px solid #eef0f5;padding:14px 18px}.grid-report-page .gr-legend-list{align-items:center;display:flex;flex-wrap:wrap;gap:9px}.grid-report-page .gr-legend-chip{align-items:center;background:var(--surface-card);border:1px solid #eceef3;border-radius:999px;box-shadow:0 1px 2px #1018280d;color:var(--text-body);display:inline-flex;font-size:.78rem;font-weight:600;gap:7px;padding:5px 13px}.grid-report-page .gr-legend-dot{border-radius:50%;box-shadow:0 0 0 3px #0000000a;flex-shrink:0;height:9px;width:9px}.grid-report-page .grid-report-export-btn,.grid-report-page .grid-report-interpret-btn{border-radius:10px;font-size:.82rem;padding:8px 16px}.grid-report-page .grid-report-col-header{color:var(--text-body)}.grid-report-page .grid-report-col-header,.grid-report-page .grid-report-corner-cell{background:linear-gradient(180deg,#f8f9fc,#f1f2f7)!important;border-bottom:2px solid #e7e9f0!important}.grid-report-page .grid-report-total-header{background:linear-gradient(180deg,#eef0fb,#e6e9f7)!important;color:var(--brand-primary-hover)!important}.grid-report-page .grid-report-table td,.grid-report-page .grid-report-table th{padding:9px 14px}.gr-axis-grid{grid-gap:6px 10px;background:#fcfcfe;border:1px solid #eceef3;border-radius:10px;display:grid;gap:6px 10px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px;overflow-y:auto;padding:4px 2px}.gr-axis-item{align-items:center;border-radius:8px;color:var(--text-body);cursor:pointer;display:flex;font-size:.82rem;gap:8px;margin:0;padding:6px 9px;transition:background .12s ease}.gr-axis-item:hover{background:var(--brand-primary-subtle)}.gr-axis-item.is-on{background:#f3f0ff;color:#5b21b6;font-weight:600}.gr-axis-item input{accent-color:var(--brand-accent);flex-shrink:0;height:15px;width:15px}.gr-axis-bulk{background:var(--surface-card);border:1px solid var(--border-default);border-radius:7px;color:var(--brand-accent);cursor:pointer;font-size:.72rem;font-weight:600;padding:3px 10px;transition:all .15s ease}.gr-axis-bulk:hover{background:var(--brand-primary-subtle);border-color:#c4b5fd}@media (max-width:768px){.grid-report-page{padding:18px 16px}.grid-report-page .gr-header p{margin-left:0}.grid-report-page .gr-toolbar-actions{margin-left:0;width:100%}.grid-report-page .gr-generate-btn{flex:1 1}.grid-report-scroll-container{max-height:calc(100vh - 260px)}.grid-report-page .gr-filter-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.dbt-page{background:linear-gradient(180deg,var(--surface-page) 0,#eef2f7 100%);min-height:calc(100vh - 64px);padding:28px 32px 56px}.dbt-header{align-items:center;background:var(--gradient-brand);border-radius:18px;box-shadow:0 10px 30px -10px #4f46e559;color:var(--text-on-brand);display:flex;gap:18px;overflow:hidden;padding:28px 32px;position:relative}.dbt-header:before{background:radial-gradient(circle at 100% 0,#ffffff2e,#0000 50%);content:"";inset:0;pointer-events:none;position:absolute}.dbt-back-btn{background:#ffffff29!important;border:1px solid #ffffff47!important;border-radius:999px!important;color:var(--text-on-brand)!important;font-size:.875rem!important;font-weight:500!important;padding:8px 16px!important;transition:background .16s ease,transform .16s ease!important}.dbt-back-btn:hover{background:#ffffff42!important;transform:translateX(-2px)}.dbt-title-block{flex:1 1;min-width:0}.dbt-breadcrumb{color:#ffffffc7;font-size:.78rem;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.dbt-title{font-size:1.625rem;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin:0}.dbt-meta{color:#ffffffe0;display:flex;flex-wrap:wrap;font-size:.85rem;gap:14px;margin-top:8px}.dbt-meta-chip{align-items:center;background:#ffffff29;border:1px solid #ffffff38;border-radius:999px;display:inline-flex;gap:6px;padding:4px 12px}.dbt-new-btn{background:var(--surface-card)!important;border:none!important;border-radius:12px!important;box-shadow:0 8px 20px -8px #0f172a40!important;color:var(--brand-primary)!important;font-size:.9rem!important;font-weight:600!important;padding:10px 18px!important;transition:transform .16s ease,box-shadow .16s ease!important;white-space:nowrap}.dbt-new-btn:hover{box-shadow:0 12px 24px -8px #0f172a59!important;transform:translateY(-1px)}.dbt-toolbar{align-items:center;display:flex;gap:14px;margin:22px 0 16px}.dbt-search{flex:1 1;position:relative}.dbt-search-icon{color:var(--text-faint);font-size:.95rem;left:14px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.dbt-search-input{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;color:var(--text-strong);font-size:.92rem;padding:11px 14px 11px 38px;transition:border-color .16s ease,box-shadow .16s ease;width:100%}.dbt-search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 4px #6366f11f;outline:none}.dbt-count{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;color:var(--text-muted);font-size:.85rem;padding:8px 14px;white-space:nowrap}.dbt-count strong{color:var(--text-strong);font-weight:600}.dbt-list{display:flex;flex-direction:column;gap:12px}.dbt-topic{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;cursor:pointer;display:flex;gap:18px;padding:18px 22px;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dbt-topic:hover{border-color:var(--brand-primary-subtle);box-shadow:0 18px 38px -22px #4f46e573;transform:translateY(-2px)}.dbt-topic:hover .dbt-topic-arrow{opacity:1;transform:translateX(0)}.dbt-topic-pinned{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--surface-card) 70%);border-color:var(--status-warning-border)}.dbt-topic-pinned:before{background:linear-gradient(180deg,var(--status-warning),var(--status-warning));border-radius:0 4px 4px 0;bottom:16px;content:"";left:0;position:absolute;top:16px;width:4px}.dbt-topic-avatar{align-items:center;background:linear-gradient(135deg,#818cf8,var(--brand-primary));border-radius:12px;color:var(--text-on-brand);display:flex;flex-shrink:0;font-size:1.05rem;font-weight:600;height:44px;justify-content:center;letter-spacing:.02em;width:44px}.dbt-topic-pinned .dbt-topic-avatar{background:linear-gradient(135deg,#fbbf24,var(--status-warning))}.dbt-topic-body{flex:1 1;min-width:0}.dbt-topic-title{align-items:center;color:var(--text-strong);display:flex;font-size:1rem;font-weight:600;gap:8px;letter-spacing:-.005em;margin:0 0 4px}.dbt-pin-badge{align-items:center;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:6px;color:var(--status-warning-text);display:inline-flex;font-size:.68rem;font-weight:700;gap:4px;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}.dbt-topic-meta{color:var(--text-muted);font-size:.82rem}.dbt-topic-arrow{color:var(--brand-primary);flex-shrink:0;font-size:1.1rem;opacity:0;transform:translateX(-6px);transition:opacity .18s ease,transform .18s ease}.dbt-empty,.dbt-error,.dbt-loading{background:var(--surface-card);border:1px solid var(--border-default);border-radius:16px;padding:52px 32px;text-align:center}.dbt-empty-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle),var(--brand-primary-subtle));border-radius:20px;color:var(--brand-primary);display:inline-flex;font-size:1.9rem;height:72px;justify-content:center;margin-bottom:18px;width:72px}.dbt-empty-title{color:var(--text-strong);font-size:1.15rem;font-weight:600;margin:0 0 6px}.dbt-empty-text{color:var(--text-muted);font-size:.9rem;margin:0 0 22px}.dbt-skeleton{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;display:flex;gap:18px;padding:18px 22px}.dbt-skeleton-avatar,.dbt-skeleton-line{animation:dbt-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-sunken) 50%,var(--surface-sunken) 100%);background-size:200% 100%;border-radius:8px}.dbt-skeleton-avatar{border-radius:12px;flex-shrink:0;height:44px;width:44px}.dbt-skeleton-line{height:12px}.dbt-skeleton-line.short{margin-bottom:8px;width:55%}.dbt-skeleton-line.shorter{width:30%}@keyframes dbt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dbt-error-icon{align-items:center;background:var(--status-danger-bg);border-radius:20px;color:var(--status-danger);display:inline-flex;font-size:2rem;height:72px;justify-content:center;margin-bottom:18px;width:72px}.dbt-error-title{color:var(--status-danger);font-size:1.15rem;font-weight:600;margin:0 0 6px}.dbt-error-text{color:var(--text-muted);font-size:.92rem;margin:0 auto;max-width:540px;word-break:break-word}.dbt-modal .modal-content{border:none;border-radius:18px;box-shadow:0 30px 80px -20px #0f172a59;overflow:hidden}.dbt-modal .modal-header{background:linear-gradient(135deg,var(--brand-primary),var(--brand-accent));border-bottom:none;color:var(--text-on-brand);padding:18px 24px}.dbt-modal .modal-header .modal-title{font-size:1.05rem;font-weight:600}.dbt-modal .modal-header .btn-close{filter:brightness(0) invert(1);opacity:.85}.dbt-modal .modal-body{padding:24px}.dbt-modal .modal-footer{background:var(--surface-page);border-top:1px solid var(--border-subtle);padding:16px 24px}.dbt-modal-label{color:var(--text-strong);font-size:.88rem;font-weight:500;margin-bottom:6px}.dbt-modal-input,.dbt-modal-textarea{border:1px solid var(--border-default)!important;border-radius:10px!important;font-size:.92rem!important;padding:10px 14px!important;transition:border-color .16s ease,box-shadow .16s ease!important}.dbt-modal-input:focus,.dbt-modal-textarea:focus{border-color:var(--brand-primary)!important;box-shadow:0 0 0 4px #6366f11f!important;outline:none!important}.dbt-topic-header{align-items:flex-start;background:var(--gradient-brand);border-radius:18px;box-shadow:0 10px 30px -10px #4f46e559;color:var(--text-on-brand);display:flex;gap:16px;overflow:hidden;padding:26px 32px 28px;position:relative}.dbt-topic-header:before{background:radial-gradient(circle at 100% 0,#ffffff2e,#0000 55%);content:"";inset:0;pointer-events:none;position:absolute}.dbt-topic-header-body{flex:1 1;min-width:0}.dbt-topic-header-title{align-items:center;display:flex;flex-wrap:wrap;font-size:1.55rem;font-weight:700;gap:10px;letter-spacing:-.01em;line-height:1.3;margin:0}.dbt-topic-header-actions{display:flex;flex-shrink:0;gap:8px}.dbt-action-btn{background:#ffffff29!important;border:1px solid #ffffff47!important;border-radius:10px!important;color:var(--text-on-brand)!important;font-size:.82rem!important;font-weight:500!important;padding:6px 14px!important;transition:background .16s ease!important}.dbt-action-btn:hover{background:#ffffff47!important}.dbt-action-btn-danger{background:#ef4444d9!important;border-color:#fecaca66!important}.dbt-action-btn-danger:hover{background:#dc2626f2!important}.dbt-pinned-banner{align-items:center;background:#fbbf2438;border:1px solid #fbbf2473;border-radius:6px;color:#fef3c7;display:inline-flex;font-size:.7rem;font-weight:700;gap:6px;letter-spacing:.08em;padding:4px 10px;text-transform:uppercase}.dbt-post{background:var(--surface-card);border:1px solid var(--border-default);border-radius:16px;box-shadow:0 4px 12px -8px #0f172a2e;margin-top:18px;overflow:hidden}.dbt-post-author{align-items:center;background:linear-gradient(180deg,var(--surface-page) 0,var(--surface-card) 100%);border-bottom:1px solid var(--border-subtle);display:flex;gap:14px;padding:18px 24px}.dbt-author-avatar{background:var(--surface-sunken);object-fit:cover}.dbt-author-avatar,.dbt-author-avatar-fallback{border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px -2px #0f172a40;flex-shrink:0;height:44px;width:44px}.dbt-author-avatar-fallback{align-items:center;background:linear-gradient(135deg,#818cf8,var(--brand-primary));color:var(--text-on-brand);display:inline-flex;font-size:1rem;font-weight:600;justify-content:center}.dbt-author-info{flex:1 1;min-width:0}.dbt-author-name{color:var(--text-strong);font-size:.95rem;font-weight:600;margin:0 0 2px}.dbt-author-time{color:var(--text-muted);font-size:.82rem;margin:0}.dbt-post-content{color:var(--text-strong);font-size:.96rem;line-height:1.65;padding:22px 24px 26px;word-break:break-word}.dbt-post-content p:last-child{margin-bottom:0}.dbt-post-content img{border-radius:10px;height:auto;margin:8px 0;max-width:100%}.dbt-post-content a{color:var(--brand-primary);text-decoration:underline}.dbt-comments{background:var(--surface-card);border:1px solid var(--border-default);border-radius:16px;margin-top:22px;overflow:hidden}.dbt-comments-header{align-items:center;background:linear-gradient(180deg,var(--surface-page) 0,var(--surface-card) 100%);border-bottom:1px solid var(--border-subtle);display:flex;gap:12px;padding:18px 24px}.dbt-comments-count-badge{align-items:center;background:var(--gradient-brand);border-radius:999px;color:var(--text-on-brand);display:inline-flex;font-size:.85rem;font-weight:600;height:30px;justify-content:center;min-width:30px;padding:0 10px}.dbt-comments-title{color:var(--text-strong);font-size:1rem;font-weight:600;margin:0}.dbt-leave-comment-btn{background:var(--brand-primary)!important;border:none!important;border-radius:10px!important;box-shadow:0 6px 14px -6px #4f46e573!important;font-size:.88rem!important;font-weight:500!important;margin-left:auto!important;padding:8px 18px!important;transition:transform .16s ease,box-shadow .16s ease!important}.dbt-leave-comment-btn:hover{background:var(--brand-primary-hover)!important;transform:translateY(-1px)}.dbt-comments-body{padding:8px 0}.dbt-comment{border-bottom:1px solid var(--border-subtle);display:flex;gap:14px;padding:18px 24px;transition:background .16s ease}.dbt-comment:last-child{border-bottom:none}.dbt-comment:hover{background:var(--surface-page)}.dbt-comment-avatar,.dbt-comment-avatar-fallback{border-radius:50%;flex-shrink:0;height:38px;width:38px}.dbt-comment-avatar{background:var(--surface-sunken);object-fit:cover}.dbt-comment-avatar-fallback{align-items:center;background:linear-gradient(135deg,#c4b5fd,var(--brand-accent));color:var(--text-on-brand);display:inline-flex;font-size:.85rem;font-weight:600;justify-content:center}.dbt-comment-body{flex:1 1;min-width:0}.dbt-comment-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:4px}.dbt-comment-author{color:var(--text-strong);font-size:.9rem;font-weight:600}.dbt-comment-time{color:var(--text-faint);font-size:.78rem}.dbt-comment-actions{display:flex;gap:6px;margin-left:auto}.dbt-link-btn{background:#0000!important;border:none!important;border-radius:6px!important;color:var(--brand-primary)!important;font-size:.8rem!important;font-weight:500!important;padding:2px 8px!important;transition:background .14s ease,color .14s ease!important}.dbt-link-btn:hover{background:var(--brand-primary-subtle)!important;color:var(--brand-primary-hover)!important}.dbt-link-btn-danger,.dbt-link-btn-danger:hover{color:var(--status-danger)!important}.dbt-link-btn-danger:hover{background:var(--status-danger-bg)!important}.dbt-comment-text{color:var(--text-strong);font-size:.92rem;line-height:1.6;word-break:break-word}.dbt-comment-text p:last-child{margin-bottom:0}.dbt-comment-text a{color:var(--brand-primary);text-decoration:underline}.dbt-reply-btn-row{margin-top:6px}.dbt-composer{background:var(--surface-page);border:1px solid var(--border-default);border-radius:12px;margin-top:10px;padding:12px}.dbt-composer-textarea{border:1px solid var(--border-default)!important;border-radius:8px!important;font-size:.9rem!important;padding:10px 12px!important;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease!important;width:100%}.dbt-composer-textarea:focus{border-color:var(--brand-primary)!important;box-shadow:0 0 0 3px #6366f11f!important;outline:none!important}.dbt-composer-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.dbt-composer-cancel,.dbt-composer-submit{border-radius:8px!important;font-size:.82rem!important;font-weight:500!important;padding:6px 14px!important}.dbt-composer-cancel{background:var(--surface-card)!important;border:1px solid var(--border-default)!important;color:var(--text-body)!important}.dbt-composer-cancel:hover{background:var(--surface-page)!important}.dbt-composer-submit{background:var(--brand-primary)!important;border:none!important;color:var(--text-on-brand)!important}.dbt-composer-submit:hover{background:var(--brand-primary-hover)!important}.dbt-composer-submit:disabled{background:var(--brand-primary-subtle)!important}.dbt-replies{border-left:2px solid var(--brand-primary-subtle);display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-left:16px}.dbt-reply{background:var(--surface-page);border:1px solid var(--brand-primary-subtle);border-radius:10px;display:flex;gap:12px;padding:10px 12px}.dbt-reply-avatar,.dbt-reply-avatar-fallback{border-radius:50%;flex-shrink:0;height:30px;width:30px}.dbt-reply-avatar{background:var(--surface-sunken);object-fit:cover}.dbt-reply-avatar-fallback{align-items:center;background:linear-gradient(135deg,#ddd6fe,var(--brand-accent));color:var(--text-on-brand);display:inline-flex;font-size:.72rem;font-weight:600;justify-content:center}.dbt-reply-body{flex:1 1;min-width:0}.dbt-reply-head{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2px}.dbt-reply-author{color:var(--text-strong);font-size:.85rem;font-weight:600}.dbt-reply-time{color:var(--text-faint);font-size:.74rem}.dbt-reply-text{color:var(--text-strong);font-size:.88rem;line-height:1.55;word-break:break-word}.dbt-reply-text p:last-child{margin-bottom:0}.dbt-comments-empty{color:var(--text-faint);font-size:.9rem;padding:38px 24px;text-align:center}.dbt-comments-empty-icon{display:block;font-size:1.8rem;margin-bottom:8px}.approve-modules-container{background:var(--surface-page);min-height:100vh;padding:0}.approve-modules-header{background:#fff;border-bottom:1px solid var(--border-default);margin-bottom:0;padding:20px 24px}.approve-modules-container .header-content{align-items:center;display:flex;gap:16px;margin:0 auto;max-width:1400px}.approve-modules-container .back-button{background:#0000;border:1px solid var(--border-default);border-radius:4px;color:var(--text-strong);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.approve-modules-container .back-button:hover{background:var(--surface-sunken);border-color:#333}.page-title{color:var(--text-strong);font-size:20px;font-weight:600;margin:0}.approve-modules-content{margin:0 auto;max-width:1400px;padding:24px}.filters-section{background:#fff;border:1px solid var(--border-default);border-radius:8px;margin-bottom:24px;padding:20px}.search-bar{margin-bottom:16px}.search-input{border:1px solid var(--border-default);border-radius:4px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#333}.search-input::placeholder{color:var(--text-faint)}.status-filters{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:4px;color:var(--text-strong);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.filter-btn:hover{background:var(--surface-page);border-color:#333}.filter-btn.active{background:#000;border-color:#000;color:#fff}.filter-btn .count{background:var(--surface-sunken);border-radius:10px;color:var(--text-muted);font-size:11px;min-width:20px;padding:2px 8px;text-align:center}.filter-btn.active .count{background:#fff3;color:#fff}.students-list{display:flex;flex-direction:column;gap:12px}.student-card{background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:20px;transition:border-color .2s ease}.student-card:hover{border-color:#bbb}.student-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.student-info{flex:1 1}.bulk-actions{display:flex;flex-shrink:0;gap:8px}.bulk-approve-btn,.bulk-reject-btn{border:1px solid;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s ease}.bulk-approve-btn{background:#fff;border-color:var(--status-success);color:var(--status-success)}.bulk-approve-btn:hover{background:var(--status-success);color:#fff}.bulk-reject-btn{background:#fff;border-color:var(--status-danger);color:var(--status-danger)}.bulk-reject-btn:hover{background:var(--status-danger);color:#fff}.student-name{color:var(--text-strong);font-size:16px;font-weight:600;margin:0 0 6px}.student-email{color:var(--text-muted);font-size:13px;margin:0 0 4px}.student-id{color:var(--text-faint);font-size:12px;margin:0}.student-status{flex-shrink:0}.status-badge{border:1px solid;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.status-badge.approved{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.status-badge.rejected{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.status-badge.pending{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.status-badge.toReview{background:var(--status-info-bg);border-color:#bfdbfe;color:var(--brand-primary-active)}.modules-section{margin-bottom:0}.modules-title{color:var(--text-strong);font-size:13px;font-weight:600;margin:0 0 10px}.modules-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.module-item{background:var(--surface-page);border:1px solid var(--border-default);border-radius:4px;padding:14px;transition:border-color .2s ease}.module-item:hover{border-color:#bbb}.module-info{display:flex;flex-direction:column;gap:8px}.module-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.module-header-right{align-items:center;display:flex;gap:8px}.module-name{color:var(--text-strong);flex:1 1;font-size:14px;font-weight:500}.module-quick-actions{display:flex;gap:4px}.quick-approve-btn,.quick-reject-btn{background:#fff;border:1px solid;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;min-width:28px;padding:4px 10px;transition:all .2s ease}.quick-approve-btn{border-color:var(--status-success);color:var(--status-success)}.quick-approve-btn:hover{background:var(--status-success);color:#fff}.quick-reject-btn{border-color:var(--status-danger);color:var(--status-danger)}.quick-reject-btn:hover{background:var(--status-danger);color:#fff}.module-date{color:var(--text-faint);font-size:11px}.module-action-info{background:#fff;border:1px solid var(--border-default);border-radius:4px;margin-top:4px;padding:10px}.module-action-info p{color:var(--text-muted);font-size:12px;margin:0 0 4px}.module-action-info p:last-child{margin-bottom:0}.module-action-info.rejected{background:var(--status-danger-bg);border-color:var(--status-danger-border)}.module-actions{display:flex;gap:8px;margin-top:4px}.approval-info,.rejection-info{background:var(--surface-page);border-left:2px solid;border-radius:4px;margin-bottom:12px;padding:12px}.approval-info p,.rejection-info p{color:var(--text-strong);font-size:13px;margin:0 0 6px}.approval-info p:last-child,.rejection-info p:last-child{margin-bottom:0}.approval-info{border-left-color:var(--status-success)}.rejection-info{border-left-color:var(--status-danger)}.action-buttons{display:flex;gap:8px;margin-top:12px}.module-actions .approve-btn,.module-actions .reject-btn{border:1px solid;border-radius:4px;cursor:pointer;flex:1 1;font-size:12px;font-weight:600;padding:8px 16px;transition:all .2s ease}.module-actions .approve-btn{background:#fff;border-color:var(--status-success);color:var(--status-success)}.module-actions .approve-btn:hover{background:var(--status-success);color:#fff}.module-actions .reject-btn{background:#fff;border-color:var(--status-danger);color:var(--status-danger)}.module-actions .reject-btn:hover{background:var(--status-danger);color:#fff}.no-results{background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:60px 20px;text-align:center}.no-results p{color:var(--text-muted);font-size:14px;margin:0}.no-modules{background:var(--surface-page);border:1px solid var(--border-default);border-radius:4px;padding:20px;text-align:center}.no-modules p{color:var(--text-faint);font-size:13px;margin:0}.error-state,.loading-state{background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:60px 20px;text-align:center}.error-state p,.loading-state p{color:var(--text-muted);font-size:14px;margin:0 0 16px}.retry-btn{background:#fff;border:1px solid var(--border-default);border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s ease}.retry-btn:hover{background:#000;border-color:#000;color:#fff}.module-name-wrapper{display:flex;flex:1 1;flex-direction:column;gap:4px}.module-code{color:var(--text-faint);font-size:11px;font-weight:400}.module-stream{color:var(--text-muted);font-size:11px}.student-mobile{color:var(--text-faint);font-size:12px;margin:4px 0 0}.approve-modules-container .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.approve-modules-container .modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;max-height:90vh;max-width:500px;overflow:auto;width:100%}.approve-modules-container .modal-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:20px}.approve-modules-container .modal-header h3{color:var(--text-strong);font-size:18px;font-weight:600;margin:0}.approve-modules-container .modal-close-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.approve-modules-container .modal-close-btn:hover{background:var(--surface-sunken);color:var(--text-strong)}.approve-modules-container .modal-body{padding:20px}.remarks-label{color:var(--text-strong);display:block;font-size:13px;font-weight:600;margin-bottom:8px}.remarks-textarea{border:1px solid var(--border-default);border-radius:4px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;outline:none;padding:10px;resize:vertical;transition:border-color .2s ease;width:100%}.remarks-textarea:focus{border-color:#333}.approve-modules-container .modal-footer{border-top:1px solid var(--border-default);display:flex;gap:8px;justify-content:flex-end;padding:20px}.modal-cancel-btn,.modal-submit-btn{border:1px solid;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .2s ease}.modal-cancel-btn{background:#fff;border-color:var(--border-default);color:var(--text-muted)}.modal-cancel-btn:hover{background:var(--surface-sunken);border-color:#bbb}.modal-submit-btn{background:#000;border-color:#000;color:#fff}.modal-submit-btn:hover:not(:disabled){background:#333}.modal-submit-btn:disabled{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-faint);cursor:not-allowed}@media (max-width:768px){.approve-modules-content{padding:16px}.page-title{font-size:18px}.student-header{flex-direction:column;gap:10px}.bulk-actions{width:100%}.bulk-approve-btn,.bulk-reject-btn{flex:1 1}.status-filters{flex-direction:column}.filter-btn{justify-content:space-between;width:100%}.module-header{flex-wrap:wrap}.module-header-right{justify-content:space-between;width:100%}.action-buttons{flex-direction:column}.approve-btn,.reject-btn{width:100%}}.centre-mgmt-root{color:var(--text-strong);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;max-width:1280px;padding:28px 40px 40px!important}.centre-mgmt-root.centre-mgmt-embedded{max-width:none;padding:16px 24px 24px!important}.centre-mgmt-root .MuiTypography-h4{color:var(--text-strong);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.02em;margin-bottom:24px!important}.centre-mgmt-root .nav-tabs{border-bottom:1px solid var(--border-default);margin-bottom:20px}.centre-mgmt-root .nav-tabs .nav-link{border:none;color:var(--text-muted);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:500;padding:10px 16px}.centre-mgmt-root .nav-tabs .nav-link.active{background:#0000;border-bottom:2px solid var(--brand-primary);color:var(--brand-primary)}.centre-mgmt-root .filters-bar{justify-content:space-between;margin-bottom:14px}.centre-mgmt-root .filters-bar,.centre-mgmt-root .filters-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.centre-mgmt-root .cm-search{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;display:flex;gap:8px;height:42px;min-width:280px;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease}.centre-mgmt-root .cm-search:focus-within{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11f}.centre-mgmt-root .cm-search-icon{color:var(--text-faint)}.centre-mgmt-root .cm-search-input{background:#0000;border:none;color:var(--text-strong);font-family:inherit;font-size:14px;outline:none;width:100%}.centre-mgmt-root .cm-search-input::placeholder{color:var(--text-faint)}.centre-mgmt-root .cm-school-select{background:var(--surface-card);min-width:240px}.centre-mgmt-root .cm-school-select .MuiOutlinedInput-root{border-radius:10px;height:42px}.centre-mgmt-root .cm-school-select .MuiOutlinedInput-notchedOutline{border-color:var(--border-default)}.centre-mgmt-root .cm-school-select .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--border-strong)}.centre-mgmt-root .cm-school-select .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--brand-primary);border-width:1px;box-shadow:0 0 0 3px #6366f11f}.centre-mgmt-root .cm-school-select .MuiInputLabel-root.Mui-focused{color:var(--brand-primary)}.centre-mgmt-root .cm-add-btn.MuiButton-contained{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border-radius:10px;box-shadow:0 2px 8px #4f46e540;font-size:14px;font-weight:600;height:42px;letter-spacing:0;padding:0 20px;text-transform:none}.centre-mgmt-root .cm-add-btn.MuiButton-contained:hover{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);box-shadow:0 4px 12px #4f46e559}.centre-mgmt-root .cm-results-meta{color:var(--text-muted);font-size:13px;margin-bottom:10px;padding-left:2px}.centre-mgmt-root .cm-results-meta strong{color:var(--text-strong)}.centre-mgmt-root .cm-table-card.MuiPaper-root{border:1px solid #e9edf3;border-radius:14px;box-shadow:0 1px 3px #0f172a0a,0 8px 24px #0f172a0a;overflow:hidden}.centre-mgmt-root .cm-table{border-collapse:initial;border-spacing:0}.centre-mgmt-root .cm-table .MuiTableHead-root .MuiTableCell-root{background:var(--surface-page);border-bottom:1px solid #e9edf3;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;padding:14px 18px;text-transform:uppercase}.centre-mgmt-root .cm-table .MuiTableBody-root .MuiTableCell-root{border-bottom:1px solid var(--border-subtle);color:var(--text-strong);font-size:14px;padding:13px 18px}.centre-mgmt-root .cm-table .MuiTableBody-root .MuiTableRow-root:last-child .MuiTableCell-root{border-bottom:none}.centre-mgmt-root .cm-row{transition:background-color .12s ease}.centre-mgmt-root .cm-row:hover{background-color:#f7f8ff!important}.centre-mgmt-root .cm-name{color:var(--text-strong);font-weight:600}.centre-mgmt-root .cm-muted{color:var(--text-faint)}.centre-mgmt-root .cm-address{color:var(--text-body);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.centre-mgmt-root .cm-email{color:var(--text-body)}.centre-mgmt-root .cm-code-chip{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:6px;color:var(--brand-primary);display:inline-block;font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:12px;font-weight:600;letter-spacing:.02em;padding:2px 8px}.centre-mgmt-root .cm-school-pill{border-radius:999px;display:inline-block;font-size:12px;font-weight:600;line-height:1.4;padding:4px 11px;white-space:nowrap}.centre-mgmt-root .cm-school-pill.assigned{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.centre-mgmt-root .cm-school-pill.unassigned{background:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-faint)}.centre-mgmt-root .cm-actions{display:inline-flex;gap:4px;justify-content:flex-end}.centre-mgmt-root .cm-act.MuiIconButton-root{border-radius:8px;color:var(--text-faint);padding:7px;transition:color .12s ease,background-color .12s ease}.centre-mgmt-root .cm-act-edit.MuiIconButton-root:hover{background:var(--brand-primary-subtle);color:var(--brand-primary)}.centre-mgmt-root .cm-act-del.MuiIconButton-root:hover{background:var(--status-danger-bg);color:var(--status-danger)}.centre-mgmt-root .cm-state-cell.MuiTableCell-root{border-bottom:none;padding:56px 16px!important}.centre-mgmt-root .cm-empty{align-items:center;color:var(--text-faint);display:flex;flex-direction:column;font-size:14px;gap:10px}.centre-mgmt-root .cm-empty-icon{color:var(--text-faint);font-size:40px!important}.distance-matrix-wrapper{border:1px solid #e9edf3;border-radius:14px;box-shadow:0 1px 3px #0f172a0a,0 8px 24px #0f172a0a;overflow-x:auto}.distance-matrix-wrapper table{border-collapse:collapse;font-size:13px}.distance-matrix-wrapper td,.distance-matrix-wrapper th{border:1px solid #eef2f7;padding:8px 12px;text-align:center;vertical-align:middle;white-space:nowrap}.distance-matrix-wrapper th{background:var(--surface-page);color:var(--text-body);font-size:12px;font-weight:600}.distance-matrix-wrapper td.diagonal-cell{background:var(--surface-page);color:var(--text-faint)}.distance-matrix-wrapper td.distance-cell{cursor:pointer;min-width:90px}.distance-matrix-wrapper td.distance-cell:hover{background:var(--brand-primary-subtle)}.distance-matrix-wrapper .distance-value{color:var(--brand-primary);font-weight:600}.distance-matrix-wrapper .time-value{color:var(--text-muted);font-size:11px}.distance-matrix-wrapper .empty-distance{color:var(--text-faint);font-size:12px}.school-mgmt-root.centre-mgmt-root{max-width:none;width:100%}.school-mgmt-root .cm-id{color:var(--text-muted);font-family:SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;font-size:12px}.school-mgmt-root .cm-filter-select{background:var(--surface-card);min-width:160px}.school-mgmt-root .cm-filter-select .MuiOutlinedInput-root{border-radius:10px;height:42px}.school-mgmt-root .cm-status-pill{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:999px;color:var(--text-body);display:inline-block;font-size:12px;font-weight:600;line-height:1.4;padding:4px 11px;white-space:nowrap}.school-mgmt-root .cm-status-pill.status-active{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.school-mgmt-root .cm-tag-chips{display:flex;flex-wrap:wrap;gap:4px}.school-mgmt-root .cm-tag-chip{background:var(--brand-primary-subtle);border-radius:6px;color:var(--brand-primary);display:inline-block;font-size:11px;font-weight:600;padding:2px 7px}.school-mgmt-root .cm-pagination{align-items:center;color:var(--text-muted);display:flex;font-size:13px;justify-content:space-between;margin-top:14px}.school-mgmt-root .cm-pagination .cm-pager-controls{align-items:center;display:flex;gap:6px}.school-mgmt-root .cm-pagination .cm-pager-btn.MuiButton-root{border:1px solid var(--border-default);border-radius:8px;color:var(--text-body);font-weight:600;height:32px;min-width:36px;text-transform:none}.school-mgmt-root .cm-pagination .cm-pager-btn.Mui-disabled{opacity:.5}.school-form-section-title{color:var(--text-muted);font-size:13px;font-weight:700;letter-spacing:.04em;margin:8px 0 2px;text-transform:uppercase}.school-form-field-label{color:var(--text-muted);display:block;font-size:12px;font-weight:600;margin-bottom:4px}.cyp-page{margin:0 auto;max-width:1400px;padding:24px}.teacher-schedule-container{background:radial-gradient(circle at top left,#e0f2fe 0,#f5f7fb 40%,var(--surface-card) 100%);min-height:100vh;padding:2rem}.instructor-selector-section{background:#fff;border-radius:16px;box-shadow:0 4px 6px #00000012;margin-bottom:1.5rem;padding:1.5rem 2rem}.instructor-selector-wrapper{display:flex;flex-direction:column;gap:1rem}.selector-label{align-items:center;color:var(--text-body);display:flex;font-size:1rem;font-weight:600;gap:.5rem}.selector-icon{font-size:1.25rem}.selector-input-wrapper{flex:1 1;position:relative}.instructor-search-input{border:2px solid var(--border-default);border-radius:8px;font-size:1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.instructor-search-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.search-loading-icon{font-size:1.25rem;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.search-results-dropdown{background:#fff;border:2px solid var(--border-default);border-radius:8px;box-shadow:0 8px 16px #0000001a;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}.search-result-item{border-bottom:1px solid #f7fafc;cursor:pointer;padding:1rem;transition:all .2s ease}.search-result-item:hover{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-sunken) 100%)}.search-result-item:last-child{border-bottom:none}.result-name{color:var(--text-strong);font-weight:600;margin-bottom:.25rem}.result-meta{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.875rem;gap:.75rem}.result-code{background:var(--surface-sunken);border-radius:4px;font-weight:500;padding:.125rem .5rem}.result-email,.result-phone{color:var(--text-body)}.selected-instructor-display{align-items:center;background:linear-gradient(135deg,#2c5282 0,var(--surface-inverse) 100%);border-radius:8px;color:#fff;display:flex;font-weight:600;gap:.75rem;padding:.875rem 1rem}.selected-instructor-name{font-size:1.125rem}.selected-instructor-code{font-size:.875rem;opacity:.9}.btn-clear-instructor{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.125rem;height:1.75rem;justify-content:center;margin-left:auto;transition:all .2s ease;width:1.75rem}.btn-clear-instructor:hover{background:#ffffff4d;transform:scale(1.1)}.selector-hint{color:var(--text-muted);font-size:.875rem;font-style:italic}.teacher-schedule-header{background:#fff;border-radius:16px;box-shadow:0 4px 6px #00000012;margin-bottom:1.5rem;padding:2rem}.teacher-schedule-container .header-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.teacher-name{align-items:center;color:var(--text-strong);display:flex;font-size:1.875rem;font-weight:700;gap:.75rem;margin:0}.teacher-icon{font-size:2rem}.teacher-header-avatar{border:3px solid #3182ce;border-radius:50%;box-shadow:0 4px 12px #3182ce4d;height:56px;object-fit:cover;transition:all .3s ease;width:56px}.teacher-header-avatar:hover{box-shadow:0 6px 16px #3182ce66;transform:scale(1.05)}.teacher-schedule-container .header-actions{display:flex;gap:1rem}.btn-export,.btn-toggle-filters{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-toggle-filters{background:linear-gradient(135deg,#2c5282,#2b6cb0);color:#fff}.btn-toggle-filters:hover{box-shadow:0 4px 12px #2b6cb04d;transform:translateY(-2px)}.btn-toggle-filters.active{background:linear-gradient(135deg,#1a365d,#2c5282)}.btn-export{background:linear-gradient(135deg,#38a169,#2f855a)}.btn-export:hover{box-shadow:0 4px 12px #38a1694d}.export-icon,.filter-icon{font-size:1.125rem}.filters-panel{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:1.5rem;max-height:0;opacity:0;overflow:hidden;padding:1.5rem;transition:all .3s ease}.filters-panel.filters-visible{max-height:500px;opacity:1}.filters-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-item{display:flex;flex-direction:column;gap:.5rem}.filter-item label{color:var(--text-body);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.filter-input,.filter-select{border:2px solid var(--border-default);border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s ease}.filter-input:focus,.filter-select:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.filter-actions{align-items:flex-end;display:flex}.btn-clear-filters{color:var(--text-body);padding:.75rem 1.5rem;transition:all .2s ease}.btn-clear-filters,.btn-clear-filters:hover{background:var(--surface-sunken)}.analytics-dashboard{margin-bottom:2rem}.analytics-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.analytics-card{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 4px 6px #00000012;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.analytics-card:hover{box-shadow:0 8px 16px #0000001f;transform:translateY(-4px)}.analytics-primary{border-left-color:#3182ce}.analytics-secondary{border-left-color:#48bb78}.analytics-accent{border-left-color:#ed8936}.analytics-info{border-left-color:#4299e1}.analytics-warning{border-left-color:#f6ad55}.analytics-status{border-left-color:var(--brand-primary-hover)}.analytics-value{line-height:1;margin-bottom:.25rem}.analytics-status-grid{display:flex;flex-direction:column;gap:.5rem}.status-item{align-items:center;display:flex;gap:.5rem}.status-badge{align-items:center;border-radius:6px;display:inline-flex;font-size:.875rem;font-weight:700;height:1.5rem;justify-content:center;min-width:2rem;padding:0 .5rem}.status-badge.status-scheduled{background:#ebf8ff;color:#2c5282}.status-badge.status-conducted{background:#fef5e7;color:#b7791f}.status-badge.status-cancelled{background:var(--status-danger-bg);color:var(--status-danger)}.status-text{color:var(--text-body);font-size:.875rem;font-weight:500}.upcoming-section{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;margin-bottom:2rem;padding:1.5rem}.upcoming-title{color:var(--text-strong);font-size:1.25rem;font-weight:700;margin:0 0 1rem}.upcoming-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.upcoming-card{background:linear-gradient(135deg,#2c5282 0,var(--surface-inverse) 100%);border-radius:10px;color:#fff;cursor:pointer;padding:1rem;transition:all .3s ease}.upcoming-card:hover{box-shadow:0 8px 16px #2c52824d;transform:translateY(-4px)}.upcoming-date{font-size:.75rem;margin-bottom:.25rem;opacity:.9}.upcoming-time{font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.upcoming-topic{font-size:.875rem;font-weight:600;margin-bottom:.25rem}.upcoming-room{font-size:.75rem;opacity:.85}.view-mode-selector{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000000d;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem}.view-mode-btn{background:var(--surface-page);border:2px solid var(--border-default);border-radius:8px;color:var(--text-body);display:flex;flex:1 1;gap:.5rem;justify-content:center;padding:.875rem 1.5rem;transition:all .2s ease}.view-mode-btn:hover{background:var(--surface-sunken);border-color:#cbd5e0}.view-mode-btn.active{background:linear-gradient(135deg,#2c5282,#2b6cb0);border-color:#2c5282;color:#fff}.view-icon{font-size:1.25rem}.schedule-content{animation:fadeIn .5s ease}.date-grouped-view{display:flex;flex-direction:column;gap:2rem}.date-group{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;padding:1.5rem}.date-header{background:linear-gradient(135deg,#3b5998,#2d4373);border-radius:12px;box-shadow:0 4px 12px #00000026;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 2rem}.date-header,.date-title{align-items:center;display:flex}.date-title{color:var(--text-on-brand);font-size:1.5rem;font-weight:700;gap:.75rem;margin:0}.date-icon{font-size:1.5rem;opacity:.9}.date-count{background:#fff3;border:1px solid #ffffff4d;border-radius:20px;color:var(--text-on-brand);font-size:.875rem;font-weight:600;padding:.5rem 1rem}.timetable-grouped-view{display:flex;flex-direction:column;gap:2rem}.timetable-group{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;padding:1.5rem}.timetable-header{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:1.5rem;padding:1.5rem 2rem}.timetable-title{color:var(--text-strong);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.timetable-meta{display:flex;flex-wrap:wrap;gap:1rem}.timetable-count{background:var(--surface-page);border:1px solid var(--border-default);border-radius:20px;font-weight:600;padding:.5rem 1rem}.timetable-count,.timetable-dates{color:var(--text-muted);font-size:.875rem}.slots-container{display:flex;flex-direction:column;gap:1rem}.slot-wrapper{position:relative}.time-gap{padding:.5rem 0;text-align:center}.time-gap-indicator{background:#f0fff4;border-radius:20px;color:#276749;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem 1rem}.conflict-warning{align-items:center;background:#fff5f5;border-left:4px solid #fc8181;border-radius:8px;display:flex;gap:.5rem;margin-bottom:.5rem;padding:.75rem 1rem}.conflict-icon{font-size:1.25rem}.conflict-message{color:#742a2a;font-size:.875rem;font-weight:500}.activity-slot-card.has-conflict .slot-bar{background:linear-gradient(180deg,var(--status-danger),#f97316)}.slot-header{align-items:center;margin-bottom:1rem}.slot-time{align-items:center;background:var(--surface-inverse);border-color:#0000;border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 10px 18px #0f172a80;color:#e5e7eb;display:inline-flex;font-size:12px;gap:6px;padding:4px 9px}.time-icon{font-size:14px}.time-range{color:#f9fafb;font-size:12px;font-weight:500}.slot-status-badge.status-scheduled{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary));color:var(--text-on-brand)}.slot-status-badge.status-conducted{background:linear-gradient(135deg,var(--status-success),var(--status-success));color:var(--text-on-brand)}.slot-status-badge.status-cancelled{background:linear-gradient(135deg,var(--status-danger),var(--status-danger));color:var(--text-on-brand)}.slot-status-badge.status-default{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary));color:var(--text-on-brand)}.slot-body{display:flex;flex-direction:column;gap:8px}.slot-topic{color:var(--text-strong);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.4;margin:0}.detail-item{align-items:center;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-strong);display:inline-flex;font-size:11px;gap:4px;padding:3px 8px}.detail-icon{font-size:12px;opacity:.7}.detail-text{color:var(--text-strong);font-weight:600}.batches-label{color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.batches-chips{display:flex;flex-wrap:wrap;gap:6px}.batch-chip{border:1px solid var(--border-strong);border-radius:12px;font-size:11px;font-weight:500;gap:4px;padding:4px 8px}.slot-remarks{align-items:flex-start;background:var(--surface-page);border-radius:8px;color:var(--text-body);display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.remarks-icon{font-size:1rem}.remarks-text{flex:1 1;font-style:italic}.conflicts-summary{background:#fff5f5;border-radius:12px;box-shadow:0 4px 6px #00000012;margin-top:2rem;padding:1.5rem}.conflicts-title{align-items:center;color:#742a2a;display:flex;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0 0 1rem}.conflicts-icon{font-size:1.5rem}.conflicts-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.conflict-item{align-items:center;background:#fff;border-radius:8px;color:#742a2a;display:flex;font-size:.875rem;gap:.75rem;padding:.875rem}.conflict-type{font-size:1.25rem}.teacher-schedule-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.loading-spinner{border:4px solid var(--border-default);border-top:4px solid #3182ce;height:50px;width:50px}.teacher-schedule-loading p{color:var(--text-body);font-size:1.125rem;font-weight:500}.teacher-schedule-error{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:60vh}.teacher-schedule-container .error-message{color:#742a2a;font-size:1.125rem;font-weight:500}.btn-retry{background:linear-gradient(135deg,#2c5282,#2b6cb0)}.btn-retry:hover{box-shadow:0 4px 12px #2b6cb04d}.btn-bulk-mode{align-items:center;background:linear-gradient(135deg,#2c5282,#2b6cb0);border:none;border-radius:8px;box-shadow:0 4px 15px #2b6cb040;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.btn-bulk-mode:hover{box-shadow:0 6px 20px #2b6cb059;transform:translateY(-2px)}.btn-bulk-mode.active{background:linear-gradient(135deg,#dd6b20,#c05621)}.slot-actions{margin-left:auto;position:relative}.action-menu-trigger{background:#3182ce1a;color:#3182ce}.action-menu-trigger:hover{background:#3182ce33}.slot-checkbox{accent-color:#3182ce;cursor:pointer;height:20px;margin-right:.5rem;width:20px}.slot-selected{background:#3182ce0d;border-color:#3182ce!important}.slot-updating{opacity:.6;pointer-events:none}.bulk-action-bar{animation:slideUp .3s ease;background:linear-gradient(135deg,#2c5282 0,var(--surface-inverse) 100%);bottom:0;box-shadow:0 -4px 20px #00000026;left:0;padding:1rem;position:fixed;right:0;z-index:100}.bulk-apply-btn{color:#2c5282}.confirmation-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-dialog{animation:scaleIn .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;padding:2rem;width:90%}.confirmation-dialog h3{color:var(--text-strong);font-size:1.5rem;margin:0 0 1rem}.confirmation-dialog p{color:var(--text-body);font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.btn-confirm{background:linear-gradient(135deg,#2c5282,#2b6cb0)}.btn-confirm:hover{box-shadow:0 6px 20px #2b6cb059}.teacher-schedule-container .btn-cancel{background:var(--surface-sunken);border:none;border-radius:8px;color:var(--text-body);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.teacher-schedule-container .btn-cancel:hover{background:#cbd5e0}.teacher-schedule-empty{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;display:flex;flex-direction:column;justify-content:center;min-height:60vh;padding:3rem}.teacher-schedule-empty h2{color:var(--text-strong);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.teacher-schedule-empty p{color:var(--text-muted);font-size:1rem}@media (max-width:768px){.teacher-schedule-container{padding:1rem}.teacher-schedule-header{padding:1.5rem}.teacher-schedule-container .header-content{align-items:flex-start;flex-direction:column}.teacher-name{font-size:1.5rem}.teacher-schedule-container .header-actions{flex-direction:column;width:100%}.btn-export,.btn-toggle-filters{justify-content:center;width:100%}.analytics-grid,.upcoming-cards{grid-template-columns:1fr}.view-mode-selector{flex-direction:column}.slot-details{grid-template-columns:1fr}.date-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.grid-view{background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;overflow-x:auto;padding:1.5rem}.grid-container{display:flex;flex-direction:column}.grid-header{grid-gap:1px;border-radius:8px 8px 0 0;display:grid;grid-template-columns:180px repeat(auto-fill,minmax(200px,1fr))}.grid-body,.grid-header{background:var(--surface-sunken);gap:1px;overflow:hidden}.grid-body{border-radius:0 0 8px 8px;display:flex;flex-direction:column}.grid-row{grid-gap:1px;display:grid;gap:1px;grid-template-columns:180px repeat(auto-fill,minmax(200px,1fr))}.grid-header .date-header,.time-header{background:linear-gradient(135deg,#1e3a8a 0,var(--brand-primary-active) 100%);box-shadow:0 2px 4px #0000001a;color:var(--text-on-brand);font-size:.95rem;font-weight:700;padding:1rem .75rem;text-align:center}.time-cell{font-weight:600}.time-cell .time-icon{opacity:.7}.compact-slot-card.status-conducted{background:#f0fff4;border-left-color:#38a169}.compact-slot-card.status-cancelled{background:#fff5f5;border-left-color:#e53e3e;opacity:.8}.compact-slot-card.status-scheduled{background:#fff;border-left-color:#2c5282}.compact-status-badge.status-scheduled{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary));color:#fff}.compact-status-badge.status-conducted{background:linear-gradient(135deg,var(--status-success),var(--status-success));color:#fff}.compact-status-badge.status-cancelled{background:linear-gradient(135deg,var(--status-danger),var(--status-danger));color:#fff}@media (max-width:480px){.teacher-name{font-size:1.25rem}.analytics-value{font-size:1.5rem}.date-title,.timetable-title{font-size:1.25rem}.slot-topic{font-size:1.125rem}.grid-view{padding:.5rem}.grid-header,.grid-row{grid-template-columns:120px repeat(auto-fill,minmax(150px,1fr))}}.birds-eye-view-container{background:var(--surface-page);min-height:100vh;padding:0}.bev-header{background:var(--gradient-brand);box-shadow:0 4px 20px #667eea4d;color:#fff;padding:2rem}.bev-header-content{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto 1rem;max-width:1400px}.bev-icon{animation:float 3s ease-in-out infinite;display:inline-block;font-size:3rem;margin-right:.5rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bev-title{align-items:center;display:flex;font-size:2.5rem;font-weight:700;margin:0}.bev-subtitle{font-size:1.1rem;margin:0 auto;max-width:1400px;opacity:.9}.bev-btn-toggle-filters{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.bev-btn-toggle-filters:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.bev-btn-toggle-filters.active{background:#fffffff2;border-color:#fff;color:var(--brand-primary)}.bev-btn-toggle-filters .filter-icon{font-size:1.2rem}.bev-header-actions{align-items:center;display:flex;gap:1rem}.btn-export{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.btn-export:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.export-icon{font-size:1.125rem}.dropdown-arrow{font-size:.75rem;margin-left:.25rem;transition:transform .2s ease}.export-dropdown-wrapper{position:relative}.export-dropdown-menu{animation:dropdownSlideIn .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;min-width:250px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.export-option{align-items:center;background:#fff;border:none;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.25rem;text-align:left;transition:all .2s ease;width:100%}.export-option:hover{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-sunken) 100%)}.export-option:not(:last-child){border-bottom:1px solid var(--border-default)}.option-icon{font-size:1.75rem;line-height:1}.option-content{display:flex;flex-direction:column;gap:.25rem}.option-title{color:var(--text-strong);font-size:1rem;font-weight:700}.option-desc{color:var(--text-muted);font-size:.75rem}.bev-filters-panel{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease-out,opacity .3s ease-out}.bev-filters-panel.bev-filters-visible{max-height:500px;opacity:1}.bev-filters-grid{grid-gap:1rem;align-items:end;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:1.5rem auto;max-width:1400px;padding:1.5rem}.bev-filter-item{display:flex;flex-direction:column;gap:.5rem}.bev-filter-item label{align-items:center;color:var(--text-body);display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.filter-icon{font-size:1rem}.bev-filter-input,.bev-filter-select{appearance:auto;background:#fff;border:2px solid var(--border-default);border-radius:8px;font-size:.875rem;height:45px;line-height:1.5;padding:.75rem;transition:all .2s ease}.bev-filter-input:focus,.bev-filter-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea1a;outline:none}.bev-filter-actions{align-items:flex-end;display:flex;gap:.5rem}.bev-btn-clear-filters{background:var(--gradient-brand);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.bev-btn-clear-filters:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.bev-btn-clear-filters:active{transform:translateY(0)}.bev-content{margin:0 auto;max-width:1400px;padding:0 1.5rem 2rem}.bev-analytics-dashboard{margin-bottom:2rem}.bev-section-title{color:var(--text-strong);font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.bev-analytics-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.bev-analytics-card{align-items:center;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;gap:1rem;padding:1.5rem;transition:all .3s ease}.bev-analytics-card:hover{box-shadow:0 6px 20px #0000001a;transform:translateY(-4px)}.bev-analytics-card.analytics-primary{border-left-color:var(--brand-primary)}.bev-analytics-card.analytics-secondary{border-left-color:#f093fb}.bev-analytics-card.analytics-accent{border-left-color:#4facfe}.bev-analytics-card.analytics-info{border-left-color:#43e97b}.bev-analytics-card.analytics-warning{border-left-color:#fa709a}.bev-analytics-card.analytics-success{border-left-color:#30cfd0}.bev-analytics-card.analytics-purple{border-left-color:#a8edea}.bev-analytics-card.analytics-teal{border-left-color:#fed6e3}.analytics-icon{font-size:2.5rem;line-height:1}.analytics-content{flex:1 1}.analytics-value{color:var(--text-strong);font-size:2rem;font-weight:700;line-height:1.2}.analytics-label{color:var(--text-muted);font-size:.875rem;font-weight:500;margin-top:.25rem}.bev-status-overview{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;margin-bottom:2rem;padding:1.5rem}.bev-status-overview h4{color:var(--text-strong);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.status-bars{gap:1rem}.status-bar-item,.status-bars{display:flex;flex-direction:column}.status-bar-item{gap:.5rem}.status-bar-label{align-items:center;color:var(--text-body);display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.status-dot{border-radius:50%;display:inline-block;height:12px;width:12px}.status-dot.status-scheduled{background:var(--brand-primary)}.status-dot.status-conducted{background:#f093fb}.status-dot.status-cancelled{background:var(--status-danger)}.status-bar-track{background:var(--surface-sunken);border-radius:8px;height:24px;overflow:hidden;position:relative}.status-bar-fill{align-items:center;border-radius:8px;color:#fff;display:flex;font-size:.75rem;font-weight:600;height:100%;justify-content:flex-end;padding-right:.5rem;transition:width .5s ease}.status-bar-fill.status-scheduled-fill{background:var(--gradient-brand)}.status-bar-fill.status-conducted-fill{background:linear-gradient(90deg,#f093fb,#f5576c)}.status-bar-fill.status-cancelled-fill{background:linear-gradient(90deg,var(--status-danger) 0,var(--status-danger) 100%)}.bev-view-selector{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding:1rem}.bev-view-selector button{align-items:center;background:#fff;border:2px solid var(--border-default);border-radius:8px;color:var(--text-body);cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.bev-view-selector button:hover{border-color:var(--brand-primary);color:var(--brand-primary);transform:translateY(-2px)}.bev-view-selector button.active{background:var(--gradient-brand);border-color:#0000;box-shadow:0 4px 15px #667eea4d;color:#fff}.view-icon{font-size:1.2rem}.bev-all-view{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:1.5rem}.bev-slots-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.bev-grouped-view{display:flex;flex-direction:column;gap:2rem}.bev-group-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.bev-group-header{align-items:center;background:var(--gradient-brand);color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.bev-group-title-with-photo{align-items:center;display:flex;gap:1rem}.group-instructor-avatar{border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000004d;height:48px;object-fit:cover;width:48px}.bev-group-header h3,.bev-group-header h4{font-size:1.25rem;font-weight:600;margin:0}.bev-group-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.bev-group-count{background:#fff3;border-radius:20px;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.bev-group-export-buttons{align-items:center;display:flex;gap:.5rem}.bev-export-btn{align-items:center;background:#fffffff2;border:none;border-radius:6px;color:var(--brand-primary);cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.bev-export-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.bev-export-btn:active{transform:translateY(0)}.bev-tv-display-btn{align-items:center;background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary));border:2px solid #ffffff80;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:6px;margin-right:8px;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.bev-tv-display-btn:hover{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-hover));border-color:#fffc;box-shadow:0 4px 12px #2563eb66;transform:translateY(-2px)}.bev-tv-display-btn:active{transform:translateY(0)}.bev-group-section .bev-slots-grid{padding:1.5rem}.bev-slot-card{background:#fff;border:2px solid var(--border-default);border-radius:12px;cursor:pointer;padding:1rem 1rem 1.5rem;position:relative;transition:all .3s ease}.bev-slot-card:hover{border-color:var(--brand-primary);box-shadow:0 4px 15px #667eea26;transform:translateY(-2px)}.bev-slot-header{align-items:flex-start;border-bottom:2px solid #f7fafc;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.bev-slot-date-time{display:flex;flex-direction:column;gap:.25rem}.bev-slot-date{align-items:center;color:var(--text-body);display:flex;font-size:.8125rem;font-weight:600;gap:.4rem}.bev-slot-time,.date-icon{font-size:.875rem}.bev-slot-time{align-items:center;color:var(--brand-primary);display:flex;font-weight:700;gap:.5rem}.time-icon{font-size:1rem}.bev-status-badge{border-radius:12px;font-size:.75rem;font-weight:700;padding:.25rem .75rem;text-transform:uppercase}.bev-status-badge.scheduled{background:#e3f2fd;color:#1976d2}.bev-status-badge.conducted{background:#fff3e0;color:#f57c00}.bev-status-badge.cancelled{background:var(--status-danger-bg);color:var(--status-danger)}.bev-slot-body{display:flex;flex-direction:column;gap:.75rem}.bev-slot-topic{color:var(--text-strong);font-size:1rem;font-weight:700;line-height:1.4;margin:0}.bev-slot-start-date{color:var(--text-muted);display:inline-block;font-size:.75rem;font-weight:500;margin-left:.5rem}.bev-slot-details{display:flex;flex-direction:column;gap:.5rem}.bev-detail-item{align-items:center;color:var(--text-body);display:flex;font-size:.875rem;gap:.5rem}.bev-instructor-item{color:var(--text-strong);font-weight:600}.detail-icon{font-size:1rem;text-align:center;width:20px}.bev-detail-item strong{color:var(--text-strong);font-weight:600}.instructor-avatar{border:2px solid var(--brand-primary);border-radius:50%;box-shadow:0 2px 8px #667eea4d;height:32px;object-fit:cover;transition:all .3s ease;width:32px}.instructor-avatar:hover{box-shadow:0 4px 12px #667eea80;transform:scale(1.1)}.instructor-avatar-fallback{align-items:center;background:var(--gradient-brand);border:2px solid var(--brand-primary);border-radius:50%;box-shadow:0 2px 8px #667eea4d;display:flex;font-size:1rem;height:32px;justify-content:center;width:32px}.bev-batches{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.bev-batch-chip{background:var(--gradient-brand);border-radius:16px;color:#fff;cursor:pointer;display:inline-block;font-size:.75rem;font-weight:600;padding:.375rem .75rem;transition:all .2s ease}.bev-batch-chip:hover{background:linear-gradient(135deg,#7c8ef1,#8b5bb5);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px) scale(1.05)}.bev-batch-chip:active{transform:translateY(0) scale(1)}.bev-slot-id{bottom:4px;color:var(--text-faint);font-size:.625rem;font-weight:500;opacity:.7;pointer-events:auto;position:absolute;right:6px;-webkit-user-select:text;user-select:text}.bev-loading{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:1.5rem auto;max-width:1400px;padding:4rem 2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:5px solid var(--border-subtle);border-radius:50%;border-top-color:var(--brand-primary);height:60px;margin-bottom:1rem;width:60px}.bev-loading p{color:var(--text-muted);font-size:1.1rem;margin:0}.bev-error{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:1.5rem auto;max-width:1400px;padding:4rem 2rem;text-align:center}.error-icon{font-size:4rem;margin-bottom:1rem}.bev-error h3{color:#e53e3e;font-size:1.5rem;margin:0 0 .5rem}.birds-eye-view-container .error-message{color:var(--text-muted);font-size:1rem;margin:0 0 1.5rem}.btn-retry{background:var(--gradient-brand);border:none;border-radius:8px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-retry:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.bev-empty-state{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-direction:column;justify-content:center;margin:1.5rem auto;max-width:1400px;padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.bev-empty-state h3{color:var(--text-body);font-size:1.5rem;margin:0 0 .5rem}.bev-empty-state p{color:var(--text-faint);font-size:1rem;margin:0}@media (max-width:768px){.bev-header{padding:1.5rem}.bev-header-content{align-items:flex-start;flex-direction:column;gap:1rem}.bev-title{font-size:2rem}.bev-subtitle{font-size:1rem}.bev-btn-toggle-filters{justify-content:center;width:100%}.bev-filters-grid{grid-template-columns:1fr}.bev-content{padding:0 1rem 2rem}.bev-analytics-grid{grid-template-columns:repeat(2,1fr)}.bev-view-selector{flex-direction:column}.bev-view-selector button{justify-content:center;width:100%}.bev-slots-grid{grid-template-columns:1fr}.bev-group-header{align-items:flex-start;flex-direction:column;gap:.75rem}}@media (max-width:480px){.bev-analytics-grid{grid-template-columns:1fr}.analytics-value{font-size:1.5rem}.analytics-icon{font-size:2rem}}.bev-btn-bulk-mode{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease;white-space:nowrap}.bev-btn-bulk-mode:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.bev-btn-bulk-mode.active{background:#fffffff2;border-color:#fff;color:var(--brand-primary)}.bulk-icon{font-size:1.2rem}.bev-slot-actions{margin-left:auto;position:relative}.action-menu-trigger{background:rgba(var(--brand-primary-rgb),.1);border:none;border-radius:4px;color:var(--brand-primary);cursor:pointer;font-size:1.25rem;font-weight:700;padding:4px 8px;transition:all .2s ease}.action-menu-trigger:hover{background:rgba(var(--brand-primary-rgb),.2)}.action-menu-trigger:disabled{cursor:not-allowed;opacity:.5}.action-menu{animation:slideDown .2s ease;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.action-menu button{background:#fff;border:none;color:var(--text-strong);cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:background .2s ease;width:100%}.action-menu button:hover{background:var(--surface-page)}.action-menu button:not(:last-child){border-bottom:1px solid var(--border-default)}.bev-slot-checkbox{accent-color:var(--brand-primary);cursor:pointer;height:20px;margin-right:.5rem;width:20px}.bev-slot-selected{background:rgba(var(--brand-primary-rgb),.05);border-color:var(--brand-primary)!important}.bev-slot-updating{opacity:.6;pointer-events:none}.bev-bulk-action-bar{animation:slideUp .3s ease;background:var(--gradient-brand);bottom:0;box-shadow:0 -4px 20px #00000026;left:0;padding:1rem;position:fixed;right:0;z-index:100}.bulk-action-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1400px}.bulk-selected-count{color:#fff;font-size:1rem;font-weight:600}.bulk-action-controls{align-items:center;display:flex;gap:.75rem}.bulk-status-select{background:#fffffff2;border:2px solid #ffffff4d;border-radius:6px;color:var(--text-strong);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.bulk-apply-btn{background:#fff;border:none;border-radius:6px;color:var(--brand-primary);cursor:pointer;font-size:.875rem;font-weight:700;padding:.5rem 1.5rem;transition:all .2s ease}.bulk-apply-btn:hover:not(:disabled){box-shadow:0 4px 12px #ffffff4d;transform:translateY(-2px)}.bulk-apply-btn:disabled{cursor:not-allowed;opacity:.6}.bulk-cancel-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.bulk-cancel-btn:hover{background:#ffffff4d;border-color:#ffffff80}.bev-confirmation-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.bev-confirmation-dialog{animation:scaleIn .2s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;padding:2rem;width:90%}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.bev-confirmation-dialog h3{color:var(--text-strong);font-size:1.5rem;margin:0 0 1rem}.bev-confirmation-dialog p{color:var(--text-body);font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.confirmation-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-confirm{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.btn-confirm:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.birds-eye-view-container .btn-cancel{background:var(--surface-sunken);border:none;border-radius:8px;color:var(--text-body);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s ease}.birds-eye-view-container .btn-cancel:hover{background:#cbd5e0}.bev-batch-slots-modal{animation:scaleIn .2s ease;background:#fff;border-radius:16px;box-shadow:0 12px 48px #00000040;display:flex;flex-direction:column;max-height:85vh;max-width:800px;overflow:hidden;width:90%}.batch-modal-header{background:var(--gradient-brand);border-bottom:2px solid var(--border-default);padding:1.5rem 2rem;position:relative}.batch-modal-header h3{align-items:center;color:var(--text-strong);display:flex;font-size:1.5rem;font-weight:700;gap:.5rem;margin:0 0 .5rem}.batch-modal-subtitle{color:var(--text-muted);font-size:.875rem;font-weight:500;margin:0}.batch-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .2s ease;width:32px}.batch-modal-close:hover{background:var(--surface-page);color:var(--text-strong);transform:scale(1.1)}.batch-modal-content{flex:1 1;max-height:calc(85vh - 180px);overflow-y:auto;padding:1.5rem 2rem}.batch-modal-empty{color:var(--text-muted);padding:3rem 1rem;text-align:center}.batch-modal-empty p{font-size:1rem;margin:0}.batch-modal-date-group{margin-bottom:2rem}.batch-modal-date-group:last-child{margin-bottom:0}.batch-modal-date-header{border-bottom:2px solid var(--brand-primary);color:var(--text-strong);display:inline-block;font-size:1.125rem;font-weight:700;margin:0 0 1rem;padding-bottom:.5rem}.batch-modal-slots{display:flex;flex-direction:column;gap:1rem}.batch-modal-slot-card{background:var(--surface-page);border:1px solid var(--border-default);border-left:4px solid var(--brand-primary);border-radius:8px;padding:1rem;transition:all .2s ease}.batch-modal-slot-card:hover{background:var(--surface-card);box-shadow:0 2px 8px #667eea26;transform:translateX(4px)}.batch-slot-time{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.batch-slot-time .time-icon{font-size:1rem}.batch-slot-time .time-text{color:var(--text-strong);font-size:.875rem;font-weight:600}.batch-slot-status{border-radius:12px;font-size:.75rem;font-weight:600;margin-left:auto;padding:.25rem .75rem}.batch-slot-topic{color:var(--text-strong);font-size:1rem;font-weight:600;margin-bottom:.75rem}.batch-slot-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.batch-slot-detail{align-items:center;color:var(--text-body);display:flex;font-size:.875rem;gap:.375rem}.batch-slot-detail .detail-icon{font-size:1rem}.batch-slot-timetable{color:var(--text-muted);font-size:.75rem;margin-top:.5rem;padding-top:.5rem}.batch-modal-footer,.batch-slot-timetable{border-top:1px solid var(--border-default)}.batch-modal-footer{background:var(--surface-page);display:flex;justify-content:flex-end;padding:1rem 2rem}.btn-close-batch-modal{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 2rem;transition:all .2s ease}.btn-close-batch-modal:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-2px)}.btn-close-batch-modal:active{transform:translateY(0)}@media (max-width:768px){.bev-batch-slots-modal{max-height:90vh;max-width:95%}.batch-modal-header{padding:1rem 1.5rem}.batch-modal-header h3{font-size:1.25rem}.batch-modal-content{max-height:calc(90vh - 160px);padding:1rem 1.5rem}.batch-slot-time{font-size:.8125rem}.batch-slot-details{gap:.5rem}}.analytics-container{background:var(--surface-card);padding:0}.analytics-toggle-filters-btn{background:var(--gradient-brand);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s ease}.analytics-toggle-filters-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.analytics-retry-btn{background:var(--gradient-brand);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.analytics-retry-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.recharts-wrapper{margin:0 auto}.recharts-surface{overflow:visible}.recharts-tooltip-wrapper{z-index:1000}.recharts-legend-wrapper{padding-top:16px!important}.analytics-container>div{animation:fadeIn .5s ease-out}.analytics-container ::-webkit-scrollbar{height:8px;width:8px}.analytics-container ::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.analytics-container ::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.analytics-container ::-webkit-scrollbar-thumb:hover{background:#a0aec0}@media (max-width:768px){.analytics-container{padding:0}.analytics-toggle-filters-btn{margin-top:12px;width:100%}}.analytics-loading-overlay{align-items:center;background:#ffffffe6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.MuiPaper-root{transition:all .3s ease}.MuiPaper-root:hover{box-shadow:0 8px 24px #0000001f!important}.MuiChip-root{transition:all .2s ease!important}.MuiChip-root:hover{transform:scale(1.05)}.MuiGrid-container{margin:0;width:100%}.MuiGrid-item{padding:12px}.instructor-dashboard{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:24px}.idash-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:80px 20px}.idash-loading .idash-spinner{animation:idash-spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:48px;width:48px}.idash-loading p{color:#718096;font-size:15px;margin-top:16px}@keyframes idash-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.idash-error{color:#e53e3e;padding:60px 20px;text-align:center}.idash-error .idash-retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-top:16px;padding:10px 24px}.idash-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.idash-header .idash-header-left{align-items:baseline;display:flex;gap:16px}.idash-header .idash-title{color:#212121;font-size:28px;font-weight:600;margin:0}.idash-header .idash-instructor-name{color:#757575;font-size:15px;font-weight:400}.idash-header .idash-header-actions{display:flex;gap:10px}.idash-header .idash-refresh-btn,.idash-header .idash-today-btn{background:#fff;border:2px solid #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px;transition:all .2s}.idash-header .idash-refresh-btn:hover,.idash-header .idash-today-btn:hover{background:#667eea;color:#fff}.idash-header .idash-refresh-btn{border-color:#e0e0e0;color:#757575}.idash-header .idash-refresh-btn:hover{background:#f5f5f5;color:#424242}.idash-analytics-section{margin-bottom:20px}.idash-analytics-section .idash-analytics-toggle{background:none;border:none;color:#667eea;cursor:pointer;font-size:13px;font-weight:500;margin-bottom:8px;padding:4px 0}.idash-analytics-section .idash-analytics-toggle:hover{text-decoration:underline}.idash-analytics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:8px}.idash-analytics-card{background:#fff;border-left:4px solid #0000;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:20px;transition:transform .15s}.idash-analytics-card:hover{transform:translateY(-2px)}.idash-analytics-card .card-value{font-size:28px;font-weight:700;margin-bottom:4px}.idash-analytics-card .card-label{color:#757575;font-size:13px;font-weight:500}.idash-analytics-card.purple{border-left-color:#7c3aed}.idash-analytics-card.purple .card-value{color:#7c3aed}.idash-analytics-card.blue{border-left-color:#1976d2}.idash-analytics-card.blue .card-value{color:#1976d2}.idash-analytics-card.green{border-left-color:#388e3c}.idash-analytics-card.green .card-value{color:#388e3c}.idash-analytics-card.orange{border-left-color:#f57c00}.idash-analytics-card.orange .card-value{color:#f57c00}.idash-analytics-card.teal{border-left-color:#00897b}.idash-analytics-card.teal .card-value{color:#00897b}.idash-analytics-card.grey{border-left-color:#78909c}.idash-analytics-card.grey .card-value{color:#78909c}.idash-toolbar{align-items:center;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px;padding:12px 16px}.idash-view-selector{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;padding:3px}.idash-view-btn{background:#0000;border:none;border-radius:6px;color:#757575;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s}.idash-view-btn:hover{background:#e0e0e0;color:#424242}.idash-view-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea4d;color:#fff}.idash-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.idash-search{border:2px solid #e0e0e0;border-radius:6px;font-size:13px;padding:8px 14px;transition:border-color .2s;width:200px}.idash-search:focus{border-color:#667eea;outline:none}.idash-status-filter{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:13px;padding:8px 12px}.idash-status-filter:focus{border-color:#667eea;outline:none}.idash-date-filters{display:flex;gap:6px}.idash-date-input{border:2px solid #e0e0e0;border-radius:6px;font-size:12px;padding:7px 10px}.idash-date-input:focus{border-color:#667eea;outline:none}.idash-legend{display:flex;font-size:12px;gap:16px;margin-bottom:8px;padding:8px 0}.idash-legend .legend-item{align-items:center;color:#616161;display:flex;gap:6px}.idash-legend .legend-item:before{border-radius:3px;content:"";display:inline-block;height:12px;width:12px}.idash-legend .legend-item.planned:before{background:#f5f5f5;border:1px solid #bdbdbd}.idash-legend .legend-item.pre-scheduled:before{background:#fff9c4;border:1px solid #fbc02d}.idash-legend .legend-item.scheduled:before{background:#e3f2fd;border:1px solid #1976d2}.idash-legend .legend-item.conducted:before{background:#e8f5e9;border:1px solid #388e3c}.idash-legend .legend-item.cancelled:before{background:#ffebee;border:1px solid #d32f2f}.idash-day-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-day-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-nav-btn{background:#fff;border:2px solid #e0e0e0;border-radius:6px;color:#616161;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.idash-nav-btn:hover{border-color:#667eea;color:#667eea}.idash-nav-btn:disabled{cursor:not-allowed;opacity:.4}.idash-day-title{color:#212121;font-size:18px;font-weight:600}.idash-day-title.is-today{color:#667eea}.idash-day-title .today-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:700;margin-left:10px;padding:2px 10px;vertical-align:middle}.idash-day-summary{align-items:center;border-bottom:1px solid #f5f5f5;color:#9e9e9e;display:flex;font-size:13px;justify-content:space-between;padding:8px 20px}.idash-compact-toggle{background:#fff;border:1px solid #e0e0e0;border-radius:12px;color:#757575;cursor:pointer;font-size:12px;padding:3px 12px;transition:all .2s}.idash-compact-toggle:hover{border-color:#667eea;color:#667eea}.idash-compact-toggle.active{background:#667eea;border-color:#667eea;color:#fff}.idash-gap-indicator{align-items:center;display:flex;gap:8px;left:0;padding:0 12px;position:absolute;right:0;z-index:2}.idash-gap-indicator .gap-line{background:repeating-linear-gradient(90deg,#bdbdbd,#bdbdbd 4px,#0000 0,#0000 8px);flex:1 1;height:1px}.idash-gap-indicator .gap-text{color:#9e9e9e;font-size:11px;font-style:italic;white-space:nowrap}.idash-gap-time-label{left:0;position:absolute;right:0}.idash-empty-day{color:#9e9e9e;font-size:15px;padding:60px 20px;text-align:center}.idash-day-grid-wrapper{display:flex;max-height:600px;overflow-y:auto}.idash-time-labels{border-right:1px solid #e0e0e0;min-width:80px;position:relative;width:80px}.idash-time-label{color:#9e9e9e;font-size:11px;position:absolute;right:8px;transform:translateY(-50%);white-space:nowrap}.idash-time-grid{flex:1 1;min-height:200px;position:relative}.idash-grid-line{height:1px;left:0;position:absolute;right:0}.idash-grid-line.hour-line{background:#e0e0e0}.idash-grid-line.half-hour-line{background:#f5f5f5}.idash-current-time{background:#e53935;height:2px;left:0;position:absolute;right:0;z-index:10}.idash-current-time:before{background:#e53935;border-radius:50%;content:"";height:10px;left:-5px;position:absolute;top:-4px;width:10px}.idash-slot-card{border-left:4px solid;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;font-size:12px;overflow:hidden;padding:6px 8px;position:absolute;transition:box-shadow .15s;z-index:2}.idash-slot-card:hover{box-shadow:0 4px 12px #00000026;z-index:5}.idash-slot-card.status-cancelled{opacity:.6;text-decoration:line-through}.idash-slot-card .slot-card-header{align-items:center;display:flex;gap:6px;justify-content:space-between}.idash-slot-card .slot-card-time{font-size:11px;font-weight:600;white-space:nowrap}.idash-slot-card .slot-status-badge{border-radius:8px;font-size:9px;font-weight:600;padding:1px 6px;text-transform:uppercase;white-space:nowrap}.idash-slot-card .slot-status-badge.planned{background:#e0e0e0;color:#616161}.idash-slot-card .slot-status-badge.pre-scheduled{background:#fff176;color:#f57f17}.idash-slot-card .slot-status-badge.scheduled{background:#90caf9;color:#0d47a1}.idash-slot-card .slot-status-badge.conducted{background:#a5d6a7;color:#1b5e20}.idash-slot-card .slot-status-badge.cancelled{background:#ef9a9a;color:#b71c1c}.idash-slot-card .slot-card-content{display:flex;flex:1 1;gap:12px;margin-top:4px;min-height:0}.idash-slot-card .slot-card-left{flex:1 1;line-height:1.3;min-width:0}.idash-slot-card .slot-card-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px;justify-content:space-between;max-width:180px;min-width:120px}.idash-slot-card .slot-card-topic{color:#424242;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-card-batches,.idash-slot-card .slot-card-template{color:#757575;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-card-batches{max-width:100%;text-align:right}.idash-slot-card .slot-card-agenda{color:#9e9e9e;font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-planned-vs-actual{grid-gap:0;border-top:1px solid #00000014;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 1fr;margin-top:4px;min-height:0}.idash-slot-card .slot-column{font-size:11px;line-height:1.4;overflow:hidden;padding:4px 6px}.idash-slot-card .slot-column.planned{border-right:1px solid #00000014}.idash-slot-card .slot-column-header{border-bottom:1px solid #0000000f;color:#9e9e9e;font-size:9px;font-weight:700;letter-spacing:.5px;margin-bottom:3px;padding-bottom:2px;text-transform:uppercase}.idash-slot-card .slot-column-row{color:#424242;display:flex;font-size:11px;gap:4px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-slot-card .slot-column-label{color:#9e9e9e;flex-shrink:0;font-size:10px}.idash-slot-card .slot-diff-highlight{background:#fff3e0;border-radius:2px;font-weight:600;padding:0 2px}.idash-slot-card .slot-diff-highlight span:not(.slot-column-label){color:#e65100}.idash-slot-card .slot-card-actions{border-top:1px solid #0000000f;margin-top:2px;padding-top:2px}.idash-slot-card .slot-attendance-badge{background:#388e3c;border-radius:8px;color:#fff;font-size:10px;font-weight:700;padding:1px 6px;position:absolute;right:6px;top:4px}.idash-slot-card .slot-lp-progress{align-items:center;display:flex;gap:6px;width:100%}.idash-slot-card .slot-lp-bar{background:#e0e0e0;border-radius:2px;flex:1 1;height:4px;overflow:hidden}.idash-slot-card .slot-lp-fill{background:#00897b;border-radius:2px;height:100%;transition:width .3s}.idash-slot-card .slot-lp-text{color:#00897b;font-size:10px;font-weight:600;white-space:nowrap}.idash-action-bar{display:flex;gap:4px;padding-top:4px}.idash-action-bar.compact{bottom:2px;gap:2px;position:absolute;right:4px}.idash-action-bar .action-btn{border:none;border-radius:4px;cursor:pointer;font-size:10px;font-weight:600;padding:2px 8px;transition:all .15s;white-space:nowrap}.idash-action-bar .action-btn.action-attendance{background:#e3f2fd;color:#1565c0}.idash-action-bar .action-btn.action-attendance:hover{background:#bbdefb}.idash-action-bar .action-btn.action-attendance.disabled{cursor:not-allowed;opacity:.4}.idash-action-bar .action-btn.action-lesson-plan{background:#e8f5e9;color:#2e7d32}.idash-action-bar .action-btn.action-lesson-plan:hover{background:#c8e6c9}.idash-action-bar .action-btn.action-zoom{background:#e3f2fd;color:#2d8cff}.idash-action-bar .action-btn.action-zoom:hover{background:#bbdefb}.idash-action-bar .action-btn.action-template{background:#f3e5f5;color:#7b1fa2}.idash-action-bar .action-btn.action-template:hover{background:#e1bee7}.idash-action-bar .action-btn.action-recorded-video{background:#e0f2fe;color:#0369a1}.idash-action-bar .action-btn.action-recorded-video:hover{background:#bae6fd}.idash-action-bar .action-btn.action-confirm{align-items:center;background:#16a34a;border-radius:999px;box-shadow:0 1px 2px #16a34a4d;color:#fff;display:inline-flex;gap:4px;padding:3px 10px}.idash-action-bar .action-btn.action-confirm:hover{background:#15803d}.idash-action-bar .action-btn.action-unconfirm{background:#fff3e0;border:1px solid #ffcc80;border-radius:999px;color:#b75d05;padding:3px 10px}.idash-action-bar .action-btn.action-unconfirm:hover{background:#b75d05;color:#fff}.idash-bulk-confirm-bar{align-items:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;display:flex;gap:14px;margin-bottom:12px;padding:10px 16px}.idash-bulk-confirm-bar .idash-bulk-select-all{align-items:center;color:#166534;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px}.idash-bulk-confirm-bar .idash-bulk-select-all input{cursor:pointer}.idash-bulk-confirm-bar .idash-bulk-count{color:#6b7280;font-size:12px}.idash-bulk-confirm-bar .idash-bulk-clear{background:none;border:none;color:#6b7280;cursor:pointer;font-size:12px;text-decoration:underline}.idash-bulk-confirm-bar .idash-bulk-clear:hover{color:#374151}.idash-bulk-confirm-bar .idash-bulk-confirm-btn{background:#16a34a;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-left:auto;padding:7px 16px;transition:background .15s}.idash-bulk-confirm-bar .idash-bulk-confirm-btn:hover:not(:disabled){background:#15803d}.idash-bulk-confirm-bar .idash-bulk-confirm-btn:disabled{cursor:not-allowed;opacity:.5}.agenda-slot-select{align-items:center;cursor:pointer;display:inline-flex;margin-bottom:4px}.agenda-slot-select input{cursor:pointer}.idash-week-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-week-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-week-title{color:#212121;font-size:18px;font-weight:600}.idash-week-grid-wrapper{display:grid;grid-template-columns:70px 1fr;grid-template-rows:auto 1fr;max-height:600px;overflow-y:auto}.idash-week-time-header{border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;grid-column:1;grid-row:1}.idash-week-day-headers{border-bottom:1px solid #e0e0e0;display:flex;grid-column:2;grid-row:1}.idash-week-time-labels{border-right:1px solid #e0e0e0;grid-column:1;grid-row:2;position:relative}.idash-week-day-header{cursor:pointer;flex:1 1;padding:10px 6px;text-align:center;transition:background .15s}.idash-week-day-header:hover{background:#fafafa}.idash-week-day-header.is-today{background:#ede7f6}.idash-week-day-header.is-today .day-date,.idash-week-day-header.is-today .day-name{color:#667eea}.idash-week-day-header .day-name{color:#9e9e9e;display:block;font-size:11px;font-weight:600;text-transform:uppercase}.idash-week-day-header .day-date{color:#424242;display:block;font-size:18px;font-weight:700}.idash-week-day-header .day-count{background:#667eea;border-radius:8px;color:#fff;display:inline-block;font-size:10px;margin-top:2px;padding:0 6px}.idash-week-time-grid{grid-column:2;grid-row:2;position:relative}.idash-week-col-sep{background:#f0f0f0;bottom:0;position:absolute;top:0;width:1px;z-index:1}.idash-week-current-time{background:#e53935;height:2px;position:absolute;z-index:10}.idash-week-slot-card{border-left:3px solid;border-radius:4px;cursor:pointer;font-size:10px;overflow:hidden;padding:3px 5px;position:absolute;transition:box-shadow .15s;z-index:2}.idash-week-slot-card:hover{box-shadow:0 3px 10px #00000026;z-index:5}.idash-week-slot-card.status-cancelled{opacity:.5;text-decoration:line-through}.idash-week-slot-card .week-slot-time{color:#424242;font-size:10px;font-weight:700}.idash-week-slot-card .week-slot-topic{color:#616161;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idash-week-slot-card .week-slot-batch{color:#9e9e9e;font-size:9px}.idash-week-slot-card .week-slot-attendance{background:#388e3c;border-radius:6px;color:#fff;font-size:9px;font-weight:700;padding:0 4px;position:absolute;right:4px;top:2px}.idash-month-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-month-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-month-title{color:#212121;font-size:20px;font-weight:600}.idash-month-weekday-headers{border-bottom:1px solid #e0e0e0;display:grid;grid-template-columns:repeat(7,1fr)}.idash-month-weekday-headers .idash-weekday-cell{color:#9e9e9e;font-size:12px;font-weight:600;padding:10px;text-align:center;text-transform:uppercase}.idash-month-grid{padding:4px}.idash-month-week-row{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.idash-month-day{border:2px solid #0000;border-radius:6px;cursor:pointer;min-height:80px;padding:6px;transition:all .15s}.idash-month-day.empty{background:#fafafa;cursor:default}.idash-month-day:not(.empty):hover{background:#f5f5f5}.idash-month-day.today{background:#ede7f6;border-color:#667eea}.idash-month-day.selected{border-color:#667eea;box-shadow:0 2px 8px #667eea33}.idash-month-day.day-conducted{background:#f1f8e9}.idash-month-day.day-scheduled{background:#e8f4fd}.idash-month-day.day-planned{background:#fafafa}.idash-month-day.day-cancelled{background:#fce4ec}.idash-month-day .day-num-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.idash-month-day .day-num{color:#424242;font-size:14px;font-weight:600}.idash-month-day .day-slot-count{background:#667eea;border-radius:8px;color:#fff;font-size:10px;font-weight:700;padding:0 6px}.idash-month-day .day-status-dots{display:flex;flex-wrap:wrap;gap:3px}.idash-month-day .status-dot{border-radius:50%;height:8px;width:8px}.idash-month-day .status-dot.planned{background:#bdbdbd}.idash-month-day .status-dot.pre-scheduled{background:#fbc02d}.idash-month-day .status-dot.scheduled{background:#1976d2}.idash-month-day .status-dot.conducted{background:#388e3c}.idash-month-day .status-dot.cancelled{background:#d32f2f}.idash-month-day .dot-more{color:#9e9e9e;font-size:9px}.idash-month-detail-strip{animation:idash-strip-slide .2s ease-out;background:#fff;border:2px solid #667eea;border-radius:8px;margin:4px 0;padding:12px 16px}.idash-month-detail-strip .strip-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.idash-month-detail-strip .strip-date{color:#212121;font-size:15px;font-weight:600}.idash-month-detail-strip .strip-count{color:#9e9e9e;font-size:13px;margin-left:12px}.idash-month-detail-strip .strip-actions{display:flex;gap:8px}.idash-month-detail-strip .strip-open-day{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px}.idash-month-detail-strip .strip-close{background:none;border:none;color:#9e9e9e;cursor:pointer;font-size:20px;padding:0 6px}.idash-month-detail-strip .strip-close:hover{color:#424242}.idash-month-detail-strip .strip-empty{color:#9e9e9e;font-size:14px;padding:16px;text-align:center}.idash-month-detail-strip .strip-slots{display:flex;flex-direction:column;gap:6px}.idash-month-detail-strip .strip-slot{align-items:center;border-left:3px solid;border-radius:6px;display:flex;font-size:13px;gap:12px;padding:8px 12px}.idash-month-detail-strip .strip-slot.status-planned{background:#f5f5f5;border-left-color:#bdbdbd}.idash-month-detail-strip .strip-slot.status-pre-scheduled{background:#fff9c4;border-left-color:#fbc02d}.idash-month-detail-strip .strip-slot.status-scheduled{background:#e3f2fd;border-left-color:#1976d2}.idash-month-detail-strip .strip-slot.status-conducted{background:#e8f5e9;border-left-color:#388e3c}.idash-month-detail-strip .strip-slot.status-cancelled{background:#ffebee;border-left-color:#d32f2f;opacity:.7}.idash-month-detail-strip .strip-slot-time{font-weight:600;min-width:100px;white-space:nowrap}.idash-month-detail-strip .strip-slot-topic{color:#424242;flex:1 1}.idash-month-detail-strip .strip-slot-status{border-radius:8px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.idash-month-detail-strip .strip-slot-status.planned{background:#e0e0e0;color:#616161}.idash-month-detail-strip .strip-slot-status.pre-scheduled{background:#fff176;color:#f57f17}.idash-month-detail-strip .strip-slot-status.scheduled{background:#90caf9;color:#0d47a1}.idash-month-detail-strip .strip-slot-status.conducted{background:#a5d6a7;color:#1b5e20}.idash-month-detail-strip .strip-slot-status.cancelled{background:#ef9a9a;color:#b71c1c}.idash-month-detail-strip .strip-slot-attendance{color:#388e3c;font-size:12px;font-weight:700}@keyframes idash-strip-slide{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.idash-agenda-view{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;overflow:hidden}.idash-agenda-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:16px 20px}.idash-agenda-title{color:#212121;font-size:18px;font-weight:600}.idash-agenda-count{color:#9e9e9e;font-size:13px}.idash-agenda-empty{color:#9e9e9e;font-size:15px;padding:60px 20px;text-align:center}.idash-agenda-table-header{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#757575;display:grid;font-size:12px;font-weight:600;grid-template-columns:140px 1fr 1fr;letter-spacing:.3px;padding:10px 16px;text-transform:uppercase}.idash-agenda-date-group{border-bottom:2px solid #e0e0e0;display:grid;grid-template-columns:140px 1fr}.idash-agenda-date-group:last-child{border-bottom:none}.agenda-date-cell{align-items:center;border-right:1px solid #e0e0e0;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:16px 12px;transition:background .15s}.agenda-date-cell:hover{background:#fafafa}.agenda-date-cell.is-today{background:#ede7f6}.agenda-date-cell.is-today .agenda-date-num{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;width:36px}.agenda-date-cell .agenda-date-num{color:#424242;font-size:24px;font-weight:700;line-height:1}.agenda-date-cell .agenda-date-day{color:#757575;font-size:13px;font-weight:600;margin-top:4px}.agenda-date-cell .agenda-date-month{color:#9e9e9e;font-size:12px;margin-top:2px}.agenda-slots-column{display:flex;flex-direction:column}.idash-agenda-slot-row{border-bottom:1px solid #f0f0f0;display:grid;grid-template-columns:1fr 1fr;min-height:80px}.idash-agenda-slot-row:last-child{border-bottom:none}.idash-agenda-slot-row.status-planned{border-left:3px solid #bdbdbd}.idash-agenda-slot-row.status-pre-scheduled{border-left:3px solid #fbc02d}.idash-agenda-slot-row.status-scheduled{border-left:3px solid #1976d2}.idash-agenda-slot-row.status-conducted{border-left:3px solid #388e3c}.idash-agenda-slot-row.status-cancelled{border-left:3px solid #d32f2f;opacity:.7}.agenda-conducted-cell,.agenda-planned-cell{font-size:13px;line-height:1.5;padding:10px 14px}.agenda-planned-cell{background:#fafafa;border-right:1px solid #e0e0e0}.agenda-conducted-cell{background:#fff}.agenda-conducted-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.agenda-conducted-action-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:#434bff;cursor:pointer;display:inline-flex;justify-content:center;padding:4px 6px;transition:background .15s ease}.agenda-conducted-action-btn:hover{background:#434bff1a}.agenda-conducted-action-btn:focus{outline:2px solid #434bff66;outline-offset:1px}.agenda-conducted-action-btn:disabled{cursor:not-allowed;opacity:.6}@keyframes idashSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.idash-spin{animation:idashSpin 1s linear infinite}.agenda-slot-time{color:#424242;font-size:13px;font-weight:600;margin-bottom:4px}.agenda-slot-batch{color:#1976d2;font-size:12px;font-weight:500;margin-bottom:2px}.agenda-slot-topic{color:#424242;font-size:13px;font-weight:600;margin-bottom:2px}.agenda-slot-instructor{color:#757575;font-size:12px;margin-bottom:2px}.agenda-slot-attendance{background:#e8f5e9;border-radius:4px;color:#388e3c;display:inline-block;font-size:12px;font-weight:600;margin-top:4px;padding:2px 8px}.agenda-slot-actions{margin-top:6px}.agenda-diff{background:#fff3e0;border-radius:3px;color:#e65100!important;font-weight:600;padding:1px 4px}.agenda-slot-not-conducted{align-items:flex-start;color:#9e9e9e;display:flex;flex-direction:column;gap:8px}.agenda-status-badge{border-radius:8px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.agenda-status-badge.planned{background:#e0e0e0;color:#616161}.agenda-status-badge.pre-scheduled{background:#fff176;color:#f57f17}.agenda-status-badge.scheduled{background:#90caf9;color:#0d47a1}.agenda-status-badge.conducted{background:#a5d6a7;color:#1b5e20}.agenda-status-badge.cancelled{background:#ef9a9a;color:#b71c1c}@media(max-width:768px){.idash-agenda-table-header{display:none}.idash-agenda-date-group{grid-template-columns:1fr}.agenda-date-cell{border-bottom:1px solid #e0e0e0;border-right:none;flex-direction:row;gap:12px;padding:10px 16px}.idash-agenda-slot-row{grid-template-columns:1fr}.agenda-planned-cell{border-bottom:1px solid #f0f0f0;border-right:none}.agenda-planned-cell:before{content:"PLANNED"}.agenda-conducted-cell:before,.agenda-planned-cell:before{color:#9e9e9e;display:block;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.agenda-conducted-cell:before{content:"CONDUCTED"}}.idash-lp-overview{background:#fff;border-radius:10px;box-shadow:0 1px 4px #00000014;padding:20px}.lp-progress-summary{margin-bottom:20px}.lp-progress-summary .lp-progress-label{color:#424242;font-size:14px;font-weight:600;margin-bottom:8px}.lp-progress-summary .lp-progress-bar{background:#e0e0e0;border-radius:5px;height:10px;margin-bottom:12px;overflow:hidden}.lp-progress-summary .lp-progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px;height:100%;transition:width .3s}.lp-progress-summary .lp-stat-chips{display:flex;gap:10px}.lp-progress-summary .lp-stat-chip{border-radius:12px;font-size:12px;font-weight:600;padding:4px 12px}.lp-progress-summary .lp-stat-chip.completed{background:#e8f5e9;color:#2e7d32}.lp-progress-summary .lp-stat-chip.in-progress{background:#e3f2fd;color:#1565c0}.lp-progress-summary .lp-stat-chip.not-started{background:#f5f5f5;color:#757575}.lp-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px}.lp-filter-tabs{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;padding:3px}.lp-filter-tab{background:#0000;border:none;border-radius:6px;color:#757575;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .2s}.lp-filter-tab.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#667eea}.lp-search{border:2px solid #e0e0e0;border-radius:6px;font-size:13px;padding:7px 14px;width:220px}.lp-search:focus{border-color:#667eea;outline:none}.lp-empty{color:#9e9e9e;font-size:14px;padding:40px;text-align:center}.lp-table{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.lp-table-header{background:#f5f5f5;color:#757575;font-size:12px;font-weight:600;letter-spacing:.3px;padding:10px 16px;text-transform:uppercase}.lp-table-header,.lp-table-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1.5fr 1fr 1.2fr}.lp-table-row{align-items:center;border-top:1px solid #f0f0f0;font-size:13px;padding:12px 16px;transition:background .15s}.lp-table-row:hover{background:#fafafa}.lp-col-name{color:#212121;font-weight:500}.lp-col-topic{color:#616161}.lp-col-batch{color:#9e9e9e}.lp-col-progress .lp-mini-progress{align-items:center;display:flex;gap:8px}.lp-col-progress .lp-mini-bar{background:#e0e0e0;border-radius:3px;flex:1 1;height:6px;overflow:hidden}.lp-col-progress .lp-mini-fill{border-radius:3px;height:100%}.lp-col-progress .lp-mini-fill.completed{background:#388e3c}.lp-col-progress .lp-mini-fill.in-progress{background:#1976d2}.lp-col-progress .lp-mini-fill.not-started{background:#bdbdbd}.lp-col-progress .lp-mini-text{color:#9e9e9e;font-size:11px;white-space:nowrap}.lp-status-chip{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px}.lp-status-chip.completed{background:#e8f5e9;color:#2e7d32}.lp-status-chip.in-progress{background:#e3f2fd;color:#1565c0}.lp-status-chip.not-started{background:#f5f5f5;color:#757575}.lp-open-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:transform .15s,box-shadow .15s}.lp-open-btn:hover{box-shadow:0 3px 10px #667eea4d;transform:translateY(-1px)}.idash-content{margin-top:4px}@media(max-width:768px){.instructor-dashboard{padding:12px}.idash-header{gap:12px}.idash-header,.idash-toolbar{align-items:flex-start;flex-direction:column}.idash-search,.idash-toolbar-right{width:100%}.idash-analytics-grid{grid-template-columns:repeat(2,1fr)}.lp-table-header,.lp-table-row{grid-template-columns:1fr 1fr 1fr}.lp-table-header .lp-col-batch,.lp-table-header .lp-col-progress,.lp-table-header .lp-col-topic,.lp-table-row .lp-col-batch,.lp-table-row .lp-col-progress,.lp-table-row .lp-col-topic{display:none}}:root{--bg-page:#f5f7fb;--bg-card:var(--surface-card);--bg-chip:var(--brand-primary-subtle);--bg-chip-alt:#e0f7f4;--accent:var(--brand-primary);--accent-soft:#dbeafe;--accent-strong:var(--brand-primary-hover);--border-subtle:var(--border-default);--text-main:var(--text-strong);--text-muted:var(--text-muted);--text-soft:var(--text-faint);--shadow-soft:0 14px 30px #0f172a14;--shadow-card:0 18px 30px rgba(var(--surface-inverse-rgb),0.18);--radius-card:18px;--radius-pill:999px}.schedule-list-container{background:radial-gradient(circle at top left,#e0f2fe 0,#f5f7fb 40%,var(--surface-card) 100%);margin:24px auto 48px;max-width:1200px;min-height:100vh;padding:24px}.schedule-list-header{margin-bottom:24px}.tabs-container{border-bottom:2px solid var(--border-default);display:flex;gap:8px;margin-bottom:20px;padding-bottom:0}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-muted);cursor:pointer;font-size:15px;font-weight:600;margin-bottom:-2px;padding:12px 24px;position:relative;transition:all .2s}.tab-button:hover{background:rgba(var(--brand-primary-rgb),.05);color:var(--brand-primary)}.tab-button.active{border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.search-filters{display:flex;gap:16px;margin-bottom:24px}.search-box{flex:1 1;max-width:500px}.schedules-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.schedule-card{background:#fff;border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:20px;transition:all .3s ease}.schedule-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.schedule-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.schedule-name{color:var(--text-strong);flex:1 1;font-size:18px;font-weight:600;margin:0}.batch-count-badge{background:var(--gradient-brand);border-radius:12px;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;white-space:nowrap}.schedule-dates{background:var(--surface-page);border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:12px}.date-item{display:flex;flex-direction:column;gap:4px}.date-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.date-value{color:var(--text-strong);font-size:14px;font-weight:500}.schedule-remarks{background:#fff5f5;border-left:3px solid #fc8181;border-radius:4px;margin-bottom:16px;padding:12px}.schedule-remarks p{color:var(--text-body);font-size:13px;line-height:1.5;margin:0}.schedule-actions{display:flex;gap:8px;margin-top:16px}.view-button{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s}.view-button:hover{box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.view-button:active{transform:translateY(0)}.schedule-detail-container{background:radial-gradient(circle at top left,#e0f2fe 0,#f5f7fb 40%,var(--surface-card) 100%);margin:24px auto 48px;max-width:1200px;min-height:100vh;padding:24px}.schedule-detail-header{background:radial-gradient(circle at top,#dbeafeb3,var(--surface-card) 42%);border:1px solid #94a3b82e;border-radius:18px;border-radius:var(--radius-card);box-shadow:0 14px 30px #0f172a14;box-shadow:var(--shadow-soft);margin-bottom:20px;overflow:hidden;padding:18px 20px;position:relative}.schedule-detail-header:before{background:radial-gradient(circle at top right,rgba(var(--brand-primary-rgb),.08),#0000 55%);content:"";inset:0;opacity:.8;pointer-events:none;position:absolute}.schedule-info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:20px}.info-item{background:var(--surface-page);border-radius:8px;padding:12px}.info-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.info-value{color:var(--text-strong);font-size:16px;font-weight:500}.activity-slots-section,.batches-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.section-title{align-items:center;color:var(--text-strong);display:flex;font-size:20px;font-weight:600;gap:8px;margin:0 0 16px}.batches-grid{display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}.batch-chip{align-items:center;background:var(--surface-card);border:1.5px solid var(--border-strong);border-radius:999px;border-radius:var(--radius-pill);color:var(--text-strong);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:all .15s ease;white-space:nowrap}.batch-chip:hover{background:linear-gradient(135deg,var(--status-info-bg),#bfdbfe);border-color:var(--brand-primary);box-shadow:0 4px 12px #3b82f633;color:var(--brand-primary-active);transform:translateY(-1px)}.chip-label{color:var(--text-strong);color:var(--text-main);font-weight:500}.chip-tag{background:var(--status-info-bg);border-radius:999px;border-radius:var(--radius-pill);color:var(--brand-primary-hover);font-size:10px;font-weight:500;letter-spacing:.03em;padding:3px 7px;text-transform:uppercase}.activity-slots-list{display:flex;flex-direction:column;gap:12px}.activity-slot-card{grid-column-gap:14px;background:linear-gradient(135deg,#eff6ffcc,var(--surface-card));border:1px solid #94a3b866;border-radius:18px;border-radius:var(--radius-card);box-shadow:0 18px 30px rgba(var(--surface-inverse-rgb),.18);box-shadow:var(--shadow-card);column-gap:14px;display:grid;grid-template-columns:6px minmax(0,1fr);margin-bottom:12px;overflow:hidden;padding:14px 18px 14px 16px;position:relative;transition:all .18s ease}.activity-slot-card:before{background:radial-gradient(circle at top left,rgba(var(--brand-primary-rgb),.12),#0000 60%);content:"";inset:0;opacity:.9;pointer-events:none;position:absolute}.activity-slot-card:hover{box-shadow:0 20px 35px #0f172a38;transform:translateY(-2px)}.slot-bar{background:linear-gradient(180deg,var(--brand-primary),var(--status-success));border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 0 0 1px #0f172a1a,0 0 0 6px #3b82f614;margin:4px 0}.slot-bar,.slot-content{position:relative;z-index:1}.slot-content{display:flex;flex-direction:column;gap:8px}.slot-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:.75rem}.slot-name{color:var(--text-strong);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.4;margin:0}.slot-status-badge{border:none;border-radius:999px;border-radius:var(--radius-pill);box-shadow:0 2px 8px #00000026;font-size:11px;font-weight:700;letter-spacing:.08em;padding:6px 12px;text-transform:uppercase;white-space:nowrap}.slot-status-scheduled{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary));color:var(--text-on-brand)}.slot-status-conducted{background:linear-gradient(135deg,var(--status-success),var(--status-success));color:var(--text-on-brand)}.slot-status-cancelled{background:linear-gradient(135deg,var(--status-danger),var(--status-danger));color:var(--text-on-brand)}.slot-details{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:4px}.slot-detail-item{align-items:center;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:999px;border-radius:var(--radius-pill);color:var(--text-strong);display:inline-flex;font-size:12px;gap:6px;padding:4px 9px}.slot-detail-item.time{background:var(--surface-inverse);border-color:#0000;box-shadow:0 10px 18px #0f172a80;color:#e5e7eb}.slot-detail-item.time .slot-detail-label{color:var(--text-faint)}.slot-detail-item.time .slot-detail-value{color:#f9fafb}.slot-detail-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.slot-detail-value{color:var(--text-strong);font-weight:600}.slot-batches{margin-top:6px}.slot-batches-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.12em;margin-bottom:4px;text-transform:uppercase}.slot-batch-tags{display:flex;flex-wrap:wrap;gap:6px}.slot-batch-tag{align-items:center;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:999px;border-radius:var(--radius-pill);color:var(--text-strong);display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:5px 10px}.cohort-dot{background:var(--status-success);border-radius:999px;border-radius:var(--radius-pill);height:8px;width:8px}.slot-id{color:var(--text-faint);font-family:Courier New,monospace;font-size:9px;margin-top:8px;opacity:.6;text-align:right;-webkit-user-select:all;user-select:all}.slot-id:hover{color:var(--text-muted);opacity:1}.empty-state{color:var(--text-muted);padding:40px 20px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:12px}.view-mode-selector{background:rgba(var(--surface-inverse-rgb),.02);border:1px solid #94a3b8a6;border-radius:999px;border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px #ffffff80;display:inline-flex;padding:3px}.view-mode-btn{align-items:center;background:#0000;border:none;border-radius:999px;border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:all .16s ease}.view-mode-btn span.icon{font-size:14px}.view-mode-btn.active{background:var(--surface-card);box-shadow:0 8px 18px #0f172a1f;color:var(--text-strong)}.view-mode-btn:not(.active):hover{background:#fff9;color:var(--text-strong)}.view-icon{font-size:14px}.grid-view{background:radial-gradient(circle at top,#dbeafeb3,var(--surface-card) 42%);border:1px solid #94a3b82e;border-radius:18px;border-radius:var(--radius-card);box-shadow:0 14px 30px #0f172a14;box-shadow:var(--shadow-soft);overflow:hidden;padding:16px 18px 18px;position:relative}.grid-view:before{background:radial-gradient(circle at top right,rgba(var(--brand-primary-rgb),.08),#0000 55%);content:"";inset:0;opacity:.8;pointer-events:none;position:absolute}.week-navigation{align-items:center;background:#ffffffb3;border:1px solid #94a3b833;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:14px;padding:10px 14px;position:relative;z-index:1}.week-nav-btn{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd9;border:1px solid var(--border-subtle);border-radius:999px;border-radius:var(--radius-pill);color:var(--text-muted);display:inline-flex;font-weight:500;gap:8px;padding:8px 16px;transition:all .18s ease}.week-nav-btn:hover{border-color:#dbeafe;border-color:var(--accent-soft);box-shadow:0 10px 20px #0f172a0f;color:var(--brand-primary-hover);color:var(--accent-strong);transform:translateY(-1px)}.week-display{align-items:center;background:var(--status-info-bg);border-radius:999px;border-radius:var(--radius-pill);color:var(--brand-primary-hover);display:inline-flex;font-size:12px;font-weight:500;gap:8px;padding:4px 10px}.week-icon{font-size:14px}.week-text{font-size:12px}.grid-empty-state{background:var(--surface-page);border-radius:8px;color:var(--text-muted);grid-column:1/-1;margin:1rem;padding:3rem;text-align:center}.grid-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:visible}.grid-scroll-wrapper::-webkit-scrollbar{height:8px}.grid-scroll-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.grid-scroll-wrapper::-webkit-scrollbar-thumb{background:#2c5282;border-radius:4px}.grid-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#2b6cb0}.grid-container{grid-gap:1px;background:var(--surface-sunken);border-radius:8px;display:grid;gap:1px;grid-template-columns:180px repeat(7,1fr);min-width:800px}.grid-body,.grid-header,.grid-row{display:contents}.grid-cell{align-items:center;background:#fff;display:flex;justify-content:center;min-height:60px;padding:1rem}.date-header,.time-header{background:linear-gradient(135deg,#1e3a8a 0,var(--brand-primary-active) 100%);box-shadow:0 2px 4px #0000001a;color:var(--text-on-brand);font-size:.95rem;font-weight:700;min-height:auto;padding:1rem .75rem;text-align:center;white-space:nowrap}.time-cell{align-items:flex-start;background:var(--surface-page);border-right:2px solid var(--border-default);color:var(--text-strong);flex-direction:column;font-weight:700;gap:.25rem;justify-content:center;left:0;position:sticky;z-index:1}.time-cell .time-icon{font-size:1rem;opacity:.8}.time-cell .time-range{color:var(--text-strong);font-size:.875rem;font-weight:600}.slot-cell{align-items:stretch;background:var(--surface-page);padding:.5rem}.compact-slot-card,.slot-cell{flex-direction:column;gap:.5rem}.compact-slot-card{background:#fff;border-left:4px solid #2c5282;border-radius:8px;box-shadow:0 2px 4px #0000000d;cursor:pointer;display:flex;padding:.75rem;position:relative;transition:all .2s ease}.compact-slot-card:hover{box-shadow:0 4px 8px #0000001a}.compact-slot-card.slot-status-conducted{background:#f0fff4;border-left-color:#38a169}.compact-slot-card.slot-status-cancelled{background:#fff5f5;border-left-color:#e53e3e;opacity:.8}.compact-slot-card.slot-status-scheduled{background:#fff;border-left-color:#2c5282}.compact-topic{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-strong);display:-webkit-box;font-size:.9rem;font-weight:700;line-height:1.3;overflow:hidden}.compact-detail{align-items:center;color:var(--text-strong);display:flex;font-size:.8rem;gap:.375rem}.compact-detail .detail-icon{font-size:.875rem;opacity:.8}.compact-detail .detail-text{color:var(--text-strong);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-batches{display:flex;flex-wrap:wrap;gap:.25rem}.compact-batch-tag{background:linear-gradient(135deg,var(--brand-primary-active) 0,var(--brand-primary-hover) 100%);border-radius:12px;box-shadow:0 1px 3px #0003;color:#fff;font-size:.7rem;font-weight:700;padding:.3rem .6rem;white-space:nowrap}.compact-batch-more{background:var(--surface-sunken);border-radius:12px;color:var(--text-body);font-size:.625rem;font-weight:600;padding:.25rem .5rem}.compact-status-badge{border-radius:2px;box-shadow:0 1px 2px #0000001a;font-size:.4rem;font-weight:700;letter-spacing:.01em;padding:.1rem .3rem;position:absolute;right:.25rem;text-transform:uppercase;top:.25rem}.compact-status-badge.slot-status-scheduled{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary));color:#fff}.compact-status-badge.slot-status-conducted{background:linear-gradient(135deg,var(--status-success),var(--status-success));color:#fff}.compact-status-badge.slot-status-cancelled{background:linear-gradient(135deg,var(--status-danger),var(--status-danger));color:#fff}.compact-slot-card[draggable=true]{cursor:grab!important;transition:all .2s ease}.compact-slot-card[draggable=true]:active{cursor:grabbing!important}.grid-cell.slot-cell.drag-over{background-color:rgba(var(--brand-primary-rgb),.1);border:2px dashed var(--brand-primary);box-shadow:inset 0 0 10px #667eea33;transition:all .2s ease}.compact-slot-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}@media (max-width:768px){.schedule-info-grid,.schedules-grid,.slot-details{grid-template-columns:1fr}.grid-view{padding:.5rem}.grid-container{grid-template-columns:120px repeat(7,1fr);min-width:600px}.view-mode-selector{flex-direction:column}}.slot-edit-panel{bottom:0;left:0;opacity:0;pointer-events:none;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:9999}.slot-edit-panel.open{opacity:1;pointer-events:all}.slot-edit-panel-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.slot-edit-panel.open .slot-edit-panel-overlay{opacity:1}.slot-edit-panel-content{background:var(--surface-card);bottom:0;box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;max-width:90vw;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:420px}.slot-edit-panel.open .slot-edit-panel-content{transform:translateX(0)}.slot-edit-panel-header{align-items:flex-start;background:var(--gradient-brand);color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.slot-edit-panel-header h6{color:#fff;margin:0}.slot-edit-panel-header button{color:#fff}.slot-edit-panel-header button:hover{background:#ffffff1a}.slot-edit-panel-body{flex:1 1;overflow-y:auto;padding:24px}.slot-edit-panel-body::-webkit-scrollbar{width:8px}.slot-edit-panel-body::-webkit-scrollbar-track{background:#f1f1f1}.slot-edit-panel-body::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.slot-edit-panel-body::-webkit-scrollbar-thumb:hover{background:#a0aec0}.slot-edit-panel-footer{align-items:center;background:var(--surface-page);border-top:1px solid var(--border-default);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@media (max-width:768px){.slot-edit-panel-content{max-width:100vw;width:100vw}}@media (prefers-reduced-motion:no-preference){.slot-edit-panel-content{transition:transform .35s cubic-bezier(.4,0,.2,1)}}@media (prefers-reduced-motion:reduce){.slot-edit-panel,.slot-edit-panel-content,.slot-edit-panel-overlay{transition:none}}.slot-status-menu{z-index:10001!important}.dialog-backdrop{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.propagate-dialog{animation:slideUp .3s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;left:50%;max-width:500px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1001}.dialog-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:20px 24px}.dialog-header h3{color:var(--text-strong);font-size:18px;font-weight:600;margin:0}.dialog-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.dialog-close-btn:hover{background-color:var(--surface-page);color:var(--text-strong)}.dialog-content{padding:24px}.slot-name-display{background-color:var(--surface-page);border-left:4px solid var(--brand-primary);border-radius:8px;color:var(--text-strong);margin:0 0 20px;padding:12px}.slot-name-display strong{color:var(--brand-primary);font-weight:600}.propagate-option{margin:20px 0}.propagate-dialog .checkbox-label{align-items:flex-start;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.propagate-dialog .checkbox-label input[type=checkbox]{accent-color:var(--brand-primary);cursor:pointer;height:18px;margin-right:10px;margin-top:3px;width:18px}.checkbox-label span{color:var(--text-strong);font-size:15px;line-height:1.5}.weeks-input-section{animation:slideDown .2s ease-out;background-color:var(--surface-page);border-radius:8px;margin-top:16px;padding:16px}.weeks-input-section label{color:var(--text-strong);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.weeks-input{border:1px solid #cbd5e0;border-radius:6px;font-size:14px;margin-top:8px;padding:10px 12px;transition:all .2s;width:100%}.weeks-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea1a;outline:none}.help-text{color:var(--text-muted);font-size:13px;line-height:1.4;margin:8px 0 0}.dialog-actions{border-top:1px solid var(--border-default);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.dialog-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.propagate-dialog .cancel-btn{background-color:var(--surface-page);color:var(--text-body)}.propagate-dialog .cancel-btn:hover{background-color:var(--surface-sunken)}.confirm-btn{background-color:var(--brand-primary);color:#fff}.confirm-btn:hover:not(:disabled){background-color:#5568d3;box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.dialog-btn:disabled{cursor:not-allowed;opacity:.6}.propagate-dialog .spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:8px;vertical-align:middle;width:14px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:200px;opacity:1}}:root{--bg:#050816;--card-bg:#0e1624;--accent:#00c896;--accent-soft:#00c89626;--border-subtle:#ffffff14;--text-main:#f5f7fa;--text-muted:#a7b3c7;--danger:#ff4d4f;--warning:#ffb020;--info:#3ea6ff;--success:#33c47d}*{box-sizing:border-box}.display-board-container{background:radial-gradient(circle at top,#162447 0,#050816 48%,#02040a 100%);color:#f5f7fa;color:var(--text-main);display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0;min-height:100vh;padding:0}.display-header{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(90deg,#000000b3,#061128f2);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:16px 32px}.display-header-left{display:flex;flex-direction:column;gap:4px}.display-title{font-size:1.6rem;font-weight:600;letter-spacing:.04em;margin:0;text-transform:uppercase}.display-subtitle{margin:0}.display-header-right,.display-subtitle{color:#a7b3c7;color:var(--text-muted);font-size:.9rem}.display-header-right{align-items:center;display:flex;gap:16px}.display-pill{align-items:center;background:#08142eb3;border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:999px;display:inline-flex;gap:6px;padding:4px 10px}.display-pill-dot{animation:pulse 2s ease-in-out infinite;background:#00c896;background:var(--accent);border-radius:50%;box-shadow:0 0 6px #00c896cc;height:8px;width:8px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.display-time-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.display-clock{color:#f5f7fa;color:var(--text-main);font-size:1rem;font-weight:600}.display-date{color:#a7b3c7;color:var(--text-muted);font-size:.78rem}.display-filters{align-items:center;color:#a7b3c7;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:12px;justify-content:space-between;padding:12px 32px 4px}.display-filters-left,.display-filters-right{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.display-filter-item{display:flex;flex-direction:column;gap:2px}.filter-label{color:#a7b3c7;color:var(--text-muted);font-size:.75rem;letter-spacing:.08em;opacity:.8;text-transform:uppercase}.filter-value{color:#00c896;color:var(--accent);font-weight:500}.display-legend{display:flex;flex-wrap:wrap;gap:10px}.legend-item{align-items:center;display:inline-flex;font-size:.85rem;gap:6px}.legend-dot{border-radius:50%;height:10px;width:10px}.legend-dot.ontime{background:#33c47d;background:var(--success)}.legend-dot.ongoing{background:#3ea6ff;background:var(--info)}.legend-dot.delayed{background:#ffb020;background:var(--warning)}.legend-dot.completed{background:#6b7280}.legend-dot.cancelled{background:#ff4d4f;background:var(--danger)}.display-board-wrapper{flex:1 1;padding:8px 32px 24px}.display-board-card{background:radial-gradient(circle at top left,#1a2a4b 0,#050816 55%);border:1px solid #ffffff14;border:1px solid var(--border-subtle);border-radius:18px;box-shadow:0 18px 40px #000000a6;display:flex;flex-direction:column;height:calc(100vh - 140px);overflow:hidden}.display-board-header-row{align-items:center;background:linear-gradient(90deg,#0006,#0a2540e6);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);color:#a7b3c7;color:var(--text-muted);display:flex;font-size:.85rem;justify-content:space-between;padding:12px 16px}.display-board-header-row span strong{color:#f5f7fa;color:var(--text-main)}.display-board-stats{display:flex;gap:16px}.display-scroll-area{flex:1 1;overflow:hidden;position:relative}.display-table-container{height:100%;overflow-y:auto;scrollbar-color:#00c89626 #0000;scrollbar-color:var(--accent-soft) #0000;scrollbar-width:thin;width:100%}.display-table-container::-webkit-scrollbar{width:8px}.display-table-container::-webkit-scrollbar-track{background:#0000}.display-table-container::-webkit-scrollbar-thumb{background:#00c89626;background:var(--accent-soft);border-radius:999px}.display-table{border-collapse:collapse;font-size:.95rem;table-layout:fixed;width:100%}.display-table thead{position:sticky;top:0;z-index:2}.display-table thead tr{background:#071430f2}.display-table th{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border-subtle);color:#a7b3c7;color:var(--text-muted);font-size:.75rem;letter-spacing:.12em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.display-table tbody tr{border-bottom:1px solid #94a3b829;transition:background .2s ease}.display-table tbody tr:nth-child(2n){background:rgba(var(--surface-inverse-rgb),.75)}.display-table tbody tr:nth-child(odd){background:#020617d9}.display-table tbody tr:hover{background:#1e40af59}.display-table td{overflow:hidden;padding:10px 12px;text-overflow:ellipsis;white-space:nowrap}.col-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:130px}.col-room{font-weight:600;width:110px}.col-building{width:140px}.col-topic{width:280px}.col-instructor{width:200px}.col-cohort{width:160px}.col-status{width:130px}.time-range{display:flex;flex-direction:column;font-size:.88rem;gap:2px}.time-range span:first-child{font-weight:600}.time-meta{color:#a7b3c7;color:var(--text-muted);font-size:.75rem}.room-tag{align-items:center;background:#0f766e33;border:1px solid #2dd4bfa6;border-radius:999px;display:inline-flex;font-size:.85rem;gap:6px;padding:4px 10px}.room-tag-badge{background:#00c896;background:var(--accent);border-radius:50%;height:8px;width:8px}.room-tag.warning{background:#f8b5002e;border-color:#f8b500f2}.room-tag.warning .room-tag-badge{background:#ffb020;background:var(--warning)}.topic-display{display:flex;flex-direction:column;gap:2px}.topic-code{font-size:.88rem;font-weight:600}.topic-name{color:#a7b3c7;color:var(--text-muted);font-size:.85rem}.instructor-display{display:flex;flex-direction:column;gap:2px}.instructor-name{font-size:.88rem;font-weight:500}.instructor-id{color:#a7b3c7;color:var(--text-muted);font-size:.78rem}.cohort-display{font-size:.9rem;font-weight:500}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:.8rem;font-weight:600;justify-content:center;letter-spacing:.08em;padding:4px 10px;text-transform:uppercase}.status-ontime{background:#22c55e29;border:1px solid #22c55ecc;color:#bbf7d0}.status-ongoing{background:rgba(var(--brand-primary-rgb),.2);border:1px solid rgba(var(--brand-primary-rgb),.9);color:#bfdbfe}.status-delayed{background:#f8b50033;border:1px solid #f8b500e6;color:#fef3c7}.status-completed{background:#94a3b82e;border:1px solid #94a3b8e6;color:#e5e7eb}.status-cancelled{background:#f8717133;border:1px solid #f87171f2;color:#fee2e2}.display-footer{align-items:center;color:#a7b3c7;color:var(--text-muted);display:flex;font-size:.8rem;justify-content:space-between;padding:8px 32px 14px}.display-ticker{max-width:60%;overflow:hidden;position:relative;white-space:nowrap}.display-ticker span{animation:ticker 26s linear infinite;position:absolute}@keyframes ticker{0%{transform:translateX(100%)}to{transform:translateX(-120%)}}.display-branding{font-weight:500}.display-branding strong{color:#f5f7fa;color:var(--text-main)}.display-loading{color:#a7b3c7;color:var(--text-muted);font-size:1.2rem}.display-empty,.display-loading{align-items:center;display:flex;height:100%;justify-content:center}.display-empty{flex-direction:column;gap:12px}.display-empty-icon{font-size:3rem;opacity:.5}.display-empty-text{color:#a7b3c7;color:var(--text-muted);font-size:1.1rem}.display-error{align-items:center;color:#ff4d4f;color:var(--danger);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center}.display-error-icon{font-size:3rem}.display-error-text{font-size:1.1rem}@media (max-width:1024px){.display-board-card{height:auto}.display-filters{align-items:flex-start;flex-direction:column;gap:6px;padding:8px 16px}.display-board-wrapper{padding:8px 16px 16px}.display-header{padding:12px 16px}.display-table td,.display-table th{font-size:.85rem;padding:8px}.col-instructor,.col-topic{width:220px}}.fade-in{animation:fadeIn .3s ease-in}.fade-out{animation:fadeOut .3s ease-out}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.display-page-indicator{align-items:center;background:linear-gradient(90deg,#0006,#0a254099);border-top:1px solid #ffffff14;border-top:1px solid var(--border-subtle);display:flex;gap:16px;justify-content:center;padding:12px 32px}.page-dots{align-items:center;display:flex;gap:8px}.page-dot{background:#ffffff4d;border-radius:50%;height:8px;transition:all .3s ease;width:8px}.page-dot.active{background:#00c896;background:var(--accent);box-shadow:0 0 8px #00c896cc;height:12px;width:12px}.page-text{color:#a7b3c7;color:var(--text-muted);font-size:.85rem;font-weight:500;letter-spacing:.05em}.schedules-templates-page{margin:0 auto;max-width:1400px;padding:24px}.schedules-templates-page .stt-tabs-bar{align-items:flex-end;border-bottom:2px solid #e0e0e0;display:flex;gap:0;margin-bottom:24px}.schedules-templates-page .stt-tabs-bar .stt-create-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-bottom:8px;margin-left:auto;padding:10px 20px;transition:transform .2s,box-shadow .2s}.schedules-templates-page .stt-tabs-bar .stt-create-btn:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedules-templates-page .stt-tabs-bar .stt-tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;font-size:15px;font-weight:500;margin-bottom:-2px;padding:10px 24px;transition:color .2s,border-color .2s}.schedules-templates-page .stt-tabs-bar .stt-tab-btn:hover{color:#333}.schedules-templates-page .stt-tabs-bar .stt-tab-btn.active{border-bottom-color:#667eea;color:#667eea;font-weight:600}.schedules-templates-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.schedules-templates-page .page-header h1{color:#212121;font-size:28px;font-weight:600;margin:0}.schedules-templates-page .page-header .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:transform .2s,box-shadow .2s}.schedules-templates-page .page-header .btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedules-templates-page .page-header .btn-timecraft{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;box-shadow:0 4px 15px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:transform .2s,box-shadow .2s}.schedules-templates-page .page-header .btn-timecraft:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedules-templates-page .stt-filters-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;margin-bottom:24px;padding:24px}.schedules-templates-page .stt-filters-panel .filter-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:16px}.schedules-templates-page .stt-filters-panel .filter-grid .filter-field label{color:#424242;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.schedules-templates-page .stt-filters-panel .filter-grid .filter-field input,.schedules-templates-page .stt-filters-panel .filter-grid .filter-field select{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.schedules-templates-page .stt-filters-panel .filter-grid .filter-field input:focus,.schedules-templates-page .stt-filters-panel .filter-grid .filter-field select:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.schedules-templates-page .stt-filters-panel .filter-actions{display:flex;gap:12px}.schedules-templates-page .stt-filters-panel .filter-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.schedules-templates-page .stt-filters-panel .filter-actions button.btn-search{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.schedules-templates-page .stt-filters-panel .filter-actions button.btn-search:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedules-templates-page .stt-filters-panel .filter-actions button.btn-clear{background:#f5f5f5;color:#757575}.schedules-templates-page .stt-filters-panel .filter-actions button.btn-clear:hover{background:#e0e0e0}.schedules-templates-page .templates-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;overflow-x:auto}.schedules-templates-page .templates-table-container .loading{color:#757575;padding:48px;text-align:center}.schedules-templates-page .templates-table-container .templates-table{border-collapse:collapse;width:100%}.schedules-templates-page .templates-table-container .templates-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.schedules-templates-page .templates-table-container .templates-table thead th{border:none;font-size:14px;font-weight:600;padding:16px;text-align:left;white-space:nowrap}.schedules-templates-page .templates-table-container .templates-table thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.schedules-templates-page .templates-table-container .templates-table thead th.sortable:hover{background:#ffffff1a}.schedules-templates-page .templates-table-container .templates-table thead th .sort-indicator{font-size:12px;opacity:.4}.schedules-templates-page .templates-table-container .templates-table thead th .sort-indicator.active{opacity:1}.schedules-templates-page .templates-table-container .templates-table tbody tr{border-bottom:1px solid #e0e0e0;cursor:pointer;transition:all .2s ease}.schedules-templates-page .templates-table-container .templates-table tbody tr:hover{background:#f5f5f5;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.schedules-templates-page .templates-table-container .templates-table tbody tr:last-child{border-bottom:none}.schedules-templates-page .templates-table-container .templates-table tbody tr td{font-size:14px;padding:16px;vertical-align:middle;white-space:nowrap}.schedules-templates-page .templates-table-container .templates-table tbody tr td.no-data{color:#9e9e9e;padding:48px;text-align:center}.schedules-templates-page .templates-table-container .templates-table tbody tr td:nth-child(2){max-width:360px;white-space:normal;word-break:break-word}.schedules-templates-page .templates-table-container .templates-table tbody tr td:nth-child(6){max-width:260px;white-space:normal;word-break:break-word}.schedules-templates-page .templates-table-container .templates-table .status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.schedules-templates-page .templates-table-container .templates-table .status-badge.active{background:#e8f5e9;color:#2e7d32}.schedules-templates-page .templates-table-container .templates-table .status-badge.inactive{background:#ffebee;color:#c62828}.schedules-templates-page .templates-table-container .templates-table .action-buttons{display:flex;gap:8px}.schedules-templates-page .templates-table-container .templates-table .action-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-view{background:#e3f2fd;color:#1976d2}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-view:hover{background:#1976d2;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-attendance{background:#e3f2fd;color:#1565c0}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-attendance:hover{background:#1565c0;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-edit{background:#fff3e0;color:#f57c00}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-edit:hover{background:#f57c00;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-schedule{background:#ede7f6;color:#6a1b9a}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-schedule:hover{background:#6a1b9a;color:#fff}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-delete{background:#ffebee;color:#d32f2f}.schedules-templates-page .templates-table-container .templates-table .action-buttons button.btn-delete:hover{background:#d32f2f;color:#fff}.schedules-templates-page .templates-table-container .pagination{align-items:center;border-top:1px solid #e0e0e0;display:flex;gap:16px;justify-content:center;padding:16px}.schedules-templates-page .templates-table-container .pagination button{background:#fff;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;padding:8px 16px;transition:all .2s}.schedules-templates-page .templates-table-container .pagination button:hover:not(:disabled){background:#f5f5f5;border-color:#1976d2}.schedules-templates-page .templates-table-container .pagination button:disabled{cursor:not-allowed;opacity:.5}.schedules-templates-page .templates-table-container .pagination span{color:#616161;font-size:14px}.template-detail-page{margin:0 auto;max-width:1200px;padding:24px}.template-detail-page .detail-header{align-items:center;background:#f8f9fa;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px;padding:12px 0;position:sticky;top:0;z-index:100}.template-detail-page .detail-header h1{color:#212121;font-size:24px;font-weight:600;margin:0}.template-detail-page .detail-header .header-actions{display:flex;gap:12px}.template-detail-page .detail-header .header-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.template-detail-page .detail-header .header-actions button.btn-back{background:#f5f5f5;color:#616161}.template-detail-page .detail-header .header-actions button.btn-back:hover{background:#e0e0e0}.template-detail-page .detail-header .header-actions button.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.template-detail-page .detail-header .header-actions button.btn-save:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.template-detail-page .detail-header .header-actions button.btn-extend{background:#e8f5e9;color:#2e7d32}.template-detail-page .detail-header .header-actions button.btn-extend:hover{background:#2e7d32;box-shadow:0 4px 12px #2e7d324d;color:#fff;transform:translateY(-2px)}.template-detail-page .detail-header .header-actions button.btn-publish{background:#2e7d32;color:#fff}.template-detail-page .detail-header .header-actions button.btn-publish:hover{background:#1b5e20;box-shadow:0 4px 12px #2e7d3259;transform:translateY(-2px)}.template-detail-page .detail-header .header-actions button.btn-unpublish{background:#fff3e0;border:1px solid #ffcc80;color:#b75d05}.template-detail-page .detail-header .header-actions button.btn-unpublish:hover{background:#b75d05;box-shadow:0 4px 12px #b75d054d;color:#fff;transform:translateY(-2px)}.template-detail-page .detail-header .header-title-block{display:flex;flex-direction:column;gap:6px}.template-detail-page .detail-header .header-title-block .header-status-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.template-detail-page .detail-header .publish-badge{align-items:center;border:1px solid #0000;border-radius:12px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.4px;padding:3px 10px;text-transform:uppercase}.template-detail-page .detail-header .publish-badge.publish-draft{background:#f5f5f5;border-color:#bdbdbd;color:#616161}.template-detail-page .detail-header .publish-badge.publish-published{background:#c8e6c9;border-color:#66bb6a;color:#1b5e20}.template-detail-page .detail-header .publish-badge.publish-unpublished{background:#ffe0b2;border-color:#ffcc80;color:#b75d05}.template-detail-page .detail-header .confirmation-summary{color:#616161;font-size:12px;font-weight:500}.template-detail-page .confirmation-pill{align-items:center;align-self:center;border-radius:3px;display:inline-flex;font-size:9px;font-weight:700;letter-spacing:.5px;margin-left:6px;padding:1px 8px}.template-detail-page .confirmation-pill.confirmed{background:#c8e6c9;border:1px solid #66bb6a;color:#1b5e20}.template-detail-page .confirmation-pill.pending{background:#fff3e0;border:1px solid #ffcc80;color:#b75d05}.template-detail-page .rollback-panel{padding:8px 0}.template-detail-page .rollback-panel .rollback-tabs{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;gap:4px;margin-bottom:12px}.template-detail-page .rollback-panel .rollback-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#616161;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px}.template-detail-page .rollback-panel .rollback-tabs button.active{border-bottom-color:#667eea;color:#1f2a44}.template-detail-page .rollback-panel .rollback-tabs button:hover{color:#1f2a44}.template-detail-page .rollback-panel .rollback-tabs .rollback-help-trigger{align-items:center;background:#f6f7ff;border:1px solid #d6daf6;border-radius:14px;color:#667eea;display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-left:auto;padding:5px 12px 5px 10px}.template-detail-page .rollback-panel .rollback-tabs .rollback-help-trigger .rollback-help-icon{flex-shrink:0}.template-detail-page .rollback-panel .rollback-tabs .rollback-help-trigger:hover{background:#667eea;border-color:#667eea;color:#fff}.template-detail-page .rollback-panel .rollback-body{display:flex;flex-direction:column;gap:8px}.template-detail-page .rollback-panel .rollback-hint{background:#f5f5f5;border-radius:6px;color:#757575;font-size:12px;padding:8px 12px}.template-detail-page .rollback-panel .rollback-hint kbd{background:#fff;border:1px solid #bdbdbd;border-radius:3px;color:#1f2a44;font-family:inherit;font-size:11px;font-weight:600;padding:1px 6px}.template-detail-page .rollback-panel .rollback-empty{color:#9e9e9e;padding:16px;text-align:center}.template-detail-page .rollback-panel .rollback-loading{color:#757575;padding:12px}.template-detail-page .rollback-panel .rollback-toolbar{padding-bottom:6px}.template-detail-page .rollback-panel .rollback-toolbar .rollback-create{background:#667eea;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.template-detail-page .rollback-panel .rollback-toolbar .rollback-create:hover{background:#5468d4}.template-detail-page .rollback-panel .rollback-change,.template-detail-page .rollback-panel .rollback-snapshot,.template-detail-page .rollback-panel .rollback-version{align-items:flex-start;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;gap:8px;justify-content:space-between;padding:10px 12px}.template-detail-page .rollback-panel .rollback-change.reverted{background:#fafafa;opacity:.55}.template-detail-page .rollback-panel .rollback-change-summary,.template-detail-page .rollback-panel .rollback-snapshot-name,.template-detail-page .rollback-panel .rollback-version-name{color:#1f2a44;font-size:13px;font-weight:600}.template-detail-page .rollback-panel .rollback-change-meta,.template-detail-page .rollback-panel .rollback-snapshot-meta,.template-detail-page .rollback-panel .rollback-version-meta{color:#757575;font-size:11px;margin-top:2px}.template-detail-page .rollback-panel .rollback-snapshot-desc,.template-detail-page .rollback-panel .rollback-version-desc{color:#424242;font-size:12px;margin-top:4px}.template-detail-page .rollback-panel .rollback-batch-count{color:#757575;font-size:11px;font-weight:400}.template-detail-page .rollback-panel .rollback-reverted-tag{color:#b75d05;font-weight:600}.template-detail-page .rollback-panel .rollback-snapshot-type{color:#757575;font-size:10px;font-weight:400;letter-spacing:.3px;text-transform:uppercase}.template-detail-page .rollback-panel .rollback-version-label{color:#424242;font-weight:400}.template-detail-page .rollback-panel .rollback-version-active{color:#1b5e20;font-weight:700}.template-detail-page .rollback-panel .rollback-version.active{background:#f1f8e9;border-color:#66bb6a}.template-detail-page .rollback-panel .rollback-change-actions,.template-detail-page .rollback-panel .rollback-snapshot-actions,.template-detail-page .rollback-panel .rollback-version-actions{display:flex;gap:6px}.template-detail-page .rollback-panel .rollback-change-actions button,.template-detail-page .rollback-panel .rollback-snapshot-actions button,.template-detail-page .rollback-panel .rollback-version-actions button{background:#fff;border:1px solid #bdbdbd;border-radius:4px;color:#424242;cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px}.template-detail-page .rollback-panel .rollback-change-actions button:hover,.template-detail-page .rollback-panel .rollback-snapshot-actions button:hover,.template-detail-page .rollback-panel .rollback-version-actions button:hover{background:#1f2a44;border-color:#1f2a44;color:#fff}.template-detail-page .rollback-panel .rollback-diff-controls{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;flex-wrap:wrap;gap:12px;padding:10px}.template-detail-page .rollback-panel .rollback-diff-controls label{align-items:center;color:#424242;display:flex;font-size:12px;gap:4px}.template-detail-page .rollback-panel .rollback-diff-controls select{font-size:12px;padding:4px}.template-detail-page .rollback-panel .rollback-diff-controls button{background:#1f2a44;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px}.template-detail-page .rollback-panel .rollback-diff-controls button:disabled{cursor:not-allowed;opacity:.4}.template-detail-page .rollback-panel .rollback-diff{background:#fafafa;border:1px solid #e0e0e0;border-radius:6px;margin-top:12px;padding:12px}.template-detail-page .rollback-panel .rollback-diff h4{color:#1f2a44;font-size:14px;margin:0 0 12px}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section{background:#fff;border-left:3px solid #bdbdbd;border-radius:4px;margin-bottom:12px;padding:8px 12px}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section.diff-added{border-left-color:#66bb6a}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section.diff-removed{border-left-color:#ef5350}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section.diff-changed{border-left-color:#ffa726}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section .rollback-diff-section-title{color:#424242;font-size:12px;font-weight:600;margin-bottom:6px}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section ul{font-size:12px;margin:0;padding-left:18px}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section li{margin-bottom:4px}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section .diff-field{color:#616161;font-size:11px;margin-left:12px}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section .diff-before{background:#ffcdd2;border-radius:2px;color:#b71c1c;padding:0 4px;text-decoration:line-through}.template-detail-page .rollback-panel .rollback-diff .rollback-diff-section .diff-after{background:#c8e6c9;border-radius:2px;color:#1b5e20;padding:0 4px}.template-detail-page .btn-bulk-confirm,.template-detail-page .btn-confirm-slot{background:#16a34a;border:none;border-radius:999px;box-shadow:0 1px 2px #16a34a4d;color:#fff;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.template-detail-page .btn-bulk-confirm:hover,.template-detail-page .btn-confirm-slot:hover{background:#15803d}.template-detail-page .btn-unconfirm-slot{background:#fff3e0;border:1px solid #ffcc80;border-radius:999px;color:#b75d05;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.template-detail-page .btn-unconfirm-slot:hover{background:#b75d05;color:#fff}.template-detail-page .collapsible-section{overflow:hidden;padding:0!important}.template-detail-page .collapsible-header{align-items:center;cursor:pointer;display:flex;gap:12px;padding:16px 24px;transition:background .15s;-webkit-user-select:none;user-select:none}.template-detail-page .collapsible-header:hover{background:#f8f9ff}.template-detail-page .collapsible-header h2{font-size:16px;margin:0!important;white-space:nowrap}.template-detail-page .collapsible-summary{display:flex;flex:1 1;flex-wrap:wrap;gap:6px;min-width:0}.template-detail-page .summary-chip{background:#f0f2ff;border-radius:12px;color:#555;display:inline-block;font-size:12px;font-weight:500;padding:2px 10px;white-space:nowrap}.template-detail-page .summary-chip.muted{background:#f5f5f5;color:#999}.template-detail-page .collapsible-arrow{color:#999;flex-shrink:0;font-size:12px;transition:transform .25s}.template-detail-page .collapsible-arrow.open{transform:rotate(180deg)}.template-detail-page .collapsible-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.template-detail-page .collapsible-body>*{overflow:hidden}.template-detail-page .collapsible-body.open{border-top:1px solid #f0f0f0;grid-template-rows:1fr}.template-detail-page .collapsible-body.open>*{overflow:visible;padding:16px 24px 24px}.template-detail-page .metadata-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;margin-bottom:24px;padding:24px}.template-detail-page .metadata-section h2{color:#212121;font-size:18px;font-weight:600;margin-bottom:16px}.template-detail-page .metadata-section .metadata-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.template-detail-page .metadata-section .metadata-grid .field label{color:#616161;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.template-detail-page .metadata-section .metadata-grid .field .value{color:#212121;font-size:14px;padding:8px 0}.template-detail-page .metadata-section .metadata-grid .field input{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;width:100%}.template-detail-page .metadata-section .metadata-grid .field input:focus{border-color:#1976d2;outline:none}.template-detail-page .tab-navigation{border-bottom:2px solid #e0e0e0;display:flex;gap:8px;margin-bottom:24px}.template-detail-page .tab-navigation .tab-button{background:#0000;border:none;border-radius:6px 6px 0 0;color:#757575;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;position:relative;transition:all .2s}.template-detail-page .tab-navigation .tab-button:hover{background:#667eea0d;color:#667eea}.template-detail-page .tab-navigation .tab-button.active{color:#667eea}.template-detail-page .tab-navigation .tab-button.active:after{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px 2px 0 0;bottom:-2px;content:"";height:3px;left:0;position:absolute;right:0}.template-detail-page .week-pattern-grid{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;padding:24px}.template-detail-page .week-pattern-grid .pattern-header{margin-bottom:20px}.template-detail-page .week-pattern-grid .pattern-header h3{color:#212121;font-size:18px;font-weight:600;margin:0 0 8px}.template-detail-page .week-pattern-grid .pattern-header p{color:#757575;font-size:14px;margin:0}.template-detail-page .week-pattern-grid table{border-collapse:collapse;display:block;margin-bottom:20px;overflow-x:auto;width:100%}.template-detail-page .week-pattern-grid table thead{display:table;table-layout:fixed;width:100%}.template-detail-page .week-pattern-grid table thead th{background:linear-gradient(135deg,#667eea,#764ba2);border-right:1px solid #fff3;color:#fff!important;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 8px;position:sticky;text-align:center;text-transform:uppercase;top:0}.template-detail-page .week-pattern-grid table thead th:first-child{left:0;min-width:100px;z-index:2}.template-detail-page .week-pattern-grid table thead th:last-child{border-right:none}.template-detail-page .week-pattern-grid table tbody{display:table;table-layout:fixed;width:100%}.template-detail-page .week-pattern-grid table tbody tr{display:table-row}.template-detail-page .week-pattern-grid table tbody td{border:1px solid #e0e0e0;min-height:100px;min-width:120px;padding:8px;vertical-align:top}.template-detail-page .week-pattern-grid table tbody td:first-child{background:#f5f5f5;font-weight:600;left:0;min-width:100px;position:sticky;text-align:center;z-index:1}.template-detail-page .week-pattern-grid table tbody .time-cell{color:#424242;font-size:13px}.template-detail-page .week-pattern-grid table tbody .add-slot-button{background:#0000;border:2px dashed #bdbdbd;border-radius:4px;color:#757575;cursor:pointer;font-size:13px;min-height:80px;padding:8px;transition:all .2s;width:100%}.template-detail-page .week-pattern-grid table tbody .add-slot-button:hover{background:#667eea0d;border-color:#667eea;color:#667eea}.template-detail-page .week-pattern-grid table tbody .add-slot-button.compact{border-width:1px;font-size:11px;min-height:32px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #1976d2;border-radius:6px;margin-bottom:8px;min-height:80px;padding:8px;position:relative}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-time{color:#1976d2;font-size:11px;font-weight:600;margin-bottom:6px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-instructor{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#424242;display:-webkit-box;font-size:11px;margin-bottom:3px;overflow:hidden}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-topic{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#616161;display:-webkit-box;font-size:11px;overflow:hidden}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-batch{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:#7b1fa2;display:-webkit-box;font-size:10px;margin-top:2px;overflow:hidden}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions{display:flex;gap:4px;position:absolute;right:4px;top:4px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;transition:all .2s;width:20px}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.edit{background:#fff3e0;color:#f57c00}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.edit:hover{background:#f57c00;color:#fff;transform:scale(1.1)}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.delete{background:#ffebee;color:#d32f2f}.template-detail-page .week-pattern-grid table tbody .pattern-slot-card .slot-actions button.delete:hover{background:#d32f2f;color:#fff;transform:scale(1.1)}.template-detail-page .week-pattern-grid .empty-pattern{border:2px dashed #e0e0e0;border-radius:8px;color:#757575;font-size:14px;margin-bottom:16px;padding:40px 20px;text-align:center}.template-detail-page .week-pattern-grid .add-new-time-slot{background:#667eea0d;border:2px dashed #667eea;border-radius:6px;color:#667eea;cursor:pointer;display:block;font-size:13px;font-weight:500;margin-bottom:20px;padding:10px;transition:all .2s;width:100%}.template-detail-page .week-pattern-grid .add-new-time-slot:hover{background:#667eea1f;border-color:#5c6bc0}.template-detail-page .week-pattern-grid .grid-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.template-detail-page .week-pattern-grid .grid-actions button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.template-detail-page .week-pattern-grid .grid-actions button:disabled{cursor:not-allowed;opacity:.5}.template-detail-page .week-pattern-grid .grid-actions button.save{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.template-detail-page .week-pattern-grid .grid-actions button.save:hover:not(:disabled){box-shadow:0 4px 12px #4caf5066;transform:translateY(-2px)}.template-detail-page .week-pattern-grid .grid-actions button.generate{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.template-detail-page .week-pattern-grid .grid-actions button.generate:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.template-detail-page .week-pattern-grid .grid-actions button.clear{background:#f5f5f5;color:#616161}.template-detail-page .week-pattern-grid .grid-actions button.clear:hover:not(:disabled){background:#e0e0e0}.template-detail-page .week-pattern-grid .grid-actions button.import{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.template-detail-page .week-pattern-grid .grid-actions button.import:hover:not(:disabled){box-shadow:0 4px 12px #ff980066;transform:translateY(-2px)}.template-detail-page .activity-slots-section,.template-detail-page .linear-slot-list{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;padding:24px}.template-detail-page .activity-slots-section .section-header,.template-detail-page .linear-slot-list .section-header{margin-bottom:16px}.template-detail-page .activity-slots-section .section-header h2,.template-detail-page .linear-slot-list .section-header h2{color:#212121;font-size:18px;font-weight:600;margin:0}.template-detail-page .activity-slots-section h2,.template-detail-page .linear-slot-list h2{color:#212121;font-size:18px;font-weight:600;margin-bottom:16px}.template-detail-page .activity-slots-section .selection-toolbar,.template-detail-page .linear-slot-list .selection-toolbar{align-items:center;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:12px;padding:8px 14px;transition:all .2s}.template-detail-page .activity-slots-section .selection-toolbar.active,.template-detail-page .linear-slot-list .selection-toolbar.active{background:#e3f2fd;border-color:#90caf9}.template-detail-page .activity-slots-section .selection-toolbar .select-all-label,.template-detail-page .linear-slot-list .selection-toolbar .select-all-label{align-items:center;color:#424242;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.template-detail-page .activity-slots-section .selection-toolbar .select-all-label input[type=checkbox],.template-detail-page .linear-slot-list .selection-toolbar .select-all-label input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;width:16px}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions{align-items:center;display:flex;gap:8px}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-clear-selection,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-clear-selection{background:#fff;border:1px solid #bdbdbd;border-radius:4px;color:#616161;cursor:pointer;font-size:12px;font-weight:500;padding:5px 12px;transition:all .2s}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-clear-selection:hover,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-clear-selection:hover{background:#f5f5f5}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-swap,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-swap{background:#5c6bc0;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .2s}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-swap:hover,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-swap:hover{background:#3f51b5}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-bulk-delete,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-bulk-delete{background:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .2s}.template-detail-page .activity-slots-section .selection-toolbar .selection-actions .btn-bulk-delete:hover,.template-detail-page .linear-slot-list .selection-toolbar .selection-actions .btn-bulk-delete:hover{background:#b71c1c}.template-detail-page .activity-slots-section .date-group,.template-detail-page .linear-slot-list .date-group{margin-bottom:24px}.template-detail-page .activity-slots-section .date-group .date-header,.template-detail-page .linear-slot-list .date-group .date-header{align-items:center;background:#f5f5f5;border-radius:6px;color:#424242;display:flex;font-size:16px;font-weight:600;gap:10px;margin-bottom:12px;padding:12px 16px}.template-detail-page .activity-slots-section .date-group .date-header .date-select-checkbox,.template-detail-page .linear-slot-list .date-group .date-header .date-select-checkbox{align-items:center;cursor:pointer;display:flex}.template-detail-page .activity-slots-section .date-group .date-header .date-select-checkbox input[type=checkbox],.template-detail-page .linear-slot-list .date-group .date-header .date-select-checkbox input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:15px;width:15px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:all .3s}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #1976d226}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card.selected,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card.selected{background:#e3f2fd;border-color:#1976d2}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-select-checkbox,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-select-checkbox{align-items:center;cursor:pointer;display:flex;flex-shrink:0}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-select-checkbox input[type=checkbox],.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-select-checkbox input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;width:16px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .time-chip,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .time-chip{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;font-weight:600;padding:8px 16px;white-space:nowrap}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .attendance-done-badge,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .attendance-done-badge{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:24px;justify-content:center;width:24px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content{flex:1 1}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .instructor,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .instructor{color:#212121;font-weight:600;margin-bottom:4px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .topic,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .topic{color:#757575;font-size:14px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .slot-batches,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .slot-batches{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .slot-meeting,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .slot-meeting{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:4px 12px;margin-top:6px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .slot-meeting .slot-meeting-id,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .slot-meeting .slot-meeting-id{color:#455a64;word-break:break-all}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .slot-content .slot-meeting .slot-host-email,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .slot-content .slot-meeting .slot-host-email{color:#d32f2f;font-size:12px;word-break:break-all}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-edit,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-edit{background:#fff3e0;color:#f57c00}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-edit:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-edit:hover{background:#f57c00;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-delete,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-delete{background:#ffebee;color:#d32f2f}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-delete:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-delete:hover{background:#d32f2f;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-attendance,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-attendance{background:#e3f2fd;border-radius:6px;color:#1565c0;font-size:12px;height:auto;padding:4px 10px;width:auto}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-attendance:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-attendance:hover{background:#1565c0;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-substitute,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-substitute{background:#fff8e1;border-radius:6px;color:#b8860b;font-size:12px;height:auto;padding:4px 10px;width:auto}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-substitute:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-substitute:hover{background:#b8860b;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-recorded-video,.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-start-meeting,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-recorded-video,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-start-meeting{background:#e8f5e9;border-radius:6px;color:#2e7d32;font-size:12px;height:auto;padding:4px 10px;width:auto}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-recorded-video:hover,.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-start-meeting:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-recorded-video:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-start-meeting:hover{background:#2e7d32;color:#fff;transform:scale(1.05)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-copy-link,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-copy-link{background:#eceff1;color:#455a64;font-size:14px}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-copy-link:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-copy-link:hover{background:#455a64;color:#fff;transform:scale(1.1)}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-confirm-slot,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-confirm-slot{background:#16a34a;border-radius:999px;box-shadow:0 1px 2px #16a34a4d;color:#fff;font-size:12px;font-weight:600;height:auto;padding:5px 14px;white-space:nowrap;width:auto}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-confirm-slot:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-confirm-slot:hover{background:#15803d}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-unconfirm-slot,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-unconfirm-slot{background:#fff3e0;border:1px solid #ffcc80;border-radius:999px;color:#b75d05;font-size:12px;font-weight:600;height:auto;padding:5px 14px;white-space:nowrap;width:auto}.template-detail-page .activity-slots-section .date-group .slot-list .activity-slot-card .actions button.btn-unconfirm-slot:hover,.template-detail-page .linear-slot-list .date-group .slot-list .activity-slot-card .actions button.btn-unconfirm-slot:hover{background:#b75d05;color:#fff}.template-detail-page .activity-slots-section .date-group .add-slot-btn,.template-detail-page .linear-slot-list .date-group .add-slot-btn{background:#fafafa;border:2px dashed #bdbdbd;border-radius:6px;color:#616161;cursor:pointer;font-weight:500;padding:12px;transition:all .2s;width:100%}.template-detail-page .activity-slots-section .date-group .add-slot-btn:hover,.template-detail-page .linear-slot-list .date-group .add-slot-btn:hover{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.batch-management-section{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001f;margin-bottom:24px;padding:24px}.batch-management-section .section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.batch-management-section .section-header h2{color:#212121;font-size:18px;font-weight:600;margin:0}.batch-management-section .section-header .btn-manage{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.batch-management-section .section-header .btn-manage:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.batch-management-section .batch-list{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.batch-management-section .batch-list .batch-tag{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-radius:20px;color:#1976d2;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s}.batch-management-section .batch-list .batch-tag:hover{box-shadow:0 2px 8px #1976d233}.batch-management-section .batch-list .batch-tag .batch-info strong{font-weight:600}.batch-management-section .batch-list .batch-tag .remove-btn{align-items:center;background:#d32f2f1a;border:none;border-radius:50%;color:#d32f2f;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:20px}.batch-management-section .batch-list .batch-tag .remove-btn:hover{background:#d32f2f;color:#fff}.batch-management-section .batch-list .no-batches{color:#9e9e9e;font-size:14px;font-style:italic}.batch-management-section .batch-search-container{border-top:1px solid #e0e0e0;margin-top:16px;padding-top:16px}.batch-management-section .batch-search-container .search-input-wrapper{display:flex;gap:12px;margin-bottom:12px}.batch-management-section .batch-search-container .search-input-wrapper .batch-search-input{border:2px solid #e0e0e0;border-radius:6px;flex:1 1;font-size:14px;padding:10px 12px;transition:all .2s}.batch-management-section .batch-search-container .search-input-wrapper .batch-search-input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a;outline:none}.batch-management-section .batch-search-container .search-input-wrapper .close-search-btn{background:#f5f5f5;border:none;border-radius:6px;color:#616161;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.batch-management-section .batch-search-container .search-input-wrapper .close-search-btn:hover{background:#e0e0e0}.batch-management-section .batch-search-container .autocomplete-dropdown{background:#fff;border:2px solid #e0e0e0;border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:200px;overflow-y:auto}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option{cursor:pointer;font-size:14px;padding:12px 16px;transition:background .2s}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option strong{color:#212121}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option span{color:#616161}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option:hover{background:#f5f5f5}.batch-management-section .batch-search-container .autocomplete-dropdown .autocomplete-option:not(:last-child){border-bottom:1px solid #e0e0e0}.batch-management-section .batch-search-container .no-results{color:#9e9e9e;font-size:14px;font-style:italic;padding:12px;text-align:center}.create-template-page{margin:0 auto;max-width:1200px;padding:24px}.create-template-page .page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:32px}.create-template-page .page-header h1{color:#212121;font-size:28px;font-weight:600;margin:0}.create-template-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.create-template-form .form-section{border-bottom:1px solid #e0e0e0;padding:32px}.create-template-form .form-section:last-of-type{border-bottom:none}.create-template-form .form-section h2{color:#212121;font-size:20px;font-weight:600;margin:0 0 8px}.create-template-form .form-section .section-description{color:#757575;font-size:14px;margin-bottom:24px}.create-template-form .form-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.create-template-form .form-field{display:flex;flex-direction:column}.create-template-form .form-field.full-width{grid-column:1/-1}.create-template-form .form-field label{color:#424242;font-size:14px;font-weight:500;margin-bottom:8px}.create-template-form .form-field input,.create-template-form .form-field select,.create-template-form .form-field textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s ease}.create-template-form .form-field input:focus,.create-template-form .form-field select:focus,.create-template-form .form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.create-template-form .form-field input.error,.create-template-form .form-field select.error,.create-template-form .form-field textarea.error{border-color:#f44336}.create-template-form .form-field input.error:focus,.create-template-form .form-field select.error:focus,.create-template-form .form-field textarea.error:focus{box-shadow:0 0 0 3px #f443361a}.create-template-form .form-field textarea{min-height:80px;resize:vertical}.create-template-form .form-field .error-message{color:#f44336;font-size:12px;margin-top:6px}.create-template-form .batch-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:16px}.create-template-form .batch-list .batch-checkbox{align-items:center;background:#f5f5f5;border-radius:8px;cursor:pointer;display:flex;padding:12px 16px;transition:all .2s ease}.create-template-form .batch-list .batch-checkbox:hover{background:#e3f2fd}.create-template-form .batch-list .batch-checkbox input[type=checkbox]{cursor:pointer;height:18px;margin-right:12px;width:18px}.create-template-form .batch-list .batch-checkbox .batch-name{color:#212121;font-size:14px}.create-template-form .batch-list .batch-checkbox input[type=checkbox]:checked+.batch-name{color:#1976d2;font-weight:600}.create-template-form .batch-list .no-data{color:#9e9e9e;font-size:14px;grid-column:1/-1;padding:24px;text-align:center}.create-template-form .form-actions{background:#fafafa;display:flex;gap:16px;justify-content:flex-end;padding:24px 32px}.create-template-form .form-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 32px;transition:all .2s ease}.create-template-form .form-actions button:disabled{cursor:not-allowed;opacity:.6}.create-template-form .form-actions button.btn-cancel{background:#f5f5f5;color:#757575}.create-template-form .form-actions button.btn-cancel:hover:not(:disabled){background:#e0e0e0}.create-template-form .form-actions button.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-template-form .form-actions button.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media(max-width:768px){.create-template-form .batch-list,.create-template-form .form-grid{grid-template-columns:1fr}.create-template-form .form-actions{flex-direction:column}.create-template-form .form-actions button{width:100%}}.schedules-templates-page .modal-overlay,.template-detail-page .modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.schedules-templates-page .modal-content,.template-detail-page .modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.schedules-templates-page .modal-header,.template-detail-page .modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px 24px}.schedules-templates-page .modal-header h3,.template-detail-page .modal-header h3{color:#212121;font-size:20px;font-weight:600;margin:0}.schedules-templates-page .modal-header .modal-close,.template-detail-page .modal-header .modal-close{background:#f5f5f5;border:none;border-radius:50%;color:#616161;cursor:pointer;font-size:24px;height:32px;line-height:1;transition:all .2s;width:32px}.schedules-templates-page .modal-header .modal-close:hover,.template-detail-page .modal-header .modal-close:hover{background:#e0e0e0;transform:rotate(90deg)}.schedules-templates-page .modal-body,.template-detail-page .modal-body{padding:24px}.schedules-templates-page .modal-body .form-field,.template-detail-page .modal-body .form-field{margin-bottom:20px}.schedules-templates-page .modal-body .form-field label,.template-detail-page .modal-body .form-field label{color:#424242;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.schedules-templates-page .modal-body .form-field input,.schedules-templates-page .modal-body .form-field select,.schedules-templates-page .modal-body .form-field textarea,.template-detail-page .modal-body .form-field input,.template-detail-page .modal-body .form-field select,.template-detail-page .modal-body .form-field textarea{border:2px solid #e0e0e0;border-radius:6px;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.schedules-templates-page .modal-body .form-field input:focus,.schedules-templates-page .modal-body .form-field select:focus,.schedules-templates-page .modal-body .form-field textarea:focus,.template-detail-page .modal-body .form-field input:focus,.template-detail-page .modal-body .form-field select:focus,.template-detail-page .modal-body .form-field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.schedules-templates-page .modal-body .form-field select,.template-detail-page .modal-body .form-field select{background:#fff;color:#212121;cursor:pointer}.schedules-templates-page .modal-body .form-field textarea,.template-detail-page .modal-body .form-field textarea{min-height:80px;resize:vertical}.schedules-templates-page .modal-body .form-row,.template-detail-page .modal-body .form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.schedules-templates-page .modal-body .batch-tags,.template-detail-page .modal-body .batch-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.schedules-templates-page .modal-body .batch-tags .batch-tag,.template-detail-page .modal-body .batch-tags .batch-tag{align-items:center;background:#e3f2fd;border:2px solid #1976d2;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:6px;padding:6px 12px;transition:all .2s}.schedules-templates-page .modal-body .batch-tags .batch-tag:hover,.template-detail-page .modal-body .batch-tags .batch-tag:hover{background:#bbdefb}.schedules-templates-page .modal-body .batch-tags .batch-tag input[type=checkbox],.template-detail-page .modal-body .batch-tags .batch-tag input[type=checkbox]{cursor:pointer;height:16px;width:16px}.schedules-templates-page .modal-body .batch-tags .batch-tag:has(input:checked),.template-detail-page .modal-body .batch-tags .batch-tag:has(input:checked){background:#1976d2;color:#fff}.schedules-templates-page .modal-body .no-batches,.template-detail-page .modal-body .no-batches{background:#f5f5f5;border-radius:4px;color:#757575;font-size:13px;padding:12px;text-align:center}.schedules-templates-page .modal-body .checkbox-field label,.template-detail-page .modal-body .checkbox-field label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:8px}.schedules-templates-page .modal-body .checkbox-field label input[type=checkbox],.template-detail-page .modal-body .checkbox-field label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.schedules-templates-page .modal-footer,.template-detail-page .modal-footer{background:#fafafa;border-top:1px solid #e0e0e0;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.schedules-templates-page .modal-footer button,.template-detail-page .modal-footer button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.schedules-templates-page .modal-footer button.btn-cancel,.template-detail-page .modal-footer button.btn-cancel{background:#f5f5f5;color:#616161}.schedules-templates-page .modal-footer button.btn-cancel:hover,.template-detail-page .modal-footer button.btn-cancel:hover{background:#e0e0e0}.schedules-templates-page .modal-footer button.btn-save,.template-detail-page .modal-footer button.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.schedules-templates-page .modal-footer button.btn-save:hover,.template-detail-page .modal-footer button.btn-save:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.schedules-templates-page .modal-footer button.btn-save:disabled,.schedules-templates-page .modal-footer button.btn-save[disabled],.template-detail-page .modal-footer button.btn-save:disabled,.template-detail-page .modal-footer button.btn-save[disabled]{background:#bdbdbd;color:#fafafa;cursor:not-allowed;opacity:.7}.schedules-templates-page .modal-footer button.btn-save:disabled:hover,.schedules-templates-page .modal-footer button.btn-save[disabled]:hover,.template-detail-page .modal-footer button.btn-save:disabled:hover,.template-detail-page .modal-footer button.btn-save[disabled]:hover{box-shadow:none;transform:none}.template-detail-page .swap-modal{max-width:640px}.template-detail-page .swap-modal .modal-header h2{color:#212121;font-size:20px;font-weight:600;margin:0}.template-detail-page .swap-modal .swap-slots-preview{align-items:center;display:flex;gap:16px;margin-bottom:20px}.template-detail-page .swap-modal .swap-slots-preview .swap-slot-card{background:#f5f5f5;border-radius:8px;flex:1 1;font-size:14px;line-height:1.6;padding:14px}.template-detail-page .swap-modal .swap-slots-preview .swap-arrow{color:#5c6bc0;flex-shrink:0;font-size:28px}.template-detail-page .swap-modal .swap-mode-toggle{display:flex;flex-direction:column;gap:10px}.template-detail-page .swap-modal .swap-mode-toggle label{align-items:center;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px}.template-detail-page .swap-modal .swap-mode-toggle label input[type=radio]{height:16px;width:16px}.autocomplete-field{position:relative}.autocomplete-field .autocomplete-dropdown{background:#fff;border:2px solid #667eea;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.autocomplete-field .autocomplete-dropdown .autocomplete-item{cursor:pointer;padding:10px 12px;transition:background .2s}.autocomplete-field .autocomplete-dropdown .autocomplete-item:hover{background:#f5f5f5}.autocomplete-field .autocomplete-dropdown .autocomplete-item .item-name{color:#212121;font-size:14px;font-weight:500}.autocomplete-field .autocomplete-dropdown .autocomplete-item .item-meta{color:#757575;font-size:12px;margin-top:2px}.autocomplete-field .selected-value{align-items:center;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:6px;color:#2e7d32;display:flex;font-size:13px;font-weight:500;justify-content:space-between;padding:8px 12px}.autocomplete-field .selected-value span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.autocomplete-field .selected-value .clear-btn{align-items:center;background:#c8e6c9;border:none;border-radius:50%;color:#2e7d32;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:22px;justify-content:center;line-height:1;margin-left:8px;transition:background .2s;width:22px}.autocomplete-field .selected-value .clear-btn:hover{background:#ef9a9a;color:#c62828}.autocomplete-field .field-hint{color:#9e9e9e;font-size:11px;font-style:italic;margin-top:4px}.autocomplete-field select{background:#fff;border:2px solid #667eea;border-radius:6px;color:#212121;cursor:pointer;font-size:14px;padding:8px 12px;width:100%}.autocomplete-field select:focus{border-color:#5c6bc0;box-shadow:0 0 0 3px #667eea26;outline:none}@media(max-width:768px){.schedules-templates-page .modal-content,.template-detail-page .modal-content{max-height:95vh;width:95%}.schedules-templates-page .modal-body .form-row,.template-detail-page .modal-body .form-row{grid-template-columns:1fr}}.alert-modal,.confirm-modal,.prompt-modal{max-width:460px}.modal-content.rollback-help-modal{display:flex;flex-direction:column;max-height:92vh;max-width:1200px;width:96vw}.modal-content.rollback-help-modal .modal-body{flex:1 1;overflow-y:auto}.modal-content.rollback-help-modal .rollback-help-intro{color:#424242;font-size:13.5px;line-height:1.6;margin:0 0 16px}.modal-content.rollback-help-modal .rollback-help-table{background:#fff;border:1px solid #e0e3eb;border-collapse:collapse;border-radius:8px;font-size:13px;margin-bottom:20px;overflow:hidden;width:100%}.modal-content.rollback-help-modal .rollback-help-table thead th{background:#1f2a44;color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.2px;padding:10px 12px;text-align:left}.modal-content.rollback-help-modal .rollback-help-table tbody tr:nth-child(2n) td,.modal-content.rollback-help-modal .rollback-help-table tbody tr:nth-child(2n) th{background:#f6f7fb}.modal-content.rollback-help-modal .rollback-help-table tbody th[scope=row]{background:#fafbfd;border-right:1px solid #e0e3eb;color:#1f2a44;font-size:12.5px;font-weight:600;padding:10px 12px;text-align:left;vertical-align:top;width:22%}.modal-content.rollback-help-modal .rollback-help-table tbody td{border-right:1px solid #eef0f6;color:#424242;line-height:1.5;padding:10px 12px;vertical-align:top}.modal-content.rollback-help-modal .rollback-help-table tbody td:last-child{border-right:none}.modal-content.rollback-help-modal .rollback-help-heading{color:#1f2a44;font-size:14px;font-weight:700;margin:18px 0 8px}.modal-content.rollback-help-modal .rollback-help-list{color:#424242;font-size:13px;line-height:1.7;margin:0 0 16px;padding-left:20px}.modal-content.rollback-help-modal .rollback-help-list li{margin-bottom:4px}.modal-content.rollback-help-modal .rollback-help-list kbd{background:#fff;border:1px solid #bdbdbd;border-radius:3px;color:#1f2a44;font-family:inherit;font-size:11px;font-weight:600;padding:1px 6px}.modal-content.rollback-help-modal .rollback-help-footnote{color:#757575;font-size:12px;font-style:italic;margin:8px 0 0}.prompt-label{color:#424242;display:block;font-size:13px;font-weight:600;margin:0 0 6px}.prompt-input{background:#fff;border:1px solid #c5cad6;border-radius:6px;box-sizing:border-box;color:#212121;font-size:14px;outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.prompt-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.prompt-input::placeholder{color:#9e9e9e}.alert-message,.confirm-message{color:#424242;font-size:15px;line-height:1.6;margin:0;white-space:pre-line}.alert-header-success{border-bottom-color:#4caf50}.alert-header-success h3{color:#2e7d32}.alert-header-error{border-bottom-color:#f44336}.alert-header-error h3{color:#c62828}.alert-header-info{border-bottom-color:#667eea}.alert-header-info h3{color:#667eea}.slots-tab-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.excel-import-modal{display:flex;flex-direction:column;max-height:85vh;max-width:900px!important;width:95%}.excel-import-modal .modal-body{flex:1 1;min-height:200px;overflow-y:auto;padding:24px}.import-error-banner{background:#ffebee;border:1px solid #ef9a9a;border-radius:6px;color:#c62828;font-size:14px;margin-bottom:16px;padding:12px 16px}.import-upload-step .import-mode-toggle{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;gap:16px;margin-bottom:16px;padding:12px 16px}.import-upload-step .import-mode-label{color:#424242;font-size:14px;font-weight:600}.import-upload-step .import-radio{align-items:center;color:#424242;cursor:pointer;display:flex;font-size:14px;gap:6px}.import-upload-step .import-radio input[type=radio]{cursor:pointer}.import-upload-step .import-replace-warning{background:#fff3e0;border:1px solid #ffcc80;border-radius:6px;color:#e65100;font-size:13px;margin-bottom:16px;padding:10px 16px}.import-upload-step .import-instructions{color:#616161;font-size:14px;line-height:1.6;margin-bottom:20px}.import-upload-step .import-file-actions{align-items:center;display:flex;gap:12px}.btn,.import-upload-step .import-file-btn{cursor:pointer}.btn{border:none;border-radius:6px;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.btn.btn-secondary{background:#f5f5f5;color:#424242}.btn.btn-secondary:hover:not(:disabled){background:#e0e0e0}.import-preview .import-summary-bar{align-items:center;background:#f5f5f5;border-radius:6px;display:flex;font-size:14px;font-weight:600;gap:16px;margin-bottom:12px;padding:12px 16px}.import-preview .import-summary-total{color:#424242}.import-preview .import-summary-valid{color:#2e7d32}.import-preview .import-summary-errors{color:#c62828}.import-preview .import-filter-tabs{display:flex;gap:8px;margin-bottom:12px}.import-preview .import-filter-btn{background:#fff;border:1px solid #e0e0e0;border-radius:20px;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.import-preview .import-filter-btn:hover{background:#f5f5f5}.import-preview .import-filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.import-preview .import-table-wrapper{border:1px solid #e0e0e0;border-radius:6px;max-height:400px;overflow-x:auto;overflow-y:auto}.import-preview .import-preview-table{border-collapse:collapse;font-size:13px;width:100%}.import-preview .import-preview-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#424242;font-weight:600;padding:10px 12px;position:sticky;text-align:left;top:0;z-index:1}.import-preview .import-preview-table td{border-bottom:1px solid #f0f0f0;color:#424242;padding:8px 12px}.import-preview .import-preview-table .import-row-valid td:nth-child(2){color:#2e7d32;font-weight:600}.import-preview .import-preview-table .import-row-error{background:#fff8f8}.import-preview .import-preview-table .import-row-error td:nth-child(2){color:#c62828;font-weight:600}.import-preview .import-preview-table .import-error-detail td{background:#ffebee;font-size:12px;padding:6px 12px}.import-preview .import-preview-table .import-error-msg{background:#fce4ec;border-radius:4px;color:#c62828;display:inline-block;font-size:12px;margin:2px 4px 2px 0;padding:2px 8px}.import-loading-step{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:48px 0}.import-loading-step .import-spinner{animation:spin .8s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.import-loading-step p{color:#616161;font-size:15px}.import-result-step .import-result-summary{padding:24px;text-align:center}.import-result-step .import-result-success{color:#2e7d32;font-size:16px;font-weight:600;margin-bottom:8px}.import-result-step .import-result-skipped{color:#e65100;font-size:14px}.import-result-step .import-result-errors{background:#fff8f8;border:1px solid #ef9a9a;border-radius:6px;margin-top:16px;padding:16px}.import-result-step .import-result-errors h4{color:#c62828;font-size:14px;margin:0 0 8px}.import-result-step .import-result-errors ul{margin:0;padding-left:20px}.import-result-step .import-result-errors ul li{color:#424242;font-size:13px;margin-bottom:4px}.template-bev{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}.tbev-toolbar{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:12px 20px}.tbev-view-selector{background:#ffffff26;border-radius:8px;display:flex;gap:4px;padding:3px}.tbev-view-btn{background:#0000;border:none;border-radius:6px;color:#fffc;cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.tbev-view-btn:hover{background:#ffffff26;color:#fff}.tbev-view-btn.active{background:#fff;color:#667eea;font-weight:600}.tbev-actions{align-items:center;display:flex;gap:8px}.tbev-search{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;font-size:13px;outline:none;padding:6px 12px;width:180px}.tbev-search::placeholder{color:#fff9}.tbev-search:focus{background:#ffffff40;border-color:#ffffff80}.tbev-analytics-toggle,.tbev-export-btn,.tbev-filter-toggle{align-items:center;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 14px;transition:all .2s}.tbev-analytics-toggle:hover,.tbev-export-btn:hover,.tbev-filter-toggle:hover{background:#ffffff40}.tbev-analytics-toggle.active,.tbev-export-btn.active,.tbev-filter-toggle.active{background:#ffffff4d;border-color:#ffffff80}.tbev-filter-badge{align-items:center;background:#ff5722;border-radius:9px;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px}.tbev-filters-panel{background:#fafbff;border-bottom:1px solid #e8e8e8;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .3s ease-out,opacity .3s ease-out}.tbev-filters-panel>.tbev-filters-grid{overflow:hidden}.tbev-filters-panel.visible{grid-template-rows:1fr;opacity:1}.tbev-filters-panel.visible>.tbev-filters-grid{overflow:visible}.tbev-filters-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:16px 20px}.tbev-filter-item{display:flex;flex-direction:column;gap:4px}.tbev-filter-item label:first-child{color:#555;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.tbev-filter-input,.tbev-filter-select{background:#fff;border:1.5px solid #ddd;border-radius:6px;color:#333;font-size:13px;height:36px;padding:7px 10px;transition:all .2s}.tbev-filter-input:focus,.tbev-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1f;outline:none}.tbev-filter-days-item{grid-column:span 2}@media(max-width:600px){.tbev-filter-days-item{grid-column:span 1}}.tbev-msd{position:relative}.tbev-msd-trigger{align-items:center;background:#fff;border:1.5px solid #ddd;border-radius:6px;cursor:pointer;display:flex;gap:6px;justify-content:space-between;min-height:36px;padding:4px 8px 4px 10px;transition:border-color .2s,box-shadow .2s}.tbev-msd-trigger:hover{border-color:#667eea}.tbev-msd-trigger.open{border-color:#667eea;box-shadow:0 0 0 2px #667eea26}.tbev-msd-placeholder{color:#999;font-size:13px}.tbev-msd-tags{display:flex;flex:1 1;flex-wrap:wrap;gap:3px;min-width:0}.tbev-msd-tag{align-items:center;background:#667eea;border-radius:12px;color:#fff;display:inline-flex;font-size:11px;font-weight:500;gap:4px;max-width:130px;padding:2px 6px 2px 8px;white-space:nowrap}.tbev-msd-tag-more{background:#8b9cf7;cursor:default;padding:2px 8px}.tbev-msd-tag-x{cursor:pointer;flex-shrink:0;font-size:14px;line-height:1;opacity:.75}.tbev-msd-tag-x:hover{opacity:1}.tbev-msd-arrow{color:#aaa;flex-shrink:0;font-size:10px;transition:transform .2s}.tbev-msd-arrow.open{transform:rotate(180deg)}.tbev-msd-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 12px 36px #00000024,0 2px 8px #0000000f;display:flex;flex-direction:column;max-height:320px}.tbev-msd-header{align-items:center;border-bottom:1px solid #eee;display:flex;padding:0 4px 0 0}.tbev-msd-search{background:#0000;border:none;border-radius:10px 0 0 0;flex:1 1;font-size:13px;outline:none;padding:10px 12px}.tbev-msd-search::placeholder{color:#bbb}.tbev-msd-selected-count{color:#667eea;font-size:11px;font-weight:600;padding:0 8px;white-space:nowrap}.tbev-msd-options{flex:1 1;overflow-y:auto;padding:4px 0}.tbev-msd-options::-webkit-scrollbar{width:6px}.tbev-msd-options::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.tbev-msd-option{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:8px 12px;transition:background .12s}.tbev-msd-option:hover{background:#f0f2ff}.tbev-msd-option.checked{background:#f5f7ff}.tbev-msd-option input[type=checkbox]{accent-color:#667eea;cursor:pointer;flex-shrink:0;height:15px;margin:0;width:15px}.tbev-msd-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbev-msd-color-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.tbev-msd-empty{color:#999;font-size:13px;padding:16px 12px;text-align:center}.tbev-msd-clear{background:none;border:none;border-radius:0 0 10px 10px;border-top:1px solid #eee;color:#667eea;cursor:pointer;display:block;flex-shrink:0;font-size:12px;font-weight:600;padding:8px;width:100%}.tbev-msd-clear:hover{background:#f0f2ff}.tbev-filter-days{display:flex;flex-wrap:wrap;gap:4px}.tbev-day-chip{border:1.5px solid #ddd;border-radius:16px;color:#666;cursor:pointer;font-size:12px;font-weight:500;padding:5px 10px;transition:all .2s;-webkit-user-select:none;user-select:none}.tbev-day-chip input[type=checkbox]{display:none}.tbev-day-chip:hover{border-color:#667eea;color:#667eea}.tbev-day-chip.active{background:#667eea;border-color:#667eea;color:#fff}.tbev-filter-actions{align-items:flex-end;display:flex}.tbev-clear-filters{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;height:36px;padding:7px 14px;transition:all .2s;white-space:nowrap}.tbev-clear-filters:hover{box-shadow:0 2px 8px #667eea59;transform:translateY(-1px)}.tbev-export-wrapper{position:relative}.tbev-export-menu{background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:120px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.tbev-export-menu button{background:#0000;border:none;color:#333;cursor:pointer;display:block;font-size:13px;padding:10px 16px;text-align:left;width:100%}.tbev-export-menu button:hover{background:#f5f5f5}.tbev-analytics{background:#fafbff;border-bottom:1px solid #e8e8e8;padding:16px 20px}.tbev-analytics-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px}.tbev-analytics-card{background:#fff;border-radius:10px;border-top:3px solid #e0e0e0;box-shadow:0 1px 4px #0000000f;padding:16px;text-align:center}.tbev-analytics-card.primary{border-top-color:#667eea}.tbev-analytics-card.success{border-top-color:#4caf50}.tbev-analytics-card.info{border-top-color:#2196f3}.tbev-analytics-card.warning{border-top-color:#ff9800}.tbev-analytics-card .analytics-value{color:#333;font-size:24px;font-weight:700;margin-bottom:4px}.tbev-analytics-card .analytics-label{color:#888;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.tbev-analytics-details{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:768px){.tbev-analytics-details{grid-template-columns:1fr}}.analytics-detail-panel{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:14px}.analytics-detail-panel h4{color:#555;font-size:13px;font-weight:600;letter-spacing:.3px;margin:0 0 10px;text-transform:uppercase}.analytics-bar-list{display:flex;flex-direction:column;gap:6px}.analytics-bar-item{align-items:center;display:flex;gap:8px}.analytics-bar-item .bar-label{color:#555;flex-shrink:0;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px}.analytics-bar-item .bar-track{background:#f0f0f0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.analytics-bar-item .bar-fill{background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s}.analytics-bar-item .bar-fill.topic{background:linear-gradient(90deg,#4caf50,#2196f3)}.analytics-bar-item .bar-value{color:#667eea;flex-shrink:0;font-size:12px;font-weight:600;text-align:right;width:40px}.tbev-content{padding:0}.tbev-list-view{padding:16px 20px}.tbev-list-groupby{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;margin-bottom:16px;padding:3px;width:fit-content}.tbev-groupby-btn{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.tbev-groupby-btn:hover{background:#e8e8e8}.tbev-groupby-btn.active{background:#667eea;color:#fff;font-weight:500}.tbev-list-group{margin-bottom:20px}.tbev-list-group-header{align-items:center;border-bottom:2px solid #667eea;display:flex;justify-content:space-between;margin-bottom:12px;padding:10px 0}.tbev-list-group-header .group-title{color:#333;font-size:15px;font-weight:600}.tbev-list-group-header .group-count{background:#f0f0f0;border-radius:10px;color:#888;font-size:12px;padding:2px 8px}.tbev-list-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.tbev-slot-card{background:#fff;border:1px solid #e8e8e8;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:12px;transition:all .2s}.tbev-slot-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26}.tbev-card-time{display:flex;flex-direction:column;gap:2px}.tbev-card-time .tbev-time-row{align-items:center;display:flex;gap:6px}.tbev-card-time .time-display{color:#333;font-size:14px;font-weight:600}.tbev-card-time .attendance-done-badge{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.tbev-card-time .date-display{color:#888;font-size:12px}.tbev-card-content{display:flex;flex-direction:column;gap:3px}.tbev-card-content .card-instructor{color:#555;font-size:13px;font-weight:500}.tbev-card-content .card-topic{color:#667eea;font-size:12px}.tbev-card-content .card-location{color:#6d4c41;display:flex;flex-wrap:wrap;font-size:12px;gap:4px}.tbev-card-content .card-batches{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.tbev-card-content .card-agenda{color:#888;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbev-card-actions{display:flex;gap:6px;margin-top:auto}.tbev-card-actions .card-attendance-btn,.tbev-card-actions .card-delete-btn,.tbev-card-actions .card-edit-btn,.tbev-card-actions .card-substitute-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;padding:4px 10px;transition:all .2s}.tbev-card-actions .card-attendance-btn{border-color:#1565c0;color:#1565c0}.tbev-card-actions .card-attendance-btn:hover{background:#1565c0;color:#fff}.tbev-card-actions .card-substitute-btn{border-color:#b8860b;color:#b8860b}.tbev-card-actions .card-substitute-btn:hover{background:#b8860b;color:#fff}.tbev-card-actions .card-edit-btn{border-color:#667eea;color:#667eea}.tbev-card-actions .card-edit-btn:hover{background:#667eea;color:#fff}.tbev-card-actions .card-delete-btn{border-color:#f44336;color:#f44336}.tbev-card-actions .card-delete-btn:hover{background:#f44336;color:#fff}.tbev-empty{color:#888;font-size:14px;padding:40px;text-align:center}.template-month-view{padding:16px 20px}.month-header{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:16px}.month-nav-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:18px;padding:6px 14px;transition:all .2s}.month-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;color:#667eea}.month-nav-btn:disabled{cursor:not-allowed;opacity:.3}.month-title{color:#333;font-size:18px;font-weight:600;min-width:200px;text-align:center}.month-weekday-headers{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-header-cell{background:linear-gradient(135deg,#667eea,#764ba2);border-right:1px solid #fff3;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px;text-align:center;text-transform:uppercase}.weekday-header-cell:first-child{border-radius:8px 0 0 0}.weekday-header-cell:last-child{border-radius:0 8px 0 0;border-right:none}.month-grid-body{display:flex;flex-direction:column}.month-week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.month-week-row:first-child>.month-day-cell{border-top:1px solid #e8e8e8}.month-day-cell{background:#fff;border-bottom:1px solid #e8e8e8;border-right:1px solid #e8e8e8;cursor:pointer;min-height:100px;overflow:hidden;padding:6px;position:relative;transition:all .2s}.month-day-cell:first-child{border-left:1px solid #e8e8e8}.month-day-cell:hover:not(.empty):not(.outside-range){background:#f8f9ff;border-color:#667eea;z-index:1}.month-day-cell.empty{background:#fafafa;cursor:default}.month-day-cell.outside-range{background:#f5f5f5;cursor:not-allowed;opacity:.5}.month-day-cell.today{border-color:#667eea;border-width:2px}.month-day-cell.has-slots{background:#fafbff}.month-day-cell.selected{background:#eef0ff;border-color:#667eea;border-width:2px;z-index:1}.day-cell-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:4px}.day-number{color:#333;font-size:14px;font-weight:600}.today .day-number{color:#667eea}.outside-range .day-number{color:#bbb}.slot-count-badge{background:#667eea;border-radius:10px;color:#fff;font-size:10px;font-weight:600;min-width:18px;padding:1px 6px;text-align:center}.slot-count-badge.attendance-taken{background:#28a745}.day-slot-previews{display:flex;flex-direction:column;gap:2px}.day-slot-preview{align-items:center;background:#f0f2ff;border-radius:3px;display:flex;font-size:10px;gap:4px;overflow:hidden;padding:1px 3px}.day-slot-preview.attendance-done{border-left:2px solid #4caf50}.day-slot-preview .preview-time{color:#667eea;flex-shrink:0;font-weight:600}.day-slot-preview .preview-text{color:#555;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-slot-more{color:#888;font-size:10px;padding:1px;text-align:center}.day-add-btn{align-items:center;background:#fff;border:1px dashed #ccc;border-radius:50%;bottom:4px;color:#888;cursor:pointer;display:flex;font-size:14px;height:22px;justify-content:center;opacity:0;position:absolute;right:4px;transition:all .2s;width:22px}.month-day-cell:hover .day-add-btn{opacity:1}.day-add-btn:hover{background:#f0f2ff;border-color:#667eea;color:#667eea}.day-detail-strip{animation:stripSlideOpen .25s ease-out;background:#fff;border:2px solid #667eea;border-radius:8px;margin:12px 0 8px}@keyframes stripSlideOpen{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.strip-header{background:#f8f9ff;border-bottom:1px solid #e8e8e8;justify-content:space-between;padding:12px 16px}.strip-date-info,.strip-header{align-items:center;display:flex}.strip-date-info{gap:10px}.strip-date-info .strip-date{color:#333;font-size:15px;font-weight:600}.strip-date-info .strip-count{background:#eef0ff;border-radius:10px;color:#667eea;font-size:12px;padding:2px 8px}.strip-actions{align-items:center;display:flex;gap:8px}.strip-day-view-btn{background:#fff;border:1px solid #667eea;border-radius:5px;color:#667eea;cursor:pointer;font-size:12px;padding:5px 12px;transition:all .2s}.strip-day-view-btn:hover{background:#667eea;color:#fff}.strip-close-btn{align-items:center;background:#f0f0f0;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;transition:all .2s;width:28px}.strip-close-btn:hover{background:#e0e0e0;color:#333}.strip-empty{align-items:center;color:#888;display:flex;flex-direction:column;font-size:14px;gap:10px;padding:20px;text-align:center}.strip-slots{display:flex;flex-wrap:wrap;gap:10px;padding:12px 16px}.strip-slot-card{background:#fafbff;border:1px solid #e8e8e8;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:6px;max-width:320px;min-width:220px;padding:10px 14px;transition:all .2s}.strip-slot-card:hover{border-color:#667eea;box-shadow:0 2px 6px #667eea1a}.strip-slot-time{align-items:center;color:#667eea;display:flex;font-size:13px;font-weight:600;gap:6px}.strip-slot-time .attendance-done-badge{align-items:center;background:#4caf50;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:10px;font-weight:700;height:18px;justify-content:center;width:18px}.strip-slot-details{display:flex;flex-direction:column;gap:2px}.strip-slot-details .strip-slot-instructor{color:#333;font-size:13px;font-weight:500}.strip-slot-details .strip-slot-topic{color:#555;font-size:12px}.strip-slot-details .strip-slot-location{color:#6d4c41;display:flex;flex-wrap:wrap;font-size:12px;gap:6px}.strip-slot-details .strip-slot-batches{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.strip-slot-details .strip-slot-agenda{color:#888;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.strip-slot-actions{display:flex;gap:6px;margin-top:4px}.strip-slot-actions .strip-attendance-btn,.strip-slot-actions .strip-delete-btn,.strip-slot-actions .strip-edit-btn{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:11px;padding:3px 8px;transition:all .2s}.strip-slot-actions .strip-attendance-btn{border-color:#1565c0;color:#1565c0}.strip-slot-actions .strip-attendance-btn:hover{background:#1565c0;color:#fff}.strip-slot-actions .strip-edit-btn{border-color:#667eea;color:#667eea}.strip-slot-actions .strip-edit-btn:hover{background:#667eea;color:#fff}.strip-slot-actions .strip-delete-btn{border-color:#f44336;color:#f44336}.strip-slot-actions .strip-delete-btn:hover{background:#f44336;color:#fff}.strip-add-btn{background:#fff;border:1px dashed #667eea;border-radius:6px;color:#667eea;cursor:pointer;font-size:13px;margin:0 16px 12px;padding:8px 16px;transition:all .2s}.strip-add-btn:hover{background:#f0f2ff;border-style:solid}.template-day-view{padding:16px 20px}.day-view-header{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:8px}.day-nav-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.day-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;color:#667eea}.day-nav-btn:disabled{cursor:not-allowed;opacity:.3}.day-view-title{color:#333;font-size:16px;font-weight:600}.day-view-summary{color:#888;font-size:13px;margin-bottom:12px;text-align:center}.day-view-grid-wrapper{background:#fff;border:1px solid #e8e8e8;border-radius:8px;display:flex;max-height:600px;overflow-y:auto}.day-time-labels{background:#fafafa;border-right:1px solid #e8e8e8;flex-shrink:0;position:relative;width:80px}.time-label{color:#888;font-size:11px;line-height:1;padding-right:8px;position:absolute;text-align:right;transform:translateY(-6px);width:100%}.day-time-grid{cursor:pointer;flex:1 1;min-height:400px;position:relative}.grid-line{height:1px;left:0;pointer-events:none;position:absolute;right:0}.grid-line.hour-line{background:#ddd}.grid-line.half-hour-line{background:#f0f0f0}.current-time-line{background:#f44336;height:2px;left:0;position:absolute;right:0;z-index:5}.current-time-line:before{background:#f44336;border-radius:50%;content:"";height:8px;left:-4px;position:absolute;top:-3px;width:8px}.day-slot-card{border-left:3px solid;border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:4px 8px;position:absolute;right:8px;transition:box-shadow .2s,opacity .2s;z-index:2}.day-slot-card:hover{box-shadow:0 2px 8px #00000026;z-index:3}.day-slot-card.dragging{opacity:.4}.day-slot-card.attendance-done:after{background:#4caf50;border-radius:50%;bottom:3px;content:"";height:8px;position:absolute;right:3px;width:8px}.slot-card-time{color:#333;font-size:11px;font-weight:600;white-space:nowrap}.slot-card-instructor{color:#555;font-size:11px}.slot-card-instructor,.slot-card-topic{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-card-topic{color:#667eea;font-size:10px}.slot-card-room{color:#6d4c41;font-size:10px}.slot-card-batch,.slot-card-room{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-card-batch{color:#8d6e63;font-size:9px;opacity:.85}.slot-card-agenda{color:#888;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-card-actions{display:flex;gap:3px;position:absolute;right:2px;top:2px}.slot-card-actions .slot-card-attendance{background:#1565c026;color:#1565c0;font-size:10px;font-weight:700;opacity:1}.slot-card-actions .slot-card-attendance,.slot-card-actions .slot-card-delete{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:18px;justify-content:center;transition:all .2s;width:18px}.slot-card-actions .slot-card-delete{background:#f443361a;color:#f44336;font-size:14px;opacity:0}.day-slot-card:hover .slot-card-actions .slot-card-attendance,.day-slot-card:hover .slot-card-actions .slot-card-delete{opacity:1}.slot-card-actions .slot-card-attendance:hover{background:#1565c0;color:#fff}.slot-card-actions .slot-card-delete:hover{background:#f44336;color:#fff}.drag-ghost{background:#667eea26;border:2px dashed #667eea;border-radius:6px;left:8px;pointer-events:none;position:absolute;right:8px;z-index:1}.template-week-view{padding:16px 20px}.week-view-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:12px}.week-nav-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.week-nav-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea;color:#667eea}.week-nav-btn:disabled{cursor:not-allowed;opacity:.3}.week-view-title{color:#333;font-size:16px;font-weight:600;min-width:180px;text-align:center}.week-color-toggle{background:#f5f5f5;border-radius:6px;display:flex;gap:4px;margin-left:16px;padding:2px}.week-color-toggle .color-btn{background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:11px;padding:4px 10px;transition:all .2s}.week-color-toggle .color-btn:hover{background:#e8e8e8}.week-color-toggle .color-btn.active{background:#667eea;color:#fff}.week-grid-scroll{background:#fff;border:1px solid #e8e8e8;border-radius:8px;max-height:600px;overflow-x:auto;overflow-y:auto}.week-grid-container{min-width:700px;position:relative}.week-day-headers{background:#fff;border-bottom:2px solid #e8e8e8;display:flex;position:sticky;top:0;z-index:10}.week-time-label-spacer{background:#fafafa;flex-shrink:0;width:60px}.week-day-header{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:8px 4px;text-align:center;transition:background .2s}.week-day-header:hover{background:#f8f9ff}.week-day-header.today{background:#f0f2ff}.week-day-header.outside-range{opacity:.4}.week-day-header .week-day-name{color:#888;font-size:11px;font-weight:600;text-transform:uppercase}.week-day-header .week-day-num{color:#333;font-size:20px;font-weight:700;line-height:1}.week-day-header .week-day-num.today-num{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;font-size:14px;height:30px;justify-content:center;width:30px}.week-day-header .week-day-count{background:#eef0ff;border-radius:8px;color:#667eea;font-size:10px;padding:1px 6px}.week-grid-body{display:flex;position:relative}.week-time-labels{background:#fafafa;border-right:1px solid #e8e8e8;flex-shrink:0;position:relative;width:60px}.week-time-label{color:#aaa;font-size:10px;line-height:1;padding-right:6px;position:absolute;text-align:right;transform:translateY(-5px);width:100%}.week-day-column{border-right:1px solid #f0f0f0;flex:1 1;position:relative}.week-day-column:last-child{border-right:none}.week-day-column.outside-range{background:#fafafa;opacity:.4}.week-day-column.today{background:#667eea08}.week-grid-line{height:1px;left:0;pointer-events:none;position:absolute;right:0}.week-grid-line.hour{background:#e0e0e0}.week-grid-line.half{background:#f0f0f0}.week-slot-card{border-left:3px solid;border-radius:4px;box-sizing:border-box;cursor:pointer;font-size:10px;overflow:hidden;padding:2px 4px;position:absolute;transition:box-shadow .2s,opacity .2s;z-index:2}.week-slot-card:hover{box-shadow:0 2px 8px #00000026;z-index:3}.week-slot-card.dragging{opacity:.4}.week-slot-card.attendance-done:after{background:#4caf50;border-radius:50%;bottom:2px;content:"";height:6px;position:absolute;right:2px;width:6px}.week-slot-time{color:#333;font-size:10px;font-weight:600;white-space:nowrap}.week-slot-info{align-items:center;display:flex;gap:3px;overflow:hidden}.week-slot-info .week-slot-initials{color:#555;font-size:10px;font-weight:700}.week-slot-info .week-slot-topic{color:#667eea;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-slot-batch{color:#8d6e63;opacity:.8}.week-slot-batch,.week-slot-room{font-size:8px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.week-slot-room{color:#6d4c41;opacity:.85}.week-slot-attendance{align-items:center;background:#1565c033;border:none;border-radius:50%;color:#1565c0;cursor:pointer;display:flex;font-size:8px;font-weight:700;height:14px;justify-content:center;opacity:1;padding:0;position:absolute;right:1px;top:1px;transition:all .2s;width:14px}.week-slot-attendance:hover{background:#1565c0;color:#fff}.slot-batch-tag{background:#fff3e0;border:1px solid #ffe0b2;border-radius:3px;color:#8d6e63;display:inline-block;font-size:11px;line-height:1.4;padding:1px 7px;white-space:nowrap}.template-analytics{background:linear-gradient(135deg,rgba(102,126,234,.031),rgba(118,75,162,.031));border:1px solid #e2e8f0;border-radius:16px;margin:24px 0;padding:24px}.template-analytics-title{color:#2d3748;font-size:1.35rem;font-weight:700;margin:0 0 20px}.template-analytics-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(8,1fr);margin-bottom:20px}@media(max-width:1200px){.template-analytics-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:600px){.template-analytics-grid{grid-template-columns:repeat(2,1fr)}}.template-analytics-card{align-items:center;background:#fff;border-left:3px solid #0000;border-radius:10px;box-shadow:0 2px 8px #0000000a;display:flex;gap:8px;min-width:0;padding:10px 12px;transition:all .3s ease}.template-analytics-card:hover{box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.template-analytics-card.analytics-primary{border-left-color:#667eea}.template-analytics-card.analytics-secondary{border-left-color:#f093fb}.template-analytics-card.analytics-accent{border-left-color:#4facfe}.template-analytics-card.analytics-info{border-left-color:#43e97b}.template-analytics-card.analytics-purple{border-left-color:#a78bfa}.template-analytics-card.analytics-warning{border-left-color:#fa709a}.template-analytics-card.analytics-teal{border-left-color:#38b2ac}.template-analytics-card.analytics-rose{border-left-color:#ed64a6}.template-analytics-card .analytics-icon{flex-shrink:0;font-size:1.4rem;line-height:1}.template-analytics-card .analytics-content{flex:1 1;min-width:0}.template-analytics-card .analytics-value{color:#2d3748;font-size:1.25rem;font-weight:700;line-height:1.2}.template-analytics-card .analytics-label{color:#718096;font-size:.7rem;font-weight:500;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-status-overview{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;margin-bottom:20px;padding:20px}.template-status-overview h4{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 14px}.template-status-overview .status-bars{display:flex;flex-direction:column;gap:12px}.template-status-overview .status-bar-item{display:flex;flex-direction:column;gap:6px}.template-status-overview .status-bar-label{align-items:center;color:#4a5568;display:flex;font-size:.85rem;font-weight:600;gap:8px}.template-status-overview .status-bar-label .status-pct{color:#718096;font-weight:500;margin-left:auto}.template-status-overview .status-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.template-status-overview .status-dot.upcoming{background:#667eea}.template-status-overview .status-dot.past{background:#a0aec0}.template-status-overview .status-bar-track{background:#edf2f7;border-radius:4px;height:8px;overflow:hidden}.template-status-overview .status-bar-fill{border-radius:4px;height:100%;transition:width .6s ease}.template-status-overview .status-bar-fill.upcoming-fill{background:linear-gradient(90deg,#667eea,#764ba2)}.template-status-overview .status-bar-fill.past-fill{background:linear-gradient(90deg,#a0aec0,#718096)}.template-analytics-breakdown{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media(max-width:768px){.template-analytics-breakdown{grid-template-columns:1fr}}.breakdown-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:18px}.breakdown-section h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 12px}.breakdown-list{display:flex;flex-direction:column;gap:8px}.breakdown-item{align-items:center;background:#f7fafc;border:1px solid #edf2f7;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px}.breakdown-item .breakdown-name{color:#2d3748;font-size:.85rem;font-weight:500;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-item .breakdown-stats{color:#718096;font-size:.8rem;white-space:nowrap}.slot-filters-wrapper{margin-bottom:0}.slot-filters-toggle{display:flex;justify-content:flex-end;margin-bottom:12px}.btn-toggle-filters{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:8px;padding:8px 18px;transition:all .2s ease}.btn-toggle-filters:hover{border-color:#667eea;color:#667eea}.btn-toggle-filters.active{background:#667eea;border-color:#667eea;color:#fff}.btn-toggle-filters .filter-badge{background:#f56565;border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;padding:2px 7px}.slot-filters-panel{animation:slideDownFilters .25s ease-out;margin-bottom:16px}@keyframes slideDownFilters{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.slot-filters-grid{grid-gap:14px;align-items:end;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:20px}.slot-filter-item{display:flex;flex-direction:column;gap:6px}.slot-filter-item label{color:#4a5568;font-size:.8rem;font-weight:600}.slot-filter-item.slot-filter-actions{align-items:flex-end;display:flex;justify-content:flex-end}.slot-filter-input,.slot-filter-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:.85rem;height:40px;padding:9px 12px;transition:all .2s ease}.slot-filter-input:focus,.slot-filter-select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.btn-clear-filters{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;height:40px;padding:9px 18px;transition:all .3s ease;white-space:nowrap}.btn-clear-filters:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.slot-view-selector{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:16px 20px}.slot-view-btn{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:10px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:10px 20px;transition:all .25s ease;white-space:nowrap}.slot-view-btn .view-icon{font-size:1.1rem}.slot-view-btn:hover{background:#f7f8ff;border-color:#667eea;color:#667eea;transform:translateY(-1px)}.slot-view-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 15px #667eea59;color:#fff}.slot-view-btn.active .view-icon{filter:brightness(2)}.grouped-slot-view{display:flex;flex-direction:column;gap:24px}.slot-group-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.slot-group-header{align-items:center;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-bottom:2px solid #e2e8f0;display:flex;gap:10px;padding:16px 20px}.slot-group-icon{font-size:1.4rem}.slot-group-title{color:#2d3748;flex:1 1;font-size:1.1rem;font-weight:700;margin:0}.slot-group-count{background:#ebf4ff;border-radius:20px;color:#667eea;font-size:.85rem;font-weight:600;padding:4px 12px}.slot-location{color:#718096;display:flex;font-size:13px;gap:12px;margin-top:4px}.slot-location span{align-items:center;display:flex;gap:3px}.stt-conflict-report{padding:0 0 32px}.stt-conflict-report .stt-cr-filters{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:16px 20px}.stt-conflict-report .stt-cr-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}.stt-conflict-report .stt-cr-filter-field{display:flex;flex-direction:column;gap:4px}.stt-conflict-report .stt-cr-filter-field label{color:#555;font-size:12px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.stt-conflict-report .stt-cr-filter-field input,.stt-conflict-report .stt-cr-filter-field select{border:1px solid #ccc;border-radius:4px;font-size:14px;min-width:140px;padding:6px 10px}.stt-conflict-report .stt-cr-filter-templates{position:relative}.stt-conflict-report .stt-cr-filter-templates select{max-height:80px;min-width:200px}.stt-conflict-report .stt-cr-filter-templates .stt-cr-clear-btn{background:#eee;border:none;border-radius:3px;bottom:2px;color:#666;cursor:pointer;font-size:11px;padding:2px 6px;position:absolute;right:2px}.stt-conflict-report .stt-cr-filter-templates .stt-cr-clear-btn:hover{background:#ddd}.stt-conflict-report .stt-cr-filter-actions .btn{font-size:14px;padding:7px 20px}.stt-conflict-report .stt-cr-error{background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;color:#991b1b;font-size:14px;margin-bottom:16px;padding:10px 16px}.stt-conflict-report .stt-cr-summary{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.stt-conflict-report .stt-cr-summary-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;min-width:120px;padding:16px 24px;text-align:center}.stt-conflict-report .stt-cr-summary-card .stt-cr-card-value{color:#333;font-size:28px;font-weight:700}.stt-conflict-report .stt-cr-summary-card .stt-cr-card-label{color:#888;font-size:12px;letter-spacing:.3px;margin-top:4px;text-transform:uppercase}.stt-conflict-report .stt-cr-summary-card.stt-cr-card-blocker{border-left:4px solid #dc3545}.stt-conflict-report .stt-cr-summary-card.stt-cr-card-blocker .stt-cr-card-value{color:#dc3545}.stt-conflict-report .stt-cr-summary-card.stt-cr-card-warning{border-left:4px solid #fd7e14}.stt-conflict-report .stt-cr-summary-card.stt-cr-card-warning .stt-cr-card-value{color:#fd7e14}.stt-conflict-report .stt-cr-summary-card.stt-cr-card-meta{border-left:4px solid #667eea}.stt-conflict-report .stt-cr-summary-card.stt-cr-card-meta .stt-cr-card-value{color:#667eea;font-size:22px}.stt-conflict-report .stt-cr-rule-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.stt-conflict-report .stt-cr-rule-pills .stt-cr-pill{background:#f0f0f0;border-radius:16px;color:#555;cursor:pointer;display:inline-block;font-size:12px;padding:4px 12px;text-transform:capitalize;transition:background .15s,color .15s}.stt-conflict-report .stt-cr-rule-pills .stt-cr-pill:hover{background:#e0e0e0}.stt-conflict-report .stt-cr-rule-pills .stt-cr-pill.active{background:#667eea;color:#fff}.stt-conflict-report .stt-cr-table-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.stt-conflict-report .stt-cr-table-controls .stt-cr-inline-filters{display:flex;gap:10px}.stt-conflict-report .stt-cr-table-controls .stt-cr-inline-filters select{border:1px solid #ccc;border-radius:4px;font-size:13px;min-width:150px;padding:5px 8px}.stt-conflict-report .stt-cr-table-wrapper{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.stt-conflict-report .stt-cr-table{border-collapse:collapse;font-size:13px;width:100%}.stt-conflict-report .stt-cr-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#555;font-size:12px;font-weight:600;letter-spacing:.3px;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.stt-conflict-report .stt-cr-table td{border-bottom:1px solid #f0f0f0;padding:8px 12px;vertical-align:top}.stt-conflict-report .stt-cr-table tbody tr{transition:background .1s}.stt-conflict-report .stt-cr-table tbody tr:hover{background:#fafafa}.stt-conflict-report .stt-cr-table .stt-cr-row-blocker td{background:#fff5f5}.stt-conflict-report .stt-cr-table .stt-cr-row-blocker:hover td{background:#fef2f2}.stt-conflict-report .stt-cr-table .stt-cr-row-warning td{background:#fffbeb}.stt-conflict-report .stt-cr-table .stt-cr-row-warning:hover td{background:#fef9e7}.stt-conflict-report .stt-cr-severity-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.stt-conflict-report .stt-cr-severity-dot.stt-cr-dot-blocker{background:#dc3545}.stt-conflict-report .stt-cr-severity-dot.stt-cr-dot-warning{background:#fd7e14}.stt-conflict-report .stt-cr-rule-cell{color:#333;font-weight:500;white-space:nowrap}.stt-conflict-report .stt-cr-slot-id-cell{color:#555;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px;white-space:nowrap}.stt-conflict-report .stt-cr-slot-id-cell .stt-cr-conflicting-slot{color:#999;font-size:11px;margin-top:2px}.stt-conflict-report .stt-cr-conflicting-line{color:#888;font-size:11px;font-style:italic;margin-top:2px}.stt-conflict-report .stt-cr-message-cell{color:#555;line-height:1.4;max-width:350px}.stt-conflict-report .stt-cr-no-results{background:#fafafa;border:1px dashed #ddd;border-radius:8px;color:#888;font-size:15px;padding:40px;text-align:center}.stt-conflict-report .stt-cr-pagination{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:16px}.stt-conflict-report .stt-cr-pagination button{background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:13px;padding:6px 14px}.stt-conflict-report .stt-cr-pagination button:hover:not(:disabled){background:#f0f0f0}.stt-conflict-report .stt-cr-pagination button:disabled{cursor:default;opacity:.4}.stt-conflict-report .stt-cr-pagination span{color:#666;font-size:13px}.stt-conflict-report .stt-cr-empty-state{color:#888;font-size:15px;line-height:1.6;padding:60px 20px;text-align:center}.postbox-messages-page table{border:1px solid var(--border-default);border-radius:6px;font-size:13px;overflow:hidden}.postbox-messages-page table thead th{background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);font-size:12px;font-weight:600;letter-spacing:.03em;padding:10px 12px;text-transform:uppercase;white-space:nowrap}.postbox-messages-page table tbody td{border-top:1px solid var(--border-subtle);padding:10px 12px;vertical-align:top}.postbox-messages-page table tbody tr:hover{background:var(--surface-page)}.postbox-messages-page .msg-status-badge{border-radius:12px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.postbox-messages-page .empty-state{background:var(--surface-page);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-muted);padding:60px 20px;text-align:center}.postbox-messages-page .pbx-filters{align-items:flex-end;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 1px 2px #00000008;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:14px 16px}.postbox-messages-page .pbx-filter{display:flex;flex-direction:column;gap:4px}.postbox-messages-page .pbx-filter-grow{flex:1 1}.postbox-messages-page .pbx-filter-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;line-height:1;margin:0;text-transform:uppercase}.postbox-messages-page .pbx-filter-input{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;box-sizing:border-box;color:var(--text-strong);font-size:13px;height:34px;outline:none;padding:6px 10px;transition:border-color .15s,box-shadow .15s;width:100%}.postbox-messages-page .pbx-filter-input:hover{border-color:var(--border-strong)}.postbox-messages-page .pbx-filter-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1f}.postbox-messages-page select.pbx-filter-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%236b7280' d='m0 0 5 6 5-6z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;cursor:pointer;padding-right:28px}.postbox-messages-page input[type=date].pbx-filter-input{cursor:pointer}.postbox-messages-page .pbx-filter-actions{align-self:flex-end;display:flex;gap:6px}.modal-dialog.pbx-detail-modal .modal-content{border:1px solid var(--border-default);border-radius:10px;box-shadow:0 20px 40px #00000026}.modal-dialog.pbx-detail-modal .modal-header{background:var(--surface-page);border-bottom:1px solid var(--border-default);border-radius:10px 10px 0 0;padding:14px 20px}.modal-dialog.pbx-detail-modal .pbx-detail-title{align-items:center;color:var(--text-strong);display:flex;font-size:15px;font-weight:600;gap:10px}.modal-dialog.pbx-detail-modal .pbx-detail-id{color:var(--text-strong)}.modal-dialog.pbx-detail-modal .pbx-detail-status{border-radius:12px;display:inline-block;font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 8px;text-transform:uppercase}.modal-dialog.pbx-detail-modal .pbx-detail-rule{background:var(--surface-sunken);border-radius:4px;color:var(--text-muted);font-size:12px;font-weight:400;padding:2px 8px}.modal-dialog.pbx-detail-modal .pbx-detail-body{padding:20px}.modal-dialog.pbx-detail-modal .pbx-kv{grid-row-gap:8px;grid-column-gap:16px;column-gap:16px;display:grid;font-size:13px;grid-template-columns:140px 1fr;margin-bottom:18px;row-gap:8px}.modal-dialog.pbx-detail-modal .pbx-k{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.04em;padding-top:1px;text-transform:uppercase}.modal-dialog.pbx-detail-modal .pbx-v{color:var(--text-strong);word-break:break-word}.modal-dialog.pbx-detail-modal .pbx-v-muted{color:var(--text-muted)}.modal-dialog.pbx-detail-modal .pbx-mono{color:var(--text-body);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px}.modal-dialog.pbx-detail-modal .pbx-section-title{border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;margin:16px 0 6px;padding-bottom:4px;text-transform:uppercase}.modal-dialog.pbx-detail-modal .pbx-section-title-danger{border-bottom-color:var(--status-danger-border);color:var(--status-danger)}.modal-dialog.pbx-detail-modal .pbx-body-pre{background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:12px;margin:0;max-height:320px;overflow:auto;padding:10px 12px;white-space:pre-wrap;word-break:break-word}.modal-dialog.pbx-detail-modal .pbx-body-pre-danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.modal-dialog.pbx-detail-modal .modal-footer{background:var(--surface-page);border-radius:0 0 10px 10px;border-top:1px solid var(--border-default);padding:10px 20px}.lcs-page{margin:0 auto;max-width:1400px;padding:24px}.lcs-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.lcs-title{color:var(--text-strong);font-size:24px;font-weight:600;margin:0}.lcs-subtitle{color:var(--text-muted);font-size:14px;margin:4px 0 0}.lcs-filter-tabs{border-bottom:1px solid var(--border-default);display:flex;gap:4px;margin-bottom:16px;padding-bottom:0}.lcs-tab{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;margin-bottom:-1px;padding:10px 16px;transition:all .15s}.lcs-tab:hover{background:var(--surface-page);color:var(--text-body)}.lcs-tab.active{border-bottom-color:var(--brand-primary);color:var(--brand-primary);font-weight:600}.lcs-tab-count{align-items:center;background:var(--surface-sunken);border-radius:10px;color:var(--text-body);display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.lcs-tab.active .lcs-tab-count{background:var(--status-info-bg);color:var(--brand-primary-active)}.lcs-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.lcs-search-wrapper{flex:0 1 400px}.lcs-search{border:1px solid var(--border-strong);border-radius:8px;font-size:14px;padding:10px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.lcs-search:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.lcs-bulk-bar{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;gap:10px;padding:8px 16px}.lcs-bulk-count{color:#0369a1;font-size:13px}.lcs-bulk-btn,.lcs-bulk-count{font-weight:600;white-space:nowrap}.lcs-bulk-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;padding:6px 14px;transition:all .15s}.lcs-bulk-approve{background:var(--status-success);color:var(--text-on-brand)}.lcs-bulk-approve:hover{background:#15803d}.lcs-bulk-reject{color:var(--text-on-brand)}.lcs-bulk-reject,.lcs-bulk-reject:hover{background:var(--status-danger)}.lcs-bulk-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:4px 8px;text-decoration:underline}.lcs-bulk-clear:hover{color:var(--text-body)}.lcs-loading{color:var(--text-muted);padding:60px 20px}.lcs-error,.lcs-loading{font-size:14px;text-align:center}.lcs-error{align-items:center;background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:8px;display:flex;gap:12px;justify-content:center;padding:20px}.lcs-error,.lcs-retry-btn{color:var(--status-danger)}.lcs-retry-btn{background:#fff;border:1px solid var(--status-danger-border);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:background .15s}.lcs-retry-btn:hover{background:var(--status-danger-bg)}.lcs-empty{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;color:var(--text-muted);font-size:14px;padding:60px 20px;text-align:center}.lcs-table-container{background:#fff;border:1px solid var(--border-default);border-radius:12px;overflow:hidden;overflow-x:auto}.lcs-table{border-collapse:collapse;width:100%}.lcs-table thead{background:var(--surface-page);border-bottom:1px solid var(--border-default)}.lcs-table th{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.lcs-th-check{text-align:center!important;width:40px}.lcs-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-body);font-size:14px;padding:12px 16px;vertical-align:middle}.lcs-td-check{text-align:center;width:40px}.lcs-table tbody tr:hover{background:var(--surface-page)}.lcs-table tbody tr:last-child td{border-bottom:none}.lcs-row-selected,.lcs-row-selected:hover{background:var(--status-info-bg)!important}.lcs-faculty-name{color:var(--text-strong);font-weight:500}.lcs-faculty-email{color:var(--text-faint);font-size:12px;margin-top:2px}.lcs-status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.lcs-status-pending{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.lcs-status-approved{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.lcs-status-rejected{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.lcs-reason-cell{max-width:200px}.lcs-no-reason{color:var(--text-faint)}.lcs-reviewer-name{color:var(--text-body);font-size:13px;font-weight:500}.lcs-reviewer-date{color:var(--text-faint);font-size:11px;margin-top:2px}.lcs-reviewer-remarks{color:var(--text-muted);cursor:help;font-size:11px;font-style:italic;margin-top:4px}.lcs-actions-cell{white-space:nowrap}.lcs-action-btns{display:flex;gap:6px}.lcs-btn-approve{background:var(--status-success);border:none;border-radius:6px;color:var(--text-on-brand);cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .15s}.lcs-btn-approve:hover{background:#15803d;box-shadow:0 2px 4px #16a34a4d;transform:translateY(-1px)}.lcs-btn-reject{background:var(--status-danger);border:none;border-radius:6px;color:var(--text-on-brand);cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px;transition:all .15s}.lcs-btn-reject:hover{background:var(--status-danger);box-shadow:0 2px 4px #dc26264d;transform:translateY(-1px)}.lcs-reviewed-label{color:var(--text-faint);font-size:12px;font-style:italic}.lcs-pagination{align-items:center;display:flex;justify-content:space-between;margin-top:16px;padding:0 4px}.lcs-pagination-info{color:var(--text-muted);font-size:13px}.lcs-pagination-btns{display:flex;gap:4px}.lcs-page-btn{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:500;min-width:36px;padding:6px 12px;text-align:center;transition:all .15s}.lcs-page-btn:hover:not(:disabled){background:var(--surface-page);border-color:var(--border-strong)}.lcs-page-btn.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.lcs-page-btn:disabled{cursor:not-allowed;opacity:.4}.lcs-modal-details{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;margin-bottom:16px;padding:16px}.lcs-modal-row{border-bottom:1px solid var(--border-default);display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.lcs-modal-row:last-child{border-bottom:none}.lcs-modal-label{color:var(--text-muted);font-weight:500}.modal-footer .btn.btn-success{background-color:var(--status-success);border-color:var(--status-success);color:var(--text-on-brand)}.modal-footer .btn.btn-success:hover{background-color:#15803d;border-color:#15803d}.modal-footer .btn.btn-danger{color:var(--text-on-brand)}.modal-footer .btn.btn-danger,.modal-footer .btn.btn-danger:hover{background-color:var(--status-danger);border-color:var(--status-danger)}.modal-footer .btn.btn-secondary{background-color:#6b7280;border-color:#6b7280;color:var(--text-on-brand)}.modal-footer .btn.btn-secondary:hover{background-color:#4b5563;border-color:#4b5563}.lcs-table input[type=checkbox]{accent-color:var(--brand-primary);cursor:pointer;height:16px;width:16px}.ai-workspace-config{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.ai-workspace-config .loading-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.ai-workspace-config .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:40px;margin-bottom:16px;width:40px}.config-header{align-items:flex-start;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.config-header h1{color:var(--text-strong);font-size:24px;font-weight:700;margin:0 0 4px}.ai-workspace-config .header-subtitle{color:var(--text-muted);font-size:14px;margin:0}.ai-workspace-config .btn-save{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:opacity .2s}.ai-workspace-config .btn-save:hover{opacity:.9}.ai-workspace-config .btn-save:disabled{cursor:not-allowed;opacity:.5}.ai-workspace-config .header-actions{align-items:center;display:flex;gap:12px}.consistency-score-container{position:relative}.score-badge{align-items:center;background:var(--surface-card);border:2px solid var(--border-default);border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 14px;transition:all .2s}.score-badge:hover{background:var(--surface-page)}.score-value{font-size:18px;font-weight:700}.score-label{color:var(--text-muted);font-size:12px;font-weight:500}.score-toggle{color:var(--text-faint);font-size:10px;margin-left:4px}.validation-dropdown{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 10px 40px #0000001f;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:380px;z-index:100}.validation-header{align-items:center;background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:12px 16px}.validation-close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:18px;line-height:1;padding:0}.validation-close:hover{color:var(--text-muted)}.validation-issues{max-height:300px;overflow-y:auto}.validation-issue{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;gap:10px;padding:12px 16px}.validation-issue:last-child{border-bottom:none}.issue-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.issue-error .issue-icon{background:var(--status-danger-bg);color:var(--status-danger)}.issue-warning .issue-icon{background:var(--status-warning-bg);color:var(--status-warning)}.issue-info .issue-icon{background:var(--status-info-bg);color:var(--brand-primary)}.issue-message{color:var(--text-strong);font-size:13px;line-height:1.4}.validation-success{align-items:center;color:var(--status-success);display:flex;font-size:13px;gap:10px;padding:16px}.btn-template-picker{background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-template-picker:hover{background:var(--surface-sunken);border-color:var(--border-strong)}.btn-save-template{background:var(--surface-card);border:1px solid var(--brand-primary);border-radius:8px;color:var(--brand-primary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s}.btn-save-template:hover{background:var(--brand-primary-subtle)}.ai-workspace-config .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.ai-workspace-config .modal-content{background:var(--surface-card);border-radius:16px;box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:480px;overflow:hidden;width:100%}.ai-workspace-config .template-picker-modal{max-width:700px}.ai-workspace-config .modal-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:20px 24px}.ai-workspace-config .modal-header h2{color:var(--text-strong);font-size:18px;font-weight:600;margin:0}.ai-workspace-config .modal-close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:24px;line-height:1;padding:0}.ai-workspace-config .modal-close:hover{color:var(--text-muted)}.ai-workspace-config .modal-body{flex:1 1;overflow-y:auto;padding:24px}.ai-workspace-config .modal-footer{background:var(--surface-page);border-top:1px solid var(--border-default);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.ai-workspace-config .btn-cancel{background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.ai-workspace-config .btn-cancel:hover{background:var(--surface-sunken)}.ai-workspace-config .checkbox-group{margin-top:8px}.ai-workspace-config .checkbox-label{display:flex;gap:10px}.ai-workspace-config .checkbox-label input[type=checkbox]{height:18px;width:18px}.ai-workspace-config .checkbox-label span{color:var(--text-strong);font-size:14px}.loading-templates{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:40px}.template-section{margin-bottom:24px}.template-section:last-child{margin-bottom:0}.template-section h3{color:var(--text-faint);font-size:12px;font-weight:600;letter-spacing:.05em;margin:0 0 12px;text-transform:uppercase}.template-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.template-card{border-radius:10px;padding:16px;transition:all .2s}.template-card:hover{background:var(--surface-card);box-shadow:0 4px 12px #6366f11a}.template-name{color:var(--text-strong);font-size:14px;font-weight:600;margin-bottom:4px}.template-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-muted);display:-webkit-box;font-size:12px;line-height:1.4;margin-bottom:8px;overflow:hidden}.template-meta{align-items:center;color:var(--text-faint);display:flex;font-size:11px;gap:8px}.shared-badge{background:var(--status-info-bg);border-radius:4px;color:var(--brand-primary);font-weight:500;padding:2px 6px}.no-templates{color:var(--text-muted);padding:40px 20px;text-align:center}.no-templates p{margin:0 0 8px}.success-icon{background:var(--status-success-bg);color:var(--status-success);font-weight:700;height:24px;width:24px}.ai-workspace-config .alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.ai-workspace-config .alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7}.ai-workspace-config .alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.ai-workspace-config .alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success)}.ai-workspace-config .config-tabs{border-bottom:2px solid var(--border-default);display:flex;gap:4px;margin-bottom:24px}.ai-workspace-config .tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;margin-bottom:-2px;padding:10px 20px;transition:all .2s}.ai-workspace-config .tab-btn:hover{color:var(--brand-primary)}.ai-workspace-config .tab-btn.active{border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.ai-workspace-config .tab-btn:disabled{cursor:not-allowed;opacity:.4}.config-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.config-section h2{color:var(--text-strong);font-size:16px;font-weight:600;margin:0 0 16px}.section-divider{border-top:1px solid var(--border-default);margin-top:24px!important;padding-top:20px}.ai-workspace-config .form-group{margin-bottom:16px}.ai-workspace-config .form-group label{color:var(--text-body);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.ai-workspace-config .form-group .required{color:var(--status-danger)}.btn-use-template{background:none;border:none;cursor:pointer;font-size:13px;font-weight:500;margin-left:8px;padding:0;text-decoration:underline}.btn-use-template,.btn-use-template:hover{color:var(--brand-primary)}.field-help{color:var(--text-faint);font-size:12px;margin:0 0 6px}.ai-workspace-config .form-group input[type=number],.ai-workspace-config .form-group input[type=text],.ai-workspace-config .form-group select,.ai-workspace-config .form-group textarea{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;box-sizing:border-box;color:var(--text-strong);font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.ai-workspace-config .form-group input:focus,.ai-workspace-config .form-group select:focus,.ai-workspace-config .form-group textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.ai-workspace-config .form-group textarea{font-family:inherit;resize:vertical}.char-count{color:var(--text-faint);display:block;font-size:11px;margin-top:4px;text-align:right}.ai-workspace-config .form-row{display:flex;gap:16px}.form-group.half{flex:1 1}.ai-workspace-config .checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px}.ai-workspace-config .checkbox-label input[type=checkbox]{accent-color:var(--brand-primary);height:16px;width:16px}.test-layout{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr}.test-input-section h2,.test-result-section h2{color:var(--text-strong);font-size:16px;font-weight:600;margin:0 0 8px}.btn-test{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-test,.btn-test:hover{background:var(--brand-primary)}.btn-test:disabled{cursor:not-allowed;opacity:.5}.test-result{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;padding:16px}.response-text{color:var(--text-strong);font-size:14px;line-height:1.6;white-space:pre-wrap}.response-meta{border-top:1px solid var(--border-default);color:var(--text-faint);display:flex;font-size:12px;gap:16px;margin-top:12px;padding-top:12px}.test-placeholder{background:var(--surface-page);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-faint);padding:40px 20px;text-align:center}.template-picker{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:12px}.template-card{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;cursor:pointer;padding:12px;transition:all .15s}.template-card:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary);box-shadow:0 1px 4px #6366f11f}.template-card-name{color:var(--text-strong);font-size:13px;font-weight:600;margin-bottom:4px}.template-card-desc{color:var(--text-muted);font-size:11px;line-height:1.4}.rubric-info-banner{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.rubric-info-banner.has-rubric{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border:1px solid var(--status-warning)}.rubric-info-banner.no-rubric{background:var(--surface-sunken);border:1px solid var(--border-default)}.rubric-info-content{align-items:center;display:flex;gap:12px}.rubric-icon{font-size:20px}.rubric-details{display:flex;flex-direction:column;gap:2px}.rubric-details strong{color:var(--text-strong)}.rubric-meta{color:var(--text-muted);font-size:12px}.rubric-actions{flex-shrink:0}.rubric-link{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--brand-primary);font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s}.rubric-link:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary);cursor:pointer}.rubric-link:disabled{cursor:not-allowed;opacity:.6}.rubric-select{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);font-size:13px;margin-top:4px;min-width:200px;padding:6px 10px}.rubric-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #6366f133;outline:none}.rubric-select:disabled{cursor:not-allowed;opacity:.6}.rag-info-banner{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:20px;padding:12px 16px}.rag-info-banner.has-rag{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);border:1px solid var(--status-success)}.rag-info-banner.no-rag{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border:1px solid var(--status-warning)}.rag-info-banner.rag-processing{background:linear-gradient(135deg,var(--status-info-bg) 0,#bfdbfe 100%);border:1px solid var(--brand-primary)}.rag-info-content{align-items:center;display:flex;gap:12px}.rag-icon{font-size:20px}.rag-details{display:flex;flex-direction:column;gap:2px}.rag-details strong{color:var(--text-strong)}.rag-meta{color:var(--text-muted);font-size:12px}.rag-actions{flex-shrink:0}.rag-link{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--brand-primary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 12px;text-decoration:none;transition:all .2s}.rag-link:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.rag-link:disabled{cursor:not-allowed;opacity:.6}.rag-select{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);font-size:13px;min-width:200px;padding:6px 10px}.rag-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #6366f133;outline:none}.rag-spinner{animation:spin .6s linear infinite;border:2px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);display:inline-block;height:16px;width:16px}.boundary-levels{display:flex;flex-direction:column;gap:12px;margin-top:16px}.boundary-card{background:var(--surface-page);border:1px solid var(--border-default);border-radius:10px;padding:16px}.boundary-header h4{color:var(--text-strong);font-size:14px;font-weight:600;margin:0 0 4px}.boundary-header p{color:var(--text-muted);font-size:12px;margin:0 0 12px}.boundary-controls{display:flex;flex-wrap:wrap;gap:12px}.boundary-controls .control-group{flex:1 1;min-width:120px}.boundary-controls .control-group.full-width{flex:100% 1}.boundary-controls label{color:var(--text-muted);display:block;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.boundary-controls input,.boundary-controls select{background:#fff;border:1px solid var(--border-strong);border-radius:6px;font-size:13px;padding:8px 10px;width:100%}.boundary-controls input:focus,.boundary-controls select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.boundary-summary-grid{grid-gap:8px;background:var(--surface-page);border:1px solid var(--border-default);border-radius:10px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr);margin-top:12px;padding:12px}.boundary-summary-cell{background:#fff;border:1px solid var(--border-default);border-radius:6px;padding:8px;text-align:center}.summary-level{color:var(--text-muted);font-size:11px;font-weight:600;margin-bottom:6px;text-transform:uppercase}.summary-behavior{font-size:14px;font-weight:600;margin-bottom:4px}.summary-behavior.behavior-allow{color:var(--status-success)}.summary-behavior.behavior-redirect{color:var(--status-warning)}.summary-behavior.behavior-block{color:var(--status-danger)}.summary-tone{color:var(--text-faint);font-size:11px;text-transform:capitalize}.template-link-banner{align-items:center;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:16px;padding:14px 20px}.template-link-banner.has-update{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border:1px solid var(--status-warning)}.template-link-banner.synced{background:linear-gradient(135deg,var(--status-info-bg) 0,#bfdbfe 100%);border:1px solid var(--brand-primary)}.template-link-content{align-items:center;display:flex;gap:12px}.template-link-icon{font-size:24px}.template-link-info{display:flex;flex-direction:column;gap:2px}.template-link-info strong{color:var(--text-strong);font-size:14px}.template-link-meta{color:var(--text-muted);font-size:12px}.template-link-actions{display:flex;gap:8px}.btn-sync-template{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .2s}.btn-sync-template,.btn-sync-template:hover:not(:disabled){background:var(--status-warning)}.btn-sync-template:disabled{cursor:not-allowed;opacity:.6}.btn-unlink-template{background:#0000;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;transition:all .2s}.btn-unlink-template:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-body)}.btn-unlink-template:disabled{cursor:not-allowed;opacity:.6}.sync-modal{max-width:480px}.sync-intro{color:var(--text-body);line-height:1.5;margin:0 0 16px}.sync-intro strong{color:var(--text-strong)}.sync-version-info{background:var(--surface-page);border-radius:8px;margin-bottom:16px;padding:12px 16px}.version-row{align-items:center;display:flex;justify-content:space-between;padding:6px 0}.version-row:not(:last-child){border-bottom:1px solid var(--border-default)}.version-label{color:var(--text-muted);font-size:13px}.version-value{font-size:13px;font-weight:600}.version-new{color:var(--status-success)}.version-old{color:var(--text-faint)}.sync-warning{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:8px;padding:14px 16px}.sync-warning strong,.sync-warning ul{color:var(--status-warning-text);font-size:13px}.sync-warning ul{margin:8px 0;padding-left:20px}.sync-warning li{margin:4px 0}.warning-text{color:var(--status-warning-text);font-size:12px;font-style:italic;margin:10px 0 0}.btn-sync-confirm{background:linear-gradient(135deg,var(--status-warning),var(--status-warning));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:opacity .2s}.btn-sync-confirm:hover:not(:disabled){opacity:.9}.btn-sync-confirm:disabled{cursor:not-allowed;opacity:.6}.btn-analyze{align-items:center;background:linear-gradient(135deg,var(--brand-accent),#a855f7);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s}.btn-analyze:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-analyze:disabled{cursor:not-allowed;opacity:.6}.btn-analyze .spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.score-info-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-faint);cursor:pointer;display:flex;font-size:16px;justify-content:center;line-height:1;padding:4px;transition:all .2s}.score-info-btn:hover{background:var(--surface-sunken);color:var(--brand-primary)}.score-info-tooltip{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 10px 40px #00000026;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:320px;z-index:101}.score-info-header{align-items:center;background:linear-gradient(135deg,var(--surface-page),var(--surface-sunken));border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:12px 16px}.score-info-header h4{color:var(--text-body);font-size:13px;font-weight:600;margin:0}.score-info-close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:18px;line-height:1;padding:0}.score-info-close:hover{color:var(--text-muted)}.score-info-content{padding:16px}.score-breakdown{margin-bottom:16px}.score-breakdown-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;font-size:13px;justify-content:space-between;padding:8px 0}.score-breakdown-row:last-child{border-bottom:none}.score-breakdown-label{align-items:center;color:var(--text-body);display:flex;gap:6px}.score-breakdown-value{font-weight:600}.score-breakdown-value.positive{color:var(--status-success)}.score-breakdown-value.negative{color:var(--status-danger)}.score-breakdown-value.neutral,.score-formula{color:var(--text-muted)}.score-formula{background:var(--surface-page);border-radius:8px;font-size:12px;line-height:1.5;padding:12px}.score-formula strong{color:var(--text-body)}.ai-assessment{background:linear-gradient(135deg,var(--brand-primary-subtle),var(--brand-primary-subtle));border-top:1px solid var(--border-default);padding:12px 16px}.ai-assessment-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.ai-assessment-header span:first-child{font-size:16px}.ai-assessment-header strong{color:var(--brand-accent);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.ai-assessment-text{color:#4c1d95;font-size:13px;line-height:1.5;margin:0}.validation-issue.ai-issue{background:linear-gradient(135deg,#faf5ff,#f3e8ff);border-left:3px solid #a855f7}.ai-issue .issue-icon{background:#f3e8ff;color:#9333ea}.ai-badge{align-items:center;background:linear-gradient(135deg,#a855f7,#9333ea);border-radius:4px;color:#fff;display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:.03em;margin-left:8px;padding:2px 6px;text-transform:uppercase}.issue-suggestion{background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:6px;color:var(--status-success-text);font-size:12px;line-height:1.4;margin-top:8px;padding:8px 10px}.issue-suggestion strong{color:var(--status-success-text);display:block;margin-bottom:2px}.analyzing-indicator{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle),var(--brand-primary-subtle));color:var(--brand-accent);display:flex;font-size:13px;gap:8px;padding:12px 16px}.analyzing-indicator .spinner-small{animation:spin .8s linear infinite;border:2px solid #e9d5ff;border-radius:50%;border-top:2px solid var(--brand-accent);height:16px;width:16px}@media (max-width:768px){.config-grid,.test-layout{grid-template-columns:1fr}.config-header{gap:12px}.ai-workspace-config .form-row,.config-header{flex-direction:column}.rag-info-banner,.rubric-info-banner{align-items:flex-start;flex-direction:column;gap:12px}.boundary-controls{flex-direction:column}.boundary-controls .control-group{min-width:100%}}.ai-workspace{display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:calc(100vh - 80px);margin:0 auto;max-width:1200px;padding:20px}.ai-workspace .loading-state{align-items:center;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;justify-content:center}.ai-workspace .spinner{animation:ws-spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:40px;margin-bottom:16px;width:40px}@keyframes ws-spin{to{transform:rotate(1turn)}}.submit-success{flex:1 1;flex-direction:column;padding:40px;text-align:center}.submit-success,.success-icon{align-items:center;display:flex;justify-content:center}.success-icon{background:linear-gradient(135deg,var(--status-success),var(--status-success));border-radius:50%;color:#fff;font-size:32px;height:64px;margin-bottom:16px;width:64px}.submit-success h2{color:var(--text-strong);font-size:24px;margin:0 0 8px}.submit-success p{color:var(--text-muted);margin:0 0 24px}.submit-summary{display:flex;gap:24px}.summary-item{align-items:center;background:var(--surface-page);border-radius:8px;display:flex;flex-direction:column;padding:16px 24px}.summary-label{color:var(--text-faint);font-size:12px;margin-bottom:4px}.summary-value{color:var(--brand-primary);font-size:24px;font-weight:700}.workspace-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px}.workspace-header h1{color:var(--text-strong);font-size:20px;font-weight:700;margin:0}.header-left,.header-right{align-items:center;display:flex;gap:12px}.turns-badge{background:var(--brand-primary-subtle);color:var(--brand-accent)}.status-badge,.turns-badge{border-radius:16px;font-size:13px;font-weight:500;padding:4px 12px}.status-completed{background:var(--status-warning-bg);color:var(--status-warning)}.btn-submit{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 20px}.btn-submit:hover{opacity:.9}.ai-workspace .alert{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:14px;justify-content:space-between;margin-bottom:12px;padding:12px 16px}.ai-workspace .alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7}.ai-workspace .alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.instructions-banner{background:var(--status-info-bg);border:1px solid #bfdbfe;border-radius:8px;flex-shrink:0;margin-bottom:12px;padding:16px}.instructions-banner h3{color:var(--brand-primary-hover);font-size:14px;font-weight:600;margin:0 0 8px}.instructions-banner p{color:var(--brand-primary-active);font-size:14px;line-height:1.5;margin:0}.workspace-layout{gap:16px}.chat-area,.workspace-layout{display:flex;flex:1 1;min-height:0}.chat-area{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;flex-direction:column;overflow:hidden}.chat-area.with-panel{flex:2 1}.messages-container{flex:1 1;overflow-y:auto;padding:16px}.empty-chat{align-items:center;color:var(--text-faint);display:flex;height:100%;justify-content:center;text-align:center}.message{display:flex;gap:12px;margin-bottom:16px}.message-user{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:36px;justify-content:center;width:36px}.message-user .message-avatar{background:var(--brand-primary);color:#fff}.message-assistant .message-avatar{background:var(--surface-sunken);color:var(--text-body)}.message-content{max-width:70%}.message-text{word-wrap:break-word;border-radius:12px;font-size:14px;line-height:1.6;padding:12px 16px;white-space:pre-wrap}.message-user .message-text{background:var(--brand-primary);border-bottom-right-radius:4px;color:#fff}.message-assistant .message-text{background:var(--surface-sunken);border-bottom-left-radius:4px;color:var(--text-strong);white-space:normal}.message-assistant .message-text h1,.message-assistant .message-text h2,.message-assistant .message-text h3,.message-assistant .message-text h4{font-weight:600;line-height:1.3;margin:.75em 0 .5em}.message-assistant .message-text h1:first-child,.message-assistant .message-text h2:first-child,.message-assistant .message-text h3:first-child{margin-top:0}.message-assistant .message-text h2{border-bottom:1px solid var(--border-default);color:var(--brand-primary-active);font-size:1.1em;padding-bottom:4px}.message-assistant .message-text h3{color:var(--text-strong);font-size:1em}.message-assistant .message-text p{margin:.5em 0}.message-assistant .message-text p:first-child{margin-top:0}.message-assistant .message-text p:last-child{margin-bottom:0}.message-assistant .message-text ol,.message-assistant .message-text ul{margin:.5em 0;padding-left:1.5em}.message-assistant .message-text li{margin:.25em 0}.message-assistant .message-text strong{color:var(--text-strong);font-weight:600}.message-assistant .message-text em{font-style:italic}.message-assistant .message-text code{background:var(--surface-sunken);border-radius:4px;font-family:Courier New,monospace;font-size:.9em;padding:.15em .4em}.message-assistant .message-text pre{background:var(--surface-inverse);border-radius:6px;color:#e2e8f0;margin:.75em 0;overflow-x:auto;padding:12px}.message-assistant .message-text pre code{background:#0000;color:inherit;padding:0}.message-assistant .message-text blockquote{border-left:3px solid var(--brand-primary);color:var(--text-muted);font-style:italic;margin:.75em 0;padding-left:12px}.message-assistant .message-text hr{border:none;border-top:1px solid var(--border-default);margin:1em 0}.message-assistant .message-text table{border-collapse:collapse;font-size:.9em;margin:.75em 0;width:100%}.message-assistant .message-text td,.message-assistant .message-text th{border:1px solid var(--border-default);padding:6px 10px;text-align:left}.message-assistant .message-text th{background:var(--surface-page);font-weight:600}.message-assistant .message-text a{color:var(--brand-primary);text-decoration:underline}.message-meta{color:var(--text-faint);display:block;font-size:11px;margin-top:4px;text-align:right}.message-user .message-meta{text-align:left}.typing-indicator{background:var(--surface-sunken);border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:12px 16px}.typing-indicator span{animation:typing-bounce 1.4s ease-in-out infinite;background:#94a3b8;border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.chat-input-area{border-top:1px solid var(--border-default);flex-shrink:0;padding:12px 16px}.input-row{align-items:flex-end;display:flex;gap:8px}.input-row textarea{border:1px solid var(--border-strong);border-radius:8px;color:var(--text-strong);flex:1 1;font-family:inherit;font-size:14px;padding:10px 12px;resize:none}.input-row textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.btn-send{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;height:fit-content;padding:10px 20px}.btn-send,.btn-send:hover{background:var(--brand-primary)}.btn-send:disabled{cursor:not-allowed;opacity:.5}.input-disabled{color:var(--text-faint);font-size:14px;padding:8px;text-align:center}.reflection-panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;display:flex;flex:1 1;flex-direction:column;overflow-y:auto;padding:20px}.reflection-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.reflection-header h2{color:var(--text-strong);font-size:16px;font-weight:600;margin:0}.btn-close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:20px}.reflection-prompt{background:#fefce8;border:1px solid var(--status-warning-border);border-radius:8px;margin-bottom:16px;padding:12px}.reflection-prompt p{color:#854d0e;font-size:14px;line-height:1.5;margin:0}.reflection-panel .form-group{display:flex;flex:1 1;flex-direction:column;margin-bottom:16px}.reflection-panel .form-group label{color:var(--text-body);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.reflection-panel .form-group .required{color:var(--status-danger)}.reflection-panel textarea{border:1px solid var(--border-strong);border-radius:8px;box-sizing:border-box;color:var(--text-strong);flex:1 1;font-family:inherit;font-size:14px;min-height:120px;padding:12px;resize:vertical;width:100%}.reflection-panel textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.reflection-actions{display:flex;flex-shrink:0;gap:12px}.btn-save-draft{border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px}.btn-save-draft,.btn-save-draft:hover{background:var(--surface-sunken)}.btn-save-draft:disabled{cursor:not-allowed;opacity:.5}.btn-final-submit{background:linear-gradient(135deg,var(--status-success),var(--status-success));border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 24px}.btn-final-submit:hover{opacity:.9}.btn-final-submit:disabled{cursor:not-allowed;opacity:.5}.btn-debug-toggle{align-items:center;background:var(--surface-page);border:1px solid var(--border-strong);border-radius:50%;color:var(--brand-primary);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;width:32px}.btn-debug-toggle:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.debug-panel{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;display:flex;flex:1 1;flex-direction:column;max-height:100%;overflow-y:auto;padding:20px}.debug-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:16px}.debug-header h2{color:var(--text-strong);font-size:16px;font-weight:600;margin:0}.debug-content{flex:1 1;overflow-y:auto}.debug-section{border-bottom:1px solid var(--border-subtle);margin-bottom:20px;padding-bottom:16px}.debug-section:last-child{border-bottom:none;margin-bottom:0}.debug-section h3{color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.debug-field{align-items:flex-start;display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.debug-label{color:var(--text-muted);flex-shrink:0;margin-right:12px}.debug-value{color:var(--text-strong);font-weight:500;text-align:right;word-break:break-word}.debug-prompt{word-wrap:break-word;background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;color:var(--text-strong);font-family:Courier New,monospace;font-size:12px;margin:0;max-height:200px;overflow-y:auto;padding:10px;white-space:pre-wrap}.debug-loading{color:var(--text-faint);font-size:13px;padding:20px;text-align:center}.debug-sources{display:flex;flex-direction:column;gap:6px;margin-top:8px}.debug-source-item{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;display:flex;font-size:12px;gap:8px;padding:6px 8px}.debug-source-name{color:var(--text-strong);flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-source-page{color:var(--text-muted);flex-shrink:0;font-size:11px}.debug-source-score{color:var(--status-success);flex-shrink:0;font-size:11px;font-weight:600}.debug-panel-inline{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-top:20px;max-width:600px;padding:20px;text-align:left;width:100%}.btn-reset-small{align-items:center;background:var(--surface-page);border:1px solid var(--border-strong);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;line-height:1;width:32px}.btn-reset-small:hover{background:var(--status-danger-bg);border-color:#f87171;color:var(--status-danger)}.btn-reset{border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px}.btn-reset,.btn-reset:hover{background:var(--surface-sunken)}.btn-reset:hover{color:var(--text-strong)}.submit-actions{align-items:center;display:flex;gap:12px;justify-content:center;margin-top:24px}.btn-ask-teacher{background:linear-gradient(135deg,var(--status-warning),var(--status-warning));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:12px;padding:10px 24px;transition:all .2s}.btn-ask-teacher:hover{opacity:.9;transform:translateY(-1px)}.btn-ask-teacher:disabled{cursor:not-allowed;opacity:.5;transform:none}.ask-teacher-hint{padding:6px 0 2px;text-align:center}.btn-ask-teacher-link{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:12px;padding:0;text-decoration:underline;transition:color .2s}.btn-ask-teacher-link:hover{color:var(--status-warning)}.btn-ask-teacher-link:disabled{cursor:not-allowed;opacity:.5}.escalated-confirmation{color:var(--status-success);font-size:13px;font-weight:500;margin-top:8px;text-align:center}.workspace-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.workspace-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:24px;width:90%}.workspace-modal p{color:var(--text-strong);font-size:15px;line-height:1.5;margin:0 0 20px}.workspace-modal-actions{display:flex;gap:10px;justify-content:flex-end}.workspace-modal-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 20px;transition:all .2s}.workspace-modal-btn-cancel{color:var(--text-body)}.workspace-modal-btn-cancel,.workspace-modal-btn-cancel:hover{background:var(--surface-sunken)}.workspace-modal-btn-confirm{color:#fff}.workspace-modal-btn-confirm,.workspace-modal-btn-confirm:hover{background:var(--brand-primary)}@media (max-width:768px){.ai-workspace{height:calc(100vh - 60px);padding:12px}.workspace-layout{flex-direction:column}.message-content{max-width:85%}.workspace-header{align-items:flex-start;flex-direction:column;gap:8px}.btn-submit,.header-right{width:100%}}.offcanvas.rubric-form-offcanvas .rf-section-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;margin:24px 0 10px;text-transform:uppercase}.offcanvas.rubric-form-offcanvas .rf-section-label:first-child{margin-top:0}.offcanvas.rubric-form-offcanvas .rf-segmented{background:#f1f3f5;border:1px solid #e6e8eb;border-radius:8px;display:inline-flex;gap:2px;padding:3px}.offcanvas.rubric-form-offcanvas .rf-segment{appearance:none;background:#0000;border:0;border-radius:6px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.offcanvas.rubric-form-offcanvas .rf-segment:hover:not(.is-selected){color:var(--text-strong)}.offcanvas.rubric-form-offcanvas .rf-segment.is-selected{background:var(--surface-card);box-shadow:0 1px 3px #00000014,0 0 0 1px #0000000a;color:var(--text-strong)}.offcanvas.rubric-form-offcanvas .rf-segment:focus-visible{outline:2px solid #6c63ff;outline-offset:2px}.offcanvas.rubric-form-offcanvas .rf-level-card{background:var(--surface-card);border:1px solid #eceef0;border-radius:8px;padding:14px;transition:border-color .15s ease}.offcanvas.rubric-form-offcanvas .rf-level-card:hover{border-color:#d8dbe0}.offcanvas.rubric-form-offcanvas .rf-level-remove{opacity:0;transition:opacity .15s ease}.offcanvas.rubric-form-offcanvas .rf-level-card:hover .rf-level-remove,.offcanvas.rubric-form-offcanvas .rf-level-remove:focus-visible{opacity:1}.offcanvas.rubric-form-offcanvas .rf-status-toggle{background:#f1f3f5;border:1px solid #e6e8eb;border-radius:999px;display:inline-flex;flex-shrink:0;gap:2px;margin-top:2px;padding:2px}.offcanvas.rubric-form-offcanvas .rf-status-segment{align-items:center;appearance:none;background:#0000;border:0;border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:4px 12px;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.offcanvas.rubric-form-offcanvas .rf-status-segment:hover:not(.is-selected){color:var(--text-strong)}.offcanvas.rubric-form-offcanvas .rf-status-segment.is-selected{background:var(--surface-card);box-shadow:0 1px 3px #00000014,0 0 0 1px #0000000a}.offcanvas.rubric-form-offcanvas .rf-status-segment.is-selected.is-active{color:#157347}.offcanvas.rubric-form-offcanvas .rf-status-segment.is-selected.is-inactive{color:var(--text-body)}.offcanvas.rubric-form-offcanvas .rf-status-segment:focus-visible{outline:2px solid #6c63ff;outline-offset:2px}.offcanvas.rubric-form-offcanvas .rf-status-dot{background:var(--status-success);border-radius:50%;box-shadow:0 0 0 2px #22c55e2e;height:6px;width:6px}.rubrics-page{margin:0 auto;max-width:1400px;padding:24px}.rubrics-table{color:var(--text-strong);overflow:visible!important}.rubrics-table thead th{background-color:var(--surface-page);border-bottom:2px solid var(--border-default);color:var(--text-body);font-weight:600;padding:12px 8px}.rubrics-table tbody td{color:var(--text-strong);padding:12px 8px;vertical-align:middle}.rubrics-table tbody tr{border-bottom:1px solid var(--border-default)}.rubrics-table .badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:500;line-height:1.2;padding:3px 8px;white-space:nowrap}.rubrics-table .score-text{color:var(--brand-primary);font-weight:600}.rubrics-table .status-active{color:var(--status-success);font-weight:500}.rubrics-table .status-inactive{color:var(--text-muted);font-weight:500}.rubric-code{background:#f1f3f4;border-radius:4px;color:#5f6368;font-size:12px;padding:2px 8px}.rubrics-table .expanded-row{background-color:var(--surface-page)}.rubrics-table .expanded-row td{border-bottom:none}.rubric-preview-row{background-color:var(--surface-page)}.rubric-preview-row td{padding:0!important}.rubric-preview{background:#fff;border-top:1px solid var(--border-default);margin:0}.rubric-levels-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.rubric-level-card{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;padding:12px}.rubric-level-card .level-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.rubric-level-card .level-name{color:var(--text-strong);font-weight:600}.rubric-level-card .level-score{color:var(--brand-primary);font-size:13px;font-weight:600}.rubric-level-card .level-description{color:var(--text-muted);font-size:13px;line-height:1.4;margin:0}.rubric-level-form-item{background:var(--surface-page);transition:background .2s}.rubric-level-form-item:hover{background:var(--surface-sunken)}.rubrics-page .btn-danger{background-color:var(--status-danger)!important;border-color:var(--status-danger)!important;color:var(--text-on-brand)!important}.rubrics-page .btn-danger:hover{background-color:#bb2d3b!important;border-color:#b02a37!important}.rubrics-page .btn-primary{background-color:#6c63ff!important;border-color:#6c63ff!important;color:var(--text-on-brand)!important}.rubrics-page .btn-danger.btn-sm,.rubrics-page .btn-primary.btn-sm{font-size:13px!important;padding:4px 8px!important}.rubrics-table tbody tr.rubric-preview-row:hover,.rubrics-table tbody tr:hover{background-color:var(--surface-page)}@media (max-width:768px){.rubrics-page{padding:16px}.rubric-levels-grid{grid-template-columns:1fr}}.cfp-offcanvas{max-width:100vw;width:680px!important}@media (max-width:720px){.cfp-offcanvas{width:100%!important}}.cfp-offcanvas .cfp-header{align-items:flex-start;background:var(--surface-card);border-bottom:1px solid var(--border-default);padding:18px 24px}.cfp-header-inner{align-items:center;display:flex;gap:14px}.cfp-header-badge{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border-radius:13px;box-shadow:0 6px 14px #4f46e552;color:var(--text-on-brand);display:flex;flex-shrink:0;height:46px;justify-content:center;width:46px}.cfp-header-title{color:var(--text-strong);font-size:17px;font-weight:700;line-height:1.25;margin:0}.cfp-header-sub{color:var(--text-muted);font-size:12.5px;margin:2px 0 0}.cfp-offcanvas .cfp-body{background:var(--surface-sunken);padding:20px}.cfp-fieldset{border:none;margin:0;min-inline-size:auto;padding:0}.cfp-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;box-shadow:0 1px 2px #1018280a;margin-bottom:16px;padding:18px 20px}.cfp-section:last-child{margin-bottom:0}.cfp-section-head{align-items:center;display:flex;gap:10px;margin-bottom:16px}.cfp-section-icon{align-items:center;border-radius:9px;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.cfp-section-title{color:var(--text-strong);font-size:12.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.cfp-section-extra{background:var(--brand-primary-subtle);border-radius:20px;color:var(--brand-primary);font-size:11.5px;font-weight:600;margin-left:auto;padding:3px 11px;white-space:nowrap}.cfp-offcanvas .form-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:5px}.cfp-offcanvas .form-control,.cfp-offcanvas .form-select{background-color:var(--surface-card);border:1px solid var(--border-strong);border-radius:9px;color:var(--text-strong);display:block;font-size:13.5px;min-height:40px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.cfp-offcanvas .form-control::placeholder{color:var(--text-faint)}.cfp-offcanvas .form-control:focus,.cfp-offcanvas .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.cfp-offcanvas textarea.form-control{min-height:76px}.cfp-offcanvas .cfp-fieldset:disabled .form-control,.cfp-offcanvas .cfp-fieldset:disabled .form-select,.cfp-offcanvas .cfp-fieldset:disabled textarea.form-control{-webkit-text-fill-color:var(--text-strong);background-color:var(--surface-page);border-color:var(--border-default);color:var(--text-strong);cursor:default;opacity:1}.cfp-checklist,.cfp-offcanvas .cfp-fieldset:disabled .cfp-checklist{background:var(--surface-page)}.cfp-checklist{border:1px solid var(--border-default);border-radius:10px;max-height:200px;overflow-y:auto;padding:8px 12px}.cfp-checklist .form-check{margin:0;padding:5px 2px 5px 1.7rem}.cfp-checklist .form-check-label{color:var(--text-body);font-size:13px}.cfp-checklist .form-check-input:checked{background-color:var(--brand-primary);border-color:var(--brand-primary)}.cfp-checklist .cfp-check-all{background:#f3f4ff;border-bottom:1px solid var(--border-default);border-radius:9px 9px 0 0;margin:-8px -12px 6px;padding:8px 12px 8px calc(12px + 1.7rem);position:sticky;top:-8px;z-index:1}.cfp-checklist .cfp-check-all .form-check-label{color:var(--brand-primary);font-weight:600}.cfp-empty-hint{color:var(--text-faint);font-size:12.5px;padding:10px 4px}.cfp-chips{display:flex;flex-wrap:wrap;gap:8px}.cfp-chip{align-items:center;background:var(--status-info-bg);border:1px solid #bfdbfe;border-radius:20px;color:var(--brand-primary-hover);display:inline-flex;font-size:12.5px;font-weight:500;gap:5px;padding:5px 11px}.cfp-chip svg{flex-shrink:0;opacity:.8}.cfp-offcanvas .cfp-alert{align-items:center;border-radius:10px;display:flex}.cfp-offcanvas .cfp-footer{background:var(--surface-card);border-top:1px solid var(--border-default);display:flex;gap:10px;justify-content:flex-end;padding:14px 24px}.cfp-offcanvas .cfp-footer .btn{align-items:center;border-radius:9px;display:inline-flex;font-size:13.5px;font-weight:600;padding:9px 22px}.cfp-offcanvas .cfp-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:14px;justify-content:center;padding:90px 20px}.cm-page{margin:0 auto;max-width:1400px;padding:24px}.cm-header{flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.cm-header,.cm-header-left{align-items:center;display:flex}.cm-header-left{gap:14px}.cm-header-badge{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border-radius:14px;box-shadow:0 6px 16px #2563eb52;color:var(--text-on-brand);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.cm-header h1{color:var(--text-strong);font-size:23px;font-weight:700;line-height:1.2;margin:0}.cm-header-sub{color:var(--text-muted);font-size:13px;margin:3px 0 0}.cm-header-actions{align-items:center;display:flex;gap:10px}.cm-btn-create{align-items:center;background:var(--brand-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:background .2s}.cm-btn-create:hover{background:var(--brand-primary-hover)}.cm-alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.cm-alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.cm-alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success)}.cm-alert-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.6;padding:0 4px}.cm-alert-dismiss:hover{opacity:1}.cm-filters{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;box-shadow:0 1px 2px #1018280a;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:16px}.cm-search-wrap{flex:1 1;max-width:360px;min-width:200px;position:relative}.cm-search-icon{color:var(--text-faint);left:13px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.cm-search-input{border:1px solid var(--border-strong);border-radius:9px;font-size:14px;padding:10px 14px 10px 38px;width:100%}.cm-search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.cm-filter-select{background:#fff;border:1px solid var(--border-strong);border-radius:9px;cursor:pointer;font-size:14px;min-width:140px;padding:10px 14px}.cm-filter-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb1a;outline:none}.cm-filter-hint{color:var(--text-faint);font-size:10px;left:2px;line-height:1.2;margin-top:3px;pointer-events:none;position:absolute;top:100%;white-space:nowrap}.cm-filter-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.cm-btn-apply{background:var(--brand-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background .2s}.cm-btn-apply:hover{background:var(--brand-primary-hover)}.cm-btn-reset{background:#fff;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.cm-btn-reset:hover{background:var(--surface-page);border-color:var(--border-strong)}.cm-count{color:var(--text-muted);font-size:13px;white-space:nowrap}.cm-count strong{color:var(--text-body)}.cm-table-container{background:#fff;border:1px solid var(--border-default);border-radius:14px;box-shadow:0 1px 3px #1018280f;overflow:hidden}.cm-table{border-collapse:collapse;width:100%}.cm-table thead{background:var(--surface-page);border-bottom:1px solid var(--border-default)}.cm-table th{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.cm-table th.sortable{cursor:pointer;transition:color .15s;-webkit-user-select:none;user-select:none}.cm-table th.sortable:hover{color:var(--text-body)}.cm-table th.active-sort{color:var(--brand-primary)}.cm-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-body);font-size:14px;padding:13px 16px;vertical-align:middle}.cm-table tbody tr:last-child td{border-bottom:none}.cm-table tbody tr{transition:background .15s}.cm-table tbody tr:hover{background:var(--surface-page)}.cm-table .text-end{text-align:right}.cm-sort-icon{font-size:10px;margin-left:4px}.cm-sort-icon.inactive{opacity:.3}.cm-course-name{color:var(--text-strong);font-weight:600}.cm-cell-muted{color:var(--text-muted);font-size:13px}.cm-code-cell{color:var(--text-body);font-family:Courier New,monospace;font-size:13px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-type-chip{background:var(--brand-primary-subtle);border-radius:20px;color:var(--brand-primary);display:inline-block;font-size:12px;font-weight:600;padding:3px 11px;white-space:nowrap}.cm-centre-chips{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.cm-centre-chip{background:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-body);font-size:12px;font-weight:500;max-width:130px;overflow:hidden;padding:3px 9px;text-overflow:ellipsis;white-space:nowrap}.cm-centre-chip,.cm-centre-more{border-radius:7px;display:inline-block}.cm-centre-more{background:var(--brand-primary-subtle);color:var(--brand-primary-hover);font-size:11px;font-weight:700;padding:3px 8px}.cm-status-active{background:var(--status-success-bg);color:var(--status-success)}.cm-status-active,.cm-status-inactive{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;padding:2px 10px}.cm-status-inactive{background:var(--surface-sunken);color:var(--text-muted)}.cm-actions{align-items:center;display:flex;gap:6px;justify-content:flex-end}.cm-btn-action{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;height:30px;justify-content:center;padding:0;transition:all .15s cubic-bezier(.4,0,.2,1);width:30px}.cm-btn-action:hover{transform:translateY(-1px)}.cm-btn-docs{background:linear-gradient(135deg,#6b7280,#4b5563);box-shadow:0 1px 3px #6b72804d}.cm-btn-docs:hover{box-shadow:0 4px 8px #6b728066}.cm-btn-edit{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);box-shadow:0 1px 3px #2563eb4d}.cm-btn-edit:hover{box-shadow:0 4px 8px #2563eb66}.cm-btn-view{background:linear-gradient(135deg,#14b8a6,#0d9488);box-shadow:0 1px 3px #14b8a64d}.cm-btn-view:hover{box-shadow:0 4px 8px #14b8a666}.cm-btn-delete{background:linear-gradient(135deg,var(--status-danger) 0,var(--status-danger) 100%);box-shadow:0 1px 3px #ef44444d}.cm-btn-delete:hover{box-shadow:0 4px 8px #ef444466}.cm-pagination{align-items:center;border-top:1px solid var(--border-default);display:flex;justify-content:space-between;padding:12px 16px}.cm-pagination-info{color:var(--text-muted);font-size:13px}.cm-pagination-controls{align-items:center;display:flex;gap:8px}.cm-btn-page{background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s}.cm-btn-page:hover:not(:disabled){background:var(--surface-page);border-color:var(--border-strong)}.cm-btn-page:disabled{cursor:not-allowed;opacity:.5}.cm-page-info{color:var(--text-muted);font-size:13px}.cm-empty,.cm-loading{color:var(--text-muted);padding:60px 20px;text-align:center}.cm-empty p,.cm-loading p{font-size:14px;margin:12px 0 0}.cm-empty h5{color:var(--text-body);font-size:16px;font-weight:600;margin:12px 0 4px}.cm-empty button{margin-top:16px}.cm-header-with-back{align-items:center;display:flex;gap:16px}.cm-btn-back{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:4px;padding:8px 14px;transition:all .2s;white-space:nowrap}.cm-btn-back:hover{background:var(--surface-page);border-color:var(--border-strong)}.cm-header-subtitle{color:var(--text-muted);font-size:14px;margin:2px 0 0}.cm-btn-secondary{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.cm-btn-secondary:hover{background:var(--surface-page);border-color:var(--border-strong)}.cm-btn-create:disabled,.cm-btn-secondary:disabled{cursor:not-allowed;opacity:.6}.cm-rag-bar{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:10px;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-bottom:20px;padding:10px 16px}.cm-rag-label{color:var(--text-body);font-weight:600}.cm-rag-status-completed{color:var(--status-success);font-size:12px;font-weight:600}.cm-rag-status-processing{color:var(--status-warning);font-size:12px;font-weight:600}.cm-rag-status-failed{color:var(--status-danger);font-size:12px;font-weight:600}.cm-rag-status-none{color:var(--text-muted);font-size:12px;font-weight:600}.cm-rag-meta{color:var(--text-muted);font-size:13px}.cm-rag-error{align-items:center;color:var(--status-danger);display:flex;font-size:13px;gap:4px}.cm-doc-name-cell{align-items:center;display:flex;gap:10px}.cm-doc-icon{color:var(--text-muted);flex-shrink:0}.cm-doc-name{color:var(--text-strong);font-weight:600}.cm-doc-link{color:var(--brand-primary);font-size:12px;text-decoration:none}.cm-doc-link:hover{text-decoration:underline}.cm-chunks-count{color:var(--text-faint);font-size:10px;margin-top:1px}.bm-page{--bm-bg:var(--surface-page);--bm-surface:var(--surface-card);--bm-border:var(--border-default);--bm-border-strong:var(--border-strong);--bm-text:var(--text-strong);--bm-text-muted:var(--text-muted);--bm-text-soft:var(--text-faint);--bm-accent:var(--brand-primary);--bm-accent-hover:var(--brand-primary-hover);--bm-accent-soft:#eef2ff;--bm-accent-ring:rgba(var(--brand-primary-rgb),0.18);--bm-open:var(--status-success);--bm-open-bg:var(--status-success-bg);--bm-warning:#b45309;--bm-warning-bg:var(--status-warning-bg);--bm-danger:var(--status-danger);--bm-danger-bg:var(--status-danger-bg);--bm-shadow-sm:0 1px 2px #0f172a0a;--bm-shadow:0 1px 3px #0f172a0d,0 1px 2px #0f172a0a;font-feature-settings:"cv02","cv03","cv04","cv11";background:var(--bm-bg);color:var(--bm-text);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:28px 32px}@media (min-width:1024px){.bm-page{margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body.sidebar-collapsed .bm-page{margin-left:80px}}.bm-page .bm-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.bm-page .bm-header h1{color:var(--bm-text);font-size:22px;font-weight:600;letter-spacing:-.015em;margin:0}.bm-page .bm-header-actions{align-items:center;display:flex;gap:8px}.bm-page .bm-btn-create{align-items:center;background:var(--bm-accent);border:1px solid var(--bm-accent);border-radius:8px;box-shadow:var(--bm-shadow-sm);color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:background .15s ease,border-color .15s ease}.bm-page .bm-btn-create:hover{background:var(--bm-accent-hover);border-color:var(--bm-accent-hover)}.bm-page .bm-btn-seat-availability{align-items:center;background:var(--bm-surface);border:1px solid var(--bm-border);border-radius:8px;box-shadow:var(--bm-shadow-sm);color:var(--bm-text);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:background .15s ease,border-color .15s ease}.bm-page .bm-btn-seat-availability:hover{background:var(--surface-sunken);border-color:var(--bm-border-strong)}.bm-page .bm-alert{align-items:center;border-radius:8px;box-shadow:var(--bm-shadow-sm);display:flex;font-size:13px;justify-content:space-between;margin-bottom:14px;padding:10px 14px}.bm-page .bm-alert-error{background:var(--bm-danger-bg);border:1px solid var(--status-danger-border);color:var(--bm-danger)}.bm-page .bm-alert-success{background:var(--bm-open-bg);border:1px solid var(--status-success-border);color:var(--bm-open)}.bm-page .bm-alert-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.bm-page .bm-filters{align-items:center;background:var(--bm-surface);border:1px solid var(--bm-border);border-radius:12px;box-shadow:var(--bm-shadow-sm);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:14px 16px}.bm-page .bm-filter-select,.bm-page .bm-search-input{appearance:none;-webkit-appearance:none;background:var(--surface-card);border:1px solid var(--bm-border);border-radius:8px;color:var(--bm-text);font-family:inherit;font-size:13px;min-width:140px;padding:8px 12px;transition:border-color .15s ease,box-shadow .15s ease}.bm-page .bm-filter-select:focus,.bm-page .bm-search-input:focus{border-color:var(--bm-accent);box-shadow:0 0 0 3px var(--bm-accent-ring);outline:none}.bm-page .bm-filter-select{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2712%27 height=%2712%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2364748b%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27><polyline points=%276 9 12 15 18 9%27/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.bm-page .bm-filter-typeahead{font-size:13px;min-width:240px}.bm-page .bm-search-input{flex:1 1;min-width:220px}.bm-page .bm-filter-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.bm-page .bm-btn-apply,.bm-page .bm-btn-reset{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:background .15s ease,border-color .15s ease}.bm-page .bm-btn-apply{background:var(--bm-accent);border-color:var(--bm-accent);color:var(--text-on-brand)}.bm-page .bm-btn-apply:hover{background:var(--bm-accent-hover);border-color:var(--bm-accent-hover)}.bm-page .bm-btn-reset{background:#0000;border-color:var(--bm-border);color:var(--bm-text-muted)}.bm-page .bm-btn-reset:hover{background:var(--surface-sunken);color:var(--bm-text)}.bm-page .bm-count{font-feature-settings:"tnum";color:var(--bm-text-muted);font-size:13px;font-variant-numeric:tabular-nums}.bm-page .bm-count strong{color:var(--bm-text);font-weight:600}.bm-page .bm-table-container{background:var(--bm-surface);border:1px solid var(--bm-border);border-radius:12px;box-shadow:var(--bm-shadow);overflow:hidden}.bm-page .bm-table-scroll{max-height:calc(100vh - 280px);min-height:240px;overflow:auto}.bm-page .bm-table{border-collapse:collapse;width:100%}.bm-page .bm-table thead{position:sticky;top:0;z-index:1}.bm-page .bm-table th{background:var(--surface-page);border-bottom:1px solid var(--bm-border);color:var(--bm-text-muted);font-size:11px;font-weight:600;letter-spacing:.01em;padding:11px 14px;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.bm-page .bm-table th.bm-sortable{cursor:pointer;transition:color .15s ease}.bm-page .bm-table th.bm-sortable:hover{color:var(--bm-text)}.bm-page .bm-sort-icon{align-items:center;color:var(--bm-text-soft);display:inline-flex;margin-left:4px;vertical-align:middle}.bm-page .bm-sort-icon.bm-sort-active{color:var(--bm-accent)}.bm-page .bm-table td{font-feature-settings:"tnum";border-bottom:1px solid var(--border-subtle);color:var(--bm-text);font-size:13px;font-variant-numeric:tabular-nums;padding:13px 14px;vertical-align:middle}.bm-page .bm-table tbody tr:last-child td{border-bottom:none}.bm-page .bm-table tbody tr{transition:background .1s ease}.bm-page .bm-table tbody tr:hover td{background:var(--surface-page)}.bm-page .bm-cell-muted{color:var(--bm-text-soft)}.bm-page .bm-batch-name{color:var(--bm-accent);cursor:pointer;font-size:13px;font-weight:600}.bm-page .bm-batch-name:hover{text-decoration:underline}.bm-page .bm-batch-sub{color:var(--bm-text-soft);font-size:11px;margin-top:2px}.bm-page .bm-batch-code{font-family:ui-monospace,SF Mono,Menlo,monospace}.bm-page .bm-stack-primary{color:var(--bm-text);font-size:13px;font-weight:500}.bm-page .bm-stack-secondary{color:var(--bm-text-soft);font-size:11px;margin-top:2px}.bm-page .bm-type-pill{background:var(--surface-sunken);border-radius:999px;color:var(--bm-text-muted);display:inline-block;font-size:11px;font-weight:500;letter-spacing:.01em;padding:2px 8px}.bm-page .bm-tags{display:flex;flex-wrap:wrap;gap:4px}.bm-page .bm-tag-chip{background:var(--bm-accent-soft);border:1px solid var(--brand-primary-subtle);border-radius:999px;color:var(--bm-accent);display:inline-block;font-size:11px;font-weight:500;padding:2px 8px}.bm-page .bm-tag-more{align-self:center;color:var(--bm-text-soft);font-size:11px}.bm-page .bm-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:3px 9px}.bm-page .bm-status-pill:before{background:currentColor;border-radius:50%;content:"";display:inline-block;height:6px;width:6px}.bm-page .bm-status-active{background:var(--bm-open-bg);color:var(--bm-open)}.bm-page .bm-status-inactive{background:var(--bm-danger-bg);color:var(--bm-danger)}.bm-page .bm-strength{display:flex;flex-direction:column;gap:4px;min-width:130px}.bm-page .bm-strength-label{color:var(--bm-text);display:flex;font-size:12px;font-weight:500;justify-content:space-between}.bm-page .bm-strength-label .bm-strength-cap{color:var(--bm-text-soft);font-weight:400}.bm-page .bm-strength-bar{background:var(--surface-sunken);border-radius:999px;height:5px;overflow:hidden}.bm-page .bm-strength-fill{border-radius:999px;height:100%;transition:width .4s ease}.bm-page .bm-strength-fill.bm-fill-open{background:var(--bm-open)}.bm-page .bm-strength-fill.bm-fill-warning{background:var(--bm-warning)}.bm-page .bm-strength-fill.bm-fill-danger{background:var(--bm-danger)}.bm-page .bm-actions{display:flex;gap:6px;justify-content:flex-end}.bm-page .bm-btn-action{align-items:center;background:#0000;border:1px solid var(--bm-border);border-radius:6px;color:var(--bm-text-muted);cursor:pointer;display:inline-flex;justify-content:center;padding:6px;transition:background .15s ease,color .15s ease,border-color .15s ease}.bm-page .bm-btn-action:hover{background:var(--surface-sunken);border-color:var(--bm-border-strong);color:var(--bm-text)}.bm-page .bm-btn-edit:hover{background:var(--bm-accent-soft);border-color:var(--brand-primary-subtle);color:var(--bm-accent)}.bm-page .bm-btn-delete:hover{background:var(--bm-danger-bg);border-color:var(--status-danger-border);color:var(--bm-danger)}.bm-page .bm-empty,.bm-page .bm-loading{color:var(--bm-text-muted);font-size:13px;padding:56px 16px;text-align:center}.bm-page .bm-empty h5{color:var(--bm-text);font-size:15px;font-weight:600;margin:12px 0 4px}.bm-page .bm-pagination{align-items:center;background:var(--surface-page);border-top:1px solid var(--bm-border);display:flex;justify-content:space-between;padding:12px 16px}.bm-page .bm-pagination-info{font-feature-settings:"tnum";color:var(--bm-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.bm-page .bm-pagination-controls{align-items:center;display:flex;gap:8px}.bm-page .bm-btn-page{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:6px;color:var(--bm-text);cursor:pointer;font-size:12px;padding:6px 12px;transition:background .15s ease,border-color .15s ease}.bm-page .bm-btn-page:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--bm-border-strong)}.bm-page .bm-btn-page:disabled{cursor:not-allowed;opacity:.4}.bm-page .bm-page-info{font-feature-settings:"tnum";color:var(--bm-text-muted);font-size:12px;font-variant-numeric:tabular-nums}.bm-page .bm-skel{animation:bm-skel 1.4s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-sunken) 0,var(--surface-sunken) 50%,var(--surface-sunken) 100%);background-size:200% 100%;border-radius:6px;display:inline-block;height:13px;vertical-align:middle}.bm-page .bm-skel-bar{border-radius:999px;height:5px;width:100%}@keyframes bm-skel{0%{background-position:0 50%}to{background-position:-200% 50%}}.bm-form-panel .offcanvas-body{background:var(--surface-card)}.bm-form-panel .form-label{color:var(--text-body);display:block;font-size:12px;font-weight:500;margin-bottom:4px}.bm-form-panel .form-control,.bm-form-panel .form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;box-shadow:none;color:var(--text-strong);display:block;font-size:14px;line-height:1.4;padding:6px 10px;transition:border-color .15s,box-shadow .15s;width:100%}.bm-form-panel .form-control:focus,.bm-form-panel .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb26;outline:none}.bm-form-panel .form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:30px}.bm-form-panel textarea.form-control{min-height:60px}.bm-form-panel .row{margin-left:-6px;margin-right:-6px}.bm-form-panel .row>[class^=col-]{padding-left:6px;padding-right:6px}.bm-form-panel h6{letter-spacing:.04em}.bm-page .bm-back-link{align-items:center;background:none;border:none;color:var(--bm-accent);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-bottom:14px;padding:0}.bm-page .bm-back-link:hover{color:var(--bm-accent-hover);text-decoration:underline}.bm-view-head{gap:14px}.bm-view-badge,.bm-view-head{align-items:center;display:flex}.bm-view-badge{background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border-radius:14px;box-shadow:0 6px 16px #4f46e552;color:var(--text-on-brand);flex-shrink:0;height:48px;justify-content:center;width:48px}.bm-view-sub{align-items:center;color:var(--bm-text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-top:6px}.bm-view-sub strong{color:var(--bm-text)}.bm-view-section{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:14px;box-shadow:var(--bm-shadow-sm);margin-bottom:16px;padding:18px 20px}.bm-view-section-head{align-items:center;display:flex;gap:10px;margin-bottom:16px}.bm-view-section-icon{align-items:center;border-radius:9px;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.bm-view-section-title{color:var(--text-strong);font-size:12.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.bm-view-grid{grid-gap:14px 24px;display:grid;gap:14px 24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.bm-view-field-label{color:var(--text-muted);font-size:12px;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.bm-view-field-value{color:var(--text-strong);font-size:14px;font-weight:500;word-break:break-word}.bm-view-field-value.muted{color:var(--text-faint);font-weight:400}.bm-view-chips{display:flex;flex-wrap:wrap;gap:8px}.bm-view-chip{align-items:center;background:var(--status-info-bg);border:1px solid #bfdbfe;border-radius:20px;color:var(--brand-primary-hover);display:inline-flex;font-size:12.5px;font-weight:500;padding:5px 12px}.pm-page{margin:0 auto;max-width:1400px;padding:24px}.pm-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.pm-header h1{color:var(--text-strong);font-size:24px;font-weight:600;margin:0}.pm-back-link{align-items:center;background:none;border:none;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-size:14px;gap:6px;margin-bottom:12px;padding:0}.pm-back-link:hover{text-decoration:underline}.pm-btn-create{align-items:center;background:var(--brand-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px}.pm-btn-create:hover{background:var(--brand-primary-hover)}.pm-btn-action{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;display:inline-flex;font-size:13px;gap:4px;padding:6px 12px}.pm-btn-action:hover{background:var(--surface-sunken)}.pm-btn-action.primary{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.pm-btn-action.primary:hover{background:var(--brand-primary-hover)}.pm-alert{align-items:center;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.pm-alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.pm-alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.pm-alert-dismiss{background:none;border:none;color:inherit;cursor:pointer;font-size:18px}.pm-filters{align-items:center;background:var(--surface-page);border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px}.pm-filter-select,.pm-search-input{background:#fff;border:1px solid var(--border-strong);border-radius:6px;font-size:14px;min-width:140px;padding:8px 12px}.pm-search-input{flex:1 1;min-width:240px}.pm-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000a;overflow:hidden}.pm-table{border-collapse:collapse;width:100%}.pm-table th{background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);font-size:13px;font-weight:600;padding:12px;text-align:left}.pm-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-strong);font-size:14px;padding:12px}.pm-table tr:hover td{background:var(--surface-page)}.pm-cell-muted{color:var(--text-muted)}.pm-program-name{color:var(--brand-primary-hover);cursor:pointer;font-weight:600}.pm-program-name:hover{text-decoration:underline}.pm-status-active{background:var(--status-success-bg);color:var(--status-success-text)}.pm-status-active,.pm-status-inactive{border-radius:4px;font-size:12px;padding:2px 8px}.pm-status-inactive{background:var(--status-danger-bg);color:var(--status-danger)}.pm-empty,.pm-loading{color:var(--text-muted);padding:48px 16px;text-align:center}.pm-section{background:#fff;border-radius:8px;box-shadow:0 1px 2px #0000000a;margin-bottom:16px;padding:20px}.pm-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.pm-section-header h3{color:var(--text-strong);font-size:16px;font-weight:600;margin:0}.pm-intake-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.pm-intake-card{border:1px solid var(--border-default);border-radius:6px;display:flex;flex-direction:column;gap:4px;padding:12px}.pm-intake-card-name{color:var(--text-strong);font-weight:600}.pm-intake-card-meta{color:var(--text-muted);font-size:12px}.pm-intake-card-actions{display:flex;gap:6px;margin-top:8px}.pm-meta-row{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:13px;gap:24px;margin-top:4px}.pm-pagination{align-items:center;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:12px 16px}.pm-btn-page{background:#fff;border:1px solid var(--border-strong);border-radius:4px;cursor:pointer;font-size:14px;padding:6px 12px}.pm-btn-page:disabled{cursor:not-allowed;opacity:.5}.pm-form-panel .form-label{color:var(--text-body);display:block;font-size:12px;font-weight:500;margin-bottom:4px}.pm-form-panel .form-control,.pm-form-panel .form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;box-shadow:none;color:var(--text-strong);display:block;font-size:14px;line-height:1.4;padding:6px 10px;width:100%}.pm-form-panel .form-control:focus,.pm-form-panel .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb26;outline:none}.pm-form-panel .form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:30px}.pm-form-panel .row{margin-left:-6px;margin-right:-6px}.pm-form-panel .row>[class^=col-]{padding-left:6px;padding-right:6px}.pm-modal-dialog{max-width:520px}.pm-modal .modal-content{background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;box-shadow:0 20px 48px #0f172a2e;overflow:hidden}.pm-modal .modal-header{background:var(--surface-page);border-bottom:1px solid var(--border-subtle);padding:18px 22px}.pm-modal .modal-title{color:var(--text-strong);font-size:17px;font-weight:600}.pm-modal .modal-header .btn-close{opacity:.6}.pm-modal .modal-header .btn-close:hover{opacity:1}.pm-modal .modal-body{padding:22px}.pm-modal .modal-footer{background:var(--surface-page);border-top:1px solid var(--border-subtle);gap:8px;padding:14px 22px}.pm-modal-context{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:10px;display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:20px;padding:12px 14px}.pm-modal-context-item{display:flex;flex-direction:column;gap:2px;min-width:0}.pm-modal-context-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pm-modal-context-value{color:var(--text-strong);font-size:14px;font-weight:600}.pm-modal .form-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:6px}.pm-modal .form-control,.pm-modal .form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;box-shadow:none;color:var(--text-strong);display:block;font-size:14px;line-height:1.4;padding:9px 12px;width:100%}.pm-modal .form-control::placeholder{color:var(--text-muted)}.pm-modal .form-control:focus,.pm-modal .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2563eb26;outline:none}.pm-modal .form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;cursor:pointer;padding-right:34px}.pm-modal .row{margin-left:-6px;margin-right:-6px}.pm-modal .row>[class^=col-]{padding-left:6px;padding-right:6px}.portlet-config{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1400px;padding:20px}.portlet-config .tab-bar{border-bottom:2px solid var(--border-default);display:flex;gap:0;margin-bottom:20px}.portlet-config .tab-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;margin-bottom:-2px;padding:10px 24px;transition:all .15s}.portlet-config .tab-btn:hover{color:var(--text-body)}.portlet-config .tab-btn.active{border-bottom-color:var(--brand-primary);color:var(--brand-primary)}.portlet-config .toggle-section{border:1px solid var(--border-default);border-radius:6px;padding:4px 0}.portlet-config .toggle-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:8px 12px}.portlet-config .toggle-row:last-child{border-bottom:none}.portlet-config .toggle-label{color:var(--text-body);font-size:13px}.portlet-config .toggle-row input[type=checkbox]{accent-color:var(--brand-primary);cursor:pointer;height:16px;width:16px}.portlet-config .loading-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.portlet-config .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:40px;margin-bottom:16px;width:40px}.portlet-config .config-header{align-items:flex-start;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.portlet-config .config-header h1{color:var(--text-strong);font-size:24px;font-weight:700;margin:0 0 4px}.portlet-config .header-subtitle{color:var(--text-muted);font-size:14px;margin:0}.portlet-config .header-actions{display:flex;gap:12px}.portlet-config .btn-add{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.portlet-config .btn-add,.portlet-config .btn-add:hover{background:var(--status-success)}.portlet-config .btn-save{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px}.portlet-config .btn-save:hover{opacity:.9}.portlet-config .btn-save:disabled{cursor:not-allowed;opacity:.5}.portlet-config .alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.portlet-config .alert button{background:none;border:none;color:inherit;cursor:pointer;font-size:18px;opacity:.7}.portlet-config .alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.portlet-config .alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success)}.portlet-config .config-content{display:flex;gap:24px}.portlet-config .portlet-grid-container{flex:1 1}.portlet-config .category-section{margin-bottom:24px}.portlet-config .category-title{border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 12px;padding-bottom:8px;text-transform:uppercase}.portlet-config .portlet-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.portlet-config .portlet-card{align-items:center;border:2px solid #0000;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;min-height:100px;padding:16px;position:relative;text-align:center;transition:all .2s}.portlet-config .portlet-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.portlet-config .portlet-card.selected{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f133}.portlet-config .portlet-card.hidden{opacity:.5}.portlet-config .portlet-card.dragging{opacity:.5;transform:scale(.95)}.portlet-config .portlet-icon{font-size:32px;margin-bottom:8px}.portlet-config .portlet-info h3{color:var(--text-strong);font-size:13px;font-weight:600;margin:0 0 4px;text-shadow:none}.portlet-config .portlet-type{background:#0000001a;border-radius:4px;color:var(--text-strong);font-size:10px;padding:2px 6px;text-transform:uppercase}.portlet-config .portlet-actions{position:absolute;right:8px;top:8px}.portlet-config .btn-visibility{background:#ffffff4d;border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:4px 6px}.portlet-config .btn-visibility:hover{background:#ffffff80}.portlet-config .add-card{background:var(--surface-page)!important;border:2px dashed var(--border-strong);justify-content:center}.portlet-config .add-card:hover{background:var(--brand-primary-subtle)!important;border-color:var(--brand-primary)}.portlet-config .add-icon{color:var(--text-faint);font-size:24px;margin-bottom:4px}.portlet-config .add-card span{color:var(--text-muted);font-size:12px}.portlet-config .detail-panel{background:#fff;border:1px solid var(--border-default);border-radius:12px;height:fit-content;position:sticky;top:20px;width:320px}.portlet-config .panel-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:16px}.portlet-config .panel-header h3{color:var(--text-strong);font-size:16px;font-weight:600;margin:0}.portlet-config .btn-close{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:24px}.portlet-config .btn-close:hover{color:var(--text-muted)}.portlet-config .panel-body{padding:16px}.portlet-config .panel-actions{border-top:1px solid var(--border-default);margin-top:16px;padding-top:16px}.portlet-config .btn-delete{border:1px solid var(--status-danger-border);border-radius:8px;color:var(--status-danger);cursor:pointer;font-size:14px;font-weight:500;padding:10px;width:100%}.portlet-config .btn-delete,.portlet-config .btn-delete:hover{background:var(--status-danger-bg)}.portlet-config .btn-mode-toggle{background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.portlet-config .btn-mode-toggle:hover{background:var(--surface-sunken)}.portlet-config .btn-mode-toggle.active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.portlet-config .json-editor{background:var(--surface-inverse);border:1px solid #334155;border-radius:8px;color:#e2e8f0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;line-height:1.5;min-height:300px;padding:12px;resize:vertical}.portlet-config .json-editor:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.portlet-config .json-error{background:var(--status-danger-bg);border-radius:6px;color:var(--status-danger);font-size:13px;margin-top:8px;padding:8px 12px}.portlet-config .btn-json-save{background:var(--gradient-brand);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px;width:100%}.portlet-config .btn-json-save:hover{opacity:.9}.portlet-config .form-group{margin-bottom:16px}.portlet-config .form-group label{color:var(--text-body);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.portlet-config .form-group input[type=text],.portlet-config .form-group select,.portlet-config .form-group textarea{background:#fff;border:1px solid var(--border-strong);border-radius:8px;box-sizing:border-box;color:var(--text-strong);font-size:14px;padding:10px 12px;width:100%}.portlet-config .form-group input:focus,.portlet-config .form-group select:focus,.portlet-config .form-group textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.portlet-config .checkbox-label{align-items:center;cursor:pointer;display:flex!important;gap:8px;margin-top:8px}.portlet-config .checkbox-label input[type=checkbox]{accent-color:var(--brand-primary);height:16px;width:16px}.portlet-config .emoji-picker{display:flex;flex-wrap:wrap;gap:4px}.portlet-config .emoji-btn{background:#fff;border:1px solid var(--border-default);border-radius:6px;cursor:pointer;font-size:18px;height:36px;transition:all .15s;width:36px}.portlet-config .emoji-btn.selected,.portlet-config .emoji-btn:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.portlet-config .emoji-btn.selected{box-shadow:0 0 0 2px #6366f133}.portlet-config .gradient-picker{display:flex;flex-wrap:wrap;gap:6px}.portlet-config .gradient-btn{border:2px solid #0000;border-radius:6px;cursor:pointer;height:32px;transition:all .15s;width:32px}.portlet-config .gradient-btn:hover{transform:scale(1.1)}.portlet-config .gradient-btn.selected{border-color:#1e293b;box-shadow:0 0 0 2px #1e293b33}.portlet-config .role-hint{color:var(--text-faint);font-size:11px;font-weight:400;margin-left:6px}.portlet-config .role-selector{border:1px solid var(--border-strong);border-radius:8px;overflow:hidden}.portlet-config .role-chips{display:flex;flex-wrap:wrap;gap:4px;padding:8px 8px 4px}.portlet-config .role-chip{align-items:center;background:var(--brand-primary-subtle);border-radius:4px;color:var(--brand-primary-hover);display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.portlet-config .role-chip button{background:none;border:none;color:var(--brand-primary);cursor:pointer;font-size:14px;line-height:1;padding:0}.portlet-config .role-chip button:hover{color:var(--status-danger)}.portlet-config .role-search{background:var(--surface-page);border:none;border-bottom:1px solid var(--border-default);border-top:1px solid var(--border-default);box-sizing:border-box;color:var(--text-strong);font-size:13px;outline:none;padding:8px 10px;width:100%}.portlet-config .role-search:focus{background:#fff}.portlet-config .role-list{max-height:180px;overflow-y:auto;padding:4px 0}.portlet-config .role-list-item{align-items:center;color:var(--text-body);cursor:pointer;display:flex!important;font-size:13px;font-weight:400;gap:8px;margin:0;padding:5px 10px}.portlet-config .role-list-item:hover{background:var(--surface-sunken)}.portlet-config .role-list-item input[type=checkbox]{accent-color:var(--brand-primary);flex-shrink:0;height:14px;width:14px}.portlet-config .role-list-empty{color:var(--text-faint);font-size:13px;padding:12px 10px;text-align:center}.portlet-config .children-editor{display:flex;flex-direction:column;gap:8px}.portlet-config .child-item{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;padding:10px}.portlet-config .child-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.portlet-config .child-item-number{color:var(--text-faint);font-size:11px;font-weight:600;text-transform:uppercase}.portlet-config .child-item-remove{background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:18px;line-height:1;padding:0}.portlet-config .child-item-remove:hover{color:var(--status-danger)}.portlet-config .child-item input[type=text]{background:#fff;border:1px solid var(--border-strong);border-radius:6px;box-sizing:border-box;color:var(--text-strong);font-size:13px;margin-bottom:6px;padding:7px 10px;width:100%}.portlet-config .child-item input[type=text]:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #6366f11a;outline:none}.portlet-config .child-item .checkbox-label{font-size:12px;margin-top:2px}.portlet-config .btn-add-child{background:var(--surface-sunken);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;text-align:center}.portlet-config .btn-add-child:hover{background:var(--surface-sunken);border-color:var(--brand-primary);color:var(--brand-primary)}.portlet-config .modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex!important;height:100vh;justify-content:center;left:0;opacity:1!important;position:fixed;right:0;top:0;visibility:visible!important;width:100vw;z-index:1100}.portlet-config .modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0003;display:block!important;max-height:90vh;max-width:560px;opacity:1!important;overflow:auto;position:relative!important;transform:none!important;visibility:visible!important;width:100%;z-index:1101}.portlet-config .modal-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;padding:20px}.portlet-config .modal-header h2{color:var(--text-strong);font-size:18px;font-weight:600;margin:0}.portlet-config .modal-body{padding:20px}.portlet-config .type-selector p{color:var(--text-muted);margin:0 0 20px;text-align:center}.portlet-config .type-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.portlet-config .type-option{align-items:center;background:#fff;border:2px solid var(--border-default);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:20px 12px;transition:all .15s}.portlet-config .type-option:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.portlet-config .type-icon{font-size:28px;margin-bottom:8px}.portlet-config .type-name{color:var(--text-strong);font-size:14px;font-weight:600;margin-bottom:4px}.portlet-config .type-desc{color:var(--text-faint);font-size:11px;text-align:center}.portlet-config .form-actions{border-top:1px solid var(--border-default);display:flex;gap:12px;margin-top:20px;padding-top:16px}.portlet-config .btn-cancel{border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px}.portlet-config .btn-cancel,.portlet-config .btn-cancel:hover{background:var(--surface-sunken)}.portlet-config .form-actions .btn-save{flex:1 1}@media (max-width:768px){.portlet-config .config-header{flex-direction:column;gap:12px}.portlet-config .config-content{flex-direction:column}.portlet-config .detail-panel{position:static;width:100%}.portlet-config .type-options{grid-template-columns:1fr}}.lucide-browse-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.btn-lucide-browse{align-items:center;background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:7px 12px;transition:background .12s,border-color .12s}.btn-lucide-browse:hover{background:var(--brand-primary-subtle);border-color:#a5b4fc}.lucide-current{align-items:center;color:var(--text-body);display:inline-flex;font-size:12px;gap:6px}.icon-color-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.icon-color-label{color:var(--text-muted);font-size:12px;font-weight:600}.icon-color-swatches{align-items:center;display:inline-flex;flex-wrap:wrap;gap:6px}.icon-color-swatch{border:1px solid var(--border-strong);border-radius:50%;cursor:pointer;height:22px;padding:0;transition:transform .1s;width:22px}.icon-color-swatch:hover{transform:scale(1.12)}.icon-color-swatch.selected{outline:2px solid var(--brand-primary);outline-offset:1px}.icon-color-custom{background:none;height:26px;padding:0;width:26px}.icon-color-custom,.icon-color-reset{border:1px solid var(--border-strong);border-radius:6px;cursor:pointer}.icon-color-reset{background:var(--surface-card);color:var(--text-body);font-size:12px;padding:5px 10px}.icon-color-reset:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.tenant-prefs{grid-gap:24px;background:var(--surface-page);display:grid;gap:24px;grid-template-columns:240px 1fr;min-height:calc(100vh - 60px);padding:24px 28px}.tenant-prefs .tp-side{align-self:start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;padding:16px 12px;position:sticky;top:16px}.tenant-prefs .tp-side h2{color:var(--text-body);font-size:13px;font-weight:700;letter-spacing:.6px;margin:4px 8px 12px;text-transform:uppercase}.tenant-prefs .tp-side h2.tp-group-heading{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.8px;margin:2px 8px 8px}.tenant-prefs .tp-side .tp-nav-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-strong);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:2px;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.tenant-prefs .tp-side .tp-nav-btn:hover{background:var(--surface-sunken)}.tenant-prefs .tp-side .tp-nav-btn.active{background:var(--gradient-brand);color:var(--text-on-brand);font-weight:600}.tenant-prefs .tp-side .tp-nav-btn .tp-nav-icon{font-size:16px;text-align:center;width:18px}.tenant-prefs .tp-side .tp-divider{background:var(--surface-sunken);height:1px;margin:12px 8px}.tenant-prefs .tp-side .tp-related-link{align-items:stretch;border-radius:8px;color:var(--text-muted);display:flex;gap:2px;margin-bottom:1px;width:100%}.tenant-prefs .tp-side .tp-related-link:hover{background:var(--surface-sunken)}.tenant-prefs .tp-side .tp-related-link-main{align-items:center;background:#0000;border:none;border-radius:8px 0 0 8px;color:inherit;cursor:pointer;display:flex;flex:1 1;font-size:13px;gap:8px;justify-content:space-between;min-width:0;padding:8px 8px 8px 12px;text-align:left}.tenant-prefs .tp-side .tp-related-link-main:hover{color:var(--text-strong)}.tenant-prefs .tp-side .tp-related-link-copy{align-items:center;background:#0000;border:none;border-radius:0 8px 8px 0;color:var(--text-faint);cursor:pointer;display:inline-flex;justify-content:center;padding:0;transition:background .15s ease,color .15s ease;width:28px}.tenant-prefs .tp-side .tp-related-link-copy:hover{background:var(--surface-sunken);color:var(--brand-primary-hover)}.tenant-prefs .tp-main{min-width:0}.tenant-prefs .tp-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.tenant-prefs .tp-header h1{color:var(--text-strong);font-size:24px;font-weight:700;margin:0 0 4px}.tenant-prefs .tp-header .tp-subtitle{color:var(--text-muted);font-size:14px;margin:0}.tenant-prefs .tp-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:16px;padding:20px 24px}.tenant-prefs .tp-card h3{color:var(--text-strong);font-size:16px;font-weight:600;margin:0 0 4px}.tenant-prefs .tp-card .tp-card-desc{color:var(--text-muted);font-size:13px;margin:0 0 16px}.tenant-prefs .tp-slot-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.tenant-prefs .tp-slot{background:var(--surface-page);border:1px solid var(--border-default);border-radius:10px;display:flex;flex-direction:column;gap:10px;padding:14px}.tenant-prefs .tp-slot-label{color:var(--text-strong);font-size:13px;font-weight:600}.tenant-prefs .tp-slot-hint{color:var(--text-faint);font-size:11px;margin-top:-6px}.tenant-prefs .tp-preview{align-items:center;background:var(--surface-card) linear-gradient(45deg,var(--surface-sunken) 25%,#0000 25%,#0000 75%,var(--surface-sunken) 75%) 0 0/16px 16px,linear-gradient(45deg,var(--surface-sunken) 25%,#0000 25%,#0000 75%,var(--surface-sunken) 75%) 8px 8px/16px 16px;background-color:var(--surface-card);border:1px dashed var(--border-strong);border-radius:8px;display:flex;height:96px;justify-content:center;overflow:hidden}.tenant-prefs .tp-preview img{max-height:92px;max-width:100%;object-fit:contain}.tenant-prefs .tp-preview .tp-empty{color:var(--text-faint);font-size:12px}.tenant-prefs .tp-slot input[type=text]{border:1px solid var(--border-strong);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:8px 10px;width:100%}.tenant-prefs .tp-slot input[type=text]:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.tenant-prefs .tp-url-row{align-items:stretch;display:flex;gap:6px}.tenant-prefs .tp-url-row input[type=text]{flex:1 1;min-width:0}.tenant-prefs .tp-url-copy{align-items:center;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;display:inline-flex;justify-content:center;padding:0;transition:background .15s ease,color .15s ease,border-color .15s ease;width:32px}.tenant-prefs .tp-url-copy:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--brand-primary-subtle);color:var(--brand-primary-hover)}.tenant-prefs .tp-url-copy:disabled{cursor:not-allowed;opacity:.4}.tenant-prefs .tp-slot-actions{display:flex;gap:8px}.tenant-prefs .tp-btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 12px;transition:background .15s ease}.tenant-prefs .tp-btn-primary{background:var(--gradient-brand);color:var(--text-on-brand)}.tenant-prefs .tp-btn-primary:hover{filter:brightness(1.05)}.tenant-prefs .tp-btn-primary:disabled{cursor:not-allowed;opacity:.6}.tenant-prefs .tp-btn-secondary{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-strong)}.tenant-prefs .tp-btn-secondary:hover{background:var(--surface-page)}.tenant-prefs .tp-btn-danger-text{background:#0000;color:var(--status-danger);padding:6px 8px}.tenant-prefs .tp-btn-danger-text:hover{background:var(--status-danger-bg)}.tenant-prefs .tp-dimensions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(160px,1fr));max-width:480px}.tenant-prefs .tp-field-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:4px}.tenant-prefs .tp-field-input{border:1px solid var(--border-strong);border-radius:6px;font-size:14px;padding:8px 10px;width:100%}.tenant-prefs .tp-field-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.tenant-prefs .tp-dimensions .tp-slot-hint{line-height:1.4;margin-top:6px}.tenant-prefs .tp-secret-row{align-items:stretch;display:flex;gap:8px}.tenant-prefs .tp-secret-row .tp-field-input{flex:1 1;min-width:0}.tenant-prefs .tp-secret-toggle{flex:0 0 auto;padding:8px 10px}.tenant-prefs .tp-feature-row{align-items:center;border-top:1px solid var(--border-subtle);display:flex;gap:16px;justify-content:space-between;padding:14px 0}.tenant-prefs .tp-feature-row:first-of-type{border-top:none}.tenant-prefs .tp-feature-label{color:var(--text-strong);font-weight:600;margin-bottom:2px}.tenant-prefs .tp-switch{background:#cbd5e1;border:none;border-radius:999px;cursor:pointer;flex:0 0 auto;height:24px;padding:0;position:relative;transition:background .15s ease;width:44px}.tenant-prefs .tp-switch.on{background:var(--brand-accent)}.tenant-prefs .tp-switch:disabled{cursor:wait;opacity:.6}.tenant-prefs .tp-switch-knob{background:var(--surface-card);border-radius:999px;box-shadow:0 1px 3px #00000040;height:18px;left:3px;position:absolute;top:3px;transition:transform .15s ease;width:18px}.tenant-prefs .tp-switch.on .tp-switch-knob{transform:translateX(20px)}.tenant-prefs .tp-toolbar{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;bottom:16px;box-shadow:0 4px 14px #0f172a0f;display:flex;gap:10px;justify-content:flex-end;padding:12px 16px;position:sticky;z-index:5}.tenant-prefs .tp-toolbar .tp-dirty-flag{color:var(--status-warning-text);font-size:13px;font-weight:500;margin-right:auto}.tenant-prefs .tp-alert{align-items:center;border-radius:8px;display:flex;font-size:13px;gap:12px;justify-content:space-between;margin-bottom:16px;padding:10px 14px}.tenant-prefs .tp-alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.tenant-prefs .tp-alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.tenant-prefs .tp-empty-tab{background:var(--surface-card);border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-muted);padding:48px 24px;text-align:center}.tenant-prefs .tp-empty-tab h3{color:var(--text-strong);font-size:18px;margin:0 0 8px}.tenant-prefs .tp-empty-tab p{font-size:14px;margin:0}.tenant-prefs .tp-loading{color:var(--text-faint);padding:80px;text-align:center}.tenant-prefs .tp-appprops-meta{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.tenant-prefs .tp-appprops-link{color:var(--brand-primary-hover);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-decoration:none;word-break:break-all}.tenant-prefs .tp-appprops-link:hover{text-decoration:underline}.tenant-prefs .tp-appprops-toggle{display:inline-flex;gap:6px}.tenant-prefs .tp-appprops-textarea{background:var(--surface-page);border:1px solid var(--border-strong);border-radius:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;padding:10px 12px;resize:vertical;width:100%}.tenant-prefs .tp-appprops-textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.tenant-prefs .tp-appprops-textarea-json{background:var(--surface-inverse);border-color:#1e293b;color:#e2e8f0;font-size:12px;min-height:420px}.tenant-prefs .tp-appprops-textarea-json:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f140}.tenant-prefs .tp-appprops-preview{background:var(--surface-card);border:1px dashed var(--border-strong);border-radius:8px;margin-top:12px;padding:12px}.tenant-prefs .tp-appprops-preview-frame{overflow:auto}.tenant-prefs .tp-appprops-otherkeys{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));list-style:none;margin:0;padding:0}.tenant-prefs .tp-appprops-otherkeys li{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:8px 10px}.tenant-prefs .tp-appprops-otherkeys code{color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:900px){.tenant-prefs{grid-template-columns:1fr}.tenant-prefs .tp-side{position:static}}.tenant-prefs .tp-sp-gallery{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:16px}.tenant-prefs .tp-sp-opt{background:var(--surface-card);border:1.5px solid var(--border-default);border-radius:12px;cursor:pointer;font:inherit;padding:10px;position:relative;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;width:100%}.tenant-prefs .tp-sp-opt:hover{box-shadow:0 10px 24px -14px #6366f173;transform:translateY(-2px)}.tenant-prefs .tp-sp-opt:focus-visible{outline:3px solid var(--brand-accent);outline-offset:2px}.tenant-prefs .tp-sp-opt.selected{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f12e,0 10px 24px -14px #6366f173}.tenant-prefs .tp-sp-check{align-items:center;background:var(--gradient-brand);border-radius:99px;color:var(--text-on-brand);display:none;height:20px;justify-content:center;position:absolute;right:8px;top:8px;width:20px}.tenant-prefs .tp-sp-opt.selected .tp-sp-check{display:flex}.tenant-prefs .tp-sp-opt h4{color:var(--text-strong);font-size:13.5px;font-weight:700;margin:8px 2px 2px}.tenant-prefs .tp-sp-opt p{color:var(--text-muted);font-size:11.5px;line-height:1.45;margin:5px 2px 2px}.tenant-prefs .tp-sp-route{background:var(--brand-primary-subtle);border-radius:6px;color:var(--brand-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:500;padding:1px 6px}.tenant-prefs .tp-sp-badges{display:flex;gap:4px;left:8px;position:absolute;top:8px;z-index:1}.tenant-prefs .tp-sp-badge{border-radius:99px;font-size:9px;font-weight:700;letter-spacing:.4px;padding:2px 7px;text-transform:uppercase}.tenant-prefs .tp-sp-badge-live{background:var(--status-success-bg);color:var(--status-success-text)}.tenant-prefs .tp-sp-badge-reco{background:var(--brand-primary-subtle);color:var(--brand-accent)}.tenant-prefs .tp-sp-thumb{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px;height:92px;overflow:hidden;padding:7px}.tenant-prefs .tp-sp-thumb-custom{align-items:center;border-style:dashed;color:var(--text-faint);display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;justify-content:center}.tenant-prefs .tp-sp-sk{background:#cbd5e1;border-radius:3px}.tenant-prefs .tp-sp-sk-brand{background:var(--gradient-brand)}.tenant-prefs .tp-sp-sk-sky{background:#7dd3fc}.tenant-prefs .tp-sp-sk-soft{background:var(--surface-sunken)}.tenant-prefs .tp-sp-row{display:flex;gap:4px}.tenant-prefs .tp-sp-flex1{flex:1 1;min-width:0}.tenant-prefs .tp-sp-preview-head{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.tenant-prefs .tp-sp-preview-head h3{font-size:14px;margin:0}.tenant-prefs .tp-sp-spacer{flex:1 1}.tenant-prefs .tp-sp-seg{border:1px solid var(--border-default);border-radius:8px;display:flex;overflow:hidden}.tenant-prefs .tp-sp-seg button{align-items:center;background:var(--surface-card);border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;gap:5px;padding:5px 12px}.tenant-prefs .tp-sp-seg button.on{background:var(--brand-primary-subtle);color:var(--brand-primary-hover);font-weight:600}.tenant-prefs .tp-sp-openlive{align-items:center;border:none;border-radius:8px;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:600;gap:5px;padding:6px 12px}.tenant-prefs .tp-sp-openlive,.tenant-prefs .tp-sp-openlive:hover{background:var(--brand-primary-subtle)}.tenant-prefs .tp-sp-openlive:focus-visible,.tenant-prefs .tp-sp-save:focus-visible,.tenant-prefs .tp-sp-seg button:focus-visible{outline:3px solid var(--brand-accent);outline-offset:2px}.tenant-prefs .tp-sp-browser{border:1px solid var(--border-default);border-radius:10px;margin:0 auto;max-width:100%;overflow:hidden;transition:max-width .3s ease}.tenant-prefs .tp-sp-browser.mobile{max-width:320px}.tenant-prefs .tp-sp-chrome{align-items:center;background:var(--surface-sunken);border-bottom:1px solid var(--border-default);display:flex;gap:8px;padding:7px 10px}.tenant-prefs .tp-sp-b{background:#cbd5e1;border-radius:99px;flex:0 0 auto;height:9px;width:9px}.tenant-prefs .tp-sp-url{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;color:var(--text-body);flex:1 1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden;padding:3px 10px;text-overflow:ellipsis;white-space:nowrap}.tenant-prefs .tp-sp-url b{color:var(--brand-primary);font-weight:600}.tenant-prefs .tp-sp-stage{background:var(--surface-card);min-height:240px;padding:14px}.tenant-prefs .tp-sp-preview-note{color:var(--text-faint);font-size:11.5px;margin:8px 2px 0}.tenant-prefs .tp-sp-hero{align-items:center;background:var(--gradient-brand);border-radius:10px;display:flex;gap:12px;padding:14px}.tenant-prefs .tp-sp-avatar{background:#ffffffd9;border-radius:99px;flex:0 0 auto;height:40px;width:40px}.tenant-prefs .tp-sp-heroline{background:#ffffffbf;border-radius:4px;height:9px}.tenant-prefs .tp-sp-ring{border:5px solid #fff6;border-radius:99px;border-top-color:#fff;flex:0 0 auto;height:44px;margin-left:auto;width:44px}.tenant-prefs .tp-sp-pillrow{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tenant-prefs .tp-sp-pill{background:var(--brand-primary-subtle);border-radius:99px;flex:1 1;height:26px;min-width:60px}.tenant-prefs .tp-sp-cardgrid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.tenant-prefs .tp-sp-mockcard{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;height:64px;padding:8px}.tenant-prefs .tp-sp-mockcard .tp-sp-ic{margin-bottom:6px}.tenant-prefs .tp-sp-ic{border-radius:6px;flex:0 0 auto;height:18px;width:18px}.tenant-prefs .tp-sp-ln{background:#cbd5e1;border-radius:4px;height:7px;margin-bottom:5px}.tenant-prefs .tp-sp-navband{align-items:center;background:var(--brand-primary-subtle);border-radius:8px;display:flex;gap:8px;height:30px;margin-bottom:12px;padding:0 10px}.tenant-prefs .tp-sp-navband .tp-sp-ln{background:var(--brand-primary-subtle);margin-bottom:0}.tenant-prefs .tp-sp-tilegrid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(78px,1fr))}.tenant-prefs .tp-sp-tile{align-items:center;aspect-ratio:1.15;background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;display:flex;flex-direction:column;gap:6px;justify-content:center}.tenant-prefs .tp-sp-tile .tp-sp-ic{border-radius:7px;height:22px;width:22px}.tenant-prefs .tp-sp-tile .tp-sp-ln{height:6px;margin-bottom:0}.tenant-prefs .tp-sp-listrow{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;display:flex;gap:10px;margin-bottom:8px;padding:10px}.tenant-prefs .tp-sp-listrow .tp-sp-ic{border-radius:7px;height:22px;width:22px}.tenant-prefs .tp-sp-listrow .tp-sp-ln{height:8px;margin-bottom:0}.tenant-prefs .tp-sp-listrow .tp-sp-flex1 .tp-sp-ln:first-child{margin-bottom:5px}.tenant-prefs .tp-sp-custom-stage{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;min-height:212px;padding:0 12px;text-align:center}.tenant-prefs .tp-sp-custom-stage label{color:var(--text-muted);font-size:12.5px}.tenant-prefs .tp-sp-custom-input{align-items:center;border:1.5px solid var(--brand-primary-subtle);border-radius:10px;display:flex;max-width:100%;overflow:hidden}.tenant-prefs .tp-sp-custom-input .tp-sp-custom-prefix{background:var(--brand-primary-subtle);border-right:1px solid var(--brand-primary-subtle);color:var(--brand-primary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:9px 10px;white-space:nowrap}.tenant-prefs .tp-sp-custom-input input{background:var(--surface-card);border:none;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;max-width:45vw;outline:none;padding:9px 12px;width:190px}.tenant-prefs .tp-sp-hint{font-size:11.5px;max-width:52ch}.tenant-prefs .tp-sp-hint-ok{color:var(--status-success-text)}.tenant-prefs .tp-sp-hint-warn{color:var(--status-warning-text)}.tenant-prefs .tp-sp-hint-error{color:var(--status-danger)}.tenant-prefs .tp-sp-savebar{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}.tenant-prefs .tp-sp-delta{color:var(--text-body);font-size:13px}.tenant-prefs .tp-sp-chip{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:1px 7px}.tenant-prefs .tp-sp-chip.to{background:var(--brand-primary-subtle);border-color:var(--brand-primary-subtle);color:var(--brand-primary-hover);font-weight:600}.tenant-prefs .tp-sp-arrow{color:var(--text-faint);margin:0 6px}.tenant-prefs .tp-sp-save{margin-left:auto}.tenant-prefs .tp-sp-savenote{color:var(--text-faint);flex-basis:100%;font-size:11.5px}.tenant-prefs .tp-sp-savenote code{color:var(--brand-primary);font-size:11px}@media (prefers-reduced-motion:reduce){.tenant-prefs .tp-sp-browser,.tenant-prefs .tp-sp-opt{transition:none}.tenant-prefs .tp-sp-opt:hover{transform:none}}.tenant-prefs .tp-sys-clock-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(240px,1fr));margin:4px 0 14px}@media (max-width:720px){.tenant-prefs .tp-sys-clock-row{grid-template-columns:1fr}}.tenant-prefs .tp-sys-clock{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;padding:16px 18px}.tenant-prefs .tp-sys-clock.selected{background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-color:var(--brand-primary-subtle)}.tenant-prefs .tp-sys-clock.pending{background:linear-gradient(135deg,var(--status-warning-bg) 0,#fef9c3 60%);border-color:var(--status-warning-border)}.tenant-prefs .tp-sys-clock.server{background:var(--surface-page)}.tenant-prefs .tp-sys-clock-head{align-items:center;color:var(--text-muted);display:flex;font-size:11.5px;font-weight:700;gap:6px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.tenant-prefs .tp-sys-clock-time{font-feature-settings:"tnum";color:var(--text-strong);font-size:34px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.5px;line-height:1.1}.tenant-prefs .tp-sys-clock-date{color:var(--text-muted);font-size:13px;margin:2px 0 10px}.tenant-prefs .tp-sys-chiprow{display:flex;flex-wrap:wrap;gap:6px}.tenant-prefs .tp-sys-chip{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:999px;color:var(--text-body);display:inline-flex;font-size:11.5px;font-weight:600;padding:2px 9px;white-space:nowrap}.tenant-prefs .tp-sys-chip.warn{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.tenant-prefs .tp-sys-banner{align-items:flex-start;border-radius:10px;display:flex;font-size:13px;gap:10px;line-height:1.5;margin-bottom:12px;padding:12px 14px}.tenant-prefs .tp-sys-banner svg{flex-shrink:0;margin-top:2px}.tenant-prefs .tp-sys-banner.warn{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.tenant-prefs .tp-sys-banner.ok{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.tenant-prefs .tp-sys-banner.info{background:var(--status-info-bg);border:1px solid #bfdbfe;color:var(--brand-primary-active)}.tenant-prefs .tp-sys-picker{margin-top:6px;max-width:480px;position:relative}.tenant-prefs .tp-sys-picker-input{position:relative}.tenant-prefs .tp-sys-picker-input .tp-field-input{padding-left:32px}.tenant-prefs .tp-sys-picker-icon{color:var(--text-faint);left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tenant-prefs .tp-sys-picker-list{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 12px 32px #0f172a24;left:0;max-height:320px;overflow-y:auto;padding:4px;position:absolute;right:0;top:calc(100% + 4px);z-index:30}.tenant-prefs .tp-sys-picker-group{background:var(--surface-page);border-radius:6px;color:var(--text-faint);font-size:10.5px;font-weight:700;letter-spacing:.6px;padding:5px 10px;position:sticky;text-transform:uppercase;top:0}.tenant-prefs .tp-sys-picker-item{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-strong);cursor:pointer;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:7px 10px;text-align:left;width:100%}.tenant-prefs .tp-sys-picker-item.hl{background:var(--brand-primary-subtle)}.tenant-prefs .tp-sys-picker-item.current{color:var(--brand-primary);font-weight:700}.tenant-prefs .tp-sys-picker-zone{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-prefs .tp-sys-picker-offset{font-feature-settings:"tnum";color:var(--text-faint);flex-shrink:0;font-size:11.5px;font-variant-numeric:tabular-nums}.tenant-prefs .tp-sys-picker-empty{color:var(--text-faint);font-size:13px;padding:14px;text-align:center}.tenant-prefs .tp-sys-from-preview{background:var(--surface-page);border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-body);font-size:13px;margin-top:12px;padding:10px 14px}.tenant-prefs .tp-theme-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-top:12px}.tenant-prefs .tp-theme-swatch{align-items:stretch;background:var(--surface-card);background:var(--surface-card,var(--surface-card));border:2px solid var(--border-default,var(--border-default));border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px;text-align:left;transition:border-color .15s,box-shadow .15s}.tenant-prefs .tp-theme-swatch:hover{border-color:var(--border-strong,var(--border-strong))}.tenant-prefs .tp-theme-swatch.selected{border-color:var(--brand-primary,var(--brand-primary));box-shadow:0 0 0 3px #eef2ff;box-shadow:0 0 0 3px var(--brand-primary-subtle,#eef2ff)}.tenant-prefs .tp-theme-swatch-strip{border-radius:6px;height:34px}.tenant-prefs .tp-theme-swatch-name{color:var(--text-strong);color:var(--text-strong,var(--text-strong));font-size:13px;font-weight:700}.tenant-prefs .tp-theme-swatch-desc{color:var(--text-muted);color:var(--text-muted,var(--text-muted));font-size:11px;line-height:1.35}.tenant-prefs .tp-theme-overrides{align-items:flex-end;display:flex;flex-wrap:wrap;gap:18px}.tenant-prefs .tp-theme-color-field{color:var(--text-strong);color:var(--text-body,var(--text-strong));display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:4px}.tenant-prefs .tp-theme-color-field input[type=color]{background:var(--surface-card);background:var(--surface-card,var(--surface-card));border:1px solid var(--border-default,var(--border-default));border-radius:6px;cursor:pointer;height:34px;padding:2px;width:64px}.tenant-prefs .tp-theme-color-field input[type=text]{border:1px solid var(--border-default,var(--border-default));border-radius:6px;font-family:monospace;font-size:12px;padding:5px 8px;width:96px}.tenant-prefs .tp-theme-dark-toggle{align-items:center;color:var(--text-strong);color:var(--text-body,var(--text-strong));cursor:pointer;display:flex;font-size:13px;gap:8px;margin-bottom:8px}.tenant-prefs .tp-theme-dark-default{align-items:center;color:var(--text-muted);color:var(--text-muted,var(--text-muted));display:flex;font-size:12px;gap:8px}.tenant-prefs .tp-theme-dark-default select{border:1px solid var(--border-default,var(--border-default));border-radius:6px;font-size:12px;padding:4px 8px}.tenant-prefs .tp-theme-preview-tabs{display:flex;gap:6px;margin-bottom:10px}.tenant-prefs .tp-theme-preview-tab{background:var(--surface-card);background:var(--surface-card,var(--surface-card));border:1px solid var(--border-default,var(--border-default));border-radius:999px;color:var(--text-muted);color:var(--text-muted,var(--text-muted));cursor:pointer;font-size:12px;font-weight:600;padding:4px 12px}.tenant-prefs .tp-theme-preview-tab.active{background:var(--brand-primary);background:var(--brand-primary,var(--brand-primary));border-color:var(--brand-primary,var(--brand-primary));color:var(--text-on-brand)}.tenant-prefs .tp-theme-preview{border:1px solid var(--border-default,var(--border-default));border-radius:10px;overflow:hidden}.tenant-prefs .tp-theme-preview-nav{align-items:center;color:var(--text-on-brand);display:flex;font-size:13px;font-weight:600;gap:8px;padding:10px 14px}.tenant-prefs .tp-theme-preview-body{padding:16px}.tenant-prefs .tp-theme-preview-card{border-radius:10px;max-width:420px;padding:14px}.tenant-prefs .tp-theme-actions{display:flex;justify-content:flex-end;margin-top:4px}.tenant-prefs .tp-footer-column-block{background:var(--surface-page);border:1px solid var(--border-default);border-radius:10px;margin-bottom:14px;padding:14px}.tenant-prefs .tp-footer-column-head{align-items:center;display:flex;gap:8px;margin-bottom:10px}.tenant-prefs .tp-footer-column-head .tp-field-input{flex:1 1;font-weight:600}.tenant-prefs .tp-footer-link-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(120px,1fr) minmax(180px,2fr) auto;margin-bottom:8px}.tenant-prefs .tp-footer-preview{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;padding:20px 24px;text-align:center}.tenant-prefs .tp-footer-preview-tagline{color:var(--text-strong);font-size:14px;font-weight:600;margin-bottom:14px}.tenant-prefs .tp-footer-preview-columns{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:14px;text-align:left}.tenant-prefs .tp-footer-preview-coltitle{color:var(--text-strong);font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.tenant-prefs .tp-footer-preview-link{color:var(--text-link);font-size:13px;margin-bottom:4px}.tenant-prefs .tp-footer-preview-social{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.tenant-prefs .tp-footer-preview-socialpill{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary);font-size:11px;font-weight:600;padding:3px 10px;text-transform:capitalize}.tenant-prefs .tp-footer-preview-copyright{border-top:1px solid var(--border-default);color:var(--text-muted);font-size:12px;padding-top:10px}.tenant-prefs .tp-footer-preview-powered{color:var(--text-muted);font-size:11px;margin-top:4px}.error-help{padding:24px 28px 48px}.error-help .eh-header h1{color:var(--text-strong);font-size:22px;font-weight:700;margin:0 0 4px}.error-help .eh-subtitle{color:var(--text-muted);font-size:13.5px;margin:0 0 20px;max-width:720px}.error-help .eh-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:18px;max-width:860px;padding:20px 22px}.error-help .eh-lookup-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.error-help .eh-code-input{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;letter-spacing:1px;padding:10px 14px;text-transform:uppercase;width:220px}.error-help .eh-code-input:focus{border-color:var(--brand-primary);outline:none}.error-help .eh-btn{align-items:center;background:var(--brand-primary);border:none;border-radius:8px;color:#fff;color:var(--text-on-brand,#fff);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;padding:10px 18px}.error-help .eh-btn:disabled{cursor:default;opacity:.6}.error-help .eh-error{background:#dc354514;background:var(--status-danger-bg,#dc354514);border:1px solid #dc3545;border:1px solid var(--status-danger,#dc3545);border-radius:8px;color:#b02a37;color:var(--status-danger-text,#b02a37);font-size:13.5px;margin-top:14px;max-width:860px;padding:10px 14px}.error-help .eh-result-code{background:var(--brand-primary);border-radius:999px;color:#fff;color:var(--text-on-brand,#fff);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:700;letter-spacing:1px;margin-right:10px;padding:3px 12px}.error-help .eh-result-area{color:var(--text-muted);font-size:12.5px;letter-spacing:.5px;text-transform:uppercase}.error-help .eh-result-title{color:var(--text-strong);font-size:17px;font-weight:700;margin:10px 0 2px}.error-help .eh-section-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.6px;margin:16px 0 6px;text-transform:uppercase}.error-help .eh-student-msg{border-left:3px solid var(--border-default);color:var(--text-muted);font-size:13.5px;font-style:italic;padding-left:10px}.error-help .eh-cause{color:var(--text-strong);font-size:14px;line-height:1.55}.error-help .eh-steps{margin:0;padding-left:20px}.error-help .eh-steps li{color:var(--text-strong);font-size:14px;line-height:1.6;margin-bottom:6px}.error-help .eh-fix-link{align-items:center;background:var(--brand-primary);border:none;border-radius:8px;color:#fff;color:var(--text-on-brand,#fff);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:6px;margin-top:12px;padding:9px 16px}.error-help .eh-browse-item{align-items:baseline;background:none;border:none;border-bottom:1px solid var(--border-default);cursor:pointer;display:flex;gap:10px;padding:9px 0;text-align:left;width:100%}.error-help .eh-browse-item:last-child{border-bottom:none}.error-help .eh-browse-code{color:var(--brand-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;white-space:nowrap}.error-help .eh-browse-title{color:var(--text-strong);font-size:13.5px}.ana-hub{background:var(--surface-page);min-height:calc(100vh - 60px);padding:24px 28px}.ana-hub .ana-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.ana-hub .ana-header h1{align-items:center;color:var(--text-strong);display:flex;font-size:26px;font-weight:700;gap:12px;letter-spacing:-.4px;margin:0 0 6px}.ana-hub .ana-header h1 .ana-header-icon{align-items:center;background:var(--gradient-brand);border-radius:12px;color:var(--text-on-brand);display:inline-flex;height:42px;justify-content:center;width:42px}.ana-hub .ana-subtitle{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0;max-width:760px}.ana-hub .ana-section-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.7px;margin:28px 4px 12px;text-transform:uppercase}.ana-hub .ana-section-label:first-of-type{margin-top:8px}.ana-hub .ana-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.ana-hub .ana-tile{background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;cursor:pointer;display:block;overflow:hidden;padding:18px 18px 16px;position:relative;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}.ana-hub .ana-tile:after{background:var(--gradient-brand);content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .18s ease}.ana-hub .ana-tile:hover{border-color:var(--brand-primary-subtle);box-shadow:0 8px 24px #6366f11f;transform:translateY(-2px)}.ana-hub .ana-tile:hover:after{opacity:1}.ana-hub .ana-tile-head{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.ana-hub .ana-tile-icon{align-items:center;border-radius:12px;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.ana-hub .ana-tile-icon.ai{background:linear-gradient(135deg,var(--brand-primary-subtle),#c4b5fd);color:var(--brand-accent)}.ana-hub .ana-tile-icon.learning{background:linear-gradient(135deg,var(--status-info-bg),#bfdbfe);color:var(--brand-primary-hover)}.ana-hub .ana-tile-icon.engagement{background:linear-gradient(135deg,var(--status-warning-bg),var(--status-warning-bg));color:var(--status-warning-text)}.ana-hub .ana-tile-icon.executive{background:linear-gradient(135deg,#fecdd3,#fda4af);color:#be123c}.ana-hub .ana-tile-icon.operations{background:linear-gradient(135deg,var(--status-success-bg),var(--status-success-bg));color:var(--status-success-text)}.ana-hub .ana-tile-icon.finance{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0e7490}.ana-hub .ana-tile-badge{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:999px;color:var(--text-body);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.4px;padding:3px 8px;text-transform:uppercase}.ana-hub .ana-tile-badge.new{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.ana-hub .ana-tile-title{color:var(--text-strong);font-size:15px;font-weight:600;letter-spacing:-.1px;margin:0 0 4px}.ana-hub .ana-tile-desc{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0}.ana-hub .ana-tile-meta{align-items:center;color:var(--text-faint);display:flex;font-size:12px;justify-content:space-between;margin-top:14px}.ana-hub .ana-tile-url{color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ana-hub .ana-tile-arrow{align-items:center;color:var(--brand-primary);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:500;gap:3px}.ana-hub .ana-related{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;padding:16px 18px}.ana-hub .ana-related-label{color:var(--text-faint);font-size:11px;font-weight:700;letter-spacing:.6px;margin-right:4px;text-transform:uppercase}.ana-hub .ana-related-link{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;color:var(--text-strong);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:background .15s ease,border-color .15s ease,color .15s ease}.ana-hub .ana-related-link:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary-subtle);color:var(--brand-primary-hover)}.mbx-page{grid-gap:24px;background:var(--surface-page);display:grid;gap:24px;grid-template-columns:240px 1fr;min-height:calc(100vh - 60px);padding:24px 28px}.mbx-page .mbx-side{align-self:start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;padding:16px 12px;position:sticky;top:16px}.mbx-page .mbx-side h2{color:var(--text-body);font-size:13px;font-weight:700;letter-spacing:.6px;margin:4px 8px 12px;text-transform:uppercase}.mbx-page .mbx-nav-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-strong);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:2px;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.mbx-page .mbx-nav-btn:hover{background:var(--surface-sunken)}.mbx-page .mbx-nav-btn.active{background:var(--gradient-brand);color:var(--text-on-brand);font-weight:600}.mbx-page .mbx-nav-btn.active .mbx-nav-pill{background:#ffffff40;border-color:#0000;color:var(--text-on-brand)}.mbx-page .mbx-nav-icon{flex-shrink:0;width:18px}.mbx-page .mbx-nav-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mbx-page .mbx-nav-pill{background:var(--surface-page);border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.3px;min-width:22px;padding:2px 7px;text-align:center}.mbx-page .mbx-divider{background:var(--surface-sunken);height:1px;margin:12px 8px}.mbx-page .mbx-main{min-width:0}.mbx-page .mbx-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.mbx-page .mbx-header h1{color:var(--text-strong);font-size:24px;font-weight:700;letter-spacing:-.4px;margin:0 0 4px}.mbx-page .mbx-subtitle{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0;max-width:760px}.mbx-page .mbx-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:16px;padding:20px 24px}.mbx-page .mbx-card-head{align-items:center;display:flex;gap:12px;margin-bottom:8px}.mbx-page .mbx-card-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:10px;color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.mbx-page .mbx-card h3{color:var(--text-strong);font-size:16px;font-weight:600;margin:0}.mbx-page .mbx-card .mbx-card-desc{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 18px}.mbx-page .mbx-card-desc code,.mbx-page code{background:var(--surface-sunken);border-radius:4px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 6px}.mbx-page .mbx-card-desc a{color:var(--brand-primary);text-decoration:underline;text-underline-offset:2px}.mbx-page .mbx-card-desc a:hover{color:var(--brand-primary-hover)}.mbx-page .mbx-provider-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-bottom:8px}.mbx-page .mbx-provider-tile{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;display:flex;gap:14px;padding:16px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.mbx-page .mbx-provider-tile:hover{border-color:var(--brand-primary-subtle);box-shadow:0 4px 14px #6366f114;transform:translateY(-1px)}.mbx-page .mbx-provider-icon{align-items:center;border-radius:12px;color:var(--text-on-brand);display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.mbx-page .mbx-provider-icon.gmail{background:linear-gradient(135deg,#ea4335,#c5221f)}.mbx-page .mbx-provider-icon.outlook{background:linear-gradient(135deg,#0078d4,#005a9e)}.mbx-page .mbx-provider-info{flex:1 1;min-width:0}.mbx-page .mbx-provider-name{color:var(--text-strong);font-size:15px;font-weight:600}.mbx-page .mbx-provider-sub{color:var(--text-muted);font-size:12px;margin-top:2px}.mbx-page .mbx-conn-list{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.mbx-page .mbx-conn-row{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:16px;padding:16px 20px;transition:background .1s ease}.mbx-page .mbx-conn-row:last-child{border-bottom:none}.mbx-page .mbx-conn-row:hover{background:var(--surface-page)}.mbx-page .mbx-conn-avatar{align-items:center;border-radius:10px;color:var(--text-on-brand);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.mbx-page .mbx-conn-avatar.gmail{background:linear-gradient(135deg,#ea4335,#c5221f)}.mbx-page .mbx-conn-avatar.outlook{background:linear-gradient(135deg,#0078d4,#005a9e)}.mbx-page .mbx-conn-body{flex:1 1;min-width:0}.mbx-page .mbx-conn-email{align-items:center;color:var(--text-strong);display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:8px}.mbx-page .mbx-conn-meta{color:var(--text-muted);font-size:12px;margin-top:4px}.mbx-page .mbx-conn-meta .mbx-error-text{color:var(--status-danger);margin-left:10px}.mbx-page .mbx-conn-actions{display:flex;flex-shrink:0;gap:6px}.mbx-page .mbx-pill{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;gap:4px;letter-spacing:.3px;padding:3px 9px;text-transform:uppercase}.mbx-page .mbx-pill.success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.mbx-page .mbx-pill.warn{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.mbx-page .mbx-pill.danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.mbx-page .mbx-pill.muted{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-muted)}.mbx-page .mbx-provider-chip{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-hover);font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 8px}.mbx-page .mbx-row{margin-bottom:14px}.mbx-page .mbx-field-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:6px}.mbx-page .mbx-field-label .mbx-field-hint{color:var(--text-faint);font-weight:400;margin-left:6px}.mbx-page .mbx-input,.mbx-page .mbx-select{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-strong);font-family:inherit;font-size:14px;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.mbx-page .mbx-input.mono,.mbx-page .mbx-input[type=password]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.mbx-page .mbx-input:focus,.mbx-page .mbx-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.mbx-page .mbx-input::placeholder{color:var(--text-faint)}.mbx-page .mbx-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 14px;transition:background .15s ease,filter .15s ease;white-space:nowrap}.mbx-page .mbx-btn-sm{font-size:13px;padding:6px 10px}.mbx-page .mbx-btn-primary{background:var(--gradient-brand);color:var(--text-on-brand)}.mbx-page .mbx-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.mbx-page .mbx-btn-primary:disabled{cursor:not-allowed;opacity:.55}.mbx-page .mbx-btn-secondary{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-strong)}.mbx-page .mbx-btn-secondary:hover:not(:disabled){background:var(--surface-page)}.mbx-page .mbx-btn-secondary:disabled{cursor:not-allowed;opacity:.55}.mbx-page .mbx-btn-danger{background:var(--surface-card);border-color:var(--status-danger-border);color:var(--status-danger)}.mbx-page .mbx-btn-danger:hover:not(:disabled){background:var(--status-danger-bg);border-color:var(--status-danger-border)}.mbx-page .mbx-btn-danger-solid{background:linear-gradient(135deg,var(--status-danger) 0,var(--status-danger) 100%);color:var(--text-on-brand)}.mbx-page .mbx-btn-danger-solid:hover:not(:disabled){filter:brightness(1.05)}.mbx-page .mbx-alert{align-items:flex-start;border-radius:10px;display:flex;font-size:13px;gap:12px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.mbx-page .mbx-alert-icon{flex-shrink:0;margin-top:1px}.mbx-page .mbx-alert-body{flex:1 1}.mbx-page .mbx-alert-close{background:#0000;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.mbx-page .mbx-alert-close:hover{opacity:1}.mbx-page .mbx-alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.mbx-page .mbx-alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.mbx-page .mbx-alert-info{background:var(--status-info-bg);border:1px solid #bfdbfe;color:var(--status-info-text)}.mbx-page .mbx-loading{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:14px;padding:60px 24px}.mbx-page .mbx-spinner{animation:mbx-spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:32px;width:32px}@keyframes mbx-spin{to{transform:rotate(1turn)}}.mbx-page .mbx-empty{background:var(--surface-card);border:1px dashed var(--border-strong);border-radius:12px;padding:56px 24px;text-align:center}.mbx-page .mbx-empty-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:14px;color:var(--brand-primary);display:inline-flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.mbx-page .mbx-empty h3{color:var(--text-strong);font-size:16px;margin:0 0 6px}.mbx-page .mbx-empty p{color:var(--text-muted);font-size:13px;margin:0 0 16px}.mbx-page .mbx-toolbar{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;bottom:16px;box-shadow:0 4px 14px #0f172a0f;display:flex;gap:10px;justify-content:flex-end;padding:12px 16px;position:sticky;z-index:5}.mbx-page .mbx-source-banner{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border:1px solid var(--brand-primary-subtle);border-radius:10px;color:var(--brand-primary-hover);display:flex;flex-wrap:wrap;font-size:13px;gap:14px;margin-bottom:16px;padding:12px 16px}.mbx-page .mbx-source-item{align-items:center;display:inline-flex;gap:5px}.modal-dialog.mbx-modal .modal-content{border:none;border-radius:14px;box-shadow:0 24px 60px #0f172a33;overflow:hidden}.modal-dialog.mbx-modal .modal-header{background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);border-bottom:1px solid var(--status-danger-border);padding:16px 22px}.modal-dialog.mbx-modal .modal-title{color:var(--status-danger-text);font-size:16px;font-weight:700;letter-spacing:-.2px}.modal-dialog.mbx-modal .modal-body{color:var(--text-strong);font-size:14px;line-height:1.5;padding:22px}.modal-dialog.mbx-modal .modal-body p{margin:0 0 10px}.modal-dialog.mbx-modal .modal-body p:last-child{margin-bottom:0}.modal-dialog.mbx-modal .modal-footer{background:var(--surface-page);border-top:1px solid var(--border-subtle);padding:14px 22px}.modal-dialog.mbx-modal .btn-primary{background:var(--gradient-brand);border:none}.modal-dialog.mbx-modal .btn-primary:hover:not(:disabled){filter:brightness(1.05)}.modal-dialog.mbx-modal .btn-danger{background:linear-gradient(135deg,var(--status-danger) 0,var(--status-danger) 100%);border:none}.modal-dialog.mbx-modal .btn-danger:hover:not(:disabled){filter:brightness(1.05)}@media (min-width:1024px){.mbx-page{margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body.sidebar-collapsed .mbx-page{margin-left:80px}}@media (max-width:900px){.mbx-page{grid-template-columns:1fr}.mbx-page .mbx-side{position:static}.mbx-page .mbx-conn-row{flex-wrap:wrap}}.pg-page{--pg-accent:var(--brand-primary);--pg-accent-2:#8b5cf6;--pg-grad:var(--gradient-brand);--pg-ring:rgba(var(--brand-primary-rgb),0.16);--pg-card-shadow:0 1px 2px rgba(var(--surface-inverse-rgb),0.04),0 8px 24px -12px rgba(var(--surface-inverse-rgb),0.12);grid-gap:26px;background:radial-gradient(1200px 400px at 100% -10%,rgba(var(--brand-accent-rgb),.06),#0000 60%),radial-gradient(900px 380px at -10% 0,rgba(var(--brand-primary-rgb),.05),#0000 55%),#f6f7fb;color:var(--text-strong);display:grid;gap:26px;grid-template-columns:250px 1fr;min-height:calc(100vh - 60px);padding:28px 32px}.pg-page .pg-side{align-self:start;background:var(--surface-card);border:1px solid #eef0f4;border-radius:16px;box-shadow:var(--pg-card-shadow);padding:18px 12px;position:sticky;top:16px}.pg-page .pg-side h2{color:var(--text-faint);font-size:12px;font-weight:700;letter-spacing:.8px;margin:4px 10px 14px;text-transform:uppercase}.pg-page .pg-nav-btn{align-items:center;background:#0000;border:none;border-radius:11px;color:var(--text-body);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:11px;margin-bottom:3px;padding:11px 13px;text-align:left;transition:background .18s ease,color .18s ease,transform .18s ease;width:100%}.pg-page .pg-nav-btn:hover{background:#f4f5fb;color:var(--text-strong)}.pg-page .pg-nav-btn.active{background:var(--pg-grad);box-shadow:0 8px 18px -8px #6366f1b3;color:var(--text-on-brand);font-weight:600}.pg-page .pg-nav-btn.active .pg-nav-pill{background:#ffffff38;border-color:#0000;color:var(--text-on-brand)}.pg-page .pg-nav-icon{flex-shrink:0;opacity:.9;text-align:center;width:18px}.pg-page .pg-nav-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-page .pg-nav-pill{border:1px solid;border-radius:999px;flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 8px;text-transform:uppercase}.pg-page .pg-nav-pill.configured{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.pg-page .pg-nav-pill.unconfigured{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.pg-page .pg-main{min-width:0}.pg-page .pg-header{align-items:flex-end;border-bottom:1px solid #ebedf3;display:flex;gap:16px;justify-content:space-between;margin-bottom:22px;padding-bottom:18px}.pg-page .pg-header h1{color:var(--text-strong);font-size:25px;font-weight:750;letter-spacing:-.5px;margin:0 0 6px}.pg-page .pg-subtitle{color:var(--text-muted);font-size:13.5px;line-height:1.55;margin:0;max-width:760px}.pg-page .pg-card{background:var(--surface-card);border:1px solid #eef0f4;border-radius:16px;box-shadow:var(--pg-card-shadow);margin-bottom:18px;padding:22px 26px;position:relative;transition:box-shadow .2s ease,transform .2s ease}.pg-page .pg-card:hover{box-shadow:0 1px 2px #0f172a0d,0 18px 40px -20px #0f172a38}.pg-page .pg-card-head{align-items:center;display:flex;gap:13px;margin-bottom:16px}.pg-page .pg-card-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:12px;box-shadow:inset 0 0 0 1px #6366f114;color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.pg-page .pg-card h3{color:var(--text-strong);font-size:16.5px;font-weight:650;letter-spacing:-.2px;margin:0}.pg-page .pg-card .pg-card-desc{color:var(--text-muted);font-size:13px;line-height:1.55;margin:0 0 18px}.pg-page .pg-card .pg-card-desc code{background:var(--surface-sunken);border-radius:5px;color:var(--brand-primary-hover);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1.5px 6px}.pg-page .pg-card .pg-section-title{align-items:center;border-bottom:1px solid #eef0f4;color:var(--text-body);display:flex;font-size:12px;font-weight:700;gap:9px;letter-spacing:.06em;margin:24px 0 15px;padding-bottom:9px;text-transform:uppercase}.pg-page .pg-card .pg-section-title:before{background:var(--pg-grad);border-radius:3px;content:"";height:13px;width:3px}.pg-page .pg-row{grid-gap:16px;display:grid;gap:16px;margin-bottom:16px}.pg-page .pg-row-2{grid-template-columns:1fr 1fr}.pg-page .pg-row-3{grid-template-columns:1fr 1fr 1fr}.pg-page .pg-row-1-2{grid-template-columns:1fr 2fr}.pg-page .pg-field-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:7px}.pg-page .pg-input,.pg-page .pg-select{background:#fcfcfe;border:1px solid #e2e5ec;border-radius:10px;color:var(--text-strong);font-family:inherit;font-size:14px;padding:10px 13px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;width:100%}.pg-page .pg-input.mono,.pg-page .pg-input[type=password]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.pg-page .pg-input:hover,.pg-page .pg-select:hover{border-color:#cbd2de}.pg-page .pg-input:focus,.pg-page .pg-select:focus{background:var(--surface-card);border-color:var(--pg-accent);box-shadow:0 0 0 4px var(--pg-ring);outline:none}.pg-page .pg-input::placeholder{color:#a3adbd}.pg-page .pg-input:disabled,.pg-page .pg-input[readonly]{background:#f4f5f8;color:var(--text-faint);cursor:not-allowed}.pg-page .pg-toggle-row{align-items:center;background:#fafbfd;border:1px solid #eef0f4;border-radius:13px;display:flex;gap:16px;justify-content:space-between;margin-bottom:11px;padding:15px 17px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.pg-page .pg-toggle-row:hover{background:var(--surface-card);border-color:#e2e5ec;box-shadow:0 6px 18px -14px #0f172a47}.pg-page .pg-toggle-row:last-child{margin-bottom:0}.pg-page .pg-toggle-left{align-items:center;display:flex;gap:13px;min-width:0}.pg-page .pg-toggle-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:10px;box-shadow:inset 0 0 0 1px #6366f114;color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.pg-page .pg-toggle-title{color:var(--text-strong);font-size:14px;font-weight:600}.pg-page .pg-toggle-sub{color:var(--text-muted);font-size:12px;line-height:1.45;margin-top:3px}.pg-page .pg-switch{display:inline-block;flex-shrink:0;height:24px;position:relative;width:42px}.pg-page .pg-switch input{height:0;opacity:0;width:0}.pg-page .pg-switch .pg-slider{background:#d3d9e3;border-radius:999px;cursor:pointer;inset:0;position:absolute;transition:background .22s ease}.pg-page .pg-switch .pg-slider:before{background:var(--surface-card);border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:19px;left:2.5px;position:absolute;top:2.5px;transition:transform .22s cubic-bezier(.34,1.56,.64,1);width:19px}.pg-page .pg-switch input:checked+.pg-slider{background:var(--pg-grad)}.pg-page .pg-switch input:checked+.pg-slider:before{transform:translateX(18px)}.pg-page .pg-status-pill{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:5px;letter-spacing:.3px;padding:5px 11px;text-transform:uppercase}.pg-page .pg-status-pill.configured{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.pg-page .pg-status-pill.unconfigured{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.pg-page .pg-status-pill.disabled{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-muted)}.pg-page .pg-toolbar{align-items:center;-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);background:#ffffffe0;border:1px solid #eef0f4;border-radius:15px;bottom:16px;box-shadow:0 10px 30px -12px #0f172a38;display:flex;gap:12px;justify-content:flex-end;padding:13px 18px;position:sticky;z-index:5}.pg-page .pg-toolbar .pg-dirty-flag{color:var(--status-warning-text);font-size:13px;gap:6px;margin-right:auto}.pg-page .pg-btn,.pg-page .pg-toolbar .pg-dirty-flag{align-items:center;display:inline-flex;font-weight:600}.pg-page .pg-btn{border:1px solid #0000;border-radius:10px;cursor:pointer;font-size:14px;gap:7px;padding:9px 18px;transition:filter .16s ease,box-shadow .16s ease,background .16s ease,transform .12s ease}.pg-page .pg-btn:active:not(:disabled){transform:translateY(1px)}.pg-page .pg-btn-primary{background:var(--pg-grad);box-shadow:0 10px 22px -10px #6366f1bf;color:var(--text-on-brand)}.pg-page .pg-btn-primary:hover:not(:disabled){box-shadow:0 12px 26px -10px #6366f1d9;filter:brightness(1.06)}.pg-page .pg-btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}.pg-page .pg-btn-secondary{background:var(--surface-card);border-color:#e2e5ec;color:var(--text-body)}.pg-page .pg-btn-secondary:hover:not(:disabled){background:var(--surface-page);border-color:#cbd2de}.pg-page .pg-btn-secondary:disabled{cursor:not-allowed;opacity:.55}.pg-page .pg-alert{align-items:flex-start;border-radius:12px;display:flex;font-size:13px;gap:12px;line-height:1.5;margin-bottom:16px;padding:13px 16px}.pg-page .pg-alert-icon{flex-shrink:0;margin-top:1px}.pg-page .pg-alert-body{flex:1 1}.pg-page .pg-alert-close{background:#0000;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.pg-page .pg-alert-close:hover{opacity:1}.pg-page .pg-alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.pg-page .pg-alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.pg-page.pg-loading-wrap{align-items:center;display:flex;justify-content:center}.pg-page .pg-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:14px;padding:80px}.pg-page .pg-loading-spinner{animation:pg-spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:36px;width:36px}@keyframes pg-spin{to{transform:rotate(1turn)}}@media (min-width:1024px){.pg-page{margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body.sidebar-collapsed .pg-page{margin-left:80px}}@media (max-width:900px){.pg-page{grid-template-columns:1fr}.pg-page .pg-side{position:static}.pg-page .pg-row-1-2,.pg-page .pg-row-2,.pg-page .pg-row-3{grid-template-columns:1fr}}.job-schedules{grid-gap:24px;background:var(--surface-page);display:grid;gap:24px;grid-template-columns:240px 1fr;min-height:calc(100vh - 60px);padding:24px 28px}.job-schedules .js-side{align-self:start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;padding:16px 12px;position:sticky;top:16px}.job-schedules .js-side h2{color:var(--text-body);font-size:13px;font-weight:700;letter-spacing:.6px;margin:4px 8px 12px;text-transform:uppercase}.job-schedules .js-nav-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-strong);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:2px;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.job-schedules .js-nav-btn:hover{background:var(--surface-sunken)}.job-schedules .js-nav-btn.active{background:var(--gradient-brand);color:var(--text-on-brand);font-weight:600}.job-schedules .js-nav-btn.active .js-nav-count{background:#ffffff40;border-color:#0000;color:var(--text-on-brand)}.job-schedules .js-nav-icon{flex-shrink:0;text-align:center;width:18px}.job-schedules .js-nav-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-schedules .js-nav-count{background:var(--surface-sunken);border:1px solid;border-color:var(--border-default);border-radius:999px;color:var(--text-body);flex-shrink:0;font-size:10px;font-weight:700;min-width:24px;padding:2px 8px;text-align:center}.job-schedules .js-nav-count.warn{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.job-schedules .js-nav-count.danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.job-schedules .js-side-divider{background:var(--surface-sunken);height:1px;margin:12px 8px}.job-schedules .js-side-back{color:var(--text-muted);font-size:13px}.job-schedules .js-main{min-width:0}.job-schedules .js-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.job-schedules .js-header h1{color:var(--text-strong);font-size:24px;font-weight:700;letter-spacing:-.4px;margin:0 0 4px}.job-schedules .js-subtitle{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0;max-width:720px}.job-schedules .js-page-access{flex-shrink:0}.job-schedules .js-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:16px;padding:20px 24px}.job-schedules .js-card.is-flush{overflow:hidden;padding:0}.job-schedules .js-card-head{align-items:center;display:flex;gap:12px;margin-bottom:4px}.job-schedules .js-card.is-flush .js-card-head{margin-bottom:4px;padding:16px 20px 0}.job-schedules .js-card-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:10px;color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.job-schedules .js-card h3{color:var(--text-strong);font-size:16px;font-weight:600;margin:0}.job-schedules .js-card-desc{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 18px}.job-schedules .js-card.is-flush .js-card-desc{margin-bottom:14px;padding:0 20px}.job-schedules .js-card-desc code{background:var(--surface-sunken);border-radius:4px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 6px}.job-schedules .js-alert{align-items:flex-start;border-radius:10px;display:flex;font-size:13px;gap:12px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.job-schedules .js-alert-icon{flex-shrink:0;margin-top:1px}.job-schedules .js-alert-body{flex:1 1}.job-schedules .js-alert-close{background:#0000;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.job-schedules .js-alert-close:hover{opacity:1}.job-schedules .js-alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.job-schedules .js-alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.job-schedules .js-row,.job-schedules .js-table-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) 130px 110px 140px 110px}.job-schedules .js-table-head{background:var(--surface-page);border-bottom:1px solid var(--border-default);border-top:1px solid var(--border-default);color:var(--text-body);font-size:11px;font-weight:700;letter-spacing:.6px;padding:10px 20px;text-transform:uppercase}.job-schedules .js-table-head>div:last-child{text-align:right}.job-schedules .js-table-empty,.job-schedules .js-table-loading{font-size:13px;padding:60px;text-align:center}.job-schedules .js-table-loading{color:var(--text-muted)}.job-schedules .js-table-empty{color:var(--text-faint)}.job-schedules .js-row{align-items:center;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);padding:14px 20px}.job-schedules .js-row:last-child{border-bottom:none}.job-schedules .js-row.is-disabled{background:var(--surface-page)}.job-schedules .js-cell-min{min-width:0}.job-schedules .js-job-name{align-items:center;display:flex;gap:8px}.job-schedules .js-job-title{color:var(--text-strong);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-schedules .js-job-key{color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;margin-top:3px}.job-schedules .js-job-desc{color:var(--text-muted);font-size:12px;line-height:1.5;margin-top:6px}.job-schedules .js-cron-expr{color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:600}.job-schedules .js-cron-desc{color:var(--text-muted);font-size:11px;margin-top:3px}.job-schedules .js-runat{color:var(--text-body);font-size:12px}.job-schedules .js-actions{align-items:stretch;display:flex;flex-direction:column;gap:6px}.job-schedules .js-actions>button{justify-content:center}.job-schedules .js-pill{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:5px;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase}.job-schedules .js-pill-success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.job-schedules .js-pill-failed{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.job-schedules .js-pill-neutral{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-muted)}.job-schedules .js-tag{align-items:center;border-radius:6px;display:inline-flex;font-size:10px;font-weight:700;gap:3px;padding:1px 6px}.job-schedules .js-tag-warn{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.job-schedules .js-tag-info{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);color:var(--brand-primary-active)}.job-schedules .js-warn-inline{align-items:center;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:6px;color:var(--status-warning-text);display:inline-flex;font-size:11px;gap:5px;margin-top:6px;padding:4px 8px}.job-schedules .js-switch{cursor:pointer;display:inline-block;flex-shrink:0;height:22px;position:relative;width:40px}.job-schedules .js-switch.is-disabled{cursor:not-allowed;opacity:.55}.job-schedules .js-switch input{height:0;opacity:0;width:0}.job-schedules .js-slider{background:#cbd5e1;border-radius:999px;inset:0;position:absolute;transition:background .2s ease}.job-schedules .js-slider:before{background:var(--surface-card);border-radius:50%;box-shadow:0 1px 3px #00000026;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:18px}.job-schedules .js-switch input:checked+.js-slider{background:var(--gradient-brand)}.job-schedules .js-switch input:checked+.js-slider:before{transform:translateX(18px)}.job-schedules .js-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 14px;transition:background .15s ease,filter .15s ease}.job-schedules .js-btn-primary{background:var(--gradient-brand);color:var(--text-on-brand)}.job-schedules .js-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.job-schedules .js-btn-primary:disabled{cursor:not-allowed;opacity:.55}.job-schedules .js-btn-secondary{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-strong)}.job-schedules .js-btn-secondary:hover:not(:disabled){background:var(--surface-page)}.job-schedules .js-btn-secondary:disabled{cursor:not-allowed;opacity:.55}.job-schedules .js-btn-edit{align-items:center;border:1px solid var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px;transition:background .15s ease}.job-schedules .js-btn-edit,.job-schedules .js-btn-edit:hover:not(:disabled){background:var(--brand-primary-subtle)}.job-schedules .js-btn-run{align-items:center;background:var(--gradient-brand);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px;transition:filter .15s ease}.job-schedules .js-btn-run:hover:not(:disabled){filter:brightness(1.06)}.job-schedules .js-btn-run:disabled{background:#cbd5e1;cursor:not-allowed}.job-schedules .js-toolbar{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;bottom:16px;box-shadow:0 4px 14px #0f172a0f;display:flex;gap:10px;justify-content:flex-end;padding:12px 16px;position:sticky;z-index:5}.job-schedules .js-toolbar-meta{align-items:center;color:var(--text-muted);display:inline-flex;font-size:13px;gap:6px;margin-right:auto}.job-schedules .js-drawer-overlay{background:rgba(var(--surface-inverse-rgb),.45);inset:0;position:fixed;z-index:1000}.job-schedules .js-drawer{background:var(--surface-card);bottom:0;box-shadow:-12px 0 40px #0f172a2e;display:flex;flex-direction:column;position:fixed;right:0;top:0;width:min(640px,96vw);z-index:1001}.job-schedules .js-drawer-header{align-items:center;background:var(--gradient-brand);color:var(--text-on-brand);display:flex;gap:12px;padding:16px 22px}.job-schedules .js-drawer-header-text{flex:1 1}.job-schedules .js-drawer-header-title{font-size:16px;font-weight:700}.job-schedules .js-drawer-header-sub{font-size:12px;opacity:.9}.job-schedules .js-drawer-close{cursor:pointer}.job-schedules .js-drawer-body{flex:1 1;overflow-y:auto;padding:22px}.job-schedules .js-drawer-footer{background:var(--surface-page);border-top:1px solid var(--border-default);display:flex;gap:8px;justify-content:flex-end;padding:14px 22px}.job-schedules .js-info-card{align-items:flex-start;background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:10px;color:var(--status-info-text);display:flex;font-size:13px;gap:10px;margin-bottom:18px;padding:12px}.job-schedules .js-info-card-touches{color:var(--brand-primary-active);font-size:11px;margin-top:4px}.job-schedules .js-info-card-touches code{background:var(--surface-card);border-radius:4px;font-size:10px;margin-right:4px;padding:1px 5px}.job-schedules .js-warn-card{align-items:flex-start;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:10px;color:var(--status-warning-text);display:flex;font-size:13px;gap:10px;margin-bottom:18px;padding:12px}.job-schedules .js-field-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:6px}.job-schedules .js-field-group{margin-top:22px}.job-schedules .js-enable-row{align-items:center;display:flex;gap:10px}.job-schedules .js-enable-text{color:var(--text-body);font-size:13px}.job-schedules .js-config-textarea{background:var(--surface-inverse);border:1.5px solid var(--border-default);border-radius:8px;caret-color:#fbbf24;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.6;padding:12px;resize:vertical;tab-size:2;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.job-schedules .js-config-textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f133;outline:none}.job-schedules .js-config-textarea.has-error{border-color:var(--status-danger-border)}.job-schedules .js-config-schema{background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;color:var(--text-body);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.6;margin:8px 0 0;max-height:320px;overflow-y:auto;padding:10px 12px;white-space:pre-wrap;word-break:break-word}.job-schedules .ip-form{display:flex;flex-direction:column;gap:16px}.job-schedules .ip-section{background:var(--surface-page);border:1px solid var(--border-default);border-radius:8px;padding:14px 16px}.job-schedules .ip-section-title{align-items:center;color:var(--text-strong);display:flex;font-size:13px;font-weight:600;gap:6px;margin:0 0 4px}.job-schedules .ip-help{color:var(--text-muted);font-size:12px;line-height:1.5;margin-bottom:10px}.job-schedules .ip-help-list{margin:6px 0;padding-left:18px}.job-schedules .ip-help-list li{margin-bottom:3px}.job-schedules .ip-checkbox{align-items:center;color:var(--text-strong);cursor:pointer;display:flex;font-size:13px;gap:8px;padding:4px 0;-webkit-user-select:none;user-select:none}.job-schedules .ip-checkbox input{cursor:pointer}.job-schedules .ip-sub{color:var(--text-faint);font-size:12px;font-weight:400}.job-schedules .ip-field{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.job-schedules .ip-field:last-child{margin-bottom:0}.job-schedules .ip-field label{color:var(--text-body);font-size:11.5px;font-weight:500;letter-spacing:0;text-transform:none}.job-schedules .ip-input{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;padding:7px 10px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.job-schedules .ip-input::placeholder{color:var(--text-faint)}.job-schedules .ip-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.job-schedules .ip-input-with-toggle{display:flex;position:relative}.job-schedules .ip-input-with-toggle .ip-input{padding-right:36px}.job-schedules .ip-reveal-btn{align-items:center;background:#0000;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.job-schedules .ip-reveal-btn:hover{background:rgba(var(--surface-inverse-rgb),.05);color:var(--text-strong)}.job-schedules .ip-reveal-btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px}.job-schedules .ip-effective{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:6px;color:var(--brand-primary-active);font-size:12px;margin-top:10px;padding:8px 10px}.job-schedules .ip-effective code{background:var(--surface-card);border:1px solid var(--brand-primary-subtle);border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:1px 6px}.job-schedules .ip-effective em{color:var(--text-muted)}.job-schedules .ip-effective-help-btn{align-items:center;background:#0000;border:1px solid var(--brand-primary-subtle);border-radius:50%;color:var(--brand-primary);cursor:pointer;display:inline-flex;height:18px;justify-content:center;margin-left:6px;padding:0;transition:background .15s ease,border-color .15s ease;vertical-align:middle;width:18px}.job-schedules .ip-effective-help-btn:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.job-schedules .ip-subsection-divider{background:var(--surface-sunken);height:1px;margin:14px 0 12px}.job-schedules .ip-field-hint-btn{align-items:center;background:#0000;border:1px solid var(--brand-primary-subtle);border-radius:50%;color:var(--brand-primary);cursor:pointer;display:inline-flex;height:18px;justify-content:center;margin-left:6px;padding:0;transition:background .15s ease,border-color .15s ease;vertical-align:middle;width:18px}.job-schedules .ip-field-hint-btn:hover,.job-schedules .ip-field-hint-btn[aria-expanded=true]{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.ip-effective-popover{max-width:360px}.ip-effective-popover .popover-header{background:var(--brand-primary-subtle);color:var(--brand-primary-active);font-size:12.5px;font-weight:600}.ip-effective-popover .popover-body{color:var(--text-strong);font-size:12px;line-height:1.55}.ip-effective-popover code{background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:3px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;padding:1px 5px}.ip-effective-popover-list{margin:4px 0 8px 18px;padding:0}.ip-effective-popover-list li{margin-bottom:3px}.job-schedules .ip-help code{background:var(--surface-card);border:1px solid var(--border-default);border-radius:3px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;padding:1px 5px}.job-schedules .ip-readonly-section{background:var(--surface-page);border-style:dashed}.job-schedules .ip-readonly-badge{background:var(--surface-sunken);border-radius:999px;color:var(--text-body);font-size:10px;font-weight:600;letter-spacing:.05em;margin-left:auto;padding:2px 8px;text-transform:uppercase}.job-schedules .ip-section-title{width:100%}.job-schedules .ip-system-pills{display:flex;flex-wrap:wrap;gap:6px}.job-schedules .ip-system-pill{background:var(--brand-primary-subtle);border:1px solid #ddd6fe;border-radius:999px;color:#5b21b6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:500;padding:4px 10px}.job-schedules .ip-system-empty{color:var(--text-muted);font-size:12px;font-style:italic}.job-schedules .js-tag-triggers{background:var(--brand-primary-subtle);border:1px solid #ddd6fe;color:var(--brand-accent);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.job-schedules .js-tag-triggers:hover{background:var(--brand-primary-subtle);border-color:var(--brand-accent)}.job-schedules .js-tag-monitor{background:#ecfeff;border:1px solid #a5f3fc;color:#0e7490;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease}.job-schedules .js-tag-monitor:hover{background:#cffafe;border-color:#67e8f9}.job-schedules .js-tp-trigger-btn{align-items:center;background:var(--surface-card);border:1px dashed var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:500;gap:6px;margin-bottom:16px;padding:8px 14px;transition:background .15s ease,border-color .15s ease}.job-schedules .js-tp-trigger-btn:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.js-tp-modal .modal-content{border:none;border-radius:12px}.js-tp-modal .modal-header{background:var(--surface-page);border-bottom:1px solid var(--border-default);border-radius:12px 12px 0 0}.js-tp-modal .modal-title{align-items:center;color:var(--text-strong);display:flex;font-size:16px}.js-tp-modal .js-tp-intro{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary-active);font-size:13px;line-height:1.55;margin-bottom:16px;padding:10px 12px}.js-tp-modal .js-tp-intro code{background:var(--surface-card);border:1px solid var(--brand-primary-subtle);border-radius:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 6px}.js-tp-modal .js-tp-table{border-collapse:collapse;font-size:12.5px;table-layout:fixed;width:100%}.js-tp-modal .js-tp-table col.js-tp-col-uc{width:11%}.js-tp-modal .js-tp-table col.js-tp-col-trigger{width:12%}.js-tp-modal .js-tp-table col.js-tp-col-jobtype{width:11%}.js-tp-modal .js-tp-table col.js-tp-col-scope{width:34%}.js-tp-modal .js-tp-table col.js-tp-col-details{width:32%}.js-tp-modal .js-tp-table th{background:var(--surface-sunken);border-bottom:2px solid var(--border-strong);color:var(--text-body);font-weight:600;padding:8px 10px;text-align:left}.js-tp-modal .js-tp-table td{border-bottom:1px solid var(--border-default);line-height:1.5;padding:10px;vertical-align:top}.js-tp-modal .js-tp-table tr:last-child td{border-bottom:none}.js-tp-modal .js-tp-id strong{color:var(--brand-primary);font-size:13px}.js-tp-modal .js-tp-name{color:var(--text-strong);font-size:12px;margin-top:2px}.js-tp-modal .js-tp-trigger{border-radius:999px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.js-tp-modal .js-tp-trigger-scheduled{background:var(--status-warning-bg);color:var(--status-warning-text)}.js-tp-modal .js-tp-trigger-inline{background:var(--status-success-bg);color:var(--status-success-text)}.js-tp-modal .js-tp-fires{color:var(--text-muted);font-size:11px;line-height:1.4;margin-top:4px}.js-tp-modal .js-tp-jobtype{border-radius:4px;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:600;letter-spacing:.03em;padding:2px 8px;white-space:nowrap}.js-tp-modal .js-tp-jt-provision{background:var(--status-info-bg);color:var(--brand-primary-active)}.js-tp-modal .js-tp-jt-deprovision{background:var(--status-danger-bg);color:var(--status-danger)}.js-tp-modal .js-tp-jt-update_id{background:#f3e8ff;color:#6b21a8}.js-tp-modal .js-tp-jt-revoke_license{background:var(--status-warning-bg);color:#854d0e}.js-tp-modal .js-tp-jobtypes{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.js-tp-modal .js-tp-scope{color:var(--text-body);font-size:12px;line-height:1.6}.js-tp-modal .js-tp-scope-text{overflow-wrap:anywhere;white-space:pre-line;word-break:normal}.js-tp-modal .js-tp-scope-anchor{border-top:1px dashed var(--border-strong);margin-top:10px;padding-top:8px}.js-tp-modal .js-tp-scope-anchor-label{color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.js-tp-modal .js-tp-details{color:var(--text-strong);font-size:12.5px;min-width:280px}.js-tp-modal .js-tp-anchor-col{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);border-radius:4px;color:var(--brand-primary-active);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.4;padding:2px 6px;word-break:break-word}.js-tp-modal .js-tp-anchor-note{color:var(--text-muted);font-size:11.5px;line-height:1.4;margin-top:4px}.js-tp-modal .js-tp-anchor-none{color:var(--text-faint);font-size:14px;font-weight:600}.js-tp-modal .js-tp-anchor-example{background:#fef9c3;border:1px solid var(--status-warning-border);border-left:4px solid var(--status-warning);border-radius:8px;color:#422006;font-size:12.5px;line-height:1.55;margin-top:18px;padding:14px 16px}.js-tp-modal .js-tp-anchor-example-title{color:#7c2d12;font-size:13px;font-weight:600;margin-bottom:8px}.js-tp-modal .js-tp-anchor-example p{margin:0 0 8px}.js-tp-modal .js-tp-anchor-example ul{margin:6px 0 8px;padding-left:20px}.js-tp-modal .js-tp-anchor-example li{margin-bottom:4px}.js-tp-modal .js-tp-anchor-example code{background:var(--surface-card);border:1px solid var(--status-warning-border);border-radius:3px;color:#7c2d12;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;padding:1px 5px}.js-tp-modal .modal-footer{background:var(--surface-page);border-radius:0 0 12px 12px;border-top:1px solid var(--border-default);padding:12px 20px}.js-tp-modal .js-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.js-tp-modal .js-btn-secondary{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-body)}.js-tp-modal .js-btn-secondary:hover{background:var(--surface-sunken);border-color:var(--border-strong);color:var(--text-strong)}.js-tp-modal .js-btn-secondary:focus-visible{box-shadow:0 0 0 3px #6366f133;outline:none}.job-schedules .js-config-error{align-items:center;color:var(--status-danger);display:inline-flex;font-size:12px;gap:5px;margin-top:6px}.job-schedules .js-config-help{color:var(--text-muted);font-size:12px;margin-top:4px}.job-schedules .js-flash{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;bottom:24px;box-shadow:0 14px 40px #0f172a2e;display:flex;gap:10px;padding:14px;position:fixed;right:24px;width:min(380px,92vw);z-index:1200}.job-schedules .js-flash.is-ok{border-color:var(--status-success-border)}.job-schedules .js-flash.is-err{border-color:var(--status-danger-border)}.job-schedules .js-flash-text{color:var(--text-strong);flex:1 1;font-size:13px}.job-schedules .js-flash-close{color:var(--text-faint);cursor:pointer}.job-schedules .js-auth-card{align-items:flex-start;background:linear-gradient(135deg,#fff7ed,#fff1f2);border:1px solid #fdba74;border-radius:12px;display:flex;gap:14px;margin-bottom:16px;padding:16px 18px}.job-schedules .js-auth-icon{align-items:center;background:#fed7aa;border-radius:10px;color:#9a3412;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.job-schedules .js-auth-title{color:#9a3412;font-size:14px;font-weight:700}.job-schedules .js-auth-body{color:#7c2d12;font-size:13px;line-height:1.5;margin:4px 0 10px}.job-schedules .js-auth-body code{background:#fff7ed;border-radius:4px;padding:1px 5px}.job-schedules .js-btn-relogin{align-items:center;background:linear-gradient(135deg,#ea580c 0,var(--status-danger) 100%);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 16px;transition:filter .15s ease}.job-schedules .js-btn-relogin:hover{filter:brightness(1.06)}.job-schedules .js-loading{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:14px;padding:80px}.job-schedules .js-loading-spinner{animation:js-spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:36px;width:36px}@keyframes js-spin{to{transform:rotate(1turn)}}@media (max-width:900px){.job-schedules{grid-template-columns:1fr}.job-schedules .js-side{position:static}}@media (max-width:700px){.job-schedules .js-row,.job-schedules .js-table-head{gap:8px;grid-template-columns:1fr 1fr}}.flip-class-config{margin:0 auto;max-width:900px;padding:24px}.flip-class-config .loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:300px}.flip-class-config .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:40px;width:40px}.flip-class-config .config-header{align-items:flex-start;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.flip-class-config .header-content h1{color:var(--text-strong);font-size:24px;font-weight:600;margin:0 0 4px}.flip-class-config .header-subtitle{color:var(--text-muted);font-size:14px;margin:0}.flip-class-config .header-actions{display:flex;gap:12px}.flip-class-config .btn-save{border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background-color .2s}.flip-class-config .btn-save,.flip-class-config .btn-save:hover:not(:disabled){background:var(--brand-primary)}.flip-class-config .btn-save:disabled{cursor:not-allowed;opacity:.6}.flip-class-config .btn-reset{background:#fff;border:1px solid var(--border-default);border-radius:8px;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.flip-class-config .btn-reset:hover:not(:disabled){background:var(--surface-page);color:var(--text-strong)}.flip-class-config .alert{align-items:center;border-radius:8px;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.flip-class-config .alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.flip-class-config .alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success)}.flip-class-config .alert button{background:none;border:none;cursor:pointer;font-size:18px;opacity:.6;padding:0 4px}.flip-class-config .alert button:hover{opacity:1}.flip-class-config .phase-cards-container{display:flex;flex-direction:column;gap:20px}.flip-class-config .no-config{color:var(--text-muted);padding:40px;text-align:center}.flip-class-config .no-config .hint{color:var(--text-faint);font-size:13px;margin-top:8px}.flip-class-config .phase-card{background:#fff;border-left:4px solid #64748b;border-radius:12px;box-shadow:0 1px 3px #00000014;padding:20px}.flip-class-config .phase-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.flip-class-config .phase-title{align-items:flex-start;display:flex;gap:12px}.flip-class-config .phase-icon{font-size:24px}.flip-class-config .phase-title h3{color:var(--text-strong);font-size:18px;font-weight:600;margin:0 0 2px}.flip-class-config .phase-label{color:var(--text-muted);font-size:13px}.flip-class-config .phase-badge{background:#fff;border:1px solid var(--border-default);border-radius:16px;color:var(--text-body);font-size:12px;font-weight:500;padding:4px 12px;text-transform:capitalize}.flip-class-config .form-field{margin-bottom:16px}.flip-class-config .form-field:last-child{margin-bottom:0}.flip-class-config .form-field>label{color:var(--text-body);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.flip-class-config .form-field input[type=text]{border:1px solid var(--border-strong);border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.flip-class-config .form-field input[type=text]:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.flip-class-config .checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px}.flip-class-config .checkbox-label input[type=checkbox]{cursor:pointer;height:18px;width:18px}.flip-class-config .checkbox-label span{color:var(--text-body);font-size:14px}.flip-class-config .field-hint{color:var(--text-faint);font-size:12px;margin:8px 0 0}.flip-class-config .tag-selector{position:relative}.flip-class-config .selected-tags{align-items:center;background:#fff;border:1px solid var(--border-strong);border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;min-height:42px;padding:8px}.flip-class-config .selected-tags .placeholder{color:var(--text-faint);font-size:14px}.flip-class-config .tag-chip{align-items:center;background:#e0f2fe;border-radius:16px;color:#0369a1;display:inline-flex;font-size:13px;gap:4px;padding:4px 8px 4px 12px}.flip-class-config .tag-remove{background:none;border:none;color:#0369a1;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.flip-class-config .tag-remove:hover{color:var(--status-danger)}.flip-class-config .btn-add-tag{background:var(--surface-sunken);border:1px dashed var(--border-strong);border-radius:16px;color:var(--text-muted);cursor:pointer;font-size:13px;padding:4px 12px;transition:all .2s}.flip-class-config .btn-add-tag:hover{background:var(--surface-sunken);border-color:#64748b;color:var(--text-strong)}.flip-class-config .tag-dropdown{background:#fff;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 10px 25px #00000026;display:flex;flex-direction:column;left:0;max-height:350px;position:absolute;right:0;top:calc(100% + 4px);z-index:100}.flip-class-config .tag-search{border-bottom:1px solid var(--border-default);padding:12px}.flip-class-config .tag-search input{border:1px solid var(--border-strong);border-radius:6px;font-size:14px;padding:8px 12px;width:100%}.flip-class-config .tag-search input:focus{border-color:var(--brand-primary);outline:none}.flip-class-config .tag-options{flex:1 1;overflow-y:auto;padding:8px 0}.flip-class-config .no-tags{color:var(--text-faint);font-size:14px;padding:16px;text-align:center}.flip-class-config .tag-group{margin-bottom:8px}.flip-class-config .tag-group-header{color:var(--text-faint);font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 16px 4px;text-transform:uppercase}.flip-class-config .tag-option{align-items:center;cursor:pointer;display:flex;gap:10px;padding:8px 16px;transition:background-color .15s}.flip-class-config .tag-option:hover{background:var(--surface-page)}.flip-class-config .tag-option input[type=checkbox]{cursor:pointer;height:16px;width:16px}.flip-class-config .tag-option-label{color:var(--text-body);flex:1 1;font-size:14px}.flip-class-config .tag-code{color:var(--text-faint);font-size:12px;margin-left:4px}.flip-class-config .tag-dropdown-footer{border-top:1px solid var(--border-default);display:flex;justify-content:flex-end;padding:12px}.flip-class-config .btn-done{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px}.flip-class-config .btn-done,.flip-class-config .btn-done:hover{background:var(--brand-primary)}.flip-class-config .info-section{background:var(--surface-page);border:1px solid var(--border-default);border-radius:12px;margin-top:32px;padding:20px}.flip-class-config .info-section h3{color:var(--text-body);font-size:14px;font-weight:600;margin:0 0 12px}.flip-class-config .info-section ul{margin:0;padding:0 0 0 20px}.flip-class-config .info-section li{color:var(--text-muted);font-size:13px;line-height:1.5;margin-bottom:8px}.flip-class-config .info-section li:last-child{margin-bottom:0}.flip-class-config .info-section li strong{color:var(--text-body)}.portlet-group{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.portlet-group .loading-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.portlet-group .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.portlet-group .error-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.portlet-group .error-state p{font-size:16px;margin-bottom:16px}.portlet-group .group-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;gap:20px;margin-bottom:32px;padding-bottom:20px}.portlet-group .btn-back{border:1px solid var(--border-strong);border-radius:8px;color:var(--text-body);cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.portlet-group .btn-back,.portlet-group .btn-back:hover{background:var(--surface-sunken)}.portlet-group .group-title{align-items:center;display:flex;gap:12px}.portlet-group .group-icon{align-items:center;border-radius:12px;box-shadow:0 4px 10px #667eea59;color:var(--text-on-brand);display:inline-flex;height:44px;justify-content:center;width:44px}.portlet-group .group-title h1{color:var(--text-strong);font-size:24px;font-weight:700;margin:0}.portlet-group .children-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.portlet-group .child-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;box-shadow:0 1px 3px #1018280f;cursor:pointer;display:flex;flex-direction:column;min-height:132px;padding:22px 22px 20px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.portlet-group .child-card:hover{border-color:#c7b6f5;box-shadow:0 12px 24px #667eea29;transform:translateY(-3px)}.portlet-group .child-icon{align-items:center;border-radius:14px;box-shadow:0 6px 14px #667eea4d;color:var(--text-on-brand);display:inline-flex;height:52px;justify-content:center;margin-bottom:16px;width:52px}.portlet-group .child-info h3{color:var(--text-strong);font-size:16px;font-weight:600;margin:0 0 6px}.portlet-group .child-description{color:var(--text-muted);font-size:13px;line-height:1.45;margin:0}.portlet-group .child-arrow{color:var(--text-faint);display:inline-flex;position:absolute;right:18px;top:18px;transition:color .2s ease,transform .2s ease}.portlet-group .child-card:hover .child-arrow{color:#7c5cd6;transform:translateX(2px)}@media (max-width:768px){.portlet-group{padding:16px}.portlet-group .group-header{align-items:flex-start;flex-direction:column;gap:12px}.portlet-group .children-grid{grid-template-columns:1fr}.portlet-group .child-card{min-height:100px}}.qqm-page{--qqm-bg:#f4f6fb;--qqm-surface:var(--surface-card);--qqm-border:#e6e9f0;--qqm-border-strong:#d3d8e3;--qqm-text:#1f2533;--qqm-text-muted:var(--text-muted);--qqm-primary:var(--brand-primary);--qqm-primary-hover:var(--brand-primary-hover);--qqm-primary-soft:#eef2ff;--qqm-success:var(--status-success);--qqm-warning:var(--status-warning);--qqm-danger:var(--status-danger);--qqm-shadow-sm:0 1px 2px #0f172a0a;--qqm-shadow-md:0 4px 12px #0f172a0f;--qqm-shadow-lg:0 10px 24px #4f46e52e;background:var(--qqm-bg);color:var(--qqm-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:calc(100vh - 64px);padding:24px}.qqm-page .qqm-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:18px}.qqm-page .qqm-header-left{align-items:center;display:flex;gap:12px;min-width:0}.qqm-page .qqm-title{color:var(--qqm-text);font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qqm-page .qqm-subtitle{color:var(--qqm-text-muted);font-size:13px;margin-left:4px}.qqm-page .qqm-header-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.qqm-page .qqm-icon-btn{align-items:center;background:var(--surface-card);border:1px solid var(--qqm-border);border-radius:8px;box-shadow:var(--qqm-shadow-sm);color:var(--qqm-primary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background .15s ease,border-color .15s ease,transform .05s ease;width:36px}.qqm-page .qqm-icon-btn:hover{background:var(--qqm-primary-soft);border-color:var(--qqm-primary)}.qqm-page .qqm-icon-btn:active{transform:translateY(1px)}.qqm-page .qqm-fab{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 100%);border:none;border-radius:999px;box-shadow:var(--qqm-shadow-lg);color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;height:38px;padding:0 16px 0 14px;transition:transform .12s ease,box-shadow .15s ease,filter .15s ease}.qqm-page .qqm-fab:hover{box-shadow:0 14px 30px #4f46e547;filter:brightness(1.05);transform:translateY(-1px)}.qqm-page .qqm-fab:active{transform:translateY(0)}.qqm-page .qqm-fab-plus{align-items:center;background:#ffffff38;border-radius:50%;display:inline-flex;font-size:14px;height:22px;justify-content:center;line-height:1;width:22px}.qqm-page .qqm-fab-merge{background:linear-gradient(135deg,#0d9488,#14b8a6);box-shadow:0 10px 24px #0d948838}.qqm-page .qqm-fab-merge:hover{box-shadow:0 14px 30px #0d94884d}.qqm-page .qqm-btn-ghost{align-items:center;background:var(--surface-card);border:1px solid var(--qqm-border-strong);border-radius:8px;color:var(--qqm-text);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;height:36px;padding:0 14px;transition:background .15s ease,border-color .15s ease}.qqm-page .qqm-btn-ghost:hover{background:var(--surface-page);border-color:#b7bccb}.qqm-page .qqm-modebar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.qqm-page .qqm-state-pill{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;letter-spacing:.01em;padding:6px 12px}.qqm-page .qqm-state-pill .qqm-state-dot{border-radius:50%;display:inline-block;height:6px;width:6px}.qqm-page .qqm-state-create{background:var(--brand-primary-subtle);border-color:var(--brand-primary-subtle);color:var(--brand-primary-active)}.qqm-page .qqm-state-create .qqm-state-dot{background:var(--qqm-primary)}.qqm-page .qqm-state-edit{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.qqm-page .qqm-state-edit .qqm-state-dot{background:var(--qqm-warning)}.qqm-page .qqm-state-view{background:#f0f9ff;border-color:#bae6fd;color:#075985}.qqm-page .qqm-state-view .qqm-state-dot{background:var(--status-info)}.qqm-page .qqm-state-results{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.qqm-page .qqm-state-results .qqm-state-dot{background:var(--qqm-success)}.qqm-page .qqm-state-monitor{background:var(--status-info-bg);border-color:#bfdbfe;color:var(--brand-primary-active)}.qqm-page .qqm-state-monitor .qqm-state-dot{background:var(--brand-primary)}.qqm-page .qqm-state-moderate{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.qqm-page .qqm-state-moderate .qqm-state-dot{background:var(--qqm-warning)}.qqm-page .qqm-context{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border:1px solid var(--brand-primary-subtle);border-radius:12px;display:flex;flex-wrap:wrap;font-size:13px;gap:16px;margin-bottom:16px;padding:14px 18px}.qqm-page .qqm-context-label{color:var(--brand-primary-hover);font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.qqm-page .qqm-context-item{display:inline-flex;flex-direction:column;gap:1px;min-width:0}.qqm-page .qqm-context-key{color:var(--text-muted);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.qqm-page .qqm-context-val{color:var(--text-strong);font-size:13px;font-weight:600}.qqm-page .qqm-context-val.is-emphasis{color:var(--qqm-primary)}.qqm-page .qqm-center-state{align-items:center;color:var(--qqm-text-muted);display:flex;flex-direction:column;gap:14px;justify-content:center;padding:80px 20px}.qqm-page .qqm-spinner{animation:qqm-spin .7s linear infinite;border:3px solid var(--qqm-border-strong);border-radius:50%;border-top-color:var(--qqm-primary);height:26px;width:26px}@keyframes qqm-spin{to{transform:rotate(1turn)}}.qqm-page .qqm-success{background:var(--qqm-surface);border:1px solid var(--qqm-border);border-radius:16px;box-shadow:var(--qqm-shadow-md);margin:32px auto 0;max-width:540px;padding:40px 24px;text-align:center}.qqm-page .qqm-success-icon{align-items:center;background:var(--status-success-bg);border-radius:50%;color:var(--qqm-success);display:inline-flex;font-size:32px;height:64px;justify-content:center;margin-bottom:12px;width:64px}.qqm-page .qqm-success h4{color:var(--qqm-text);font-size:18px;font-weight:700;margin:0 0 8px}.qqm-page .qqm-success-meta{color:var(--qqm-text-muted);font-size:13.5px;margin:0 0 24px}.qqm-page .qqm-success-meta strong{color:var(--qqm-text)}.qqm-page .qqm-success-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.qqm-page .qqm-btn-primary{align-items:center;background:var(--qqm-primary);border:1px solid var(--qqm-primary);border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;height:38px;padding:0 18px;transition:background .15s ease}.qqm-page .qqm-btn-primary:hover{background:var(--qqm-primary-hover);border-color:var(--qqm-primary-hover)}@media (max-width:720px){.qqm-page{padding:16px}.qqm-page .qqm-title{font-size:18px}.qqm-page .qqm-subtitle{display:none}.qqm-page .qqm-fab{height:36px;padding:0 12px 0 10px}}.qql-actions{display:inline-flex;flex-wrap:nowrap;gap:4px}.qql-action{align-items:center;background:#0000;border:1px solid #0000;border-radius:7px;color:var(--text-muted);cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .05s ease;width:30px}.qql-action:hover{transform:translateY(-1px)}.qql-action:active{transform:translateY(0)}.qql-action:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px}.qql-action-view:hover{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success)}.qql-action-edit:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary-subtle);color:var(--brand-primary)}.qql-action-clone:hover{background:#faf5ff;border-color:#e9d5ff;color:var(--brand-accent)}.qmt-page{--qmt-text:var(--text-strong);--qmt-text-muted:var(--text-muted);--qmt-text-subtle:var(--text-faint);--qmt-border:#eef0f5;--qmt-border-strong:#d8dde6;--qmt-primary:var(--brand-primary);--qmt-primary-hover:var(--brand-primary-hover);--qmt-primary-soft:#eef2ff;--qmt-violet:var(--brand-accent);--qmt-success:var(--status-success);--qmt-danger:var(--status-danger);--qmt-shadow-sm:0 1px 2px #0f172a0a;--qmt-shadow-md:0 8px 24px #0f172a14;--qmt-shadow-lg:0 18px 50px #4f46e538;background:radial-gradient(720px 320px at 0 -10%,rgba(var(--brand-primary-rgb),.08),#0000 70%),radial-gradient(720px 320px at 100% 110%,rgba(var(--brand-accent-rgb),.08),#0000 70%);color:var(--qmt-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;padding:8px 4px 24px}.qmt-page .qmt-card{animation:qmt-card-in .32s cubic-bezier(.2,.8,.2,1);background:var(--surface-card);border:1px solid var(--qmt-border);border-radius:18px;box-shadow:var(--qmt-shadow-md);margin:0 auto;max-width:1400px;overflow:hidden;width:100%}@keyframes qmt-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.qmt-page .qmt-hero{background:radial-gradient(900px 400px at 110% -20%,#ffffff2e,#0000 60%),var(--gradient-brand);color:var(--text-on-brand);overflow:hidden;padding:28px 28px 0;position:relative}.qmt-page .qmt-hero-deco{pointer-events:none;position:absolute;right:-120px;top:-120px}.qmt-page .qmt-hero-ring{border:1.5px solid #ffffff2e;border-radius:50%;position:absolute}.qmt-page .qmt-hero-ring-1{height:320px;right:0;top:0;width:320px}.qmt-page .qmt-hero-ring-2{height:220px;opacity:.6;right:50px;top:50px;width:220px}.qmt-page .qmt-hero-ring-3{background:radial-gradient(circle at 30% 30%,#ffffff2e,#0000 65%);border-color:#ffffff52;height:120px;right:100px;top:100px;width:120px}.qmt-page .qmt-hero-inner{align-items:flex-start;display:flex;gap:16px;position:relative}.qmt-page .qmt-hero-icon{align-items:center;background:linear-gradient(135deg,#ffffff47,#ffffff1f);border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff38,0 6px 16px #0f172a2e;display:inline-flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.qmt-page .qmt-hero-text{min-width:0}.qmt-page .qmt-hero-eyebrow{align-items:center;display:inline-flex;font-size:10.5px;font-weight:700;gap:5px;letter-spacing:.16em;line-height:1.2;opacity:.85;text-transform:uppercase}.qmt-page .qmt-hero-title{font-size:24px;font-weight:800;letter-spacing:-.012em;line-height:1.2;margin:6px 0}.qmt-page .qmt-hero-sub{font-size:13.5px;line-height:1.55;margin:0;max-width:720px;opacity:.92}.qmt-page .qmt-steps{display:flex;gap:10px;list-style:none;margin:24px 0 0;overflow-x:auto;padding:0;position:relative}.qmt-page .qmt-step{align-items:center;background:#ffffff1a;border:1px solid #ffffff2e;border-bottom:0;border-radius:999px 999px 0 0;color:#fffc;display:inline-flex;font-size:12.5px;font-weight:600;gap:10px;padding:10px 14px 10px 10px;transition:background .18s ease,color .18s ease,border-color .18s ease;white-space:nowrap}.qmt-page .qmt-step.is-active{background:var(--surface-card);border-color:#fff;color:var(--qmt-primary)}.qmt-page .qmt-step.is-done{background:#ffffff38;border-color:#ffffff47;color:var(--text-on-brand)}.qmt-page .qmt-step-num{align-items:center;background:#fff3;border-radius:50%;display:inline-flex;font-size:11.5px;font-weight:700;height:22px;justify-content:center;letter-spacing:0;width:22px}.qmt-page .qmt-step.is-active .qmt-step-num{background:var(--qmt-primary);color:var(--text-on-brand)}.qmt-page .qmt-step.is-done .qmt-step-num{background:var(--surface-card);color:var(--qmt-primary)}.qmt-page .qmt-body{grid-column-gap:28px;grid-row-gap:0;align-items:start;background:var(--surface-card);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:8px 32px 28px}.qmt-page .qmt-section{border-bottom:1px solid var(--qmt-border);padding:22px 0}.qmt-page .qmt-section:first-of-type,.qmt-page .qmt-section:nth-of-type(2){border-bottom:0;padding-bottom:8px}.qmt-page .qmt-actions,.qmt-page .qmt-result{grid-column:1/-1}.qmt-page .qmt-section-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.qmt-page .qmt-section-step{background:var(--qmt-primary-soft);border-radius:999px;color:var(--qmt-primary);display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.14em;margin-bottom:8px;padding:2px 9px;text-transform:uppercase}.qmt-page .qmt-section-title{color:var(--qmt-text);font-size:16px;font-weight:700;letter-spacing:-.005em;margin:0 0 4px}.qmt-page .qmt-section-sub{color:var(--qmt-text-muted);font-size:12.5px;line-height:1.5;margin:0}.qmt-page .qmt-count-stack{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px;margin-top:22px}.qmt-page .qmt-count{align-items:center;background:var(--surface-sunken);border-radius:999px;color:var(--qmt-text-muted);display:inline-flex;font-size:11.5px;font-weight:700;padding:4px 11px;white-space:nowrap}.qmt-page .qmt-count.is-ok{background:var(--status-success-bg);color:var(--status-success-text)}.qmt-page .qmt-count.is-bad{background:var(--status-danger-bg);color:var(--status-danger)}.qmt-page .qmt-banner{align-items:flex-start;border:1px solid;border-radius:10px;display:flex;font-size:12.5px;gap:8px;line-height:1.45;margin-top:10px;padding:9px 12px}.qmt-page .qmt-banner.is-bad{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.qmt-page .qmt-banner svg{flex-shrink:0;margin-top:1px}.qmt-page .qmt-tagbox{background:var(--surface-page);border:1.5px dashed var(--qmt-border-strong);border-radius:12px;cursor:text;display:flex;flex-wrap:wrap;gap:6px;min-height:56px;padding:8px 10px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.qmt-page .qmt-tagbox.has-tags{background:var(--surface-card);border-style:solid}.qmt-page .qmt-tagbox:hover{border-color:var(--qmt-primary)}.qmt-page .qmt-tagbox:focus-within{background:var(--surface-card);border-color:var(--qmt-primary);border-style:solid;box-shadow:0 0 0 4px #4f46e51f}.qmt-page .qmt-tag{align-items:center;animation:qmt-tag-in .18s ease-out;border:1px solid;border-radius:999px;display:inline-flex;font-family:ui-monospace,SFMono-Regular,Roboto Mono,Menlo,monospace;font-size:12.5px;font-weight:700;gap:6px;max-width:100%;padding:4px 4px 4px 8px}@keyframes qmt-tag-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.qmt-page .qmt-tag.is-checking{background:var(--surface-page);border-color:var(--qmt-border-strong);color:var(--qmt-text-muted)}.qmt-page .qmt-tag.is-found{background:linear-gradient(180deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);border-color:#6ee7b7;color:var(--status-success-text)}.qmt-page .qmt-tag.is-missing{background:linear-gradient(180deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);border-color:var(--status-danger-border);color:var(--status-danger)}.qmt-page .qmt-tag-state{align-items:center;background:#ffffffb3;border-radius:50%;display:inline-flex;height:16px;justify-content:center;width:16px}.qmt-page .qmt-tag.is-found .qmt-tag-state{background:var(--status-success);color:var(--text-on-brand)}.qmt-page .qmt-tag.is-missing .qmt-tag-state{background:var(--status-danger);color:var(--text-on-brand)}.qmt-page .qmt-tag-id{font-family:ui-monospace,SFMono-Regular,Roboto Mono,Menlo,monospace}.qmt-page .qmt-tag-name{border-left:1px dashed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:11.5px;font-weight:500;margin-left:2px;max-width:200px;opacity:.85;overflow:hidden;padding-left:4px;text-overflow:ellipsis;white-space:nowrap}.qmt-page .qmt-tag-x{align-items:center;background:#00000014;border:0;border-radius:50%;color:inherit;cursor:pointer;display:inline-flex;height:18px;justify-content:center;transition:background .12s ease,color .12s ease;width:18px}.qmt-page .qmt-tag-x:hover{background:currentColor;color:var(--text-on-brand)}.qmt-page .qmt-tag-x:hover svg{color:var(--text-on-brand)}.qmt-page .qmt-tag.is-found .qmt-tag-x{background:#04785724}.qmt-page .qmt-tag.is-missing .qmt-tag-x{background:#b91c1c24}.qmt-page .qmt-tag-x:disabled{cursor:not-allowed;opacity:.5}.qmt-page .qmt-tag-input{background:#0000;border:0;color:var(--qmt-text);flex:1 1;font-family:ui-monospace,SFMono-Regular,Roboto Mono,Menlo,monospace;font-size:14px;min-width:140px;outline:0;padding:6px 8px}.qmt-page .qmt-tag-input::placeholder{color:var(--qmt-text-subtle)}.qmt-page .qmt-input{background:var(--surface-card);border:1.5px solid var(--qmt-border);border-radius:12px;color:var(--qmt-text);font-family:inherit;font-size:14px;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.qmt-page .qmt-input::placeholder{color:var(--qmt-text-subtle)}.qmt-page .qmt-input:hover{border-color:var(--qmt-border-strong)}.qmt-page .qmt-input:focus{border-color:var(--qmt-primary);box-shadow:0 0 0 4px #4f46e51f;outline:none}.qmt-page .qmt-input:disabled{background:var(--surface-page);color:var(--qmt-text-muted)}.qmt-page .qmt-actions{align-items:center;border-top:1px solid var(--qmt-border);justify-content:space-between;margin-top:8px;padding:18px 0 6px}.qmt-page .qmt-actions,.qmt-page .qmt-actions-right{display:flex;flex-wrap:wrap;gap:10px}.qmt-page .qmt-btn{align-items:center;border:1.5px solid #0000;border-radius:11px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13.5px;font-weight:600;gap:8px;height:42px;justify-content:center;line-height:1;padding:0 20px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .05s ease,box-shadow .15s ease,filter .15s ease;white-space:nowrap}.qmt-page .qmt-btn,.qmt-page a.qmt-btn:hover{text-decoration:none}.qmt-page .qmt-btn:active:not(:disabled){transform:translateY(1px)}.qmt-page .qmt-btn:disabled{cursor:not-allowed;opacity:.5}.qmt-page .qmt-btn-primary{background:var(--gradient-brand);border-color:#0000;box-shadow:var(--qmt-shadow-lg);color:var(--text-on-brand);padding:0 22px}.qmt-page .qmt-btn-primary:hover:not(:disabled){box-shadow:0 22px 48px #4f46e552;filter:brightness(1.06)}.qmt-page .qmt-btn-ghost{background:var(--surface-card);border-color:var(--qmt-border-strong);color:var(--qmt-text)}.qmt-page .qmt-btn-ghost:hover:not(:disabled){background:var(--surface-page);border-color:#b7bccb}.qmt-page .qmt-btn-text{background:#0000;border-color:#0000;color:var(--qmt-text-muted);padding:0 8px}.qmt-page .qmt-btn-text:hover:not(:disabled){color:var(--qmt-primary)}.qmt-page .qmt-spin{animation:qmt-spin .8s linear infinite}@keyframes qmt-spin{to{transform:rotate(1turn)}}.qmt-page .qmt-result{animation:qmt-slide-in .26s ease-out;border:1px solid;border-radius:14px;margin-top:22px;overflow:hidden}@keyframes qmt-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.qmt-page .qmt-result.is-success{background:var(--status-success-bg);border-color:var(--status-success-border)}.qmt-page .qmt-result.is-error{background:var(--status-danger-bg);border-color:var(--status-danger-border)}.qmt-page .qmt-result-head{align-items:center;display:flex;gap:12px;padding:16px 18px}.qmt-page .qmt-result.is-success .qmt-result-head{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);color:var(--status-success-text)}.qmt-page .qmt-result.is-error .qmt-result-head{background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);color:var(--status-danger)}.qmt-page .qmt-result-icon{align-items:center;background:#ffffff8c;border-radius:11px;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.qmt-page .qmt-result-headline{display:flex;flex:1 1;flex-direction:column;min-width:0}.qmt-page .qmt-result-headline strong{font-size:15px;font-weight:800;letter-spacing:-.005em}.qmt-page .qmt-result-sub{font-size:12.5px;font-weight:500;margin-top:1px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qmt-page .qmt-open-cta{align-items:center;background:var(--surface-card);border:0;border-radius:10px;box-shadow:0 1px 2px #0f172a0d;color:var(--qmt-primary);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:12.5px;font-weight:700;gap:6px;padding:8px 14px;transition:transform .12s ease,box-shadow .15s ease;white-space:nowrap}.qmt-page .qmt-open-cta:hover{box-shadow:0 6px 14px #0f172a1a;transform:translateY(-1px)}.qmt-page .qmt-stat-grid{grid-gap:10px;background:var(--surface-card);display:grid;gap:10px;grid-template-columns:repeat(4,1fr);padding:16px}.qmt-page .qmt-stat{grid-gap:4px 10px;background:var(--surface-card);border:1px solid var(--qmt-border);border-radius:12px;display:grid;gap:4px 10px;grid-template-columns:28px 1fr;grid-template-rows:auto auto auto;overflow:hidden;padding:14px;position:relative;transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease}.qmt-page .qmt-stat:hover{box-shadow:0 8px 20px #0f172a0f;transform:translateY(-1px)}.qmt-page .qmt-stat:before{background:var(--qmt-stat-tone);content:"";inset:0;opacity:.35;pointer-events:none;position:absolute}.qmt-page .qmt-stat>*{position:relative}.qmt-page .qmt-stat-icon{align-items:center;background:var(--qmt-stat-icon-bg);border-radius:9px;color:var(--qmt-stat-icon-fg);display:inline-flex;grid-row:1/span 2;height:28px;justify-content:center;width:28px}.qmt-page .qmt-stat-label{color:var(--qmt-text-muted);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.qmt-page .qmt-stat-value{color:var(--qmt-text);font-size:22px;font-weight:800;letter-spacing:-.015em;line-height:1.05}.qmt-page .qmt-stat-sub{color:var(--qmt-text-muted);font-size:11.5px;grid-column:1/-1;margin-top:2px}.qmt-page .qmt-stat-indigo{--qmt-stat-tone:linear-gradient(135deg,#eef2ff,#0000 60%);--qmt-stat-icon-bg:var(--brand-primary-subtle);--qmt-stat-icon-fg:var(--brand-primary);border-color:var(--brand-primary-subtle)}.qmt-page .qmt-stat-emerald{--qmt-stat-tone:linear-gradient(135deg,#ecfdf5,#0000 60%);--qmt-stat-icon-bg:var(--status-success-bg);--qmt-stat-icon-fg:var(--status-success-text);border-color:#d1fae5}.qmt-page .qmt-stat-violet{--qmt-stat-tone:linear-gradient(135deg,#faf5ff,#0000 60%);--qmt-stat-icon-bg:var(--brand-primary-subtle);--qmt-stat-icon-fg:var(--brand-accent);border-color:#e9d5ff}.qmt-page .qmt-stat-amber{--qmt-stat-tone:linear-gradient(135deg,#fffbeb,#0000 60%);--qmt-stat-icon-bg:var(--status-warning-bg);--qmt-stat-icon-fg:var(--status-warning-text);border-color:var(--status-warning-border)}.qmt-page .qmt-result-message{align-items:flex-start;background:var(--surface-card);border-top:1px dashed var(--qmt-border);color:var(--qmt-text-muted);display:flex;font-size:12.5px;gap:8px;line-height:1.5;padding:12px 16px 16px}.qmt-page .qmt-result-message-icon{color:var(--qmt-text-subtle);flex-shrink:0;margin-top:2px}.qmt-page .qmt-error-text{background:var(--surface-card);color:var(--status-danger);font-size:13.5px;line-height:1.55;margin:0;padding:16px 18px}.qmt-page .qmt-done{animation:qmt-card-in .32s cubic-bezier(.2,.8,.2,1);background:radial-gradient(800px 240px at 30% 0,#10b9811f,#0000 60%),var(--surface-card);padding:32px 32px 28px}.qmt-page .qmt-done-top{align-items:flex-start;display:flex;gap:18px;margin-bottom:22px}.qmt-page .qmt-done-badge{align-items:center;background:linear-gradient(135deg,var(--status-success) 0,var(--status-success) 100%);border-radius:16px;box-shadow:0 12px 30px #10b98152;color:var(--text-on-brand);display:inline-flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.qmt-page .qmt-done-headline{flex:1 1;min-width:0}.qmt-page .qmt-done-eyebrow{background:var(--status-success-bg);border-radius:999px;color:var(--status-success-text);display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.14em;margin-bottom:8px;padding:3px 10px;text-transform:uppercase;white-space:nowrap}.qmt-page .qmt-done-title{color:#064e3b;font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.2;margin:0 0 6px}.qmt-page .qmt-done-sub{color:var(--qmt-text-muted);font-size:14px;line-height:1.5;margin:0}.qmt-page .qmt-done-sub strong{color:var(--qmt-text)}.qmt-page .qmt-stat-grid-done{padding:0}.qmt-page .qmt-done .qmt-result-message{background:var(--surface-page);border:1px solid var(--qmt-border);border-radius:10px;margin-top:14px}.qmt-page .qmt-done-actions{border-top:1px solid var(--qmt-border);display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:18px}.qmt-page .qmt-done-actions .qmt-btn-text{margin-left:auto}.qmt-page .qmt-section-options{border-top:1px solid var(--qmt-border);grid-column:1/-1;padding-top:22px}.qmt-page .qmt-option-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.qmt-page .qmt-option{grid-gap:12px;align-items:start;background:var(--surface-card);border:1.5px solid var(--qmt-border);border-radius:12px;cursor:pointer;display:grid;gap:12px;grid-template-columns:22px 36px 1fr;padding:14px 16px;position:relative;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .05s ease;-webkit-user-select:none;user-select:none}.qmt-page .qmt-option:hover{border-color:#b7bccb}.qmt-page .qmt-option:active{transform:translateY(1px)}.qmt-page .qmt-option.is-disabled{cursor:not-allowed;opacity:.6}.qmt-page .qmt-option-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.qmt-page .qmt-option-input:focus-visible+.qmt-option-check{box-shadow:0 0 0 3px #4f46e533}.qmt-page .qmt-option-check{background:var(--surface-card);border:1.5px solid var(--qmt-border-strong);border-radius:7px;color:var(--text-on-brand);height:22px;margin-top:2px;transition:background .12s ease,border-color .12s ease;width:22px}.qmt-page .qmt-option-check,.qmt-page .qmt-option-icon{align-items:center;display:inline-flex;justify-content:center}.qmt-page .qmt-option-icon{border-radius:10px;height:36px;width:36px}.qmt-page .qmt-option-body{display:flex;flex-direction:column;gap:3px;min-width:0}.qmt-page .qmt-option-title{color:var(--qmt-text);font-size:14px;font-weight:700;letter-spacing:-.005em}.qmt-page .qmt-option-desc{color:var(--qmt-text-muted);font-size:12.5px;line-height:1.45}.qmt-page .qmt-option-emerald.is-on{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--surface-card) 60%);border-color:#6ee7b7}.qmt-page .qmt-option-emerald.is-on .qmt-option-check{background:var(--status-success);border-color:var(--status-success)}.qmt-page .qmt-option-emerald .qmt-option-icon{background:var(--status-success-bg);color:var(--status-success-text)}.qmt-page .qmt-option-violet.is-on{background:linear-gradient(135deg,#faf5ff 0,var(--surface-card) 60%);border-color:#d8b4fe}.qmt-page .qmt-option-violet.is-on .qmt-option-check{background:var(--brand-accent);border-color:var(--brand-accent)}.qmt-page .qmt-option-violet .qmt-option-icon{background:var(--brand-primary-subtle);color:var(--brand-accent)}.qmt-page .qmt-option-indigo.is-on{background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--surface-card) 60%);border-color:var(--brand-primary-subtle)}.qmt-page .qmt-option-indigo.is-on .qmt-option-check{background:var(--qmt-primary);border-color:var(--qmt-primary)}.qmt-page .qmt-option-indigo .qmt-option-icon{background:var(--qmt-primary-soft);color:var(--qmt-primary)}.qmt-page .qmt-option-amber.is-on{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--surface-card) 60%);border-color:var(--status-warning-border)}.qmt-page .qmt-option-amber.is-on .qmt-option-check{background:var(--status-warning);border-color:var(--status-warning)}.qmt-page .qmt-option-amber .qmt-option-icon{background:var(--status-warning-bg);color:var(--status-warning-text)}.qmt-page .qmt-option.is-off .qmt-option-icon{filter:grayscale(.6);opacity:.7}.qmt-page .qmt-option.is-off .qmt-option-title{color:var(--qmt-text-muted)}.qmt-page .qmt-option.is-off .qmt-option-desc{opacity:.85}.qmt-pill{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:4px;letter-spacing:.02em;padding:3px 10px}.qmt-pill-on{background:var(--status-success-bg);border-color:#6ee7b7;color:var(--status-success-text)}.qmt-pill-off{background:var(--surface-sunken);border-color:var(--border-strong);color:var(--text-faint);text-decoration:line-through}.qmt-confirm-list{background:var(--surface-page);border:1px solid #e6e9f0;border-radius:10px;max-height:320px;overflow-y:auto}.qmt-confirm-row{align-items:center;border-bottom:1px solid #eef0f5;display:flex;gap:14px;padding:10px 14px}.qmt-confirm-row:last-child{border-bottom:none}.qmt-confirm-id{align-items:center;background:var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary);display:inline-flex;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12.5px;font-weight:700;justify-content:center;min-width:56px;padding:4px 10px}.qmt-confirm-meta{flex:1 1;min-width:0}.qmt-confirm-name{color:#1f2533;display:block;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qmt-confirm-sub{color:var(--text-muted);display:block;font-size:11.5px;margin-top:2px}@media (max-width:960px){.qmt-page .qmt-body{grid-template-columns:1fr}.qmt-page .qmt-section:first-of-type{border-bottom:1px solid var(--qmt-border);padding-bottom:22px}.qmt-page .qmt-option-grid{grid-template-columns:1fr}}@media (max-width:720px){.qmt-page{padding:0}.qmt-page .qmt-card{border-radius:0;max-width:none}.qmt-page .qmt-hero{padding:22px 18px 0}.qmt-page .qmt-hero-title{font-size:20px}.qmt-page .qmt-body{padding:4px 18px 22px}.qmt-page .qmt-stat-grid{grid-template-columns:repeat(2,1fr);padding:12px}.qmt-page .qmt-result-head{flex-wrap:wrap}.qmt-page .qmt-actions{padding-top:14px}.qmt-page .qmt-btn-text{padding-left:0}}@media (max-width:480px){.qmt-page .qmt-stat-grid{grid-template-columns:1fr}}.qva-card{--qva-text:var(--text-strong);--qva-text-muted:var(--text-muted);--qva-text-subtle:var(--text-faint);--qva-border:#e6e9f0;--qva-border-soft:#eef0f5;--qva-bg-soft:var(--surface-page);--qva-primary:var(--brand-primary);background:var(--surface-card);border:1px solid var(--qva-border);border-radius:14px;box-shadow:0 1px 2px #0f172a0a;color:var(--qva-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin-bottom:16px;overflow:hidden}.qva-header{align-items:center;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary) 60%,#818cf8 100%);color:var(--text-on-brand);display:flex;gap:12px;justify-content:space-between;padding:14px 18px}.qva-header-left{gap:10px;min-width:0}.qva-header-icon,.qva-header-left{align-items:center;display:inline-flex}.qva-header-icon{background:#ffffff2e;border-radius:9px;flex-shrink:0;height:32px;justify-content:center;width:32px}.qva-header-title{font-size:14.5px;font-weight:700;letter-spacing:.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qva-header-eyebrow{display:block;font-size:10.5px;font-weight:600;letter-spacing:.12em;line-height:1.2;margin-bottom:1px;opacity:.78;text-transform:uppercase}.qva-header-count{align-items:center;background:#ffffff2e;border-radius:999px;display:inline-flex;flex-shrink:0;font-size:11.5px;font-weight:600;gap:4px;padding:5px 10px}.qva-tiles{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:14px 16px 4px}.qva-tile{align-items:flex-start;background:var(--surface-card);border:1px solid var(--qva-border);border-radius:11px;display:flex;gap:12px;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease,transform .05s ease}.qva-tile:hover{border-color:var(--brand-primary-subtle);box-shadow:0 4px 12px #4f46e514;transform:translateY(-1px)}.qva-tile-icon{align-items:center;border-radius:10px;display:inline-flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.qva-tile-icon.is-bundle{background:var(--status-success-bg);color:var(--status-success)}.qva-tile-icon.is-alerts{background:var(--status-warning-bg);color:var(--status-warning-text)}.qva-tile-body{flex:1 1;min-width:0}.qva-tile-headrow{align-items:center;display:flex;gap:8px;margin-bottom:4px}.qva-tile-title{color:var(--qva-text);font-size:13px;font-weight:700;letter-spacing:.01em}.qva-tile-count{background:var(--surface-sunken);border-radius:999px;color:var(--qva-text-muted);font-size:10.5px;font-weight:600;padding:2px 8px}.qva-tile-count.is-empty{background:#0000;color:var(--qva-text-subtle);padding-left:0}.qva-tile-latest{color:var(--qva-text);font-size:12.5px;line-height:1.45}.qva-tile-latest .qva-tile-latest-by{font-weight:600}.qva-tile-latest .qva-tile-latest-when{color:var(--qva-text-muted);font-size:11.5px;white-space:nowrap}.qva-tile-empty{color:var(--qva-text-subtle);font-size:12.5px;font-style:italic}.qva-tile-more{align-items:center;background:#0000;border:0;color:var(--qva-primary);cursor:pointer;display:inline-flex;font-size:11.5px;font-weight:600;gap:4px;margin-top:6px;padding:0}.qva-tile-more:hover{text-decoration:underline}.qva-tile-history{border-top:1px dashed var(--qva-border-soft);margin-top:8px;max-height:140px;overflow-y:auto;padding-top:8px}.qva-tile-history-row{border-bottom:1px dashed var(--qva-border-soft);color:var(--qva-text-muted);display:flex;font-size:11.5px;gap:10px;justify-content:space-between;padding:3px 0}.qva-tile-history-row:last-child{border-bottom:none}.qva-tile-history-row .qva-tile-history-by{color:var(--qva-text);font-weight:500}.qva-trail{padding:6px 16px 8px}.qva-trail-header{align-items:center;display:flex;justify-content:space-between;padding:10px 4px 6px}.qva-trail-headline{align-items:center;color:var(--qva-text);display:inline-flex;font-size:12.5px;font-weight:700;gap:8px;letter-spacing:.04em;text-transform:uppercase}.qva-trail-headline-dot{background:var(--qva-primary);border-radius:50%;display:inline-block;height:6px;width:6px}.qva-trail-count{color:var(--qva-text-muted);font-size:11.5px;font-weight:600}.qva-trail-list{padding:4px 0 4px 18px;position:relative}.qva-trail-list:before{background:linear-gradient(180deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:1px;bottom:8px;content:"";left:7px;position:absolute;top:8px;width:2px}.qva-trail-row{align-items:flex-start;border-bottom:1px solid var(--qva-border-soft);display:flex;gap:12px;padding:10px 8px 10px 6px;position:relative;transition:background .12s ease}.qva-trail-row:last-child{border-bottom:none}.qva-trail-row:hover{background:var(--surface-page)}.qva-trail-dot{background:var(--surface-card);border:2.5px solid var(--qva-primary);border-radius:50%;box-shadow:0 0 0 3px #4f46e51a;height:10px;left:-16px;position:absolute;top:16px;width:10px}.qva-trail-main{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:8px;min-width:0}.qva-trail-action{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:10.5px;font-weight:700;letter-spacing:.03em;padding:2px 9px;white-space:nowrap}.qva-trail-action.is-save{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.qva-trail-action.is-update{background:var(--status-info-bg);border-color:#bfdbfe;color:var(--brand-primary-active)}.qva-trail-action.is-delete{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.qva-trail-action.is-other{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-body)}.qva-trail-label{color:var(--qva-text);font-size:13px;font-weight:600;word-break:break-word}.qva-trail-remarks{color:var(--qva-text-muted);flex:1 1 240px;font-size:12.5px;min-width:200px}.qva-trail-meta{align-items:flex-end;color:var(--qva-text-muted);display:flex;flex-direction:column;flex-shrink:0;font-size:11.5px;gap:2px;text-align:right;white-space:nowrap}.qva-trail-meta-by{color:var(--qva-text);font-size:12px;font-weight:600}.qva-trail-meta-when{font-family:ui-monospace,SFMono-Regular,Roboto Mono,Menlo,monospace;font-size:11px}.qva-trail-toggle{border-top:1px solid var(--qva-border-soft);margin-top:4px;padding:10px;text-align:center}.qva-trail-toggle button{background:#0000;border:0;border-radius:6px;color:var(--qva-primary);cursor:pointer;font-size:12.5px;font-weight:600;padding:4px 8px;transition:background .12s ease}.qva-trail-toggle button:hover{background:var(--brand-primary-subtle)}.qva-empty{color:var(--qva-text-subtle);font-size:13px;padding:22px 16px;text-align:center}@media (max-width:720px){.qva-tiles{grid-template-columns:1fr;padding:12px 12px 4px}.qva-trail{padding:6px 10px 8px}}:root{--dvsa-indigo:var(--brand-primary);--dvsa-violet:var(--brand-accent);--dvsa-grad:var(--gradient-brand);--dvsa-ink:var(--text-strong);--dvsa-muted:#64748b;--dvsa-line:#e6e8f0;--dvsa-bg:var(--surface-page);--dvsa-success:var(--status-success);--dvsa-info:var(--status-info);--dvsa-warn:var(--status-warning);--dvsa-danger:var(--status-danger);--dvsa-card-shadow:0 1px 3px #1018280f,0 1px 2px #1018280a}.dvsa-panel{border:1px solid #e6e8f0!important;border:1px solid var(--dvsa-line)!important;border-radius:14px!important;box-shadow:0 1px 3px #1018280f,0 1px 2px #1018280a!important;box-shadow:var(--dvsa-card-shadow)!important;overflow:hidden}.dvsa-panel-head{align-items:center;background:var(--surface-card);border-bottom:1px solid #e6e8f0;border-bottom:1px solid var(--dvsa-line);color:var(--text-strong);color:var(--dvsa-ink);display:flex;gap:10px;padding:12px 16px}.dvsa-panel-head .dvsa-panel-icon{align-items:center;background:var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary);color:var(--dvsa-indigo);display:inline-flex;height:30px;justify-content:center;width:30px}.dvsa-panel-title{color:var(--text-strong);color:var(--dvsa-ink);font-size:.95rem;font-weight:700;letter-spacing:.2px;margin:0}.dvsa-panel-sub{color:#64748b;color:var(--dvsa-muted);font-size:.76rem;margin:0}.dvsa-panel-body{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px}.dvsa-action-btn{align-items:center;border:none;border-radius:6px;box-shadow:0 1px 2px #1018281f;color:var(--text-on-brand);cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:5px 12px;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.dvsa-action-btn:hover{box-shadow:0 4px 12px #10182829;filter:brightness(1.04);transform:translateY(-1px)}.dvsa-action-btn:active{transform:translateY(0)}.dvsa-btn-upload{background:linear-gradient(135deg,var(--status-info),var(--brand-primary))}.dvsa-btn-manage{background:linear-gradient(135deg,var(--status-success),var(--status-success))}.dvsa-btn-list{background:linear-gradient(135deg,var(--status-warning),var(--status-warning))}.dvsa-modal .modal-content{border:none;border-radius:16px;box-shadow:0 24px 60px #0f172a47;overflow:hidden}.dvsa-modal .modal-header{align-items:center;background:var(--gradient-brand);background:var(--dvsa-grad);border:none;color:var(--text-on-brand);padding:18px 22px}.dvsa-modal .modal-header .modal-title{font-size:1.1rem;font-weight:700;letter-spacing:.2px}.dvsa-modal .modal-header .btn-close,.dvsa-modal .modal-header .close{filter:invert(1) brightness(2);opacity:.9;text-shadow:none}.dvsa-modal .modal-body{background:var(--surface-page);background:var(--dvsa-bg);padding:20px 22px}.dvsa-modal .modal-footer{background:var(--surface-card);border-top:1px solid #e6e8f0;border-top:1px solid var(--dvsa-line);padding:14px 22px}.dvs-wide-dialog{margin:1.4rem auto!important;max-width:95vw!important;width:95vw!important}.dvs-wide-dialog .modal-content{min-height:86vh}.dvsa-card{background:var(--surface-card);border:1px solid #e6e8f0;border:1px solid var(--dvsa-line);border-radius:14px;box-shadow:0 1px 3px #1018280f,0 1px 2px #1018280a;box-shadow:var(--dvsa-card-shadow);margin-bottom:16px;overflow:hidden}.dvsa-card:last-child{margin-bottom:0}.dvsa-card-head{align-items:center;background:#fcfcfe;border-bottom:1px solid #e6e8f0;border-bottom:1px solid var(--dvsa-line);color:var(--text-strong);color:var(--dvsa-ink);display:flex;font-size:.92rem;font-weight:700;gap:8px;padding:12px 16px}.dvsa-card-body{padding:14px 16px}.dvsa-stat{align-items:center;background:var(--surface-card);border:1px solid #e6e8f0;border:1px solid var(--dvsa-line);border-radius:11px;display:flex;justify-content:space-between;margin-bottom:10px;padding:12px 14px}.dvsa-stat:last-child{margin-bottom:0}.dvsa-stat-label{color:#64748b;color:var(--dvsa-muted);font-size:.82rem;font-weight:600}.dvsa-stat-value{border-radius:8px;color:var(--text-on-brand);font-size:.92rem;font-weight:700;min-width:34px;padding:2px 10px;text-align:center}.dvsa-v-total{background:linear-gradient(135deg,var(--status-warning),var(--status-warning))}.dvsa-v-assigned{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary))}.dvsa-v-unassigned{background:linear-gradient(135deg,var(--status-info),#0284c7)}.dvsa-v-ready{background:linear-gradient(135deg,var(--status-success),var(--status-success))}.dvsa-v-yet{background:linear-gradient(135deg,var(--status-warning),var(--status-warning))}.dvsa-table-wrap{border-radius:12px;overflow:auto}.dvsa-table{border-collapse:initial;border-spacing:0;font-size:.85rem;width:100%}.dvsa-table thead th{background:var(--surface-sunken);border-bottom:1px solid #e6e8f0;border-bottom:1px solid var(--dvsa-line);font-size:.78rem;font-weight:700;letter-spacing:.4px;position:sticky;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.dvsa-table tbody td,.dvsa-table thead th{color:var(--text-strong);padding:11px 12px}.dvsa-table tbody td{border-bottom:1px solid #eef1f6;color:var(--dvsa-ink);vertical-align:middle}.dvsa-table tbody tr:hover td{background:var(--surface-page)}.dvsa-table tbody tr:last-child td{border-bottom:none}.dvsa-trunc{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dvsa-pill{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:700;line-height:1.5;min-width:30px;padding:3px 11px;text-align:center}.dvsa-pill-success{background:var(--status-success-bg);color:var(--status-success-text)}.dvsa-pill-info{background:#e0f2fe;color:#0369a1}.dvsa-pill-warn{background:var(--status-warning-bg);color:var(--status-warning-text)}.dvsa-pill-neutral{background:#eef2f7;color:var(--text-body)}.dvsa-num-input{border:1px solid var(--border-strong);border-radius:8px;font-size:.85rem;padding:6px 8px;text-align:center;width:74px}.dvsa-num-input:focus{border-color:var(--dvsa-indigo);box-shadow:0 0 0 3px #6366f126;outline:none}.dvsa-icon-btn{align-items:center;border-radius:8px;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:background .12s ease,transform .12s ease;width:32px}.dvsa-icon-btn:hover{transform:translateY(-1px)}.dvsa-icon-reclaim{color:var(--status-danger)}.dvsa-icon-reclaim,.dvsa-icon-reclaim:hover{background:var(--status-danger-bg)}.dvsa-icon-reclaim.disabled{background:var(--surface-page);color:#fecaca;cursor:default;transform:none}.dvsa-icon-download{color:var(--brand-primary)}.dvsa-icon-download,.dvsa-icon-download:hover{background:var(--status-info-bg)}.dvsa-icon-reopen{color:var(--brand-accent)}.dvsa-icon-reopen,.dvsa-icon-reopen:hover{background:var(--brand-primary-subtle)}.dvsa-icon-warn{background:var(--status-danger-bg);color:var(--status-danger)}.dvsa-drop{background:var(--surface-card);border:2px dashed var(--border-strong);border-radius:14px;padding:26px 20px;text-align:center;transition:border-color .15s ease,background .15s ease}.dvsa-drop:hover{background:#fbfaff;border-color:var(--dvsa-indigo)}.dvsa-drop-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle),var(--brand-primary-subtle));border-radius:14px;color:var(--brand-primary);color:var(--dvsa-indigo);display:inline-flex;height:54px;justify-content:center;margin-bottom:10px;width:54px}.dvsa-drop-title{color:var(--text-strong);color:var(--dvsa-ink);font-weight:700;margin-bottom:2px}.dvsa-drop-sub{color:#64748b;color:var(--dvsa-muted);font-size:.82rem}.dvsa-file-name{color:var(--brand-primary);color:var(--dvsa-indigo);font-size:.85rem;font-weight:600;margin-top:10px}.dvsa-instructions{background:var(--status-info-bg);border:1px solid #bfdbfe;border-radius:12px;color:var(--status-info-text);font-size:.82rem;margin-top:16px;padding:14px 16px}.dvsa-instructions ol{margin:8px 0 0;padding-left:18px}.dvsa-instructions li{margin-bottom:4px}.dvsa-instructions code{background:var(--status-info-bg);border-radius:5px;color:var(--brand-primary-active);padding:1px 6px}.dvsa-sample-link{align-items:center;color:var(--brand-primary);display:inline-flex;font-weight:600;gap:6px;margin-top:10px;text-decoration:none}.dvsa-sample-link:hover{text-decoration:underline}.dvsa-banner{border-radius:12px;font-size:.86rem;font-weight:600;margin-bottom:14px;padding:12px 16px}.dvsa-banner-success{background:var(--status-success-bg);border:1px solid #6ee7b7;color:var(--status-success-text)}.dvsa-banner-danger{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.dvsa-btn{border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;padding:5px 14px;transition:filter .12s ease,transform .12s ease}.dvsa-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.dvsa-btn:disabled{cursor:not-allowed;opacity:.6}.dvsa-btn-primary{background:var(--gradient-brand);background:var(--dvsa-grad);color:var(--text-on-brand)}.dvsa-btn-success{background:linear-gradient(135deg,var(--status-success),var(--status-success));color:var(--text-on-brand)}.dvsa-btn-danger{background:linear-gradient(135deg,var(--status-danger),var(--status-danger));color:var(--text-on-brand)}.dvsa-btn-ghost{background:var(--surface-card);border:1px solid var(--border-strong);color:var(--text-body)}.dvsa-empty{color:#64748b;color:var(--dvsa-muted);padding:40px 20px;text-align:center}.dvsa-empty-icon{align-items:center;background:#eef2f7;border-radius:16px;color:var(--text-faint);display:flex;height:56px;justify-content:center;margin:0 auto 12px;width:56px}.dvsa-channels{display:flex;flex-direction:column;gap:10px;margin-top:6px}.dvsa-channel{align-items:center;border:1px solid #e6e8f0;border:1px solid var(--dvsa-line);border-radius:11px;cursor:pointer;display:flex;gap:12px;padding:12px 14px;transition:border-color .12s ease,background .12s ease}.dvsa-channel:hover{background:#fbfaff;border-color:var(--dvsa-indigo)}.dvsa-channel.active{background:var(--brand-primary-subtle);border-color:var(--dvsa-indigo)}.dvsa-channel-ico{align-items:center;border-radius:9px;color:var(--text-on-brand);display:flex;height:36px;justify-content:center;width:36px}.dvsa-channel-label{color:var(--text-strong);color:var(--dvsa-ink);flex:1 1;font-weight:600}.dvsa-section-title{color:#64748b;color:var(--dvsa-muted);font-size:.8rem;font-weight:700;letter-spacing:.6px;margin-bottom:10px;text-transform:uppercase}.data-ingestion{background-color:#f9fafb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:32px 24px}.data-ingestion .di-header{margin-bottom:28px}.data-ingestion .di-header h1{color:#111827;font-size:1.75rem;font-weight:700;margin:0 0 4px}.data-ingestion .di-header p{color:#6b7280;font-size:.95rem;margin:0}.data-ingestion .di-stepper{align-items:center;background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;display:flex;gap:0;justify-content:center;margin-bottom:28px;padding:18px 24px}.data-ingestion .di-step{align-items:center;display:flex;flex-shrink:0;gap:8px}.data-ingestion .di-step-circle{align-items:center;background:#e5e7eb;border-radius:50%;color:#9ca3af;display:flex;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;transition:all .3s ease;width:32px}.data-ingestion .di-step.active .di-step-circle{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea59;color:#fff}.data-ingestion .di-step.completed .di-step-circle{background:#10b981;color:#fff}.data-ingestion .di-step-label{color:#9ca3af;font-size:13px;font-weight:500;white-space:nowrap}.data-ingestion .di-step.active .di-step-label{color:#111827;font-weight:600}.data-ingestion .di-step.completed .di-step-label{color:#10b981}.data-ingestion .di-step-connector{background:#e5e7eb;flex-shrink:0;height:2px;margin:0 8px;transition:background .3s ease;width:40px}.data-ingestion .di-step-connector.completed{background:#10b981}.data-ingestion .di-content-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014;min-height:300px;padding:32px}.data-ingestion .di-btn-primary{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s ease}.data-ingestion .di-btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.data-ingestion .di-btn-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.data-ingestion .di-btn-validate{background:linear-gradient(135deg,#059669,#047857)}.data-ingestion .di-btn-validate:hover{box-shadow:0 4px 12px #05966966}.data-ingestion .di-btn-secondary{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s ease}.data-ingestion .di-btn-secondary:hover{background:#f9fafb;border-color:#667eea;color:#667eea}.data-ingestion .di-actions{align-items:center;border-top:1px solid #f3f4f6;display:flex;gap:12px;margin-top:28px;padding-top:20px}.data-ingestion .di-actions-center{justify-content:center}.data-ingestion .di-info-banner{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;color:#1e40af;display:flex;font-size:14px;gap:12px;line-height:1.5;margin-bottom:24px;padding:14px 18px}.data-ingestion .di-info-banner svg{flex-shrink:0;margin-top:1px}.data-ingestion .di-columns-section{margin-bottom:24px}.data-ingestion .di-columns-section h3{color:#111827;font-size:15px;font-weight:600;margin:0 0 12px}.data-ingestion .di-columns-grid{display:flex;flex-wrap:wrap;gap:8px}.data-ingestion .di-column-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;display:flex;font-size:13px;gap:6px;padding:6px 12px}.data-ingestion .di-column-name{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-weight:500}.data-ingestion .di-required-badge{background:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-size:11px;font-weight:600;padding:1px 6px}.data-ingestion .di-auto-badge{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:4px;color:#7c3aed;font-size:11px;font-weight:600;padding:1px 6px}.data-ingestion .di-auto-info{background:#f5f3ff;border:1px solid #ddd6fe;border-radius:8px;margin-bottom:20px;padding:14px 18px}.data-ingestion .di-auto-info h3{color:#5b21b6;font-size:14px;font-weight:600;margin:0 0 6px}.data-ingestion .di-auto-info p{color:#4b5563;font-size:13px;line-height:1.6;margin:0}.data-ingestion .di-auto-info code{background:#ede9fe;border-radius:3px;color:#7c3aed;font-size:12px;font-weight:600;padding:1px 6px}.data-ingestion .di-sample-section{margin-bottom:20px}.data-ingestion .di-sample-section h3{color:#111827;font-size:15px;font-weight:600;margin:0 0 10px}.data-ingestion .di-sample-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.data-ingestion .di-sample-table{border-collapse:collapse;font-size:13px;width:100%}.data-ingestion .di-sample-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:12px;font-weight:600;letter-spacing:.03em;padding:8px 14px;text-align:left;text-transform:uppercase}.data-ingestion .di-sample-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:8px 14px}.data-ingestion .di-auto-value{color:#7c3aed;font-style:italic;font-weight:600}.data-ingestion .di-tips{margin-bottom:8px}.data-ingestion .di-tips h3{color:#111827;font-size:15px;font-weight:600;margin:0 0 8px}.data-ingestion .di-tips ul{color:#4b5563;font-size:14px;line-height:1.8;margin:0;padding-left:20px}.data-ingestion .di-dropzone{background:#fafbfc;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;padding:48px 32px;text-align:center;transition:all .2s ease}.data-ingestion .di-dropzone:hover{background:#f5f3ff;border-color:#667eea}.data-ingestion .di-dropzone.drag-active{background:#ede9fe;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.data-ingestion .di-dropzone.has-file{background:#ecfdf5;border-color:#10b981}.data-ingestion .di-dropzone-icon{color:#9ca3af;margin-bottom:12px}.data-ingestion .di-dropzone.drag-active .di-dropzone-icon,.data-ingestion .di-dropzone:hover .di-dropzone-icon{color:#667eea}.data-ingestion .di-dropzone.has-file .di-dropzone-icon{color:#10b981}.data-ingestion .di-dropzone-text strong{color:#374151;display:block;font-size:16px;margin-bottom:4px}.data-ingestion .di-dropzone-text p{color:#9ca3af;font-size:14px;margin:0}.data-ingestion .di-error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:14px;gap:10px;margin-top:16px;padding:12px 16px}.data-ingestion .di-error-banner svg{flex-shrink:0}.data-ingestion .di-error-close{background:none;border:none;color:#dc2626;cursor:pointer;display:flex;margin-left:auto;padding:2px}.data-ingestion .di-summary-bar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:24px;margin-bottom:16px;padding:14px 20px}.data-ingestion .di-summary-item{align-items:center;color:#4b5563;display:flex;font-size:14px;gap:8px}.data-ingestion .di-summary-valid{color:#059669}.data-ingestion .di-summary-error{color:#dc2626}.data-ingestion .di-filter-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:4px;margin-bottom:16px;padding-bottom:0}.data-ingestion .di-filter-tab{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;margin-bottom:-2px;padding:8px 16px;transition:all .2s}.data-ingestion .di-filter-tab:hover{color:#374151}.data-ingestion .di-filter-tab.active{border-bottom-color:#667eea;color:#667eea;font-weight:600}.data-ingestion .di-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;max-height:480px;overflow-x:auto;overflow-y:auto}.data-ingestion .di-preview-table{border-collapse:collapse;font-size:13px;width:100%}.data-ingestion .di-preview-table thead{position:sticky;top:0;z-index:1}.data-ingestion .di-preview-table th{background:#f9fafb;border-bottom:2px solid #e5e7eb;color:#374151;font-size:12px;font-weight:600;letter-spacing:.03em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-ingestion .di-preview-table td{border-bottom:1px solid #f3f4f6;color:#374151;max-width:180px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;white-space:nowrap}.data-ingestion .di-td-row,.data-ingestion .di-th-row{color:#9ca3af;text-align:center;width:40px}.data-ingestion .di-td-status,.data-ingestion .di-th-status{width:110px}.data-ingestion .di-row-error{background:#fef2f2}.data-ingestion .di-td-details{font-size:12px;line-height:1.4;max-width:420px;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.data-ingestion .di-row-valid:hover{background:#f9fafb}.data-ingestion .di-cell-error{color:#dc2626!important;font-weight:500}.data-ingestion .di-empty-cell{color:#d1d5db}.data-ingestion .di-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.data-ingestion .di-status-valid{background:#ecfdf5;color:#059669}.data-ingestion .di-status-error{background:#fef2f2;color:#dc2626}.data-ingestion .di-error-detail-row td{background:#fef2f2;border-bottom:1px solid #fecaca;padding:0 12px 8px}.data-ingestion .di-error-details{display:flex;flex-wrap:wrap;gap:6px}.data-ingestion .di-error-tag{align-items:center;background:#fff;border:1px solid #fecaca;border-radius:4px;color:#b91c1c;display:inline-flex;font-size:12px;padding:3px 10px}.data-ingestion .di-error-tag strong{margin-right:4px}.data-ingestion .di-submitting{align-items:center;display:flex;justify-content:center;min-height:280px}.data-ingestion .di-progress-container{max-width:400px;text-align:center;width:100%}.data-ingestion .di-progress-icon{color:#667eea;margin-bottom:16px}.data-ingestion .di-spin{animation:di-spin 2s linear infinite}@keyframes di-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.data-ingestion .di-progress-container h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 20px}.data-ingestion .di-progress-bar{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.data-ingestion .di-progress-fill{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .3s ease}.data-ingestion .di-progress-text{color:#6b7280;font-size:14px;margin-top:10px}.data-ingestion .di-result{padding:20px 0;text-align:center}.data-ingestion .di-result-icon{margin-bottom:16px}.data-ingestion .di-result-icon-success{color:#10b981}.data-ingestion .di-result-icon-error{color:#dc2626}.data-ingestion .di-result h2{color:#111827;font-size:24px;font-weight:700;margin:0 0 8px}.data-ingestion .di-result p{color:#6b7280;font-size:15px;margin:0 0 28px}.data-ingestion .di-result-stats{display:flex;gap:24px;justify-content:center;margin-bottom:8px}.data-ingestion .di-stat-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;min-width:140px;padding:20px 32px;text-align:center}.data-ingestion .di-stat-value{color:#111827;font-size:28px;font-weight:700}.data-ingestion .di-stat-label{color:#6b7280;font-size:13px;margin-top:4px}@media (max-width:768px){.data-ingestion{padding:16px}.data-ingestion .di-stepper{flex-wrap:wrap;gap:4px;padding:12px 16px}.data-ingestion .di-step-label{display:none}.data-ingestion .di-step-connector{width:20px}.data-ingestion .di-content-card{padding:20px 16px}.data-ingestion .di-summary-bar{flex-direction:column;gap:8px}.data-ingestion .di-actions{flex-direction:column}.data-ingestion .di-actions .di-btn-primary,.data-ingestion .di-actions .di-btn-secondary{justify-content:center;width:100%}.data-ingestion .di-dropzone{padding:32px 16px}.data-ingestion .di-result-stats{align-items:center;flex-direction:column}.data-ingestion .di-columns-grid{gap:6px}}.ec-close{background:none;border:none;color:var(--text-muted);cursor:pointer;line-height:0;padding:4px}.ec-close:hover{color:var(--text-primary)}.ec-body{background:#0000;background:var(--surface-page,#0000);max-height:65vh}.ec-toolbar{border-bottom:1px solid var(--border-default);flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:4px 0 12px;position:sticky;top:0;z-index:2}.ec-search,.ec-toolbar{align-items:center;background:var(--surface-card);display:flex}.ec-search{border:1px solid var(--border-default);border-radius:8px;color:var(--text-muted);flex:1 1 220px;gap:6px;padding:6px 10px}.ec-search input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:.9rem;outline:none}.ec-filter{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;gap:6px;margin:0;white-space:nowrap}.ec-counts{display:flex;gap:8px;margin-left:auto}.ec-count{border-radius:999px;font-size:.75rem;font-weight:600;padding:3px 10px}.ec-count-enabled{background:var(--brand-primary);color:#fff}.ec-count-mandatory{background:#b26a00;background:var(--status-warning,#b26a00);color:#fff}.ec-group{margin-bottom:20px}.ec-group-header{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.ec-group-header h4{color:var(--text-primary);font-size:.95rem;font-weight:700;margin:0}.ec-group-toggle{background:none;border:none;color:var(--brand-primary);cursor:pointer;font-size:.78rem;font-weight:600;padding:0}.ec-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.ec-item{grid-gap:4px 8px;align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;display:grid;gap:4px 8px;grid-template-columns:1fr auto;padding:8px 10px}.ec-item.is-on{border-color:var(--brand-primary)}.ec-item-main{align-items:center;cursor:pointer;display:flex;gap:8px;margin:0;min-width:0}.ec-item-label{color:var(--text-primary);font-size:.86rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-badge{border-radius:999px;font-size:.65rem;font-weight:700;padding:1px 6px;text-transform:uppercase;white-space:nowrap}.ec-badge-warn{background:#b26a0026;background:var(--status-warning-soft,#b26a0026);color:#b26a00;color:var(--status-warning,#b26a00)}.ec-req{align-items:center;background:#0000;border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.7rem;font-weight:600;gap:3px;justify-self:end;padding:2px 8px}.ec-req.is-on{background:#b26a00;background:var(--status-warning,#b26a00);border-color:#b26a00;border-color:var(--status-warning,#b26a00);color:#fff}.ec-item-hint{color:var(--text-muted);font-size:.72rem;grid-column:1/-1;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-empty{color:var(--text-muted);padding:24px 0;text-align:center}.ec-footer{gap:8px;justify-content:flex-end}.ec-error{align-items:center;color:#c0392b;color:var(--status-danger,#c0392b);display:flex;font-size:.85rem;gap:6px;margin-right:auto}.student-photo-upload{margin:0 auto;max-width:1200px;padding:24px}.student-photo-upload .page-header{margin-bottom:24px}.student-photo-upload .page-header h2{font-size:22px;font-weight:600;margin:0 0 6px}.student-photo-upload .page-header .subtitle{color:var(--text-muted);font-size:14px}.student-photo-upload .instructions{background:var(--surface-page);border-left:4px solid var(--brand-primary);border-radius:4px;margin-bottom:20px;padding:14px 18px}.student-photo-upload .instructions ul{margin:8px 0 0;padding-left:20px}.student-photo-upload .instructions li{font-size:13px;margin-bottom:4px}.student-photo-upload .drop-zone{background:var(--surface-card);border:2px dashed var(--border-strong);border-radius:8px;cursor:pointer;padding:40px 20px;text-align:center;transition:all .15s ease}.student-photo-upload .drop-zone.drag-active{background:#eaf3ff;border-color:var(--brand-primary)}.student-photo-upload .drop-zone .icon{color:var(--text-muted);font-size:36px;margin-bottom:8px}.student-photo-upload .drop-zone .filename{color:var(--text-strong);font-weight:500;margin-top:10px}.student-photo-upload .summary-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:20px 0}.student-photo-upload .summary-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;padding:14px;text-align:center}.student-photo-upload .summary-card .label{color:var(--text-muted);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.student-photo-upload .summary-card .value{font-size:24px;font-weight:600;margin-top:4px}.student-photo-upload .summary-card.matched .value,.student-photo-upload .summary-card.uploaded .value{color:var(--status-success)}.student-photo-upload .summary-card.error .value,.student-photo-upload .summary-card.failed .value{color:var(--status-danger)}.student-photo-upload .summary-card.skipped .value,.student-photo-upload .summary-card.warning .value{color:#fd7e14}.student-photo-upload .results-table{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.student-photo-upload .results-table table{margin:0;width:100%}.student-photo-upload .results-table th{background:var(--surface-page);color:var(--text-body);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.student-photo-upload .status-pill{border-radius:10px;display:inline-block;font-size:12px;font-weight:500;padding:2px 10px}.student-photo-upload .status-pill.matched,.student-photo-upload .status-pill.uploaded{background:#d1e7dd;color:#0f5132}.student-photo-upload .status-pill.failed,.student-photo-upload .status-pill.not-found{background:var(--status-danger-bg);color:#842029}.student-photo-upload .status-pill.duplicate-code,.student-photo-upload .status-pill.invalid-type,.student-photo-upload .status-pill.skipped{background:var(--status-warning-bg);color:#664d03}.student-photo-upload .action-bar{display:flex;gap:10px;justify-content:flex-end;margin:16px 0}.student-photo-upload .filter-tabs{display:flex;gap:6px;margin-bottom:12px}.data-ingestion.scorm-library{max-width:1400px}.data-ingestion.scorm-library .scorm-header-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.data-ingestion.scorm-library .scorm-header-actions{align-items:center;display:flex;flex-shrink:0;gap:10px}.data-ingestion.scorm-library .scorm-settings-btn{align-items:center;aspect-ratio:1;display:inline-flex;justify-content:center;padding:9px}.data-ingestion.scorm-library .scorm-conn-banner{align-items:center;background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:10px;color:var(--status-success-text);display:flex;font-size:.9rem;gap:10px;margin-bottom:16px;padding:10px 14px}.data-ingestion.scorm-library .scorm-conn-banner .di-error-close{background:none;border:none;color:inherit;cursor:pointer;display:flex;margin-left:auto}.data-ingestion.scorm-library .scorm-table td{vertical-align:top}.data-ingestion.scorm-library .scorm-td-name{max-width:340px;min-width:220px}.data-ingestion.scorm-library .scorm-course-name{color:var(--text-strong);font-weight:600}.data-ingestion.scorm-library .scorm-resource-id{color:var(--text-faint);font-size:.78rem;font-weight:500}.data-ingestion.scorm-library .scorm-course-file{align-items:center;color:var(--text-muted);display:flex;font-size:.78rem;gap:4px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-ingestion.scorm-library .scorm-muted{color:var(--text-muted);font-size:.82rem}.data-ingestion.scorm-library .scorm-status-importing{align-items:center;background:var(--status-warning-bg);border-radius:999px;color:var(--status-warning-text);display:inline-flex;font-size:.78rem;font-weight:600;gap:4px;padding:3px 10px}.data-ingestion.scorm-library .scorm-td-actions,.data-ingestion.scorm-library .scorm-th-actions{text-align:right;white-space:nowrap}.data-ingestion.scorm-library .scorm-action-btn{align-items:center;background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px;color:var(--text-body);cursor:pointer;display:inline-flex;margin-left:6px;padding:6px 8px;transition:background .15s ease}.data-ingestion.scorm-library .scorm-action-btn:hover:not(:disabled){background:var(--surface-sunken)}.data-ingestion.scorm-library .scorm-action-btn:disabled{cursor:not-allowed;opacity:.45}.data-ingestion.scorm-library .scorm-action-danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.data-ingestion.scorm-library .scorm-action-danger:hover:not(:disabled){background:var(--status-danger-bg)}.data-ingestion.scorm-library .scorm-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:10px;padding:48px 20px;text-align:center}.data-ingestion.scorm-library .scorm-empty h3{color:var(--text-strong);font-size:1.1rem;margin:0}.data-ingestion.scorm-library .scorm-empty p{margin:0;max-width:420px}.data-ingestion.scorm-library .scorm-form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.data-ingestion.scorm-library .scorm-form-label{color:var(--text-body);display:flex;flex-direction:column;font-size:.88rem;font-weight:600;gap:6px}.data-ingestion.scorm-library .scorm-required{color:var(--status-danger)}.data-ingestion.scorm-library .scorm-form-input{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:10px;color:var(--text-strong);font-size:.92rem;font-weight:400;outline:none;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease}.data-ingestion.scorm-library .scorm-form-input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #7c3aed1f}.data-ingestion.scorm-library .scorm-form-textarea{min-height:72px;resize:vertical}.modal-dialog.scorm-modal .modal-content{border:none;border-radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.modal-dialog.scorm-modal .modal-header{border-bottom:1px solid var(--border-subtle);padding:16px 20px}.modal-dialog.scorm-modal .modal-title{color:var(--text-strong);font-size:1.05rem;font-weight:700}.modal-dialog.scorm-modal .modal-body{color:var(--text-body);padding:18px 20px}.modal-dialog.scorm-modal .modal-footer{border-top:1px solid var(--border-subtle);padding:12px 20px}.modal-dialog.scorm-modal .scorm-reg-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.modal-dialog.scorm-modal .scorm-muted{color:var(--text-muted);font-size:.85rem}.modal-dialog.scorm-modal .di-table-wrapper{border:1px solid var(--border-default);border-radius:10px;max-height:420px;overflow:auto}.modal-dialog.scorm-modal .di-preview-table{border-collapse:collapse;font-size:13px;width:100%}.modal-dialog.scorm-modal .di-preview-table thead{position:sticky;top:0;z-index:1}.modal-dialog.scorm-modal .di-preview-table th{background:var(--surface-page);border-bottom:2px solid var(--border-default);color:var(--text-body);font-size:12px;font-weight:600;letter-spacing:.03em;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.modal-dialog.scorm-modal .di-preview-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-body);padding:8px 12px;vertical-align:middle;white-space:nowrap}.modal-dialog.scorm-modal .di-preview-table tbody tr:last-child td{border-bottom:none}.modal-dialog.scorm-modal .di-status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:2px 8px}.modal-dialog.scorm-modal .di-status-valid{background:var(--status-success-bg);color:var(--status-success)}.modal-dialog.scorm-modal .scorm-status-importing{align-items:center;background:var(--status-warning-bg);border-radius:999px;color:var(--status-warning-text);display:inline-flex;font-size:.78rem;font-weight:600;gap:4px;padding:3px 10px}.modal-dialog.scorm-modal .di-error-banner{align-items:center;background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:8px;color:var(--status-danger);display:flex;font-size:14px;gap:10px;margin-bottom:12px;padding:12px 16px}.modal-dialog.scorm-modal .di-error-banner svg{flex-shrink:0}@media (max-width:768px){.data-ingestion.scorm-library .scorm-header-actions{width:100%}.data-ingestion.scorm-library .scorm-header-actions button{flex:1 1}}.data-ingestion .udl-filter-card{background:var(--surface-card);border-radius:12px;box-shadow:0 1px 3px #00000014;margin-bottom:16px;padding:16px 20px}.data-ingestion .udl-filter-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:12px}.data-ingestion .udl-filter-title{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.data-ingestion .udl-presets{display:flex;flex-wrap:wrap;gap:6px}.data-ingestion .udl-chip{align-items:center;background:var(--surface-sunken);border:1px solid #0000;border-radius:999px;color:var(--text-body);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:500;gap:6px;padding:4px 12px;transition:all .15s ease}.data-ingestion .udl-chip:hover{background:var(--brand-primary-subtle);color:var(--brand-accent)}.data-ingestion .udl-chip.active{background:var(--gradient-brand);box-shadow:0 2px 6px #667eea4d;color:var(--text-on-brand)}.data-ingestion .udl-filter-grid{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:repeat(4,1fr) auto}.data-ingestion .udl-field{display:flex;flex-direction:column;gap:4px;position:relative}.data-ingestion .udl-field label{color:var(--text-body);font-size:11px;font-weight:600;letter-spacing:.03em;margin:0;text-transform:uppercase}.data-ingestion .udl-input,.data-ingestion .udl-select{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;box-sizing:border-box;color:var(--text-strong);font-family:inherit;font-size:13px;height:38px;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.data-ingestion .udl-input:focus,.data-ingestion .udl-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea1f;outline:none}.data-ingestion .udl-typeahead-wrap{position:relative}.data-ingestion .udl-typeahead-input{padding-right:32px}.data-ingestion .udl-typeahead-clear{background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;display:flex;padding:4px;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.data-ingestion .udl-typeahead-clear:hover{background:var(--status-danger-bg);color:var(--status-danger)}.data-ingestion .udl-typeahead-results{background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 8px 24px #0000001f;left:0;max-height:260px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.data-ingestion .udl-typeahead-item{border-bottom:1px solid var(--border-subtle);color:var(--text-strong);cursor:pointer;font-size:13px;padding:8px 12px}.data-ingestion .udl-typeahead-item:last-child{border-bottom:none}.data-ingestion .udl-typeahead-item.highlighted,.data-ingestion .udl-typeahead-item:hover{background:var(--brand-primary-subtle);color:var(--brand-accent)}.data-ingestion .udl-typeahead-item-email{color:var(--text-muted);display:block;font-size:11px;margin-top:2px}.data-ingestion .udl-typeahead-empty{color:var(--text-faint);font-size:12px;padding:10px 12px;text-align:center}.data-ingestion .udl-filter-actions{align-items:end;display:flex;gap:8px}.data-ingestion .udl-filter-actions .di-btn-primary,.data-ingestion .udl-filter-actions .di-btn-secondary{height:38px;padding:8px 16px;white-space:nowrap}.data-ingestion .udl-results-card{background:var(--surface-card);border-radius:12px;box-shadow:0 1px 3px #00000014;overflow:hidden}.data-ingestion .udl-results-header{align-items:center;background:var(--surface-page);border-bottom:1px solid var(--border-default);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 24px}.data-ingestion .udl-results-title{align-items:center;color:var(--text-strong);display:flex;font-size:14px;font-weight:600;gap:12px}.data-ingestion .udl-results-count{background:var(--surface-sunken);border-radius:999px;color:var(--text-muted);font-size:12px;font-weight:500;padding:4px 10px}.data-ingestion .udl-table-wrapper{max-height:580px;overflow-x:auto;overflow-y:auto}.data-ingestion .udl-table{border-collapse:collapse;font-size:13px;width:100%}.data-ingestion .udl-table thead{position:sticky;top:0;z-index:1}.data-ingestion .udl-table th{background:var(--surface-page);border-bottom:2px solid var(--border-default);color:var(--text-body);font-size:11px;font-weight:600;letter-spacing:.04em;padding:11px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.data-ingestion .udl-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-body);padding:10px 16px;vertical-align:middle}.data-ingestion .udl-table tr:hover td{background:var(--surface-page)}.data-ingestion .udl-cell-date{font-feature-settings:"tnum";color:var(--text-body);font-variant-numeric:tabular-nums;white-space:nowrap}.data-ingestion .udl-cell-time{color:var(--text-faint);display:block;font-size:11px;margin-top:2px}.data-ingestion .udl-cell-user{color:var(--text-strong);font-weight:500}.data-ingestion .udl-cell-filename{color:var(--text-body);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-ingestion .udl-cell-download{text-align:center;width:88px}.data-ingestion .udl-type-pill{background:var(--brand-primary-subtle);border-radius:4px;color:var(--brand-primary-hover);display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px;font-weight:600;letter-spacing:.02em;padding:3px 10px;white-space:nowrap}.data-ingestion .udl-download-btn{align-items:center;background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:8px;color:var(--status-success);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:all .15s ease;width:34px}.data-ingestion .udl-download-btn:hover:not(:disabled){background:var(--status-success);border-color:var(--status-success);box-shadow:0 4px 10px #0596694d;color:var(--text-on-brand);transform:translateY(-1px)}.data-ingestion .udl-download-btn:disabled{background:var(--surface-page);border-color:var(--border-default);color:var(--text-faint);cursor:not-allowed;opacity:.4}.data-ingestion .udl-download-btn.loading{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-muted);cursor:wait}.data-ingestion .udl-spinner{animation:udl-spin .8s linear infinite}@keyframes udl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.data-ingestion .udl-state{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:72px 24px;text-align:center}.data-ingestion .udl-state-icon{color:#c4b5fd;margin-bottom:16px}.data-ingestion .udl-state h3{color:var(--text-body);font-size:16px;font-weight:600;margin:0 0 6px}.data-ingestion .udl-state p{font-size:13px;margin:0;max-width:380px}.data-ingestion .udl-pagination{align-items:center;background:var(--surface-page);border-top:1px solid var(--border-default);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 24px}.data-ingestion .udl-pagination-info{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:12px}.data-ingestion .udl-pagination-info select{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);font-size:12px;height:30px;padding:0 8px}.data-ingestion .udl-pagination-controls{align-items:center;display:flex;gap:6px}.data-ingestion .udl-page-btn{align-items:center;background:var(--surface-card);border:1px solid var(--border-strong);border-radius:6px;color:var(--text-body);cursor:pointer;display:inline-flex;font-family:inherit;font-size:12px;font-weight:500;height:32px;justify-content:center;min-width:32px;padding:0 8px;transition:all .15s ease}.data-ingestion .udl-page-btn:hover:not(:disabled){background:var(--brand-primary-subtle);border-color:var(--brand-primary);color:var(--brand-primary)}.data-ingestion .udl-page-btn:disabled{cursor:not-allowed;opacity:.4}.data-ingestion .udl-page-indicator{font-feature-settings:"tnum";color:var(--text-strong);font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;padding:0 10px}.data-ingestion .udl-error-banner{align-items:center;background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:8px;color:var(--status-danger);display:flex;font-size:13px;gap:10px;margin-bottom:16px;padding:12px 16px}.data-ingestion .udl-error-banner svg{flex-shrink:0}@media (max-width:1180px){.data-ingestion .udl-filter-grid{grid-template-columns:repeat(2,1fr)}.data-ingestion .udl-filter-actions{grid-column:1/-1;justify-content:flex-end}}@media (max-width:640px){.data-ingestion .udl-filter-grid{grid-template-columns:1fr}.data-ingestion .udl-pagination,.data-ingestion .udl-results-header{align-items:stretch;flex-direction:column}.data-ingestion .udl-filter-actions{flex-direction:column}.data-ingestion .udl-filter-actions .di-btn-primary,.data-ingestion .udl-filter-actions .di-btn-secondary{justify-content:center;width:100%}}@media (min-width:1024px){.data-ingestion.pd-page{transition:margin-left .3s cubic-bezier(.4,0,.2,1)}}.pd-tabs{background:var(--surface-sunken);border-radius:12px;gap:4px;margin-bottom:20px;padding:4px}.pd-tab,.pd-tabs{display:inline-flex}.pd-tab{align-items:center;background:#0000;border:none;border-radius:9px;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:600;gap:7px;padding:9px 20px;transition:all .15s}.pd-tab:hover{color:#4c1d95}.pd-tab.active{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent));box-shadow:0 4px 12px #7c3aed4d;color:var(--text-on-brand)}.pdl-filters{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:18px}.pdl-filter-actions{display:flex;gap:10px}.pdl-bulkbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.pdl-bulkbar-info{color:var(--text-muted);font-size:13px}.pdl-student-cell{align-items:center;display:flex;gap:10px;min-width:0}.pdl-student-name{color:var(--text-strong);font-size:13px;overflow:hidden;text-overflow:ellipsis}.pdl-pill,.pdl-student-name{font-weight:600;white-space:nowrap}.pdl-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;gap:4px;padding:3px 10px}.pdl-pill-live{background:var(--status-success-bg);color:var(--status-success-text)}.pdl-pill-scheduled{background:#fef9c3;color:#a16207}.pdl-pill-expired{background:var(--status-danger-bg);color:var(--status-danger)}.pdl-pill-withdrawn{background:var(--surface-sunken);color:var(--text-body)}.pdl-row-actions{display:flex;gap:8px;white-space:nowrap}.pdl-icon-btn{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;color:var(--text-strong);cursor:pointer;display:inline-flex;font-size:13px;gap:5px;padding:5px 10px;transition:background .12s}.pdl-icon-btn:hover{background:var(--surface-page)}.pdl-icon-btn:disabled{cursor:not-allowed;opacity:.5}.pdl-icon-btn-danger{border-color:var(--status-danger-border);color:var(--status-danger)}.pdl-icon-btn-danger:hover{background:var(--status-danger-bg)}.pdl-pagination{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:16px}.pdl-pagination-info{color:var(--text-muted);font-size:13px}.pdl-pagination-controls{align-items:center;display:flex;gap:8px}.pdl-muted{color:var(--text-faint)}.pdl-empty{color:var(--text-muted);padding:48px 16px;text-align:center}.pdl-empty svg{color:var(--text-faint);margin-bottom:12px}.pd-setup-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 2fr;margin-bottom:24px}@media (max-width:720px){.pd-setup-row{grid-template-columns:1fr}}.pd-field-label{color:var(--text-body);display:block;font-size:13px;font-weight:600;letter-spacing:.01em;margin-bottom:6px}.pd-field-input,.pd-field-select{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.pd-field-input:focus,.pd-field-select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #7c3aed1f;outline:none}.pd-upload-progress{background:linear-gradient(135deg,#faf5ff 0,var(--brand-primary-subtle) 100%);border:1px solid #e9d5ff;border-radius:12px;margin-top:16px;padding:16px 20px}.pd-upload-progress-label{align-items:center;color:#6b21a8;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:8px}.pd-upload-progress-track{background:var(--brand-primary-subtle);border-radius:999px;height:6px;overflow:hidden}.pd-upload-progress-fill{background:linear-gradient(90deg,var(--brand-accent),var(--brand-accent));border-radius:999px;height:100%;transition:width .2s ease-out}.pd-split{grid-gap:20px;display:grid;gap:20px;grid-template-columns:3fr 2fr;margin-bottom:16px}@media (max-width:980px){.pd-split{grid-template-columns:1fr}}.pd-pane{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;display:flex;flex-direction:column;min-height:360px;overflow:hidden}.pd-pane-head{background:var(--surface-page);border-bottom:1px solid var(--border-subtle);justify-content:space-between;padding:14px 18px}.pd-pane-head,.pd-pane-title{align-items:center;display:flex}.pd-pane-title{color:var(--text-strong);font-size:14px;font-weight:700;gap:8px;letter-spacing:.01em}.pd-pane-count{background:var(--surface-sunken);border-radius:999px;color:var(--text-muted);font-size:12px;font-weight:600;padding:3px 10px}.pd-pane.pd-pane-matched .pd-pane-count{background:var(--status-success-bg);color:var(--status-success-text)}.pd-pane.pd-pane-unmatched .pd-pane-count{background:var(--status-danger-bg);color:var(--status-danger)}.pd-pane-search{background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;font-size:13px;margin:12px 18px;padding:8px 12px;width:100%;width:calc(100% - 36px)}.pd-pane-list{flex:1 1;overflow-y:auto;padding:0 12px 12px}.pd-pane-empty{align-items:center;color:var(--text-faint);display:flex;flex-direction:column;font-size:13px;gap:8px;justify-content:center;padding:48px 24px;text-align:center}.pd-row{grid-gap:10px;align-items:center;border-radius:8px;display:grid;gap:10px;grid-template-columns:32px 1fr auto;margin-bottom:4px;padding:10px 12px;transition:background .1s}.pd-row:hover{background:var(--surface-page)}.pd-row-avatar{align-items:center;background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent));border-radius:50%;color:var(--text-on-brand);display:flex;font-size:12px;font-weight:700;height:32px;justify-content:center;letter-spacing:.02em;width:32px}.pd-row-body{min-width:0}.pd-row-name{color:var(--text-strong);font-size:13px;font-weight:600}.pd-row-meta,.pd-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-row-meta{color:var(--text-muted);font-size:11px;margin-top:2px}.pd-row-tag{border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.04em;padding:3px 8px}.pd-row-tag.pd-tag-new{background:var(--status-success-bg);color:var(--status-success-text)}.pd-row-tag.pd-tag-replace{background:var(--status-warning-bg);color:var(--status-warning-text)}.pd-unmatched-row{grid-gap:8px;border-bottom:1px solid var(--border-subtle);display:grid;gap:8px;grid-template-columns:1fr auto;padding:10px 12px}.pd-unmatched-row:last-child{border-bottom:none}.pd-unmatched-name{color:var(--text-strong);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-unmatched-reason{color:var(--status-danger);font-size:11px;margin-top:2px}.pd-unmatched-size{color:var(--text-faint);font-size:11px;white-space:nowrap}.pd-diff-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 18px}.pd-chip{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.pd-chip-new{background:var(--status-success-bg);color:var(--status-success-text)}.pd-chip-replace{background:var(--status-warning-bg);color:var(--status-warning-text)}.pd-chip-skip{background:var(--status-danger-bg);color:var(--status-danger)}.pd-result-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:24px 0}.pd-result-tile{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-sunken) 100%);border:1px solid var(--border-default);border-radius:12px;padding:20px 16px;text-align:center}.pd-result-tile.pd-result-tile-created{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);border-color:var(--status-success-border)}.pd-result-tile.pd-result-tile-replaced{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border-color:var(--status-warning-border)}.pd-result-tile.pd-result-tile-failed{background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);border-color:var(--status-danger-border)}.pd-result-tile-value{color:var(--text-strong);font-size:32px;font-weight:800;line-height:1}.pd-result-tile-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.04em;margin-top:6px;text-transform:uppercase}.pd-failures{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:12px;margin-top:20px;padding:16px}.pd-failures-head{color:var(--status-danger);font-size:13px;font-weight:700;margin-bottom:8px}.pd-failures-list{color:var(--status-danger-text);font-size:12px;list-style:none;margin:0;padding:0}.pd-failures-list li{border-bottom:1px dashed var(--status-danger-border);padding:4px 0}.pd-failures-list li:last-child{border-bottom:none}.modal-dialog.pd-confirm-modal{--pd-primary:var(--brand-accent)}.modal-dialog.pd-confirm-modal .modal-content{border:none;border-radius:14px;box-shadow:0 20px 60px #0000002e;overflow:hidden}.modal-dialog.pd-confirm-modal .modal-header{border-bottom:1px solid var(--border-subtle);padding:18px 24px}.modal-dialog.pd-confirm-modal .modal-body{color:var(--text-body);font-size:14px;padding:24px}.modal-dialog.pd-confirm-modal .modal-footer{border-top:1px solid var(--border-subtle);padding:14px 24px}.modal-dialog.pd-confirm-modal .pd-confirm-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:16px}.modal-dialog.pd-confirm-modal .pd-confirm-cell{background:var(--surface-page);border-radius:10px;padding:14px 8px;text-align:center}.modal-dialog.pd-confirm-modal .pd-confirm-cell-value{color:var(--text-strong);font-size:24px;font-weight:800;line-height:1}.modal-dialog.pd-confirm-modal .pd-confirm-cell-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;margin-top:6px;text-transform:uppercase}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.question-bank-page{background:#f5f6fa;min-height:100vh;padding:0}.question-bank-page .page-header{align-items:center;background:var(--gradient-brand);color:var(--text-on-brand);display:flex;justify-content:space-between;margin-bottom:0;padding:24px 32px}.question-bank-page .page-header h4{color:var(--text-on-brand);font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0}.question-bank-page .header-actions{display:flex;gap:10px}.question-bank-page .header-actions .btn{border:none;border-radius:8px;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s}.question-bank-page .header-actions .btn-primary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:1px solid #ffffff4d;color:var(--text-on-brand)}.question-bank-page .header-actions .btn-primary:hover{background:#ffffff59}.question-bank-page .header-actions .btn-secondary{background:#ffffff1f;border:1px solid #fff3;color:var(--text-on-brand)}.question-bank-page .header-actions .btn-secondary:hover{background:#ffffff40}.question-bank-page .qb-content-area{padding:24px 32px}.question-bank-page .filters-row{grid-gap:16px;align-items:end;background:#0000;border:none;border-radius:0;box-shadow:none;display:grid;gap:16px;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(130px,1fr)) auto;margin-bottom:20px;padding:0}@media (max-width:1100px){.question-bank-page .filters-row{grid-template-columns:repeat(2,minmax(0,1fr))}.question-bank-page .filters-row .btn-primary,.question-bank-page .filters-row .search-input,.question-bank-page .filters-row>.btn{grid-column:1/-1}}.question-bank-page .filters-row .filter-select,.question-bank-page .filters-row .search-input{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;max-width:none;min-width:auto;padding:0!important}.question-bank-page .filters-row .search-input{min-width:0!important}.question-bank-page .filters-row .filter-select label,.question-bank-page .filters-row .search-input label{color:var(--text-strong);display:block;font-size:13px;font-weight:500;margin-bottom:4px}.question-bank-page .filters-row .form-control,.question-bank-page .filters-row .form-select,.question-bank-page .filters-row select{background-color:var(--surface-card)!important;border:1px solid var(--border-strong)!important;border-radius:4px!important;box-shadow:none!important;color:var(--text-body)!important;font-size:14px!important;height:36px!important;outline:none!important;padding:6px 12px!important;transition:border-color .15s ease-in-out!important}.question-bank-page .filters-row .form-control:focus,.question-bank-page .filters-row .form-select:focus,.question-bank-page .filters-row select:focus{border-color:#80bdff!important;box-shadow:0 0 0 .2rem #007bff40!important}.question-bank-page .filters-row .filter-select{max-width:none!important;min-width:0!important}.question-bank-page .filters-row .filter-select .form-select,.question-bank-page .filters-row .filter-select select,.question-bank-page .filters-row .search-input .form-control{width:100%!important}.question-bank-page .filters-row .filter-select .form-select,.question-bank-page .filters-row .filter-select select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-bank-page .filters-row .btn-primary,.question-bank-page .filters-row>.btn{background:var(--gradient-brand);border:none;border-radius:4px;font-size:14px;font-weight:600;height:36px;padding:6px 24px;transition:opacity .2s}.question-bank-page .filters-row .btn-primary:hover{opacity:.9}.question-bank-page .results-table-container{background:var(--surface-card);border:1px solid #ebeef5;border-radius:14px;box-shadow:0 2px 12px #0000000a,0 1px 3px #0000000f;font-size:13px;overflow:hidden}.question-bank-page thead th{background:linear-gradient(180deg,#f8f9ff,#f0f2f8);border-bottom:2px solid #ebeef5!important;color:#8b8fa3;font-size:11px;font-weight:700;letter-spacing:.8px;padding:14px 16px!important;position:sticky;text-transform:uppercase;top:0;z-index:1}.question-bank-page tbody tr{transition:background .15s}.question-bank-page tbody tr:hover{background:#f8f9ff!important}.question-bank-page tbody td{border-bottom:1px solid #f0f1f5!important;color:var(--text-body);padding:14px 16px!important;vertical-align:middle}.question-bank-page .question-text-cell{color:var(--text-strong);cursor:pointer;font-weight:500;max-width:500px;overflow:hidden;text-overflow:ellipsis;transition:color .15s;white-space:nowrap}.question-bank-page .question-text-cell:hover{color:var(--brand-primary)}.question-bank-page .actions-cell{display:flex;gap:6px;white-space:nowrap}.question-bank-page .action-btn{background:var(--surface-card);border:1px solid #e0e4f0;border-radius:6px;color:#5b6abf;cursor:pointer;font-size:12px;font-weight:500;padding:5px 12px;transition:all .15s}.question-bank-page .action-btn:hover{background:#f0f2ff;border-color:#c7d0ff;box-shadow:0 2px 4px #667eea1a;color:#4c5bb5;transform:translateY(-1px)}.question-bank-page .action-btn.delete{color:var(--text-faint)}.question-bank-page .action-btn.delete:hover{background:var(--status-danger-bg);border-color:var(--status-danger-border);box-shadow:0 2px 4px #dc35451a;color:var(--status-danger)}.question-bank-page .qb-table-badge{background:#eef0ff;border-radius:12px;color:#5b6abf;display:inline-block;font-size:11px;font-weight:600;padding:3px 10px}.question-bank-page .qb-table-badge-difficulty{background:var(--status-warning-bg);color:var(--status-warning-text)}.question-bank-page .qb-table-badge-marks{align-items:center;background:var(--gradient-brand);border-radius:50%;color:var(--text-on-brand);display:inline-flex;font-size:12px;font-weight:700;height:28px;justify-content:center;min-width:28px}.question-bank-page .pagination-row{align-items:center;background:var(--surface-page);border-top:1px solid #f0f1f5;color:#8b8fa3;display:flex;font-size:13px;justify-content:space-between;padding:14px 20px}.question-bank-page .pagination-buttons{display:flex;gap:4px}.question-bank-page .pagination-buttons button{background:var(--surface-card);border:1px solid #e0e4f0;border-radius:8px;color:#5b6abf;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .15s}.question-bank-page .pagination-buttons button:hover:not(:disabled){background:#f0f2ff;border-color:#c7d0ff;transform:translateY(-1px)}.question-bank-page .pagination-buttons button:disabled{color:var(--text-faint);cursor:not-allowed;opacity:.4}.question-bank-page .pagination-buttons button.active{background:var(--gradient-brand);border-color:#0000;box-shadow:0 2px 8px #667eea4d;color:var(--text-on-brand)}.question-bank-page .empty-state,.question-bank-page .loading-container{background:var(--surface-card);border:1px solid #ebeef5;border-radius:14px;box-shadow:0 2px 12px #0000000a,0 1px 3px #0000000f;color:#8b8fa3;font-size:15px;padding:80px 20px;text-align:center}.question-bank-page .detail-section{margin-bottom:16px}.question-bank-page .detail-section .detail-label{color:var(--text-faint);font-size:11px;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.question-bank-page .detail-section .detail-value{color:var(--text-strong);font-size:14px}.question-bank-page .question-html-content{background:#f8f9fb;border-radius:8px;color:var(--text-strong);font-size:14px;line-height:1.7;overflow-x:auto;padding:14px 16px}.question-bank-page .question-html-content img{height:auto;max-width:100%}.question-bank-page .choices-list{list-style:none;margin:0;padding:0}.question-bank-page .choices-list li{align-items:flex-start;background:var(--surface-page);border-radius:6px;display:flex;font-size:13px;gap:8px;margin-bottom:6px;padding:8px 12px}.question-bank-page .choices-list li.correct{background:#e8f5e9;border-left:3px solid var(--status-success)}.question-bank-page .choice-letter{color:var(--text-body);font-weight:600;min-width:20px}.question-bank-page .detail-meta-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr;margin-bottom:16px}.question-bank-page .detail-tags{display:flex;flex-wrap:wrap;gap:6px}.question-bank-page .detail-tag{background:#e3f2fd;border-radius:4px;color:#1565c0;display:inline-block;font-size:11px;padding:2px 8px}.question-bank-page .qb-analytics-panel{background:var(--surface-card);border:1px solid #ebeef5;border-radius:14px;box-shadow:0 2px 12px #0000000a,0 1px 3px #0000000f;margin-bottom:20px;overflow:hidden}.question-bank-page .qb-analytics-toggle{align-items:center;background:var(--gradient-brand);border:none;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:10px;letter-spacing:.3px;padding:14px 20px;text-align:left;transition:opacity .15s;width:100%}.question-bank-page .qb-analytics-toggle:hover{opacity:.92}.question-bank-page .qb-analytics-toggle-icon{font-size:12px}.question-bank-page .qb-analytics-total{font-size:12px;font-weight:400;margin-left:auto;opacity:.85}.question-bank-page .qb-analytics-body{padding:20px}.question-bank-page .qb-analytics-kpi-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.question-bank-page .qb-analytics-kpi{background:linear-gradient(180deg,#f8f9ff,#f0f2f8);border:1px solid #ebeef5;border-radius:12px;padding:18px 12px;text-align:center;transition:transform .15s}.question-bank-page .qb-analytics-kpi:hover{transform:translateY(-2px)}.question-bank-page .qb-analytics-kpi-value{-webkit-text-fill-color:#0000;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:800;line-height:1.2}.question-bank-page .qb-analytics-kpi-label{color:#8b8fa3;font-size:10px;font-weight:600;letter-spacing:1px;margin-top:6px;text-transform:uppercase}.question-bank-page .qb-analytics-charts{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.question-bank-page .qb-analytics-card{background:var(--surface-page);border:1px solid #ebeef5;border-radius:12px;padding:16px;transition:box-shadow .2s}.question-bank-page .qb-analytics-card:hover{box-shadow:0 4px 16px #0000000f}.question-bank-page .qb-analytics-card-title{color:#8b8fa3;font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.question-bank-page .qb-search-error{align-items:center;background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);border:1px solid var(--status-danger-border);border-radius:12px;color:var(--status-danger);display:flex;font-size:13px;font-weight:500;gap:10px;justify-content:space-between;margin-bottom:16px;padding:12px 18px}.modal-dialog.qb-form-modal .qb-form{display:flex;flex-direction:column;font-size:13px;gap:20px;margin:0 auto;max-width:960px}.modal-dialog.qb-form-modal .qb-form-error{background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);border:1px solid var(--status-danger-border);border-radius:12px;color:var(--status-danger);font-size:13px;font-weight:500;padding:12px 16px}.modal-dialog.qb-form-modal .qb-label{color:#9ca3b8;display:block;font-size:10px;font-weight:700;letter-spacing:1.2px;margin-bottom:6px;text-transform:uppercase}.modal-dialog.qb-form-modal .qb-form-section{background:var(--surface-card);border:1px solid #ebeef5;border-radius:14px;box-shadow:0 2px 12px #0000000a,0 1px 3px #0000000f;margin-bottom:0;padding:22px 24px;transition:box-shadow .2s}.modal-dialog.qb-form-modal .qb-form-section:hover{box-shadow:0 4px 20px #00000012,0 1px 4px #0000000f}.modal-dialog.qb-form-modal .qb-form-section.qb-edit-question{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-card) 100%);border-left:4px solid var(--brand-primary)}.modal-dialog.qb-form-modal .qb-form-section.qb-edit-context{background:linear-gradient(135deg,#faf8ff 0,var(--surface-card) 100%);border-left:4px solid var(--brand-accent)}.modal-dialog.qb-form-modal .qb-form-section.qb-edit-choices{border-left:4px solid var(--brand-primary)}.modal-dialog.qb-form-modal .qb-form-section.qb-edit-explanation{background:linear-gradient(135deg,#fffbf0 0,var(--surface-card) 100%);border-left:4px solid var(--status-warning)}.modal-dialog.qb-form-modal .qb-form-section.qb-edit-answer{border-left:4px solid var(--status-success)}.modal-dialog.qb-form-modal .qb-form-section.qb-edit-tags{background:linear-gradient(180deg,#faf8ff 0,var(--surface-card) 100%);border-left:4px solid var(--brand-accent)}.modal-dialog.qb-form-modal .qb-meta-grid{grid-gap:14px;background:var(--surface-card);border:1px solid #ebeef5;border-radius:14px;box-shadow:0 2px 12px #0000000a,0 1px 3px #0000000f;display:grid;gap:14px;grid-template-columns:1fr 1fr 1fr;margin-bottom:0;padding:22px 24px}.modal-dialog.qb-form-modal .form-control,.modal-dialog.qb-form-modal .form-select{border-color:#e0e4f0;border-radius:8px;font-size:13px}.modal-dialog.qb-form-modal .form-control:focus,.modal-dialog.qb-form-modal .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #667eea1f}.modal-dialog.qb-form-modal .qb-choices-list{display:flex;flex-direction:column;gap:8px}.modal-dialog.qb-form-modal .qb-choice-row{align-items:center;background:#f8f9fc;border:1px solid #ebeef5;border-radius:10px;display:flex;gap:12px;padding:10px 14px;transition:background .15s}.modal-dialog.qb-form-modal .qb-choice-row:hover{background:#f0f2f8}.modal-dialog.qb-form-modal .qb-choice-letter{align-items:center;background:#e8eaf6;border-radius:50%;color:#3f51b5;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.modal-dialog.qb-form-modal .qb-choice-text{flex:1 1}.modal-dialog.qb-form-modal .qb-choice-correct{align-items:center;color:var(--text-faint);cursor:pointer;display:flex;font-size:12px;gap:4px;margin:0;white-space:nowrap}.modal-dialog.qb-form-modal .qb-choice-correct .qb-correct-on{color:var(--status-success);font-weight:600}.modal-dialog.qb-form-modal .qb-choice-remove{background:none;border:none;color:#bbb;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.modal-dialog.qb-form-modal .qb-choice-remove:hover{color:var(--status-danger)}.modal-dialog.qb-ai-modal .qb-form{font-size:13px}.modal-dialog.qb-ai-modal .qb-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:4px}.modal-dialog.qb-ai-modal .qb-meta-grid{grid-gap:12px;display:grid;gap:12px}.modal-dialog.qb-review-modal{max-width:900px}.modal-dialog.qb-review-modal .qb-review-item{border:1px solid var(--border-default);border-radius:8px;margin-bottom:10px;overflow:hidden}.modal-dialog.qb-review-modal .qb-review-header{align-items:center;background:var(--surface-page);cursor:pointer;display:flex;gap:10px;padding:10px 14px}.modal-dialog.qb-review-modal .qb-review-header:hover{background:var(--surface-sunken)}.modal-dialog.qb-review-modal .qb-review-num{color:var(--text-body);font-size:13px;font-weight:700;min-width:28px}.modal-dialog.qb-review-modal .qb-review-stem{color:var(--text-strong);flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-dialog.qb-review-modal .qb-review-toggle{color:var(--text-faint);font-size:14px}.modal-dialog.qb-review-modal .qb-review-detail{border-top:1px solid var(--border-default);font-size:13px;padding:14px}.modal-dialog.qb-review-modal .qb-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:4px}.modal-dialog.qb-review-modal .qb-meta-grid{grid-gap:12px;display:grid;gap:12px}.modal-dialog.qb-review-modal .qb-choices-list{display:flex;flex-direction:column;gap:6px}.modal-dialog.qb-review-modal .qb-choice-row{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;display:flex;gap:8px;padding:6px 10px}.modal-dialog.qb-review-modal .qb-choice-letter{color:var(--text-body);font-size:13px;font-weight:700;min-width:20px;text-align:center}.modal-dialog.qb-review-modal .qb-choice-text{flex:1 1}.modal-dialog.qb-review-modal .qb-choice-correct{align-items:center;color:var(--text-faint);cursor:pointer;display:flex;font-size:12px;gap:4px;margin:0;white-space:nowrap}.modal-dialog.qb-review-modal .qb-choice-correct .qb-correct-on{color:var(--status-success);font-weight:600}.modal-dialog.qb-fullscreen-modal{height:100vh!important;margin:0!important;max-width:100vw!important;padding:0!important;width:100vw!important}.modal-dialog.qb-fullscreen-modal .modal-content{border:none!important;border-radius:0!important;height:100vh!important}.modal-dialog.qb-fullscreen-modal .modal-body{overflow-y:auto;padding:24px 40px}.qb-view-container{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1fr 340px;margin:0 auto;max-width:1200px;padding:4px 0}@media (max-width:900px){.qb-view-container{grid-template-columns:1fr}}.qb-view-main,.qb-view-sidebar{display:flex;flex-direction:column;gap:20px}.qb-view-sidebar{align-self:start;position:sticky;top:20px}.qb-view-card{background:var(--surface-card);border:1px solid #ebeef5;border-radius:14px;box-shadow:0 2px 12px #0000000a,0 1px 3px #0000000f;padding:22px 24px;transition:box-shadow .2s}.qb-view-card:hover{box-shadow:0 4px 20px #00000012,0 1px 4px #0000000f}.qb-view-card-label{align-items:center;color:#9ca3b8;display:flex;font-size:10px;font-weight:700;gap:6px;letter-spacing:1.2px;margin-bottom:10px;text-transform:uppercase}.qb-view-card.qb-card-question{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-card) 100%);border-left:4px solid var(--brand-primary)}.qb-view-card.qb-card-question .question-html-content{background:#0000;color:#1a1a2e;font-size:16px;line-height:1.7;padding:0}.qb-view-card.qb-card-context{background:linear-gradient(135deg,#faf8ff 0,var(--surface-card) 100%);border-left:4px solid var(--brand-accent)}.qb-view-card.qb-card-choices{padding:18px 20px}.qb-view-card.qb-card-choices .choices-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.qb-view-card.qb-card-choices .choices-list li{align-items:center;background:#f8f9fc;border:1px solid #0000;border-radius:10px;display:flex;font-size:14px;gap:12px;margin-bottom:0;padding:12px 16px;transition:all .15s}.qb-view-card.qb-card-choices .choices-list li:hover{background:#f0f2f8}.qb-view-card.qb-card-choices .choices-list li.correct{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);border-color:#86efac;border-left:4px solid var(--status-success)}.qb-view-card.qb-card-choices .choice-letter{align-items:center;background:#e8eaf6;border-radius:50%;color:#3f51b5;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;width:28px}.qb-view-card.qb-card-choices .choices-list li.correct .choice-letter{background:var(--status-success);color:var(--text-on-brand)}.qb-view-card.qb-card-explanation{background:linear-gradient(135deg,#fffbf0 0,var(--surface-card) 100%);border-left:4px solid var(--status-warning)}.qb-view-card.qb-card-explanation .question-html-content{background:#0000;color:#44403c;font-size:14px;line-height:1.75;padding:0}.qb-view-card.qb-card-answer{border-left:4px solid var(--status-success)}.qb-view-card.qb-card-answer .question-html-content{background:#0000;font-size:15px;font-weight:500;padding:0}.qb-view-badge-info{background:#eef0ff;border-radius:12px;color:#5b6abf;display:inline-block;font-size:10px;font-weight:600;letter-spacing:0;margin-left:8px;padding:3px 10px;text-transform:none}.qb-view-correct-badge{align-items:center;color:var(--status-success);display:flex;font-size:12px;font-weight:700;gap:4px;margin-left:auto;white-space:nowrap}.qb-view-badge-difficulty{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border-radius:12px;color:var(--status-warning-text);display:inline-block;font-size:11px;font-weight:600;padding:3px 12px}.qb-view-card.qb-card-info{background:linear-gradient(180deg,#f8f9ff 0,var(--surface-card) 100%);border:1px solid #e0e4f0}.qb-view-meta-row{align-items:center;border-bottom:1px solid #f0f1f5;display:flex;font-size:13px;justify-content:space-between;padding:9px 0}.qb-view-meta-row:last-child{border-bottom:none}.qb-view-meta-label{color:#8b8fa3;font-size:12px;font-weight:500}.qb-view-meta-value{color:var(--text-strong);font-size:13px;font-weight:600;max-width:180px;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.qb-view-card.qb-card-tags{background:linear-gradient(180deg,#faf8ff 0,var(--surface-card) 100%);border:1px solid #e8e0f5}.qb-view-tag-group{margin-bottom:14px}.qb-view-tag-group:last-child{margin-bottom:0}.qb-view-tag-type{color:#9ca3b8;font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.qb-view-tag-list{display:flex;flex-wrap:wrap;gap:6px}.qb-view-tag-pill{border-radius:16px;box-shadow:0 1px 2px #0000000a;color:var(--text-strong);display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.question-bank-page .qb-blanks-table,.question-bank-page .qb-mtf-table{font-size:13px;margin-bottom:0}.question-bank-page .qb-blanks-table th,.question-bank-page .qb-mtf-table th{background:var(--surface-page);color:var(--text-body);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.question-bank-page .qb-blanks-table td,.question-bank-page .qb-mtf-table td{vertical-align:middle}.modal-dialog.qb-form-modal .qb-mtf-edit-table{font-size:13px}.modal-dialog.qb-form-modal .qb-mtf-edit-table th{background:var(--surface-page);color:var(--text-body);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.modal-dialog.qb-form-modal .qb-mtf-edit-table td{vertical-align:middle}.modal.show .modal-fullscreen .qb-form{margin:0 auto;max-width:960px}.modal.show .modal-fullscreen .detail-meta-grid,.modal.show .modal-fullscreen .detail-section{max-width:960px}.qb-edit-tag-pill{align-items:center;border-radius:14px;color:var(--text-strong);display:inline-flex;font-size:12px;font-weight:500;gap:4px;margin:2px 4px 2px 0;padding:3px 8px 3px 10px}.qb-edit-tag-remove{background:none;border:none;border-radius:50%;color:var(--text-faint);cursor:pointer;font-size:14px;font-weight:700;line-height:1;padding:0 2px}.qb-edit-tag-remove:hover{background:#dc35451a;color:var(--status-danger)}.modal-dialog.qb-form-modal .qb-symbols-tip{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,#e8f4fd 100%);border:1px solid var(--brand-primary-subtle);border-radius:10px;color:var(--brand-primary-hover);display:flex;font-size:12px;gap:10px;line-height:1.5;padding:10px 16px}.modal-dialog.qb-form-modal .qb-symbols-tip-icon{color:var(--brand-primary);cursor:help;flex-shrink:0;font-size:18px}.modal-dialog.qb-form-modal .ck-editor__editable{font-size:14px;min-height:120px}.modal-dialog.qb-form-modal .qb-choice-row .ck-editor__editable{font-size:13px;min-height:40px;padding:4px 10px}.modal-dialog.qb-form-modal .qb-choice-row .ck.ck-toolbar{background:#0000;border:none;padding:2px 4px}.modal-dialog.qb-form-modal .qb-choice-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.modal-dialog.qb-form-modal .ck.ck-editor,.modal-dialog.qb-form-modal .qb-choice-row .ck.ck-editor{width:100%}.th-root{max-width:1100px;padding:24px}.th-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.th-page-title{color:var(--text-strong);font-weight:700;margin:0 0 2px}.th-subtitle{color:var(--text-muted);font-size:.8rem}.th-subtitle code{background:var(--surface-sunken);border-radius:4px;color:var(--brand-primary-hover);font-size:.75rem;padding:1px 5px}.th-tabs .nav-link{color:var(--text-body);font-size:.85rem;font-weight:600}.th-toolbar{gap:12px;justify-content:space-between;margin-bottom:10px}.th-search,.th-toolbar{align-items:center;display:flex}.th-search{position:relative}.th-search-ic{color:var(--text-faint);left:10px;position:absolute}.th-search-input{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;font-size:.85rem;outline:none;padding:7px 10px 7px 32px;width:280px}.th-search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f11f}.th-toolbar-right{align-items:center;display:flex;gap:8px}.th-meta{color:var(--text-muted);font-size:.78rem;margin-right:4px}.th-btn{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-strong);cursor:pointer;font-size:.78rem;font-weight:600;padding:5px 12px;transition:background .12s,border-color .12s}.th-btn:hover{background:var(--surface-page);border-color:var(--border-strong)}.th-tree-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 3px #0f172a0a;min-height:200px;padding:8px 6px}.th-row{align-items:center;border-radius:7px;cursor:default;display:flex;gap:7px;padding:6px 8px;transition:background-color .12s ease;-webkit-user-select:none;user-select:none}.th-row[role=button]{cursor:pointer}.th-row:hover{background:#eef4ff}.th-caret{align-items:center;color:var(--text-faint);display:inline-flex;flex:0 0 auto;justify-content:center;width:16px}.th-caret-spacer{display:inline-block;width:14px}.th-ic{flex:0 0 auto}.th-ic-type{color:var(--brand-accent)}.th-ic-tag{color:var(--brand-primary)}.th-ic-school{color:var(--status-success)}.th-title{color:var(--text-strong);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.th-row.th-type-tagType .th-title{color:var(--brand-primary-hover);font-weight:700}.th-count{background:var(--surface-sunken);border-radius:999px;color:var(--text-muted);font-size:.68rem;font-weight:700;margin-left:2px;padding:1px 8px}.th-children{position:relative}.th-state{color:var(--text-muted);font-size:.9rem;padding:40px 16px;text-align:center}.th-error{color:var(--status-danger)}.th-empty{color:var(--text-faint)}.th-actions{align-items:center;display:inline-flex;gap:4px;margin-left:auto;opacity:0;transition:opacity .12s ease}.th-row:hover .th-actions{opacity:1}.th-act{align-items:center;background:var(--surface-card);border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:600;gap:3px;line-height:1.4;padding:2px 7px;transition:background .1s,border-color .1s}.th-act-add{border-color:var(--status-success-border);color:var(--status-success-text)}.th-act-add,.th-act-add:hover{background:var(--status-success-bg)}.th-act-edit{border-color:var(--brand-primary-subtle);color:var(--brand-primary-hover)}.th-act-edit,.th-act-edit:hover{background:var(--brand-primary-subtle)}.th-act-del{border-color:var(--status-danger-border);color:var(--status-danger)}.th-act-del,.th-act-del:hover{background:var(--status-danger-bg)}.th-banner{border-radius:8px;font-size:.85rem;font-weight:500;margin-bottom:10px;padding:9px 14px}.th-banner-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.th-banner-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.import-docx-page{margin:0 auto;max-width:1000px;padding:20px;position:relative}.import-docx-upload{background:var(--surface-card);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:24px}.import-docx-file-picker{margin-top:16px}.import-docx-format-guide{background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;font-size:.85rem;margin-bottom:16px;padding:14px 18px}.import-docx-format-guide h6{color:var(--text-strong);font-size:.9rem;font-weight:700;margin-bottom:8px}.import-docx-guide-table{border-collapse:collapse;font-size:.82rem;margin-bottom:8px;width:100%}.import-docx-guide-table td,.import-docx-guide-table th{border:1px solid var(--border-default);padding:4px 8px;text-align:left}.import-docx-guide-table th{background:#e3f2fd;color:#1565c0;font-weight:600}.import-docx-guide-table code{background:#fff3e0;border-radius:3px;color:#e65100;font-size:.8rem;padding:1px 4px}.import-docx-preview-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:16px}.import-docx-bulk-tags{background:var(--surface-page);border-radius:6px;display:block;margin-bottom:16px;padding:10px 14px}.import-docx-question-card{border:1px solid var(--border-default);border-radius:6px;margin-bottom:12px}.import-docx-question-card.has-errors{background:#fff5f5;border-color:var(--status-danger)}.import-docx-question-card.is-child{border-left:3px solid #4caf50;margin-left:24px}.import-docx-card-header{background:var(--surface-page)!important;padding:8px 14px!important}.import-docx-q-info{align-items:center;display:flex;gap:8px}.import-docx-q-number{color:var(--text-strong);font-size:.9rem;font-weight:700}.import-docx-drop-btn{background:none;border:none;border-radius:4px;color:var(--text-faint);cursor:pointer;font-size:1.2rem;line-height:1;margin-left:auto;padding:0 4px;transition:color .15s,background .15s}.import-docx-drop-btn:hover{background:#ffebee;color:#c62828}.import-docx-question-text{line-height:1.6;margin-bottom:12px}.import-docx-question-text img{height:auto;margin:4px 0;max-width:100%}.import-docx-options{margin-bottom:12px}.import-docx-option{align-items:flex-start;background:var(--surface-page);border-radius:4px;display:flex;gap:8px;margin-bottom:4px;padding:6px 10px}.import-docx-option.correct{background:#e8f5e9;border:1px solid #a5d6a7}.import-docx-option-letter{color:var(--text-body);font-weight:700;min-width:20px}.import-docx-correct-mark{color:#2e7d32;font-size:1.1rem;font-weight:700;margin-left:auto}.import-docx-option img{height:auto;max-width:100%}.import-docx-answer{background:#fff3e0;border-radius:4px;margin-bottom:12px;padding:6px 10px}.import-docx-solution-accordion{margin-bottom:12px}.import-docx-solution-accordion .accordion-item{background:#0000;border:none}.import-docx-solution-accordion .accordion-button{background:#e3f2fd;border-radius:4px!important;box-shadow:none;color:#1565c0;display:inline-flex;font-size:.85rem;font-weight:600;padding:6px 12px;width:auto}.import-docx-solution-accordion .accordion-button:not(.collapsed){background:#bbdefb;border-radius:4px 4px 0 0!important;color:#1565c0}.import-docx-solution-accordion .accordion-button:after{background-size:14px;height:14px;margin-left:6px;width:14px}.import-docx-solution-accordion .accordion-body{background:var(--surface-page);border:1px solid var(--border-default);border-radius:0 0 4px 4px;border-top:none;font-size:.9rem;line-height:1.6;padding:12px}.import-docx-solution-accordion img{height:auto;max-width:100%}.import-docx-errors{margin-bottom:10px}.import-docx-error-item{background:#ffebee;border-radius:4px;color:#c62828;font-size:.85rem;margin-bottom:4px;padding:4px 10px}.import-docx-tags{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:10px}.import-docx-tag-group{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;margin-bottom:6px}.import-docx-tag-label{color:var(--text-body);flex-shrink:0;font-size:.8rem;font-weight:600;min-width:100px;width:100px}.import-docx-selected-tags{display:flex;flex-wrap:wrap;gap:4px}.import-docx-tag-chip{align-items:center;background:#e3f2fd;border-radius:12px;color:#1565c0;display:inline-flex;font-size:.75rem;gap:4px;padding:2px 8px}.import-docx-tag-remove{cursor:pointer;font-size:.7rem;font-weight:700;opacity:.7}.import-docx-tag-remove:hover{opacity:1}.import-docx-comprehension-group{margin-bottom:16px}.import-docx-passage-card{border:2px solid #4caf50;border-radius:6px;margin-bottom:4px}.import-docx-children{padding-left:0}.import-docx-done{background:var(--surface-card);border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:40px;text-align:center}.import-docx-success-icon{align-items:center;background:#4caf50;border-radius:50%;color:var(--text-on-brand);display:flex;font-size:32px;height:60px;justify-content:center;margin:0 auto 16px;width:60px}.import-docx-loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.import-docx-error-banner{align-items:center;background:#ffebee;border-radius:6px;color:#c62828;display:flex;justify-content:space-between;margin-bottom:16px;padding:10px 14px}.import-docx-error-close{cursor:pointer;font-weight:700;opacity:.7}.import-docx-error-close:hover{opacity:1}.import-docx-quick-paper-btn{background:linear-gradient(135deg,var(--status-success),#20c997)!important;border:none!important;border-radius:6px;color:var(--text-on-brand)!important;font-size:.9rem;font-weight:600;padding:8px 20px;transition:opacity .2s}.import-docx-quick-paper-btn:hover{color:var(--text-on-brand)!important;opacity:.9}.import-docx-mtf{margin-bottom:12px}.import-docx-mtf-table{border-collapse:collapse;font-size:.9rem;width:100%}.import-docx-mtf-table td,.import-docx-mtf-table th{border:1px solid var(--border-default);padding:6px 10px;text-align:left}.import-docx-mtf-table th{background:#e0f7fa;color:#00695c;font-size:.8rem;font-weight:600}.import-docx-mtf-table td:first-child{color:var(--text-muted);font-weight:600;text-align:center;width:30px}.import-docx-blanks{margin-bottom:12px}.import-docx-blank-item{background:#ede7f6;border-radius:4px;font-size:.9rem;margin-bottom:4px;padding:4px 10px}.math-frac{align-items:center;display:inline-flex;flex-direction:column;margin:0 2px;text-align:center;vertical-align:middle}.math-frac .math-num{border-bottom:1px solid;line-height:1.2;padding:0 4px 1px}.math-frac .math-den{line-height:1.2;padding:1px 4px 0}.ncc{--ncc-bg:#f6f7fb;--ncc-card:var(--surface-card);--ncc-border:#e6e8f0;--ncc-ink:var(--text-strong);--ncc-muted:#64748b;--ncc-faint:#94a3b8;--ncc-primary:var(--brand-primary);--ncc-primary-d:var(--brand-primary-hover);--ncc-radius:16px;--ncc-shadow:0 1px 2px #0f172a0a,0 8px 24px -12px #0f172a1f;color:var(--ncc-ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;padding:24px 28px 48px}.ncc__hero{align-items:center;background:var(--gradient-brand);border-radius:20px;box-shadow:0 18px 40px -20px #4f46e599;color:var(--text-on-brand);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:22px;overflow:hidden;padding:24px 28px;position:relative}.ncc__hero:after{background:radial-gradient(420px circle at 88% -10%,#ffffff38,#0000 60%),radial-gradient(280px circle at 10% 120%,#ffffff1f,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.ncc__hero-text{position:relative;z-index:1}.ncc__title{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0}.ncc__subtitle{color:#ffffffdb;font-size:13.5px;margin:6px 0 0;max-width:560px}.ncc__btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:700;gap:8px;padding:11px 22px;position:relative;transition:transform .12s ease,box-shadow .18s ease,background .18s ease,opacity .18s;z-index:1}.ncc__btn:disabled{cursor:not-allowed;opacity:.45}.ncc__btn-icon{font-size:15px;line-height:1}.ncc__btn--ghost{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff59;color:var(--text-on-brand)}.ncc__btn--ghost:not(:disabled):hover{background:#ffffff42;transform:translateY(-1px)}.ncc__btn--primary{background:var(--ncc-primary);box-shadow:0 10px 20px -10px #4f46e5cc;color:var(--text-on-brand)}.ncc__btn--primary:not(:disabled):hover{background:var(--ncc-primary-d);box-shadow:0 14px 26px -10px #4f46e5d9;transform:translateY(-1px)}.ncc__filters{align-items:flex-end;background:var(--ncc-card);border:1px solid var(--ncc-border);border-radius:var(--ncc-radius);box-shadow:var(--ncc-shadow);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:22px;padding:18px 20px}.ncc__field{display:flex;flex-direction:column;gap:7px}.ncc__label{color:var(--ncc-faint);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ncc__control{background:var(--surface-card);border:1.5px solid var(--ncc-border);border-radius:11px;color:var(--ncc-ink);font-size:13.5px;min-width:190px;padding:10px 13px;transition:border-color .15s,box-shadow .15s}.ncc__control:hover{border-color:#c7cbe0}.ncc__control:focus{border-color:var(--ncc-primary);box-shadow:0 0 0 4px #4f46e524;outline:none}.ncc__filters .ncc__btn--primary{margin-left:auto}.ncc__kpis{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.ncc__kpi{background:var(--ncc-card);border:1px solid var(--ncc-border);border-radius:var(--ncc-radius);box-shadow:var(--ncc-shadow);display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:18px 20px;position:relative}.ncc__kpi:before{bottom:0;content:"";left:0;position:absolute;top:0;width:5px}.ncc__kpi--danger:before{background:linear-gradient(#f87171,var(--status-danger))}.ncc__kpi--info:before{background:linear-gradient(#38bdf8,var(--status-info))}.ncc__kpi--neutral:before{background:linear-gradient(var(--brand-accent),var(--brand-accent))}.ncc__kpi-value{color:var(--ncc-ink);font-size:26px;font-weight:800;letter-spacing:-.02em}.ncc__kpi--neutral .ncc__kpi-value{font-size:17px}.ncc__kpi-label{color:var(--ncc-muted);font-size:12px;font-weight:600}.ncc__state{align-items:center;background:var(--ncc-card);border:1px solid var(--ncc-border);border-radius:var(--ncc-radius);color:var(--ncc-muted);display:flex;font-size:14px;gap:12px;justify-content:center;padding:48px}.ncc__state--error{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger);font-weight:600}.ncc__spinner{animation:ncc-spin .7s linear infinite;border:2.5px solid var(--brand-primary-subtle);border-radius:50%;border-top-color:var(--ncc-primary);height:20px;width:20px}@keyframes ncc-spin{to{transform:rotate(1turn)}}.ncc__celebrate{background:var(--ncc-card);border:1px solid var(--ncc-border);border-radius:var(--ncc-radius);box-shadow:var(--ncc-shadow);padding:56px 24px;text-align:center}.ncc__celebrate-emoji{font-size:46px}.ncc__celebrate h3{color:var(--status-success);font-size:19px;margin:12px 0 4px}.ncc__celebrate p{color:var(--ncc-muted);font-size:14px;margin:0}.ncc__blocks{display:flex;flex-direction:column;gap:18px}.ncc__block{animation:ncc-rise .34s cubic-bezier(.16,1,.3,1) both;background:var(--ncc-card);border:1px solid var(--ncc-border);border-left:4px solid var(--accent,var(--ncc-primary));border-radius:var(--ncc-radius);box-shadow:var(--ncc-shadow);overflow:hidden}@keyframes ncc-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ncc__block-head{align-items:center;background:linear-gradient(180deg,#fcfcff,#f7f8fd);border-bottom:1px solid var(--ncc-border);cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:15px 20px;transition:background .15s;-webkit-user-select:none;user-select:none}.ncc__block-head:hover{background:#f3f4fb}.ncc__block-head-left{align-items:center;display:flex;gap:11px}.ncc__block-dot{background:var(--ncc-primary);background:var(--accent,var(--ncc-primary));border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--ncc-primary) 18%,#0000);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent,var(--ncc-primary)) 18%,#0000);height:11px;width:11px}.ncc__block-title{color:var(--ncc-ink);font-size:16px;font-weight:700;letter-spacing:-.01em;margin:0}.ncc__block-head-right{align-items:center;display:flex;gap:12px}.ncc__chip{background:color-mix(in srgb,var(--ncc-primary) 12%,var(--surface-card));background:color-mix(in srgb,var(--accent,var(--ncc-primary)) 12%,var(--surface-card));border:1px solid color-mix(in srgb,var(--accent,var(--ncc-primary)) 28%,#0000);border-radius:999px;color:var(--ncc-primary);color:var(--accent,var(--ncc-primary));font-size:12px;font-weight:700;padding:4px 12px;white-space:nowrap}.ncc__caret{color:var(--ncc-faint);font-size:13px;transform:rotate(0deg);transition:transform .2s ease}.ncc__caret--down{transform:rotate(-90deg)}.ncc__table-wrap{overflow-x:auto}.ncc__table{border-collapse:collapse;font-size:13px;width:100%}.ncc__table thead th{background:#f8f9fc;border-bottom:1px solid var(--ncc-border);color:var(--ncc-muted);font-size:11px;font-weight:700;letter-spacing:.04em;padding:11px 16px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.ncc__table tbody td{border-bottom:1px solid #f1f2f8;color:var(--text-strong);padding:12px 16px;vertical-align:middle}.ncc__table tbody tr:last-child td{border-bottom:none}.ncc__table tbody tr{transition:background .12s}.ncc__table tbody tr:hover{background:#f8f9ff}.ncc__td-num,.ncc__th-num{font-feature-settings:"tnum";color:var(--ncc-faint);font-variant-numeric:tabular-nums;text-align:center;width:52px}.ncc__td-strong{color:var(--ncc-ink);font-weight:600}.ncc__td-time{white-space:nowrap}.ncc__time{font-feature-settings:"tnum";color:var(--ncc-ink);font-variant-numeric:tabular-nums;font-weight:700}.ncc__date-chip{font-feature-settings:"tnum";background:var(--brand-primary-subtle);border-radius:7px;color:var(--ncc-primary-d);display:inline-block;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;margin-left:9px;padding:2px 9px}@media (max-width:860px){.ncc{padding:16px 14px 36px}.ncc__kpis{grid-template-columns:1fr}.ncc__filters .ncc__btn--primary{justify-content:center;margin-left:0;width:100%}.ncc__control{min-width:0;width:100%}.ncc__field{flex:1 1 100%}}.cumulative-test-report{padding:20px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.cumulative-test-report{margin-left:280px}body.sidebar-collapsed .cumulative-test-report{margin-left:80px}}.cumulative-test-report .ctr-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 6px 18px #0000000f;overflow:hidden}.cumulative-test-report .ctr-card-header{background:linear-gradient(90deg,var(--brand-accent),var(--brand-accent));padding:14px 18px}.cumulative-test-report .ctr-card-header h2{color:var(--text-on-brand);font-size:18px;font-weight:600;margin:0}.cumulative-test-report .ctr-card-body{padding:18px}.cumulative-test-report .ctr-filter-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.cumulative-test-report .ctr-field label{color:var(--text-body);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.cumulative-test-report .ctr-select{font-size:14px;height:38px}.cumulative-test-report .ctr-required{color:var(--status-danger);margin-left:2px}.cumulative-test-report .ctr-tests-validation{color:var(--status-danger);font-size:12px;margin-bottom:0;margin-top:6px}.cumulative-test-report .ctr-actions{display:flex;justify-content:flex-end;margin-top:18px}.cumulative-test-report .ctr-result a{color:var(--brand-accent);font-weight:600;text-decoration:underline}.cumulative-test-report .ctr-result-error{color:var(--status-danger);font-size:13px;margin:0}.cumulative-test-report .ctr-loader-overlay{align-items:center;background:#0a0a0a4d;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.cumulative-test-report .ctr-loader{animation:ctr-spin 1.2s linear infinite;border-top:8px solid var(--border-subtle);border:8px solid var(--border-subtle);border-radius:50%;border-top-color:var(--brand-accent);height:50px;width:50px}@keyframes ctr-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.dvs-eval-root{--dvs-primary:var(--brand-primary);--dvs-primary-dark:var(--brand-primary-hover);--dvs-primary-soft:#eef2ff;--dvs-accent:var(--status-info);--dvs-success:var(--status-success);--dvs-danger:var(--status-danger);--dvs-warn:var(--status-warning);--dvs-text:var(--text-strong);--dvs-text-soft:var(--text-muted);--dvs-bg:var(--surface-page);--dvs-card:var(--surface-card);--dvs-border:var(--border-default);--dvs-border-strong:var(--border-strong);--dvs-shadow:0 1px 2px #0000000a,0 1px 3px #0000000f;--dvs-radius:8px;--dvs-radius-sm:6px;background:var(--dvs-bg)}.dvs-eval-topbar{align-items:center;background:linear-gradient(180deg,var(--surface-card) 0,var(--surface-page) 100%);border-bottom:1px solid var(--dvs-border);box-shadow:var(--dvs-shadow);display:flex;gap:14px;padding:10px 18px;z-index:1}.dvs-eval-topbar__back{align-items:center;background:var(--surface-card);border:1px solid var(--dvs-border-strong);border-radius:var(--dvs-radius-sm);color:var(--dvs-text);cursor:pointer;display:inline-flex;font-size:.85em;font-weight:500;gap:6px;padding:6px 12px;transition:background .15s ease,border-color .15s ease}.dvs-eval-topbar__back:hover{background:var(--dvs-primary-soft);border-color:var(--dvs-primary);color:var(--dvs-primary-dark)}.dvs-eval-topbar__meta{color:var(--dvs-text-soft);font-size:.88em}.dvs-eval-topbar__meta strong{color:var(--dvs-text);font-weight:600}.dvs-eval-section-header{background:linear-gradient(135deg,var(--dvs-primary) 0,var(--dvs-accent) 100%);border-radius:var(--dvs-radius);box-shadow:0 2px 4px #4f46e52e;color:var(--text-on-brand);font-size:.92em;font-weight:600;letter-spacing:.02em;margin-bottom:14px;padding:10px 16px}.dvs-eval-question-card{background:var(--dvs-card);border:1px solid var(--dvs-border);border-radius:var(--dvs-radius);margin-bottom:12px;overflow:hidden;transition:box-shadow .18s ease,border-color .18s ease}.dvs-eval-question-card:hover{border-color:var(--dvs-border-strong);box-shadow:0 1px 4px #0000000f}.dvs-eval-question-card td{border-bottom:1px solid var(--dvs-border)!important;padding:12px 16px!important}.dvs-eval-question-card tr:last-child td{border-bottom:none!important}.dvs-eval-qnum{align-items:center;background:var(--dvs-primary)!important;border-radius:999px!important;box-shadow:0 1px 2px #4f46e540;color:var(--text-on-brand);display:inline-flex!important;font-size:.78em!important;font-weight:600;height:24px;justify-content:center;margin-right:12px!important;min-width:28px;padding:0 8px!important}.dvs-eval-question-text{color:var(--dvs-text);font-size:.93em;line-height:1.55}.dvs-eval-answer-row td,.dvs-eval-response-row td{background:var(--dvs-bg);padding-left:30px!important}.dvs-eval-answer-row strong,.dvs-eval-response-row strong{color:var(--dvs-primary-dark);font-size:.88em;font-weight:600;letter-spacing:.02em}.dvs-eval-tabs{background:var(--dvs-border);border-radius:var(--dvs-radius-sm);display:inline-flex;margin-top:8px;padding:3px}.dvs-eval-tab{background:#0000!important;border:none!important;border-radius:4px!important;color:var(--dvs-text-soft);cursor:pointer;font-size:.78em!important;font-weight:500;padding:4px 14px!important;transition:background .15s ease,color .15s ease}.dvs-eval-tab:hover{color:var(--dvs-text)}.dvs-eval-tab--active{background:var(--surface-card)!important;box-shadow:0 1px 2px #00000014;color:var(--dvs-primary-dark)!important;font-weight:600!important}.dvs-eval-tab-panel{background:var(--surface-card);border:1px solid var(--dvs-border);border-radius:var(--dvs-radius-sm);margin-top:6px;min-height:48px;padding:12px!important}.dvs-eval-tab-panel--raw{background:var(--surface-page)!important;color:var(--text-body)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82em!important;resize:vertical;width:100%}.dvs-eval-marks-panel{background:var(--dvs-card);border-left:1px solid var(--dvs-border);display:flex;flex-direction:column;height:100%}.dvs-eval-marks-panel__title{background:linear-gradient(135deg,var(--dvs-primary) 0,var(--dvs-accent) 100%);color:var(--text-on-brand);font-size:.95em;font-weight:600;letter-spacing:.02em;padding:12px 16px}.dvs-eval-marks-panel__test{background:var(--dvs-bg);border-bottom:1px solid var(--dvs-border);padding:12px 16px}.dvs-eval-marks-panel__test-name{color:var(--dvs-text);font-size:.95em;font-weight:700}.dvs-eval-marks-panel__test-meta{color:var(--dvs-text-soft);font-size:.78em;margin-top:4px}.dvs-eval-marks-panel__section-header{background:var(--dvs-primary-soft)!important;border-radius:var(--dvs-radius-sm)!important;color:var(--dvs-primary-dark);font-size:.85em!important;font-weight:600!important;letter-spacing:.02em;padding:8px 12px!important}.dvs-eval-marks-panel table{font-size:.85em}.dvs-eval-marks-panel thead tr{background:var(--dvs-bg)!important}.dvs-eval-marks-panel thead th{border-bottom:1px solid var(--dvs-border-strong)!important;color:var(--dvs-text-soft)!important;font-size:.78em!important;font-weight:600!important;letter-spacing:.04em;padding:8px!important;text-transform:uppercase}.dvs-eval-marks-panel tbody td{border-bottom:1px solid var(--dvs-border)!important;padding:8px!important;vertical-align:middle!important}.dvs-eval-marks-panel tbody tr:hover{background:var(--dvs-bg)}.dvs-eval-marks-input{background:var(--surface-card);border:1px solid var(--dvs-border-strong)!important;border-radius:var(--dvs-radius-sm)!important;font-size:.9em!important;padding:6px 8px!important;transition:border-color .15s ease,box-shadow .15s ease;width:70px!important}.dvs-eval-marks-input:focus{border-color:var(--dvs-primary)!important;box-shadow:0 0 0 3px #4f46e526;outline:none!important}.dvs-eval-marks-input--error{border-color:var(--dvs-danger)!important;box-shadow:0 0 0 3px #ef44441f}.dvs-eval-remarks-input{background:var(--surface-card);border:1px solid var(--dvs-border-strong)!important;border-radius:var(--dvs-radius-sm)!important;font-size:.85em!important;min-width:90px;padding:6px 8px!important;transition:border-color .15s ease,box-shadow .15s ease;width:100%!important}.dvs-eval-remarks-input:focus{border-color:var(--dvs-primary)!important;box-shadow:0 0 0 3px #4f46e526;outline:none!important}.dvs-eval-footer{background:linear-gradient(180deg,var(--dvs-bg) 0,var(--surface-card) 100%);border-top:1px solid var(--dvs-border);display:flex;gap:10px;justify-content:flex-end;padding:12px 16px}.dvs-eval-btn{border:none!important;border-radius:var(--dvs-radius-sm)!important;cursor:pointer;font-size:.86em!important;font-weight:600!important;letter-spacing:.01em;padding:8px 18px!important;transition:transform .08s ease,box-shadow .15s ease,opacity .15s ease}.dvs-eval-btn:active:not(:disabled){transform:translateY(1px)}.dvs-eval-btn:disabled{cursor:not-allowed!important;opacity:.6}.dvs-eval-btn--report{background:var(--dvs-danger)!important;box-shadow:0 1px 3px #ef444440;color:var(--text-on-brand)!important}.dvs-eval-btn--report:hover:not(:disabled){background:var(--status-danger)!important;box-shadow:0 2px 6px #ef44444d}.dvs-eval-btn--submit{background:var(--dvs-primary)!important;box-shadow:0 1px 3px #4f46e54d;color:var(--text-on-brand)!important}.dvs-eval-btn--submit:hover:not(:disabled){background:var(--dvs-primary-dark)!important;box-shadow:0 2px 6px #4f46e559}.dvs-eval-btn--ghost{background:var(--surface-card)!important;border:1px solid var(--dvs-border-strong)!important;color:var(--dvs-text)!important}.dvs-eval-btn--ghost:hover:not(:disabled){background:var(--dvs-bg)!important;border-color:var(--dvs-primary)!important;color:var(--dvs-primary-dark)!important}.dvs-eval-instructions{background:var(--dvs-bg);border-top:1px solid var(--dvs-border);color:var(--dvs-text-soft);font-size:.78em;line-height:1.6;padding:10px 16px}.dvs-eval-instructions__marker{color:var(--dvs-primary);font-weight:700;letter-spacing:.1em;margin-bottom:4px}.dvs-list-root{background:var(--dvs-bg);min-height:calc(100vh - 60px);padding:28px 32px}.dvs-list-root .dvs-eval-page-title{color:var(--dvs-text);font-size:1.45em;font-weight:700;letter-spacing:-.01em;margin:0 0 6px}.dvs-list-root .dvs-eval-page-subtitle{color:var(--dvs-text-soft);font-size:.92em;margin:0 0 22px}.dvs-list-card{background:var(--dvs-card);border:1px solid var(--dvs-border);border-radius:12px;box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f;overflow:hidden}.dvs-list-table{border-collapse:initial;border-spacing:0;font-size:.9em;width:100%}.dvs-list-table thead th{background:linear-gradient(180deg,var(--surface-card) 0,var(--dvs-bg) 100%);color:var(--dvs-text-soft);font-size:.76em;font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap}.dvs-list-table tbody td,.dvs-list-table thead th{border-bottom:1px solid var(--dvs-border);padding:14px 16px}.dvs-list-table tbody td{vertical-align:middle}.dvs-list-table tbody tr:last-child td{border-bottom:none}.dvs-list-table tbody tr{transition:background .12s ease}.dvs-list-table tbody tr:hover{background:var(--dvs-primary-soft)}.dvs-list-test-name{color:var(--dvs-text);font-weight:600}.dvs-list-test-id{background:var(--dvs-bg);border-radius:999px;color:var(--dvs-text-soft);display:inline-block;font-size:.72em;font-weight:500;margin-left:8px;padding:2px 8px}.dvs-list-evaluator{color:var(--dvs-text-soft);font-size:.85em}.dvs-list-count{align-items:center;border-radius:999px;display:inline-flex;font-size:.82em;font-weight:600;justify-content:center;letter-spacing:.02em;min-width:36px;padding:4px 10px}.dvs-list-count--allocated{background:var(--status-info-bg);color:var(--brand-primary-active)}.dvs-list-count--pending{background:var(--status-danger-bg);color:var(--status-danger)}.dvs-list-count--evaluated{background:var(--status-success-bg);color:var(--status-success-text)}.dvs-list-count--reported-zero{background:var(--dvs-bg);color:var(--dvs-text-soft)}.dvs-list-count--reported-some{background:var(--status-warning-bg);color:var(--status-warning-text)}.dvs-list-action-btn{align-items:center;background:var(--dvs-primary);border:none;border-radius:var(--dvs-radius-sm);box-shadow:0 1px 3px #4f46e540;color:var(--text-on-brand)!important;cursor:pointer;display:inline-flex;font-size:.82em;font-weight:600;gap:6px;letter-spacing:.01em;padding:7px 14px;transition:background .15s ease,box-shadow .15s ease,transform .08s ease}.dvs-list-action-btn:hover{background:var(--dvs-primary-dark);box-shadow:0 2px 6px #4f46e559}.dvs-list-action-btn:active{transform:translateY(1px)}.dvs-list-completed-tag{align-items:center;background:var(--status-success-bg);border-radius:var(--dvs-radius-sm);color:var(--status-success-text);display:inline-flex;font-size:.82em;font-weight:600;gap:6px;padding:6px 12px}.dvs-list-empty,.dvs-list-loading{color:var(--dvs-text-soft);padding:60px 20px;text-align:center}.dvs-list-loading p{color:var(--dvs-text-soft);font-size:.92em;margin-top:12px}.dvs-list-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:var(--dvs-radius-sm);color:var(--status-danger);font-size:.9em;margin-bottom:16px;padding:16px 20px}.dvs-eval-empty{align-items:center;background:linear-gradient(180deg,var(--dvs-bg) 0,var(--surface-card) 100%);color:var(--dvs-text-soft);display:flex;flex:1 1;flex-direction:column;gap:18px;justify-content:center;padding:40px}.dvs-eval-empty__msg{color:var(--dvs-text);font-size:1.05em}.dvs-eval-empty__actions{display:flex;gap:10px}.tcs{background:var(--surface-page);color:var(--text-body);min-height:100vh;padding:24px 28px 48px}.tcs-header{margin-bottom:20px}.tcs-header h1{color:var(--text-body);font-size:1.5rem;font-weight:700;margin:0 0 4px}.tcs-header p{color:var(--text-muted);font-size:.9rem;margin:0}.tcs-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tcs-card+.tcs-card{margin-top:16px}.tcs-toolbar{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 18px}.tcs-search{flex:1 1 260px;max-width:360px;position:relative}.tcs-search svg{color:var(--text-faint);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tcs-search input{background:var(--surface-page);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-body);font-size:.88rem;outline:none;padding:9px 12px 9px 36px;transition:border-color .15s,box-shadow .15s;width:100%}.tcs-search input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.15)}.tcs-btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;padding:8px 16px;transition:background .15s,opacity .15s,transform .05s;white-space:nowrap}.tcs-btn:active{transform:translateY(1px)}.tcs-btn:disabled{cursor:not-allowed;opacity:.6}.tcs-btn-primary{background:var(--gradient-brand);color:#fff}.tcs-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.tcs-btn-secondary{background:var(--surface-card);border-color:var(--border-default);color:var(--text-body)}.tcs-btn-secondary:hover:not(:disabled){background:var(--surface-page)}.tcs-btn-danger{background:var(--status-danger);color:#fff}.tcs-btn-success{background:var(--status-success);color:#fff}.tcs-btn-sm{font-size:.78rem;padding:5px 12px}.tcs-icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background .13s,color .13s;width:32px}.tcs-icon-btn:hover{background:var(--brand-primary-subtle);color:var(--brand-primary)}.tcs-icon-btn-danger:hover{background:var(--status-danger-bg);color:var(--status-danger)}.tcs-icon-btn-success:hover{background:var(--status-success-bg);color:var(--status-success)}.tcs-table-wrap{max-height:calc(100vh - 260px);overflow:auto}.tcs-table{border-collapse:collapse;font-size:.88rem;width:100%}.tcs-table thead th{background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.03em;padding:11px 16px;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.tcs-table thead th.tcs-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.tcs-table thead th.tcs-th-sort:hover{color:var(--brand-primary)}.tcs-table tbody td{border-bottom:1px solid var(--border-subtle);color:var(--text-body);padding:11px 16px;vertical-align:middle}.tcs-table tbody tr:last-child td{border-bottom:none}.tcs-table tbody tr:hover td{background:var(--surface-page)}.tcs-row-click{cursor:pointer}.tcs-table tr.tcs-row-disabled td{opacity:.55}.tcs-cat-name{font-weight:600}.tcs-center{text-align:center}.tcs-actions{display:flex;gap:6px;justify-content:flex-end}.tcs-empty{color:var(--text-faint);font-size:.9rem;padding:40px 16px;text-align:center}.tcs-pill{border:1px solid #0000;border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;line-height:1.4;padding:3px 10px}.tcs-pill-success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.tcs-pill-danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-text)}.tcs-pill-neutral{background:var(--surface-page);border-color:var(--border-default);color:var(--text-muted)}.tcs-detail-bar{background:var(--surface-page);flex-wrap:wrap;justify-content:space-between;margin:-10px 0 12px;padding:10px 0;position:sticky;top:0;z-index:20}.tcs-detail-bar,.tcs-detail-title{align-items:center;display:flex;gap:12px}.tcs-detail-title h2{color:var(--text-body);font-size:1.2rem;font-weight:700;margin:0}.tcs-detail-actions{align-items:center;display:flex;gap:10px}.tcs-saved-note{color:var(--status-success);font-size:.82rem;font-weight:600}.tcs-dirty-note{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:999px;color:var(--status-warning-text)}.tcs-dirty-note,.tcs-mode-pill{align-items:center;display:inline-flex;font-size:.76rem;font-weight:600;padding:4px 10px}.tcs-mode-pill{background:var(--surface-page);border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted);gap:5px}.tcs-fieldset{border:0;margin:0;min-width:0;padding:0}.tcs-readonly .ck-editor__editable,.tcs-readonly .ck-toolbar,.tcs-readonly [contenteditable]{pointer-events:none}.tcs-readonly .tcs-switch-row:hover{background:#0000}.tcs-alert{border:1px solid #0000;border-radius:var(--radius-md);font-size:.85rem;margin-bottom:14px;padding:10px 14px}.tcs-alert-danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-text)}.tcs-section{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:12px;overflow:hidden}.tcs-section-head{align-items:center;background:var(--surface-page);color:var(--text-body);cursor:pointer;display:flex;font-size:.92rem;font-weight:600;justify-content:space-between;padding:12px 16px;-webkit-user-select:none;user-select:none}.tcs-section-head:hover{background:var(--brand-primary-subtle)}.tcs-section-head .tcs-chevron{color:var(--text-muted);font-size:.7rem;transition:transform .15s}.tcs-section-body{padding:16px}.tcs-field{margin-bottom:14px}.tcs-label{color:var(--text-body);display:block;font-size:.82rem;font-weight:600;margin-bottom:5px}.tcs-hint{color:var(--text-muted);font-size:.8rem;margin:0 0 10px}.tcs-input,.tcs-select,.tcs-textarea{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-body);font-size:.88rem;outline:none;padding:8px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.tcs-input:focus,.tcs-select:focus,.tcs-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.15)}.tcs-input-sm{max-width:160px}.tcs-textarea{font-family:inherit;resize:vertical}.tcs-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;white-space:pre}.tcs-grid-2{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tcs-toggle{cursor:pointer;display:inline-flex;flex:0 0 auto;height:22px;position:relative;width:40px}.tcs-toggle input{height:0;margin:0;opacity:0;position:absolute;width:0}.tcs-toggle-track{background:var(--border-default);border-radius:999px;inset:0;position:absolute;transition:background .18s ease}.tcs-toggle-track:before{background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .18s ease;width:18px}.tcs-toggle input:checked+.tcs-toggle-track{background:var(--brand-primary)}.tcs-toggle input:checked+.tcs-toggle-track:before{transform:translateX(18px)}.tcs-toggle input:focus-visible+.tcs-toggle-track{box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.3)}.tcs-toggle input:disabled+.tcs-toggle-track{cursor:not-allowed;opacity:.5}.tcs-switch-row{align-items:center;border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;gap:12px;justify-content:space-between;margin:0 -10px;padding:9px 10px;transition:background .12s}.tcs-switch-row:hover{background:var(--surface-page)}.tcs-switch-row:last-child{border-bottom:none}.tcs-switch-label{color:var(--text-body);font-size:.88rem}.tcs-switch-hint{color:var(--text-muted);display:block;font-size:.78rem;margin-top:1px}.tcs-subheading{margin:28px 0 10px}.tcs-subheading:first-child{margin-top:4px}.tcs-subheading h6{align-items:center;color:var(--text-muted);display:flex;font-size:.78rem;font-weight:700;gap:8px;letter-spacing:.06em;margin:0 0 3px;text-transform:uppercase}.tcs-subheading h6:before{background:var(--gradient-brand);border-radius:2px;content:"";flex:0 0 auto;height:14px;width:3px}.tcs-subheading .tcs-hint{margin:0}.tcs-proctor-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:22px}.tcs-proctor-card{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;gap:12px;padding:13px 14px;transition:border-color .15s,background .15s}.tcs-proctor-card.on{background:var(--brand-primary-subtle);border-color:var(--brand-primary)}.tcs-proctor-icon{align-items:center;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-muted);display:flex;flex:0 0 auto;height:36px;justify-content:center;width:36px}.tcs-proctor-card.on .tcs-proctor-icon{background:var(--gradient-brand);border-color:#0000;color:#fff}.tcs-proctor-name{color:var(--text-body);display:block;font-size:.85rem;font-weight:700;line-height:1.3}.tcs-proctor-state{color:var(--text-muted);display:block;font-size:.75rem;font-weight:600}.tcs-proctor-card.on .tcs-proctor-state{color:var(--brand-primary)}.tcs-tabs{background:var(--surface-page);border:1px solid var(--border-default);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:4px;margin-bottom:16px;padding:6px}.tcs-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.83rem;font-weight:600;gap:6px;padding:7px 14px;transition:background .15s,color .15s}.tcs-tab svg{flex:0 0 auto;opacity:.75}.tcs-tab:hover{background:var(--surface-card);color:var(--text-body)}.tcs-tab.active{background:var(--gradient-brand);box-shadow:var(--shadow-sm);color:#fff}.tcs-tab.active svg{opacity:1}.tcs-variant{background:var(--surface-page);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:14px;padding:14px}.tcs-variant-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.tcs-variant-key{align-items:center;color:var(--text-body);display:inline-flex;font-size:.85rem;font-weight:600;gap:6px}.tcs .ck.ck-editor__main>.ck-editor__editable{background:var(--surface-card);border-color:var(--border-default);color:var(--text-body);min-height:180px}.tcs .ck.ck-toolbar{background:var(--surface-page);border-color:var(--border-default)}.tcs-footer-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.tcs-loading{color:var(--text-faint);font-size:.9rem;padding:48px 16px;text-align:center}.tcs-mode-seg{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:4px 0 14px}.tcs-mode-option{align-items:flex-start;background:var(--surface-card);border:1.5px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;display:flex;font:inherit;gap:11px;padding:12px 13px;text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.tcs-mode-option:hover{border-color:var(--brand-primary)}.tcs-mode-option:focus-visible{box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.3);outline:none}.tcs-mode-option.selected{background:var(--brand-primary-subtle);border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),.12)}.tcs-mode-icon{align-items:center;background:var(--surface-page);border:1px solid var(--border-subtle);border-radius:9px;color:var(--text-muted);display:flex;flex:0 0 auto;height:32px;justify-content:center;width:32px}.tcs-mode-option.selected .tcs-mode-icon{background:var(--gradient-brand);border-color:#0000;color:#fff}.tcs-mode-title{color:var(--text-body);display:block;font-size:.85rem;font-weight:700;line-height:1.3}.tcs-mode-option.selected .tcs-mode-title{color:var(--brand-primary)}.tcs-mode-desc{color:var(--text-muted);display:block;font-size:.75rem;line-height:1.35;margin-top:2px}.tcs-conflict-banner{align-items:flex-start;background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:var(--radius-md);color:var(--status-warning-text);display:flex;font-size:.82rem;gap:9px;line-height:1.45;margin:8px 0 12px;padding:10px 12px}.tcs-conflict-banner svg{color:var(--status-warning);flex:0 0 auto;margin-top:2px}.test-structure-page{-webkit-font-smoothing:antialiased;background:linear-gradient(168deg,#f0f4ff,#f8f9fc 40%,#faf8ff);color:var(--text-strong);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:24px 32px 64px}.test-structure-page .ts-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.test-structure-page .ts-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--surface-inverse) 0,var(--brand-primary) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-strong);font-size:1.5rem;font-weight:800;letter-spacing:-.025em;margin:0}.test-structure-page .ts-subtitle{color:var(--text-muted);font-size:.82rem;font-weight:500;margin-top:4px}.test-structure-page .ts-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.test-structure-page .ts-primary-btn{border-radius:10px!important;box-shadow:0 1px 3px #6366f14d;font-weight:600;padding:6px 16px!important;transition:all .2s}.test-structure-page .ts-primary-btn:hover{box-shadow:0 4px 12px #6366f159;transform:translateY(-1px)}.test-structure-page .ts-toolbar{align-items:flex-end;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border:1px solid #e2e8f099;border-radius:14px;box-shadow:0 1px 3px #0f172a0a,0 4px 12px #0f172a08;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:16px 20px}.test-structure-page .ts-field{display:flex;flex-direction:column;gap:5px;min-width:190px}.test-structure-page .ts-field label{color:var(--text-faint);font-size:.65rem;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.test-structure-page .ts-field select{appearance:none;background:var(--surface-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2394a3b8' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1.5px solid var(--border-default);border-radius:10px;color:var(--text-strong);font-size:.84rem;font-weight:500;min-width:190px;padding:8px 28px 8px 12px;transition:border-color .2s,box-shadow .2s}.test-structure-page .ts-field select:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf826;outline:none}.test-structure-page .ts-empty-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #e2e8f080;border-radius:16px;box-shadow:0 1px 3px #0f172a0a;padding:56px 24px;text-align:center}.test-structure-page .ts-empty-icon{filter:grayscale(.2);font-size:2.4rem;margin-bottom:12px}.test-structure-page .ts-empty-title{color:var(--text-strong);font-size:1rem;font-weight:700;margin-bottom:6px}.test-structure-page .ts-empty-sub{color:var(--text-muted);font-size:.82rem;line-height:1.5;margin:0 auto;max-width:340px}.test-structure-page .ts-loading{color:var(--text-muted);font-size:.88rem;font-weight:500;padding:40px;text-align:center}.test-structure-page .ts-error{background:linear-gradient(135deg,var(--status-danger-bg) 0,#fff5f5 100%);border:1px solid var(--status-danger-border);border-radius:12px;color:var(--status-danger);font-size:.84rem;font-weight:500;padding:14px 18px}.test-structure-page .ts-term-card{background:var(--surface-card);border:1px solid #e2e8f080;border-radius:16px;box-shadow:0 1px 3px #0f172a0d,0 8px 24px #0f172a0a;margin-bottom:24px;overflow:hidden}.test-structure-page .ts-term-header{align-items:center;background:linear-gradient(135deg,var(--brand-primary-hover) 0,var(--brand-primary) 50%,#818cf8 100%);color:var(--text-on-brand);display:flex;gap:12px;justify-content:space-between;overflow:hidden;padding:14px 22px;position:relative}.test-structure-page .ts-term-header:before{background:radial-gradient(circle,#ffffff14 0,#0000 70%);content:"";height:200px;pointer-events:none;position:absolute;right:-10%;top:-50%;width:200px}.test-structure-page .ts-term-title{align-items:center;display:flex;gap:12px}.test-structure-page .ts-term-name{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.test-structure-page .ts-term-meta{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:3px 10px}.test-structure-page .ts-term-actions{display:flex;gap:6px}.test-structure-page .ts-term-empty{color:var(--text-faint);font-size:.84rem;padding:28px;text-align:center}.test-structure-page .ts-matrix-scroll{max-width:100%;overflow-x:auto;scrollbar-color:#cbd5e1 #0000;scrollbar-width:thin}.test-structure-page .ts-matrix-scroll::-webkit-scrollbar{height:6px}.test-structure-page .ts-matrix-scroll::-webkit-scrollbar-track{background:#0000}.test-structure-page .ts-matrix-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.test-structure-page .ts-matrix{border-collapse:initial;border-spacing:0;font-size:.78rem;table-layout:fixed;width:100%}.test-structure-page .ts-col-course{width:200px}.test-structure-page .ts-col-category{width:210px}.test-structure-page .ts-matrix thead th{background:var(--surface-page);border-bottom:2px solid var(--border-default);color:var(--text-body);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:12px 14px;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:2}.test-structure-page .ts-matrix-corner{background:var(--surface-page)!important;min-width:200px;width:200px}.test-structure-page .ts-matrix-head-cell{border-left:1px solid var(--border-default)}.test-structure-page .ts-category-head{display:flex;flex-direction:column;gap:8px}.test-structure-page .ts-category-name{color:var(--text-strong);font-size:.78rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase}.test-structure-page .ts-category-actions{display:flex;flex-wrap:wrap;gap:4px}.test-structure-page .ts-category-actions .ts-icon-btn{background:var(--brand-primary-subtle)!important;border:1px solid var(--brand-primary-subtle)!important;color:var(--brand-primary-hover)!important}.test-structure-page .ts-category-actions .ts-icon-btn:hover{background:var(--brand-primary-subtle)!important;color:var(--brand-primary-active)!important}.test-structure-page .ts-category-actions .ts-icon-btn svg{stroke:var(--brand-primary-hover)}.test-structure-page .ts-category-actions .ts-icon-btn.ts-entry-opened{background:var(--status-success)!important;border:1px solid #15803d!important;color:var(--text-on-brand)!important}.test-structure-page .ts-category-actions .ts-icon-btn.ts-entry-opened:hover{background:#15803d!important;color:var(--text-on-brand)!important}.test-structure-page .ts-category-actions .ts-icon-btn.ts-entry-opened svg{stroke:#fff}.test-structure-page .ts-category-actions .ts-icon-btn.ts-entry-closed{background:var(--surface-card)!important;border:1px solid var(--border-strong)!important;color:var(--text-body)!important}.test-structure-page .ts-category-actions .ts-icon-btn.ts-entry-closed:hover{background:var(--surface-sunken)!important;color:var(--text-strong)!important}.test-structure-page .ts-category-actions .ts-icon-btn.ts-entry-closed svg{stroke:#374151}.test-structure-page .ts-matrix tbody td{border-left:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle);height:1px;padding:10px;vertical-align:top}.test-structure-page .ts-matrix tbody tr{transition:background .15s}.test-structure-page .ts-matrix tbody tr:hover td{background:#fafaff}.test-structure-page .ts-matrix tbody tr:hover .ts-course-cell{background:var(--brand-primary-subtle)}.test-structure-page .ts-course-cell{background:var(--surface-page);border-right:2px solid var(--border-default)!important;left:0;position:sticky;transition:background .15s;z-index:1}.test-structure-page .ts-course-name{color:var(--text-strong);font-size:.82rem;font-weight:700;line-height:1.35}.test-structure-page .ts-course-code{color:var(--text-faint);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.68rem;font-weight:500;margin-top:3px}.test-structure-page .ts-matrix-cell{background:var(--surface-card);min-height:80px;vertical-align:top}.test-structure-page .ts-cell-empty{align-items:flex-end;background:repeating-linear-gradient(-45deg,#0000,#0000 6px,rgba(var(--brand-primary-rgb),.015) 6px,rgba(var(--brand-primary-rgb),.015) 12px);border:1.5px dashed #d4d9e4;border-radius:10px;color:var(--text-faint);cursor:pointer;display:flex;font-size:.73rem;font-weight:600;height:100%;justify-content:center;min-height:48px;padding:12px 10px;transition:all .2s;width:100%}.test-structure-page .ts-cell-empty:hover{background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-color:#818cf8;box-shadow:inset 0 0 0 1px #6366f114;color:var(--brand-primary)}.test-structure-page .ts-cell-stack{display:flex;flex-direction:column;gap:8px;height:100%}.test-structure-page .ts-cell-stack .ts-cell-add-more{margin-top:auto}.test-structure-page .ts-test-card{background:linear-gradient(135deg,var(--surface-page) 0,var(--surface-sunken) 100%);border:1px solid var(--border-default);border-radius:10px;padding:10px 12px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.test-structure-page .ts-test-card:hover{background:linear-gradient(135deg,var(--surface-card) 0,var(--surface-page) 100%);border-color:#a5b4fc;box-shadow:0 2px 8px #6366f11f,0 1px 3px #6366f10f;transform:translateY(-1px)}.test-structure-page .ts-test-card.is-backlog{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border-color:var(--status-warning-border)}.test-structure-page .ts-test-card.is-backlog:hover{border-color:var(--status-warning);box-shadow:0 2px 8px #f59e0b26}.test-structure-page .ts-card-title{color:var(--text-strong);display:block;font-size:.76rem;font-weight:600;line-height:1.4;padding-right:20px;text-decoration:none;transition:color .15s;word-break:break-word}.test-structure-page .ts-card-title:hover{color:var(--brand-primary);text-decoration:none}.test-structure-page .ts-card-meta{align-items:center;color:var(--text-muted);display:flex;font-size:.67rem;font-weight:500;gap:6px;margin-top:6px}.test-structure-page .ts-backlog-pill{background:linear-gradient(135deg,#fbbf24 0,var(--status-warning) 100%);border-radius:999px;color:var(--text-on-brand);font-size:.58rem;font-weight:700;letter-spacing:.05em;padding:1px 7px;text-shadow:0 1px 1px #0000001a;text-transform:uppercase}.test-structure-page .ts-card-close{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-faint);cursor:pointer;display:flex;font-size:.9rem;height:18px;justify-content:center;line-height:1;opacity:0;padding:0;position:absolute;right:6px;top:6px;transition:all .2s;width:18px}.test-structure-page .ts-test-card:hover .ts-card-close{opacity:1}.test-structure-page .ts-card-close:hover{background:var(--status-danger-bg);color:var(--status-danger);transform:scale(1.15)}.test-structure-page .ts-coverage{align-items:center;border-radius:999px;display:inline-flex;font-size:.66rem;font-weight:700;letter-spacing:.02em;margin-top:8px;padding:2px 10px}.test-structure-page .ts-coverage-full,.test-structure-page .ts-coverage-good{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);color:var(--status-success-text)}.test-structure-page .ts-coverage-warn{background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);color:var(--status-warning-text)}.test-structure-page .ts-coverage-low{background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);color:var(--status-danger)}.test-structure-page .ts-coverage-none{background:var(--surface-sunken);color:var(--text-muted)}.test-structure-page .ts-cell-add-more{background:#0000;border:1px dashed #d4d9e4;border-radius:8px;color:#818cf8;cursor:pointer;font-size:.7rem;font-weight:600;opacity:.6;padding:5px 10px;transition:all .2s}.test-structure-page .ts-matrix tbody tr:hover .ts-cell-add-more{opacity:1}.test-structure-page .ts-cell-add-more:hover{background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-color:#818cf8;color:var(--brand-primary);opacity:1}.test-structure-page .ts-icon-btn{align-items:center;border-radius:8px;display:inline-flex;font-size:.78rem;height:28px;justify-content:center;line-height:1;padding:0;transition:all .2s;width:28px}.ts-timetable-modal-full{margin:1.5vh auto;max-width:95vw;width:95vw}.ts-timetable-modal-full .modal-content{display:flex;flex-direction:column;max-height:92vh}.ts-timetable-modal-full .modal-body{flex:1 1;overflow-y:auto}.test-structure-page .ts-inline-msg{align-items:center;border-radius:8px;display:flex;font-size:.85rem;justify-content:space-between;margin:12px 0 0;padding:10px 14px}.test-structure-page .ts-inline-success{background:var(--status-success-bg);border:1px solid #86efac;color:var(--status-success-text)}.test-structure-page .ts-inline-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.test-structure-page .ts-inline-close{background:#0000;border:none;color:inherit;cursor:pointer;font-size:1.1rem;padding:0 4px}.test-structure-page .ts-term-empty-row{background:var(--surface-page);color:var(--text-muted);font-size:.88rem;font-style:italic;padding:24px;text-align:center}.test-structure-page .ts-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:5px;line-height:1.3;margin:2px;padding:6px 14px;transition:all .15s ease;white-space:nowrap}.test-structure-page .ts-action-btn:hover{opacity:.88;transform:translateY(-1px)}.test-structure-page .ts-action-btn:active{transform:translateY(0)}.test-structure-page .ts-action-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.test-structure-page .ts-btn-borrow{background:var(--brand-accent);color:var(--text-on-brand)}.test-structure-page .ts-btn-publish{background:#0891b2;color:var(--text-on-brand)}.test-structure-page .ts-btn-standard{background:var(--status-success);color:var(--text-on-brand)}.test-structure-page .ts-btn-create{background:var(--brand-primary);color:var(--text-on-brand)}.test-structure-page .ts-btn-term-standard{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.75rem;padding:4px 10px}.test-structure-page .ts-btn-term-standard:hover{background:#ffffff80!important}.test-structure-page .ts-term-header .ts-icon-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff40!important;border:1px solid #ffffff80!important;color:var(--text-on-brand)!important}.test-structure-page .ts-term-header .ts-icon-btn:hover{background:#ffffff73!important;color:var(--text-on-brand)!important;transform:scale(1.08)}.test-structure-page .ts-term-header .ts-icon-btn svg{stroke:#fff}.test-structure-page .ts-btn-term-standard{background:#ffffff4d!important;border:1px solid #ffffff80!important;color:var(--text-on-brand)!important}.test-structure-page .ts-unmapped{background:linear-gradient(135deg,var(--status-warning-bg) 0,#fefce8 100%);border:1px solid var(--status-warning-border);border-radius:14px;margin-top:24px;padding:18px 22px}.test-structure-page .ts-unmapped-header{align-items:baseline;display:flex;gap:8px;margin-bottom:12px}.test-structure-page .ts-unmapped-header strong{color:var(--status-warning-text);font-size:.88rem}.test-structure-page .ts-unmapped-header span{color:#a16207;font-size:.75rem}.test-structure-page .ts-unmapped-chips{display:flex;flex-wrap:wrap;gap:8px}.test-structure-page .ts-unmapped-chip{align-items:center;background:var(--surface-card);border:1px solid var(--status-warning-border);border-radius:10px;box-shadow:0 1px 2px #00000008;color:var(--text-strong);display:inline-flex;font-size:.74rem;gap:6px;padding:6px 12px;text-decoration:none;transition:all .2s}.test-structure-page .ts-unmapped-chip:hover{background:var(--status-warning-bg);border-color:var(--status-warning);box-shadow:0 2px 6px #f59e0b1f;transform:translateY(-1px)}.test-structure-page .ts-unmapped-name{font-weight:700}.test-structure-page .ts-unmapped-id{color:var(--text-faint);font-size:.66rem}.test-structure-page .ts-unmapped-meta{color:var(--status-warning-text);font-size:.68rem;font-weight:500}.test-structure-page .ts-search-input{border:1.5px solid var(--border-default);border-radius:10px;font-size:.88rem;margin-bottom:14px;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.test-structure-page .ts-search-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf826;outline:none}.test-structure-page .ts-search-results{border:1px solid var(--border-default);border-radius:10px;max-height:340px;overflow-y:auto}.test-structure-page .ts-search-row{align-items:center;border-bottom:1px solid var(--border-subtle);cursor:pointer;display:flex;font-size:.82rem;justify-content:space-between;padding:10px 14px;transition:background .15s}.test-structure-page .ts-search-row:last-child{border-bottom:none}.test-structure-page .ts-search-row:hover{background:var(--brand-primary-subtle)}.test-structure-page .ts-row-add{color:var(--brand-primary);font-size:.74rem;font-weight:700}.test-structure-page .ts-muted{color:var(--text-faint)}.test-structure-page .ts-searching{padding:20px;text-align:center}.test-structure-page .ts-search-empty{color:var(--text-faint);font-size:.84rem;padding:20px;text-align:center}.test-structure-page .ts-select-full{border:1.5px solid var(--border-default);border-radius:10px;font-size:.85rem;padding:9px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.test-structure-page .ts-select-full:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf826;outline:none}.test-structure-page .ts-alert{border-radius:10px;font-size:.8rem;font-weight:500;margin-bottom:12px;padding:10px 14px}.test-structure-page .ts-alert-success{background:linear-gradient(135deg,var(--status-success-bg) 0,var(--status-success-bg) 100%);border:1px solid #86efac;color:var(--status-success-text)}.test-structure-page .ts-alert-error{background:linear-gradient(135deg,var(--status-danger-bg) 0,var(--status-danger-bg) 100%);border:1px solid var(--status-danger-border);color:var(--status-danger)}.test-structure-page .ts-matrix tbody tr:nth-child(2n) td{background:#fcfcff}.test-structure-page .ts-matrix tbody tr:nth-child(2n) .ts-course-cell{background:#f5f7fb}.overwrite-test-time{padding:20px}.overwrite-test-time .ott-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 3px #0000000f;overflow:hidden}.overwrite-test-time .ott-card-header{background:var(--brand-primary);color:#fff;font-size:16px;font-weight:600;padding:12px 18px}.overwrite-test-time .ott-card-body{padding:18px}.overwrite-test-time .ott-form-grid{grid-gap:14px 16px;display:grid;gap:14px 16px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.overwrite-test-time .ott-field{display:flex;flex-direction:column;gap:5px}.overwrite-test-time .ott-field>label{color:var(--text-default);font-size:13px;font-weight:600;margin:0}.overwrite-test-time .ott-input{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;color:var(--text-default);font-size:13px;padding:7px 10px;width:100%}.overwrite-test-time .ott-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #0000000d;outline:none}.overwrite-test-time .ott-input-sm{font-size:12px;padding:5px 8px}.overwrite-test-time .ott-cutoff{min-width:165px;text-align:center}.overwrite-test-time .ott-error{color:#a94442;color:var(--status-danger,#a94442);font-size:11px}.overwrite-test-time .ott-search-row{display:flex;justify-content:flex-end;margin-top:16px}.overwrite-test-time .ott-results{margin-top:22px}.overwrite-test-time .ott-criteria{color:var(--text-muted);font-size:13px;margin-bottom:10px}.overwrite-test-time .ott-criteria-title{color:var(--brand-primary);font-weight:700}.overwrite-test-time .ott-count{color:var(--text-muted);font-size:13px;margin-bottom:12px;text-align:center}.overwrite-test-time .ott-empty-actions{display:flex;justify-content:flex-end}.overwrite-test-time .ott-table-wrap{overflow-x:auto}.overwrite-test-time .ott-table{border-collapse:collapse;font-size:13px;width:100%}.overwrite-test-time .ott-table td,.overwrite-test-time .ott-table th{border-bottom:1px solid var(--border-default);padding:10px 12px;text-align:left;vertical-align:middle}.overwrite-test-time .ott-table thead th{background:#00000008;background:var(--surface-muted,#00000008);color:var(--text-default);font-weight:600;white-space:nowrap}.overwrite-test-time .ott-table tbody tr{transition:background-color .12s ease}.overwrite-test-time .ott-table tbody tr:hover{background:#6366f114;background:var(--surface-hover,#6366f114)}.overwrite-test-time .ott-th-sub{color:var(--text-muted);font-size:11px;font-weight:400}.overwrite-test-time .ott-danger{color:#d9534f;color:var(--status-danger,#d9534f)}.overwrite-test-time .ott-remaining{align-items:center;display:flex;gap:8px}.overwrite-test-time .ott-remaining .ott-input{max-width:130px}.overwrite-test-time .ott-help{color:var(--text-muted);font-size:11px;white-space:nowrap}.overwrite-test-time .ott-modal-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.overwrite-test-time .ott-modal-field>label{font-size:13px;font-weight:600}.ott-alert-success{background:#28a7451f;background:var(--status-success-bg,#28a7451f);border-radius:6px;color:#28a745;color:var(--status-success,#28a745);padding:10px 12px}.ott-alert-danger{background:#d9534f1f;background:var(--status-danger-bg,#d9534f1f);border-radius:6px;color:#d9534f;color:var(--status-danger,#d9534f);padding:10px 12px}.ott-detail-table{border-collapse:collapse;font-size:13px;margin-top:14px;width:100%}.ott-detail-table td,.ott-detail-table th{border-bottom:1px solid var(--border-default);padding:7px 10px;text-align:left;vertical-align:top}.ott-detail-table th{color:var(--text-muted);font-weight:600;width:40%}.ott-detail-table td{color:var(--text-default)}.ca-page{grid-gap:24px;background:var(--surface-page);display:grid;gap:24px;grid-template-columns:240px 1fr;min-height:calc(100vh - 60px);padding:10px 28px 24px 48px}.ca-page .ca-side{align-self:start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;padding:16px 12px;position:sticky;top:16px}.ca-page .ca-side h2{color:var(--text-body);font-size:13px;font-weight:700;letter-spacing:.6px;margin:4px 8px 12px;text-transform:uppercase}.ca-page .ca-nav-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-strong);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:2px;padding:10px 12px;text-align:left;transition:background .15s ease;width:100%}.ca-page .ca-nav-btn:hover{background:var(--surface-sunken)}.ca-page .ca-nav-btn.active{background:var(--gradient-brand);color:var(--text-on-brand);font-weight:600}.ca-page .ca-nav-btn.active .ca-nav-pill{background:#ffffff40;border-color:#0000;color:var(--text-on-brand)}.ca-page .ca-nav-icon{flex-shrink:0;width:18px}.ca-page .ca-nav-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-page .ca-nav-pill{background:var(--surface-page);border:1px solid var(--border-default);border-radius:999px;color:var(--text-muted);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.3px;min-width:22px;padding:2px 7px;text-align:center}.ca-page .ca-main{min-width:0}.ca-page .ca-header{align-items:flex-end;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.ca-page .ca-header h1{color:var(--text-strong);font-size:24px;font-weight:700;letter-spacing:-.4px;margin:0 0 4px}.ca-page .ca-subtitle{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0;max-width:760px}.ca-page .ca-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;margin-bottom:16px;padding:20px 24px}.ca-page .ca-card-head{align-items:center;display:flex;gap:12px;margin-bottom:8px}.ca-page .ca-card-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:10px;color:var(--brand-primary);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.ca-page .ca-card h3{color:var(--text-strong);font-size:16px;font-weight:600;margin:0}.ca-page .ca-card .ca-card-desc{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 18px}.ca-page .ca-card .ca-card-desc code,.ca-page .ca-info-card code,.ca-page code{background:var(--surface-sunken);border-radius:4px;color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 6px}.ca-page .ca-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ca-page .ca-info-card{border-radius:10px;font-size:13px;line-height:1.5;margin-bottom:16px;padding:14px 16px}.ca-page .ca-info-card.info{background:var(--status-info-bg);border:1px solid #bfdbfe;color:var(--status-info-text)}.ca-page .ca-info-card.warn{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.ca-page .ca-info-card.success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.ca-page .ca-info-card h4{align-items:center;display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 0 8px}.ca-page .ca-info-card p{margin:0 0 8px}.ca-page .ca-info-card p:last-child{margin-bottom:0}.ca-page .ca-row{grid-gap:14px;display:grid;gap:14px;margin-bottom:14px}.ca-page .ca-row-2{grid-template-columns:1fr 1fr}.ca-page .ca-row-3{grid-template-columns:1fr 1fr 1fr}.ca-page .ca-row-auto{align-items:flex-end;grid-template-columns:auto 1fr auto}.ca-page .ca-row-1-2{grid-template-columns:1fr 2fr}.ca-page .ca-field-label{color:var(--text-body);display:block;font-size:12px;font-weight:600;margin-bottom:6px}.ca-page .ca-input,.ca-page .ca-select,.ca-page .ca-textarea{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-strong);font-family:inherit;font-size:14px;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.ca-page .ca-textarea{min-height:60px;resize:vertical}.ca-page .ca-input.mono,.ca-page .ca-textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.ca-page .ca-input:focus,.ca-page .ca-select:focus,.ca-page .ca-textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126;outline:none}.ca-page .ca-input::placeholder,.ca-page .ca-textarea::placeholder{color:var(--text-faint)}.ca-page .ca-search-wrap{position:relative}.ca-page .ca-search-dropdown{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;box-shadow:0 12px 32px #0f172a1f;left:0;margin-top:4px;max-height:280px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:20}.ca-page .ca-search-item{border-bottom:1px solid var(--border-subtle);color:var(--text-strong);cursor:pointer;font-size:14px;padding:10px 14px;transition:background .1s ease}.ca-page .ca-search-item:hover{background:var(--brand-primary-subtle)}.ca-page .ca-search-item:last-child{border-bottom:none}.ca-page .ca-search-meta{color:var(--text-muted);font-size:12px;margin-top:2px}.ca-page .ca-search-empty{color:var(--text-faint);font-size:12px;margin-top:4px;padding-left:2px}.ca-page .ca-selected-pill{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border:1px solid var(--brand-primary-subtle);border-radius:8px;color:var(--brand-primary-hover);display:inline-flex;font-size:13px;gap:8px;max-width:100%;padding:8px 12px}.ca-page .ca-selected-pill .ca-pill-clear{align-items:center;background:#0000;border:none;color:var(--brand-primary);cursor:pointer;display:inline-flex;font-size:14px;padding:0 2px}.ca-page .ca-selected-pill .ca-pill-clear:hover{color:var(--brand-primary-hover)}.ca-page .ca-table-wrap{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;overflow:hidden}.ca-page .ca-table{border-collapse:collapse;font-size:14px;width:100%}.ca-page .ca-table thead th{background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);font-size:12px;font-weight:600;letter-spacing:.3px;padding:12px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.ca-page .ca-table tbody td{border-bottom:1px solid var(--border-subtle);color:var(--text-strong);padding:14px 16px;vertical-align:top}.ca-page .ca-table tbody tr:last-child td{border-bottom:none}.ca-page .ca-table tbody tr:hover{background:var(--surface-page)}.ca-page .ca-table .ca-cell-mono{color:var(--text-strong);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ca-page .ca-table .ca-cell-truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ca-page .ca-table .ca-cell-muted{color:var(--text-muted);font-size:12px;margin-top:2px}.ca-page .ca-table .ca-cell-actions{display:flex;gap:4px;white-space:nowrap}.ca-page .ca-pill{align-items:center;border:1px solid;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;letter-spacing:.3px;padding:3px 9px;text-transform:uppercase}.ca-page .ca-pill.success{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.ca-page .ca-pill.danger{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.ca-page .ca-pill.warn{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.ca-page .ca-pill.info{background:var(--brand-primary-subtle);border-color:var(--brand-primary-subtle);color:var(--brand-primary-hover)}.ca-page .ca-pill.muted{background:var(--surface-sunken);border-color:var(--border-default);color:var(--text-muted)}.ca-page .ca-pill.builtin{background:var(--status-info-bg);border-color:#bfdbfe;color:var(--brand-primary-hover)}.ca-page .ca-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:8px 14px;transition:background .15s ease,filter .15s ease;white-space:nowrap}.ca-page .ca-btn-sm{font-size:13px;padding:6px 10px}.ca-page .ca-btn-primary{background:var(--gradient-brand);color:var(--text-on-brand)}.ca-page .ca-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.ca-page .ca-btn-primary:disabled{cursor:not-allowed;opacity:.55}.ca-page .ca-btn-success{background:linear-gradient(135deg,var(--status-success) 0,var(--status-success) 100%);color:var(--text-on-brand)}.ca-page .ca-btn-success:hover:not(:disabled){filter:brightness(1.05)}.ca-page .ca-btn-success:disabled{cursor:not-allowed;opacity:.55}.ca-page .ca-btn-secondary{background:var(--surface-card);border-color:var(--border-strong);color:var(--text-strong)}.ca-page .ca-btn-secondary:hover:not(:disabled){background:var(--surface-page)}.ca-page .ca-btn-secondary:disabled{cursor:not-allowed;opacity:.55}.ca-page .ca-btn-text{background:#0000;color:var(--brand-primary);font-weight:500;padding:4px 8px}.ca-page .ca-btn-text:hover:not(:disabled){background:var(--brand-primary-subtle)}.ca-page .ca-btn-text-danger{background:#0000;color:var(--status-danger);font-weight:500;padding:4px 8px}.ca-page .ca-btn-text-danger:hover:not(:disabled){background:var(--status-danger-bg)}.ca-page .ca-alert{align-items:flex-start;border-radius:10px;display:flex;font-size:13px;gap:12px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.ca-page .ca-alert-icon{flex-shrink:0;margin-top:1px}.ca-page .ca-alert-body{flex:1 1}.ca-page .ca-alert-close{background:#0000;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 4px}.ca-page .ca-alert-close:hover{opacity:1}.ca-page .ca-alert-success{background:var(--status-success-bg);border:1px solid var(--status-success-border);color:var(--status-success-text)}.ca-page .ca-alert-error{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.ca-page .ca-loading{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;color:var(--text-muted);display:flex;flex-direction:column;font-size:14px;gap:14px;padding:60px 24px}.ca-page .ca-spinner{animation:ca-spin .8s linear infinite;border:3px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);height:32px;width:32px}@keyframes ca-spin{to{transform:rotate(1turn)}}.ca-page .ca-empty{background:var(--surface-card);border:1px dashed var(--border-strong);border-radius:12px;padding:56px 24px;text-align:center}.ca-page .ca-empty-icon{align-items:center;background:linear-gradient(135deg,var(--brand-primary-subtle) 0,var(--brand-primary-subtle) 100%);border-radius:14px;color:var(--brand-primary);display:inline-flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.ca-page .ca-empty h3{color:var(--text-strong);font-size:16px;margin:0 0 6px}.ca-page .ca-empty p{color:var(--text-muted);font-size:13px;margin:0 0 16px}.ca-page .ca-pagination{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:8px;justify-content:center;padding:16px}.ca-page .ca-tpl-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.ca-page .ca-tpl-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;padding:16px;transition:border-color .15s ease,box-shadow .15s ease}.ca-page .ca-tpl-card:hover{border-color:var(--brand-primary-subtle);box-shadow:0 4px 14px #6366f114}.ca-page .ca-tpl-head{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:12px}.ca-page .ca-tpl-name{color:var(--text-strong);font-size:14px;font-weight:600}.ca-page .ca-tpl-meta{align-items:center;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:6px;margin-top:4px}.ca-page .ca-tpl-id{color:var(--text-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.ca-page .ca-tpl-actions{display:flex;flex-wrap:wrap;gap:6px}.ca-page .ca-divider{background:var(--surface-sunken);height:1px;margin:24px 0}.modal-dialog.ca-badge-modal{--bm-bg:var(--surface-card);--bm-bg-soft:var(--surface-page);--bm-bg-card:var(--surface-card);--bm-accent:var(--brand-primary);--bm-accent-2:#8b5cf6;--bm-accent-soft:#eef2ff;--bm-border:var(--border-default);--bm-border-soft:var(--border-subtle);--bm-text:var(--text-strong);--bm-text-2:#475569;--bm-text-muted:var(--text-faint);--bm-radius:12px;--bm-radius-sm:8px;--bm-shadow:0 1px 2px #0f172a0a,0 1px 8px #0f172a0a;--bm-shadow-md:0 4px 14px #0f172a0f;--bm-shadow-lg:0 24px 60px #0f172a38}.modal-dialog.ca-badge-modal .modal-content{background:var(--bm-bg-soft);border:none;border-radius:16px;box-shadow:var(--bm-shadow-lg);overflow:hidden}.modal-dialog.ca-badge-modal .modal-header{background:linear-gradient(135deg,var(--surface-card) 0,var(--bm-accent-soft) 100%);border-bottom:1px solid var(--bm-border);padding:18px 26px}.modal-dialog.ca-badge-modal .modal-title{color:var(--bm-text);font-size:17px;font-weight:700;letter-spacing:-.3px}.modal-dialog.ca-badge-modal .modal-body{background:var(--bm-bg-soft);color:var(--bm-text-2);font-size:14px;line-height:1.5;padding:0}.modal-dialog.ca-badge-modal .modal-footer{background:var(--surface-card);border-top:1px solid var(--bm-border);padding:14px 26px}.bm-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:minmax(0,1fr)}@media (min-width:992px){.bm-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}}.bm-form-col{display:flex;flex-direction:column;gap:16px;min-width:0;padding:22px 26px 26px}.bm-preview-col{background:linear-gradient(180deg,var(--surface-page) 0,var(--brand-primary-subtle) 100%);border-left:1px solid var(--bm-border);padding:22px 26px 26px}@media (min-width:992px){.bm-preview-col{align-self:start;max-height:calc(100vh - 200px);overflow-y:auto;position:sticky;top:0}}.bm-section{background:var(--bm-bg-card);border:1px solid var(--bm-border);border-radius:var(--bm-radius);box-shadow:var(--bm-shadow);overflow:hidden}.bm-section-head{align-items:center;background:#fbfcff;border-bottom:1px solid var(--bm-border-soft);display:flex;gap:10px;padding:14px 18px}.bm-section-head-icon{align-items:center;background:var(--bm-accent-soft);border-radius:8px;color:var(--bm-accent);display:flex;flex-shrink:0;height:28px;justify-content:center;width:28px}.bm-section-head h4{color:var(--bm-text);font-size:13px;font-weight:700;letter-spacing:-.1px;letter-spacing:.5px;margin:0;text-transform:uppercase}.bm-section-head .bm-section-sub{color:var(--bm-text-muted);font-size:11px;font-weight:500;margin-left:auto}.bm-section-body{display:flex;flex-direction:column;gap:14px;padding:18px}.bm-section-collapsible .bm-section-head{cursor:pointer;-webkit-user-select:none;user-select:none}.bm-section-collapsible .bm-section-head:hover{background:var(--surface-sunken)}.bm-section-collapsible .bm-section-chevron{color:var(--bm-text-muted);margin-left:auto;transition:transform .18s ease}.bm-section-collapsible[data-open=true] .bm-section-chevron{transform:rotate(180deg)}.modal-dialog.ca-badge-modal .form-label{align-items:center;color:var(--bm-text-2);display:flex;font-size:12px;font-weight:600;margin-bottom:6px}.modal-dialog.ca-badge-modal .form-control,.modal-dialog.ca-badge-modal .form-select{background:var(--surface-card);border:1px solid var(--border-strong);border-radius:var(--bm-radius-sm);font-size:14px;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease}.modal-dialog.ca-badge-modal .form-control:hover,.modal-dialog.ca-badge-modal .form-select:hover{border-color:var(--border-strong)}.modal-dialog.ca-badge-modal .form-control:focus,.modal-dialog.ca-badge-modal .form-select:focus{border-color:var(--bm-accent);box-shadow:0 0 0 3px #6366f126;outline:none}.modal-dialog.ca-badge-modal .form-text{color:var(--bm-text-muted);font-size:11px}.bm-hint-btn{align-items:center;background:#0000;border:none;color:var(--bm-text-muted);cursor:pointer;display:inline-flex;margin-left:6px;padding:0}.bm-hint-btn:hover,.bm-hint-btn[aria-expanded=true]{color:var(--bm-accent)}.bm-hint-panel{background:linear-gradient(135deg,#faf5ff 0,var(--brand-primary-subtle) 100%);border:1px solid #e9d5ff;border-radius:var(--bm-radius-sm);color:var(--bm-text-2);font-size:12px;line-height:1.55;margin-top:6px;padding:10px 12px}.bm-hint-panel strong{color:var(--bm-text)}.bm-hint-panel>div+div{margin-top:6px}.bm-at-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.bm-at-card{align-items:flex-start;background:var(--surface-card);border:1.5px solid var(--bm-border);border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:all .15s ease}.bm-at-card:hover{background:#fbfbff;border-color:var(--brand-primary-subtle)}.bm-at-card.is-active{background:var(--bm-accent-soft);border-color:var(--bm-accent);box-shadow:0 0 0 3px #6366f11f}.bm-at-card-icon{align-items:center;background:var(--surface-sunken);border-radius:8px;color:var(--bm-text-2);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.bm-at-card.is-active .bm-at-card-icon{background:var(--surface-card);color:var(--bm-accent)}.bm-at-card-title{color:var(--bm-text);font-size:13px;font-weight:600;line-height:1.2}.bm-at-card-sub{color:var(--bm-text-muted);font-size:11px;line-height:1.35;margin-top:2px}.bm-img-selected{align-items:center;background:linear-gradient(135deg,#faf5ff 0,var(--brand-primary-subtle) 100%);border:1px solid #e9d5ff;border-radius:10px;display:flex;gap:14px;margin-bottom:12px;padding:12px}.bm-img-selected-thumb{background:var(--surface-card);border:1px solid #fff;border-radius:10px;box-shadow:var(--bm-shadow);height:56px;object-fit:contain;width:56px}.bm-img-selected-meta{flex:1 1;min-width:0}.bm-img-selected-label{color:var(--bm-text);font-size:12px;font-weight:600}.bm-img-selected-url{color:var(--bm-text-muted);font-family:ui-monospace,Menlo,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-img-selected-clear{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:6px;color:var(--bm-text-2);cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.bm-img-selected-clear:hover{background:var(--surface-page)}.bm-segctrl{background:var(--surface-sunken);border-radius:9px;display:inline-flex;margin-bottom:12px;padding:3px}.bm-segctrl-item{background:#0000;border:none;border-radius:7px;color:var(--bm-text-2);cursor:pointer;font-size:12px;font-weight:600;padding:7px 14px;transition:all .15s ease}.bm-segctrl-item:hover:not(:disabled):not(.is-active){color:var(--bm-text)}.bm-segctrl-item.is-active{background:var(--surface-card);box-shadow:var(--bm-shadow);color:var(--bm-accent)}.bm-segctrl-item:disabled{cursor:not-allowed;opacity:.45}.bm-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.bm-chip{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:999px;color:var(--bm-text-2);cursor:pointer;font-size:11px;font-weight:600;padding:4px 12px;transition:all .15s ease}.bm-chip:hover{border-color:var(--brand-primary-subtle);color:var(--bm-text)}.bm-chip.is-active{background:var(--bm-text);border-color:var(--bm-text);color:var(--text-on-brand)}.bm-icon-grid{grid-gap:8px;background:var(--bm-bg-soft);border:1px solid var(--bm-border);border-radius:10px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));max-height:260px;overflow-y:auto;padding:10px}.bm-icon-tile{align-items:center;background:var(--surface-card);border:1.5px solid var(--bm-border);border-radius:9px;cursor:pointer;display:flex;justify-content:center;padding:6px;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.bm-icon-tile:hover{border-color:var(--brand-primary-subtle);box-shadow:var(--bm-shadow-md);transform:translateY(-1px)}.bm-icon-tile.is-active{background:var(--bm-accent-soft);border-color:var(--bm-accent);box-shadow:0 0 0 3px #6366f12e}.bm-icon-tile img{aspect-ratio:1/1;display:block;object-fit:contain;width:100%}.bm-icon-empty{color:var(--bm-text-muted);font-size:12px;grid-column:1/-1;padding:18px;text-align:center}.bm-upload-zone{background:var(--surface-card);border:1.5px dashed var(--border-strong);border-radius:10px;padding:22px;text-align:center}.bm-upload-zone input[type=file]{font-size:13px}.bm-url-paste{margin-top:10px}.bm-warn{background:var(--status-warning-bg);border-left:3px solid var(--status-warning);border-radius:8px;color:var(--status-warning-text);font-size:12px;padding:10px 12px}.bm-error{color:var(--status-danger);font-size:12px;margin-top:8px}.modal-dialog.ca-badge-modal .ca-crosssell-card{background:#fbfcff}.modal-dialog.ca-badge-modal .btn-primary{background:var(--gradient-brand);border:none}.modal-dialog.ca-badge-modal .btn-primary:hover:not(:disabled){filter:brightness(1.05)}.modal-dialog.ca-badge-modal .btn-primary:focus{box-shadow:0 0 0 3px #6366f140}.modal-dialog.ca-badge-modal .btn-secondary{background:var(--surface-card);border:1px solid var(--bm-border);color:var(--bm-text-2)}.modal-dialog.ca-badge-modal .btn-secondary:hover:not(:disabled){background:var(--surface-page);color:var(--bm-text)}.bm-product-picker{display:inline-block;margin-bottom:8px}.bm-product-picker.is-compact{margin-bottom:0}.bm-product-picker-trigger{align-items:center;background:var(--bm-accent-soft);border:1px solid var(--brand-primary-subtle);border-radius:7px;color:var(--bm-accent);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px;transition:all .15s ease}.bm-product-picker.is-compact .bm-product-picker-trigger{border-radius:6px;font-size:11px;gap:4px;padding:4px 9px}.bm-product-picker-trigger:hover{background:var(--brand-primary-subtle);border-color:var(--bm-accent)}.modal-dialog.ca-badge-modal .ca-crosssell-card{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:10px;box-shadow:var(--bm-shadow);margin-bottom:12px;padding:14px}.modal-dialog.ca-badge-modal .bm-crosssell-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px}.modal-dialog.ca-badge-modal .bm-crosssell-num{align-items:center;background:var(--bm-bg-soft);border-radius:999px;color:var(--bm-text-2);display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.6px;padding:3px 10px;text-transform:uppercase}.modal-dialog.ca-badge-modal .bm-crosssell-actions{align-items:center;display:flex;gap:6px}.modal-dialog.ca-badge-modal .bm-crosssell-remove{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--bm-text-muted);cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 8px;transition:all .15s ease}.modal-dialog.ca-badge-modal .bm-crosssell-remove:hover{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.modal-dialog.ca-badge-modal .bm-crosssell-fields{display:flex;flex-direction:column;gap:8px}.modal-dialog.ca-badge-modal .bm-crosssell-fields .form-control{font-size:13px}.modal-dialog.ca-badge-modal .bm-crosssell-thumb-preview{align-items:center;background:var(--bm-bg-soft);border-radius:8px;color:var(--bm-text-muted);display:flex;font-size:11px;gap:10px;margin-bottom:8px;padding:8px}.modal-dialog.ca-badge-modal .bm-crosssell-thumb-preview img{border-radius:6px;height:36px;object-fit:cover;width:36px}.modal-dialog.ca-badge-modal .bm-crosssell-add{background:var(--surface-card);border:1.5px dashed var(--border-strong);border-radius:10px;color:var(--bm-text-2);cursor:pointer;font-size:13px;font-weight:600;padding:10px;transition:all .15s ease;width:100%}.modal-dialog.ca-badge-modal .bm-crosssell-add:hover{background:var(--bm-accent-soft);border-color:var(--bm-accent);color:var(--bm-accent)}.bm-product-picker-panel{--bm-accent:var(--brand-primary);--bm-accent-soft:#eef2ff;--bm-border:var(--border-default);--bm-border-soft:var(--border-subtle);--bm-bg-soft:var(--surface-page);--bm-text:var(--text-strong);--bm-text-muted:var(--text-faint);background:var(--surface-card);border:1px solid var(--bm-border);border-radius:12px;box-shadow:0 18px 48px #0f172a38;display:flex;flex-direction:column;max-width:90vw;overflow:hidden;z-index:2000}.bm-product-picker-search{background:var(--bm-bg-soft);border-bottom:1px solid var(--bm-border-soft);padding:10px 12px;position:relative}.bm-product-picker-search-icon{color:var(--bm-text-muted);left:22px;position:absolute;top:50%;transform:translateY(-50%)}.bm-product-picker-search input{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:8px;font-size:13px;padding:7px 28px 7px 30px;width:100%}.bm-product-picker-search input:focus{border-color:var(--bm-accent);box-shadow:0 0 0 3px #6366f126;outline:none}.bm-product-picker-clear{align-items:center;background:var(--bm-border);border:none;border-radius:50%;color:var(--text-on-brand);cursor:pointer;display:flex;height:18px;justify-content:center;position:absolute;right:18px;top:50%;transform:translateY(-50%);width:18px}.bm-product-picker-list{max-height:320px;overflow-y:auto}.bm-product-picker-state{color:var(--bm-text-muted);font-size:12px;padding:18px;text-align:center}.bm-product-picker-state.error{color:var(--status-danger)}.bm-product-picker-row{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--bm-border-soft);cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left;transition:background .12s ease;width:100%}.bm-product-picker-row:hover{background:var(--bm-accent-soft)}.bm-product-picker-row:last-child{border-bottom:none}.bm-product-picker-thumb{align-items:center;background:var(--bm-bg-soft);border-radius:8px;color:var(--bm-text-muted);display:flex;flex-shrink:0;height:36px;justify-content:center;overflow:hidden;width:36px}.bm-product-picker-thumb img{height:100%;object-fit:cover;width:100%}.bm-product-picker-meta{flex:1 1;min-width:0}.bm-product-picker-name{color:var(--bm-text);font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-product-picker-sub{color:var(--bm-text-muted);font-size:11px;margin-top:2px}.bm-product-picker-sub code{background:var(--bm-bg-soft);border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:10px;padding:1px 4px}.bm-preview-sticky{position:sticky;top:0}.bm-preview-label{align-items:center;color:var(--bm-text-muted);display:flex;font-size:10px;font-weight:700;gap:6px;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.bm-preview-card{background:var(--surface-card);border:1px solid var(--bm-border-soft);border-radius:18px;box-shadow:0 8px 24px #0f172a1f;overflow:hidden}.bm-preview-banner{background:var(--gradient-brand);height:70px;position:relative}.bm-preview-image-wrap{align-items:center;background:var(--surface-card);border:4px solid #fff;border-radius:50%;box-shadow:0 6px 20px #0f172a26;display:flex;height:96px;justify-content:center;margin:-54px auto 0;overflow:hidden;position:relative;width:96px}.bm-preview-image-wrap img{height:78%;object-fit:contain;width:78%}.bm-preview-image-placeholder{color:var(--text-faint)}.bm-preview-body{padding:14px 22px 22px;text-align:center}.bm-preview-type-pill{background:var(--bm-accent-soft);border-radius:999px;color:var(--bm-accent);display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.6px;margin-bottom:8px;padding:3px 10px;text-transform:uppercase}.bm-preview-name{color:var(--bm-text);font-size:17px;font-weight:700;line-height:1.25;margin:0}.bm-preview-desc{color:var(--bm-text-2);font-size:12.5px;line-height:1.5;margin-top:8px}.bm-preview-divider{border:0;border-top:1px dashed var(--border-default);margin:14px 0}.bm-preview-meta{grid-gap:8px;color:var(--bm-text-muted);display:grid;font-size:11px;gap:8px;grid-template-columns:1fr 1fr;text-align:left}.bm-preview-meta-item .label{color:var(--bm-text-muted);display:block;font-size:9px;font-weight:700;letter-spacing:.7px;margin-bottom:2px;text-transform:uppercase}.bm-preview-meta-item .value{color:var(--bm-text-2);font-size:12px;font-weight:600}.bm-preview-verified{align-items:center;background:var(--status-success-bg);border-radius:999px;color:var(--status-success-text);display:inline-flex;font-size:11px;font-weight:600;gap:6px;margin-top:12px;padding:5px 10px}.bm-preview-note{color:var(--bm-text-muted);font-size:11px;font-style:italic;margin-top:12px;text-align:center}.ca-page .ca-meta-row{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ca-page .ca-meta-chip{align-items:center;background:var(--brand-primary-subtle);border-radius:999px;color:var(--text-body);display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.ca-page .ca-meta-chip-muted{background:var(--surface-sunken);color:var(--text-muted);font-weight:500}.ca-page .ca-rules-tab{padding:4px 0 24px}.ca-page .ca-rules-tab-head{align-items:flex-end;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.ca-page .ca-rules-tab-head h2{color:var(--text-strong);font-size:18px;font-weight:700;letter-spacing:-.3px;margin:0 0 4px}.ca-page .ca-rules-tab-head p{color:var(--text-muted);font-size:12px;margin:0}.ca-page .ca-rules-empty{background:var(--surface-page);border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-faint);font-size:13px;padding:40px;text-align:center}.ca-page .ca-rules-list{display:flex;flex-direction:column;gap:10px}.ca-page .ca-rules-row{grid-gap:12px;align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 1px 2px #0f172a0a;cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(0,2.5fr) minmax(0,1fr) auto;padding:14px 16px;transition:border-color .15s ease,box-shadow .15s ease}.ca-page .ca-rules-row:hover{border-color:var(--brand-primary-subtle);box-shadow:0 4px 14px #0f172a0f}.ca-page .ca-rules-row.is-disabled{opacity:.55}.ca-page .ca-rules-row-main{display:flex;flex-direction:column;gap:5px;min-width:0}.ca-page .ca-rules-row-name{align-items:center;color:var(--text-strong);display:flex;font-size:14px;font-weight:700;gap:8px}.ca-page .ca-rules-row-disabled{background:var(--status-danger-bg);border-radius:999px;color:var(--status-danger);font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 7px;text-transform:uppercase}.ca-page .ca-rules-row-badge{align-items:center;color:var(--text-body);display:flex;font-size:12px;gap:6px}.ca-page .ca-rules-row-pill{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-active);font-size:10px;font-weight:600;padding:2px 8px}.ca-page .ca-rules-row-pred{background:var(--surface-page);border-radius:6px;color:var(--text-muted);font-family:ui-monospace,Menlo,monospace;font-size:11px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.ca-page .ca-rules-row-triggers{display:flex;flex-wrap:wrap;gap:4px}.ca-page .ca-rules-trigger-chip{background:var(--surface-sunken);border-radius:999px;color:var(--text-body);font-size:9.5px;font-weight:700;letter-spacing:.5px;padding:2px 7px;text-transform:uppercase}.ca-page .ca-rules-row-meta{align-items:flex-end;color:var(--text-muted);display:flex;flex-direction:column;font-size:11px;gap:3px}.ca-page .ca-rules-row-mode{color:var(--text-strong);font-weight:600}.ca-page .ca-rules-row-stats{align-items:center;display:flex;gap:10px}.ca-page .ca-rules-row-stats strong{color:var(--text-strong)}.ca-page .ca-rules-row-pending{background:var(--status-warning-bg);border-radius:999px;color:var(--status-warning-text);font-weight:700;padding:2px 8px}.ca-page .ca-rules-row-actions{display:flex;gap:4px}.ca-page .ca-rules-iconbtn{background:var(--surface-card);border:1px solid var(--border-default);border-radius:6px;color:var(--text-body);cursor:pointer;padding:6px 8px;transition:all .15s ease}.ca-page .ca-rules-iconbtn:hover{background:var(--surface-sunken);color:var(--text-strong)}.ca-page .ca-rules-iconbtn.danger:hover{background:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger)}.modal-dialog.ca-rules-modal .bm-pred-composite,.modal-dialog.ca-rules-modal .bm-pred-leaf{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:10px;margin-bottom:10px;padding:12px}.modal-dialog.ca-rules-modal .bm-pred-composite.is-and{background:#f0f9ff;border-color:#bae6fd}.modal-dialog.ca-rules-modal .bm-pred-composite.is-or{background:#fefce8;border-color:#fef08a}.modal-dialog.ca-rules-modal .bm-pred-composite.is-not{background:var(--status-danger-bg);border-color:var(--status-danger-border)}.modal-dialog.ca-rules-modal .bm-pred-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.modal-dialog.ca-rules-modal .bm-pred-op-pill{border-radius:999px;font-size:10px;font-weight:700;letter-spacing:1px;padding:3px 10px}.modal-dialog.ca-rules-modal .bm-pred-op-pill.is-and{background:#0284c7;color:var(--text-on-brand)}.modal-dialog.ca-rules-modal .bm-pred-op-pill.is-or{background:#ca8a04;color:var(--text-on-brand)}.modal-dialog.ca-rules-modal .bm-pred-op-pill.is-not{background:var(--status-danger);color:var(--text-on-brand)}.modal-dialog.ca-rules-modal .bm-pred-head-actions,.modal-dialog.ca-rules-modal .bm-pred-leaf-actions{display:flex;gap:4px}.modal-dialog.ca-rules-modal .bm-pred-iconbtn{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:5px;color:var(--bm-text-2);cursor:pointer;font-size:10px;font-weight:600;padding:3px 8px}.modal-dialog.ca-rules-modal .bm-pred-iconbtn:hover{background:var(--bm-bg-soft)}.modal-dialog.ca-rules-modal .bm-pred-iconbtn.danger:hover{background:var(--status-danger-bg);color:var(--status-danger)}.modal-dialog.ca-rules-modal .bm-pred-children{border-left:2px dashed var(--border-strong);display:flex;flex-direction:column;gap:8px;padding-left:8px}.modal-dialog.ca-rules-modal .bm-pred-add-clause{align-items:center;background:#0000;border:1.5px dashed var(--border-strong);border-radius:6px;color:var(--bm-text-2);cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;margin-top:8px;padding:5px 12px}.modal-dialog.ca-rules-modal .bm-pred-add-clause:hover{background:var(--bm-accent-soft);border-color:var(--bm-accent);color:var(--bm-accent)}.modal-dialog.ca-rules-modal .bm-pred-leaf-head{margin-bottom:8px}.modal-dialog.ca-rules-modal .bm-clause-form{display:flex;flex-direction:column;gap:8px}.modal-dialog.ca-rules-modal .bm-clause-form-row.two-col,.modal-dialog.ca-rules-modal .bm-trigger-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.modal-dialog.ca-rules-modal .bm-trigger-card{align-items:flex-start;background:var(--surface-card);border:1.5px solid var(--bm-border);border-radius:10px;cursor:pointer;display:flex;gap:8px;margin:0;padding:10px 12px;transition:all .15s ease}.modal-dialog.ca-rules-modal .bm-trigger-card:hover{border-color:var(--brand-primary-subtle)}.modal-dialog.ca-rules-modal .bm-trigger-card.is-active{background:var(--bm-accent-soft);border-color:var(--bm-accent);box-shadow:0 0 0 3px #6366f11f}.modal-dialog.ca-rules-modal .bm-trigger-card input{margin-top:2px}.modal-dialog.ca-rules-modal .bm-trigger-card-title{color:var(--bm-text);display:block;font-size:12.5px;font-weight:600;line-height:1.25}.modal-dialog.ca-rules-modal .bm-trigger-card-sub{color:var(--bm-text-muted);display:block;font-size:10.5px;line-height:1.4;margin-top:2px}.modal-dialog.ca-rules-modal .bm-dry-run-input{display:flex;gap:6px}.modal-dialog.ca-rules-modal .bm-dry-run-input .form-control{flex:1 1}.modal-dialog.ca-rules-modal .bm-dry-run-hint{background:var(--bm-bg-soft);border-radius:6px;color:var(--bm-text-muted);font-size:11px;margin-top:8px;padding:8px 10px}.modal-dialog.ca-rules-modal .bm-dry-run-result{background:var(--bm-bg-soft);border:1px solid var(--bm-border);border-radius:8px;margin-top:12px;padding:10px}.modal-dialog.ca-rules-modal .bm-dry-run-verdict{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;gap:6px;margin-bottom:10px;padding:4px 10px}.modal-dialog.ca-rules-modal .bm-dry-run-verdict.is-match{background:var(--status-success-bg);color:var(--status-success-text)}.modal-dialog.ca-rules-modal .bm-dry-run-verdict.is-nomatch{background:var(--status-danger-bg);color:var(--status-danger)}.modal-dialog.ca-rules-modal .bm-dry-run-verdict.is-error{background:var(--status-warning-bg);color:var(--status-warning-text)}.modal-dialog.ca-rules-modal .bm-trace-node{font-size:11px}.modal-dialog.ca-rules-modal .bm-trace-row{border-radius:4px;display:flex;gap:6px;margin:2px 0;padding:3px 6px}.modal-dialog.ca-rules-modal .bm-trace-row.is-pass{background:var(--status-success-bg);color:var(--status-success-text)}.modal-dialog.ca-rules-modal .bm-trace-row.is-fail{background:var(--status-danger-bg);color:var(--status-danger)}.modal-dialog.ca-rules-modal .bm-trace-row.is-error{background:var(--status-warning-bg);color:var(--status-warning-text)}.modal-dialog.ca-rules-modal .bm-trace-icon{font-weight:700;text-align:center;width:14px}.modal-dialog.ca-rules-modal .bm-trace-type{font-family:ui-monospace,Menlo,monospace;font-weight:600}.modal-dialog.ca-rules-modal .bm-trace-detail{color:var(--bm-text-muted);font-size:10.5px}.modal-dialog.ca-rules-modal .rd-toast{background:var(--status-info-bg);border-left:3px solid var(--brand-primary);border-radius:8px;color:var(--status-info-text);font-size:12.5px;margin-bottom:12px;padding:10px 14px}.modal-dialog.ca-rules-modal .rd-hero{align-items:center;background:linear-gradient(135deg,var(--surface-card) 0,var(--bm-accent-soft) 100%);border:1px solid var(--bm-border);border-radius:14px;display:flex;gap:14px;margin-bottom:14px;padding:16px 18px}.modal-dialog.ca-rules-modal .rd-hero-avatar{align-items:center;background:var(--surface-card);border:1px solid var(--bm-border);border-radius:50%;box-shadow:0 4px 10px #0f172a0f;color:var(--bm-accent);display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.modal-dialog.ca-rules-modal .rd-hero-main{flex:1 1;min-width:0}.modal-dialog.ca-rules-modal .rd-hero-name{color:var(--bm-text);font-size:17px;font-weight:700;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-dialog.ca-rules-modal .rd-hero-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.modal-dialog.ca-rules-modal .rd-hero-badge-name{color:var(--bm-text-2);font-size:12.5px;font-weight:600}.modal-dialog.ca-rules-modal .rd-hero-pill{align-items:center;background:var(--surface-card);border:1px solid var(--bm-border);border-radius:999px;color:var(--bm-text-2);display:inline-flex;font-size:10.5px;font-weight:700;gap:4px;letter-spacing:.5px;padding:3px 9px;text-transform:uppercase}.modal-dialog.ca-rules-modal .rd-hero-pill-soft{background:var(--bm-accent-soft);border-color:#0000;color:var(--bm-accent)}.modal-dialog.ca-rules-modal .rd-hero-pill.is-enabled{color:var(--status-success-text)}.modal-dialog.ca-rules-modal .rd-hero-pill.is-disabled{background:var(--status-danger-bg);color:var(--status-danger)}.modal-dialog.ca-rules-modal .rd-status-dot{background:currentColor;border-radius:50%;display:inline-block;height:6px;width:6px}.modal-dialog.ca-rules-modal .rd-hero-mode.is-auto{background:var(--status-success-bg);border-color:#0000;color:var(--status-success-text)}.modal-dialog.ca-rules-modal .rd-hero-mode.is-review{background:var(--status-warning-bg);border-color:#0000;color:var(--status-warning-text)}.modal-dialog.ca-rules-modal .rd-hero-actions{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:6px}.modal-dialog.ca-rules-modal.rd-no-header .modal-body{padding-top:22px}.modal-dialog.ca-rules-modal .rd-close{align-items:center;background:#ffffffb3;border:1px solid var(--bm-border);border-radius:8px;color:var(--bm-text-2);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:14px;top:12px;transition:all .15s ease;width:28px}.modal-dialog.ca-rules-modal .rd-close:hover{background:var(--surface-card);border-color:var(--bm-text-muted);color:var(--bm-text)}.modal-dialog.ca-rules-modal .rd-hero{padding-right:52px;position:relative}.modal-dialog.ca-rules-modal .rd-head-count{align-items:center;background:var(--status-warning-bg);border-radius:999px;color:var(--status-warning-text);display:inline-flex;font-size:10px;font-weight:700;height:18px;justify-content:center;margin-left:6px;min-width:18px;padding:0 6px}.modal-dialog.ca-rules-modal .rd-trigger-chip{background:var(--bm-accent-soft);border-radius:6px;color:var(--bm-accent);font-family:ui-monospace,Menlo,monospace;font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}.modal-dialog.ca-rules-modal .rd-elig-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.modal-dialog.ca-rules-modal .rd-elig-row{grid-gap:12px;align-items:center;background:var(--bm-bg-soft);border:1px solid var(--bm-border);border-radius:10px;display:grid;gap:12px;grid-template-columns:1fr 1.2fr auto;padding:10px 12px}.modal-dialog.ca-rules-modal .rd-elig-meta{min-width:0}.modal-dialog.ca-rules-modal .rd-elig-student{align-items:center;color:var(--bm-text);display:flex;font-size:13px;font-weight:600;gap:6px}.modal-dialog.ca-rules-modal .rd-elig-student-code{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:4px;color:var(--bm-text-muted);font-family:ui-monospace,Menlo,monospace;font-size:10px;padding:1px 5px}.modal-dialog.ca-rules-modal .rd-elig-sub{color:var(--bm-text-muted);font-size:11px;margin-top:2px}.modal-dialog.ca-rules-modal .rd-elig-note{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:6px;font-size:12px;padding:7px 10px}.modal-dialog.ca-rules-modal .rd-elig-note:focus{border-color:var(--bm-accent);box-shadow:0 0 0 3px #6366f126;outline:none}.modal-dialog.ca-rules-modal .rd-elig-actions{display:flex;gap:6px}.modal-dialog.ca-rules-modal .rd-definition{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:12px;margin-bottom:14px;overflow:hidden}.modal-dialog.ca-rules-modal .rd-definition-row{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:90px 1fr;padding:12px 16px}.modal-dialog.ca-rules-modal .rd-definition-row+.rd-definition-row{border-top:1px solid var(--bm-border-soft)}.modal-dialog.ca-rules-modal .rd-definition-label{color:var(--bm-text-muted);font-size:10px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.modal-dialog.ca-rules-modal .rd-definition-code{background:var(--bm-bg-soft);border-radius:6px;color:var(--bm-text);display:inline-block;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;padding:6px 10px}.modal-dialog.ca-rules-modal .rd-trigger-chips{display:flex;flex-wrap:wrap;gap:5px}.modal-dialog.ca-rules-modal .rd-trigger-chip{background:var(--brand-primary-subtle);border-radius:999px;color:var(--brand-primary-active);font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 9px;text-transform:uppercase}.modal-dialog.ca-rules-modal .rd-trigger-empty{color:var(--status-danger);font-size:12px;font-style:italic}.modal-dialog.ca-rules-modal .rd-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:14px}.modal-dialog.ca-rules-modal .rd-stat{align-items:center;background:var(--surface-card);border:1px solid var(--bm-border);border-radius:10px;display:flex;gap:10px;padding:12px 14px}.modal-dialog.ca-rules-modal .rd-stat-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.modal-dialog.ca-rules-modal .rd-stat.is-ok .rd-stat-icon{background:var(--status-success-bg);color:var(--status-success-text)}.modal-dialog.ca-rules-modal .rd-stat.is-warn .rd-stat-icon{background:var(--status-warning-bg);color:var(--status-warning-text)}.modal-dialog.ca-rules-modal .rd-stat.is-muted .rd-stat-icon{background:var(--bm-bg-soft);color:var(--bm-text-muted)}.modal-dialog.ca-rules-modal .rd-stat-meta{min-width:0}.modal-dialog.ca-rules-modal .rd-stat-label{color:var(--bm-text-muted);font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.modal-dialog.ca-rules-modal .rd-stat-value{color:var(--bm-text);font-size:16px;font-weight:700;margin-top:2px}.modal-dialog.ca-rules-modal .rd-stat.is-muted .rd-stat-value{color:var(--bm-text-muted);font-weight:600}.modal-dialog.ca-rules-modal .rd-block{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:12px;margin-bottom:12px;padding:12px 16px 14px}.modal-dialog.ca-rules-modal .rd-block-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.modal-dialog.ca-rules-modal .rd-block-head h5{align-items:center;color:var(--bm-text);display:flex;font-size:11.5px;font-weight:700;gap:6px;letter-spacing:.6px;margin:0;text-transform:uppercase}.modal-dialog.ca-rules-modal .rd-empty{padding:28px 20px;text-align:center}.modal-dialog.ca-rules-modal .rd-empty-icon{align-items:center;background:var(--bm-bg-soft);border-radius:50%;color:var(--bm-text-muted);display:inline-flex;height:44px;justify-content:center;margin-bottom:8px;width:44px}.modal-dialog.ca-rules-modal .rd-empty-title{color:var(--bm-text-2);font-size:13px;font-weight:700;margin-bottom:4px}.modal-dialog.ca-rules-modal .rd-empty-body{color:var(--bm-text-muted);font-size:12px;line-height:1.5;margin:0 auto;max-width:460px}.modal-dialog.ca-rules-modal .rd-log-table-wrap{border:1px solid var(--bm-border-soft);border-radius:8px;max-height:340px;overflow-y:auto}.modal-dialog.ca-rules-modal .rd-log-table{border-collapse:collapse;font-size:12px;width:100%}.modal-dialog.ca-rules-modal .rd-log-table th{background:var(--surface-page);border-bottom:1px solid var(--bm-border);color:var(--bm-text-muted);font-size:9.5px;font-weight:700;letter-spacing:.6px;padding:8px 10px;position:sticky;text-align:left;text-transform:uppercase;top:0}.modal-dialog.ca-rules-modal .rd-log-table td{border-bottom:1px solid var(--bm-border-soft);color:var(--bm-text-2);padding:8px 10px;vertical-align:top}.modal-dialog.ca-rules-modal .rd-log-table tr:last-child td{border-bottom:none}.modal-dialog.ca-rules-modal .rd-log-student{color:var(--bm-text);font-weight:600}.modal-dialog.ca-rules-modal .rd-log-student-code{background:var(--bm-bg-soft);border-radius:4px;color:var(--bm-text-muted);display:inline-block;font-family:ui-monospace,Menlo,monospace;font-size:10px;margin-top:2px;padding:1px 5px}.modal-dialog.ca-rules-modal .rd-result{align-items:center;border-radius:999px;display:inline-flex;font-size:10.5px;font-weight:700;gap:4px;padding:3px 9px;text-transform:capitalize}.modal-dialog.ca-rules-modal .rd-result.is-matched{background:var(--status-success-bg);color:var(--status-success-text)}.modal-dialog.ca-rules-modal .rd-result.is-not-matched{background:var(--surface-sunken);color:var(--text-muted)}.modal-dialog.ca-rules-modal .rd-result.is-error{background:var(--status-warning-bg);color:var(--status-warning-text)}.modal-dialog.ca-rules-modal .rd-issued{align-items:center;color:var(--bm-accent);display:inline-flex;font-weight:600;gap:3px}.modal-dialog.ca-rules-modal .rd-cell-empty{color:var(--bm-text-muted)}.modal-dialog.ca-rules-modal .ca-rules-summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.modal-dialog.ca-rules-modal .ca-rules-summary-item{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:10px;padding:10px 12px}.modal-dialog.ca-rules-modal .ca-rules-summary-label{color:var(--bm-text-muted);font-size:9px;font-weight:700;letter-spacing:.7px;margin-bottom:4px;text-transform:uppercase}.modal-dialog.ca-rules-modal .ca-rules-summary-value{color:var(--bm-text);font-size:13px;font-weight:600}.modal-dialog.ca-rules-modal .ca-rules-summary-pred{background:var(--bm-bg-soft);border:1px dashed var(--bm-border);border-radius:10px;margin-bottom:12px;padding:12px}.modal-dialog.ca-rules-modal .ca-rules-summary-pred-label{color:var(--bm-text-muted);font-size:9px;font-weight:700;letter-spacing:.7px;margin-bottom:4px;text-transform:uppercase}.modal-dialog.ca-rules-modal .ca-rules-summary-pred code{color:var(--bm-text);font-size:12px}.modal-dialog.ca-rules-modal .ca-rules-section-head{align-items:center;display:flex;justify-content:space-between;margin:14px 0 8px}.modal-dialog.ca-rules-modal .ca-rules-section-head h5{align-items:center;color:var(--bm-text);display:flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.6px;margin:0;text-transform:uppercase}.modal-dialog.ca-rules-modal .ca-rules-empty{background:var(--bm-bg-soft);border-radius:8px;color:var(--bm-text-muted);font-size:12px;padding:18px;text-align:center}.modal-dialog.ca-rules-modal .ca-rules-log-table-wrap{border:1px solid var(--bm-border);border-radius:10px;max-height:320px;overflow-y:auto}.modal-dialog.ca-rules-modal .ca-rules-log-table{border-collapse:collapse;font-size:11.5px;width:100%}.modal-dialog.ca-rules-modal .ca-rules-log-table th{background:var(--surface-page);border-bottom:1px solid var(--bm-border);color:var(--bm-text-muted);font-size:9.5px;font-weight:700;letter-spacing:.6px;padding:8px 10px;text-align:left;text-transform:uppercase}.modal-dialog.ca-rules-modal .ca-rules-log-table td{border-bottom:1px solid var(--bm-border-soft);color:var(--bm-text-2);padding:8px 10px}.modal-dialog.ca-rules-modal .ca-rules-result{border-radius:999px;font-size:10px;font-weight:700;padding:2px 8px}.modal-dialog.ca-rules-modal .ca-rules-result.is-matched{background:var(--status-success-bg);color:var(--status-success-text)}.modal-dialog.ca-rules-modal .ca-rules-result.is-not-matched{background:var(--surface-sunken);color:var(--text-muted)}.modal-dialog.ca-rules-modal .ca-rules-result.is-error{background:var(--status-warning-bg);color:var(--status-warning-text)}.modal-dialog.ca-rules-modal .ca-rules-issued{align-items:center;color:var(--bm-accent);display:inline-flex;font-weight:600;gap:3px}.modal-dialog.ca-rules-modal .bm-howitworks{background:var(--surface-card);border:1px solid var(--bm-border);border-radius:12px;overflow:hidden}.modal-dialog.ca-rules-modal .bm-howitworks-toggle{align-items:center;background:linear-gradient(135deg,#fbfcff 0,var(--bm-accent-soft) 100%);border:none;color:var(--bm-accent);cursor:pointer;display:flex;font-size:12px;font-weight:700;justify-content:space-between;letter-spacing:.3px;padding:10px 14px;width:100%}.modal-dialog.ca-rules-modal .bm-howitworks.is-open .bm-howitworks-toggle{border-bottom:1px solid var(--bm-border-soft)}.modal-dialog.ca-rules-modal .bm-howitworks-toggle-left{align-items:center;display:inline-flex;gap:7px}.modal-dialog.ca-rules-modal .bm-howitworks-chevron{transition:transform .18s ease}.modal-dialog.ca-rules-modal .bm-howitworks.is-open .bm-howitworks-chevron{transform:rotate(180deg)}.modal-dialog.ca-rules-modal .bm-howitworks-body{color:var(--bm-text-2);font-size:12.5px;line-height:1.55;padding:14px 18px 16px}.modal-dialog.ca-rules-modal .bm-howitworks-body p{margin:0 0 10px}.modal-dialog.ca-rules-modal .bm-howitworks-grid{grid-gap:6px 12px;display:grid;gap:6px 12px;grid-template-columns:110px 1fr;margin:6px 0 10px}.modal-dialog.ca-rules-modal .bm-howitworks-grid dt{align-items:center;color:var(--bm-text);display:inline-flex;font-size:11.5px;font-weight:700;gap:5px;letter-spacing:.5px;padding-top:2px;text-transform:uppercase}.modal-dialog.ca-rules-modal .bm-howitworks-grid dt svg{color:var(--bm-accent)}.modal-dialog.ca-rules-modal .bm-howitworks-grid dd{font-size:12px;margin:0}.modal-dialog.ca-rules-modal .bm-howitworks-example code,.modal-dialog.ca-rules-modal .bm-howitworks-grid code{background:var(--bm-bg-soft);border-radius:4px;font-family:ui-monospace,Menlo,monospace;font-size:11px;padding:1px 5px}.modal-dialog.ca-rules-modal .bm-howitworks-example{background:var(--bm-bg-soft);border-left:3px solid var(--bm-accent);border-radius:8px;font-size:12px;margin-top:10px;padding:10px 12px}.modal-dialog.ca-rules-modal .bm-reviewer-picker{display:flex;flex-direction:column;gap:6px}.modal-dialog.ca-rules-modal .bm-reviewer-chips{display:flex;flex-wrap:wrap;gap:4px}.modal-dialog.ca-rules-modal .bm-reviewer-chip{align-items:center;background:var(--bm-accent-soft);border-radius:999px;color:var(--bm-accent);display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:3px 4px 3px 8px}.modal-dialog.ca-rules-modal .bm-reviewer-chip-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-dialog.ca-rules-modal .bm-reviewer-chip-remove{align-items:center;background:rgba(var(--brand-primary-rgb),.18);border:none;border-radius:50%;color:var(--bm-accent);cursor:pointer;display:inline-flex;height:16px;justify-content:center;width:16px}.modal-dialog.ca-rules-modal .bm-reviewer-chip-remove:hover{background:var(--bm-accent);color:var(--text-on-brand)}.modal-dialog.ca-rules-modal .bm-reviewer-input-wrap{position:relative}.modal-dialog.ca-rules-modal .bm-reviewer-search-icon{color:var(--bm-text-muted);left:9px;position:absolute;top:50%;transform:translateY(-50%)}.modal-dialog.ca-rules-modal .bm-reviewer-input-wrap .form-control{padding-left:30px}.bm-reviewer-panel{--bm-accent:var(--brand-primary);--bm-accent-soft:#eef2ff;--bm-border:var(--border-default);--bm-border-soft:var(--border-subtle);--bm-bg-soft:var(--surface-page);--bm-text:var(--text-strong);--bm-text-muted:var(--text-faint);background:var(--surface-card);border:1px solid var(--bm-border);border-radius:10px;box-shadow:0 14px 38px #0f172a2e;overflow-y:auto;padding:4px;z-index:2000}.bm-reviewer-state{color:var(--bm-text-muted);font-size:12px;padding:14px;text-align:center}.bm-reviewer-state.error{color:var(--status-danger)}.bm-reviewer-row{align-items:center;background:#0000;border:none;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px 10px;text-align:left;transition:background .12s ease;width:100%}.bm-reviewer-row:hover:not(:disabled){background:var(--bm-accent-soft)}.bm-reviewer-row.is-already{cursor:not-allowed;opacity:.55}.bm-reviewer-row-icon{align-items:center;background:var(--bm-bg-soft);border-radius:50%;color:var(--bm-text-muted);display:inline-flex;height:26px;justify-content:center;width:26px}.bm-reviewer-row-meta{flex:1 1;min-width:0}.bm-reviewer-row-name{color:var(--bm-text);display:block;font-size:13px;font-weight:600}.bm-reviewer-row-email{color:var(--bm-text-muted);display:block;font-size:11px}.bm-reviewer-row-already{background:var(--bm-accent-soft);border-radius:999px;color:var(--bm-accent);font-size:10px;font-weight:700;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.modal-dialog.ca-rules-modal .ca-rules-eligibility{margin-top:14px}.modal-dialog.ca-rules-modal .ca-rules-eligibility-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:8px 0 0;padding:0}.modal-dialog.ca-rules-modal .ca-rules-eligibility-row{grid-gap:10px;align-items:center;background:var(--surface-card);border:1px solid var(--bm-border);border-radius:10px;display:grid;gap:10px;grid-template-columns:1fr 1.4fr auto;padding:10px 12px}.modal-dialog.ca-rules-modal .ca-rules-eligibility-meta{min-width:0}.modal-dialog.ca-rules-modal .ca-rules-student{color:var(--bm-text);font-size:13px}.modal-dialog.ca-rules-modal .ca-rules-eligibility-sub{color:var(--bm-text-muted);font-size:11px;margin-top:2px}.modal-dialog.ca-rules-modal .ca-rules-eligibility-note{border:1px solid var(--bm-border);border-radius:6px;font-size:12px;padding:6px 8px}.modal-dialog.ca-rules-modal .ca-rules-eligibility-actions{display:flex;gap:6px}.modal-dialog.ca-modal .modal-content{border:none;border-radius:14px;box-shadow:0 24px 60px #0f172a33;overflow:hidden}.modal-dialog.ca-modal .modal-header{background:linear-gradient(135deg,var(--surface-page) 0,var(--brand-primary-subtle) 100%);border-bottom:1px solid var(--border-default);padding:16px 22px}.modal-dialog.ca-modal .modal-title{color:var(--text-strong);font-size:16px;font-weight:700;letter-spacing:-.2px}.modal-dialog.ca-modal .modal-body{color:var(--text-strong);font-size:14px;line-height:1.5;padding:22px}.modal-dialog.ca-modal .modal-body p{margin:0 0 10px}.modal-dialog.ca-modal .modal-body p:last-child{margin-bottom:0}.modal-dialog.ca-modal .modal-footer{background:var(--surface-page);border-top:1px solid var(--border-subtle);padding:14px 22px}.modal-dialog.ca-modal .form-control,.modal-dialog.ca-modal .form-select{border:1px solid var(--border-strong);border-radius:8px;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.modal-dialog.ca-modal .form-control:focus,.modal-dialog.ca-modal .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126}.modal-dialog.ca-modal .form-label{color:var(--text-body);font-size:12px;font-weight:600;margin-bottom:4px}.modal-dialog.ca-modal .btn-primary{background:var(--gradient-brand);border:none}.modal-dialog.ca-modal .btn-primary:hover:not(:disabled){filter:brightness(1.05)}.modal-dialog.ca-modal .btn-primary:focus{box-shadow:0 0 0 3px #6366f140}.modal-dialog.ca-modal .btn-success{background:linear-gradient(135deg,var(--status-success) 0,var(--status-success) 100%);border:none}.modal-dialog.ca-modal .btn-success:hover:not(:disabled){filter:brightness(1.05)}.modal-dialog.ca-modal hr{border:0;border-top:1px solid var(--border-default);margin:20px 0}.modal-dialog.ca-modal .ca-crosssell-card{background:var(--surface-page);border:1px solid var(--border-default);border-radius:10px;margin-bottom:12px;padding:14px}.modal-dialog.ca-modal .ca-crosssell-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.modal-dialog.ca-modal .ca-crosssell-num{color:var(--brand-primary-hover);font-size:13px;font-weight:600}@media (min-width:1024px){.ca-page{margin-left:280px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}body.sidebar-collapsed .ca-page{margin-left:80px}}@media (max-width:900px){.ca-page{grid-template-columns:1fr}.ca-page .ca-side{position:static}.ca-page .ca-row-1-2,.ca-page .ca-row-2,.ca-page .ca-row-3,.ca-page .ca-row-auto{grid-template-columns:1fr}}.modal-dialog.ca-modal.at-modal .modal-content{border-radius:16px}.modal-dialog.ca-modal.at-modal .modal-body{background:var(--surface-card);overflow:visible;padding:20px 24px 8px}.modal-dialog.ca-modal.at-modal .at-intro{background:linear-gradient(135deg,var(--surface-page) 0,var(--brand-primary-subtle) 100%);border:1px solid var(--brand-primary-subtle);border-radius:10px;color:var(--text-body);font-size:13px;line-height:1.55;margin-bottom:18px;padding:11px 14px}.modal-dialog.ca-modal.at-modal .at-loading{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:8px;padding:28px 0}.modal-dialog.ca-modal.at-modal .at-results-spinner,.modal-dialog.ca-modal.at-modal .at-search-spinner,.modal-dialog.ca-modal.at-modal .at-spinner{animation:ca-spin .7s linear infinite;border:2px solid var(--border-default);border-radius:50%;border-top-color:var(--brand-primary);display:inline-block;height:14px;width:14px}.modal-dialog.ca-modal.at-modal .at-section{margin-bottom:18px;position:relative}.modal-dialog.ca-modal.at-modal .at-section:last-child{margin-bottom:6px}.modal-dialog.ca-modal.at-modal .at-section-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.modal-dialog.ca-modal.at-modal .at-section-title{align-items:center;color:var(--text-strong);display:flex;font-size:13px;font-weight:700;gap:8px;letter-spacing:-.1px}.modal-dialog.ca-modal.at-modal .at-section-icon{align-items:center;border-radius:8px;display:inline-flex;height:26px;justify-content:center;width:26px}.modal-dialog.ca-modal.at-modal .at-section-count{border-radius:999px;font-size:11px;font-weight:700;line-height:1.4;min-width:22px;padding:2px 8px;text-align:center}.modal-dialog.ca-modal.at-modal .at-clear-all{background:#0000;border:none;border-radius:6px;color:var(--text-faint);cursor:pointer;font-size:12px;font-weight:600;padding:3px 8px;transition:color .15s ease,background .15s ease}.modal-dialog.ca-modal.at-modal .at-clear-all:hover{background:var(--status-danger-bg);color:var(--status-danger)}.modal-dialog.ca-modal.at-modal .at-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.modal-dialog.ca-modal.at-modal .at-chip{align-items:center;animation:at-chip-in .18s ease-out;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:12.5px;font-weight:500;gap:4px;max-width:100%;padding:5px 5px 5px 11px;transition:transform .15s ease,box-shadow .15s ease}.modal-dialog.ca-modal.at-modal .at-chip:hover{box-shadow:0 2px 6px #0f172a14;transform:translateY(-1px)}.modal-dialog.ca-modal.at-modal .at-chip-label{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-dialog.ca-modal.at-modal .at-chip-x{align-items:center;background:#ffffff8c;border:none;border-radius:50%;cursor:pointer;display:inline-flex;height:18px;justify-content:center;padding:0;transition:background .12s ease,transform .12s ease;width:18px}.modal-dialog.ca-modal.at-modal .at-chip-x:hover{background:#fffffff2;transform:scale(1.1)}@keyframes at-chip-in{0%{opacity:0;transform:translateY(-2px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-dialog.ca-modal.at-modal .at-search{align-items:center;display:flex;position:relative}.modal-dialog.ca-modal.at-modal .at-search-icon{color:var(--text-faint);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.modal-dialog.ca-modal.at-modal .at-search-input{background:var(--surface-card);border:1px solid var(--border-default);border-radius:10px;color:var(--text-strong);font-size:13.5px;height:38px;outline:none;padding:0 36px 0 34px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.modal-dialog.ca-modal.at-modal .at-search-input::placeholder{color:var(--text-faint)}.modal-dialog.ca-modal.at-modal .at-search-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f126}.modal-dialog.ca-modal.at-modal .at-search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.modal-dialog.ca-modal.at-modal .at-search-clear{align-items:center;background:var(--surface-sunken);border:none;border-radius:50%;color:var(--text-muted);cursor:pointer;display:inline-flex;height:22px;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:22px}.modal-dialog.ca-modal.at-modal .at-search-clear:hover{background:var(--surface-sunken);color:var(--text-strong)}.modal-dialog.ca-modal.at-modal .at-results{animation:at-pop-in .13s ease-out;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 18px 44px #0f172a24;display:flex;flex-direction:column;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:30}.modal-dialog.ca-modal.at-modal .at-results-list{max-height:240px;overflow-y:auto}@keyframes at-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.modal-dialog.ca-modal.at-modal .at-results-empty{align-items:center;color:var(--text-faint);display:flex;font-size:13px;gap:8px;justify-content:center;padding:22px 14px;text-align:center}.modal-dialog.ca-modal.at-modal .at-result{align-items:center;border-left:3px solid #0000;color:var(--text-strong);cursor:pointer;display:flex;font-size:13.5px;gap:12px;justify-content:space-between;padding:9px 14px;transition:background .1s ease,border-color .1s ease;-webkit-user-select:none;user-select:none}.modal-dialog.ca-modal.at-modal .at-result-active{background:linear-gradient(90deg,var(--brand-primary-subtle) 0,var(--surface-page) 100%);border-left-color:var(--brand-primary)}.modal-dialog.ca-modal.at-modal .at-result-added{color:var(--text-faint);cursor:not-allowed}.modal-dialog.ca-modal.at-modal .at-result-added.at-result-active{background:var(--surface-page);border-left-color:var(--border-strong)}.modal-dialog.ca-modal.at-modal .at-result-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-dialog.ca-modal.at-modal .at-mark{background:#fef08a;border-radius:3px;color:inherit;font-weight:600;padding:0 2px}.modal-dialog.ca-modal.at-modal .at-result-added-pill{align-items:center;background:var(--status-success-bg);border-radius:999px;color:var(--status-success);display:inline-flex;flex-shrink:0;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.modal-dialog.ca-modal.at-modal .at-result-meta{align-items:center;color:var(--text-faint);display:inline-flex;flex-shrink:0;font-size:11.5px;gap:8px}.modal-dialog.ca-modal.at-modal .at-result-code{background:var(--surface-sunken);border-radius:4px;color:var(--text-muted);max-width:160px;overflow:hidden;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap}.modal-dialog.ca-modal.at-modal .at-result-code,.modal-dialog.ca-modal.at-modal .at-result-id{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:500}.modal-dialog.ca-modal.at-modal .at-result-id{color:var(--text-faint)}.modal-dialog.ca-modal.at-modal .at-chip-id{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:10.5px;font-weight:500;margin-left:2px;opacity:.65}.modal-dialog.ca-modal.at-modal .at-results-hint{align-items:center;background:var(--surface-page);border-top:1px solid var(--border-subtle);color:var(--text-faint);display:flex;font-size:11px;gap:4px;padding:7px 12px}.modal-dialog.ca-modal.at-modal .at-results-hint kbd{align-items:center;background:var(--surface-card);border:solid var(--border-default);border-radius:4px;border-width:1px 1px 2px;color:var(--text-body);display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Arial,sans-serif;font-size:10.5px;font-weight:600;height:18px;justify-content:center;margin:0 1px;min-width:18px;padding:0 4px}.modal-dialog.ca-modal.at-modal .at-hint-sep{color:var(--text-faint);margin:0 6px}.modal-dialog.ca-modal.at-modal .modal-footer{justify-content:space-between}.modal-dialog.ca-modal.at-modal .at-footer-summary{align-items:center;color:var(--text-muted);display:inline-flex;font-size:12.5px;font-weight:500;margin-right:auto}.outstanding-grid{color:var(--text-strong);font-size:13px}.outstanding-grid .og-quickfill{align-items:center;background:linear-gradient(135deg,var(--surface-page) 0,var(--brand-primary-subtle) 100%);border:1px solid var(--border-default);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:14px 16px}.outstanding-grid .og-quickfill-text{flex:1 1;min-width:200px}.outstanding-grid .og-quickfill-label{color:var(--text-strong);font-size:13px;font-weight:600}.outstanding-grid .og-quickfill-hint{color:var(--text-muted);font-size:11.5px;margin-top:2px}.outstanding-grid .og-quickfill-input.form-control{border:1px solid var(--border-strong);border-radius:8px;font-size:13px;text-align:right;width:160px}.outstanding-grid .og-quickfill-btn{appearance:none;background:var(--brand-primary);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:background .15s,transform .05s;white-space:nowrap}.outstanding-grid .og-quickfill-btn:hover:not(:disabled){background:var(--brand-primary-hover)}.outstanding-grid .og-quickfill-btn:active:not(:disabled){transform:translateY(1px)}.outstanding-grid .og-quickfill-btn:disabled{background:#cbd5e1;color:var(--text-faint);cursor:not-allowed}.outstanding-grid .og-installment-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:14px;box-shadow:0 1px 2px #0f172a0a,0 4px 16px #0f172a0a;margin-bottom:14px;overflow:hidden;position:relative;transition:box-shadow .2s,border-color .2s}.outstanding-grid .og-installment-card:hover{box-shadow:0 1px 2px #0f172a0f,0 8px 24px #0f172a0f}.outstanding-grid .og-installment-card:before{background:#cbd5e1;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.outstanding-grid .og-status-bar-overdue:before{background:linear-gradient(180deg,var(--status-danger),var(--status-danger))}.outstanding-grid .og-status-bar-due-today:before{background:linear-gradient(180deg,var(--status-warning),var(--status-warning))}.outstanding-grid .og-status-bar-upcoming:before{background:linear-gradient(180deg,#818cf8,var(--brand-primary))}.outstanding-grid .og-status-bar-unknown:before{background:#cbd5e1}.outstanding-grid .og-installment-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px 20px 12px 24px}.outstanding-grid .og-installment-label{align-items:center;display:flex;gap:10px}.outstanding-grid .og-installment-index{color:var(--text-strong);font-size:15px;font-weight:700;letter-spacing:.01em}.outstanding-grid .og-installment-duedate{color:var(--text-muted);font-size:12.5px;margin-top:4px}.outstanding-grid .og-installment-duedate .fa{color:var(--text-faint);margin-right:5px}.outstanding-grid .og-status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;letter-spacing:.02em;line-height:1.5;padding:3px 10px;text-transform:uppercase}.outstanding-grid .og-status-pill.og-status-overdue{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger)}.outstanding-grid .og-status-pill.og-status-due-today{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.outstanding-grid .og-status-pill.og-status-upcoming{background:var(--brand-primary-subtle);border:1px solid var(--brand-primary-subtle);color:var(--brand-primary-hover)}.outstanding-grid .og-status-pill.og-status-unknown{background:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-body)}.outstanding-grid .og-installment-amounts{align-items:center;display:flex;gap:24px}.outstanding-grid .og-amount-block{min-width:120px;text-align:right}.outstanding-grid .og-amount-label{color:var(--text-faint);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.outstanding-grid .og-amount-value{font-feature-settings:"tnum";color:var(--text-strong);font-size:16px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:2px}.outstanding-grid .og-amount-paying .og-amount-value{color:var(--brand-primary-hover)}.outstanding-grid .og-heads-wrap{overflow-x:auto}.outstanding-grid .og-heads-table{border-collapse:collapse;font-size:12.5px;width:100%}.outstanding-grid .og-heads-table thead th{background:var(--surface-page);border-bottom:1px solid var(--border-default);color:var(--text-body);font-size:11px;font-weight:600;letter-spacing:.06em;padding:10px 12px;text-transform:uppercase;white-space:nowrap}.outstanding-grid .og-heads-table th.og-th-amt,.outstanding-grid .og-heads-table th.og-th-num{text-align:right}.outstanding-grid .og-heads-table th.og-th-amt{width:140px}.outstanding-grid .og-heads-table tbody td{font-feature-settings:"tnum";border-bottom:1px solid var(--border-subtle);font-variant-numeric:tabular-nums;padding:12px 14px;vertical-align:middle}.outstanding-grid .og-heads-table tbody td.og-td-paid{line-height:1.25;padding-bottom:12px;padding-top:12px;vertical-align:top}.outstanding-grid .og-td-paid-gross{font-feature-settings:"tnum";color:var(--text-strong);font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.outstanding-grid .og-td-paid-tax-chip{font-feature-settings:"tnum";align-items:center;background:linear-gradient(135deg,var(--status-warning-bg) 0,var(--status-warning-bg) 100%);border:1px solid var(--status-warning-border);border-radius:999px;box-shadow:0 1px 2px #92400e0f;color:var(--status-warning-text);display:inline-flex;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:600;gap:4px;letter-spacing:.02em;margin-top:6px;padding:3px 9px;white-space:nowrap}.outstanding-grid .og-td-paid-tax-chip .fa{font-size:9px;opacity:.7}.outstanding-grid .og-heads-table tbody tr:last-child td{border-bottom:none}.outstanding-grid .og-heads-table tbody tr:hover td{background:var(--surface-page)}.outstanding-grid .og-td-head{color:var(--text-strong);font-weight:500;max-width:320px}.outstanding-grid .og-td-num{color:var(--text-body);text-align:right}.outstanding-grid .og-td-outstanding{color:var(--text-strong);font-weight:700}.outstanding-grid .og-td-amt{text-align:right}.outstanding-grid .og-amt-input.form-control{font-feature-settings:"tnum";border:1px solid var(--border-strong);border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;height:auto;min-width:100px;padding:6px 10px;text-align:right}.outstanding-grid .og-amt-input.form-control:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf82e}.outstanding-grid .og-readonly-amt{color:var(--text-strong);display:inline-block;font-weight:600}.outstanding-grid .og-grand-total{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:12px;color:var(--text-body);display:flex;font-size:13px;justify-content:space-between;margin-top:4px;padding:14px 20px}.outstanding-grid .og-grand-total-value{font-feature-settings:"tnum";color:var(--text-strong);font-size:17px;font-variant-numeric:tabular-nums;font-weight:700}.outstanding-grid .og-empty{background:var(--surface-page);border:1px dashed var(--border-strong);border-radius:12px;color:var(--text-body);font-size:14px;padding:32px 16px;text-align:center}.outstanding-grid .og-empty .fa{color:var(--status-success);font-size:18px;margin-right:8px}.enrollment-view-page{--ev-bg:var(--surface-page);--ev-surface:var(--surface-card);--ev-border:var(--border-default);--ev-border-strong:var(--border-default);--ev-text:var(--text-body);--ev-text-soft:var(--text-muted);--ev-text-muted:var(--text-faint);--ev-accent:var(--brand-primary);--ev-accent-2:#8b5cf6;--ev-accent-soft:var(--brand-primary-subtle);--ev-success:var(--status-success);--ev-success-soft:var(--status-success-bg);--ev-danger:var(--status-danger);--ev-danger-soft:var(--status-danger-bg);--ev-subtle:var(--surface-page);--ev-shadow:0 1px 2px #161c380f,0 6px 20px #161c3814;--ev-shadow-hover:0 8px 28px #161c3821;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--ev-bg);color:var(--ev-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px;line-height:1.5;min-height:100vh;padding:18px 20px 40px}.enrollment-view-page *,.enrollment-view-page :after,.enrollment-view-page :before{box-sizing:border-box}.enrollment-view-page .ev-layout{align-items:flex-start;display:flex;gap:18px}.enrollment-view-page .ev-main{flex:1 1;min-width:0}.enrollment-view-page .ev-sidebar{flex-shrink:0;max-height:calc(100vh - 36px);overflow-y:auto;padding-right:2px;position:sticky;scrollbar-color:var(--ev-border-strong) #0000;scrollbar-width:thin;top:18px;width:330px}.enrollment-view-page .ev-sidebar::-webkit-scrollbar{width:8px}.enrollment-view-page .ev-sidebar::-webkit-scrollbar-thumb{background:var(--ev-border-strong);border-radius:8px}.enrollment-view-page .ev-sidebar::-webkit-scrollbar-track{background:#0000}.enrollment-view-page .ev-section,.enrollment-view-page .ev-sidebar-section{background:var(--ev-surface);border:1px solid var(--ev-border);border-radius:14px;box-shadow:var(--ev-shadow);margin-bottom:14px;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}.enrollment-view-page .ev-section:hover{border-color:var(--ev-border-strong);box-shadow:var(--ev-shadow-hover)}.enrollment-view-page .ev-section-header,.enrollment-view-page .ev-sidebar-section-header{align-items:center;background:var(--surface-page);border-bottom:1px solid var(--ev-border);color:var(--ev-text);cursor:pointer;display:flex;font-weight:700;justify-content:space-between;transition:background .18s ease,color .18s ease;-webkit-user-select:none;user-select:none}.enrollment-view-page .ev-section-header{font-size:13.5px;letter-spacing:.01em;padding:13px 16px 13px 18px;position:relative}.enrollment-view-page .ev-section-header:before{background:linear-gradient(180deg,var(--ev-accent) 0,var(--ev-accent-2) 100%);bottom:0;content:"";left:0;opacity:.9;position:absolute;top:0;width:4px}.enrollment-view-page .ev-sidebar-section-header{color:var(--ev-text-soft);font-size:11px;letter-spacing:.06em;padding:11px 14px;text-transform:uppercase}.enrollment-view-page .ev-section-header:hover,.enrollment-view-page .ev-sidebar-section-header:hover{background:var(--ev-accent-soft);color:var(--ev-accent)}.enrollment-view-page .ev-section-header .fa-chevron-down,.enrollment-view-page .ev-section-header .fa-chevron-up,.enrollment-view-page .ev-sidebar-section-header .fa-chevron-down,.enrollment-view-page .ev-sidebar-section-header .fa-chevron-up{color:var(--ev-text-muted);transition:transform .2s ease,color .18s ease}.enrollment-view-page .ev-section-header:hover .fa,.enrollment-view-page .ev-sidebar-section-header:hover .fa{color:var(--ev-accent)}.enrollment-view-page .ev-sidebar-section-body{padding:12px 14px}.enrollment-view-page .ev-section-body{padding:14px 16px}.enrollment-view-page .ev-sidebar-row{border-bottom:1px solid var(--border-subtle);display:flex;font-size:12px;gap:10px;justify-content:space-between;padding:7px 0}.enrollment-view-page .ev-sidebar-row:last-child{border-bottom:none}.enrollment-view-page .ev-sidebar-label{color:var(--ev-text-muted);flex-shrink:0;font-weight:500;width:42%}.enrollment-view-page .ev-sidebar-value{color:var(--ev-text);font-weight:600;text-align:right;word-break:break-word}.enrollment-view-page .ev-action-bar{background:var(--ev-surface);border:1px solid var(--ev-border);border-radius:14px;box-shadow:var(--ev-shadow);display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px;padding:12px 14px;position:sticky;top:0;z-index:20}.enrollment-view-page .btn{border:1px solid #0000;border-radius:9px;box-shadow:0 1px 2px #161c380f;font-family:inherit;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:7px 14px;transition:transform .12s ease,box-shadow .18s ease,background .18s ease,filter .18s ease}.enrollment-view-page .btn .fa{margin-right:5px}.enrollment-view-page .btn:hover{box-shadow:0 4px 12px #161c3824;transform:translateY(-1px)}.enrollment-view-page .btn:active{transform:translateY(0)}.enrollment-view-page .btn:focus,.enrollment-view-page .btn:focus-visible{box-shadow:0 0 0 3px #6366f147;outline:none}.enrollment-view-page .btn-primary{background:linear-gradient(180deg,var(--ev-accent) 0,#4f53e8 100%);border-color:#4a4ee0;color:var(--text-on-brand)}.enrollment-view-page .btn-primary:hover{filter:brightness(1.05)}.enrollment-view-page .btn-secondary{background:var(--surface-card);border-color:var(--ev-border-strong);color:var(--ev-text-soft)}.enrollment-view-page .btn-secondary:hover{background:var(--ev-accent-soft);border-color:var(--ev-accent);color:var(--ev-accent)}.enrollment-view-page .btn-danger{background:linear-gradient(180deg,#ef4d63 0,var(--ev-danger) 100%);border-color:#d62a42;color:var(--text-on-brand)}.enrollment-view-page .btn-sm{font-size:12px;padding:6px 12px}.enrollment-view-page .btn.disabled,.enrollment-view-page .btn:disabled{box-shadow:none;opacity:.55;transform:none}.enrollment-view-page table{border-collapse:initial;border-spacing:0;font-family:inherit;width:100%}.enrollment-view-page .table{border:1px solid var(--ev-border);border-radius:10px;overflow:hidden}.enrollment-view-page .table thead th{background:var(--ev-subtle);border-bottom:1px solid var(--ev-border-strong)!important;border-top:none!important;color:var(--ev-text-soft);font-size:11px;font-weight:700;letter-spacing:.045em;padding:9px 12px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.enrollment-view-page .table tbody td{border-top:1px solid var(--border-subtle)!important;color:var(--ev-text);padding:9px 12px;vertical-align:middle}.enrollment-view-page .table tbody tr{transition:background .14s ease}.enrollment-view-page .table-hover tbody tr:hover>td{background:var(--ev-accent-soft)}.enrollment-view-page .table td[style*=right],.enrollment-view-page .table th[style*=right]{font-feature-settings:"tnum" 1,"tnum";font-variant-numeric:tabular-nums}.enrollment-view-page .table.table-bordered,.enrollment-view-page .table.table-bordered td,.enrollment-view-page .table.table-bordered th{border-color:var(--ev-border)!important}.enrollment-view-page .ev-plan-total-row>td{font-feature-settings:"tnum";background:var(--ev-subtle)!important;border-top:2px solid var(--ev-border-strong)!important;color:var(--ev-text);font-variant-numeric:tabular-nums;font-weight:800}.enrollment-view-page .ev-plan-total-row>td:first-child{font-size:11px;letter-spacing:.04em;text-transform:uppercase}.enrollment-view-page .ev-section-header-right{align-items:center;display:flex;gap:12px}.enrollment-view-page .ev-section-header-actions{align-items:center;display:flex;gap:6px}.enrollment-view-page .ev-calc-btn{font-size:13px;line-height:1;padding:4px 10px}.enrollment-view-page .ev-calc-btn .fa{margin-right:0}.ev-modal.modal-content{border:none;border-radius:16px;box-shadow:0 24px 64px #161c3847;color:var(--text-body);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}.ev-modal .modal-header{background:var(--surface-page);border-bottom:1px solid var(--border-subtle);padding:15px 20px}.ev-modal .modal-title{color:var(--text-body);font-size:16px;font-weight:800;letter-spacing:-.01em}.ev-modal .modal-header .btn-close{opacity:.55;transition:opacity .15s ease}.ev-modal .modal-header .btn-close:hover{opacity:1}.ev-modal .modal-body{font-size:13px;padding:18px 20px}.ev-modal .modal-footer{border-top:1px solid var(--border-subtle);gap:8px;padding:12px 20px}.ev-modal .form-label{color:var(--text-muted);font-size:12px;font-weight:600;margin-bottom:5px}.ev-modal .form-control,.ev-modal .form-select{background-color:var(--surface-card);border:1px solid var(--border-default);border-radius:9px;box-shadow:none;color:var(--text-body);font-size:13px;padding:8px 11px;transition:border-color .15s ease,box-shadow .15s ease;width:100%!important}.ev-modal .form-select{background-position:right 11px center;cursor:pointer}.ev-modal .form-control:focus,.ev-modal .form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f12e;outline:none}.ev-modal .form-control::placeholder{color:var(--text-faint)}.ev-modal textarea.form-control{min-height:62px;resize:vertical}.ev-modal .alert{border-radius:9px;font-size:12px;padding:8px 12px}.ev-modal .btn{border:1px solid #0000;border-radius:9px;box-shadow:0 1px 2px #161c380f;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;transition:transform .12s ease,box-shadow .18s ease,background .18s ease,filter .18s ease}.ev-modal .btn:hover{box-shadow:0 4px 12px #161c3824;transform:translateY(-1px)}.ev-modal .btn:active{transform:translateY(0)}.ev-modal .btn:focus,.ev-modal .btn:focus-visible{box-shadow:0 0 0 3px #6366f147;outline:none}.ev-modal .btn-sm{font-size:12.5px;padding:7px 14px}.ev-modal .btn-primary{background:linear-gradient(180deg,var(--brand-primary) 0,#4f53e8 100%);border-color:#4a4ee0;color:var(--text-on-brand)}.ev-modal .btn-primary:hover{filter:brightness(1.05)}.ev-modal .btn-secondary{background:var(--surface-card);border-color:var(--border-default);color:var(--text-muted)}.ev-modal .btn-secondary:hover{background:var(--brand-primary-subtle);border-color:var(--brand-primary);color:var(--brand-primary)}.ev-modal .btn.disabled,.ev-modal .btn:disabled{box-shadow:none;opacity:.55;transform:none}.ev-modal .form-check{align-items:center;display:flex;gap:8px;margin:0;min-height:auto}.ev-modal .form-check-input{border:1px solid var(--border-default);cursor:pointer;height:16px;margin:0;width:16px}.ev-modal .form-check-input:checked{background-color:var(--brand-primary);border-color:var(--brand-primary)}.ev-modal .form-check-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #6366f12e}.ev-modal .form-check-label{color:var(--text-body);cursor:pointer;font-size:13px;font-weight:600}.ev-modal .table{border:1px solid var(--border-default);border-collapse:initial;border-radius:10px;border-spacing:0;margin-bottom:0;overflow:hidden}.ev-modal .table thead th{background:var(--surface-page);border-bottom:1px solid var(--border-default)!important;border-top:none!important;color:var(--text-muted);font-size:10.5px;font-weight:700;letter-spacing:.045em;padding:9px 12px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.ev-modal .table tbody td{font-feature-settings:"tnum";border-top:1px solid var(--border-subtle)!important;color:var(--text-body);font-variant-numeric:tabular-nums;padding:8px 12px;vertical-align:middle}.ev-modal .table.table-bordered td,.ev-modal .table.table-bordered th{border-color:var(--border-subtle)!important}.ev-modal .table-hover tbody tr:hover>td{background:var(--brand-primary-subtle)}.ev-modal .table tfoot .ev-plan-total-row>td{font-feature-settings:"tnum";background:var(--surface-page)!important;border-top:2px solid var(--border-default)!important;color:var(--text-body);font-variant-numeric:tabular-nums;font-weight:800}.ev-gst-result{border-top:1px solid var(--border-default);margin-top:14px;padding-top:12px}.ev-gst-result-row{align-items:baseline;display:flex;font-size:13px;justify-content:space-between;padding:5px 0}.ev-gst-result-row:not(:last-child){border-bottom:1px solid var(--border-subtle)}.ev-gst-result-label{color:var(--text-muted);font-weight:500}.ev-gst-result-value{font-feature-settings:"tnum";color:var(--text-body);font-variant-numeric:tabular-nums;font-weight:700}.ev-gst-result-row:first-child .ev-gst-result-label,.ev-gst-result-row:first-child .ev-gst-result-value{color:var(--brand-primary);font-weight:800}.enrollment-view-page .ev-plan-summary{grid-gap:8px 14px;background:var(--ev-subtle);border:1px solid var(--ev-border);border-radius:10px;display:grid;gap:8px 14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:6px;padding:12px 14px}.enrollment-view-page .ev-plan-summary-row{align-items:baseline;display:flex;font-size:12.5px;gap:10px;justify-content:space-between}.enrollment-view-page .ev-plan-summary-label{color:var(--ev-text-soft);font-weight:500}.enrollment-view-page .ev-plan-summary-value{font-feature-settings:"tnum";color:var(--ev-text);font-variant-numeric:tabular-nums;font-weight:700}.enrollment-view-page .ev-plan-summary-total .ev-plan-summary-label,.enrollment-view-page .ev-plan-summary-total .ev-plan-summary-value{font-size:13px;font-weight:800}.enrollment-view-page .ev-status-badge{align-items:center;border-radius:999px;box-shadow:inset 0 0 0 1px #0000000a;display:inline-flex;font-size:10.5px;font-weight:700;letter-spacing:.03em;line-height:1.4;padding:3px 11px;text-transform:uppercase}.enrollment-view-page .ev-status-enrolled{background:var(--ev-success-soft);color:var(--ev-success)}.enrollment-view-page .ev-status-default{background:var(--ev-accent-soft);color:var(--ev-accent)}.enrollment-view-page .ev-reversed-row{background:var(--ev-danger-soft)!important}.enrollment-view-page .ev-reversed-row>td{color:var(--status-danger-text)!important}.enrollment-view-page .ev-expand-cell{cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;width:34px}.enrollment-view-page .ev-expand-btn{background:#0000;border:none;border-radius:6px;color:var(--ev-text-muted);line-height:1;padding:2px 5px;transition:color .15s ease,background .15s ease}.enrollment-view-page .ev-expand-btn:hover{background:var(--ev-accent-soft);color:var(--ev-accent)}.enrollment-view-page tr.ev-parent-row>td{cursor:pointer}.enrollment-view-page tr.ev-detail-row>td{background:var(--ev-subtle)!important;padding:10px 16px 12px 44px!important}.enrollment-view-page .ev-reversed-row+tr.ev-detail-row>td{background:var(--ev-danger-soft)!important}.enrollment-view-page .ev-detail-line{align-items:baseline;color:var(--ev-text-soft);display:flex;font-size:12px;gap:10px;padding:2px 0}.enrollment-view-page .ev-detail-line .ev-detail-inst{color:var(--ev-text);font-weight:700;min-width:78px}.enrollment-view-page .ev-detail-line .ev-detail-head{flex:1 1}.enrollment-view-page .ev-detail-line .ev-detail-amt{font-feature-settings:"tnum";color:var(--ev-text);font-variant-numeric:tabular-nums;font-weight:600}.enrollment-view-page .ev-detail-meta{border-top:1px dashed var(--ev-border-strong);color:var(--ev-text-muted);font-size:11px;margin-top:7px;padding-top:6px}.enrollment-view-page .ev-detail-meta b{color:var(--ev-text-soft);font-weight:600}.enrollment-view-page .ev-loading{align-items:center;color:var(--ev-text-muted);display:flex;font-size:13px;gap:8px;justify-content:center;padding:26px}.enrollment-view-page .ev-loading .fa-spinner{color:var(--ev-accent);margin-right:8px}.enrollment-view-page .ev-empty{color:var(--ev-text-muted);font-size:12.5px;font-style:italic;padding:22px 16px;text-align:center}.enrollment-view-page .ev-banner{background:linear-gradient(135deg,#312e4d,#4a3a5e);border-radius:12px;box-shadow:0 4px 16px #312e4d38;color:var(--text-on-brand);font-size:12.5px;font-weight:500;letter-spacing:.01em;margin-bottom:14px;padding:11px 18px}.enrollment-view-page .ev-identity{align-items:center;background:var(--ev-accent-soft);border-bottom:1px solid var(--ev-border);display:flex;gap:13px;padding:16px 14px}.enrollment-view-page .ev-photo{border:2px solid var(--surface-card);border-radius:50%;box-shadow:0 0 0 2px var(--ev-accent),0 4px 10px #6366f140;height:58px;object-fit:cover;width:58px}.enrollment-view-page .ev-photo-placeholder{align-items:center;background:linear-gradient(135deg,var(--ev-accent) 0,var(--ev-accent-2) 100%);border-radius:50%;box-shadow:0 4px 10px #6366f14d;color:var(--text-on-brand);display:flex;flex-shrink:0;font-size:24px;height:58px;justify-content:center;width:58px}.enrollment-view-page .ev-identity-info{flex:1 1;min-width:0}.enrollment-view-page .ev-identity-name{color:var(--ev-text);font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.25}.enrollment-view-page .ev-identity-code{color:var(--ev-text-muted);font-size:11.5px;font-weight:500;margin-top:1px}.enrollment-view-page .ev-identity-code .ev-student-code-highlight{background:#6366f11f;background:var(--brand-primary-soft,#6366f11f);border-radius:4px;color:var(--brand-primary);font-weight:700;letter-spacing:.02em;padding:1px 6px}.enrollment-view-page .ev-identity-info .ev-status-badge{display:inline-flex;margin-top:6px}.enrollment-view-page .ev-copy-icon{color:var(--ev-text-muted);cursor:pointer;font-size:11px;margin-left:7px;opacity:.7;transition:color .15s ease,opacity .15s ease,transform .1s ease;vertical-align:initial}.enrollment-view-page .ev-identity-name .ev-copy-icon{font-size:12px}.enrollment-view-page .ev-copy-icon:hover{color:var(--ev-accent);opacity:1}.enrollment-view-page .ev-copy-icon:active{transform:scale(.9)}.enrollment-view-page .ev-copy-icon.fa-check{color:var(--ev-success);opacity:1}@media (max-width:1100px){.enrollment-view-page .ev-layout{flex-direction:column}.enrollment-view-page .ev-sidebar{max-height:none;position:static;width:100%}}.voila-board-page{padding:20px}.voila-board-page .board-list-container{margin-top:16px}.voila-board-page .board-card{align-items:center;border:1px solid var(--border-default);border-radius:8px;cursor:pointer;display:flex;gap:16px;margin-bottom:12px;padding:16px;transition:box-shadow .2s}.voila-board-page .board-card:hover{box-shadow:0 2px 8px #0000001f}.voila-board-page .board-card-cover{background:var(--surface-sunken);border-radius:8px;flex-shrink:0;height:80px;object-fit:cover;width:80px}.voila-board-page .board-card-cover-placeholder{align-items:center;background:var(--gradient-brand);border-radius:8px;color:var(--text-on-brand);display:flex;flex-shrink:0;font-size:28px;height:80px;justify-content:center;width:80px}.voila-board-page .board-card-info{flex:1 1}.voila-board-page .board-card-info h5{margin:0 0 4px}.voila-board-page .board-card-info p{color:var(--text-muted);font-size:14px;margin:0}.voila-board-page .board-card-meta{color:var(--text-faint);font-size:12px;margin-top:4px}.voila-board-page .timeline-container{margin-top:16px}.voila-board-page .timeline-item{align-items:flex-start;background:var(--surface-card);border:1px solid var(--border-default);border-radius:8px;display:flex;gap:12px;margin-bottom:10px;padding:12px 16px}.voila-board-page .timeline-item.pinned{border-left:4px solid var(--status-warning)}.voila-board-page .timeline-item-type{align-items:center;border-radius:50%;color:var(--text-on-brand);display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;width:36px}.voila-board-page .timeline-item-type.photo{background:var(--status-success)}.voila-board-page .timeline-item-type.video{background:var(--status-danger)}.voila-board-page .timeline-item-type.youtube{background:red}.voila-board-page .timeline-item-type.pdf{background:#fd7e14}.voila-board-page .timeline-item-type.article{background:#6f42c1}.voila-board-page .timeline-item-type.text{background:var(--status-info)}.voila-board-page .timeline-item-type.badge{background:var(--status-warning);color:var(--text-strong)}.voila-board-page .timeline-item-type.achievement{background:#e83e8c}.voila-board-page .timeline-item-type.milestone{background:#20c997}.voila-board-page .timeline-item-type.certificate{background:var(--brand-primary)}.voila-board-page .timeline-item-body{flex:1 1;min-width:0}.voila-board-page .timeline-item-body h6{margin:0 0 2px}.voila-board-page .timeline-item-body .item-desc{color:var(--text-muted);font-size:13px;margin:0}.voila-board-page .timeline-item-body .item-date{color:var(--text-faint);font-size:12px}.voila-board-page .timeline-item-actions{display:flex;flex-shrink:0;gap:4px}.voila-board-page .share-link-box{align-items:center;background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;display:flex;font-size:13px;gap:8px;margin-top:12px;padding:10px 14px;word-break:break-all}.photo-gallery-page{padding:20px}.photo-gallery-page .album-cards-grid-admin{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.photo-gallery-page .album-card-admin{background:var(--surface-card);border-radius:12px;box-shadow:0 1px 6px #00000014;overflow:hidden;transition:box-shadow .2s,transform .15s}.photo-gallery-page .album-card-admin:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.photo-gallery-page .album-card-cover-area{cursor:pointer;position:relative}.photo-gallery-page .album-card-cover-img{display:block;height:180px;object-fit:cover;width:100%}.photo-gallery-page .album-card-cover-empty{align-items:center;background:linear-gradient(135deg,#f0f2f5,#e4e7eb);color:#c4c9cf;display:flex;font-size:48px;height:180px;justify-content:center;width:100%}.photo-gallery-page .album-card-photo-count{background:#0000008c;border-radius:10px;bottom:8px;color:var(--text-on-brand);font-size:11px;padding:2px 8px;position:absolute;right:10px}.photo-gallery-page .album-card-info{padding:14px 16px 12px}.photo-gallery-page .album-card-title{color:var(--text-strong);cursor:pointer;font-size:15px;font-weight:600;margin-bottom:2px}.photo-gallery-page .album-card-title:hover{color:var(--brand-primary)}.photo-gallery-page .album-card-date{color:#868e96;font-size:12px;margin-bottom:10px}.photo-gallery-page .album-card-actions{align-items:center;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;margin-top:4px;padding-top:10px}.photo-gallery-page .upload-zone{background:var(--surface-page);border:2px dashed #c4c9cf;border-radius:12px;cursor:pointer;padding:40px 20px;text-align:center;transition:border-color .2s,background .2s}.photo-gallery-page .upload-zone.drag-over,.photo-gallery-page .upload-zone:hover{background:#e7f1ff;border-color:var(--brand-primary)}.photo-gallery-page .upload-zone input[type=file]{display:none}.photo-gallery-page .photo-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.photo-gallery-page .photo-grid-item{background:var(--surface-sunken);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative}.photo-gallery-page .photo-grid-item .photo-img-wrapper{aspect-ratio:1;overflow:hidden;position:relative}.photo-gallery-page .photo-grid-item img{display:block;height:100%;object-fit:cover;transition:transform .15s;width:100%}.photo-gallery-page .photo-grid-item:hover img{transform:scale(1.03)}.photo-gallery-page .photo-grid-item .photo-checkbox{cursor:pointer;height:22px;left:8px;position:absolute;top:8px;width:22px;z-index:2}.photo-gallery-page .photo-grid-item.selected{outline:3px solid var(--brand-primary)}.photo-gallery-page .photo-grid-item .photo-delete-btn{align-items:center;background:#dc3545cc;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;opacity:0;position:absolute;right:6px;top:6px;transition:opacity .15s;width:24px;z-index:2}.photo-gallery-page .photo-grid-item:hover .photo-delete-btn{opacity:1}.photo-gallery-page .photo-tag-badge{align-items:center;background:#0009;border:none;border-radius:10px;bottom:6px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:11px;gap:4px;left:6px;padding:2px 8px;position:absolute;z-index:2}.photo-gallery-page .photo-tag-badge:hover{background:#000c}.photo-gallery-page .photo-tag-popover{background:var(--surface-card);border-radius:0 0 8px 8px;bottom:0;box-shadow:0 -2px 12px #00000026;left:0;max-height:70%;overflow-y:auto;position:absolute;right:0;z-index:5}.photo-gallery-page .photo-tag-popover-header{align-items:center;border-bottom:1px solid var(--border-subtle);color:var(--text-body);display:flex;font-size:11px;font-weight:600;justify-content:space-between;padding:6px 10px 4px}.photo-gallery-page .photo-tag-popover-header button{background:none;border:none;color:#868e96;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.photo-gallery-page .photo-tag-popover-item{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;font-size:12px;gap:6px;padding:5px 10px}.photo-gallery-page .photo-tag-type-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.photo-gallery-page .photo-tag-popover-label{flex:1 1;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis}.photo-gallery-page .photo-tag-remove-btn{background:none;border:none;color:var(--status-danger);cursor:pointer;flex-shrink:0;font-size:12px;font-weight:700;opacity:.6;padding:0 2px}.photo-gallery-page .photo-tag-remove-btn:hover{opacity:1}.photo-gallery-page .photo-caption-area{background:var(--surface-card);cursor:text;padding:4px 6px}.photo-gallery-page .photo-caption-text{color:var(--text-body);font-size:11px;line-height:1.3;min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-gallery-page .photo-caption-input{border:1px solid var(--brand-primary);border-radius:3px;font-size:11px;outline:none;padding:2px 4px;width:100%}.photo-gallery-page .upload-progress{margin-top:16px}.photo-gallery-page .upload-progress-item{align-items:center;display:flex;font-size:13px;gap:10px;margin-bottom:6px}.photo-gallery-page .upload-progress-item .progress{flex:1 1;height:8px}.photo-gallery-page .tagging-panel{background:var(--surface-page);border:1px solid var(--border-default);border-radius:10px;margin-top:16px;padding:16px}.photo-gallery-page .tagging-panel h6{color:var(--text-body);font-size:14px;margin-bottom:12px}.photo-gallery-page .tagging-panel .form-label{display:block;margin-bottom:4px}.photo-gallery-page .tag-chip{align-items:center;background:var(--surface-sunken);border-radius:16px;color:var(--text-body);display:inline-flex;font-size:12px;gap:4px;margin:2px 4px 2px 0;padding:3px 10px}.photo-gallery-page .tag-chip .remove-tag{color:var(--status-danger);cursor:pointer;font-weight:700;margin-left:4px}.photo-gallery-page .lightbox-overlay{align-items:center;background:#000000eb;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.photo-gallery-page .lightbox-overlay img{max-height:90vh;max-width:90vw;object-fit:contain}.photo-gallery-page .lightbox-close{background:none;border:none;color:#fff;cursor:pointer;font-size:32px;position:absolute;right:24px;top:16px;z-index:10000}.assignments-page{padding:20px}.assignments-page .assignments-table th{border-bottom:2px solid var(--border-default);color:var(--text-body);font-size:13px;font-weight:600}.assignments-page .assignments-table td{font-size:14px;vertical-align:middle}.assignments-page .table-responsive{overflow:visible}.assignments-page .form-drawer .offcanvas-body{padding:20px}.assignments-page .question-builder-item{background:var(--surface-page);border:1px solid var(--border-default);border-radius:6px;margin-bottom:10px;padding:12px}.assignments-page .question-builder-item:hover{background:#f0f4f8}.assignments-page .resource-picker-item{align-items:center;background:var(--surface-card);border:1px solid var(--border-default);border-radius:4px;display:flex;gap:8px;margin-bottom:6px;padding:6px 10px}.assignments-page .resource-picker-item .remove-btn{color:var(--status-danger);cursor:pointer;font-size:16px;margin-left:auto}

/*!
 * Bootstrap v4.6.2 (https://getbootstrap.com/)
 * Copyright 2011-2022 The Bootstrap Authors
 * Copyright 2011-2022 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{background-color:#fff;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;text-align:left}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;margin-top:0}p{margin-bottom:1rem;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}a{background-color:initial;color:#007bff;text-decoration:none}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{-ms-overflow-style:scrollbar;margin-bottom:1rem;margin-top:0;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{caption-side:bottom;color:#6c757d;padding-bottom:.75rem;padding-top:.75rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{border:0;border-top:1px solid #0000001a;margin-bottom:1rem;margin-top:1rem}.small,small{font-size:.875em;font-weight:400}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote-footer{color:#6c757d;display:block;font-size:.875em}.blockquote-footer:before{content:"\2014\00A0"}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#6c757d;font-size:90%}code{word-wrap:break-word;color:#e83e8c;font-size:87.5%}a>code{color:inherit}kbd{background-color:#212529;border-radius:.2rem;color:#fff;font-size:87.5%;padding:.2rem .4rem}kbd kbd{font-size:100%;font-weight:700;padding:0}pre{color:#212529;display:block;font-size:87.5%}pre code{color:inherit;font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{flex:0 0 auto;max-width:100%;width:auto}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-2{flex:0 0 16.666667%;max-width:16.666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333333%;max-width:33.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{flex:0 0 auto;max-width:100%;width:auto}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{flex:0 0 auto;max-width:100%;width:auto}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{flex:0 0 auto;max-width:100%;width:auto}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{flex:0 0 auto;max-width:100%;width:auto}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{color:#212529;margin-bottom:1rem;width:100%}.table td,.table th{border-top:1px solid #dee2e6;padding:.75rem;vertical-align:top}.table thead th{border-bottom:2px solid #dee2e6;vertical-align:bottom}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);color:#212529}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{background-color:#343a40;border-color:#454d55;color:#fff}.table .thead-light th{background-color:#e9ecef;border-color:#dee2e6;color:#495057}.table-dark{background-color:#343a40;color:#fff}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:#ffffff0d}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075);color:#fff}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive>.table-bordered{border:0}.form-control{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:initial;border:0}.form-control:focus{background-color:#fff;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;color:#495057;outline:0}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{appearance:none}select.form-control:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{background-color:#fff;color:#495057}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.25rem;line-height:1.5;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.875rem;line-height:1.5;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-control-plaintext{background-color:initial;border:solid #0000;border-width:1px 0;color:#212529;display:block;font-size:1rem;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{border-radius:.2rem;font-size:.875rem;height:calc(1.5em + .5rem + 2px);line-height:1.5;padding:.25rem .5rem}.form-control-lg{border-radius:.3rem;font-size:1.25rem;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem 1rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{display:block;padding-left:1.25rem;position:relative}.form-check-input{margin-left:-1.25rem;margin-top:.3rem;position:absolute}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{align-items:center;display:inline-flex;margin-right:.75rem;padding-left:0}.form-check-inline .form-check-input{margin-left:0;margin-right:.3125rem;margin-top:0;position:static}.valid-feedback{color:#28a745;display:none;font-size:.875em;margin-top:.25rem;width:100%}.valid-tooltip{background-color:#28a745e6;border-radius:.25rem;color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#28a745;padding-right:calc(1.5em + .75rem)!important}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.was-validated select.form-control:valid,select.form-control.is-valid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-valid,.was-validated .custom-select:valid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#34ce57;border-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #28a74540}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.invalid-feedback{color:#dc3545;display:none;font-size:.875em;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:#dc3545e6;border-radius:.25rem;color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.was-validated select.form-control:invalid,select.form-control.is-invalid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e4606d;border-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #dc354540}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-inline{align-items:center;display:flex;flex-flow:row wrap}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{align-items:center;display:flex;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{align-items:center;display:flex;justify-content:center;padding-left:0;width:auto}.form-inline .form-check-input{flex-shrink:0;margin-left:0;margin-right:.25rem;margin-top:0;position:relative}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{background-color:initial;border:1px solid #0000;border-radius:.25rem;color:#212529;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem #268fff80}.btn-primary.disabled,.btn-primary:disabled{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#0062cc;border-color:#005cbf;color:#fff}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #268fff80}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem #828a9180}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #828a9180}.btn-success{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem #48b46180}.btn-success.disabled,.btn-success:disabled{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#1e7e34;border-color:#1c7430;color:#fff}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #48b46180}.btn-info{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem #3ab0c380}.btn-info.disabled,.btn-info:disabled{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#117a8b;border-color:#10707f;color:#fff}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #3ab0c380}.btn-warning{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem #deaa0c80}.btn-warning.disabled,.btn-warning:disabled{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#d39e00;border-color:#c69500;color:#212529}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #deaa0c80}.btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem #e1536180}.btn-danger.disabled,.btn-danger:disabled{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#bd2130;border-color:#b21f2d;color:#fff}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #e1536180}.btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-dark{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem #52585d80}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #52585d80}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary:hover{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem #007bff80}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:initial;color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{background-color:#007bff;border-color:#007bff;color:#fff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #007bff80}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:initial;color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-outline-success{border-color:#28a745;color:#28a745}.btn-outline-success:hover{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem #28a74580}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:initial;color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{background-color:#28a745;border-color:#28a745;color:#fff}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #28a74580}.btn-outline-info{border-color:#17a2b8;color:#17a2b8}.btn-outline-info:hover{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem #17a2b880}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:initial;color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #17a2b880}.btn-outline-warning{border-color:#ffc107;color:#ffc107}.btn-outline-warning:hover{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem #ffc10780}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:initial;color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ffc10780}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger:hover{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem #dc354580}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:initial;color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #dc354580}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:initial;color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-dark{border-color:#343a40;color:#343a40}.btn-outline-dark:hover{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem #343a4080}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:initial;color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #343a4080}.btn-link{color:#007bff;font-weight:400;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;position:relative;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{height:auto;transition:width .35s ease;width:0}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid #0000;border-right:.3em solid #0000;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #00000026;border-radius:.25rem;color:#212529;display:none;float:left;font-size:1rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}@media (min-width:576px){.dropdown-menu-sm-left{left:0;right:auto}.dropdown-menu-sm-right{left:auto;right:0}}@media (min-width:768px){.dropdown-menu-md-left{left:0;right:auto}.dropdown-menu-md-right{left:auto;right:0}}@media (min-width:992px){.dropdown-menu-lg-left{left:0;right:auto}.dropdown-menu-lg-right{left:auto;right:0}}@media (min-width:1200px){.dropdown-menu-xl-left{left:0;right:auto}.dropdown-menu-xl-right{left:auto;right:0}}.dropup .dropdown-menu{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid #0000;border-right:.3em solid #0000;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}.dropright .dropdown-toggle:after{border-bottom:.3em solid #0000;border-left:.3em solid;border-right:0;border-top:.3em solid #0000;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}.dropleft .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:before{border-bottom:.3em solid #0000;border-right:.3em solid;border-top:.3em solid #0000;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{bottom:auto;right:auto}.dropdown-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden}.dropdown-item{background-color:initial;border:0;clear:both;color:#212529;display:block;font-weight:400;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:#e9ecef;color:#16181b;text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:#007bff;color:#fff;text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:initial;color:#adb5bd;pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:#6c757d;display:block;font-size:.875rem;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-item-text{color:#212529;display:block;padding:.25rem 1.5rem}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{flex:1 1 auto;margin-bottom:0;min-width:0;position:relative;width:1%}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group>.custom-file{align-items:center;display:flex}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-bottom-left-radius:0;border-top-left-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label:after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3),.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label:after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:flex;font-size:1rem;font-weight:400;line-height:1.5;margin-bottom:0;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-bottom-left-radius:0;border-top-left-radius:0}.custom-control{display:block;min-height:1.5rem;padding-left:1.5rem;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;z-index:1}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{height:1.25rem;left:0;opacity:0;position:absolute;width:1rem;z-index:-1}.custom-control-input:checked~.custom-control-label:before{background-color:#007bff;border-color:#007bff;color:#fff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #007bff40}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{background-color:#b3d7ff;border-color:#b3d7ff;color:#fff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{margin-bottom:0;position:relative;vertical-align:top}.custom-control-label:before{background-color:#fff;border:1px solid #adb5bd;pointer-events:none}.custom-control-label:after,.custom-control-label:before{content:"";display:block;height:1rem;left:-1.5rem;position:absolute;top:.25rem;width:1rem}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#007bff;border-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:#007bff80}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#007bff80}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{border-radius:.5rem;left:-2.25rem;pointer-events:all;width:1.75rem}.custom-switch .custom-control-label:after{background-color:#adb5bd;border-radius:.5rem;height:calc(1rem - 4px);left:calc(-2.25rem + 2px);top:calc(.25rem + 2px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:calc(1rem - 4px)}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#007bff80}.custom-select{appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:inline-block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem 1.75rem .375rem .75rem;vertical-align:middle;width:100%}.custom-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;outline:0}.custom-select:focus::-ms-value{background-color:#fff;color:#495057}.custom-select[multiple],.custom-select[size]:not([size="1"]){background-image:none;height:auto;padding-right:.75rem}.custom-select:disabled{background-color:#e9ecef;color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.custom-select-sm{font-size:.875rem;height:calc(1.5em + .5rem + 2px);padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.custom-select-lg{font-size:1.25rem;height:calc(1.5em + 1rem + 2px);padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{height:calc(1.5em + .75rem + 2px);position:relative;width:100%}.custom-file-input{margin:0;opacity:0;overflow:hidden;z-index:2}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;font-weight:400;height:calc(1.5em + .75rem + 2px);left:0;overflow:hidden;z-index:1}.custom-file-label,.custom-file-label:after{color:#495057;line-height:1.5;padding:.375rem .75rem;position:absolute;right:0;top:0}.custom-file-label:after{background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0;bottom:0;content:"Browse";display:block;height:calc(1.5em + .75rem);z-index:3}.custom-range{appearance:none;background-color:initial;height:1.4rem;padding:0;width:100%}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-moz-range-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-left:.2rem;margin-right:.2rem;margin-top:0;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{background-color:initial;border-color:#0000;border-width:.5rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;cursor:default;pointer-events:none}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{background-color:initial;border:1px solid #0000;border-top-left-radius:.25rem;border-top-right-radius:.25rem;margin-bottom:-1px}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{background-color:initial;border-color:#0000;color:#6c757d}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#fff;border-color:#dee2e6 #dee2e6 #fff;color:#495057}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.nav-pills .nav-link{background:none;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#007bff;color:#fff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{padding:.5rem 1rem;position:relative}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{display:inline-block;font-size:1.25rem;line-height:inherit;margin-right:1rem;padding-bottom:.3125rem;padding-top:.3125rem;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link{padding-left:0;padding-right:0}.navbar-nav .dropdown-menu{float:none;position:static}.navbar-text{display:inline-block;padding-bottom:.5rem;padding-top:.5rem}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:initial;border:1px solid #0000;border-radius:.25rem;font-size:1.25rem;line-height:1;padding:.25rem .75rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{background:50%/100% 100% no-repeat;content:"";display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:#000000e6}.navbar-light .navbar-nav .nav-link{color:#00000080}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:#000000e6}.navbar-light .navbar-toggler{border-color:#0000001a;color:#00000080}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:#00000080}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#000000e6}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:#ffffff80}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{border-color:#ffffff1a;color:#ffffff80}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:#ffffff80}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{word-wrap:break-word;background-clip:initial;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;display:flex;flex-direction:column;min-width:0;position:relative}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);border-top-width:0}.card>.list-group:last-child{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{background-color:#00000008;border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0;padding:.75rem 1.25rem}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{background-color:#00000008;border-top:1px solid rgba(0,0,0,.125);padding:.75rem 1.25rem}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{border-radius:calc(.25rem - 1px);bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{flex:1 0;margin-bottom:0;margin-left:15px;margin-right:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{background-color:#e9ecef;border-radius:.25rem;display:flex;flex-wrap:wrap;list-style:none;margin-bottom:1rem;padding:.75rem 1rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{color:#6c757d;content:"/";float:left;padding-right:.5rem}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{border-radius:.25rem;display:flex;list-style:none;padding-left:0}.page-link{background-color:#fff;border:1px solid #dee2e6;color:#007bff;display:block;line-height:1.25;margin-left:-1px;padding:.5rem .75rem;position:relative}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6;color:#0056b3;text-decoration:none;z-index:2}.page-link:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0;z-index:3}.page-item:first-child .page-link{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem;margin-left:0}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{background-color:#007bff;border-color:#007bff;color:#fff;z-index:3}.page-item.disabled .page-link{background-color:#fff;border-color:#dee2e6;color:#6c757d;cursor:auto;pointer-events:none}.pagination-lg .page-link{font-size:1.25rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{border-radius:.25rem;display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .4em;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:initial;white-space:nowrap}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}.badge-primary{background-color:#007bff;color:#fff}a.badge-primary:focus,a.badge-primary:hover{background-color:#0062cc;color:#fff}a.badge-primary.focus,a.badge-primary:focus{box-shadow:0 0 0 .2rem #007bff80;outline:0}.badge-secondary{background-color:#6c757d;color:#fff}a.badge-secondary:focus,a.badge-secondary:hover{background-color:#545b62;color:#fff}a.badge-secondary.focus,a.badge-secondary:focus{box-shadow:0 0 0 .2rem #6c757d80;outline:0}.badge-success{background-color:#28a745;color:#fff}a.badge-success:focus,a.badge-success:hover{background-color:#1e7e34;color:#fff}a.badge-success.focus,a.badge-success:focus{box-shadow:0 0 0 .2rem #28a74580;outline:0}.badge-info{background-color:#17a2b8;color:#fff}a.badge-info:focus,a.badge-info:hover{background-color:#117a8b;color:#fff}a.badge-info.focus,a.badge-info:focus{box-shadow:0 0 0 .2rem #17a2b880;outline:0}.badge-warning{background-color:#ffc107;color:#212529}a.badge-warning:focus,a.badge-warning:hover{background-color:#d39e00;color:#212529}a.badge-warning.focus,a.badge-warning:focus{box-shadow:0 0 0 .2rem #ffc10780;outline:0}.badge-danger{background-color:#dc3545;color:#fff}a.badge-danger:focus,a.badge-danger:hover{background-color:#bd2130;color:#fff}a.badge-danger.focus,a.badge-danger:focus{box-shadow:0 0 0 .2rem #dc354580;outline:0}.badge-light{background-color:#f8f9fa;color:#212529}a.badge-light:focus,a.badge-light:hover{background-color:#dae0e5;color:#212529}a.badge-light.focus,a.badge-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80;outline:0}.badge-dark{background-color:#343a40;color:#fff}a.badge-dark:focus,a.badge-dark:hover{background-color:#1d2124;color:#fff}a.badge-dark.focus,a.badge-dark:focus{box-shadow:0 0 0 .2rem #343a4080;outline:0}.jumbotron{background-color:#e9ecef;border-radius:.3rem;margin-bottom:2rem;padding:2rem 1rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{border-radius:0;padding-left:0;padding-right:0}.alert{border:1px solid #0000;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem;position:relative}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{color:inherit;padding:.75rem 1.25rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{background-color:#cce5ff;border-color:#b8daff;color:#004085}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{background-color:#fff3cd;border-color:#ffeeba;color:#856404}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#818182}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{background-color:#e9ecef;border-radius:.25rem;font-size:.75rem;height:1rem;line-height:0}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{background-color:#007bff;color:#fff;flex-direction:column;justify-content:center;text-align:center;transition:width .6s ease;white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{align-items:flex-start;display:flex}.media-body{flex:1 1}.list-group{border-radius:.25rem;display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{color:#495057;text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}.list-group-item-action:active{background-color:#e9ecef;color:#212529}.list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);display:block;padding:.75rem 1.25rem;position:relative}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}.list-group-item.active{background-color:#007bff;border-color:#007bff;color:#fff;z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:1px;margin-top:-1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#b8daff;color:#004085}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#9fcdff;color:#004085}.list-group-item-primary.list-group-item-action.active{background-color:#004085;border-color:#004085;color:#fff}.list-group-item-secondary{background-color:#d6d8db;color:#383d41}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#c8cbcf;color:#383d41}.list-group-item-secondary.list-group-item-action.active{background-color:#383d41;border-color:#383d41;color:#fff}.list-group-item-success{background-color:#c3e6cb;color:#155724}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#b1dfbb;color:#155724}.list-group-item-success.list-group-item-action.active{background-color:#155724;border-color:#155724;color:#fff}.list-group-item-info{background-color:#bee5eb;color:#0c5460}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#abdde5;color:#0c5460}.list-group-item-info.list-group-item-action.active{background-color:#0c5460;border-color:#0c5460;color:#fff}.list-group-item-warning{background-color:#ffeeba;color:#856404}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#ffe8a1;color:#856404}.list-group-item-warning.list-group-item-action.active{background-color:#856404;border-color:#856404;color:#fff}.list-group-item-danger{background-color:#f5c6cb;color:#721c24}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#f1b0b7;color:#721c24}.list-group-item-danger.list-group-item-action.active{background-color:#721c24;border-color:#721c24;color:#fff}.list-group-item-light{background-color:#fdfdfe;color:#818182}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#ececf6;color:#818182}.list-group-item-light.list-group-item-action.active{background-color:#818182;border-color:#818182;color:#fff}.list-group-item-dark{background-color:#c6c8ca;color:#1b1e21}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#b9bbbe;color:#1b1e21}.list-group-item-dark.list-group-item-action.active{background-color:#1b1e21;border-color:#1b1e21;color:#fff}.close{color:#000;float:right;font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{background-color:initial;border:0;padding:0}a.close.disabled{pointer-events:none}.toast{background-clip:padding-box;background-color:#ffffffd9;border:1px solid #0000001a;border-radius:.25rem;box-shadow:0 .25rem .75rem #0000001a;flex-basis:350px;font-size:.875rem;max-width:350px;opacity:0}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{align-items:center;background-clip:padding-box;background-color:#ffffffd9;border-bottom:1px solid #0000000d;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);color:#6c757d;display:flex;padding:.25rem .75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{display:none;height:100%;left:0;outline:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1050}.modal-dialog{margin:.5rem;pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{content:"";display:block;height:calc(100vh - 1rem);height:min-content}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:.3rem;display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{align-items:flex-start;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);display:flex;justify-content:space-between;padding:1rem}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1rem}.modal-title{line-height:1.5;margin-bottom:0}.modal-body{flex:1 1 auto;padding:1rem;position:relative}.modal-footer{align-items:center;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px);border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.75rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:576px){.modal-dialog{margin:1.75rem auto;max-width:500px}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{word-wrap:break-word;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:0;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.tooltip.show{opacity:.9}.tooltip .arrow{display:block;height:.4rem;position:absolute;width:.8rem}.tooltip .arrow:before{border-color:#0000;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{border-top-color:#000;border-width:.4rem .4rem 0;top:0}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{height:.8rem;left:0;width:.4rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{border-right-color:#000;border-width:.4rem .4rem .4rem 0;right:0}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{border-bottom-color:#000;border-width:0 .4rem .4rem;bottom:0}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{height:.8rem;right:0;width:.4rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{border-left-color:#000;border-width:.4rem 0 .4rem .4rem;left:0}.tooltip-inner{background-color:#000;border-radius:.25rem;color:#fff;max-width:200px;padding:.25rem .5rem;text-align:center}.popover{word-wrap:break-word;background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:.3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.5;max-width:276px;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.popover,.popover .arrow{display:block;position:absolute}.popover .arrow{height:.5rem;margin:0 .3rem;width:1rem}.popover .arrow:after,.popover .arrow:before{border-color:#0000;border-style:solid;content:"";display:block;position:absolute}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{border-top-color:#00000040;border-width:.5rem .5rem 0;bottom:0}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{border-top-color:#fff;border-width:.5rem .5rem 0;bottom:1px}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{height:1rem;left:calc(-.5rem - 1px);margin:.3rem 0;width:.5rem}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{border-right-color:#00000040;border-width:.5rem .5rem .5rem 0;left:0}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{border-right-color:#fff;border-width:.5rem .5rem .5rem 0;left:1px}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{border-bottom-color:#00000040;border-width:0 .5rem .5rem;top:0}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{border-bottom-color:#fff;border-width:0 .5rem .5rem;top:1px}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:1px solid #f7f7f7;content:"";display:block;left:50%;margin-left:-.5rem;position:absolute;top:0;width:1rem}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{height:1rem;margin:.3rem 0;right:calc(-.5rem - 1px);width:.5rem}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{border-left-color:#00000040;border-width:.5rem 0 .5rem .5rem;right:0}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{border-left-color:#fff;border-width:.5rem 0 .5rem .5rem;right:1px}.popover-header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);font-size:1rem;margin-bottom:0;padding:.5rem .75rem}.popover-header:empty{display:none}.popover-body{color:#212529;padding:.5rem .75rem}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after{clear:both;content:"";display:block}.carousel-item{backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0;transition:opacity 0s .6s;z-index:0}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{align-items:center;background:none;border:0;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;padding:0;position:absolute;text-align:center;top:0;transition:opacity .15s ease;width:15%;z-index:1}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background:50%/100% 100% no-repeat;display:inline-block;height:20px;width:20px}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m5.25 0-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m2.75 0-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-left:15%;margin-right:15%;padding-left:0;position:absolute;right:0;z-index:15}.carousel-indicators li{background-clip:padding-box;background-color:#fff;border-bottom:10px solid #0000;border-top:10px solid #0000;box-sizing:initial;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s ease;width:30px}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;z-index:10}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{animation:spinner-border .75s linear infinite;border:.25em solid;border-radius:50%;border-right:.25em solid #0000;display:inline-block;height:2rem;vertical-align:-.125em;width:2rem}.spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{animation:spinner-grow .75s linear infinite;background-color:currentcolor;border-radius:50%;display:inline-block;height:2rem;opacity:0;vertical-align:-.125em;width:2rem}.spinner-grow-sm{height:1rem;width:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:initial!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{clear:both;content:"";display:block}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.embed-responsive:before{content:"";display:block}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{white-space:nowrap}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link:after{background-color:#0000;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a;text-shadow:none}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{border-color:#dee2e6;color:inherit}}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(/static/media/fontawesome-webfont.8b43027f47b20503057d.eot);src:url(/static/media/fontawesome-webfont.8b43027f47b20503057d.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(/static/media/fontawesome-webfont.20fd1704ea223900efa9.woff2) format("woff2"),url(/static/media/fontawesome-webfont.f691f37e57f04c152e23.woff) format("woff"),url(/static/media/fontawesome-webfont.1e59d2330b4c6deb84b3.ttf) format("truetype"),url(/static/media/fontawesome-webfont.c1e38fd9e0e74ba58f7a.svg#fontawesomeregular) format("svg")}.fa{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.28571429em}.fa-ul{list-style-type:none;margin-left:2.14285714em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2.14285714em;position:absolute;text-align:center;top:.14285714em;width:2.14285714em}.fa-li.fa-lg{left:-1.85714286em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}

/*!@preserve
 * Tempus Dominus Bootstrap4 v5.37.0 ()
 * Copyright 2016-2020 Jonathan Peterson and contributors
 * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE)
 */.bootstrap-datetimepicker-widget .btn[data-action=clear]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=showHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=showMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=today]:after,.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]:after,.bootstrap-datetimepicker-widget .picker-switch:after,.bootstrap-datetimepicker-widget table th.next:after,.bootstrap-datetimepicker-widget table th.prev:after,.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}body.tempusdominus-bootstrap-datetimepicker-widget-day-click,body.tempusdominus-bootstrap-datetimepicker-widget-day-click *{cursor:pointer!important}body.tempusdominus-bootstrap-datetimepicker-widget-day-click{position:relative!important}.tempusdominus-bootstrap-datetimepicker-widget-day-click-glass-panel{bottom:0;cursor:pointer!important;left:0;position:absolute;right:0;top:0;z-index:999999999999}.bootstrap-datetimepicker-widget .datepicker-days tbody td{cursor:pointer}.bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:14rem}.bootstrap-datetimepicker-widget.dropdown-menu.tempusdominus-bootstrap-datetimepicker-widget-with-calendar-weeks,.bootstrap-datetimepicker-widget.dropdown-menu.tempusdominus-bootstrap-datetimepicker-widget-with-feather-icons{width:16rem}.bootstrap-datetimepicker-widget.dropdown-menu.tempusdominus-bootstrap-datetimepicker-widget-with-calendar-weeks.tempusdominus-bootstrap-datetimepicker-widget-with-feather-icons{width:17rem}@media (min-width:576px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:after,.bootstrap-datetimepicker-widget.dropdown-menu:before{content:"";display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-bottom:7px solid #0003;border-left:7px solid #0000;border-right:7px solid #0000;left:7px;top:-7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-bottom:6px solid #fff;border-left:6px solid #0000;border-right:6px solid #0000;left:8px;top:-6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid #0000;border-right:7px solid #0000;border-top:7px solid #0003;bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #fff;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.float-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.float-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget.dropdown-menu.wider{width:16rem}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{font-size:1.2em;font-weight:700;margin:0;width:54px}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]{font-family:Arial,sans-serif,-apple-system,system-ui,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;height:38px;text-align:center;width:38px}.bootstrap-datetimepicker-widget .btn[data-action=incrementHours]:after{content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]:after{content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action=decrementHours]:after{content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]:after{content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action=showHours]:after{content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action=showMinutes]:after{content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]:after{content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action=clear]:after{content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action=today]:after{content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch:after{content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{height:auto;line-height:inherit;margin:0;padding:0;width:auto}.bootstrap-datetimepicker-widget .picker-switch td span{height:2.5em;line-height:2.5;width:100%}.bootstrap-datetimepicker-widget .picker-switch.picker-switch-with-feathers-icons td span{height:2.8em;line-height:2.8}.bootstrap-datetimepicker-widget table{margin:0;width:100%}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{border-radius:.25rem;text-align:center}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev:after{content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next:after{content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#e9ecef}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{color:#6c757d;cursor:default;font-size:.8em;height:20px;line-height:20px}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#e9ecef;cursor:pointer}.bootstrap-datetimepicker-widget table td.new,.bootstrap-datetimepicker-widget table td.old{color:#6c757d}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{border-color:#0003 #0000 #007bff;border-style:solid;border-width:0 0 7px 7px;bottom:4px;content:"";display:inline-block;position:absolute;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#007bff;color:#fff;text-shadow:0 -1px 0 #00000040}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{border-radius:.25rem;cursor:pointer;display:inline-block;height:54px;line-height:54px;margin-bottom:2px;margin-top:2px;width:54px}.bootstrap-datetimepicker-widget table td span:hover{background:#e9ecef}.bootstrap-datetimepicker-widget table td span.active{background-color:#007bff;color:#fff;text-shadow:0 -1px 0 #00000040}.bootstrap-datetimepicker-widget table td span.old{color:#6c757d}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.bootstrap-datetimepicker-widget .timepicker .timepicker-picker a.btn{color:#007bff;color:var(--blue,#007bff)}.bootstrap-datetimepicker-widget .timepicker .timepicker-picker a.btn:hover{color:#0056b3}.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementHours],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementMinutes],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementSeconds],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementHours],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementMinutes],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementSeconds],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showHours],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showMinutes],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showSeconds],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=togglePeriod],.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.day,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.hour,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.minute,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.second{cursor:default;pointer-events:none}.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementHours]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementMinutes]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=decrementSeconds]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementHours]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementMinutes]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=incrementSeconds]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showHours]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showMinutes]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=showSeconds]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td [data-action=togglePeriod]:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.day:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.hour:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.minute:hover,.bootstrap-datetimepicker-widget.bootstrap-datetimepicker-widget-readonly table td.second:hover{background:none}.input-group [data-toggle=datetimepicker]{cursor:pointer}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a,button{cursor:pointer}:root{--brand-primary:#667eea;--brand-primary-rgb:102,126,234;--brand-primary-hover:#5e74d7;--brand-primary-active:#586cc9;--brand-primary-subtle:#eef2ff;--brand-accent:#764ba2;--brand-accent-rgb:118,75,162;--brand-accent-hover:#6c4595;--brand-accent-subtle:#f3eef8;--brand-ink:#3d4c8c;--gradient-brand:linear-gradient(135deg,#667eea,#764ba2);--gradient-brand-soft:linear-gradient(135deg,#eef2ff,#f3eef8);--focus-ring-color:#667eea;--text-link:#667eea;--surface-page:#f8fafc;--surface-card:#fff;--surface-card-rgb:255,255,255;--surface-raised:#fff;--surface-sunken:#f1f5f9;--surface-hover:#f3f4f6;--surface-inverse:#0f172a;--surface-inverse-rgb:15,23,42;--surface-overlay:#0f172a80;--text-strong:#0f172a;--text-strong-rgb:15,23,42;--text-body:#1e293b;--text-muted:#64748b;--text-faint:#94a3b8;--text-inverse:#fff;--text-on-brand:#fff;--border-subtle:#f1f5f9;--border-default:#e5e7eb;--border-strong:#cbd5e1;--border-focus:var(--focus-ring-color);--button-primary-bg:var(--brand-primary);--button-primary-text:var(--text-on-brand);--button-primary-hover-bg:var(--brand-primary-hover);--button-secondary-bg:var(--surface-card);--button-secondary-text:var(--brand-primary);--button-secondary-border:var(--border-default);--status-success:#16a34a;--status-success-bg:#f0fdf4;--status-success-border:#bbf7d0;--status-success-text:#065f46;--status-warning:#d97706;--status-warning-bg:#fffbeb;--status-warning-border:#fde68a;--status-warning-text:#92400e;--status-danger:#dc2626;--status-danger-bg:#fef2f2;--status-danger-border:#fecaca;--status-danger-text:#7f1d1d;--status-info:#2563eb;--status-info-bg:#eff6ff;--status-info-border:#bfdbfe;--status-info-text:#1e3a8a;--nav-bg:var(--surface-card);--nav-header-bg:var(--gradient-brand);--nav-text:var(--text-body);--nav-text-active:var(--brand-primary);--nav-item-active-bg:var(--brand-primary-subtle);--chart-1:var(--brand-primary);--chart-2:var(--brand-accent);--chart-3:#0ea5e9;--chart-4:#f59e0b;--chart-5:#10b981;--chart-6:#ec4899;--chart-7:#8b5cf6;--chart-8:#64748b;--chart-grid:#e5e7eb;--chart-axis-text:var(--text-muted);--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 12px 32px #0f172a24;--scrollbar-thumb:#cbd5e1;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;color-scheme:light}[data-theme=dark]{--brand-primary:#8c9eef;--brand-primary-rgb:140,158,239;--brand-primary-hover:#9fadf2;--brand-primary-active:#b1bdf4;--brand-primary-subtle:#283252;--brand-accent:#9878b9;--brand-accent-rgb:152,120,185;--brand-accent-hover:#a98cc6;--brand-accent-subtle:#2e2740;--brand-ink:#f1f5f9;--gradient-brand:linear-gradient(135deg,#5e74d7,#6c4595);--gradient-brand-soft:linear-gradient(135deg,#283252,#2e2740);--focus-ring-color:#9fadf2;--text-link:#9fadf2;--surface-page:#0f1420;--surface-card:#1a2130;--surface-card-rgb:26,33,48;--surface-raised:#232b3d;--surface-sunken:#131926;--surface-hover:#26304a;--surface-inverse:#f1f5f9;--surface-inverse-rgb:241,245,249;--surface-overlay:#000000a6;--text-strong:#f1f5f9;--text-strong-rgb:241,245,249;--text-body:#d5dbe7;--text-muted:#94a3b8;--text-faint:#64748b;--text-inverse:#0f172a;--text-on-brand:#fff;--border-subtle:#232b3d;--border-default:#2e3850;--border-strong:#3d4a68;--status-success:#4ade80;--status-success-bg:#12271b;--status-success-border:#1d4429;--status-success-text:#86efac;--status-warning:#fbbf24;--status-warning-bg:#2b2410;--status-warning-border:#4d3f14;--status-warning-text:#fcd34d;--status-danger:#f87171;--status-danger-bg:#2d1717;--status-danger-border:#522626;--status-danger-text:#fca5a5;--status-info:#60a5fa;--status-info-bg:#16233b;--status-info-border:#1e3a5f;--status-info-text:#93c5fd;--nav-bg:#141a29;--chart-3:#38bdf8;--chart-4:#fbbf24;--chart-5:#34d399;--chart-6:#f472b6;--chart-7:#a78bfa;--chart-8:#94a3b8;--chart-grid:#2e3850;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 12px 32px #0009;--scrollbar-thumb:#3d4a68;color-scheme:dark}@media print{[data-theme=dark]{--surface-page:#fff;--surface-card:#fff;--surface-raised:#fff;--surface-sunken:#f1f5f9;--surface-hover:#f3f4f6;--surface-inverse:#0f172a;--surface-overlay:#0f172a80;--text-strong:#0f172a;--text-body:#1e293b;--text-muted:#64748b;--text-faint:#94a3b8;--text-inverse:#fff;--border-subtle:#f1f5f9;--border-default:#e5e7eb;--border-strong:#cbd5e1;color-scheme:light}}[data-theme=dark] .card{background-color:var(--surface-card);border-color:var(--border-default);color:var(--text-body)}[data-theme=dark] .card-footer,[data-theme=dark] .card-header{background-color:var(--surface-raised);border-color:var(--border-default)}[data-theme=dark] .modal-content{background-color:var(--surface-card);color:var(--text-body)}[data-theme=dark] .modal-content,[data-theme=dark] .modal-footer,[data-theme=dark] .modal-header{border-color:var(--border-default)}[data-theme=dark] .modal-backdrop{background-color:#000}[data-theme=dark] .table{color:var(--text-body)}[data-theme=dark] .table td,[data-theme=dark] .table th,[data-theme=dark] .table thead th{border-color:var(--border-default)}[data-theme=dark] .table .thead-light th{background-color:var(--surface-raised);border-color:var(--border-default);color:var(--text-strong)}[data-theme=dark] .table-striped tbody tr:nth-of-type(odd){background-color:var(--surface-sunken)}[data-theme=dark] .table-hover tbody tr:hover{background-color:var(--surface-hover);color:var(--text-body)}[data-theme=dark] .custom-select,[data-theme=dark] .form-control{background-color:var(--surface-sunken);border-color:var(--border-strong);color:var(--text-body)}[data-theme=dark] .custom-select:focus,[data-theme=dark] .form-control:focus{background-color:var(--surface-sunken);border-color:var(--focus-ring-color);box-shadow:0 0 0 .2rem rgba(var(--brand-primary-rgb),.25);color:var(--text-body)}[data-theme=dark] .form-control::placeholder{color:var(--text-faint)}[data-theme=dark] .form-control:disabled,[data-theme=dark] .form-control[readonly],[data-theme=dark] .input-group-text{background-color:var(--surface-raised);color:var(--text-muted)}[data-theme=dark] .input-group-text{border-color:var(--border-strong)}[data-theme=dark] .dropdown-menu{background-color:var(--surface-raised);border-color:var(--border-default);box-shadow:var(--shadow-md);color:var(--text-body)}[data-theme=dark] .dropdown-item{color:var(--text-body)}[data-theme=dark] .dropdown-item:focus,[data-theme=dark] .dropdown-item:hover{background-color:var(--surface-hover);color:var(--text-strong)}[data-theme=dark] .dropdown-item.active,[data-theme=dark] .dropdown-item:active{background-color:var(--brand-primary);color:var(--text-on-brand)}[data-theme=dark] .dropdown-divider{border-color:var(--border-default)}[data-theme=dark] .list-group-item{background-color:var(--surface-card);border-color:var(--border-default);color:var(--text-body)}[data-theme=dark] .nav-tabs{border-color:var(--border-default)}[data-theme=dark] .nav-tabs .nav-link{color:var(--text-muted)}[data-theme=dark] .nav-tabs .nav-link:focus,[data-theme=dark] .nav-tabs .nav-link:hover{border-color:var(--border-default)}[data-theme=dark] .nav-tabs .nav-link.active{background-color:var(--surface-card);border-color:var(--border-default) var(--border-default) var(--surface-card);color:var(--brand-primary)}[data-theme=dark] .btn-light{background-color:var(--surface-raised);border-color:var(--border-strong);color:var(--text-body)}[data-theme=dark] .btn-light:focus,[data-theme=dark] .btn-light:hover{background-color:var(--surface-hover);border-color:var(--border-strong);color:var(--text-strong)}[data-theme=dark] .alert-success{background-color:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}[data-theme=dark] .alert-warning{background-color:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}[data-theme=dark] .alert-danger{background-color:var(--status-danger-bg);border-color:var(--status-danger-border);color:var(--status-danger-text)}[data-theme=dark] .alert-info{background-color:var(--status-info-bg);border-color:var(--status-info-border);color:var(--status-info-text)}[data-theme=dark] .pagination .page-link{background-color:var(--surface-card);border-color:var(--border-default);color:var(--text-link)}[data-theme=dark] .pagination .page-link:hover{background-color:var(--surface-hover);border-color:var(--border-default);color:var(--text-strong)}[data-theme=dark] .pagination .page-item.active .page-link{background-color:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-brand)}[data-theme=dark] .pagination .page-item.disabled .page-link{background-color:var(--surface-sunken);border-color:var(--border-default);color:var(--text-faint)}[data-theme=dark] .close{color:var(--text-strong);filter:invert(1) brightness(1.6);text-shadow:none}[data-theme=dark] .breadcrumb{background-color:var(--surface-raised)}[data-theme=dark] .breadcrumb-item.active{color:var(--text-muted)}[data-theme=dark] .popover{background-color:var(--surface-raised);border-color:var(--border-strong)}[data-theme=dark] .popover-header{background-color:var(--surface-hover);border-color:var(--border-strong);color:var(--text-strong)}[data-theme=dark] .popover-body{color:var(--text-body)}[data-theme=dark] .tooltip-inner{background-color:var(--surface-inverse);color:var(--text-inverse)}[data-theme=dark] .progress{background-color:var(--surface-sunken)}[data-theme=dark] .text-muted{color:var(--text-muted)!important}.tool-launcher{align-items:flex-end;bottom:88px;display:flex;flex-direction:column;gap:12px;position:fixed;right:24px;z-index:1030}.tl-fab{align-items:center;background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-primary) 100%);border:none;border-radius:50%;box-shadow:0 6px 18px #2563eb66;color:var(--text-on-brand);cursor:pointer;display:flex;height:52px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease;width:52px}.tl-fab:hover{box-shadow:0 8px 22px #2563eb80;transform:translateY(-2px)}.tl-fab:focus-visible{outline:3px solid rgba(var(--brand-accent-rgb),.5);outline-offset:2px}.tl-panel{animation:tl-panel-in .16s ease;background:var(--surface-card);border:1px solid #eef0f6;border-radius:14px;box-shadow:0 12px 34px #0f172a38;padding:16px;width:300px}.tl-panel-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.tl-panel-title{color:#1f2440;font-size:1rem;font-weight:700}.tl-panel-close{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;padding:2px}.tl-panel-close:hover{background:var(--surface-sunken);color:var(--text-strong)}.tl-panel-hint{color:var(--text-muted);font-size:.8rem;line-height:1.35;margin:0 0 12px}.tl-field-label{color:var(--text-muted);display:block;font-size:.72rem;font-weight:700;letter-spacing:.04em;margin-bottom:5px;text-transform:uppercase}.tl-select{background:var(--surface-card);border:1px solid #d7dbe7;border-radius:8px;color:#1f2440;font-size:.9rem;margin-bottom:14px;padding:9px 10px;width:100%}.tl-select:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px #7c3aed26;outline:none}.tl-start-btn{align-items:center;background:linear-gradient(135deg,var(--brand-accent) 0,var(--brand-primary) 100%);border:none;border-radius:8px;color:var(--text-on-brand);cursor:pointer;display:flex;font-size:.92rem;font-weight:600;gap:8px;justify-content:center;padding:10px 14px;width:100%}.tl-start-btn:disabled{cursor:not-allowed;opacity:.5}.tl-start-btn:not(:disabled):hover{filter:brightness(1.05)}.tl-error,.tl-loading{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;gap:8px;margin-bottom:14px}.tl-error{color:var(--status-danger)}.tl-spin{animation:tl-spin 1s linear infinite}@keyframes tl-spin{to{transform:rotate(1turn)}}@keyframes tl-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.tl-fab,.tl-panel,.tl-spin{animation:none;transition:none}}.a11y-floating-container{bottom:24px;position:fixed;right:24px;z-index:1030}.a11y-floating-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 12px #667eea66;color:#fff;cursor:pointer;display:flex;font-size:22px;height:48px;justify-content:center;transition:transform .2s,box-shadow .2s;width:48px}.a11y-floating-button:hover{box-shadow:0 6px 16px #667eea80;transform:scale(1.08)}.a11y-floating-button:focus-visible{outline:3px solid #667eea;outline-offset:3px}.a11y-settings-panel{background:#fff;border-radius:12px;bottom:60px;box-shadow:0 8px 32px #0000002e;max-height:80vh;overflow-y:auto;padding:16px 0;position:absolute;right:0;width:340px}.a11y-panel-header{color:#333;font-size:15px;font-weight:600;padding:0 16px 8px}.a11y-panel-subheader{color:#666;font-size:13px;font-weight:600;letter-spacing:.5px;padding:4px 16px 8px;text-transform:uppercase}.a11y-divider{border:none;border-top:1px solid #eee;margin:8px 16px}.a11y-option{padding:6px 16px}.a11y-switch{align-items:center;cursor:pointer;display:flex;gap:12px;margin:0}.a11y-switch input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.a11y-slider{background-color:#ccc;border-radius:22px;display:inline-block;flex-shrink:0;height:22px;position:relative;transition:background-color .3s;width:40px}.a11y-slider:before{background-color:#fff;border-radius:50%;content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform .3s;width:16px}.a11y-switch input:checked+.a11y-slider{background-color:#667eea}.a11y-switch input:checked+.a11y-slider:before{transform:translateX(18px)}.a11y-switch input:focus-visible+.a11y-slider{outline:2px solid #667eea;outline-offset:2px}.a11y-label{color:#333;flex:1 1;font-size:14px;font-weight:500;line-height:1.4}.a11y-description{color:#888;display:block;font-size:12px;line-height:1.3;margin-left:52px;margin-top:2px}@media (max-width:768px){.a11y-floating-container{bottom:16px;right:16px}.a11y-settings-panel{right:-8px;width:300px}}.skip-link{background:#667eea;border-radius:0 0 4px 4px;color:#fff;font-size:14px;left:6px;padding:8px 16px;position:absolute;text-decoration:none;top:-40px;transition:top .3s;z-index:2000}.skip-link:focus{color:#fff;top:0}body.accessibility-enhanced{font-size:16px;line-height:1.6}body.high-contrast{background:#000!important;color:#fff!important}body.high-contrast *{background-color:#000!important;border-color:#fff!important;color:#fff!important}body.high-contrast a{color:#ff0!important}body.high-contrast button{background-color:#333!important;border:2px solid #fff!important;color:#fff!important}body.high-contrast .a11y-floating-button{background:#333!important;border:2px solid #fff!important}body.high-contrast .a11y-settings-panel{background:#000!important;border:2px solid #fff!important}body.high-contrast .a11y-slider{background-color:#555!important}body.high-contrast .a11y-switch input:checked+.a11y-slider{background-color:#ff0!important}body.high-contrast .a11y-divider{border-color:#555!important}body.large-text{font-size:18px}body.large-text h1{font-size:2.5rem}body.large-text h2{font-size:2rem}body.large-text h3{font-size:1.5rem}body.large-text .btn{font-size:18px;padding:12px 20px}body.reduced-motion *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}body.screen-reader-optimized .sr-only{clip:auto!important;background-color:#ff0!important;border:1px solid #000!important;color:#000!important;height:auto!important;margin:2px!important;overflow:visible!important;padding:4px 8px!important;position:static!important;white-space:normal!important;width:auto!important}body.keyboard-navigation :focus{box-shadow:0 0 0 1px #fff,0 0 0 3px #667eea!important;outline:3px solid #667eea!important;outline-offset:2px!important}@media (max-width:768px){body.large-text{font-size:20px}body.large-text .btn{font-size:20px;padding:14px 22px}}.layout{background:var(--surface-page)}.layout,.layout-main{display:flex;min-height:100vh}.layout-main{flex:1 1;flex-direction:column;position:relative;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}@media (min-width:1024px){.layout-main{margin-left:280px}.sidebar.collapsed~.layout-main{margin-left:80px}}@media (max-width:1023px){.layout-main{margin-left:0}}.layout-content{flex:1 1;width:100%}.mobile-menu-button{align-items:center;background:var(--gradient-brand);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;cursor:pointer;display:none;flex-direction:column;gap:5px;height:48px;justify-content:center;left:1rem;position:fixed;top:1rem;transition:all .2s ease;width:48px;z-index:999}.mobile-menu-button:hover{box-shadow:0 6px 16px #667eea66;transform:scale(1.05)}.mobile-menu-button:active{transform:scale(.95)}.mobile-menu-button span{background:#fff;border-radius:2px;display:block;height:3px;transition:all .3s ease;width:24px}@media (max-width:1023px){.mobile-menu-button{display:flex}}.sidebar.open~.layout-main .mobile-menu-button span:first-child{transform:translateY(8px) rotate(45deg)}.sidebar.open~.layout-main .mobile-menu-button span:nth-child(2){opacity:0}.sidebar.open~.layout-main .mobile-menu-button span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media (max-width:1023px){.layout-content{padding-top:0}}.layout-content,.layout-main{transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.offcanvas-backdrop{bottom:0!important;height:100vh!important;left:0!important;position:fixed!important;right:0!important;top:0!important;width:100vw!important;z-index:1040!important}.offcanvas{position:fixed!important;z-index:1055!important}.offcanvas.offcanvas-end{bottom:0!important;height:100vh!important;left:auto!important;right:0!important;top:0!important}.modal-backdrop{z-index:1050!important}.modal{z-index:1060!important}
/*# sourceMappingURL=main.56e1ec3d.css.map*/