.layout{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.layout-header{display:flex;justify-content:space-between;align-items:center;padding:0 20px;height:60px;background:linear-gradient(90deg,#0f172a,#1e293b);color:#fff;box-shadow:0 2px 4px #0000001a}.header-left{display:flex;align-items:center;gap:15px}.sidebar-toggle{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:5px 10px;border-radius:4px;transition:background-color .2s}.sidebar-toggle:hover{background-color:#ffffff1a}.app-title{margin:0;font-size:20px;font-weight:700;letter-spacing:.4px}.header-right{display:flex;align-items:center;gap:15px}.app-back-btn{padding:6px 12px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.app-back-btn:hover{background:#fff3;border-color:#fff9}.user-role{padding:5px 12px;background-color:#fff3;border-radius:4px;font-size:14px}.user-student-id{padding:5px 12px;background-color:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:4px;font-size:14px;font-weight:600;letter-spacing:.3px}.logout-btn{padding:8px 16px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.logout-btn:hover{background-color:#c0392b}.manager-lang-selector{display:flex;align-items:center;flex-wrap:wrap;gap:4px;max-width:min(520px,55vw);padding:3px;background:#ffffff14;border-radius:8px;border:1px solid rgba(255,255,255,.15)}.manager-lang-btn{padding:5px 10px;background:transparent;color:#ffffffd9;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s;white-space:nowrap}.manager-lang-btn:hover{background:#ffffff1f;color:#fff}.manager-lang-btn--active{background:#ffffff38;color:#fff}.layout.manager-locale-ar .nav-group-title,.layout.manager-locale-ar .nav-label,.layout.manager-locale-ar .user-role,.layout.manager-locale-ar .logout-btn,.layout.manager-locale-ar .layout-main{direction:rtl;text-align:right}.layout.manager-locale-ar .nav-item{direction:ltr}.layout.manager-locale-ar .nav-label{flex:1}.layout-body{display:flex;flex:1;overflow:hidden}.layout-sidebar{width:250px;background-color:#fff;box-shadow:2px 0 4px #0000001a;transition:width .3s;overflow-y:auto;border-right:1px solid #e5e7eb}.layout-sidebar.closed{width:0;overflow:hidden}.sidebar-nav{padding:14px 0}.nav-group{margin-bottom:10px}.nav-group-title{padding:8px 20px 6px;font-size:11px;color:#94a3b8;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nav-item{display:flex;align-items:center;padding:10px 20px;color:#333;text-decoration:none;transition:background-color .2s;border-left:3px solid transparent}.nav-item:hover{background-color:#f8fafc;border-left-color:#3b82f6}.nav-item.active{background-color:#eef5ff;border-left-color:#3b82f6;font-weight:600}.nav-item.disabled{color:#94a3b8;cursor:not-allowed;opacity:.65}.nav-item.disabled:hover{background-color:transparent;border-left-color:transparent}.nav-icon{font-size:20px;margin-right:12px;width:24px;text-align:center}.nav-label{font-size:15px}.layout-main{flex:1;padding:16px;overflow-y:auto;background-color:#f3f6fb}.layout-body.no-sidebar{flex-direction:column}.layout-main.full-width{width:100%;max-width:100%}@media (max-width: 768px){.layout-sidebar{position:fixed;left:0;top:60px;height:calc(100vh - 60px);z-index:1000}.layout-sidebar.closed{transform:translate(-100%)}.layout-main{padding:15px}}.calendar-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:20px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.calendar-nav-btn{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:#2c3e50;transition:all .2s}.calendar-nav-btn:hover{background:#e9ecef;border-color:#3498db}.calendar-month-year{display:flex;align-items:baseline;gap:8px}.calendar-month{font-size:24px;font-weight:600;color:#2c3e50}.calendar-year{font-size:18px;color:#7f8c8d}.calendar-today-btn{background:#3498db;color:#fff;border:none;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.calendar-today-btn:hover{background:#2980b9}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#e0e0e0;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.calendar-day-header{background:#f8f9fa;padding:12px;text-align:center;font-weight:600;font-size:14px;color:#2c3e50;border-bottom:2px solid #e0e0e0}.calendar-day-header.sunday{color:#e74c3c}.calendar-day-header.saturday{color:#3498db}.calendar-day{background:#fff;min-height:80px;padding:8px;display:flex;flex-direction:column;cursor:pointer;transition:background .2s;position:relative}.calendar-day:hover{background:#f8f9fa}.calendar-day.other-month{background:#fafafa;color:#bdc3c7}.calendar-day.today{background:#e8f4f8;border:2px solid #3498db}.calendar-day.selected{background:#d5e8f4;border:2px solid #2980b9}.calendar-day.has-events{background:#fff9e6}.day-number{font-size:14px;font-weight:500;color:#2c3e50;margin-bottom:4px}.calendar-day.other-month .day-number{color:#bdc3c7}.day-events{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto}.event-dot{width:6px;height:6px;border-radius:50%;background:#3498db}.event-dot.exam{background:#e74c3c}.event-dot.homework{background:#f39c12}.event-dot.attendance{background:#2ecc71}.event-dot.default{background:#3498db}.event-dot.memo{background:#9b59b6}.event-more{font-size:10px;color:#7f8c8d;font-weight:500}.calendar-day.has-memo{background:#f3e5f5}.memo-indicator{position:absolute;top:4px;right:4px;font-size:12px;opacity:.7}.day-memo-titles{display:flex;flex-direction:column;gap:2px;margin-top:4px;margin-bottom:4px;width:100%}.memo-title{font-size:10px;color:#7b1fa2;background:#f3e5f5;padding:2px 4px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.memo-title-more{font-size:9px;color:#9b59b6;font-weight:600}.calendar-legend{display:flex;gap:20px;margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;font-size:12px;color:#7f8c8d}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.today{background:#3498db;border:2px solid #2980b9}.legend-dot.has-events{background:#f39c12}.legend-dot.memo{background:#9b59b6}.memo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.memo-modal{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.memo-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #e0e0e0}.memo-modal-header h3{margin:0;color:#2c3e50;font-size:20px}.memo-modal-close{background:none;border:none;font-size:28px;color:#7f8c8d;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.memo-modal-close:hover{background:#f8f9fa;color:#2c3e50}.memo-modal-body{padding:20px}.memo-list-section{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.memo-list-section h4{margin:0 0 10px;font-size:14px;color:#2c3e50;font-weight:600}.memo-list{display:flex;flex-direction:column;gap:8px}.memo-list-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.memo-list-title{flex:1;font-size:13px;color:#2c3e50;font-weight:500}.memo-list-edit-btn{padding:4px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:background .2s}.memo-list-edit-btn:hover{background:#2980b9}.memo-form-group{margin-bottom:20px}.memo-form-group label{display:block;margin-bottom:8px;font-weight:600;color:#2c3e50;font-size:14px}.memo-form-group input,.memo-form-group textarea{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit;transition:border-color .2s;box-sizing:border-box}.memo-form-group input:focus,.memo-form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.memo-form-group textarea{resize:vertical;min-height:80px}.memo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.memo-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:20px;border-top:1px solid #e0e0e0;background:#f8f9fa}.memo-modal-actions{display:flex;gap:10px}.memo-save-btn,.memo-cancel-btn,.memo-delete-btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.memo-save-btn{background:#3498db;color:#fff}.memo-save-btn:hover{background:#2980b9}.memo-cancel-btn{background:#e0e0e0;color:#2c3e50}.memo-cancel-btn:hover{background:#d0d0d0}.memo-delete-btn{background:#e74c3c;color:#fff}.memo-delete-btn:hover{background:#c0392b}.chart-container{width:100%;margin:20px 0;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.chart-loading{display:flex;align-items:center;justify-content:center;height:300px;color:#95a5a6;font-style:italic;background:#f8f9fa;border-radius:8px}.chart-title{margin:0 0 15px;font-size:18px;font-weight:600;color:#2c3e50;text-align:center}.chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#95a5a6;font-style:italic}.recharts-wrapper{margin:0 auto}.recharts-cartesian-axis-tick-value{font-size:12px;fill:#555}.recharts-legend-wrapper{padding-top:10px}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{background:#fffffff2!important;border:1px solid #ddd!important;border-radius:4px!important;box-shadow:0 2px 8px #00000026!important}.owner-dashboard{max-width:1480px;margin:0 auto}.owner-dashboard h2{margin-bottom:30px;color:#2c3e50;font-size:28px}.kpi-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:0}.kpi-card{background:#f8fafc;border:1px solid #edf0f4;padding:10px;border-radius:10px;text-align:left}.kpi-label{font-size:14px;color:#7f8c8d;margin-bottom:10px;font-weight:500}.kpi-value{font-size:22px;font-weight:700;color:#1f2937}.dashboard-section{padding:14px}@media (max-width: 900px){.dashboard-top-grid{grid-template-columns:1fr}.dashboard-top-grid .dashboard-calendar-section,.dashboard-top-grid .kpi-panel{grid-column:span 12}.dashboard-sections{grid-template-columns:1fr}.two-fixed-groups .fixed-group-panel{min-height:auto;max-height:none}}.dashboard-section h3{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:20px}.dashboard-section p{color:#7f8c8d;margin:0}.dashboard-loading,.dashboard-error{text-align:center;padding:50px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.dashboard-error button{margin-top:15px;padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.dashboard-error button:hover{background-color:#2980b9}.dashboard-loading-inline{padding:15px;margin-bottom:20px;background:#e3f2fd;border:1px solid #2196f3;border-radius:4px;color:#1976d2;text-align:center;font-size:14px}.section-header h3{margin:0}.view-more-link{color:#3498db;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s}.view-more-link:hover{color:#2980b9;text-decoration:underline}.summary-table{width:100%;border-collapse:collapse;margin-top:15px}.summary-table thead{background-color:#f8f9fa}.summary-table th{padding:10px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:13px}.summary-table td{padding:10px;border-bottom:1px solid #f0f0f0;color:#555;font-size:13px}.summary-table tbody tr:hover{background-color:#f8f9fa}.trend-up{color:#27ae60;font-weight:600}.trend-down{color:#e74c3c;font-weight:600}.counseling-summary{margin-top:15px}.counseling-count{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:15px;background:#fff3cd;border-radius:6px}.count-number{font-size:32px;font-weight:700;color:#856404}.count-label{font-size:16px;color:#856404;font-weight:500}.no-data-text{color:#7f8c8d;font-size:14px;margin:20px 0;text-align:center;padding:20px;background:#f8f9fa;border-radius:6px}.owner-app-dashboard{max-width:1280px;margin:0 auto;padding:6px 6px 10px}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:2px}.kpi-value.positive{color:#10b981}.kpi-value.negative{color:#ef4444}.feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 4px #0f172a0f;padding:5px 4px;min-height:52px;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}.owner-app-dashboard .calendar-container{padding:6px;margin-bottom:0;border-radius:8px;box-shadow:none}.owner-app-dashboard .calendar-header{margin-bottom:8px;padding-bottom:6px}.owner-app-dashboard .calendar-month,.owner-app-dashboard .calendar-year{font-size:14px;font-weight:600}.owner-app-dashboard .calendar-nav-btn,.owner-app-dashboard .calendar-today-btn{padding:4px 8px;font-size:11px}.owner-app-dashboard .calendar-day-header{padding:4px 2px;font-size:10px}.owner-app-dashboard .calendar-day{padding:2px;min-height:32px}.owner-app-dashboard .day-number{font-size:11px;padding:2px}.owner-app-dashboard .day-events{font-size:8px;margin-top:2px}.owner-app-dashboard .day-memo-titles{font-size:8px;margin-top:1px}@media (max-width: 900px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{min-height:50px;padding:6px 4px}.kpi-label{font-size:9px}.kpi-value{font-size:12px}.feature-card{min-height:50px;padding:4px 3px}.feature-icon{font-size:14px}.feature-title{font-size:10px}}@media (max-width: 600px){.dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.dashboard-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.kpi-card{min-height:48px;padding:5px 3px}.kpi-label{font-size:8px;margin-bottom:2px}.kpi-value{font-size:11px}.feature-card{min-height:48px;padding:3px 2px}.feature-icon{font-size:12px}.feature-title{font-size:9px}}.owner-counseling.app-mode{padding:6px}.owner-counseling.app-mode .app-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.owner-counseling.app-mode .app-header h2{font-size:18px;margin:0}.owner-counseling.app-mode .btn-back{padding:6px 12px;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.owner-counseling.app-mode .btn-back:hover{background:#e0e0e0}.owner-counseling{max-width:1400px;margin:0 auto}.counseling-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;margin-bottom:20px}.counseling-table{width:100%;border-collapse:collapse}.counseling-table thead{background-color:#f8f9fa}.counseling-table th{padding:15px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.counseling-table td{padding:15px;border-bottom:1px solid #f0f0f0;color:#555;font-size:14px}.counseling-table tbody tr:hover{background-color:#f8f9fa}.counseling-reason{padding:4px 8px;background-color:#fff3cd;color:#856404;border-radius:4px;font-size:12px;font-weight:500}.page-footer{margin-top:20px;text-align:center}.info-text{color:#7f8c8d;font-size:14px}.owner-domain-trend{max-width:1400px;margin:0 auto}.owner-domain-trend.app-mode{padding:6px;max-width:100%}.owner-domain-trend.app-mode .app-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.owner-domain-trend.app-mode .app-header h2{font-size:18px;margin:0}.owner-domain-trend.app-mode .btn-back{padding:6px 12px;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.owner-domain-trend.app-mode .btn-back:hover{background:#e0e0e0}.domain-selector{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;display:flex;align-items:center;gap:15px}.domain-selector label{font-weight:600;color:#2c3e50;font-size:14px}.domain-select{flex:1;max-width:400px;padding:10px 15px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;background:#fff;color:#2c3e50}.domain-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.trend-chart-container{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.trend-chart h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.chart-placeholder p{color:#7f8c8d;margin-bottom:15px;font-size:16px}.trend-data-preview{margin-top:20px;padding:15px;background:#fff;border-radius:4px;text-align:left}.trend-data-preview p{margin:8px 0;color:#555;font-size:14px}.no-data{text-align:center;padding:40px;color:#7f8c8d;font-size:16px}.multi-domain-section{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.multi-domain-section h3{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:20px}.coming-soon{color:#7f8c8d;font-size:14px;margin:0}.trend-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab-button{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:#7f8c8d;transition:all .3s;margin-bottom:-2px}.tab-button:hover{color:#3498db;background:#f8f9fa}.tab-button.active{color:#3498db;border-bottom-color:#3498db;font-weight:600}.domain-selector-multi{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.domain-selector-multi label{display:block;font-weight:600;color:#2c3e50;font-size:14px;margin-bottom:15px}.domain-checkboxes{display:flex;flex-wrap:wrap;gap:15px}.domain-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:4px;cursor:pointer;transition:background .2s}.domain-checkbox:hover{background:#e9ecef}.domain-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.domain-checkbox span{font-size:14px;color:#2c3e50}.owner-finance{max-width:1400px;margin:0 auto}.upload-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.upload-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.upload-box{text-align:center}.upload-button{display:inline-block;padding:12px 24px;background-color:#3498db;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .2s}.upload-button:hover{background-color:#2980b9}.upload-button:disabled{background-color:#95a5a6;cursor:not-allowed}.upload-hint{margin-top:10px;color:#7f8c8d;font-size:13px}.uploaded-file-info{margin-top:15px;padding:12px 15px;background:#e8f5e9;border:1px solid #4caf50;border-radius:6px;display:flex;align-items:center;gap:10px}.file-icon{font-size:18px}.file-name{color:#2e7d32;font-size:14px;font-weight:500}.finance-kpis{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.finance-kpis h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.kpi-card{background:#f8f9fa;padding:20px;border-radius:8px;text-align:center}.kpi-label{font-size:13px;color:#7f8c8d;margin-bottom:10px;font-weight:500}.kpi-value{font-size:24px;font-weight:700;color:#2c3e50}.kpi-value.positive{color:#27ae60}.kpi-value.negative{color:#e74c3c}.no-finance-data{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.no-finance-data p{color:#7f8c8d;font-size:16px;margin:0}.ar-open-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.ar-open-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.ar-table-container{overflow-x:auto}.ar-table{width:100%;border-collapse:collapse}.ar-table thead{background-color:#f8f9fa}.ar-table th{padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.ar-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#555;font-size:14px}.ar-table tbody tr:hover{background-color:#f8f9fa}.ar-amount{font-weight:600;color:#e74c3c}.ar-no-data{padding:20px;text-align:center;color:#7f8c8d;font-size:14px;background:#f8f9fa;border-radius:6px}.source-data-section{margin-top:30px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.source-data-details{border:none}.source-data-summary{padding:20px;background:#f8f9fa;cursor:pointer;font-weight:600;color:#2c3e50;font-size:16px;list-style:none;-webkit-user-select:none;user-select:none;transition:background-color .2s}.source-data-summary:hover{background:#e9ecef}.source-data-summary::-webkit-details-marker{display:none}.source-data-summary:before{content:"▶ ";display:inline-block;margin-right:8px;transition:transform .2s}.source-data-details[open] .source-data-summary:before{transform:rotate(90deg)}.source-data-content{padding:20px;border-top:1px solid #e0e0e0}.source-data-note{margin:0 0 15px;color:#555;font-size:14px}.source-data-info{margin:0;color:#7f8c8d;font-size:13px;line-height:1.6}.source-data-table-section{margin-top:25px}.source-data-table-section h4{margin:0 0 15px;color:#2c3e50;font-size:16px;font-weight:600}.source-table-container{overflow-x:auto;margin-bottom:20px}.source-table{width:100%;border-collapse:collapse;font-size:13px}.source-table thead{background-color:#f8f9fa}.source-table th{padding:10px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;white-space:nowrap}.source-table td{padding:10px;border-bottom:1px solid #f0f0f0;color:#555;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-table tbody tr:hover{background-color:#f8f9fa}.financial-management{padding:20px;max-width:1400px;margin:0 auto}.financial-management.app-mode{padding:6px;max-width:100%}.financial-management.app-mode .app-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.financial-management.app-mode .app-header h1{font-size:18px;margin:0}.financial-management.app-mode .btn-back{padding:6px 12px;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.financial-management.app-mode .btn-back:hover{background:#e0e0e0}.financial-management.app-mode .app-tabs{display:flex;gap:4px;margin-bottom:8px;overflow-x:auto;padding-bottom:4px}.financial-management.app-mode .app-tabs button{padding:6px 12px;font-size:11px;white-space:nowrap;min-width:auto}.financial-header{margin-bottom:24px}.financial-header h1{font-size:28px;font-weight:600;margin-bottom:16px;color:#1a1a1a}.tab-navigation{display:flex;gap:8px;border-bottom:2px solid #e0e0e0;padding-bottom:0}.tab-navigation button{padding:12px 20px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-navigation button:hover{color:#333;background:#f5f5f5}.tab-navigation button.active{color:#2563eb;border-bottom-color:#2563eb}.financial-dashboard{display:flex;flex-direction:column;gap:24px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.kpi-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.kpi-card.normal{border-left:4px solid #10b981}.kpi-card.warning{border-left:4px solid #f59e0b}.kpi-card.critical{border-left:4px solid #ef4444}.kpi-label{font-size:14px;color:#666;margin-bottom:8px}.kpi-value{font-size:24px;font-weight:600;color:#1a1a1a;margin-bottom:4px}.kpi-change{font-size:12px;font-weight:500}.kpi-change.positive{color:#10b981}.kpi-change.negative{color:#ef4444}.trend-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px}.trend-section h2{font-size:20px;font-weight:600;margin-bottom:16px;color:#1a1a1a}.composition-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.composition-chart{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.composition-chart h3{font-size:18px;font-weight:600;margin-bottom:16px;color:#1a1a1a;text-align:center}.recent-section{display:grid;grid-template-columns:1fr 1fr;gap:24px}.recent-section h3{font-size:18px;font-weight:600;margin-bottom:16px;color:#1a1a1a}.recent-section h4{font-size:16px;font-weight:500;margin-bottom:12px;color:#333}.recent-revenue,.recent-expense{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.recent-revenue h3,.recent-expense h3{font-size:18px;font-weight:600;margin-bottom:16px;color:#1a1a1a}.data-table{width:100%;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:10px;text-align:left;border-bottom:1px solid #e0e0e0}.data-table th{background:#f5f5f5;font-weight:600;color:#333;font-size:12px}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tab-header h2{font-size:24px;font-weight:600;color:#1a1a1a}.btn-primary{padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#1d4ed8}.tab-content{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;min-height:400px}.loading,.error,.no-data{text-align:center;padding:40px;color:#666}.error{color:#ef4444}.error button{margin-top:16px;padding:10px 20px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:20px;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#666;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-form{padding:20px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #d0d0d0;border-radius:6px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-secondary{padding:10px 20px;background:#f5f5f5;color:#333;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#e0e0e0}.btn-edit,.btn-delete{padding:6px 12px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;margin-right:4px;transition:all .2s}.btn-edit{background:#2563eb;color:#fff}.btn-edit:hover{background:#1d4ed8}.btn-delete{background:#ef4444;color:#fff}.btn-delete:hover{background:#dc2626}@media (max-width: 900px){.recent-section,.composition-section,.kpi-grid{grid-template-columns:1fr}.tab-navigation{overflow-x:auto;flex-wrap:nowrap}.modal-content{width:95%;max-height:95vh}}.status-badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-unpaid{background:#fee2e2;color:#991b1b}.status-partial{background:#fef3c7;color:#92400e}.status-paid{background:#d1fae5;color:#065f46}.status-overdue{background:#fecaca;color:#7f1d1d}.reports-tab{padding:20px}.report-section,.export-section,.import-section{margin-bottom:30px;padding:20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.report-section h3,.export-section h3,.import-section h3{margin-top:0;margin-bottom:15px;color:#1f2937;font-size:18px}.report-options,.export-options,.import-options{display:flex;flex-wrap:wrap;gap:15px;align-items:flex-end}.report-options .form-group,.export-options .form-group,.import-options .form-group{flex:1;min-width:150px}.report-options label,.export-options label,.import-options label{display:block;margin-bottom:5px;font-weight:500;color:#374151;font-size:14px}.report-options .form-control,.export-options .form-control,.import-options .form-control{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.report-options button,.export-options button,.import-options button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.report-options .btn-primary,.export-options .btn-primary{background:#3b82f6;color:#fff}.report-options .btn-primary:hover,.export-options .btn-primary:hover{background:#2563eb}.import-options .btn-success{background:#10b981;color:#fff}.import-options .btn-success:hover{background:#059669}.import-options .btn-success:disabled{background:#9ca3af;cursor:not-allowed}.import-result{margin-top:15px;padding:12px;border-radius:6px;font-size:14px}.import-result.success{background:#d1fae5;color:#065f46;border:1px solid #10b981}.import-result.error{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.import-result div{margin-top:5px;font-size:12px;opacity:.8}.file-save-hint{margin-top:8px;font-size:12px;color:#6b7280}.report-preview-section{margin-top:24px;padding:16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.report-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.report-kpi-item{border:1px solid #e5e7eb;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:2px;background:#f9fafb}.report-kpi-item span{font-size:12px;color:#6b7280}.report-kpi-item strong{font-size:14px;color:#111827}.report-todo-box{margin-top:12px;padding:10px;border-radius:6px;background:#f8fafc;border:1px solid #e2e8f0}.report-todo-box h4{margin:0 0 6px;font-size:14px}.report-todo-box ul{margin:0;padding-left:18px}.report-todo-box li{margin:4px 0;font-size:13px}.owner-domain-dist{max-width:1400px;margin:0 auto}.dist-chart-container{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.dist-chart-container h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.chart-placeholder{padding:40px;background:#f8f9fa;border:2px dashed #e0e0e0;border-radius:8px;text-align:center}.chart-placeholder p{color:#7f8c8d;margin-bottom:10px;font-size:16px}.chart-note{font-size:14px;color:#95a5a6}.dist-table-container{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto}.dist-table-container h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.dist-table{width:100%;border-collapse:collapse}.dist-table thead{background-color:#f8f9fa}.dist-table th{padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.dist-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#555;font-size:14px}.dist-table tbody tr:hover{background-color:#f8f9fa}.teacher-dashboard{max-width:1480px;margin:0 auto}.teacher-dashboard h2{margin-bottom:18px;color:#1f2937;font-size:26px}.dashboard-top-grid .dashboard-calendar-section{grid-column:span 10;margin-bottom:0}.summary-grid{display:grid;grid-template-columns:1fr;gap:10px}.summary-card{background:#f8fafc;border:1px solid #edf0f4;padding:12px;border-radius:10px}.summary-label{font-size:13px;color:#6b7280;margin-bottom:6px}.summary-value{font-size:24px;font-weight:700;color:#1f2937}.dashboard-sections{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:16px}.charts-grid .dashboard-section,.ops-grid .dashboard-section{grid-column:span 6}.two-fixed-groups{align-items:stretch;grid-template-columns:1fr 1fr}.two-fixed-groups .fixed-group-panel{grid-column:span 1;min-height:320px;padding:10px}.group-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:8px}.group-quick-links.learning-group{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-entry-grid>div{grid-column:span 12}.dashboard-section{padding:16px}.dashboard-section.compact{padding:14px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-link{color:#2563eb;text-decoration:none;font-size:13px;font-weight:600}.section-link:hover{color:#1d4ed8}.exam-sets-list,.students-preview{display:flex;flex-direction:column;gap:10px}.exam-set-card,.student-preview-card{padding:12px;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s;background:#fff}.exam-set-card:hover,.student-preview-card:hover{border-color:#93c5fd;background:#f8fafc}.exam-set-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.exam-set-header h4{margin:0;color:#1f2937;font-size:15px}.status-badge{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:700}.status-badge.published{background-color:#dcfce7;color:#166534}.status-badge.draft{background-color:#fef3c7;color:#92400e}.exam-set-meta,.student-preview-meta{display:flex;gap:10px;font-size:12px;color:#6b7280}.student-preview-name{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:4px}.question-generation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.generation-card{padding:16px;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit;transition:all .2s;text-align:center;background:#fff}.generation-card:hover{border-color:#93c5fd;box-shadow:0 3px 10px #3b82f626;transform:translateY(-1px)}.card-icon{font-size:30px;margin-bottom:10px}.card-title{font-size:15px;font-weight:700;color:#1f2937;margin-bottom:4px}.card-description{font-size:12px;color:#6b7280}.empty-message{color:#6b7280;font-size:13px;text-align:center;padding:16px;background:#f8fafc;border-radius:8px}.more-link{text-align:center;padding:8px 0 2px}.more-link a{color:#2563eb;text-decoration:none;font-size:13px;font-weight:600}.more-link a:hover{color:#1d4ed8;text-decoration:underline}.dashboard-loading,.dashboard-error{text-align:center;padding:40px;background:#fff;border-radius:10px;border:1px solid #e6e8ec}.dashboard-error button{margin-top:12px;padding:10px 16px;background-color:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px}.dashboard-error button:hover{background-color:#1d4ed8}.dashboard-loading-inline{padding:10px;margin-bottom:10px;background:#eef5ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;text-align:center;font-size:13px}@media (max-width: 900px){.dashboard-top-grid{grid-template-columns:1fr}.dashboard-top-grid .dashboard-calendar-section,.dashboard-top-grid .kpi-panel,.charts-grid .dashboard-section,.ops-grid .dashboard-section{grid-column:span 12}.two-fixed-groups{grid-template-columns:1fr}.fixed-group-panel{min-height:auto;max-height:none}.group-quick-links,.group-quick-links.learning-group,.group-quick-links.row-2,.group-quick-links.row-3{grid-template-columns:1fr}}.teacher-app-dashboard{max-width:1280px;margin:0 auto;padding:6px 6px 10px}.app-top-actions{display:flex;justify-content:flex-start;margin-bottom:6px}.back-btn{border:1px solid #d1d5db;background:#fff;color:#1f2937;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .16s ease}.back-btn:hover{border-color:#93c5fd;color:#1d4ed8;box-shadow:0 2px 8px #2563eb1f}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:2px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 4px #0f172a0f;padding:8px 6px;text-align:center;min-height:52px;display:flex;flex-direction:column;justify-content:center}.kpi-label{font-size:10px;color:#6b7280;margin-bottom:4px;font-weight:500}.kpi-value{font-size:14px;font-weight:700;color:#1f2937;line-height:1.2}.feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 4px #0f172a0f;padding:5px 4px;min-height:52px;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer}.teacher-app-dashboard .calendar-container{padding:6px;margin-bottom:0;border-radius:8px;box-shadow:none}.teacher-app-dashboard .calendar-header{margin-bottom:8px;padding-bottom:6px}.teacher-app-dashboard .calendar-month,.teacher-app-dashboard .calendar-year{font-size:14px;font-weight:600}.teacher-app-dashboard .calendar-nav-btn,.teacher-app-dashboard .calendar-today-btn{padding:4px 8px;font-size:11px}.teacher-app-dashboard .calendar-day-header{padding:4px 2px;font-size:10px}.teacher-app-dashboard .calendar-day{padding:2px;min-height:32px}.teacher-app-dashboard .day-number{font-size:11px;padding:2px}.teacher-app-dashboard .day-events{font-size:8px;margin-top:2px}.teacher-app-dashboard .day-memo-titles{font-size:8px;margin-top:1px}@media (max-width: 900px){.dashboard-kpi-grid,.dashboard-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 600px){.dashboard-kpi-grid,.dashboard-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}}.teacher-exam-management{max-width:1400px;margin:0 auto}.create-exam-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.create-exam-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.create-exam-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.exam-sets-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.exam-sets-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.exam-set-selector{display:flex;align-items:center;gap:15px;margin-bottom:25px;padding:15px;background:#f8f9fa;border-radius:6px}.exam-set-selector label{font-weight:600;color:#2c3e50;font-size:14px}.exam-set-select{flex:1;max-width:500px;padding:10px 15px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;background:#fff}.exam-set-details{margin-top:20px}.exam-set-header-section{margin-bottom:20px}.exam-set-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px;padding:20px;background:#f8f9fa;border-radius:6px}.info-item{display:flex;flex-direction:column;gap:5px}.info-label{font-size:12px;color:#7f8c8d;font-weight:500}.info-value{font-size:16px;color:#2c3e50;font-weight:600}.status-badge.published{background-color:#d4edda;color:#155724}.exam-set-actions{margin-bottom:25px}.action-button{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.publish-button{background-color:#27ae60;color:#fff}.publish-button:hover{background-color:#229954}.unpublish-button{background-color:#e74c3c;color:#fff}.unpublish-button:hover{background-color:#c0392b}.exam-items-section{margin-top:25px;padding-top:25px;border-top:2px solid #e0e0e0}.exam-items-section h4{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:18px}.items-table{width:100%;border-collapse:collapse}.items-table thead{background-color:#f8f9fa}.items-table th{padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.items-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#555;font-size:14px}.items-table tbody tr:hover{background-color:#f8f9fa}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.no-items{color:#7f8c8d;font-size:14px;text-align:center;padding:20px;background:#f8f9fa;border-radius:6px}.exam-name-display{display:flex;align-items:center;gap:10px}.edit-name-button{background:none;border:none;cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px;transition:background-color .2s}.edit-name-button:hover{background-color:#e8f4f8}.edit-name-form{display:flex;align-items:center;gap:10px}.edit-name-input{flex:1;padding:6px 10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;max-width:300px}.edit-name-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.save-name-button,.cancel-name-button{padding:6px 12px;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .2s}.save-name-button{background-color:#27ae60;color:#fff}.save-name-button:hover{background-color:#229954}.cancel-name-button{background-color:#95a5a6;color:#fff}.cancel-name-button:hover{background-color:#7f8c8d}.teacher-phonics{max-width:1400px;margin:0 auto}.create-phonics-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.create-phonics-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.create-phonics-form{display:flex;flex-direction:column;gap:20px}.form-group input,.form-group select,.form-group textarea{padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.phonics-items-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.phonics-items-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.filter-section{display:flex;gap:20px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:600;color:#2c3e50;font-size:14px;white-space:nowrap}.filter-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;background:#fff;min-width:150px}.phonics-items-table{width:100%;border-collapse:collapse}.phonics-items-table thead{background-color:#f8f9fa}.phonics-items-table th{padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.phonics-items-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#555;font-size:14px}.phonics-items-table tbody tr:hover{background-color:#f8f9fa}.teacher-school{max-width:1400px;margin:0 auto}.generate-school-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.generate-school-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.generate-school-form{display:flex;flex-direction:column;gap:20px}.school-items-table{width:100%;border-collapse:collapse}.school-items-table thead{background-color:#f8f9fa}.school-items-table th{padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.school-items-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#555;font-size:14px}.school-items-table tbody tr:hover{background-color:#f8f9fa}.teacher-csat{max-width:1400px;margin:0 auto}.kpi-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.kpi-item{text-align:center;padding:15px;background:#f8f9fa;border-radius:6px}.kpi-label{font-size:12px;color:#7f8c8d;margin-bottom:8px}.kpi-value{font-size:20px;font-weight:600;color:#2c3e50}.form-section{margin-bottom:25px;padding:20px;background:#f8f9fa;border-radius:6px}.form-section h4{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:16px}.form-group input[type=range]{width:100%;margin-top:8px}.items-preview{margin-bottom:20px}.items-textarea{width:100%;padding:15px;border:1px solid #e0e0e0;border-radius:4px;font-family:Courier New,monospace;font-size:13px;line-height:1.6;resize:vertical}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.download-buttons{display:flex;gap:10px}.download-btn{padding:8px 16px;background-color:#27ae60;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s}.download-btn:hover{background-color:#229954}.item-text-cell{max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.answers-section{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:6px}.answers-section h4{margin-top:0;margin-bottom:15px;color:#2c3e50}.answers-text{font-family:Courier New,monospace;font-size:14px;line-height:1.8;white-space:pre-wrap;background:#fff;padding:15px;border-radius:4px;border:1px solid #e0e0e0}.yaml-section{margin-top:15px;padding:15px;background:#fff3cd;border-radius:6px;border:1px solid #ffc107}.yaml-button{padding:10px 20px;background-color:#ffc107;color:#000;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;margin-right:10px}.yaml-button:hover:not(:disabled){background-color:#ffb300}.yaml-button:disabled{background-color:#95a5a6;cursor:not-allowed}.yaml-success{color:#27ae60;font-weight:600;margin-left:10px}.form-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-group input[type=radio]{cursor:pointer}.item-by-item-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:30px}.item-by-item-section h3{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:20px}.section-description{color:#7f8c8d;font-size:14px;margin-bottom:20px}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;max-height:600px;overflow-y:auto;padding:10px}.item-card{border:1px solid #e0e0e0;border-radius:6px;padding:15px;background:#f8f9fa;transition:box-shadow .2s}.item-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.item-card-header h4{margin:0;color:#2c3e50;font-size:16px}.generate-item-button{padding:6px 12px;background-color:#3498db;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s}.generate-item-button:hover:not(:disabled){background-color:#2980b9}.generate-item-button:disabled{background-color:#95a5a6;cursor:not-allowed}.item-card-info{font-size:12px;color:#555}.info-row{display:flex;gap:8px;margin-bottom:6px}.info-label{font-weight:600;color:#2c3e50;min-width:60px}.info-value{color:#555;flex:1}.item-result{margin-top:10px;padding:10px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.result-text{margin-bottom:8px}.result-text strong{display:block;margin-bottom:5px;color:#2c3e50;font-size:13px}.result-text pre{margin:0;padding:8px;background:#f8f9fa;border-radius:4px;font-size:11px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;max-height:150px;overflow-y:auto}.result-answer{font-size:12px;color:#27ae60;font-weight:600}.generate-csat-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.generate-csat-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.generate-csat-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#2c3e50;font-size:14px}.form-group input,.form-group select{padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.domains-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:15px;background:#f8f9fa;border-radius:6px;max-height:300px;overflow-y:auto}.domain-checkbox{display:flex;align-items:center;gap:8px;padding:8px;background:#fff;border-radius:4px;cursor:pointer;transition:background-color .2s}.domain-checkbox:hover{background-color:#e8f4f8}.form-hint{margin-top:8px;color:#7f8c8d;font-size:13px}.submit-button{padding:12px 24px;background-color:#3498db;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;align-self:flex-start}.submit-button:hover:not(:disabled){background-color:#2980b9}.submit-button:disabled{background-color:#95a5a6;cursor:not-allowed}.generated-items-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.generated-items-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.items-table-container{overflow-x:auto}.csat-items-table{width:100%;border-collapse:collapse}.csat-items-table thead{background-color:#f8f9fa}.csat-items-table th{padding:12px;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #e0e0e0;font-size:14px}.csat-items-table td{padding:12px;border-bottom:1px solid #f0f0f0;color:#555;font-size:14px}.csat-items-table tbody tr:hover{background-color:#f8f9fa}.csat-items-table tbody tr.selected{background-color:#e3f2fd;font-weight:500;border-left:4px solid #1976d2;box-shadow:inset 0 0 0 1px #1976d233}.csat-b-rule-list{margin:0;padding-left:20px;line-height:1.8;color:#2c3e50}.csat-b-panel{margin-top:24px;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.csat-b-panel h3{margin-top:0;margin-bottom:16px;color:#2c3e50}.csat-b-items-table-wrap{margin-bottom:20px;overflow-x:auto}.csat-b-items-table thead th{min-width:100px}.csat-b-items-table tbody tr{cursor:pointer}.csat-b-items-table tbody tr.selected{background-color:#e3f2fd}.csat-b-items-table .no-data{color:#7f8c8d;font-style:italic}.csat-b-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:stretch}.csat-b-two-col .csat-b-box{display:flex;flex-direction:column;min-height:0}@media (max-width: 900px){.csat-b-two-col{grid-template-columns:1fr}}.csat-b-box{border:1px solid #e0e0e0;border-radius:6px;overflow:hidden;display:flex;flex-direction:column}.csat-b-box .csat-b-preview{flex:1;min-height:380px}.csat-b-box h4{margin:0;padding:10px 14px;background:#f5f5f5;font-size:14px;color:#2c3e50}.csat-b-yaml-view,.csat-b-preview{margin:0;padding:14px;height:380px;min-height:380px;max-height:380px;overflow:auto;font-size:14px;line-height:1.65;white-space:pre-wrap;word-break:break-word;background:#fafafa;box-sizing:border-box;font-family:Malgun Gothic,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;color:#222;letter-spacing:.02em}.csat-b-yaml-edit{display:block;width:100%;height:380px;min-height:380px;margin:0;padding:14px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.5;border:1px solid #e0e0e0;border-radius:4px;background:#fafafa;resize:vertical;box-sizing:border-box}.csat-b-yaml-edit:focus{outline:none;border-color:#007bff;background:#fff}.csat-b-yaml-actions{display:flex;align-items:center;gap:10px;margin-top:8px;padding:0 2px}.csat-b-yaml-actions button.small,.csat-b-modal button.small{padding:4px 10px;font-size:13px}.csat-b-yaml-dirty{font-size:12px;color:#e67e22}.csat-b-preview pre{margin:8px 0;white-space:pre-wrap;font-family:Malgun Gothic,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;font-size:14px;line-height:1.7;color:#222}.csat-b-preview .no-data{color:#7f8c8d;font-style:italic}.csat-b-audio-wrap{margin:8px 0}.csat-b-audio-wrap span{display:block;font-size:12px;color:#666;margin-bottom:4px}.csat-b-audio{width:100%;max-width:320px;height:40px}.csat-b-validation{margin-top:12px;padding:10px 12px;background:#f8f9fa;border-radius:6px;font-size:12px;font-family:Malgun Gothic,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;line-height:1.5;color:#333}.csat-b-validation strong{display:block;margin-bottom:6px;color:#2c3e50}.csat-b-validation-note{margin:4px 0 8px;color:#666;font-size:11px;line-height:1.4}.csat-b-validation ul{margin:0;padding-left:18px}.csat-b-validation li{margin:2px 0}.csat-b-validation-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.csat-b-validation-table th,.csat-b-validation-table td{padding:6px 10px;text-align:left;border:1px solid #e0e0e0}.csat-b-validation-table th{background:#f0f0f0;font-weight:600;color:#333;width:28%}.csat-b-validation-table td{background:#fff}.csat-b-validation-table .col-target{background:#e8f4fc}.csat-b-validation-table .col-actual{background:#e8f5e9;font-weight:600}.csat-b-validation-table .col-diff{font-size:11px;color:#666}.csat-b-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.csat-b-modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.csat-b-modal{background:#fff;padding:20px;border-radius:8px;min-width:320px;max-width:90vw}.csat-b-modal h4{margin-top:0}.csat-b-modal select{width:100%;padding:8px;margin-top:8px}.csat-b-view-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px;font-family:Malgun Gothic,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;line-height:1.65;color:#222}.csat-b-view-dl dt{font-weight:600;color:#555}.csat-b-view-dl dd{margin:0}.csat-b-view-content{margin-top:12px}.csat-b-view-label{font-weight:600;color:#333;margin-bottom:6px}.csat-b-view-passage{margin:0;padding:12px;background:#f8f9fa;border-radius:6px;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow:auto;font-size:14px;line-height:1.7;font-family:Malgun Gothic,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;color:#222;letter-spacing:.02em}.csat-b-modal-view{max-width:560px}.csat-b-modal-view-font,.csat-b-modal-view-font .csat-b-view-dl,.csat-b-modal-view-font .csat-b-view-passage,.csat-b-modal-view-font .csat-b-view-no-content{font-family:Malgun Gothic,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;font-size:14px;line-height:1.65;color:#222}.csat-b-view-no-content{margin-top:12px;color:#666;font-size:13px}.csat-b-blind-hint{margin-top:12px;padding:12px;background:#e8f5e9;border-radius:6px;color:#2e7d32;font-size:13px}.csat-b-qno-actions{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.csat-b-qno-count{font-size:14px;color:#495057;font-weight:600}.csat-b-qno-btn{padding:6px 12px;font-size:13px;border:1px solid #dee2e6;border-radius:6px;background:#fff;cursor:pointer;color:#495057}.csat-b-qno-btn:hover{background:#e9ecef;border-color:#adb5bd}.csat-b-qno-grid{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:6px 10px;margin-bottom:16px}.csat-b-qno-radio,.csat-b-qno-check{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 8px;border-radius:6px;background:#f8f9fa;border:1px solid #e9ecef;transition:background .15s,border-color .15s}.csat-b-qno-radio:hover,.csat-b-qno-check:hover{background:#e9ecef;border-color:#dee2e6}.csat-b-qno-radio:has(input:checked),.csat-b-qno-check:has(input:checked){background:#e3f2fd;border-color:#2196f3;font-weight:600}.csat-b-qno-radio input,.csat-b-qno-check input{margin:0;cursor:pointer}.csat-b-qno-label{font-size:14px;min-width:1.2em}.csat-b-form-actions{margin-top:12px;flex-wrap:wrap}@media (max-width: 900px){.csat-b-qno-grid{grid-template-columns:repeat(9,minmax(0,1fr))}}.level-test-item-management{padding:20px}.level-test-item-management>h1{margin-bottom:20px}.ltim-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ltim-page-header h1{margin:0}.ltim-dashboard-btn{display:inline-flex;align-items:center;gap:4px;padding:7px 16px;font-size:13px;font-weight:600;color:#fff;background:#4f46e5;border:none;border-radius:8px;cursor:pointer;transition:background .15s;white-space:nowrap}.ltim-dashboard-btn:hover{background:#4338ca}.tabs.ltim-v3-tabs{display:flex;flex-wrap:wrap;gap:4px 8px;row-gap:6px;justify-content:flex-start;align-items:flex-end}.tabs.ltim-v3-tabs button{flex:0 0 auto;width:auto;max-width:100%;padding:10px 14px;white-space:nowrap}@media (max-width: 720px){.tabs.ltim-v3-tabs button{padding:8px 12px;font-size:14px}}.level-test-item-management .lt-external-audit-tab.generate-tab{max-width:min(100vw - 40px,1320px)}.level-test-item-management .lt-ext-audit-subtab{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid #cbd5e1;background:#f8fafc;color:#334155}.level-test-item-management .lt-ext-audit-subtab:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.level-test-item-management .lt-ext-audit-subtab.lt-ext-audit-subtab--active{background:#dbeafe;border-color:#2563eb;color:#1e3a8a;box-shadow:inset 0 0 0 1px #2563eb59}.level-test-item-management .lt-ext-audit-subtab:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.level-test-item-management .lt-ext-audit-subtab:disabled{opacity:.55;cursor:not-allowed}.items-list-wrap.lt-dryrun-preview-scroll{overflow-x:auto;max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}.items-table.lt-dryrun-preview-table{table-layout:fixed;width:100%}.items-table.lt-dryrun-preview-table thead th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.items-table.lt-dryrun-preview-table .lt-dryrun-col-passage,.items-table.lt-dryrun-preview-table .lt-dryrun-col-stem{width:19%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#212529;font-size:13px}.items-table.lt-dryrun-preview-table tbody td{vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.items-table.lt-dryrun-preview-table tbody td.lt-dryrun-col-detail{overflow:visible;text-overflow:clip;white-space:nowrap;max-width:none}.items-table.lt-dryrun-preview-table .lt-dryrun-col-qmatrix{width:22%;min-width:11rem;font-size:11px;font-family:ui-monospace,monospace;color:#334155}.items-table.lt-dryrun-preview-table .lt-dryrun-qmatrix-text{display:inline;font-size:inherit;white-space:inherit}.items-table.lt-dryrun-preview-table .lt-dryrun-col-irt-b{width:7%;min-width:4.5em;font-size:13px;font-variant-numeric:tabular-nums;color:#1e3a8a}.items-table.lt-dryrun-preview-table .lt-dryrun-col-verdict{width:9%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#212529}.items-table.lt-dryrun-preview-table .lt-dryrun-col-detail{width:158px;min-width:158px;max-width:158px}.items-table.lt-dryrun-preview-table thead .lt-dryrun-col-detail{white-space:nowrap}.items-table.lt-dryrun-preview-table td.lt-dryrun-col-detail{text-align:center}.lt-dryrun-open-window-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;font-size:12px;font-weight:600;color:#fff;background:#2563eb;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s}.lt-dryrun-open-window-btn:hover{background:#1d4ed8}.lt-dryrun-detail-empty{color:#94a3b8;font-size:12px}.items-table .lt-dryrun-detail-cell{vertical-align:middle;white-space:nowrap}.ltim-v3-lede{margin:0 0 14px;font-size:13px;line-height:1.45;color:#64748b}.ltim-legacy-notice{margin:0 0 16px;padding:10px 14px;font-size:14px;line-height:1.5;color:#334155;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px}.ltim-legacy-notice a{font-weight:600;color:#b45309;text-decoration:underline}.tabs{display:flex;flex-wrap:wrap;gap:10px;row-gap:8px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tabs button{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:16px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px}.tabs button.active{color:#007bff;border-bottom-color:#007bff}.tabs button:hover{color:#0056b3}.items-tab .filters{display:flex;gap:10px;margin-bottom:20px;align-items:center}.items-tab .filters select,.items-tab .filters button{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.items-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:12px;background:#f7f9fc;border:1px solid #e6e8ec;border-radius:10px}.items-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.items-filter-item{display:flex;align-items:center;gap:6px}.items-filter-item label{margin:0;font-size:13px;font-weight:500;color:#495057;white-space:nowrap}.items-filter-item-wide select{min-width:220px;max-width:min(420px,100%)}.lg-level-iii-pill{display:inline-block;max-width:100%;padding:2px 8px;border-radius:6px;background:#f3f4f6;border:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.generate-field-level-iii select{min-width:200px;max-width:min(380px,100%)}.items-filter-item select{padding:6px 10px;min-width:100px;border:1px solid #ddd;border-radius:6px;font-size:13px}.items-filter-btn{padding:6px 14px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.items-filter-trace-merge{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#374151;-webkit-user-select:none;user-select:none}.items-filter-trace-merge input{margin:0}.lt-trace-json-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;color:#0369a1;background:#e0f2fe;border-radius:4px;vertical-align:middle}.items-filter-btn:hover{background:#0056b3}.items-toolbar.items-toolbar-with-trace{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);align-items:stretch;gap:14px}@media (max-width: 900px){.items-toolbar.items-toolbar-with-trace{grid-template-columns:1fr}}.items-toolbar-main{display:flex;flex-direction:column;gap:10px;min-width:0}.items-trace-dock{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;background:#fff;display:flex;flex-direction:column;min-height:0}.items-trace-dock-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.items-trace-dock-title{font-size:13px;font-weight:700;color:#334155}.items-trace-refresh{padding:4px 10px;font-size:12px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;cursor:pointer}.items-trace-refresh:disabled{opacity:.6;cursor:default}.items-trace-dock-hint{margin:0 0 8px;font-size:11px;line-height:1.4;color:#64748b}.items-trace-list-scroll{max-height:200px;overflow:auto;border:1px solid #f1f5f9;border-radius:6px;background:#fafbfc}.items-trace-file-list{list-style:none;margin:0;padding:4px 0}.items-trace-file-list li{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 8px;font-size:11px}.items-trace-filename{flex:1;min-width:0;text-align:left;border:none;background:transparent;color:#2563eb;cursor:pointer;text-decoration:underline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0;font-size:11px}.items-trace-size{flex-shrink:0;color:#94a3b8;font-size:10px}.items-trace-muted{padding:12px 10px;font-size:12px;color:#94a3b8}.items-trace-err{margin-top:6px;font-size:11px;color:#b91c1c}.items-trace-dir{margin-top:6px;font-size:10px;color:#64748b;word-break:break-all}.items-trace-dir code{font-size:10px;background:#f1f5f9;padding:1px 4px;border-radius:4px}.items-trace-beside-confirm{display:inline-flex;align-items:center;gap:6px;padding-left:4px;border-left:1px solid #e2e8f0;margin-left:4px}.items-trace-beside-label{font-size:12px;color:#64748b;white-space:nowrap}.items-trace-beside-confirm select{max-width:min(220px,36vw);padding:4px 8px;font-size:11px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.items-db-mismatch-hint{margin:0 0 12px;padding:10px 14px;font-size:13px;line-height:1.5;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px}.items-selection-actions{display:flex;align-items:center;gap:8px}.items-selection-count{font-size:13px;color:#495057;margin-right:4px}.items-action-btn{padding:6px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:12px;background:#fff;cursor:pointer}.items-action-btn:hover{background:#f1f3f5}.items-action-danger{border-color:#dc3545;color:#dc3545;background:#fff}.items-action-danger:hover{background:#dc3545;color:#fff}.items-list-card{background:#fff;border:1px solid #e6e8ec;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.items-list-wrap{overflow-x:auto}.items-table{width:100%;border-collapse:collapse;font-size:13px}.items-table th,.items-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #edf0f4;vertical-align:middle}.items-table thead th{background:#f1f3f5;font-weight:600;color:#495057;white-space:nowrap}.items-table tbody tr:hover{background:#f8fafc}.items-table .col-check{width:40px;text-align:center}.items-table .col-check input{margin:0}.items-table .col-domain{width:120px;max-width:140px;font-weight:500;color:#0d6efd;font-family:ui-monospace,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table .col-import-set-id{width:132px;max-width:160px;font-size:11px;font-family:ui-monospace,monospace;color:#495057;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table .col-prompt{width:30%;max-width:224px;min-width:126px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#212529}.items-table .col-params{width:110px;max-width:130px;font-size:12px;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table .param-line{display:block;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.items-table .item-judge-discard{color:#c82333;font-weight:700;font-size:11px;letter-spacing:.02em}.items-table .col-usage{width:56px;text-align:center;color:#6c757d}.items-table .col-actions{width:140px;min-width:140px;white-space:nowrap}.th-sort-btn{border:none;background:none;cursor:pointer;font-weight:600;padding:0;color:inherit;font-size:inherit}.th-sort-btn:hover{color:#007bff}.items-row-btn{padding:4px 8px;margin-right:4px;font-size:12px;border:1px solid #dee2e6;border-radius:4px;background:#fff;cursor:pointer}.items-row-btn:hover{background:#e9ecef}.items-row-btn-danger{border-color:#f5c6cb;color:#dc3545}.items-row-btn-danger:hover{background:#dc3545;color:#fff;border-color:#dc3545}.items-list table{width:100%;border-collapse:collapse}.items-list th,.items-list td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.items-list th{background-color:#f5f5f5;font-weight:600}.prompt-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.generate-tab,.edit-tab{max-width:900px}.generate-tab-title{margin:0 0 12px;font-size:1.25rem}.generate-alert{padding:10px 14px;margin-bottom:12px;border-radius:6px;font-size:14px}.generate-alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.generate-alert-loading{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.generate-prompt-yaml-dock{margin-top:24px;border-top:1px solid #e5e7eb;padding-top:12px}.generate-prompt-yaml-toggle{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;width:100%;text-align:left;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:14px;color:#334155;transition:background .15s,border-color .15s}.generate-prompt-yaml-toggle:hover{background:#f1f5f9;border-color:#cbd5e1}.generate-prompt-yaml-toggle-label{font-weight:600;color:#0f172a}.generate-prompt-yaml-toggle-hint{font-size:13px;color:#64748b;font-weight:400}.generate-prompt-yaml-panel{margin-top:12px;padding:14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px #0000000a}.generate-prompt-yaml-intro{margin:0 0 12px;font-size:13px;color:#475569;line-height:1.5}.generate-prompt-yaml-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:12px}.generate-prompt-yaml-file-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#334155}.generate-prompt-yaml-file-label select{min-width:260px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}.generate-prompt-yaml-pre{margin:0;padding:14px 16px;max-height:min(420px,50vh);overflow:auto;font-size:12px;line-height:1.45;background:#0f172a;color:#e2e8f0;border-radius:8px;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.generate-alert-with-spinner{display:flex;align-items:center;gap:12px}.generate-alert-with-spinner>span:last-child{flex:1;min-width:0}@keyframes generate-spinner-rotate{to{transform:rotate(360deg)}}.generate-processing-spinner{box-sizing:border-box;display:inline-block;flex-shrink:0;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:generate-spinner-rotate .7s linear infinite;vertical-align:middle}.generate-processing-spinner--alert{width:22px;height:22px}.generate-processing-spinner--progress{width:18px;height:18px;color:#1565c0}.generate-processing-spinner--sm{width:14px;height:14px;border-width:2px}.generate-processing-spinner--btn{width:16px;height:16px;border-color:#ffffffeb;border-top-color:transparent}.generate-submit-btn.is-generating{display:inline-flex;align-items:center;justify-content:center;gap:8px}.generate-card{background:#fff;border:1px solid #e6e8ec;border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.generate-card-heading{margin:0;padding:10px 14px;font-size:14px;font-weight:600;background:#f7f9fc;border-bottom:1px solid #e6e8ec;color:#333}.generate-card-body{padding:12px 14px}.generate-domain-row,.generate-options-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.lt-gen-domain-toolbar{align-items:flex-end;justify-content:space-between}.lt-gen-domain-selects{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;flex:1 1 auto;min-width:0}.lt-gen-domain-actions{flex:0 0 auto;margin-left:auto;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.lt-gen-model-picker{display:flex;flex-direction:column;gap:6px;min-width:0}.lt-gen-model-picker-label{margin:0;font-size:12px;font-weight:600;color:#495057}.lt-gen-model-picker-btns{display:flex;flex-wrap:wrap;gap:6px}.lt-gen-model-btn{padding:6px 12px;font-size:13px;font-weight:500;border-radius:6px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;cursor:pointer;line-height:1.2}.lt-gen-model-btn:hover:not(:disabled){background:#eef2f7;border-color:#94a3b8}.lt-gen-model-btn.is-selected{background:#dbeafe;border-color:#3b82f6;font-weight:600;color:#1e3a5f}.lt-gen-model-btn:disabled{opacity:.55;cursor:not-allowed}.generate-field-inline{display:flex;align-items:center;gap:8px}.generate-field-inline label{margin:0;font-size:13px;font-weight:500;color:#495057;white-space:nowrap}.generate-field-inline select,.generate-field-inline input{padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;min-width:120px}.generate-set-count-input{width:60px;text-align:center}.generate-submit-wrap{margin-left:auto}.generate-submit-btn{padding:8px 20px;background-color:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.generate-submit-btn:hover:not(:disabled){background-color:#0056b3}.generate-submit-btn:disabled{opacity:.6;cursor:not-allowed}.lt-gen-options{display:flex;flex-direction:column;gap:14px}.lt-gen-options-primary{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:500;color:#333;cursor:pointer}.lt-gen-options-primary input[type=checkbox]{flex-shrink:0}.lt-gen-options-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px 18px;align-items:end}.lt-gen-options-field{display:flex;flex-direction:column;gap:6px;min-width:0}.lt-gen-options-field>label{margin:0;font-size:13px;font-weight:500;color:#495057}.lt-gen-options-input{width:100%;max-width:220px;min-width:0;padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:14px;box-sizing:border-box}.lt-gen-options-field .generate-set-count-input.lt-gen-options-input{max-width:80px}.lt-gen-trace-policy{margin:0 0 12px;padding:10px 12px;font-size:13px;line-height:1.45;color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.lt-gen-trace-policy code{font-size:12px;background:#fff;padding:1px 5px;border-radius:4px}.lt-gen-options-secondary{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;padding-top:12px;border-top:1px solid #eef1f5}.lt-gen-options-secondary label{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;color:#495057;cursor:pointer}.lt-gen-options-actions{display:flex;justify-content:flex-end}.lt-gen-options-fields.lt-gen-options-fields--narrow{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-width:520px}.lt-angel-topic-panel{padding:12px;border:1px solid #e3e7ee;border-radius:8px;background:#fafbfd}.lt-angel-topic-panel.is-disabled{opacity:.55;pointer-events:none}.lt-angel-topic-panel-head{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.lt-angel-topic-panel-head strong{font-size:14px;color:#222}.lt-angel-topic-panel-sub{font-size:12px;color:#5c6570;line-height:1.45}.lt-angel-topic-controls{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px 18px;align-items:end;margin-bottom:10px}.lt-angel-topic-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;font-size:13px;color:#495057}.lt-angel-topic-clear-btn{font-size:12px;padding:4px 10px;border-radius:6px;border:1px solid #ced4da;background:#fff;cursor:pointer;color:#495057}.lt-angel-topic-clear-btn:hover:not(:disabled){background:#f1f3f5}.lt-angel-topic-clear-btn:disabled{opacity:.5;cursor:not-allowed}.lt-angel-topic-tree{max-height:260px;overflow:auto;padding:6px 4px;border-radius:6px;background:#fff;border:1px solid #eef1f5}.lt-angel-topic-loading{margin:8px;font-size:13px;color:#868e96}.lt-angel-topic-l1{margin-bottom:6px}.lt-angel-topic-l2{margin:4px 0 8px 8px}.lt-angel-topic-branch-toggle{display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;padding:6px 4px;font-size:13px;color:#333;border-radius:4px}.lt-angel-topic-branch-toggle:hover:not(:disabled){background:#f1f5f9}.lt-angel-topic-branch-toggle:disabled{cursor:default;opacity:.7}.lt-angel-topic-branch-toggle.lt-angel-topic-indent{padding-left:12px}.lt-angel-topic-caret{flex-shrink:0;width:14px;color:#6c757d;font-size:11px;margin-top:2px}.lt-angel-topic-branch-name{color:#6c757d;font-weight:400;margin-left:6px}.lt-angel-topic-l3-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 10px;margin:6px 0 8px 22px}.lt-angel-topic-l3-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:6px;border:1px solid #e9ecef;cursor:pointer;font-size:12px;background:#fff}.lt-angel-topic-l3-item.selected{border-color:#90caf9;background:#e3f2fd}.lt-angel-topic-l3-item input{margin-top:2px;flex-shrink:0}.lt-angel-topic-l3-code{font-weight:600;color:#1565c0;flex-shrink:0}.lt-angel-topic-l3-name{color:#495057;line-height:1.3}.generate-label-block{display:block;font-size:13px;font-weight:500;color:#495057;margin-bottom:8px}.generate-leveliii-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.generate-leveliii-header .generate-label-block{margin-bottom:0}.select-all-btn{font-size:12px;padding:3px 10px;background:#e9ecef;border:1px solid #ced4da;border-radius:4px;cursor:pointer;color:#495057;white-space:nowrap}.select-all-btn:hover{background:#dee2e6}.generate-leveliii-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px 12px;max-height:280px;overflow-y:auto;padding:8px 0}.generate-leveliii-item{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;background:#f8f9fa;border:1px solid #e9ecef}.generate-leveliii-item:hover,.generate-leveliii-item.selected{background:#e3f2fd;border-color:#90caf9}.generate-leveliii-item-top{display:flex;align-items:flex-start;gap:8px}.generate-leveliii-item-top>input[type=checkbox]{flex-shrink:0;margin-top:2px}.generate-leveliii-text{display:flex;flex-direction:column;gap:2px;min-width:0}.generate-leveliii-code{font-weight:600;color:#1976d2}.generate-leveliii-desc{color:#555;font-size:12px;line-height:1.3;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.generate-leveliii-count-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 0 2px 26px;cursor:default}.generate-leveliii-count-label{font-size:11px;font-weight:600;color:#495057}.generate-leveliii-count-input.generate-count-input{width:52px;padding:4px 6px}.generate-leveliii-type-mini{font-size:11px;color:#0c5460;margin-left:2px}.generate-selected-count{margin-top:8px;font-size:13px;color:#007bff}.generate-v01-hint-below-grid{margin-top:10px;margin-bottom:0}.generate-progress-panel{margin-bottom:14px;padding:12px 14px;border-radius:8px;border:1px solid #90caf9;background:linear-gradient(180deg,#e3f2fd,#f5f9ff);animation:generate-progress-panel-pulse 2s ease-in-out infinite}@keyframes generate-progress-panel-pulse{0%,to{box-shadow:0 0 #1976d21f}50%{box-shadow:0 0 0 4px #1976d214}}.generate-progress-panel-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#1565c0;margin-bottom:8px}.generate-progress-track{height:8px;border-radius:4px;background:#bbdefb;overflow:hidden;margin-bottom:8px}.generate-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#1976d2,#42a5f5,#1976d2);background-size:200% 100%;animation:generate-progress-fill-shimmer 1.2s ease-in-out infinite;transition:width .25s ease}@keyframes generate-progress-fill-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.generate-progress-meta{font-size:13px;color:#37474f;font-weight:500}.generate-progress-message{margin:8px 0 0;font-size:12px;color:#455a64;line-height:1.45}.generate-v01-hint,.generate-options-hint{margin:0 0 10px;font-size:12px;color:#0c5460;background:#d1ecf1;padding:6px 10px;border-radius:6px}.generate-counts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.generate-count-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.generate-count-label{flex:1;font-size:13px;font-weight:500}.generate-count-type{font-size:11px;color:#0c5460;margin-left:4px}.generate-count-input{width:56px;padding:4px 6px;border:1px solid #ddd;border-radius:4px;font-size:14px;text-align:center}.generate-count-unit{font-size:12px;color:#6c757d}.generate-yaml-card{margin-top:4px}.generate-yaml-toggle{display:flex;align-items:center;gap:8px;width:100%;margin:0;padding:10px 14px;font-size:14px;font-weight:600;text-align:left;background:#f7f9fc;border:none;border-bottom:1px solid #e6e8ec;cursor:pointer;color:#333}.generate-yaml-toggle:hover{background:#eef2f7}.generate-yaml-toggle-icon{font-size:10px;color:#6c757d}.generate-yaml-card .yaml-preview-desc{padding:6px 14px;margin:0;font-size:12px}.yaml-preview-loading-row{display:flex;align-items:center;gap:8px;color:#0c5460}.yaml-preview-loading-row .generate-processing-spinner{color:#0c5460}.generate-yaml-card .yaml-preview-content{margin:0 14px 14px;padding:12px;max-height:280px;border-radius:6px}.yaml-preview-panel{margin-top:28px;border:1px solid #dee2e6;border-radius:8px;overflow:hidden;background:#f8f9fa}.yaml-preview-panel h3{margin:0;padding:12px 16px;font-size:15px;background:#e9ecef;border-bottom:1px solid #dee2e6}.yaml-preview-desc{margin:0;padding:8px 16px;font-size:13px;color:#495057}.yaml-preview-content{margin:0;padding:16px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;color:#212529;background:#fff;border-top:1px solid #dee2e6;max-height:320px;overflow:auto;white-space:pre;word-break:normal}.form-group label{display:block;margin-bottom:5px;font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group textarea{resize:vertical;min-height:100px}.choice-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}.choice-item label{width:30px;margin:0}.choice-item input{flex:1}.irt-params{display:flex;gap:20px}.irt-params>div{flex:1}.irt-params label{display:block;margin-bottom:5px}.actions{display:flex;gap:10px;margin-top:20px}.actions button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.actions button:first-child{background-color:#007bff;color:#fff}.actions button:first-child:hover{background-color:#0056b3}.actions button:last-child{background-color:#6c757d;color:#fff}.test-management{display:grid;grid-template-columns:360px minmax(0,1fr);gap:14px;align-items:start}.test-section-title{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:#333;padding-bottom:8px;border-bottom:1px solid #e6e8ec}.test-list-section{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px #0000000a;position:sticky;top:12px}.create-test-form{background:#f7f9fc;border:1px solid #e6e8ec;padding:12px 14px;border-radius:8px;margin-bottom:12px;min-width:0}.create-test-form-heading{margin:0 0 10px;font-size:14px;font-weight:600;color:#495057}.create-test-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:10px 14px;align-items:end;min-width:0}.create-test-field{display:flex;flex-direction:column;gap:4px;min-width:0}.create-test-field label{font-size:12px;font-weight:500;color:#6c757d;margin:0}.create-test-field input{width:100%;min-width:0;padding:8px 10px;border:1px solid #dee2e6;border-radius:6px;font-size:13px;box-sizing:border-box}.create-test-submit{align-self:end;flex-shrink:0}.create-test-submit button{padding:8px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.create-test-submit button:hover:not(:disabled){background:#0056b3}.create-test-submit button:disabled{opacity:.7;cursor:not-allowed}.tests-list{max-height:50vh;overflow-y:auto;padding-right:4px}.tests-level-cards{display:flex;flex-direction:column;gap:10px;max-height:min(62vh,720px);overflow-y:auto;padding-right:4px}.tests-level-card{border:1px solid #e2e5ea;border-radius:8px;background:#fafbfc}.tests-level-card--focus{border-color:#007bff;box-shadow:0 0 0 1px #007bff40}.tests-level-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:#eef2f7;border-bottom:1px solid #e2e5ea}.tests-level-card-title{font-size:13px;font-weight:700;color:#1f2937;letter-spacing:.02em}.tests-level-card-count{font-size:11px;font-weight:600;color:#64748b}.tests-level-card-list{display:flex;flex-direction:column;gap:6px;padding:6px 8px 8px}.tests-level-card-list .test-item{margin-bottom:0;padding:7px 8px;border-radius:6px;align-items:center;gap:6px;min-height:0;box-shadow:none}.tests-level-card-list .test-item-content{min-width:0}.tests-level-card-list .test-name{font-size:12px;font-weight:600;line-height:1.35;margin-bottom:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.tests-level-card-list .test-info{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tests-level-card-list .delete-test-btn{padding:4px 8px;font-size:11px;margin-left:0;flex-shrink:0}.tests-level-empty{margin:0;padding:6px 4px 8px;font-size:11px;color:#94a3b8;text-align:center}.test-item{padding:12px 14px;border:1px solid #e2e5ea;border-radius:10px;margin-bottom:8px;cursor:pointer;transition:background-color .2s,border-color .2s,box-shadow .2s;display:flex;justify-content:space-between;align-items:center;background:#fff;box-shadow:0 1px 3px #0000000f}.test-item:hover{background-color:#f7f9fc;border-color:#ccd4e0;box-shadow:0 2px 8px #00000014}.test-item.selected{background-color:#eef5ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.test-item-content{flex:1}.test-name{font-weight:600;margin-bottom:4px}.test-info{font-size:12px;color:#6b7280}.delete-test-btn{padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s;margin-left:10px}.delete-test-btn:hover{background-color:#c82333}.test-items-section{background:#fff;border:1px solid #e6e8ec;border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px #0000000a}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:12px;border-bottom:1px solid #edf0f4;padding-bottom:10px}.test-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.publish-students-btn{padding:8px 14px;font-size:13px;font-weight:600;color:#fff;background:#059669;border:1px solid #047857;border-radius:6px;cursor:pointer}.publish-students-btn:hover:not(:disabled){background:#047857}.publish-students-btn:disabled{opacity:.55;cursor:not-allowed}.test-info-display{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px 16px;margin-bottom:12px}.test-info-item{padding:8px 10px;background:#f8fafc;border:1px solid #edf0f4;border-radius:6px;font-size:13px}.test-info-label{display:block;font-size:11px;color:#6c757d;margin-bottom:2px}.test-info-item-irt{background:#eff6ff;border-color:#bfdbfe}.test-info-item-irt strong{font-size:15px;color:#1e40af}.test-info-irt-sub{display:block;font-size:11px;color:#64748b;margin-top:2px}.item-assignment-section{background:#f7f9fc;padding:12px 14px;border-radius:8px;margin-bottom:12px;border:1px solid #e6e8ec}.item-assignment-section h3.assignment-section-heading{margin:0 0 12px;font-size:14px;font-weight:600;color:#333}.item-assignment-section .form-group{margin-bottom:12px}.item-assignment-section .form-group label{font-size:13px;margin-bottom:4px}.assignment-actions{margin-top:14px;display:flex;gap:8px}.assign-items-btn{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.assign-items-btn:hover{background-color:#0056b3}.assignment-actions button{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.assignment-actions button:first-child{background-color:#28a745;color:#fff}.assignment-actions button:first-child:hover{background-color:#218838}.assignment-actions button:last-child{background-color:#6c757d;color:#fff}.assignment-actions button:last-child:hover{background-color:#5a6268}.test-items-list{margin-top:12px;border-top:1px solid #edf0f4;padding-top:12px}.assigned-list-heading{margin:0 0 10px;font-size:14px;font-weight:600;color:#333}.assigned-items-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:10px}.assigned-items-toolbar label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#495057}.assigned-items-toolbar button{padding:6px 12px;border:1px solid #dc3545;background:#dc3545;color:#fff;border-radius:4px;cursor:pointer;font-size:12px}.assigned-items-toolbar button:disabled{opacity:.5;cursor:not-allowed}.assigned-items-lines{display:flex;flex-direction:column;gap:8px;margin-top:8px}.assigned-items-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:8px}.assigned-item-card{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e2e5ea;border-radius:8px;background:#fff;transition:border-color .2s,box-shadow .2s}.assigned-item-card:hover{border-color:#ccd4e0;box-shadow:0 1px 3px #0000000f}.assigned-item-card-check{margin:0;flex-shrink:0}.assigned-item-card-check input{margin:0}.assigned-item-card-qno{min-width:28px;font-weight:600;color:#007bff;font-size:13px}.assigned-item-card-domain{flex:1;font-size:12px;font-weight:600;color:#495057;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assigned-item-card-actions{display:flex;gap:6px;flex-shrink:0}.assigned-item-btn{padding:4px 10px;font-size:12px;border-radius:6px;border:none;cursor:pointer;font-weight:500}.assigned-item-btn-view{background:#e7f1ff;color:#007bff}.assigned-item-btn-view:hover{background:#cce0ff}.assigned-item-btn-remove{background:#f8d7da;color:#dc3545}.assigned-item-btn-remove:hover{background:#dc3545;color:#fff}.assigned-item-line{display:grid;grid-template-columns:28px 40px 100px minmax(0,1fr) 52px;gap:6px;align-items:center;padding:6px 10px;border:1px solid #e2e5ea;border-radius:6px;background:#fff;font-size:13px}.assigned-item-line .line-qno{color:#007bff;font-weight:600}.assigned-item-line .line-domain{font-size:12px;font-weight:600;color:#495057}.assigned-item-line .line-prompt{font-size:12px;color:#343a40;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assigned-item-line button{padding:4px 8px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:11px}.test-items-section .items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:10px}.test-items-section .item-card{padding:12px;background:#fff;border:1px solid #e2e5ea;border-radius:8px;display:flex;align-items:center;gap:10px}.item-number{font-weight:700;color:#007bff;min-width:30px}.item-content{flex:1}.item-domain{font-size:12px;color:#666;margin-bottom:5px}.item-prompt{font-size:13px;color:#333}.test-items-section .item-card button{padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.test-items-section .item-card button:hover{background-color:#c82333}.test-items,.available-items{margin-bottom:30px}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:15px}@media (max-width: 1200px){.test-management{grid-template-columns:1fr}.test-list-section{position:static;top:auto}.test-info-display{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.create-test-fields,.test-info-display{grid-template-columns:1fr}}.item-card{border:1px solid #ddd;border-radius:8px;padding:15px;background:#fff;transition:box-shadow .2s}.item-card:hover{box-shadow:0 2px 8px #0000001a}.item-card.selectable{cursor:pointer}.item-card.selectable.selected{background-color:#e3f2fd;border-color:#007bff}.item-number{display:inline-block;background:#007bff;color:#fff;width:24px;height:24px;border-radius:50%;text-align:center;line-height:24px;font-size:12px;margin-bottom:10px}.item-domain{font-weight:600;color:#007bff;margin-bottom:5px}.item-prompt{font-size:13px;color:#666;margin-bottom:5px;line-height:1.4}.item-usage{font-size:11px;color:#999;margin-top:5px}.item-selector{margin-top:15px}.selector-filters{display:flex;gap:10px;margin-bottom:15px;align-items:center}.selector-filters select,.selector-filters button{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.selector-filters button{background-color:#28a745;color:#fff;border:none;cursor:pointer}.selector-filters button:disabled{background-color:#ccc;cursor:not-allowed}.loading,.error{padding:15px;text-align:center;margin:20px 0}.items-tab .loading,.items-tab .error{padding:10px 14px;margin:0 0 12px;font-size:14px}.loading{color:#007bff}.error{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}.item-view-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:92%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d}.item-view-modal .modal-content{max-width:1080px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #ddd}.modal-header h2{margin:0;font-size:15px;white-space:nowrap}.modal-header .modal-nav{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.modal-header .prev-next-btn{min-width:36px;height:32px;padding:0 8px;font-size:18px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.modal-header .prev-next-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.modal-header .prev-next-btn:disabled{opacity:.5;cursor:not-allowed}.edit-nav .prev-next-btn{min-width:36px;height:32px;padding:0 8px;font-size:18px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.edit-nav .prev-next-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.edit-nav .prev-next-btn:disabled{opacity:.5;cursor:not-allowed}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-btn:hover{color:#000}.modal-body{padding:12px 16px 16px}.item-info-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e8e8e8}.info-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:12px;background:#f0f2f5;color:#555;border:1px solid #e0e0e0;white-space:nowrap}.info-chip-id{font-family:monospace;font-size:11px;background:#f5f5f5;color:#888;border-color:#ddd}.info-chip-domain{background:#eef4ff;color:#1a56b0;border-color:#c5d9f9;font-weight:500}.info-chip-type{background:#f0faf0;color:#2d7d2d;border-color:#b6ddb6;font-weight:500;text-transform:uppercase;font-size:11px}.info-chip-listen{background:#fff7e6;color:#b85c00;border-color:#ffd591}.info-chip-date{font-size:11px;color:#999;background:transparent;border-color:transparent}.item-detail-section{margin-bottom:16px}.detail-row{display:flex;padding:5px 0;border-bottom:1px solid #f0f0f0}.detail-row label{width:120px;font-weight:600;color:#666;font-size:13px}.detail-row span{flex:1;color:#333;font-size:13px}.domain-classification{font-weight:500;color:#0056b3}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #ddd}.modal-footer button,.modal-footer-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;background-color:#007bff;color:#fff;transition:background-color .15s}.modal-footer button:hover,.modal-footer-btn:hover{background-color:#0056b3}.modal-footer-btn-danger{background-color:#dc3545}.modal-footer-btn-danger:hover{background-color:#a71d2a!important}.modal-footer button:last-child:not(.modal-footer-btn-danger){background-color:#6c757d}.modal-footer button:last-child:not(.modal-footer-btn-danger):hover{background-color:#5a6268}.level-iii-item{display:flex;align-items:center;margin-bottom:8px;font-size:14px;padding:8px;background-color:#f8f9fa;border-radius:4px;border-left:3px solid #007bff}.level-iii-item label{flex:1;display:flex;align-items:center}.level-path{font-weight:500;color:#333;font-size:13px;font-family:Courier New,monospace}.modal-two-col{display:flex;gap:16px;align-items:flex-start}.modal-col-content,.modal-col-diff{flex:1 1 0;min-width:0}.section-label{font-size:11px;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin:0 0 6px;padding-bottom:4px;border-bottom:2px solid #007bff}.item-detail-content-tiered .item-detail-tier-stack{display:flex;flex-direction:column;gap:14px;margin-top:4px}.item-detail-part-label{font-size:11px;font-weight:700;color:#495057;letter-spacing:.03em;margin:0 0 6px}.item-detail-tier-display{margin-top:0}.item-content-section,.item-choices-section,.item-listening-section{margin-bottom:14px}.item-detail-audio-section{overflow:visible;visibility:visible;min-width:0}.item-detail-audio-only{max-width:100%}.item-detail-audio-only .item-detail-question-audio{margin-bottom:0}.item-detail-listening-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}.item-detail-audio-col{width:100%;min-width:0;max-width:100%;flex-shrink:0}.item-detail-script-col{width:100%;min-width:0;flex:1 1 auto}.item-detail-script-box.script-display{margin-top:0}.item-detail-audio-section .item-detail-question-audio.question-audio{margin-bottom:0;display:block!important;min-height:36px;min-width:0;max-width:100%;overflow:visible;visibility:visible}.item-detail-audio-section .item-detail-audio-element{width:100%!important;max-width:100%;min-width:0!important;height:36px!important;min-height:36px!important;display:block!important;visibility:visible!important;opacity:1;position:relative}.prompt-display{background:#f9f9f9;padding:12px;border-radius:4px;line-height:1.6;white-space:pre-wrap;font-size:14px}.prompt-display p{margin:0 0 8px}.prompt-display p:last-child{margin-bottom:0}.level-test-audio-wrap{margin-bottom:10px;display:block}.level-test-audio-wrap .level-test-audio{display:block;width:100%;max-width:380px;height:38px}.script-label{font-size:11px;font-weight:600;color:#6c757d;margin:8px 0 4px}.script-display{margin-top:0}.no-audio-msg{color:#aaa;font-size:13px;margin:4px 0}.choices-display{display:flex;flex-direction:column;gap:8px}.choice-item{display:flex;align-items:center;padding:10px 12px;border:1.5px solid #ddd;border-radius:4px;background:#f9f9f9}.choice-item.correct{border-color:#28a745;background-color:#d4edda}.choice-label{font-weight:600;width:26px;color:#333}.choice-text{flex:1;color:#333;font-size:14px}.answer-badge{background:#28a745;color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700}.lg-ai-authoring-section{margin-top:16px;display:flex;flex-direction:column;gap:10px}.lg-ai-authoring-card{background:#f7f8fc;border:1px solid #dce0ed;border-radius:8px;padding:12px 14px}.lg-ai-authoring-card-title{font-size:11px;font-weight:700;color:#495057bd;text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #e2e5ef}.lg-ai-authoring-card-body{font-size:13px;line-height:1.55;color:#212529;white-space:pre-wrap}.lg-ai-authoring-card-body p{margin:0 0 6px}.lg-ai-authoring-card-body p:last-child{margin-bottom:0}.lg-ai-authoring-choice-reason{margin-top:10px;padding-top:8px;border-top:1px dashed #dee2e6}.lg-ai-authoring-choice-reason:first-child{margin-top:0;padding-top:0;border-top:none}.lg-ai-authoring-choice-label{font-weight:700;color:#0d6efd;font-size:12px;margin-bottom:4px}.diff-panel{background:#f8faff;border:1px solid #cfe2ff;border-radius:10px;padding:14px 14px 12px;font-size:12px}.diff-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #d6e6ff;flex-wrap:wrap;gap:6px}.diff-panel-title{font-size:13px;font-weight:800;color:#1e3a5f;letter-spacing:.02em}.diff-panel-badges{display:flex;gap:4px;flex-wrap:wrap}.diff-section{margin-bottom:14px}.diff-section-title{font-size:11px;font-weight:800;color:#495057;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px}.diff-section-hint{font-size:11px;color:#868e96;line-height:1.45;margin:-4px 0 8px}.diff-section-hint abbr{text-decoration:underline dotted;cursor:help}.diff-irt-unified.diff-irt-compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(76px,1fr));gap:6px;align-items:stretch}.diff-irt-mini{box-sizing:border-box;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 4px;text-align:center;background:#fff;border:1px solid #e5e8ec;border-radius:6px;box-shadow:0 1px 2px #1e3a5f0a}.diff-irt-mini--panel-b{border-color:#a8c7e8;background:linear-gradient(180deg,#fff,#eef4fc)}.diff-irt-mini-label{font-size:9px;font-weight:700;color:#64748b;line-height:1.2}.diff-irt-mini-hint{font-weight:600;color:#94a3b8;white-space:nowrap}.diff-irt-mini-value{font-size:12px;font-weight:800;font-family:Courier New,monospace;color:#0d6efd;line-height:1.15;word-break:break-all}.diff-irt-mini-value-strong{font-size:14px;color:#1e3a5f}.diff-irt-shared-rationale{margin-top:6px}.diff-irt-unified{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px}.diff-irt-cell{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:10px 8px;text-align:center;box-shadow:0 1px 2px #1e3a5f0f}.diff-irt-cell-b{border-color:#a8c7e8;background:linear-gradient(180deg,#fff,#f3f8ff)}.diff-irt-stack{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%}.diff-irt-stack-metric{text-align:center}.diff-irt-stack-metric+.diff-irt-stack-metric{padding-top:10px;border-top:1px solid #e9ecef}.diff-irt-cell-label{font-size:10px;font-weight:700;color:#6c757d;margin-bottom:4px;line-height:1.2}.diff-irt-cell-value{font-size:17px;font-weight:800;font-family:Courier New,monospace;color:#0d6efd;letter-spacing:.02em}.diff-irt-cell-value-b{font-size:22px;color:#1e3a5f}.diff-irt-guideline-b-block{margin-top:8px;padding-top:8px;border-top:1px solid #d8e4f2;text-align:center}.diff-irt-guideline-b-label{margin-bottom:2px!important;font-size:10px;font-weight:700;color:#6c757d}.diff-irt-cell-sub{margin-top:4px;font-size:10px;color:#6c757d;font-weight:600}.diff-irt-notes{margin-top:8px}.diff-irt-notes p{margin:0 0 4px;font-size:11px;color:#6c757d;line-height:1.4}.diff-irt-notes p:last-child{margin-bottom:0}.diff-irt-ci{font-family:Courier New,monospace;font-size:10px;color:#868e96}.diff-rationale-under-metric{margin-top:6px;text-align:left;width:100%}.diff-rationale-summary-toggle{font-size:10px;font-weight:600;color:#0d6efd;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;display:inline-block;min-width:1em;line-height:1.2}.diff-rationale-summary-toggle::-webkit-details-marker{display:none}.diff-rationale-summary-toggle:before{content:"▸";display:inline-block;transition:transform .12s ease;font-size:11px;opacity:.85}.diff-rationale-under-metric[open]>.diff-rationale-summary-toggle:before{transform:rotate(90deg)}.diff-rationale-compact{margin-top:4px;padding:6px 8px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef;max-height:220px;overflow-y:auto}.diff-rationale-compact p{margin:0 0 4px;font-size:10px;line-height:1.45;color:#495057}.diff-rationale-compact p:last-child{margin-bottom:0}.diff-rationale-fallback-hint{margin:4px 0 0;font-size:10px;line-height:1.4;color:#6c757d}.diff-rationale-under-mini{margin-top:4px}.diff-rationale-under-mini .diff-rationale-summary-toggle{font-size:9px}.diff-rationale-under-mini .diff-rationale-summary-toggle:before{font-size:10px}.diff-rationale-model-caption{font-size:10px;font-weight:700;color:#495057;margin-bottom:4px}.diff-ls-model-rationales{margin-top:12px;display:flex;flex-direction:column;gap:12px}.diff-ls-model-rationale-block{padding-top:4px;border-top:1px solid #e9ecef}.diff-ls-model-rationale-block:first-child{border-top:none;padding-top:0}.diff-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px}.diff-table-panel{min-width:100%}.diff-a-hero{text-align:center;background:#059669;color:#fff;border-radius:6px;padding:10px 8px;margin-bottom:10px}.diff-a-hero-label{font-size:10px;font-weight:600;letter-spacing:.5px;opacity:.9;margin-bottom:2px}.diff-a-hero-value{font-size:22px;font-weight:800;font-family:Courier New,monospace;letter-spacing:1px}.diff-b-hero{text-align:center;background:#1e3a5f;color:#fff;border-radius:6px;padding:10px 8px;margin-bottom:10px}.diff-b-hero-label{font-size:10px;font-weight:600;letter-spacing:.5px;opacity:.8;margin-bottom:2px}.diff-b-hero-value{font-size:28px;font-weight:800;font-family:Courier New,monospace;letter-spacing:1px}.diff-b-hero-ci{font-size:10px;opacity:.7;margin-top:2px;font-family:Courier New,monospace}.diff-b-hero-params{display:flex;justify-content:center;gap:12px;margin-top:6px;font-size:11px;opacity:.85;font-family:Courier New,monospace}.diff-b-hero-note.subtle{font-size:10px;opacity:.75;margin-top:6px;line-height:1.35;font-weight:500}.diff-section-subscores .diff-ls-logic-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0}@media (min-width: 360px){.diff-section-subscores .diff-ls-logic-row{grid-template-columns:repeat(4,1fr)}}.diff-section-3ai-models{margin-top:10px}.diff-3ai-models-grid{display:flex;flex-direction:column;gap:10px;margin-top:8px;align-items:stretch;width:100%;box-sizing:border-box}.diff-3ai-model-card{flex:none;width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:10px;font-size:12px;background:#fafafa;min-width:0;box-sizing:border-box}.diff-3ai-model-card-empty{opacity:.88}.diff-3ai-model-title{font-weight:700;margin-bottom:8px;color:#334155;font-size:13px}.diff-3ai-model-empty-msg{margin:0;font-size:11px;color:#94a3b8}.diff-3ai-model-dl{margin:0}.diff-3ai-model-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.diff-3ai-model-k{margin:0;color:#64748b;font-size:11px;font-weight:600}.diff-3ai-model-v{margin:0;font-weight:600;text-align:right;font-family:Courier New,monospace;font-size:11px}.diff-3ai-model-rationale{margin-top:8px;font-size:11px}.diff-3ai-model-rationale summary{cursor:pointer;font-weight:600;color:#475569}.diff-ls-logic-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;margin-bottom:4px}.diff-hero-mini{flex:1;min-width:72px;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:8px 6px;text-align:center;display:flex;flex-direction:column;align-items:stretch}.diff-hero-mini-label{font-size:10px;font-weight:700;color:#6c757d;letter-spacing:.02em;margin-bottom:4px;line-height:1.2}.diff-hero-mini-value{font-size:14px;font-weight:700;font-family:Courier New,monospace;color:#0d6efd}.diff-l-card{border-left:3px solid #6366f1}.diff-s-card{border-left:3px solid #059669}.diff-logic-card{border-left:3px solid #d97706}.diff-cefr-score-card{border-left:3px solid #7c3aed}.diff-table-ls{margin-top:4px}.diff-group-label{font-size:10px;font-weight:700;color:#6c757d;text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px;padding-bottom:2px;border-bottom:1px solid #dee2e6}.diff-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:2px}.diff-table th{background:#e7eef5;padding:8px 7px;text-align:left;font-weight:700;color:#343a40;font-size:11px;border-bottom:2px solid #ced9e4;white-space:nowrap}.diff-table td{padding:7px;border-bottom:1px solid #eef1f4;vertical-align:middle}.diff-table-summary th,.diff-table-summary td{background:#eef4fc;font-weight:600;border-bottom:1px solid #d8e4f2}.diff-table-spread td{background:#fafbfc;font-size:11px;padding:6px 8px;border-bottom:none}.diff-spread-label{font-weight:600;color:#495057;margin-right:8px}.diff-spread-value{font-family:Courier New,monospace;font-weight:700;color:#0d6efd;margin-right:6px}.diff-spread-hint{color:#adb5bd;font-size:10px}.diff-muted{color:#adb5bd}.diff-conf-num{font-family:Courier New,monospace;font-weight:700;font-size:12px;color:#495057}.diff-conf-cell{text-align:right}.diff-model-name{font-weight:600;color:#495057}.diff-bval{font-family:Courier New,monospace;font-weight:700;color:#0d6efd}.diff-cefr{display:inline-block;background:#dbeafe;color:#1e40af;border-radius:3px;padding:0 4px;font-size:10px;font-weight:700}.diff-conf{display:inline-block;border-radius:3px;padding:0 4px;font-size:10px;font-weight:600}.diff-conf-high{background:#d1fae5;color:#065f46}.diff-conf-medium{background:#fef3c7;color:#92400e}.diff-conf-low{background:#fee2e2;color:#991b1b}.diff-spread-warn{color:#dc3545;font-weight:700}.diff-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:12px;padding-top:10px;border-top:1px solid #dee2e6}.diff-meta-k{font-size:10px;font-weight:700;color:#868e96;text-transform:uppercase;letter-spacing:.04em}.diff-method{font-family:Courier New,monospace;font-size:11px;background:#e9ecef;padding:3px 8px;border-radius:4px;color:#343a40}.diff-decision{font-size:11px;color:#495057;padding:3px 8px;background:#f1f3f5;border-radius:4px}.diff-no-data{color:#9ca3af;font-size:12px;font-style:italic;text-align:center;padding:16px 0;line-height:1.6}.diff-review-badge{display:inline-block;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.diff-status-badge{display:inline-block;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.diff-status-provisional{background:#e0e7ff;color:#3730a3}.diff-status-calibrated{background:#d1fae5;color:#065f46}.diff-status-rejected{background:#fee2e2;color:#991b1b}.diff-status-discarded{background:#fef3c7;color:#92400e}.modal-col-diff .diff-panel-structure-verify{margin-bottom:8px}.modal-col-diff .diff-structure-verify-body{padding:4px 0 2px;font-size:12px;line-height:1.4}.modal-col-diff .diff-panel{padding:8px 10px;border-radius:8px}.modal-col-diff .diff-panel:not(.diff-panel-structure-verify):last-child{margin-bottom:0}.modal-col-diff .diff-panel-header{margin-bottom:6px;padding-bottom:6px}.modal-col-diff .diff-panel-title{font-size:12px}.modal-col-diff .diff-section{margin-bottom:8px}.modal-col-diff .diff-section:last-of-type{margin-bottom:4px}.modal-col-diff .diff-section-title{margin-bottom:4px;font-size:10px;letter-spacing:.05em}.modal-col-diff .diff-structure-verify-body .lg-spec-verify-table th,.modal-col-diff .diff-structure-verify-body .lg-spec-verify-table td{padding:4px 6px!important;font-size:11px;vertical-align:top}.modal-col-diff .diff-structure-verify-body details{margin-top:4px!important}.modal-col-diff .diff-structure-verify-body details summary{font-size:11px;padding:2px 0}.modal-col-diff .diff-irt-unified.diff-irt-compact-grid{gap:5px}.modal-col-diff .diff-irt-mini{padding:4px 3px}.modal-col-diff .diff-irt-mini-label{font-size:8.5px}.modal-col-diff .diff-irt-mini-value{font-size:11px}.modal-col-diff .diff-irt-mini-value-strong{font-size:13px}.modal-col-diff .diff-irt-notes{margin-top:6px}.modal-col-diff .diff-irt-notes p{font-size:10px;margin-bottom:2px;line-height:1.35}.modal-col-diff .diff-rationale-under-metric{margin-top:3px}.modal-col-diff .diff-rationale-compact{padding:4px 6px;max-height:140px}.modal-col-diff .diff-rationale-summary-toggle:before{font-size:10px}.modal-col-diff .item-distractor-tags-panel{margin-top:8px;border-top:1px solid #e5e7eb;padding-top:8px}.modal-col-diff .item-distractor-tags-count{font-size:10px;color:#64748b;font-weight:500}.modal-col-diff .item-distractor-tags-empty{margin:0;font-size:11px;color:#94a3b8;line-height:1.45}.modal-col-diff .item-distractor-tags-table-wrap{overflow-x:auto}.modal-col-diff .item-distractor-tags-table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.35}.modal-col-diff .item-distractor-tags-table th{text-align:left;padding:4px 6px;color:#64748b;font-weight:600;border-bottom:1px solid #e5e7eb;white-space:nowrap}.modal-col-diff .item-distractor-tags-table td{padding:5px 6px;vertical-align:top;border-bottom:1px solid #f1f5f9}.modal-col-diff .item-distractor-tags-table code{font-size:10px;background:#f1f5f9;padding:1px 4px;border-radius:3px}.modal-col-diff .item-distractor-tags-choice{font-weight:700;color:#334155;white-space:nowrap}.modal-col-diff .item-distractor-tags-note{color:#475569;word-break:keep-all}.modal-col-diff .item-distractor-tags-row-missing td{color:#94a3b8}.modal-col-diff .diff-section-subscores .diff-ls-logic-row{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:5px;align-items:start}.modal-col-diff .diff-hero-mini{flex:unset;min-width:0;height:fit-content;padding:4px;border-radius:6px;justify-content:flex-start}.modal-col-diff .diff-hero-mini-label{font-size:9px;margin-bottom:1px;line-height:1.15}.modal-col-diff .diff-hero-mini-value{font-size:12px;line-height:1.2}.modal-col-diff .diff-3ai-models-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px;align-items:start}.modal-col-diff .diff-3ai-model-card,.modal-col-diff .diff-3ai-model-card-empty{padding:5px 6px;border-radius:6px;font-size:11px}.modal-col-diff .diff-3ai-model-title{font-size:11px;margin-bottom:4px;padding-bottom:3px;border-bottom:1px solid #e8eaed}.modal-col-diff .diff-3ai-model-dl{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:6px;row-gap:1px;align-items:baseline}.modal-col-diff .diff-3ai-model-row{display:contents}.modal-col-diff .diff-3ai-model-k{font-size:10px;font-weight:600;color:#64748b}.modal-col-diff .diff-3ai-model-v{font-size:10px;text-align:right}.modal-col-diff .diff-3ai-model-rationale{margin-top:6px;padding-top:4px;border-top:1px solid #e8eaed;font-size:10px}.modal-col-diff .diff-3ai-model-empty-msg{font-size:10px;margin-top:2px}.modal-col-diff .diff-meta-row{margin-top:8px;padding-top:6px;gap:4px 8px}.modal-col-diff .diff-meta-k{font-size:9px}.modal-col-diff .diff-method,.modal-col-diff .diff-decision{padding:2px 6px;font-size:10px}.modal-col-diff .diff-table th,.modal-col-diff .diff-table td{padding:4px 6px;font-size:10px}.modal-col-diff .diff-no-data{padding:10px 0;font-size:11px}@media (max-width: 980px){.modal-col-diff .diff-3ai-models-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 780px){.modal-two-col{flex-direction:column}.modal-col-diff{width:100%;flex:none;min-width:0}.modal-col-diff .diff-irt-unified.diff-irt-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-col-diff .diff-irt-unified:not(.diff-irt-compact-grid){grid-template-columns:1fr}.modal-col-diff .diff-section-subscores .diff-ls-logic-row{grid-template-columns:repeat(2,minmax(0,1fr))}.diff-irt-unified{grid-template-columns:1fr}.diff-section-subscores .diff-ls-logic-row{grid-template-columns:repeat(2,1fr)}}.lg-v3-spec-pipeline-tab,.lg-v3-verify-pipeline-tab{max-width:980px}.lg-pipeline-tab-hero{margin-bottom:16px;padding:14px 16px;background:linear-gradient(165deg,#f4f7fb,#fafbfc,#fff);border:1px solid #e2e8f0;border-radius:10px}.lg-pipeline-tab-hero h2.generate-tab-title{margin:0 0 6px}.lg-pipeline-tab-lede{margin:0;font-size:13px;line-height:1.5;color:#64748b}.lg-pipeline-card-lede{margin:0 0 10px;font-size:12px;line-height:1.5;color:#64748b}.lg-spec-layout-gap>*+*{margin-top:14px}.lg-spec-pipeline-card.lg-spec-card--accent>.generate-card-heading{background:linear-gradient(180deg,#e8f1ff,#dfe9fb);border-bottom-color:#c5d9f7}.lg-spec-wp-card .generate-card-body.generate-domain-row{flex-wrap:wrap;align-items:flex-end;gap:10px 16px}.lg-spec-submenu-wp-row{padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid #e2e8f0}.lg-spec-toolbar-wrap .generate-card-body.lg-spec-toolbar-card-body{padding-top:8px}.lg-spec-pipeline-toolbar{display:flex;flex-wrap:nowrap;gap:8px;width:100%}.lg-spec-toolbar-btn{flex:1 1 0;min-width:0;padding:10px 12px;font-size:13px;font-weight:600;color:#0f172a;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;line-height:1.35;transition:background .15s,border-color .15s,box-shadow .15s}.lg-spec-toolbar-btn:hover:not(:disabled){background:#e2e8f0;border-color:#94a3b8}.lg-spec-toolbar-btn:disabled{opacity:.55;cursor:not-allowed}.lg-spec-toolbar-btn--active{background:#eff6ff;border-color:#3b82f6;box-shadow:inset 0 0 0 1px #3b82f6;color:#1e40af}.lg-spec-submenu-panel{margin-top:14px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fafbfc;display:flex;flex-direction:column;gap:12px}.lg-spec-submenu-options{display:flex;flex-direction:column;gap:8px}.lg-spec-submenu-options--grid{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:12px 16px}.lg-spec-submenu-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.lg-spec-submenu-actions-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.lg-spec-range-all-note{margin:0 0 10px;font-size:12px;line-height:1.45;color:#64748b}.lg-spec-ms-section{margin-bottom:14px}.lg-spec-ms-section-head{font-size:12px;font-weight:700;color:#334155;margin-bottom:8px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.lg-spec-ms-readonly{font-weight:500;color:#64748b}.lg-spec-ms-readonly code{font-size:11px;color:#0f172a}.lg-spec-ms-actions{display:inline-flex;gap:4px;flex-wrap:wrap}button.lg-spec-ms-link{font-size:11px;padding:2px 8px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer;color:#334155}button.lg-spec-ms-link:hover:not(:disabled){background:#f1f5f9}button.lg-spec-ms-link:disabled{opacity:.5;cursor:not-allowed}.lg-spec-multiselect{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.lg-spec-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:12px;cursor:pointer;max-width:100%}.lg-spec-chip input[type=checkbox]{margin:0;flex-shrink:0}.lg-spec-chip span{overflow:hidden;text-overflow:ellipsis}.lg-spec-chip--lvl{min-width:4.75rem;justify-content:center}.lg-spec-chip--on{background:#eff6ff;border-color:#3b82f6}.lg-spec-no-props-option{margin-bottom:4px;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}@media (max-width: 900px){.lg-spec-pipeline-toolbar{flex-wrap:wrap}.lg-spec-toolbar-btn{flex:1 1 calc(50% - 4px);min-width:min(100%,200px)}}@media (max-width: 480px){.lg-spec-toolbar-btn{flex:1 1 100%}}.lg-spec-pipeline-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lg-spec-step-span-2{grid-column:1 / -1}@media (max-width: 720px){.lg-spec-pipeline-steps{grid-template-columns:1fr}.lg-spec-step-span-2{grid-column:1}}.lg-spec-step-card.generate-card>.generate-card-heading{display:flex;align-items:center;gap:10px}.lg-spec-step-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border-radius:8px;font-size:13px;font-weight:800;color:#0f172a;background:#e2e8f0;flex-shrink:0}.lg-spec-step-card.lg-spec-step--long .generate-card-heading{background:#f8fafc}.lg-spec-hint-inline{display:inline-block;flex:1 1 200px;font-size:12px;color:#64748b;line-height:1.45}.lg-spec-step-actions.generate-card-body{display:flex;flex-direction:column;gap:10px}.lg-spec-log-panel{margin-top:16px}.lg-spec-log-panel pre{font-family:ui-monospace,Cascadia Code,monospace}.lg-verify-result-table-title{font-size:14px;font-weight:700;color:#1e293b;margin:12px 0 8px}.lg-v3-3ai-read-shell{display:flex;flex-direction:column;gap:10px;margin-top:8px;min-height:min(520px,55vh);max-height:min(88vh,1120px);min-width:0}.lg-v3-3ai-read-fixed{flex-shrink:0}.lg-v3-3ai-read-entry-scroll{flex:1 1 auto;min-height:min(380px,42vh);max-height:min(62vh,720px);overflow-y:auto;overflow-x:hidden;border:1px solid #e2e8f0;border-radius:10px;background:#fff;padding:4px;-webkit-overflow-scrolling:touch}.lg-v3-3ai-read-entry--solo{border:none;border-radius:0;background:transparent}.lg-v3-3ai-read-entry-headline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.lg-v3-3ai-read-entry-nav{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px 12px;background:#f1f5f9;border-radius:8px;border:1px solid #e2e8f0}.lg-v3-3ai-read-entry-nav-btn{min-width:44px;height:40px;padding:0 14px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:16px;line-height:1;cursor:pointer;color:#0f172a}.lg-v3-3ai-read-entry-nav-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#1e40af}.lg-v3-3ai-read-entry-nav-btn:disabled{opacity:.38;cursor:not-allowed}.lg-v3-3ai-read-entry-nav-label{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:6px 10px;font-size:14px;min-width:0}.lg-v3-3ai-read-entry-nav-hint{flex:1 1 100%;text-align:center;font-size:11px;color:#64748b;word-break:break-word}.lg-v3-3ai-read-nav-code{font-size:11px}.lg-v3-3ai-read-root{display:flex;flex-direction:column;gap:12px;margin-top:0;min-width:0}.lg-v3-3ai-read-root--full{max-height:min(88vh,1120px);overflow-y:auto;padding-right:4px}.lg-v3-3ai-read-raw-slot{flex-shrink:0}.lg-v3-3ai-read-json-raw-pre{max-height:min(480px,40vh);overflow:auto;font-size:11px}.lg-v3-3ai-read-shell .lg-v3-3ai-read-ratio-pre{max-height:min(360px,28vh)}.lg-v3-3ai-judge-results-scroll{max-height:min(72vh,840px);overflow:auto;padding:6px 4px 8px;border-radius:8px;border:1px solid #e2e8f0;background:#fff}.lg-v3-3ai-read-card{padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e2e8f0}.lg-v3-3ai-read-h4{margin:0 0 8px;font-size:14px;font-weight:700;color:#0f172a}.lg-v3-3ai-read-h4-mt{margin-top:4px}.lg-v3-3ai-read-h5{margin:12px 0 8px;font-size:13px;font-weight:700;color:#334155}.lg-v3-3ai-read-dl{display:grid;grid-template-columns:minmax(100px,200px) 1fr;gap:4px 14px;font-size:13px;margin:0}@media (max-width: 560px){.lg-v3-3ai-read-dl{grid-template-columns:1fr}}.lg-v3-3ai-read-dl dt{color:#64748b;font-weight:600}.lg-v3-3ai-read-dl dd{margin:0;word-break:break-word}.lg-v3-3ai-read-entry{border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.lg-v3-3ai-read-entry-sum{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;background:#f8fafc;font-size:13px}.lg-v3-3ai-read-entry-sum::-webkit-details-marker{display:none}.lg-v3-3ai-read-entry-idx{font-variant-numeric:tabular-nums;font-weight:700;color:#0369a1}.lg-v3-3ai-read-entry-iid{font-family:ui-monospace,monospace;font-size:11px;word-break:break-all;flex:1 1 200px;min-width:0}.lg-v3-3ai-read-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;background:#e2e8f0;color:#475569}.lg-v3-3ai-read-pill--ok{background:#d1fae5;color:#065f46}.lg-v3-3ai-read-tag{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:#e0f2fe;color:#0369a1}.lg-v3-3ai-read-tag--err{background:#fee2e2;color:#b91c1c}.lg-v3-3ai-read-entry-body{padding:12px 14px 14px;border-top:1px solid #f1f5f9}.lg-v3-3ai-read-kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 16px;font-size:12px;margin-bottom:4px}.lg-v3-3ai-read-k{display:block;color:#64748b;font-weight:600;margin-bottom:2px}.lg-v3-3ai-read-v{word-break:break-word}.lg-v3-3ai-read-rationale-wrap{display:flex;flex-direction:column;gap:8px;margin-top:12px}.lg-v3-3ai-read-ratio summary{cursor:pointer;font-weight:600;font-size:12px;color:#334155;padding:4px 0}.lg-v3-3ai-read-ratio-pre{margin:6px 0 0;padding:10px;border-radius:8px;border:1px solid #e2e8f0;background:#fafbfc;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.lg-v3-3ai-read-json-children{display:flex;flex-direction:column;gap:6px;margin-top:4px}.lg-v3-3ai-read-json-node{border:1px solid #e2e8f0;border-radius:8px;padding:6px 8px;background:#fff}.lg-v3-3ai-read-json-node>summary{cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none}.lg-v3-3ai-read-json-nested{margin:8px 0 2px 8px;padding-left:8px;border-left:2px solid #e2e8f0}.lg-v3-3ai-read-raw-sum{cursor:pointer;font-size:12px;font-weight:600}.lg-v3-3ai-read-raw-wrap{border-top:1px dashed #e2e8f0;padding-top:10px}.lg-v3-sentence-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.lg-v3-sentence-two-col>.lg-v3-sentence-col{display:flex;flex-direction:column;gap:0;min-width:0}@media (max-width: 1180px){.lg-v3-sentence-two-col{grid-template-columns:minmax(0,1fr)}}.item-analysis-page{max-width:1200px;margin:0 auto;padding:1rem 1.5rem 2rem}.item-analysis-header h1{margin:0 0 .5rem;font-size:1.5rem}.item-analysis-lead{color:#4b5563;font-size:.95rem;margin:0 0 1.5rem;line-height:1.5}.item-analysis-section{margin-bottom:1.5rem}.item-analysis-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.25rem 1.5rem}.item-analysis-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:.5rem}.item-analysis-section h2{margin:0 0 1rem;font-size:1.1rem;color:#111827}.item-analysis-section .item-analysis-section-head h2{margin:0}.item-analysis-test-hint{margin:0 0 .75rem;font-size:.85rem}.item-analysis-col-check{width:2.5rem;text-align:center;vertical-align:middle}.item-analysis-slot-cb{width:1rem;height:1rem;cursor:pointer}.item-analysis-validate-err-below{margin-top:.75rem}.item-analysis-section h3{margin:0 0 .75rem;font-size:1rem}.item-analysis-section h4{margin:0 0 .5rem;font-size:.85rem;color:#6b7280;font-weight:600}.item-analysis-error{background:#fef2f2;color:#b91c1c;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.item-analysis-muted{color:#6b7280;font-size:.9rem}.item-analysis-hint{color:#4b5563;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.item-analysis-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem}.item-analysis-row label{font-weight:500;min-width:5rem}.item-analysis-row select{min-width:320px;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px}.item-analysis-meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1.5rem;margin:0;font-size:.9rem}.item-analysis-meta dt{color:#6b7280;font-size:.8rem}.item-analysis-meta dd{margin:.2rem 0 0}.item-analysis-table-wrap{overflow-x:auto}.item-analysis-table{width:100%;border-collapse:collapse;font-size:.9rem}.item-analysis-table th,.item-analysis-table td{border:1px solid #e5e7eb;padding:.5rem .65rem;text-align:left}.item-analysis-table thead{background:#f9fafb}.item-analysis-table tr.is-selected{background:#eff6ff}.item-analysis-id{font-size:.8rem}.item-analysis-btn{padding:.35rem .75rem;font-size:.85rem;border:1px solid #2563eb;background:#fff;color:#2563eb;border-radius:6px;cursor:pointer}.item-analysis-btn:hover{background:#eff6ff}.item-analysis-btn-primary{background:#2563eb;color:#fff;font-weight:600}.item-analysis-btn-primary:hover:not(:disabled){background:#1d4ed8;color:#fff}.item-analysis-btn:disabled{opacity:.55;cursor:not-allowed}.item-analysis-validate-actions{margin-top:.75rem;align-items:flex-start}.item-analysis-asset-hint{font-size:.85rem;line-height:1.4}.item-analysis-validate-block{margin-top:1rem;padding-top:.75rem;border-top:1px solid #e5e7eb}.item-analysis-validate-summary{margin:0 0 .5rem;font-size:.9rem;color:#374151}.item-analysis-validate-code{font-size:.8rem}.item-analysis-validate-table tr.item-analysis-validate-ok td{background:#f0fdf4}.item-analysis-validate-table tr.item-analysis-validate-bad td{background:#fef2f2}.item-analysis-err-list{margin:0;padding-left:1.1rem;font-size:.85rem;color:#b91c1c}.item-analysis-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem}@media (max-width: 800px){.item-analysis-grid{grid-template-columns:1fr}}.item-analysis-span-2{grid-column:1 / -1}.item-analysis-dl{margin:0;padding-left:1.1rem;font-size:.9rem}.item-analysis-pre{margin:0;padding:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;font-size:.8rem;overflow-x:auto;max-height:200px}.item-analysis-stem{font-size:.9rem;line-height:1.5;margin:0;white-space:pre-wrap}.item-analysis-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1040}.item-analysis-backdrop-detail{z-index:1050}.item-analysis-backdrop-validate{z-index:1060}.item-analysis-backdrop-summary{z-index:1080}.item-analysis-modal-summary{max-width:min(720px,100%)}.item-analysis-summary-dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1.25rem;margin:0 0 1.25rem;font-size:.9rem}.item-analysis-summary-dl dt{color:#6b7280;font-size:.8rem}.item-analysis-summary-dl dd{margin:.15rem 0 0;font-weight:600;color:#111827}.item-analysis-summary-h3{margin:0 0 .5rem;font-size:.95rem;color:#374151}.item-analysis-action-msg{margin:0 0 .75rem;padding:.6rem .75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#166534;font-size:.88rem}.item-analysis-spinner{width:2.25rem;height:2.25rem;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:item-analysis-spin .75s linear infinite;margin:0 auto .75rem}@keyframes item-analysis-spin{to{transform:rotate(360deg)}}.item-analysis-validate-progress{text-align:center;padding:1.25rem .5rem .5rem}.item-analysis-validate-progress-text{font-weight:600;color:#1f2937;margin:0 0 .5rem}.item-analysis-validate-progress-meta{font-size:.8rem;margin:0}.item-analysis-validate-finished{font-size:.9rem;margin:0 0 .75rem;padding:.5rem .65rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.item-analysis-raw-details{margin:0 0 .75rem;font-size:.9rem}.item-analysis-raw-details summary{cursor:pointer;color:#4b5563;font-weight:500;margin-bottom:.35rem}.item-analysis-raw-pre{max-height:220px;margin-top:.5rem}.item-analysis-warn{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:.5rem .65rem;border-radius:6px;font-size:.88rem;margin:0 0 .75rem}.item-analysis-warn-tight{margin:.5rem 0 0;font-size:.8rem}.item-analysis-inline-progress{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.5rem .65rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;font-size:.88rem;color:#1e3a5f;font-weight:500}.item-analysis-inline-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid #93c5fd;border-top-color:#2563eb;border-radius:50%;animation:item-analysis-spin .7s linear infinite;flex-shrink:0}.item-analysis-debug-panel{margin:0 0 1rem;padding:.5rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem}.item-analysis-debug-panel summary{cursor:pointer;font-weight:600;color:#334155}.item-analysis-debug-body{margin-top:.5rem}.item-analysis-debug-meta{margin:0 0 .5rem;line-height:1.5;color:#475569}.item-analysis-debug-path{display:block;margin-top:.35rem;font-size:.75rem;word-break:break-all}.item-analysis-debug-timeline{margin:0 0 .5rem;padding-left:1.2rem;line-height:1.55;color:#1e293b}.item-analysis-debug-mark{display:inline-block;min-width:3.5rem;color:#64748b;font-size:.8rem;font-weight:600}.item-analysis-debug-actions{margin-top:.35rem}.item-analysis-validate-explain{margin:0 0 .65rem;line-height:1.5;font-size:.88rem}.item-analysis-ok-hint{color:#15803d;font-size:.88rem}.item-analysis-modal{background:#fff;border-radius:10px;box-shadow:0 24px 48px #0000002e;max-width:min(960px,100%);width:100%;max-height:min(90vh,880px);display:flex;flex-direction:column;overflow:hidden}.item-analysis-modal-validate{max-width:min(1000px,100%)}.item-analysis-modal-detail{max-width:min(960px,100%)}.item-analysis-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.item-analysis-modal-header--with-nav h2{flex:1;min-width:0}.item-analysis-modal-header-actions{display:flex;align-items:center;gap:.45rem;flex-shrink:0}.item-analysis-modal-header h2{margin:0;font-size:1.1rem;color:#111827;line-height:1.4}.item-analysis-modal-close{flex-shrink:0;padding:.4rem .75rem;font-size:.85rem;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;color:#374151}.item-analysis-modal-close:hover{background:#f9fafb}.item-analysis-modal-body{padding:1rem 1.25rem 1.25rem;overflow-y:auto;flex:1;min-height:0}.item-analysis-modal-error{margin-bottom:.75rem}.item-analysis-modal-hint{margin:0 0 1rem}.item-analysis-modal-note{margin:0 0 1rem;padding:.5rem .65rem;font-size:.85rem;line-height:1.5;color:#4b5563;background:#f8fafc;border:1px solid #e5e7eb;border-radius:6px}.item-analysis-data-fill{margin:0 0 1rem;padding:.75rem .9rem;background:#fff;border:1px solid #e0e7ef;border-radius:8px}.item-analysis-data-fill-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#1e293b}.item-analysis-data-fill-lead{margin:0 0 .6rem;font-size:.8rem;line-height:1.45}.item-analysis-data-fill-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.82rem;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.item-analysis-data-fill-ok{color:#0d9488}.item-analysis-data-fill-no{color:#9ca3af}.item-analysis-data-fill-icon{margin-right:.2rem;display:inline-block}.item-analysis-data-fill-missing{margin:0 0 1rem;font-size:.82rem}.item-analysis-modal-body .item-analysis-validate-block{margin-top:0;padding-top:0;border-top:none}.item-analysis-modal-detail .item-analysis-pre{max-height:160px}.item-master-analysis-left-wrap{max-height:min(70vh,900px);overflow-y:auto;padding-right:.25rem}.item-master-analysis-left-title{margin:0 0 .75rem;font-size:1.05rem;color:#0f172a}.item-analysis-detail-in-modal .item-analysis-grid{gap:.75rem 1rem}.item-analysis-detail-in-modal .item-analysis-pre{max-height:120px}.item-analysis-consensus-hint{margin:.75rem 0 0;padding:.5rem .65rem;font-size:.82rem;line-height:1.5;color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px}.item-analysis-consensus-hint summary{cursor:pointer;font-weight:600;color:#1e3a5f}.item-analysis-consensus-hint ul{margin:.4rem 0 0 1.1rem;padding:0}.item-analysis-ai-strict{display:inline-flex;align-items:center;gap:.35rem;margin-left:.25rem;font-size:.82rem;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none}.item-analysis-ai-strict input{margin:0;cursor:pointer}.school-exam-analysis{max-width:1100px;padding:0 1rem 2rem}.school-exam-analysis .back-link-top{margin:0 0 1rem}.school-exam-analysis .back-link-top a{color:#2c5282;text-decoration:none}.school-exam-analysis h2{margin-top:0}.school-exam-analysis .lead{color:#444;line-height:1.5}.defaults-box{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.defaults-box code{display:block;font-size:.85rem;word-break:break-all}.defaults-list{margin:.75rem 0 0;padding-left:1.25rem}.card-block{margin-bottom:1.5rem;padding:1rem 1.25rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.card-block h3{margin-top:0}.file-row{display:block;margin-bottom:.75rem}.file-row input[type=file]{margin-top:.35rem}.btn-primary{padding:.5rem 1.25rem;background:#3182ce;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-top:.75rem}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.error-banner{background:#fed7d7;border:1px solid #f56565;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{border:1px solid #e2e8f0;padding:.35rem .5rem}.data-table thead{background:#edf2f7}.data-table.compact{max-width:400px}.table-wrap{overflow-x:auto}.metrics p{margin:.35rem 0}.diagnosis-tier-hint{font-size:12px;color:#5c6bc0;line-height:1.5;margin:-6px 0 12px;padding:8px 10px;background:#eef2ff;border-radius:6px;border-left:3px solid #7986cb}.card-title-with-label{display:inline;line-height:1.4}.card-title-label-wrap{display:inline;margin-left:4px;white-space:nowrap}.diagnosis-label-badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;vertical-align:baseline;line-height:1.35}.diagnosis-label-weak.diagnosis-label-tier-1{background:#fff8e1;color:#8d6e00;border:1px solid #ffe082}.diagnosis-label-weak.diagnosis-label-tier-2{background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.diagnosis-label-weak.diagnosis-label-tier-3{background:#ffe0b2;color:#bf360c;border:1px solid #ffb74d}.diagnosis-label-weak.diagnosis-label-tier-4{background:#ffccbc;color:#bf360c;border:1px solid #ff8a65}.diagnosis-label-weak.diagnosis-label-tier-5{background:#ffcdd2;color:#b71c1c;border:1px solid #e57373}.diagnosis-label-strong.diagnosis-label-tier-1{background:#f1f8e9;color:#558b2f;border:1px solid #c5e1a5}.diagnosis-label-strong.diagnosis-label-tier-2{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.diagnosis-label-strong.diagnosis-label-tier-3{background:#c8e6c9;color:#1b5e20;border:1px solid #81c784}.diagnosis-label-strong.diagnosis-label-tier-4{background:#b2dfdb;color:#00695c;border:1px solid #4db6ac}.diagnosis-label-strong.diagnosis-label-tier-5{background:#b3e5fc;color:#01579b;border:1px solid #4fc3f7}.axis-empty-msg{font-size:13px;color:#666;line-height:1.6;margin:0 0 12px}.weak-domains-list,.strong-axes-list,.cluster-details-list{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.weak-domain-item,.strong-axis-item,.cluster-detail-item{flex:1 1 200px;max-width:260px;min-width:168px;box-sizing:border-box}.weak-domain-item{padding:10px 12px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px}.weak-domain-name{font-weight:600;font-size:13px;color:#856404;margin-bottom:4px;line-height:1.35}.weak-domain-desc{font-size:12px;color:#666;margin-bottom:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.weak-domain-theta{font-size:11px;color:#856404}.axis-cluster-mini{margin:6px 0 0;padding:0 0 0 14px;font-size:11px;color:#6c4a00;line-height:1.35}.strong-axis-item{padding:10px 12px;background:#e8f5e9;border:1px solid #81c784;border-radius:8px}.strong-axis-name{font-weight:600;font-size:13px;color:#2e7d32;line-height:1.35}.strong-axis-meta{font-size:11px;color:#388e3c;margin-top:4px;line-height:1.35}.cluster-detail-item{padding:10px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px}.cluster-detail-title{font-weight:600;font-size:13px;color:#333;line-height:1.35}.cluster-detail-count{color:#dc3545;margin-left:4px;font-weight:600;font-size:12px}.cluster-detail-axis{font-size:11px;color:#666;margin-top:3px;line-height:1.35}.cluster-dt-list{margin:6px 0 0;padding:0 0 0 14px;font-size:11px;color:#555;line-height:1.35}@media (max-width: 640px){.weak-domain-item,.strong-axis-item,.cluster-detail-item{flex:1 1 100%;max-width:none}}.recommendations-section ul,.axis-recommendations ul{list-style-type:disc;padding-left:20px}.recommendations-section li,.axis-recommendations li{margin-bottom:8px;line-height:1.6}.ai-diagnosis-section h3,.ai-diagnosis-block h4{color:#1565c0}.ai-diagnosis-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:12px;color:#666;margin-bottom:12px}.ai-diagnosis-time{color:#888}.ai-diagnosis-refresh-btn{margin-left:auto;padding:4px 10px;font-size:12px;border:1px solid #90caf9;background:#e3f2fd;color:#1565c0;border-radius:6px;cursor:pointer}.ai-diagnosis-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.ai-diagnosis-status{font-size:13px;color:#666;line-height:1.6}.ai-diagnosis-error{color:#c62828}.ai-diagnosis-summary{font-size:14px;line-height:1.65;color:#333;margin:0 0 16px;padding:12px 14px;background:#e3f2fd;border-radius:8px;border-left:4px solid #1976d2}.ai-diagnosis-group{margin-bottom:16px}.ai-diagnosis-group-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:8px}.ai-diagnosis-group h5{margin:0;font-size:13px;color:#444}.diagnosis-tier-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:11px}.diagnosis-tier-legend-caption{color:#777;font-weight:600;white-space:nowrap}.diagnosis-tier-legend-steps{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.diagnosis-tier-legend-arrow{color:#aaa;font-size:10px;margin:0 1px}.diagnosis-tier-legend-unavailable{opacity:.35;filter:grayscale(.4)}@media (max-width: 640px){.ai-diagnosis-group-header{flex-direction:column;align-items:flex-start}}.ai-diagnosis-card-row{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.ai-diagnosis-card{flex:1 1 200px;max-width:280px;min-width:168px;padding:10px 12px;border-radius:8px;box-sizing:border-box;border:1px solid #dee2e6;background:#fff}.ai-diagnosis-group-strength .ai-diagnosis-card{background:#e8f5e9;border-color:#81c784}.ai-diagnosis-group-weak .ai-diagnosis-card{background:#fff3cd;border-color:#ffc107}.ai-diagnosis-card-title{font-weight:600;font-size:13px;color:#333;margin-bottom:6px;line-height:1.35}.ai-diagnosis-card-points{margin:0;padding:0 0 0 16px;font-size:12px;line-height:1.45;color:#555}.ai-diagnosis-block{margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e0e0e0}@media (max-width: 640px){.ai-diagnosis-card{flex:1 1 100%;max-width:none}}.solar-report-section-wrap h3{color:#1565c0}.solar-report-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:13px;color:#666;margin-bottom:12px}.solar-report-model{font-size:12px;color:#1976d2;background:#e3f2fd;padding:2px 8px;border-radius:4px}.solar-report-time{color:#888}.solar-report-refresh-btn{margin-left:auto;padding:4px 10px;font-size:12px;border:1px solid #90caf9;background:#fff;color:#1565c0;border-radius:4px;cursor:pointer}.solar-report-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.solar-report-status{font-size:14px;color:#666;padding:8px 0}.solar-report-error{color:#c62828}.solar-report-summary{font-size:15px;line-height:1.65;color:#333;background:#f5f9ff;border-left:4px solid #1976d2;padding:12px 14px;border-radius:0 6px 6px 0;margin-bottom:16px}.solar-report-highlights{margin-bottom:16px;padding:12px;background:#fff8e1;border-radius:6px;border:1px solid #ffe082}.solar-report-highlights h5{margin:0 0 4px;font-size:14px;color:#f57f17}.solar-report-highlights-note{margin:0 0 10px;font-size:12px;color:#6d4c41}.solar-item-analysis-list{display:flex;flex-direction:column;gap:8px}.solar-item-analysis-card{padding:10px 12px;background:#fff;border:1px solid #ffe082;border-radius:8px}.solar-item-analysis-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.solar-item-nature{font-size:13px;font-weight:600;color:#333}.solar-item-analysis-row{display:flex;flex-wrap:wrap;gap:6px 10px;margin:4px 0 0;font-size:13px;line-height:1.5;color:#444}.solar-item-analysis-row strong{flex:0 0 auto;min-width:4.5em;color:#e65100;font-weight:600}.solar-highlight-qno{display:inline-block;font-weight:600;color:#e65100;margin-right:6px}.solar-report-rti-legend{margin:10px 0 0;padding-top:8px;border-top:1px dashed #ffe082;font-size:12px;line-height:1.5;color:#6d4c41}.solar-report-rti-legend strong{color:#e65100;font-weight:600}.solar-report-rti-ref{color:#8d6e63;font-size:11px}.solar-report-section{margin-bottom:14px;padding-bottom:12px;border-bottom:1px dashed #e0e0e0}.solar-report-section:last-child{border-bottom:none}.solar-report-section h5{margin:0 0 6px;font-size:14px;color:#37474f}.solar-report-section-body{margin:0 0 8px;font-size:14px;line-height:1.55;color:#444}.solar-report-bullets{margin:0;padding-left:1.2em;font-size:14px;line-height:1.55;color:#444}.ea-student-report{font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;line-height:1.6;max-width:920px;margin:0 auto}.ea-report-brand{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#0f172a,#1e3a5f);color:#f8fafc;border-radius:12px 12px 0 0;border-bottom:3px solid #3b82f6}.ea-brand-logo{font-weight:800;font-size:.85rem;letter-spacing:.06em;padding:.35rem .65rem;background:#3b82f659;border-radius:6px;white-space:nowrap}.ea-brand-title h1{margin:0;font-size:1.15rem;font-weight:700;line-height:1.35}.ea-brand-title p{margin:.35rem 0 0;font-size:.85rem;opacity:.85}.ea-exec-banner{padding:.9rem 1.25rem;background:#eff6ff;border-left:4px solid #2563eb;font-size:.9rem;color:#1e40af}.ea-report-page{margin:1.5rem 0;padding:0 .25rem;page-break-inside:avoid}.ea-report-page--break{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px dashed #e2e8f0}.ea-page-header{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:1rem;padding-bottom:.65rem;border-bottom:2px solid #e2e8f0}.ea-page-icon{font-size:1.5rem;line-height:1}.ea-page-brand{display:block;font-size:.68rem;font-weight:800;letter-spacing:.06em;color:#1d4ed8;margin-bottom:.1rem}.ea-page-num{display:block;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:#64748b}.ea-page-header h2{margin:.15rem 0 0;font-size:1.1rem;font-weight:700}.ea-page-header p{margin:.2rem 0 0;font-size:.82rem;color:#64748b}.ea-panel{margin-bottom:1rem;padding:1rem 1.15rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0f172a0a}.ea-panel--primary{border-color:#bfdbfe;background:linear-gradient(180deg,#f8fafc,#fff)}.ea-panel-title{margin:0 0 .85rem;font-size:.88rem;font-weight:700;color:#334155}.ea-panel-title:before{content:"◆ ";color:#3b82f6}.ea-info-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;padding:.85rem 1rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1rem}.ea-info-cell{display:flex;flex-direction:column;gap:.15rem}.ea-info-label{font-size:.7rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ea-info-value{font-size:.9rem;font-weight:600;color:#0f172a}.ea-info-line{margin:0 0 1rem;padding:.65rem 1rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:.88rem;color:#334155;line-height:1.45}.ea-page1-split--single{grid-template-columns:1fr}.ea-sai-embedded .sai-comparison-intro{margin-top:0}.ea-sai-insights-title{font-size:1rem;margin:1rem 0 .75rem}.ea-sai-empty{margin-top:.5rem}.ea-kpi-hero{display:grid;grid-template-columns:minmax(140px,.85fr) minmax(200px,1.15fr) minmax(180px,1fr);gap:1rem;margin-bottom:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.ea-kpi-hero-col{min-width:0}.ea-kpi-mini-card{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem;margin-bottom:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.ea-kpi-mini-label{font-size:.72rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.ea-kpi-mini-value{font-size:1.15rem;font-weight:700;color:#0f172a}.ea-kpi-irt{margin-top:.35rem;padding:.65rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.82rem}.ea-kpi-irt-title{font-weight:700;color:#334155;margin-bottom:.35rem}.ea-kpi-irt-overall{margin-bottom:.35rem;color:#475569}.ea-kpi-irt-domains{list-style:none;margin:0;padding:0}.ea-kpi-irt-domains li{display:flex;justify-content:space-between;padding:.15rem 0;color:#64748b;font-size:.78rem}.ea-kpi-ability-title{margin:0 0 .25rem;font-size:.95rem;font-weight:700;color:#0f172a}.ea-kpi-ability-sub{margin:0 0 .5rem;font-size:.75rem;color:#64748b}.ea-kpi-ability-score{font-size:2rem;font-weight:800;color:#2563eb;line-height:1.1}.ea-kpi-ability-theta{font-size:.78rem;color:#64748b;margin-bottom:.25rem}.ea-kpi-ability-level{font-size:.85rem;font-weight:600;color:#334155;margin-bottom:.65rem}.ea-kpi-scale{margin-top:.65rem;font-size:.68rem;color:#64748b}.ea-kpi-scale-head{font-weight:600;margin-bottom:.25rem}.ea-kpi-scale-list{margin:0;padding-left:1rem}.ea-kpi-scale-list li{margin:.1rem 0}.ea-kpi-radar-title{margin:0 0 .25rem;font-size:.95rem;font-weight:700}.ea-kpi-radar-sub{margin:0 0 .5rem;font-size:.72rem;color:#64748b;line-height:1.4}.ea-brain-fitness{padding:.65rem .75rem;background:#faf5ff;border:1px solid #e9d5ff;border-radius:10px;margin-bottom:.35rem}.ea-brain-fitness-body{margin-top:.25rem}.ea-brain-content{display:flex;flex-direction:column;gap:.4rem}.ea-story-kpi-summary{margin-bottom:1.25rem;padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px}.ea-story-kpi-title{margin:0 0 .5rem;font-size:1rem;font-weight:700;color:#1e40af}.ea-story-kpi-intro{margin:0 0 .75rem;font-size:.88rem;line-height:1.55;color:#334155}.ea-story-facts--kpi{margin-top:0}@media (max-width: 768px){.ea-kpi-hero{grid-template-columns:1fr}}.ea-score-panel-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:1.25rem}@media (max-width: 640px){.ea-score-panel-grid{grid-template-columns:1fr}}.ea-cefr-box{display:flex;flex-direction:column;gap:.25rem}.ea-cefr-label,.ea-mirt-label{font-size:.75rem;font-weight:600;color:#64748b}.ea-cefr-value{font-family:Montserrat,Segoe UI,sans-serif;font-size:1.75rem;font-weight:800;color:#1d4ed8;line-height:1.2}.ea-cefr-full{font-size:.78rem;color:#475569}.ea-cefr-hint{font-size:.75rem;color:#94a3b8}.ea-mirt-box .ea-footnote{margin:.5rem 0 0;font-size:.75rem;color:#64748b}.ea-lci-inline{display:inline-block;margin-top:.35rem;font-size:.8rem;font-weight:600;color:#0369a1}.ea-score-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.35rem}.ea-score-bar-track{flex:1;min-width:120px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.ea-score-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:4px;transition:width .3s ease}.ea-score-bar-chars{font-family:Consolas,Montserrat,monospace;font-size:.72rem;letter-spacing:-.5px;line-height:1}.ea-score-bar-chars .filled{color:#2563eb}.ea-score-bar-chars .empty{color:#cbd5e1}.ea-score-bar-value{font-family:Montserrat,sans-serif;font-weight:800;font-size:1.1rem;color:#0f172a}.ea-mirt-bar .ea-score-bar-value{font-size:1.25rem}.ea-wmc-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 720px){.ea-wmc-trio{grid-template-columns:1fr}}.ea-wmc-card{padding:.85rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;text-align:center}.ea-wmc-card-label{font-size:.72rem;font-weight:600;color:#64748b;margin-bottom:.4rem}.ea-wmc-card-value .num{font-family:Montserrat,sans-serif;font-size:1.65rem;font-weight:800;color:#0f172a}.ea-wmc-card-value .unit{font-size:.8rem;color:#64748b;margin-left:.15rem}.ea-wmc-badge{display:inline-block;margin-top:.35rem;padding:.15rem .5rem;font-size:.68rem;font-weight:700;background:#dbeafe;color:#1d4ed8;border-radius:999px}.ea-wmc-hint{margin:.4rem 0 0;font-size:.68rem;color:#94a3b8;line-height:1.35}.ea-prescription{margin:1rem 0 0;padding:1rem 1.25rem;background:#fffbeb;border-left:4px solid #f59e0b;border-radius:0 8px 8px 0}.ea-prescription-label{display:block;font-size:.75rem;font-weight:700;color:#b45309;margin-bottom:.35rem}.ea-prescription p{margin:0;font-size:.95rem;font-weight:500;color:#78350f}.ea-domain-row{margin-bottom:.65rem}.ea-domain-name{display:block;font-size:.82rem;font-weight:600;margin-bottom:.2rem}.ea-domain-bar .ea-score-bar-value{font-size:.85rem}.ea-attribute-zone{margin-bottom:1rem;padding:1rem;border-radius:8px;border:1px solid #e2e8f0}.ea-attribute-zone--safe{background:#f0fdf4;border-color:#bbf7d0}.ea-attribute-zone--focus{background:#fef2f2;border-color:#fecaca}.ea-zone-header{display:flex;gap:.65rem;margin-bottom:.65rem}.ea-zone-header h4{margin:0;font-size:.9rem}.ea-zone-header p{margin:.15rem 0 0;font-size:.78rem;color:#64748b}.ea-attribute-list{margin:0;padding-left:1.1rem;font-size:.88rem}.ea-attribute-list li{margin-bottom:.4rem}.ea-attr-note{color:#64748b}.ea-table-wrap{overflow-x:auto}.ea-wc-table{width:100%;border-collapse:collapse;font-size:.82rem}.ea-wc-table th,.ea-wc-table td{border:1px solid #e2e8f0;padding:.55rem .65rem;text-align:left}.ea-wc-table th{background:#f1f5f9;font-weight:700;color:#475569}.ea-wc-table tr.warn{background:#fff7ed}.ea-wmc-bli-note{margin:0 0 .75rem;padding:.55rem .75rem;background:#f0f9ff;border-radius:8px;font-size:.82rem;color:#0369a1;line-height:1.45}.ea-glossary{margin-top:.25rem}.ea-glossary-title{margin:0 0 .5rem;font-size:1.05rem}.ea-glossary-intro{margin:0 0 1rem;font-size:.88rem;color:#64748b;line-height:1.5}.ea-glossary-list{margin:0;padding:0}.ea-glossary-item{margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid #e2e8f0}.ea-glossary-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.ea-glossary-item dt{font-weight:700;font-size:.92rem;color:#1e293b;margin-bottom:.25rem}.ea-glossary-item dd{margin:0}.ea-glossary-easy{margin:0 0 .25rem;font-size:.88rem;color:#334155;line-height:1.45}.ea-glossary-detail{margin:0;font-size:.78rem;color:#64748b;line-height:1.4}.ea-bli-bar{margin-bottom:.2rem}.ea-bli-mood{font-size:.75rem;color:#64748b}.ea-panel--profile{background:#f8fafc}.ea-profile-label{font-size:.9rem;margin-bottom:.5rem}.ea-profile-notes{margin:0;padding-left:1.1rem;font-size:.82rem;color:#475569}.ea-buffet-rule{padding:.75rem 1rem;background:#ede9fe;border-radius:8px;font-size:.85rem;font-weight:600;color:#5b21b6;margin-bottom:1rem}.ea-buffet-rule-label{display:block;font-size:.7rem;opacity:.8;margin-bottom:.2rem}.ea-buffet-board{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media (max-width: 720px){.ea-buffet-board{grid-template-columns:1fr}}.ea-buffet-menu{padding:1rem;background:linear-gradient(180deg,#fff,#f8fafc);border:2px solid #e2e8f0;border-radius:10px;display:flex;flex-direction:column;gap:.3rem}.ea-buffet-badge{font-size:.68rem;font-weight:700;color:#64748b}.ea-buffet-menu-title{font-size:.8rem;font-weight:700;color:#1e40af}.ea-buffet-menu-name{font-size:.95rem;font-weight:700;color:#0f172a}.ea-buffet-menu-sub{font-size:.75rem;color:#64748b}.ea-failsafe{display:flex;gap:.75rem;margin-top:1rem;padding:.85rem 1rem;background:#f1f5f9;border-radius:8px;font-size:.82rem}.ea-failsafe p{margin:.25rem 0 0;color:#475569}.ea-muted{color:#94a3b8;font-size:.85rem}.ea-report-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;font-size:.72rem;color:#94a3b8}.ea-report-footer p{margin:.2rem 0}.ea-narrative-banner{margin:0 0 1rem;padding:1rem 1.2rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-left:4px solid #f59e0b;border-radius:0 10px 10px 0}.ea-narrative-banner p{margin:0;font-size:.92rem;font-weight:500;color:#78350f;line-height:1.65}.ea-page1-split{display:grid;grid-template-columns:55fr 45fr;gap:1rem;align-items:start}@media (max-width: 768px){.ea-page1-split{grid-template-columns:1fr}}.ea-col{padding:1rem 1.1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0f172a0a}.ea-col--ability{border-color:#bfdbfe;background:linear-gradient(180deg,#f8fafc,#fff)}.ea-col--brain{border-color:#c4b5fd;background:linear-gradient(180deg,#faf5ff,#fff);padding:.65rem .75rem}.ea-col--brain .ea-col-title{margin-bottom:.35rem}.ea-col-title{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:#1e293b}.ea-sub-title{margin:0 0 .5rem;font-size:.82rem;font-weight:700;color:#475569}.ea-ability-head{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.5rem}.ea-cefr-pill{font-family:Montserrat,sans-serif;font-size:1.6rem;font-weight:800;color:#1d4ed8;line-height:1.1;white-space:nowrap}.ea-ability-scores{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem}.ea-overall-score{font-weight:700;color:#0f172a}.ea-lci-chip{display:inline-block;padding:.15rem .45rem;font-size:.72rem;font-weight:600;background:#dbeafe;color:#1d4ed8;border-radius:999px;width:fit-content}.ea-radar-wrap{margin:0 -.5rem}.ea-radar-footnotes{margin:.35rem 0 0;padding-left:1rem;font-size:.72rem;color:#64748b;line-height:1.45}.ea-radar-footnotes li{margin-bottom:.2rem}.ea-brain-gauge-row{display:flex;gap:.45rem;align-items:flex-start;margin-bottom:0}.ea-brain-meta{flex:1;min-width:0}.ea-stamina-gauge{position:relative;width:72px;height:44px;flex-shrink:0;text-align:center}.ea-stamina-arc{width:72px;height:38px;border-radius:100px 100px 0 0;background:conic-gradient(from 180deg at 50% 100%,#8b5cf6 0deg,#8b5cf6 var(--deg, 0deg),#e2e8f0 var(--deg, 0deg),#e2e8f0 180deg);mask:radial-gradient(circle at 50% 100%,transparent 58%,#000 59%);-webkit-mask:radial-gradient(circle at 50% 100%,transparent 58%,#000 59%)}.ea-stamina-num{position:absolute;left:50%;bottom:1px;transform:translate(-50%);font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:800;color:#5b21b6;line-height:1}.ea-stamina-unit{position:absolute;left:50%;bottom:-11px;transform:translate(-50%);font-size:.62rem;color:#64748b}.ea-brain-badge{display:inline-block;padding:.12rem .45rem;font-size:.68rem;font-weight:700;background:#ede9fe;color:#6d28d9;border-radius:999px}.ea-brain-oneliner{margin:.2rem 0 0;font-size:.72rem;color:#475569;line-height:1.35}.ea-brain-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.ea-brain-stat:last-child:nth-child(odd){grid-column:1 / -1}.ea-brain-stat{display:flex;flex-direction:column;gap:.08rem;padding:.35rem .45rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.ea-brain-stat .label{font-size:.66rem;font-weight:600;color:#64748b;line-height:1.25}.ea-brain-stat .value{font-size:.82rem;font-weight:700;color:#0f172a;line-height:1.25}.ea-chunk-badge{margin-left:.35rem;padding:.1rem .4rem;font-size:.68rem;font-weight:700;background:#dcfce7;color:#15803d;border-radius:999px}.ea-page2-split{display:flex;flex-direction:column;gap:1.25rem}.ea-page2-top,.ea-page2-bottom{padding:1rem 1.1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.ea-wc-range{display:block;font-size:.72rem;color:#94a3b8;font-weight:400}.ea-wc-table--friendly th{font-size:.75rem}.ea-profile-chip{margin-top:.85rem;padding:.75rem .9rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.ea-profile-chip-title{font-size:.85rem;font-weight:700;color:#0369a1}.ea-profile-chip p{margin:.35rem 0 0;font-size:.8rem;color:#475569}.ea-buffet-emoji{font-size:1.25rem;line-height:1}.ea-pacemaker{display:flex;gap:.65rem;margin-top:1rem;padding:.85rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.82rem}.ea-pacemaker p{margin:.3rem 0 0;color:#475569;line-height:1.5}.ea-kpi-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.65rem;margin-bottom:1rem}.ea-kpi-card{padding:.65rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:.15rem}.ea-kpi-label{font-size:.72rem;font-weight:600;color:#64748b}.ea-kpi-value{font-size:1.1rem;font-weight:800;color:#0f172a}.ea-kpi-hint{font-size:.68rem;color:#94a3b8}.ea-ability-panel{margin-bottom:1rem;padding:.85rem 1rem;background:linear-gradient(180deg,#eff6ff,#fff);border:1px solid #bfdbfe;border-radius:8px}.ea-ability-panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.65rem}.ea-ability-panel-label{display:block;font-size:.75rem;color:#64748b}.ea-ability-panel-score{font-size:1.5rem;font-weight:800;color:#1d4ed8}.ea-ability-panel-cefr{font-size:.8rem;color:#475569}.ea-ability-tscore{font-size:.78rem;color:#64748b;font-weight:600}.ea-progress-row{display:grid;grid-template-columns:88px 1fr 48px;gap:.5rem;align-items:center;font-size:.78rem;margin-bottom:.35rem}.ea-progress-track{height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.ea-progress-track--lci .ea-progress-fill{background:linear-gradient(90deg,#0ea5e9,#0284c7)}.ea-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:4px}.ea-ability-guidance{margin:.5rem 0 0;font-size:.78rem;color:#0369a1}.ea-irt-b{margin-bottom:1rem;padding:.65rem .85rem;background:#f8fafc;border-radius:8px}.ea-irt-b-overall{margin:.25rem 0;font-size:.85rem}.ea-irt-b-domains{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.ea-irt-b-chip{padding:.15rem .5rem;font-size:.72rem;background:#e2e8f0;border-radius:999px}.ea-muted-inline{color:#94a3b8;font-size:.78rem}.ea-wmc-full{margin-bottom:1rem}.ea-wmc-note,.ea-wmc-meta{font-size:.82rem;color:#475569;margin:0 0 .5rem}.ea-wmc-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.85rem}@media (max-width: 720px){.ea-wmc-metrics{grid-template-columns:repeat(2,1fr)}}.ea-wmc-metric{padding:.55rem;background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;text-align:center}.ea-wmc-metric .label{display:block;font-size:.68rem;color:#64748b}.ea-wmc-metric .value{display:block;font-size:1.1rem;font-weight:800;color:#5b21b6}.ea-wmc-metric .hint{font-size:.65rem;color:#94a3b8}.ea-wc-table--full{margin-top:.35rem}.ea-rti-summary{margin-top:.75rem}.ea-bullet-list{margin:.35rem 0;padding-left:1.1rem;font-size:.85rem}.ea-bullet-list li{margin-bottom:.3rem}.ea-l3-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media (max-width: 640px){.ea-l3-grid{grid-template-columns:1fr}}.ea-l3-card{padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;background:#fff;page-break-inside:avoid;min-height:200px}.ea-l3-card .ea-radar-wrap{width:100%;min-height:150px}.ea-l3-card .recharts-responsive-container{min-height:150px!important}.ea-l3-title{margin:0 0 .2rem;font-size:.95rem}.ea-l3-meta{margin:0 0 .35rem;font-size:.78rem;color:#64748b}.ea-l3-fallback{margin:0;padding:0;list-style:none;font-size:.8rem}.ea-l3-fallback li{display:flex;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid #f1f5f9}.ea-answer-table-wrap{overflow-x:auto}.ea-answer-table{width:100%;border-collapse:collapse;font-size:.75rem}.ea-answer-table th,.ea-answer-table td{border:1px solid #e2e8f0;padding:.35rem .45rem;text-align:left}.ea-answer-table th{background:#f1f5f9;font-weight:700;position:sticky;top:0}.ea-answer-table tr.ng{background:#fff7ed}.ea-domain-cell{max-width:140px}.ea-domain-desc{display:block;font-size:.68rem;color:#94a3b8}.ea-badge{padding:.1rem .35rem;border-radius:4px;font-size:.68rem;font-weight:700}.ea-badge.ok{background:#dcfce7;color:#15803d}.ea-badge.ng{background:#fee2e2;color:#b91c1c}.ea-solar,.ea-ai,.ea-axis{font-size:.85rem}.ea-solar-meta,.ea-ai-meta,.ea-axis-meta{font-size:.75rem;color:#64748b;margin-bottom:.5rem}.ea-solar-summary,.ea-ai-summary{font-size:.92rem;font-weight:500;line-height:1.6;margin:0 0 .75rem}.ea-solar-section,.ea-ai-group,.ea-axis-section{margin-bottom:.85rem;page-break-inside:avoid}.ea-solar-section h5,.ea-ai-group h5,.ea-axis-section h5{margin:0 0 .35rem;font-size:.88rem}.ea-item-analysis-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.35rem}.ea-item-analysis-card{padding:.55rem .65rem;background:#fff;border:1px solid #fde68a;border-radius:6px;page-break-inside:avoid}.ea-item-qno{display:inline-block;font-weight:700;color:#c2410c;margin-bottom:.25rem}.ea-item-row{display:flex;flex-wrap:wrap;gap:.35rem .6rem;margin:.25rem 0 0;font-size:.8rem;line-height:1.45}.ea-item-row strong{flex:0 0 auto;min-width:4.2em;color:#b45309}.ea-ai-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.ea-ai-card{padding:.55rem .65rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.8rem}.ea-ai-card ul{margin:.25rem 0 0;padding-left:1rem}.ea-ai-label{margin-left:.35rem;padding:.1rem .35rem;font-size:.65rem;background:#dbeafe;border-radius:999px}.ea-axis-item{padding:.5rem .65rem;margin-bottom:.4rem;border-radius:6px;font-size:.82rem}.ea-axis-item--weak{background:#fef2f2;border:1px solid #fecaca}.ea-axis-item--strong{background:#f0fdf4;border:1px solid #bbf7d0}.ea-axis-item p{margin:.2rem 0;color:#475569;font-size:.78rem}.ea-axis-badge{margin-left:.35rem;font-size:.68rem;padding:.1rem .35rem;background:#fee2e2;border-radius:999px}.ea-axis-stat{font-size:.72rem;color:#64748b}.ea-cluster-item{margin-bottom:.45rem;font-size:.8rem}.ea-cluster-item ul{margin:.2rem 0 0;padding-left:1rem;font-size:.75rem}.ea-student-report--full .ea-page-body>*+*{margin-top:.75rem}.ea-parent-section{display:flex;align-items:flex-start;gap:.5rem;margin:.85rem 0 .45rem}.ea-parent-section--divided{margin-top:1.1rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.ea-parent-section-icon{flex-shrink:0;font-size:1rem;line-height:1.2}.ea-parent-section-title{margin:0;font-size:.95rem;font-weight:700;color:#0f172a}.ea-parent-section-sub{margin:.15rem 0 0;font-size:.75rem;color:#64748b}.ea-student-report--parent .ea-page-body>*+*{margin-top:.55rem}.ea-student-report--parent .ea-parent-section--divided+*{margin-top:.35rem}.ea-print-sheet-header{display:none}.ea-screen-only{display:block}@media print{@page{size:A4 portrait;margin:0}.ea-screen-only{display:none!important}.ea-print-sheet-header{display:flex;align-items:flex-end;justify-content:space-between;gap:4mm;margin:0 0 3mm;padding:3mm 4mm;border-radius:3px;background:linear-gradient(135deg,#f8fafc,#eff6ff);border:1px solid #cbd5e1;border-left:4px solid #2563eb}.ea-a4-sheet--cover .ea-print-sheet-header{background:linear-gradient(135deg,#0f172a,#1e3a5f 55%,#1d4ed8);border:none;border-left:none;padding:5mm 5mm 4mm;margin-bottom:4mm}.ea-a4-sheet--cover .ea-print-logo,.ea-a4-sheet--cover .ea-print-headline{color:#f8fafc}.ea-a4-sheet--cover .ea-print-sub{color:#cbd5e1}.ea-a4-sheet--cover .ea-print-sheet-pagenum{color:#93c5fd;background:#ffffff1f;border-color:#fff3}.ea-print-sheet-header-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;min-width:0;flex:1}.ea-print-sheet-pagenum{flex-shrink:0;font-size:7pt;font-weight:700;color:#475569;padding:1mm 2.5mm;background:#fff;border:1px solid #e2e8f0;border-radius:999px}.ea-page-brand{display:none}.ea-print-logo{font-size:7.5pt;font-weight:800;letter-spacing:.05em;color:#1d4ed8}.ea-print-headline{font-size:9pt;font-weight:700;color:#0f172a}.ea-print-sub{flex:1 1 100%;font-size:7pt;color:#64748b}.ea-student-report{max-width:none;width:100%;margin:0;font-size:8.5pt;line-height:1.45}.ea-a4-sheet{box-sizing:border-box;width:100%;min-height:277mm;margin:0;padding:10mm 12mm 8mm;page-break-inside:auto;break-inside:auto;display:flex;flex-direction:column;background:#fff;position:relative}.ea-student-report--parent .ea-a4-sheet{min-height:0;height:auto;padding:8mm 11mm 6mm}.ea-student-report--parent .ea-print-page-footer{margin-top:4mm}.ea-student-report--parent .ea-page-body>*+*{margin-top:2mm}.ea-student-report--parent .ea-parent-section{margin:3mm 0 1.5mm;gap:2mm}.ea-student-report--parent .ea-parent-section--divided{margin-top:3.5mm;padding-top:2.5mm;border-top:1px solid #cbd5e1}.ea-student-report--parent .ea-parent-section-title{font-size:8.5pt}.ea-student-report--parent .ea-parent-section-sub{font-size:6.5pt}.ea-student-report--parent .ea-page-header{margin-bottom:2mm;padding-bottom:1mm}.ea-student-report--parent .ea-page-header h2{font-size:9.5pt}.ea-student-report--parent .ea-narrative-banner{margin-bottom:1.5mm;padding:2mm 2.5mm}.ea-student-report--parent .ea-sai-embedded .sai-comparison-intro{font-size:6.5pt;margin-bottom:1.5mm}.ea-student-report--parent .sai-kpi-row{gap:1.5mm;margin-bottom:1.5mm}.ea-student-report--parent .sai-compare-table{font-size:6.5pt}.ea-student-report--parent .sai-compare-table th,.ea-student-report--parent .sai-compare-table td{padding:1mm 1.2mm}.ea-student-report--parent .ea-sai-insights-title{font-size:7.5pt;margin:2mm 0 1.5mm}.ea-student-report--parent .sai-insights-grid{gap:1.5mm}.ea-student-report--parent .sai-insight-card{padding:1.5mm 2mm;font-size:6.5pt}.ea-student-report--parent .ea-axis-section h5{font-size:7.5pt;margin-bottom:1mm}.ea-student-report--parent .ea-axis-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm 2mm;align-items:start}.ea-student-report--parent .ea-axis-section h5{grid-column:1 / -1}.ea-student-report--parent .ea-axis-meta{grid-column:1 / -1;margin-bottom:1mm}.ea-student-report--parent .ea-axis-item{margin-bottom:0}.ea-student-report--parent .ea-topdown-story{gap:2mm}.ea-student-report--parent .ea-glossary-list{grid-template-columns:repeat(3,1fr);gap:2mm 3mm}.ea-student-report--parent .ea-glossary-item{padding:1.2mm 0}.ea-student-report--parent .ea-report-footer--sheet{margin-top:3mm}.ea-report-page--break-before{page-break-before:always;break-before:page}.ea-report-page:last-of-type{page-break-after:auto;break-after:auto}.ea-page-body{flex:1 1 auto}.ea-print-page-footer{display:flex;justify-content:space-between;align-items:center;gap:4mm;margin-top:auto;padding-top:2.5mm;border-top:1px solid #e2e8f0;font-size:6pt;color:#94a3b8}.ea-print-page-footer-brand{font-weight:600;letter-spacing:.02em}.ea-print-page-footer-num{font-weight:700;color:#64748b}.ea-page-header{margin-bottom:2.5mm;padding-bottom:1.5mm;border-bottom:1px solid #e2e8f0;gap:.4rem}.ea-page-icon{font-size:1rem}.ea-page-num{font-size:6pt}.ea-page-header h2{font-size:10pt;margin-top:0}.ea-page-header p{font-size:7pt;margin-top:.1rem}.ea-info-strip{grid-template-columns:repeat(4,1fr);gap:1.5mm;padding:2mm 2.5mm;margin-bottom:2.5mm}.ea-info-label{font-size:6pt}.ea-info-value{font-size:7.5pt}.ea-narrative-banner{margin-bottom:2.5mm;padding:2.5mm 3mm}.ea-narrative-banner p{font-size:7.5pt;line-height:1.4}.ea-page1-split{grid-template-columns:52fr 48fr;gap:2.5mm}.ea-col{padding:2.5mm 3mm;border-radius:4px;box-shadow:none}.ea-col-title{font-size:8pt;margin-bottom:1.5mm}.ea-sub-title{font-size:7pt;margin-bottom:1mm}.ea-cefr-pill{font-size:14pt}.ea-ability-scores{font-size:7pt}.ea-radar-wrap{margin:0}.ea-radar-wrap .recharts-responsive-container{height:118px!important}.ea-radar-footnotes{font-size:6pt;margin-top:1mm;padding-left:.75rem}.ea-col--brain{padding:2mm 2.5mm}.ea-col--brain .ea-col-title{margin-bottom:1mm}.ea-brain-content{gap:1.5mm}.ea-brain-gauge-row{margin-bottom:0;gap:1.5mm}.ea-stamina-gauge{width:58px;height:34px}.ea-stamina-arc{width:58px;height:30px}.ea-stamina-num{font-size:9.5pt;bottom:0}.ea-stamina-unit{font-size:5pt;bottom:-8px}.ea-brain-oneliner{font-size:6pt;margin-top:.5mm;line-height:1.3}.ea-brain-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1mm}.ea-brain-stat{padding:1mm 1.5mm;border-radius:2px}.ea-brain-stat .label{font-size:5.5pt}.ea-brain-stat .value{font-size:7pt}.ea-page2-split{gap:2.5mm}.ea-page2-top,.ea-page2-bottom{padding:2.5mm 3mm;border-radius:4px}.ea-wc-table{font-size:7pt}.ea-wc-table th,.ea-wc-table td{padding:1.5mm 2mm}.ea-profile-chip{margin-top:2mm;padding:2mm 2.5mm}.ea-profile-chip-title{font-size:7.5pt}.ea-profile-chip p{font-size:6.5pt;margin-top:1mm}.ea-buffet-rule{padding:2mm 2.5mm;margin-bottom:2mm;font-size:7pt}.ea-buffet-board{grid-template-columns:repeat(3,1fr);gap:2mm}.ea-buffet-menu{padding:2.5mm;border-width:1px;border-radius:4px;gap:.5mm}.ea-buffet-emoji{font-size:9pt}.ea-buffet-menu-title{font-size:6.5pt}.ea-buffet-menu-name{font-size:7.5pt}.ea-buffet-menu-sub{font-size:6pt}.ea-pacemaker{margin-top:2mm;padding:2mm 2.5mm;font-size:6.5pt}.ea-pacemaker p{margin-top:1mm;line-height:1.35}.ea-report-footer--sheet{margin-top:2.5mm;padding-top:1.5mm;border-top:1px solid #e2e8f0;font-size:5.5pt;color:#94a3b8;page-break-inside:avoid}.ea-report-footer--sheet p{margin:.15rem 0}.ea-kpi-cards{grid-template-columns:repeat(4,1fr);gap:1.5mm;margin-bottom:2mm}.ea-kpi-card{padding:1.5mm 2mm}.ea-kpi-label{font-size:5.5pt}.ea-kpi-value{font-size:8pt}.ea-ability-panel{padding:2mm;margin-bottom:2mm}.ea-ability-panel-score{font-size:11pt}.ea-progress-row{font-size:6.5pt;margin-bottom:1mm}.ea-wmc-metrics{grid-template-columns:repeat(4,1fr);gap:1.5mm}.ea-wmc-metric .value{font-size:8pt}.ea-l3-grid{grid-template-columns:repeat(2,1fr);gap:2mm}.ea-l3-card{padding:2mm}.ea-radar-block--compact .recharts-responsive-container{height:95px!important}.ea-answer-table{font-size:5.5pt}.ea-answer-table th,.ea-answer-table td{padding:.8mm 1mm}.ea-solar-summary,.ea-ai-summary{font-size:7.5pt}.ea-solar-section h5,.ea-ai-group h5{font-size:7pt}.ea-bullet-list{font-size:6.5pt}.ea-ai-cards{grid-template-columns:repeat(2,1fr);gap:1.5mm}.ea-ai-card{font-size:6pt;padding:1.5mm}.ea-axis-item{font-size:6.5pt;padding:1.5mm;margin-bottom:1mm}.ea-buffet-board{gap:1.5mm}.recharts-wrapper,.recharts-surface,.recharts-layer{overflow:visible!important}.ea-stamina-arc,.ea-score-bar-fill,.ea-progress-fill,.ea-col--ability,.ea-col--brain,.ea-narrative-banner,.ea-buffet-rule,.ea-pacemaker,.ea-profile-chip,.ea-kpi-card,.ea-l3-card,.ea-axis-item--weak,.ea-axis-item--strong,.ea-story-stage,.ea-story-week,.ea-print-sheet-header,.ea-a4-sheet--cover .ea-print-sheet-header{print-color-adjust:exact;-webkit-print-color-adjust:exact}.ea-kpi-hero{grid-template-columns:.75fr 1.05fr .85fr;gap:2mm;padding:2.5mm;margin-bottom:2mm}.ea-kpi-mini-card{padding:1mm 1.5mm;margin-bottom:1mm}.ea-kpi-mini-value{font-size:9pt}.ea-kpi-irt{padding:1.5mm;font-size:6.5pt}.ea-kpi-ability-score{font-size:14pt;line-height:1.1}.ea-kpi-ability-level{font-size:7pt;margin-bottom:1mm}.ea-kpi-scale-list{font-size:5.5pt;margin:0;padding-left:.85rem}.ea-kpi-hero-col--radar .recharts-responsive-container,.ea-kpi-hero .recharts-responsive-container{height:95px!important}.ea-kpi-radar-title{font-size:7.5pt;margin:0 0 .5mm}.ea-kpi-radar-sub{font-size:6pt;margin:0 0 1mm}.ea-parent-reading-cap{margin-bottom:2mm}.ea-cap-dashboard{grid-template-columns:38mm 1fr;gap:3mm;margin-bottom:2mm}.ea-cap-chart-col .recharts-responsive-container{height:72px!important}.ea-cap-summary-cards{grid-template-columns:repeat(3,1fr);gap:1.5mm}.ea-cap-narrative{margin-top:2mm;padding:2mm 2.5mm;background:#f8fafc;border:1px solid #e2e8f0;border-radius:3px}.ea-cap-section-title{font-size:7.5pt;margin:0 0 1mm}.ea-story-weeks{gap:2.5mm;margin:2mm 0}.ea-story-week{padding:2.5mm 3mm;font-size:7.5pt;line-height:1.45;border:1px solid #c4b5fd}.ea-story-stage{padding:2.5mm 3mm;margin-bottom:2mm;border-radius:3px}.ea-story-key{font-size:7pt;padding:1.5mm 2mm;margin-bottom:1.5mm}.ea-story-para{font-size:7pt;line-height:1.4;margin-bottom:1.5mm}.ea-glossary-list{display:grid;grid-template-columns:1fr 1fr;gap:2mm 4mm}.ea-glossary-item{margin:0;padding:1.5mm 0;border-bottom:1px solid #e2e8f0;break-inside:avoid}.ea-glossary-item dt{font-size:7pt}.ea-glossary-easy{font-size:6.5pt;line-height:1.35}.ea-glossary-detail{font-size:6pt}.ea-axis-section{margin-bottom:2mm}.ea-axis-item{padding:1.5mm 2mm;margin-bottom:1mm}.ea-report-footer--sheet{margin-top:2mm;padding:2mm 0 0;columns:2;column-gap:4mm;font-size:5pt;line-height:1.35}.ea-report-footer--sheet p{margin:0 0 1mm;break-inside:avoid}.recharts-tooltip-wrapper,.recharts-active-dot{display:none!important}}.ea-topdown-story{display:flex;flex-direction:column;gap:18px}.ea-story-stage{border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;background:#fff}.ea-story-stage-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.ea-story-stage-no{flex:0 0 auto;font-size:11px;font-weight:700;color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:2px 10px}.ea-story-stage-title{margin:0;font-size:14px;font-weight:700;color:#0f172a}.ea-story-badge{margin-left:auto;font-size:11px;font-weight:700;border-radius:999px;padding:2px 10px;white-space:nowrap}.ea-story-badge--danger{color:#b91c1c;background:#fee2e2}.ea-story-badge--warning{color:#92400e;background:#fef3c7}.ea-story-badge--ok{color:#166534;background:#dcfce7}.ea-story-badge--info{color:#1e40af;background:#dbeafe}.ea-story-key{margin:0 0 10px;padding:8px 12px;border-left:4px solid #2563eb;background:#eff6ff;border-radius:0 8px 8px 0;font-size:13px;font-weight:600;color:#1e3a8a}.ea-story-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:10px}.ea-story-fact{display:flex;flex-direction:column;gap:1px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:6px 9px}.ea-story-fact-label{font-size:10px;color:#64748b}.ea-story-fact-value{font-size:12.5px;font-weight:700;color:#0f172a}.ea-story-para{margin:0 0 8px;font-size:12.5px;line-height:1.65;color:#1e293b}.ea-story-para:last-child{margin-bottom:0}.ea-story-note{margin:0;font-size:11px;color:#94a3b8;line-height:1.5}@media print{.ea-story-stage{break-inside:avoid}}.ea-story-caution{margin:8px 0 0;padding:8px 12px;border:1px solid #fbbf24;border-left-width:4px;background:#fffbeb;border-radius:0 8px 8px 0;font-size:12px;font-weight:600;line-height:1.6;color:#92400e}@media print{.ea-story-caution{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.ea-story-growth{margin:8px 0 0;padding:8px 12px;border:1px solid #34d399;border-left-width:4px;background:#ecfdf5;border-radius:0 8px 8px 0;font-size:12px;font-weight:600;line-height:1.6;color:#065f46}@media print{.ea-story-growth{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.ea-story-weeks{display:flex;flex-direction:column;gap:8px;margin:10px 0 8px}.ea-story-week{padding:.75rem 1rem;background:#ede9fe;border-radius:8px;font-size:14.5px;font-weight:600;line-height:1.6;color:#5b21b6}.ea-story-week-label{display:block;font-size:11.5px;opacity:.8;margin-bottom:.2rem}.ea-story-footnote{margin:4px 0 0;font-size:12px;font-weight:600;color:#475569}.ea-parent-reading-cap{margin-bottom:12px}.ea-cap-dashboard{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:16px 20px;align-items:start;margin-bottom:12px}.ea-cap-gauge-col{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.ea-cap-bars-col{display:flex;flex-direction:column;gap:10px}.ea-cap-metric-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.ea-cap-metric-label{font-size:12px;font-weight:600;color:#475569}.ea-cap-metric-value{font-size:13px;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.ea-cap-metric-hint{font-size:11px;font-weight:500;color:#64748b}.ea-cap-metric-track{height:10px;background:#e2e8f0;border-radius:999px;overflow:hidden}.ea-cap-metric-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:999px;min-width:2px}.ea-cap-wc-chart{margin:12px 0;padding:10px 12px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0}.ea-cap-chart-col{min-width:0}.ea-cap-summary-cards{margin:12px 0}.ea-cap-section-title{margin:0 0 8px;font-size:14px;font-weight:700;color:#0f172a}.ea-cap-narrative{margin-top:12px;padding-top:12px;border-top:1px dashed #cbd5e1}.ea-cap-narrative .ea-story-para,.ea-cap-narrative .ea-story-key,.ea-cap-narrative .ea-story-caution,.ea-cap-narrative .ea-story-growth{display:block}@media (max-width: 640px){.ea-cap-dashboard{grid-template-columns:1fr}}.ea-kpi-hero--parent-ii .ea-kpi-irt{display:none}.ea-kpi-lci-fit{margin-top:.35rem;font-weight:600;color:#2563eb}.ea-kpi-ability-cefr{margin:.25rem 0;font-size:1.05rem;font-weight:600}.ea-brain-oneliner--solo{margin:0 0 .75rem;font-size:.95rem;color:#475569}@media print{.ea-story-week{print-color-adjust:exact;-webkit-print-color-adjust:exact}}.sai-survey-page{max-width:780px;margin:0 auto;padding:20px 24px 56px;font-size:16px;line-height:1.55;color:#1e293b}.sai-survey-page h1{font-size:1.65rem;font-weight:700;margin-bottom:10px;letter-spacing:-.02em}.sai-survey-page>p{font-size:15px}.sai-intro{background:linear-gradient(135deg,#eff6ff,#f0f9ff);border:1px solid #93c5fd;border-radius:12px;padding:16px 18px;font-size:15px;line-height:1.6;color:#1e3a5f;margin-bottom:24px;box-shadow:0 1px 3px #2563eb14}.sai-test-picker{margin-bottom:20px;padding:16px 18px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0f172a0a}.sai-test-picker label{display:block;font-weight:700;margin-bottom:10px;font-size:15px;color:#334155}.sai-test-picker select{width:100%;max-width:520px;padding:12px 14px;border-radius:10px;border:1px solid #cbd5e1;font-size:15px;background:#fafafa}.sai-form section{margin-bottom:24px;padding:22px 22px 26px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 2px 8px #0f172a0d}.sai-form h2{font-size:1.15rem;font-weight:700;margin:0 0 6px;color:#0f172a;letter-spacing:-.01em}.sai-form .sai-section-sub{font-size:14px;color:#64748b;margin:0 0 18px;padding-bottom:12px;border-bottom:1px dashed #e2e8f0}.sai-q-label{font-weight:700;font-size:16px;margin-bottom:14px;display:block;color:#1e293b;line-height:1.5}.sai-likert-row{display:flex;flex-direction:column;gap:10px}.sai-likert-option{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;font-size:15px;line-height:1.45;transition:border-color .15s,background .15s}.sai-likert-option:hover{border-color:#93c5fd;background:#f8fafc}.sai-likert-option:has(input:checked){border-color:#2563eb;background:#eff6ff;font-weight:600}.sai-likert-option input{margin-top:3px;width:18px;height:18px;flex-shrink:0}.sai-domain-row{margin-bottom:20px;padding:14px 16px;background:#f8fafc;border-radius:10px;border:1px solid #f1f5f9}.sai-domain-row label{display:block;font-size:15px;font-weight:600;margin-bottom:12px;line-height:1.5;color:#334155}.sai-scale-hint{font-size:14px;color:#64748b;margin-bottom:14px;padding:8px 12px;background:#f1f5f9;border-radius:8px}.sai-scale-buttons{display:flex;gap:8px;flex-wrap:wrap}.sai-scale-btn{min-width:48px;min-height:44px;padding:10px 14px;border:2px solid #cbd5e1;border-radius:10px;background:#fff;cursor:pointer;font-size:16px;font-weight:600;transition:all .15s}.sai-scale-btn:hover:not(:disabled){border-color:#93c5fd}.sai-scale-btn.active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 2px 6px #2563eb59}.sai-check-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:2px solid #e2e8f0;border-radius:10px;margin-bottom:10px;cursor:pointer;font-size:15px;line-height:1.45;transition:border-color .15s,background .15s}.sai-check-row:hover:not(.disabled){border-color:#93c5fd}.sai-check-row:has(input:checked){border-color:#2563eb;background:#eff6ff;font-weight:600}.sai-check-row input{margin-top:3px;width:18px;height:18px}.sai-check-row.disabled{opacity:.45;cursor:not-allowed}.sai-habit-row{margin-bottom:18px;padding:14px 16px;background:#f8fafc;border-radius:10px}.sai-habit-row p{margin:0 0 12px;font-size:15px;font-weight:600;line-height:1.5}.sai-ternary{display:flex;gap:10px;flex-wrap:wrap}.sai-ternary label{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;padding:10px 16px;border:2px solid #e2e8f0;border-radius:10px;cursor:pointer;background:#fff;transition:all .15s}.sai-ternary label:hover{border-color:#93c5fd}.sai-ternary label:has(input:checked){border-color:#2563eb;background:#eff6ff;font-weight:700}.sai-ternary input{width:16px;height:16px}.sai-submit-row{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}.sai-submit-row button,.sai-survey-page .sai-cta-btn{padding:14px 28px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 2px 8px #2563eb4d;transition:background .15s}.sai-submit-row button:hover:not(:disabled),.sai-survey-page .sai-cta-btn:hover{background:#1d4ed8}.sai-submit-row button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.sai-done-banner{background:#ecfdf5;border:1px solid #6ee7b7;color:#065f46;padding:16px 18px;border-radius:12px;margin-bottom:22px;font-size:15px;line-height:1.5}.sai-error{color:#b91c1c;font-size:15px;margin-top:10px;font-weight:600}.sai-comparison-panel{padding:12px 0 28px;font-size:15px}.sai-comparison-panel h2{font-size:1.35rem;font-weight:700;margin:0 0 10px}.sai-comparison-panel h3{font-size:1.05rem;font-weight:700}.sai-comparison-intro{font-size:15px;color:#475569;line-height:1.6;margin-bottom:22px}.sai-kpi-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px}.sai-kpi{flex:1;min-width:150px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;padding:16px 18px;box-shadow:0 1px 4px #0f172a0d}.sai-kpi .label{font-size:13px;font-weight:600;color:#64748b;margin-bottom:4px}.sai-kpi .value{font-size:1.75rem;font-weight:800;color:#0f172a}.sai-kpi-sub{display:block;font-size:13px;font-weight:600;color:#64748b;margin-top:4px}.sai-compare-table{width:100%;border-collapse:collapse;font-size:15px;margin-bottom:26px;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #0f172a0f}.sai-compare-table th,.sai-compare-table td{border:1px solid #e2e8f0;padding:14px;text-align:center}.sai-compare-table th{background:#1e40af;color:#fff;font-weight:700;font-size:14px}.sai-compare-table td:first-child{font-weight:700;background:#f8fafc}.sai-stars{letter-spacing:2px;color:#f59e0b;font-size:16px}.sai-gap-over{color:#b45309;font-weight:700;font-size:16px}.sai-gap-under{color:#059669;font-weight:700;font-size:16px}.sai-gap-even{color:#334155;font-weight:600}.sai-insight-card{border-left:5px solid #3b82f6;background:#fff;padding:16px 18px;margin-bottom:14px;border-radius:0 10px 10px 0;box-shadow:0 1px 3px #0f172a0f;border:1px solid #e2e8f0;border-left-width:5px}.sai-insight-card.warning{border-left-color:#f59e0b}.sai-insight-card.success{border-left-color:#10b981}.sai-insight-card h4{margin:0 0 8px;font-size:15px;font-weight:700}.sai-insight-card p{margin:0;font-size:14px;line-height:1.55;color:#475569}.sai-empty{padding:28px;text-align:center;color:#64748b;background:#f8fafc;border-radius:12px;font-size:15px;border:1px dashed #cbd5e1}.sai-empty a{color:#2563eb;font-weight:600}.sai-score-sub{font-size:13px;color:#64748b;margin-top:4px}.sai-insights-grid{display:flex;flex-direction:column;gap:12px}@media print{.ea-sai-embedded.sai-comparison-panel,.sai-comparison-panel.ea-sai-embedded{padding:0;font-size:8pt}.ea-sai-embedded .sai-comparison-intro{font-size:6.5pt;line-height:1.35;margin-bottom:2mm}.ea-sai-embedded .sai-kpi-row{gap:1.5mm;margin-bottom:2mm}.ea-sai-embedded .sai-kpi{padding:1.5mm 2mm;border-radius:3px;min-width:0}.ea-sai-embedded .sai-kpi .label{font-size:5.5pt}.ea-sai-embedded .sai-kpi .value{font-size:10pt}.ea-sai-embedded .sai-compare-table{font-size:6.5pt;margin-bottom:2mm}.ea-sai-embedded .sai-compare-table th,.ea-sai-embedded .sai-compare-table td{padding:1.2mm 1.5mm}.ea-sai-embedded .sai-compare-table th{font-size:6pt;background:#1e40af!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.ea-sai-embedded .sai-stars{font-size:8pt}.ea-sai-embedded .sai-insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5mm}.ea-sai-embedded .sai-insight-card{padding:1.5mm 2mm;font-size:6.5pt;line-height:1.35;break-inside:avoid}.ea-sai-insights-title{font-size:7.5pt;margin:1.5mm 0 1mm}}.role-report-panel{max-width:920px;margin:0 auto}.role-report-toolbar{margin-bottom:1.5rem;padding:1.25rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.role-report-toolbar-head h2{margin:0 0 .35rem;font-size:1.25rem;color:#1e293b}.role-report-toolbar-hint{margin:0 0 1rem;font-size:.875rem;color:#64748b}.role-report-role-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem}.role-report-role-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem .9rem;text-align:left;background:#fff;border:2px solid #cbd5e1;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.role-report-role-btn:hover:not(:disabled){border-color:#3b82f6;background:#eff6ff}.role-report-role-btn.active{border-color:#2563eb;background:#dbeafe}.role-report-role-btn:disabled{opacity:.6;cursor:wait}.role-report-role-btn-label{font-weight:700;font-size:.95rem;color:#0f172a}.role-report-role-btn-desc{font-size:.72rem;color:#64748b;line-height:1.3}.role-report-toolbar-actions{margin-top:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.role-report-print-hint{margin:0;font-size:.78rem;color:#64748b;line-height:1.45;max-width:420px}.role-report-print-btn{padding:.5rem 1.1rem;font-size:.9rem;font-weight:600;color:#fff;background:#334155;border:none;border-radius:6px;cursor:pointer}.role-report-print-btn:hover{background:#1e293b}.role-report-loading,.role-report-error,.role-report-placeholder{padding:1.5rem;text-align:center;border-radius:8px;margin-bottom:1rem}.role-report-loading{background:#f1f5f9;color:#475569}.role-report-error{background:#fef2f2;color:#b91c1c}.role-report-placeholder{background:#f8fafc;color:#94a3b8;border:1px dashed #cbd5e1}.role-report-print-area{background:#fff}.role-report-document{padding:1.5rem 1.75rem;border:1px solid #e2e8f0;border-radius:10px;line-height:1.65;color:#1e293b}.role-report-doc-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.role-report-role-badge{display:inline-block;margin-bottom:.5rem;padding:.2rem .65rem;font-size:.75rem;font-weight:700;color:#1d4ed8;background:#dbeafe;border-radius:999px}.role-report-headline{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.role-report-subtitle{margin:0 0 .5rem;color:#64748b;font-size:.95rem}.role-report-meta-line{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;color:#94a3b8}.role-report-exec-summary,.role-report-key-metrics,.role-report-section{margin-bottom:1.35rem}.role-report-exec-summary h3,.role-report-key-metrics h3,.role-report-section h3{margin:0 0 .65rem;font-size:1.05rem;color:#0f172a;border-left:4px solid #3b82f6;padding-left:.6rem}.role-report-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.role-report-metric-card{padding:.75rem;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.role-report-metric-label{font-size:.75rem;color:#64748b}.role-report-metric-value{font-size:1.25rem;font-weight:700;color:#0f172a}.role-report-metric-unit{font-size:.75rem;font-weight:400;color:#64748b;margin-left:.2rem}.role-report-metric-hint{font-size:.72rem;color:#475569;margin-top:.25rem}.role-report-paragraph{margin:.5rem 0}.role-report-bullets{margin:.5rem 0;padding-left:1.25rem}.role-report-bullets li{margin-bottom:.35rem}.role-report-callout{margin:.75rem 0;padding:.85rem 1rem;border-radius:8px;font-size:.9rem}.role-report-callout--info{background:#eff6ff;border-left:4px solid #3b82f6}.role-report-callout--success{background:#ecfdf5;border-left:4px solid #10b981}.role-report-callout--warning{background:#fffbeb;border-left:4px solid #f59e0b}.role-report-table{width:100%;border-collapse:collapse;font-size:.875rem;margin:.5rem 0}.role-report-table th,.role-report-table td{border:1px solid #e2e8f0;padding:.45rem .65rem;text-align:left}.role-report-table th{background:#f1f5f9;font-weight:600}.role-report-action-list{margin:0;padding-left:1.25rem}.role-report-action-list li{margin-bottom:.5rem}.role-report-action-rationale{color:#64748b;font-size:.85rem}.role-report-reading-guide{padding:.85rem;background:#f8fafc;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.role-report-disclaimers{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0;font-size:.75rem;color:#94a3b8}.role-report-disclaimers p{margin:.25rem 0}@media print{@page{size:A4 portrait;margin:0}html,body{width:210mm;margin:0!important;padding:0!important;background:#fff!important}body.ea-body-printing *{visibility:hidden}body.ea-body-printing .role-report-print-area,body.ea-body-printing .role-report-print-area *{visibility:visible}body.ea-body-printing .role-report-print-area{position:absolute!important;left:0;top:0;width:100%;border:none;padding:0;margin:0;z-index:9999}.role-report-panel{padding:0!important;margin:0!important}.role-report-document{border:none;padding:0}.no-print,.ea-screen-only{display:none!important}}.wmc-profile-section{margin:1rem 0 1.5rem}.wmc-profile-note{margin:0 0 .75rem;font-size:.9rem;color:#555;line-height:1.5}.wmc-profile-meta{margin:0 0 1rem;font-size:.85rem;color:#666}.wmc-quality-badge{display:inline-block;padding:.1rem .45rem;border-radius:4px;font-size:.75rem;font-weight:600}.wmc-quality-low{background:#fff3e0;color:#e65100}.wmc-profile-v2-breakdown{margin:0 0 1rem;font-size:.82rem;color:#555}.wmc-compare{margin:0 0 1rem;padding:.75rem 1rem;border:1px solid #d0e2f5;border-radius:8px;background:#f6faff}.wmc-compare-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.wmc-compare-title{font-weight:600;font-size:.9rem;color:#1565c0}.wmc-compare-active{font-size:.82rem;color:#555}.wmc-compare-table{width:100%;border-collapse:collapse;font-size:.85rem}.wmc-compare-table th,.wmc-compare-table td{padding:.35rem .6rem;border-bottom:1px solid #e3edf7;text-align:left}.wmc-compare-table th{color:#666;font-weight:600;background:#eef5fc}.wmc-compare-col-active{color:#1565c0!important}.wmc-compare-hint{margin:.5rem 0 0;font-size:.78rem;color:#777}.wmc-profile-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1rem}.wmc-metric-card{border:1px solid #e0e0e0;border-radius:8px;padding:.75rem 1rem;background:#fafafa}.wmc-metric-card.wmc-metric-primary{border-color:#1976d2;background:#e3f2fd}.wmc-metric-label{font-size:.8rem;color:#666;margin-bottom:.25rem}.wmc-metric-value{font-size:1.35rem;font-weight:700;color:#1a1a1a}.wmc-metric-hint{margin-top:.35rem;font-size:.75rem;color:#888}.wmc-bins-details{margin-top:.5rem}.wmc-bins-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-top:.5rem}.wmc-bins-table th,.wmc-bins-table td{border:1px solid #ddd;padding:.4rem .6rem;text-align:center}.wmc-bins-table th{background:#f5f5f5}.wmc-profile-unavailable{margin:1rem 0;padding:.75rem 1rem;background:#fff8e1;border:1px solid #ffe082;border-radius:6px;color:#6d4c00;font-size:.9rem}.learning-planner-chat{margin-top:1.5rem;border:1px solid #c5cae9;border-radius:12px;background:#fafbff;overflow:hidden}.planner-chat-header{padding:.85rem 1rem;background:#e8eaf6;border-bottom:1px solid #c5cae9}.planner-chat-header h3{margin:0;font-size:1rem}.planner-chat-sub{margin:.25rem 0 0;font-size:.82rem;color:#555}.planner-chat-llm-badge{display:inline-block;margin-top:.35rem;padding:.15rem .5rem;border-radius:999px;font-size:.72rem;background:#fff;color:#3949ab}.planner-chat-error{margin:.5rem 1rem 0;padding:.5rem;border-radius:6px;background:#ffebee;color:#c62828;font-size:.85rem}.planner-chat-messages{max-height:320px;overflow-y:auto;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.65rem}.planner-chat-placeholder{color:#888;font-size:.9rem;margin:0}.planner-chat-bubble{max-width:92%;padding:.55rem .75rem;border-radius:10px;font-size:.9rem;line-height:1.45}.planner-chat-assistant{align-self:flex-start;background:#fff;border:1px solid #e0e0e0}.planner-chat-user{align-self:flex-end;background:#3949ab;color:#fff}.planner-chat-role{display:block;font-size:.7rem;opacity:.75;margin-bottom:.2rem}.planner-chat-form{display:flex;gap:.5rem;padding:.65rem 1rem .85rem;border-top:1px solid #e0e0e0;background:#fff}.planner-chat-input{flex:1;padding:.5rem .65rem;border:1px solid #ccc;border-radius:8px;font-size:.9rem}.planner-chat-form button{padding:.5rem 1rem;border:none;border-radius:8px;background:#3949ab;color:#fff;cursor:pointer;font-size:.9rem}.planner-chat-form button:disabled{opacity:.5;cursor:not-allowed}.lp-dashboard{display:flex;flex-direction:column;gap:1.1rem;font-size:.9rem;color:#1e293b;padding:.25rem 0}.lp-schedule-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.6rem .9rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;font-size:.82rem;color:#0369a1}.lp-banner-badge{font-weight:700;color:#0c4a6e}.lp-banner-sep{color:#94a3b8}.lp-banner-wmc{padding:.15rem .55rem;background:#e0f2fe;border-radius:999px;font-size:.75rem;color:#0369a1;font-weight:500}.lp-plan-block{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:14px;overflow:hidden}.lp-plan-header{padding:.85rem 1.1rem .75rem;background:#d1fae5;border-bottom:1px solid #a7f3d0}.lp-plan-title{margin:0;font-size:1rem;font-weight:700;color:#065f46;display:flex;align-items:center;gap:.5rem}.lp-plan-sub{font-size:.73rem;font-weight:400;color:#94a3b8;padding:.1rem .5rem;border:1px solid #e2e8f0;border-radius:999px}.lp-week-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:0;border-bottom:1px solid #a7f3d0;background:#ecfdf5}.lp-week-tab{padding:.7rem .9rem;background:#f8fafc;border:none;border-top:3px solid transparent;border-right:1px solid #e2e8f0;text-align:left;cursor:pointer;font-family:inherit;transition:background .12s}.lp-week-tab:last-child{border-right:none}.lp-week-tab:hover:not(.lp-week-tab-active){background:#f1f5f9}.lp-week-tab-active{background:#fff;box-shadow:inset 0 -2px #fff}.lp-week-tab-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.lp-week-tab-num{font-size:.875rem;font-weight:700;color:#64748b;transition:color .12s}.lp-week-tab-active .lp-week-tab-num{color:#1e293b}.lp-week-score-tag{font-size:.7rem;font-weight:600;padding:.12rem .45rem;background:#dcfce7;color:#14532d;border-radius:999px}.lp-week-progress-bar{height:2px;background:#e2e8f0;border-radius:999px;margin-bottom:.3rem;overflow:hidden}.lp-week-progress-fill{height:100%;border-radius:999px;transition:width .5s ease}.lp-week-focus{font-size:.72rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lp-week-schedule{padding:0 0 .75rem}.lp-week-schedule-head{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1.1rem;font-size:.75rem;font-weight:700;color:#047857;background:#d1fae5;border-bottom:1px solid #a7f3d0}.lp-week-schedule-sub{font-weight:400;color:#94a3b8}.lp-week-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;padding:.85rem 1.1rem .5rem;overflow-x:auto}@media (max-width: 720px){.lp-week-grid{grid-template-columns:repeat(5,minmax(132px,1fr))}}.lp-day-col{display:flex;flex-direction:column;min-width:0;border:2px solid transparent;border-radius:10px;overflow:hidden}.lp-day-col-coaching{box-shadow:0 0 0 2px #fbbf24d9}.lp-day-col-head{padding:.55rem .4rem;text-align:center;border-bottom:2px solid transparent}.lp-day-col-head .lp-day-badge{margin:0 auto .25rem}.lp-day-steps{display:flex;flex-direction:column;gap:0;padding:.45rem;flex:1;background:#ffffff2e}.lp-step-arrow-down{text-align:center;font-size:.72rem;font-weight:700;line-height:1;padding:.15rem 0;-webkit-user-select:none;user-select:none}.lp-day-badge{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.82rem;font-weight:700;color:#fff;flex-shrink:0}.lp-day-domain{font-size:.62rem;font-weight:600;line-height:1.35;text-align:center;word-break:keep-all}.lp-day-col--0{background:#93c5fd;border-color:#1d4ed8}.lp-day-col--0 .lp-day-col-head{background:#3b82f6;border-bottom-color:#1e40af}.lp-day-col--0 .lp-day-badge{background:#1e3a8a}.lp-day-col--0 .lp-day-domain{color:#1e3a8a}.lp-day-col--0 .lp-step-arrow-down{color:#1e40af}.lp-day-col--1{background:#5eead4;border-color:#0d9488}.lp-day-col--1 .lp-day-col-head{background:#14b8a6;border-bottom-color:#0f766e}.lp-day-col--1 .lp-day-badge{background:#115e59}.lp-day-col--1 .lp-day-domain{color:#134e4a}.lp-day-col--1 .lp-step-arrow-down{color:#0f766e}.lp-day-col--2{background:#fcd34d;border-color:#d97706}.lp-day-col--2 .lp-day-col-head{background:#f59e0b;border-bottom-color:#b45309}.lp-day-col--2 .lp-day-badge{background:#78350f}.lp-day-col--2 .lp-day-domain{color:#78350f}.lp-day-col--2 .lp-step-arrow-down{color:#b45309}.lp-day-col--3{background:#c4b5fd;border-color:#6d28d9}.lp-day-col--3 .lp-day-col-head{background:#8b5cf6;border-bottom-color:#5b21b6}.lp-day-col--3 .lp-day-badge{background:#4c1d95}.lp-day-col--3 .lp-day-domain{color:#4c1d95}.lp-day-col--3 .lp-step-arrow-down{color:#5b21b6}.lp-day-col--4{background:#fda4af;border-color:#e11d48}.lp-day-col--4 .lp-day-col-head{background:#f43f5e;border-bottom-color:#be123c}.lp-day-col--4 .lp-day-badge{background:#881337}.lp-day-col--4 .lp-day-domain{color:#881337}.lp-day-col--4 .lp-step-arrow-down{color:#be123c}.lp-week-schedule--1{background:#ecfdf5}.lp-week-schedule--1 .lp-week-schedule-head{color:#065f46;background:#a7f3d0;border-bottom-color:#6ee7b7}.lp-week-schedule--2{background:#eff6ff}.lp-week-schedule--2 .lp-week-schedule-head{background:#bfdbfe;border-bottom-color:#93c5fd;color:#1e3a8a}.lp-week-schedule--2 .lp-week-schedule-sub{color:#475569}.lp-week-schedule--3{background:#f0fdf4}.lp-week-schedule--3 .lp-week-schedule-head{color:#14532d;background:#bbf7d0;border-bottom-color:#86efac}.lp-week-schedule--3 .lp-week-schedule-sub{color:#475569}.lp-step-card{width:100%;min-width:0;max-width:none;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:.5rem .55rem;display:flex;flex-direction:column;gap:.12rem;transition:border-color .12s,background .12s}.lp-step-card:hover{border-color:#93c5fd;background:#f0f9ff}.lp-step-highlight,.lp-step-coaching{background:#eff6ff;border-color:#93c5fd}.lp-step-coaching:hover,.lp-step-highlight:hover{background:#dbeafe}.lp-step-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.05rem}.lp-step-num{width:18px;height:18px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lp-step-coaching .lp-step-num{background:#3b82f6;color:#fff}.lp-step-time{font-size:.68rem;color:#94a3b8;font-weight:500}.lp-step-theme{font-size:.78rem;font-weight:600;color:#1e293b;line-height:1.3}.lp-step-coaching .lp-step-theme{color:#1e40af}.lp-step-content{font-size:.72rem;color:#64748b;line-height:1.4}.lp-step-cta{margin-top:.3rem;padding:.28rem .45rem;background:#2563eb;color:#fff;border-radius:6px;font-size:.68rem;font-weight:700;text-align:center;cursor:pointer;transition:background .12s}.lp-step-cta:hover{background:#1d4ed8}.lp-no-data{padding:1.5rem 1.1rem;text-align:center;color:#94a3b8;font-size:.875rem}.lp-rec-block{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;overflow:hidden}.lp-rec-header{display:flex;align-items:center;gap:.4rem;padding:.7rem 1.1rem;border-bottom:1px solid #fde68a;background:#fef3c7}.lp-rec-icon{font-size:.9rem}.lp-rec-title{margin:0;font-size:.85rem;font-weight:700;color:#1e293b}.lp-rec-list{margin:0;padding:.5rem 0;list-style:none}.lp-rec-list li{padding:.45rem 1.1rem;font-size:.83rem;color:#334155;line-height:1.5;border-bottom:1px solid #f8fafc;display:flex;gap:.5rem}.lp-rec-list li:before{content:"›";color:#3b82f6;font-weight:700;font-size:1rem;flex-shrink:0;margin-top:-1px}.lp-rec-list li:last-child{border-bottom:none}.lp-teacher-notes{background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;padding:.85rem 1.1rem}.lp-teacher-notes strong{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#a8a29e;margin-bottom:.35rem}.lp-teacher-notes p{margin:0;font-size:.875rem;color:#57534e;line-height:1.6}.lp-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 640px){.lp-footer-grid{grid-template-columns:1fr}}.lp-fold-section{background:#f5f5f4;border:1px solid #e7e5e4;border-radius:12px;overflow:hidden}.lp-fold-section .foldable-section-title{margin:0;padding:.75rem 1rem;font-size:.875rem;font-weight:700;color:#57534e;background:#ececea;border-bottom:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.lp-fold-section:not(.folded) .foldable-section-title{border-bottom-color:#e7e5e4}.lp-fold-section .foldable-section-title:hover{background:#e7e5e4}.lp-fold-section .foldable-section-content{padding:.75rem 1rem 1rem}.lp-resource-tile{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;margin-bottom:.5rem;background:#fff;border:1px solid #e7e5e4;border-radius:8px}.lp-resource-tile:last-child{margin-bottom:0}.lp-resource-body{flex:1;min-width:0}.lp-resource-title{font-size:.82rem;font-weight:600;color:#1e293b}.lp-resource-desc{font-size:.75rem;color:#64748b}.lp-resource-chevron{color:#a8a29e;font-size:1rem}.lp-feedback-card{background:#fff;border:1px solid #e7e5e4;border-radius:8px;margin-bottom:.5rem;overflow:hidden}.lp-feedback-card:last-child{margin-bottom:0}.lp-feedback-card-head{padding:.45rem .75rem;font-size:.72rem;font-weight:700;color:#78716c;background:#fafaf9;border-bottom:1px solid #e7e5e4}.lp-feedback-card-body{padding:.55rem .75rem;font-size:.82rem;color:#57534e;line-height:1.5}.lp-feedback-card-body.muted{color:#a8a29e}.planner-diagnosis-card{background:#eef2ff;border:1px solid #c7d2fe;border-radius:14px;overflow:visible}.diag-section-label{padding:.65rem 1.1rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4338ca;background:#e0e7ff;border-bottom:1px solid #c7d2fe}.diag-dashboard-grid{display:grid;grid-template-columns:minmax(280px,32%) 1fr minmax(200px,26%);min-height:180px;align-items:stretch}@media (max-width: 700px){.diag-dashboard-grid{grid-template-columns:1fr}.diag-panel{border-right:none!important;border-bottom:1px solid #e2e8f0}.diag-panel:last-child{border-bottom:none}}.diag-panel{padding:.9rem 1rem;border-right:1px solid #c7d2fe}.diag-panel:last-child{border-right:none}.diag-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;flex:1}.diag-metric-tile{display:flex;flex-direction:column;gap:.35rem;padding:.55rem .6rem;border-radius:8px;border:1px solid;min-height:0}.diag-metric-tile-top{display:flex;flex-direction:column;gap:.15rem}.diag-metric-label{font-size:.62rem;font-weight:700;color:#64748b;letter-spacing:.02em}.diag-metric-value{font-size:1.05rem;font-weight:800;line-height:1.1}.diag-metric-unit{font-size:.62rem;font-weight:600;margin-left:2px;opacity:.85}.diag-metric-bar-track{height:7px;border-radius:999px;overflow:hidden;border:1px solid rgba(0,0,0,.06)}.diag-metric-bar-fill{height:100%;border-radius:999px;min-width:8%;transition:width .6s cubic-bezier(.34,1.2,.64,1)}.diag-metric-sub{font-size:.58rem;color:#475569;line-height:1.3;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.diag-panel-chart{background:#fff7ed;min-width:0;display:flex;flex-direction:column}.diag-panel-feedback{background:#eff6ff}.diag-panel-focus{background:#f0fdf4}.diag-panel-label{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .4rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.7rem}.diag-needs-focus{padding:.15rem .5rem;background:#fef2f2;color:#dc2626;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:0;text-transform:none;border:1px solid #fecaca}.diag-feedback-headline{margin:0 0 .6rem;font-size:.875rem;font-weight:500;color:#1e293b;line-height:1.55}.diag-feedback-item{padding:.45rem .65rem;background:#fefce8;border:1px solid #fde68a;border-radius:7px;font-size:.8rem;color:#78350f;line-height:1.5;margin-bottom:.5rem}.diag-feedback-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.2rem}.diag-feedback-list li{font-size:.8rem;color:#475569;line-height:1.45;padding-left:.9rem;position:relative}.diag-feedback-list li:before{content:"·";position:absolute;left:.2rem;color:#3b82f6;font-weight:700;font-size:1.1rem;line-height:1}.diag-focus-list{display:flex;flex-direction:column;gap:.4rem}.diag-focus-card{display:flex;align-items:center;gap:.45rem;padding:.45rem .6rem;border-radius:8px;border:1px solid;cursor:default;transition:transform .1s}.diag-focus-card:hover{transform:translate(2px)}.diag-focus-icon{font-size:1.1rem;flex-shrink:0;line-height:1}.diag-focus-body{flex:1;min-width:0}.diag-focus-cat{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;opacity:.85}.diag-focus-name{font-size:.8rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diag-focus-count{font-size:.7rem;font-weight:700;flex-shrink:0;white-space:nowrap}.diag-focus-hint{margin:.65rem 0 0;font-size:.72rem;color:#94a3b8}.diag-teacher-ref{padding:.6rem 1.1rem;font-size:.875rem;border-top:1px solid #e2e8f0;background:#fafaf9}.diag-teacher-ref summary{cursor:pointer;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#a8a29e;-webkit-user-select:none;user-select:none}.diag-teacher-ref p{margin:.5rem 0 0;color:#57534e;line-height:1.6;font-size:.85rem}.diag-metric-tile--muted{opacity:.72}.diag-metric-tile--muted .diag-metric-value{color:#64748b!important}.dt-coaching-section-wrap h3{color:#4527a0}.dt-coaching-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}.dt-coaching-brand-compact{margin-bottom:0}.dt-coaching-logo{width:44px;height:44px;border-radius:10px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px #4527a026}.dt-coaching-brand-compact .dt-coaching-logo{width:36px;height:36px}.dt-coaching-brand-name{font-size:18px;font-weight:800;color:#4527a0;letter-spacing:-.02em}.dt-coaching-brand-compact .dt-coaching-brand-name{font-size:16px}.dt-coaching-panel-title{display:flex;flex-direction:column;gap:8px}.dt-coaching-panel-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:48px}.dt-coaching-llm-badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;margin-bottom:8px}.dt-coaching-llm-badge-compact{margin-bottom:0;font-size:11px;padding:2px 8px}.dt-coaching-llm-badge-solar{background:#ede7f6;color:#4527a0;border:1px solid #d1c4e9}.dt-coaching-llm-badge-midm{background:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.dt-coaching-tab{min-height:72vh}.dt-coaching-workspace{display:flex;flex-direction:column;gap:16px;min-height:68vh}.dt-coaching-session{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}.dt-coaching-intro{margin:0 0 12px;font-size:14px;line-height:1.55;color:#455a64}.dt-coaching-status{margin:8px 0;color:#78909c;font-size:14px}.dt-coaching-error{margin:8px 0;color:#c62828;font-size:14px}.dt-coaching-wrong-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.dt-coaching-wrong-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border:1px solid #d1c4e9;border-radius:8px;background:#f3e5f5;cursor:pointer;text-align:left;min-width:150px}.dt-coaching-wrong-btn.active{border-color:#7e57c2;background:#ede7f6;box-shadow:0 0 0 2px #7e57c233}.dt-coaching-wrong-q{font-weight:700;color:#4527a0}.dt-coaching-wrong-dt{font-size:13px;color:#37474f}.dt-coaching-wrong-btn code{font-size:11px;color:#6a1b9a}.dt-coaching-question-panel{border:1px solid #ce93d8;border-radius:12px;background:#fff;padding:16px 18px}.dt-coaching-question-panel--loading{min-height:80px;display:flex;align-items:center}.dt-coaching-question-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dt-coaching-question-header h4{margin:0;font-size:16px;color:#4527a0;display:flex;align-items:center;gap:8px}.dt-coaching-listening-badge{display:inline-block;font-size:11px;font-weight:700;color:#1565c0;background:#e3f2fd;padding:2px 8px;border-radius:999px}.dt-coaching-question-label{display:block;font-size:12px;font-weight:700;color:#6a1b9a;margin-bottom:6px}.dt-coaching-question-passage{margin-bottom:12px}.dt-coaching-question-passage-body{font-size:14px;line-height:1.65;color:#263238;white-space:pre-wrap;padding:12px 14px;background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;max-height:220px;overflow-y:auto}.dt-coaching-audio-wrap{margin-bottom:12px}.dt-coaching-audio{width:100%;max-width:420px}.dt-coaching-question-stem{margin-bottom:12px}.dt-coaching-question-id{font-size:12px;color:#78909c}.dt-coaching-question-prompt{font-size:15px;line-height:1.65;color:#263238;white-space:pre-wrap;margin-bottom:12px;padding:12px 14px;background:#fafafa;border-radius:8px;border:1px solid #eceff1;max-height:220px;overflow-y:auto}.dt-coaching-question-choices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.dt-coaching-question-choices li{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;border:1px solid #e1bee7;background:#faf8ff;font-size:14px;line-height:1.5}.dt-coaching-question-choices li.student-wrong{border-color:#ef5350;background:#ffebee}.dt-coaching-choice-label{font-weight:700;color:#4527a0;flex-shrink:0}.dt-coaching-choice-text{flex:1}.dt-coaching-wrong-tag{flex-shrink:0;font-size:11px;font-weight:700;color:#c62828;background:#ffcdd2;padding:2px 8px;border-radius:999px}.dt-coaching-panel{flex:1;display:flex;flex-direction:column;min-height:480px;border:1px solid #b39ddb;border-radius:12px;background:#faf8ff;padding:16px}.dt-coaching-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.dt-coaching-dt-badge{display:inline-block;margin-left:8px;font-size:12px;color:#6a1b9a}.dt-coaching-close-btn{border:none;background:transparent;color:#7e57c2;cursor:pointer;font-size:13px}.dt-coaching-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.dt-coaching-restart-btn-header{margin-left:0}.dt-coaching-note{margin:0 0 6px;font-size:12px;color:#6d4c41}.dt-coaching-phase{margin:0 0 8px;font-size:12px;color:#78909c;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.dt-coaching-restart-btn{margin-left:auto;padding:4px 10px;font-size:11px;border:1px solid #b39ddb;border-radius:6px;background:#f3e5f5;color:#5e35b1;cursor:pointer}.dt-coaching-restart-btn:hover:not(:disabled){background:#ede7f6}.dt-coaching-restart-btn:disabled{opacity:.5;cursor:not-allowed}.dt-coaching-next-btn{margin-left:auto;padding:4px 12px;font-size:11px;font-weight:600;border:none;border-radius:6px;background:#43a047;color:#fff;cursor:pointer}.dt-coaching-next-btn:hover:not(:disabled){background:#388e3c}.dt-coaching-complete-bar{margin-bottom:12px;padding:12px 14px;border-radius:8px;border:1px solid #a5d6a7;background:linear-gradient(180deg,#f1f8e9,#fff)}.dt-coaching-complete-msg{margin:0 0 10px;font-size:13px;color:#2e7d32;font-weight:600}.dt-coaching-complete-actions{display:flex;flex-wrap:wrap;gap:8px}.dt-coaching-complete-primary{padding:8px 14px;font-size:13px;font-weight:600;border:none;border-radius:8px;background:#43a047;color:#fff;cursor:pointer}.dt-coaching-complete-primary:hover:not(:disabled){background:#388e3c}.dt-coaching-complete-secondary{padding:8px 14px;font-size:13px;border:1px solid #b39ddb;border-radius:8px;background:#fff;color:#5e35b1;cursor:pointer}.dt-coaching-complete-secondary:hover:not(:disabled){background:#f3e5f5}.dt-coaching-complete-primary:disabled,.dt-coaching-complete-secondary:disabled{opacity:.5;cursor:not-allowed}.dt-coaching-messages{flex:1;min-height:360px;max-height:min(52vh,560px);overflow-y:auto;padding:12px;background:#fff;border-radius:8px;border:1px solid #e1bee7;margin-bottom:12px}.dt-coaching-msg{margin-bottom:12px}.dt-coaching-msg-label{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.dt-coaching-msg-assistant .dt-coaching-msg-label{color:#6a1b9a}.dt-coaching-msg-user .dt-coaching-msg-label{color:#1565c0}.dt-coaching-msg-body{font-size:15px;line-height:1.6;padding:10px 12px;border-radius:8px}.dt-coaching-msg-assistant .dt-coaching-msg-body{background:#f3e5f5}.dt-coaching-msg-user .dt-coaching-msg-body{background:#e3f2fd}.dt-coaching-passage-toggle{display:inline-block;margin:2px 0 6px;padding:5px 14px;font-size:12px;font-weight:600;border:1px solid #90caf9;border-radius:999px;background:#fff;color:#1565c0;cursor:pointer}.dt-coaching-passage-toggle:hover{background:#e3f2fd}.dt-coaching-stt-aligned{margin:6px 0 0;padding:8px 10px;background:#fafafa;border:1px solid #eceff1;border-radius:8px;line-height:1.8;word-break:break-word}.dt-coaching-stt-word-extra{color:#c62828;font-weight:700}.dt-coaching-stt-word-missing{color:#90a4ae;font-weight:600;text-decoration:underline dashed #90a4ae 2px;text-underline-offset:3px;cursor:help}.dt-coaching-stt-legend{margin:6px 0 0;font-size:11px;color:#78909c}.dt-coaching-provider-toggle{display:flex;align-items:center;gap:6px;margin:0 0 8px}.dt-coaching-provider-toggle-label{font-size:12px;font-weight:600;color:#78909c;margin-right:2px}.dt-coaching-provider-btn{padding:4px 12px;font-size:12px;border:1px solid #d1c4e9;border-radius:999px;background:#fff;color:#5e35b1;cursor:pointer}.dt-coaching-provider-btn.active{background:#7e57c2;border-color:#7e57c2;color:#fff;font-weight:700}.dt-coaching-provider-btn:disabled{opacity:.45;cursor:not-allowed}.dt-coaching-msg-engine{display:inline-block;margin-left:6px;padding:1px 8px;font-size:10px;font-weight:600;border-radius:999px;background:#ede7f6;color:#4527a0;border:1px solid #d1c4e9;vertical-align:middle}.dt-coaching-msg-engine-midm{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}.dt-coaching-input-row{display:flex;gap:10px}.dt-coaching-input-row input{flex:1;padding:12px 14px;border:1px solid #ce93d8;border-radius:8px;font-size:15px}.dt-coaching-input-row button{padding:12px 18px;border:none;border-radius:8px;background:#7e57c2;color:#fff;cursor:pointer;font-size:15px;white-space:nowrap}.dt-coaching-input-row button:disabled{opacity:.6;cursor:not-allowed}.dt-coaching-hint{margin:10px 0 0;font-size:12px;color:#90a4ae}.dt-coaching-activities{margin-top:16px;padding-top:14px;border-top:1px dashed #d1c4e9}.dt-coaching-activities-title{margin:0 0 10px;font-size:13px;font-weight:700;color:#4527a0}.dt-coaching-activity-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.dt-coaching-activity-tabs button{padding:8px 12px;border-radius:999px;border:1px solid #ce93d8;background:#fff;color:#4527a0;font-size:13px;cursor:pointer}.dt-coaching-activity-tabs button.active{background:#7e57c2;color:#fff;border-color:#7e57c2}.dt-coaching-activity-tabs button.dt-coaching-activity-soon{opacity:.55;cursor:not-allowed}.dt-coaching-activity-panel{background:#faf8ff;border:1px solid #e1bee7;border-radius:10px;padding:12px 14px}.dt-coaching-activity-desc,.dt-coaching-activity-note{margin:0 0 10px;font-size:13px;color:#546e7a;line-height:1.5}.dt-coaching-activity-action{margin-top:8px;padding:10px 16px;border:none;border-radius:8px;background:#5e35b1;color:#fff;cursor:pointer;font-size:14px}.dt-coaching-activity-action:disabled{opacity:.6;cursor:not-allowed}.dt-coaching-stt-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dt-coaching-activity-stop{padding:10px 16px;border:1px solid #7e57c2;border-radius:8px;background:#fff;color:#5e35b1;cursor:pointer;font-size:14px}.dt-coaching-stt-live{margin:10px 0 0;font-size:13px;color:#6a1b9a;font-weight:600}.dt-coaching-speak-original,.dt-coaching-stt-result{margin-bottom:10px}.dt-coaching-stt-diff{margin-top:8px;padding:8px 10px;background:#fff;border-radius:8px;font-size:13px}.dt-coaching-write-panel{margin-top:8px}.dt-coaching-write-prompt{padding:12px 14px;margin-bottom:12px;border-radius:8px;background:#fafafa;border:1px solid #e0e0e0;font-size:13px;line-height:1.55}.dt-coaching-write-en-hint{margin:0 0 8px;font-size:13px;color:#1565c0}.dt-coaching-write-error{color:#c62828}.dt-coaching-write-compare{margin-top:14px}.dt-coaching-write-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}@media (max-width: 640px){.dt-coaching-write-columns{grid-template-columns:1fr}}.dt-coaching-write-col{padding:12px;border-radius:8px;border:1px solid #e1bee7;background:#fff}.dt-coaching-write-col-model{border-color:#a5d6a7;background:#f1f8e9}.dt-coaching-write-col-label{display:block;font-size:11px;font-weight:700;color:#78909c;margin-bottom:6px;text-transform:uppercase;letter-spacing:.02em}.dt-coaching-write-col-text{margin:0;font-size:14px;line-height:1.5;color:#212121}.dt-coaching-write-wc{display:inline-block;margin-top:6px;font-size:11px;color:#90a4ae}.dt-coaching-write-model-note{margin:8px 0 0;font-size:12px;color:#2e7d32;line-height:1.45}.dt-coaching-tab-suggest{box-shadow:inset 0 0 0 2px #66bb6a}.dt-coaching-write-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #ce93d8;border-radius:8px;font-size:14px;resize:vertical}.dt-coaching-write-feedback{margin:10px 0 0;font-size:13px;color:#2e7d32}.dt-coaching-options{display:flex;flex-direction:column;gap:6px;margin-top:10px}.dt-coaching-option-btn{text-align:left;padding:10px 14px;border:1.5px solid #b39ddb;border-radius:10px;background:#fff;color:#4527a0;font-size:14px;font-weight:600;line-height:1.45;cursor:pointer;transition:background .15s,border-color .15s}.dt-coaching-option-btn:hover:not(:disabled){background:#ede7f6;border-color:#7e57c2}.dt-coaching-option-btn:disabled{opacity:.55;cursor:default}.dt-coaching-option-escape{border-style:dashed;border-color:#ffb74d;color:#e65100;background:#fff8e1}.dt-coaching-option-escape:hover:not(:disabled){background:#ffecb3;border-color:#fb8c00}.dt-coaching-dot-blue{border-left:4px solid #1e88e5}.dt-coaching-dot-coral{border-left:4px solid #ff7043}.dt-coaching-dot-amber{border-left:4px solid #ffb300}.dt-coaching-dot-gray{border-left:4px solid #9e9e9e}.dt-coaching-option-entry-ttc{border:1.5px solid #d0d0d0;background:#fff;color:#333;font-weight:500}.dt-coaching-option-entry-ttc:hover:not(:disabled){background:#f5f5f5;border-color:#bdbdbd}@media (max-width: 768px){.dt-coaching-tab,.dt-coaching-workspace{min-height:auto}.dt-coaching-panel{min-height:420px}.dt-coaching-messages{min-height:280px;max-height:45vh}}.dt-coaching-debug-strip{margin:0 12px 8px;padding:6px 10px;font-size:11px;color:#5c6bc0;background:#f3f0ff;border:1px dashed #b39ddb;border-radius:8px}.dt-coaching-debug-strip summary{cursor:pointer;font-weight:600}.dt-coaching-debug-body{margin-top:6px;display:flex;flex-direction:column;gap:4px}.dt-coaching-debug-line{display:block;font-size:10px;color:#3949ab;white-space:pre-wrap;word-break:break-all}.level-test-start{max-width:420px;margin:22px auto;padding:17px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.test-page-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.test-page-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.csat-student-selector{display:flex;align-items:center;gap:6px}.csat-student-selector label{font-size:12px;color:#555;white-space:nowrap}.csat-student-selector .student-id-select{padding:5px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;min-width:80px}.back-dashboard-btn{border:1px solid #d1d5db;background:#f9fafb;color:#374151;border-radius:6px;padding:7px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.level-test-start h1{margin-bottom:17px;font-size:1.35rem;text-align:left;color:#333}.test-info{margin-bottom:17px}.info-item{display:flex;justify-content:space-between;padding:6px 8px;border-bottom:1px solid #e0e0e0}.info-item label{font-weight:600;color:#666;font-size:.9rem}.info-item span{color:#333;font-size:.9rem}.start-button{width:100%;padding:8px;background-color:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.start-button:hover:not(:disabled){background-color:#0056b3}.start-button:disabled{background-color:#ccc;cursor:not-allowed}.level-test-taking{max-width:900px;margin:20px auto;padding:20px}.test-title-wrap{display:flex;align-items:center;gap:10px}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:#f5f5f5;border-radius:8px}.test-title{font-size:20px;font-weight:600;color:#333}.test-timer{font-size:18px;font-weight:600;color:#dc3545}.test-progress{margin-bottom:20px}.progress-bar{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:10px}.progress-fill{height:100%;background:#007bff;transition:width .3s}.progress-text{text-align:center;color:#666;font-size:14px}.test-question{background:#fff;border:1px solid #ddd;border-radius:8px;padding:25px;margin-bottom:20px}.question-number{font-size:16px;font-weight:600;color:#007bff;margin-bottom:8px}.question-domain{font-size:12px;color:#666;margin-bottom:15px}.question-text{font-size:16px;line-height:1.6;color:#333;margin-bottom:20px;min-height:60px}.level-test-passage-question .question-label{font-size:13px;font-weight:600;color:#555;margin-top:14px;margin-bottom:6px}.level-test-passage-question .question-label:first-child{margin-top:0}.level-test-passage-question .question-passage u,.item-detail-tier-display u{text-decoration:underline;text-underline-offset:2px}.level-test-passage-question .question-passage{font-size:16px;line-height:1.65;color:#222;margin-bottom:8px}.level-test-passage-question .question-prompt{font-size:16px;line-height:1.6;color:#333;margin-bottom:8px}.question-choices{margin-bottom:15px}.question-choices.question-short .short-answer-row{margin-bottom:12px}.question-choices.question-short .short-answer-row:last-child{margin-bottom:0}.question-choices.question-short label{display:inline-block;min-width:50px;font-weight:600;color:#333;margin-right:8px}.question-choices.question-short input[type=text]{flex:1;padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:15px;min-width:180px}.question-choices.question-short input[type=text]:focus{border-color:#007bff;outline:none}.question-choices.question-short.r01 .short-answer-row{display:flex;align-items:center}.choice-item{display:flex;align-items:center;padding:12px;margin-bottom:10px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.choice-item:hover{background-color:#f5f5f5;border-color:#007bff}.choice-item.selected{background-color:#e3f2fd;border-color:#007bff}.choice-item input[type=radio]{margin-right:10px;width:18px;height:18px;cursor:pointer}.choice-label{font-weight:600;color:#007bff;min-width:30px;margin-right:10px}.choice-text{flex:1;color:#333}.answer-status{padding:10px;background:#f0f0f0;border-radius:4px;font-size:14px;color:#666}.change-count{margin-left:10px;color:#ff9800;font-weight:600}.test-navigation{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:15px;background:#f9f9f9;border-radius:8px}.test-navigation button{padding:8px 16px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s}.test-navigation button:hover:not(:disabled){background-color:#007bff;color:#fff;border-color:#007bff}.test-navigation button:disabled{opacity:.5;cursor:not-allowed}.question-list{display:flex;flex-wrap:wrap;gap:5px;flex:1;justify-content:center}.question-nav-btn{width:36px;height:36px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:all .2s;font-size:12px}.question-nav-btn:hover{background-color:#f0f0f0}.question-nav-btn.active{background-color:#007bff;color:#fff;border-color:#007bff}.question-nav-btn.answered{background-color:#d4edda;border-color:#28a745}.test-actions{text-align:center}.submit-button{padding:15px 40px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:#218838}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.loading{text-align:center;padding:40px;color:#666}.level-test-start.app-mode,.level-test-taking.app-mode{width:100%;max-width:none;margin:0;padding:8px 6px 10px}.level-test-start.app-mode{border-radius:8px;box-shadow:0 1px 4px #00000014}.level-test-start.app-mode h1{font-size:17px;margin-bottom:6px}.level-test-start.app-mode .test-info{margin-bottom:6px}.level-test-start.app-mode .info-item{padding:4px 3px;font-size:.85rem}.level-test-start.app-mode .start-button{padding:7px;font-size:14px}.level-test-taking.app-mode .test-header{padding:10px;margin-bottom:10px}.level-test-taking.app-mode .test-title{font-size:16px}.level-test-taking.app-mode .test-timer{font-size:15px}.level-test-taking.app-mode .test-progress{margin-bottom:10px}.level-test-taking.app-mode .progress-text{font-size:12px}.level-test-taking.app-mode .test-question{padding:12px;margin-bottom:10px}.level-test-taking.app-mode .question-number{font-size:14px;margin-bottom:4px}.level-test-taking.app-mode .question-domain{font-size:11px;margin-bottom:8px}.level-test-taking.app-mode .question-instruction{font-size:12px;margin-bottom:8px}.level-test-taking.app-mode .question-text{font-size:14px;margin-bottom:10px;min-height:0}.level-test-taking.app-mode .question-audio{margin-bottom:8px}.level-test-taking.app-mode .question-audio audio{width:100%;height:34px}.level-test-taking .csat-listening-audio-wrap{margin-bottom:1rem}.level-test-taking .csat-listening-instruction{font-weight:600;margin-bottom:.5rem;color:#1a1a1a}.level-test-taking .csat-listening-audio{width:100%;max-width:400px;height:40px}.level-test-taking .csat-question-only{margin-top:.75rem}.level-test-taking.app-mode .choice-item{padding:8px;margin-bottom:6px}.level-test-taking.app-mode .choice-item input[type=radio]{margin-right:8px;width:15px;height:15px}.level-test-taking.app-mode .choice-label{min-width:22px;margin-right:8px;font-size:13px}.level-test-taking.app-mode .choice-text{font-size:13px;line-height:1.35}.level-test-taking.app-mode .answer-status{font-size:12px;padding:8px}.level-test-taking.app-mode .test-navigation{padding:8px;margin-bottom:10px;gap:6px}.level-test-taking.app-mode .test-navigation button{padding:6px 10px;font-size:12px}.level-test-taking.app-mode .question-list{gap:4px}.level-test-taking.app-mode .question-nav-btn{width:30px;height:30px;font-size:11px}.level-test-taking.app-mode .submit-button{width:100%;padding:11px;font-size:15px}@media (max-width: 900px){.level-test-taking.app-mode .test-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 600px){.level-test-start.app-mode,.level-test-taking.app-mode{padding:6px 4px 8px}.test-page-top{align-items:flex-start;flex-direction:column}.level-test-taking.app-mode .test-title-wrap{width:100%;flex-direction:column;align-items:flex-start;gap:6px}.level-test-taking.app-mode .test-title{font-size:15px}.level-test-taking.app-mode .test-timer{font-size:14px}.level-test-taking.app-mode .question-text{font-size:13px;line-height:1.45}}.buffet-practice-block{margin-top:.75rem}.buffet-practice-loading,.buffet-practice-empty,.buffet-practice-error{margin:.75rem 0;font-size:.9rem}.buffet-practice-error{color:#c62828}.buffet-arm-hint,.buffet-pace-note,.buffet-wc-range-note{margin:.35rem 0;font-size:.85rem;color:#1565c0}.buffet-practice-progress{margin-bottom:.5rem;font-size:.88rem;color:#555}.buffet-practice-question{margin-bottom:.75rem}.buffet-practice-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.5rem}.buffet-practice-nav-btn{padding:.35rem .75rem;border:1px solid #90caf9;border-radius:6px;background:#fff;cursor:pointer}.buffet-practice-nav-btn:disabled{opacity:.45;cursor:not-allowed}.buffet-practice-answered{font-size:.85rem;color:#666}.buffet-practice-hint{font-size:.82rem;color:#888}.buffet-listening-passage-wrap{margin:6px 0}.buffet-passage-toggle-btn{display:inline-block;margin:2px 0 6px;padding:5px 14px;font-size:.8rem;font-weight:600;border:1px solid #90caf9;border-radius:999px;background:#fff;color:#1565c0;cursor:pointer}.buffet-passage-toggle-btn:hover{background:#e3f2fd}.buffet-planner{margin:0 0 1.5rem;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;background:#fff}.buffet-jjok-header{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.1rem;background:#f0f9ff;border-bottom:1px solid #bae6fd}.buffet-jjok-logo{width:44px;height:44px;object-fit:contain;border-radius:8px}.buffet-jjok-header h3{margin:0;font-size:1rem;font-weight:700;color:#0c4a6e}.buffet-jjok-header p{margin:.2rem 0 0;font-size:.82rem;color:#0369a1}.buffet-error{margin:.75rem 1rem 0;padding:.5rem .75rem;background:#ffebee;color:#c62828;border-radius:6px;font-size:.88rem}.buffet-loading{padding:1rem;color:#666}.buffet-nudge{margin:.75rem 1rem 0;padding:.6rem .85rem;background:#fff8e1;border-radius:8px;font-size:.88rem;color:#f57f17}.buffet-nudge-force{background:#ffe0b2;color:#e65100}.buffet-bias-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;padding:.75rem 1rem}.buffet-bias-panel h4{margin:0 0 .35rem;font-size:.9rem}.buffet-bias-total{margin:0 0 .5rem;font-size:.8rem;color:#666}.buffet-domain-bar{margin-bottom:.35rem}.buffet-domain-bar-head{display:flex;justify-content:space-between;font-size:.75rem;margin-bottom:.15rem}.buffet-domain-track{height:6px;background:#eee;border-radius:3px;overflow:hidden}.buffet-domain-fill{height:100%;background:#5c6bc0;border-radius:3px}.buffet-domain-low .buffet-domain-fill{background:#ff9800}.buffet-recs{margin:0 1rem .75rem;padding:.65rem .85rem;background:#f3f6fc;border-left:4px solid #7986cb;border-radius:0 8px 8px 0}.buffet-recs-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin-bottom:.45rem}.buffet-recs-label{font-size:.88rem;font-weight:700;color:#283593}.buffet-recs-hint{font-size:.75rem;color:#5c6bc0}.buffet-recs-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.buffet-rec-item{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.buffet-rec-divider{width:4px;height:4px;border-radius:50%;background:#9fa8da;flex-shrink:0}.buffet-rec-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;background:#fff;border:1px solid #c5cae9;border-radius:999px;font-size:.8rem;font-weight:600;color:#283593;white-space:nowrap}.buffet-rec-emoji{font-size:.95rem;line-height:1}.buffet-rec-reason{font-size:.75rem;color:#666;line-height:1.3}.buffet-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;padding:0 1rem .75rem}.buffet-menu-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:.65rem .75rem;border:2px solid #e0e0e0;border-radius:10px;background:#fafafa;cursor:pointer;transition:border-color .15s,background .15s}.buffet-menu-card.selected{border-color:#3949ab;background:#e8eaf6}.buffet-menu-card.disabled:not(.selected){opacity:.45;cursor:not-allowed}.buffet-menu-disabled{opacity:.5;cursor:default;border-style:dashed}.buffet-menu-emoji{font-size:1.4rem}.buffet-menu-name{font-weight:600;font-size:.85rem;margin-top:.25rem}.buffet-menu-desc{font-size:.72rem;color:#666;margin-top:.2rem;line-height:1.3}.buffet-start-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem 1rem;border-top:1px solid #e0e0e0;background:#f5f5f5}.buffet-pick-count{font-size:.88rem;color:#555}.buffet-start-btn{padding:.55rem 1.1rem;border:none;border-radius:8px;background:#3949ab;color:#fff;font-weight:600;cursor:pointer;font-size:.9rem}.buffet-menu-required{position:relative;border-color:#5c6bc0}.buffet-menu-badge{position:absolute;top:6px;right:6px;font-size:.65rem;background:#3949ab;color:#fff;padding:.1rem .35rem;border-radius:4px}.buffet-dt-panel{margin:0 1rem .75rem;padding:.75rem;border:1px solid #c5cae9;border-radius:8px;background:#fafbff}.buffet-dt-panel h4{margin:0 0 .5rem;font-size:.92rem}.buffet-dt-list{margin:0}.buffet-dt-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .6rem;border:1px solid #e0e0e0;border-radius:6px;background:#fff}.buffet-dt-sort-note{margin:0 0 .5rem;font-size:.78rem;color:#888}.buffet-dt-ability{font-size:.78rem;color:#1565c0;margin-left:auto}.buffet-dt-hint,.buffet-dt-loading,.buffet-dt-empty{margin:.5rem 0 0;font-size:.82rem;color:#666}.buffet-pick-warn{color:#e65100;font-style:normal;margin-left:.25rem}.buffet-start-btn:disabled{opacity:.5;cursor:not-allowed}.buffet-active-session{padding:1rem}.buffet-block-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.buffet-block-instruction{margin:0 0 .75rem;font-size:.9rem;color:#444}.buffet-forced-note{color:#e65100;font-size:.85rem;margin:0 0 .5rem}.buffet-practice-placeholder{padding:.75rem;border:1px dashed #bbb;border-radius:8px;margin-bottom:.75rem;font-size:.88rem}.buffet-practice-hint{color:#666;font-size:.82rem}.buffet-complete-btn{width:100%;padding:.65rem;border:none;border-radius:8px;background:#2e7d32;color:#fff;font-weight:600;cursor:pointer}.buffet-complete-btn-highlight{box-shadow:0 0 0 3px #2e7d3259;animation:buffet-complete-pulse 1.5s ease-in-out 2}@keyframes buffet-complete-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.buffet-coaching-done-hint{margin:.75rem 0 .5rem;padding:.5rem .75rem;border-radius:6px;background:#e8f5e9;border:1px solid #a5d6a7;color:#2e7d32;font-size:.88rem;font-weight:600}.buffet-tier-note{margin-top:.5rem;font-size:.82rem;color:#1565c0}.buffet-poc-banner{margin:0 0 1rem;padding:.75rem 1rem;border-radius:8px;background:#e8f4fd;border:1px solid #90caf9;font-size:.9rem;color:#1565c0}.buffet-poc-menus{margin:.35rem 0 0;font-size:.85rem}.buffet-poc-arm-detail{margin:.25rem 0 0;font-size:.82rem;color:#0d47a1}.buffet-poc-arm-note{margin:.35rem 0 0;font-size:.78rem;color:#546e7a}.buffet-menu-grid-poc .buffet-menu-card:not(.buffet-menu-poc){opacity:.45}.buffet-menu-badge-poc{background:#e3f2fd;color:#1565c0}.buffet-menu-poc.selected{border-color:#1565c0}.buffet-coach-picker{margin:0 0 10px;padding:10px 12px;background:#f3e5f5;border:1px solid #e1bee7;border-radius:10px}.buffet-coach-picker-label{display:block;font-size:.78rem;font-weight:700;color:#6a1b9a;margin-bottom:6px}.buffet-coach-picker-pills{display:flex;flex-wrap:wrap;gap:6px}.buffet-coach-pill{padding:5px 12px;font-size:.8rem;border:1px solid #ce93d8;border-radius:999px;background:#fff;color:#6a1b9a;cursor:pointer}.buffet-coach-pill.active{background:#7e57c2;border-color:#7e57c2;color:#fff;font-weight:700}.level-test-result{max-width:1200px;margin:20px auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.level-test-result.app-mode{width:100%;max-width:none;margin:0;padding:8px 6px 10px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.level-test-result.app-mode .result-header{margin-bottom:10px}.result-header h1{margin:0}.level-test-result.app-mode .result-header h1{font-size:20px}.back-link{padding:8px 16px;background:#6c757d;color:#fff;text-decoration:none;border-radius:4px;transition:background-color .2s}.level-test-result.app-mode .back-link{padding:6px 10px;font-size:12px}.back-link:hover{background:#5a6268}.result-hero-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:24px;margin-bottom:30px}.level-test-result.app-mode .result-hero-card{padding:12px;margin-bottom:14px}.result-hero-card .ability-card,.result-hero-card .radar-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.level-test-result.app-mode .result-hero-card .ability-card,.level-test-result.app-mode .result-hero-card .radar-card{padding:12px}.result-kpi-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:16px}.result-kpi-card .summary-card{background:#f8f9fa;border:1px solid #eee;border-radius:6px}.level-test-result.app-mode .result-kpi-card{padding:10px}.result-hero{display:grid;grid-template-columns:minmax(140px,1fr) minmax(220px,1.4fr) minmax(220px,1.4fr);gap:24px;align-items:start}.level-test-result.app-mode .result-hero{grid-template-columns:1fr 1fr;gap:10px}.level-test-result.app-mode .radar-card{grid-column:1 / -1}.result-kpi-column{display:flex;flex-direction:column;gap:16px}.level-test-result.app-mode .result-kpi-column{gap:8px}.ability-card{padding:20px 16px;text-align:center}.ability-card-title{margin:0 0 4px;font-size:15px;color:#333;font-weight:600}.ability-card-subtitle,.radar-card-subtitle{margin:0 0 12px;font-size:12px;color:#666;line-height:1.4}.ability-main-value{font-size:32px;font-weight:700;color:#1976d2;margin-bottom:8px}.level-test-result.app-mode .ability-main-value{font-size:24px}.ability-level-label{font-size:15px;color:#555;margin-bottom:16px}.ability-progress-section{margin-bottom:16px;text-align:left;display:flex;flex-direction:column;gap:14px}.ability-progress-row{display:flex;flex-direction:column;gap:6px}.ability-progress-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px}.ability-progress-label{font-weight:600;color:#333}.ability-progress-value{font-weight:700;font-variant-numeric:tabular-nums;color:#1976d2}.ability-progress-row:last-child .ability-progress-value{color:#2e7d32}.ability-progress-track{height:10px;background:#e8ecf1;border-radius:999px;overflow:hidden}.ability-progress-fill{height:100%;border-radius:999px;transition:width .4s ease;min-width:0}.ability-progress-fill--overall{background:linear-gradient(90deg,#42a5f5,#1976d2)}.ability-progress-fill--relative{background:linear-gradient(90deg,#66bb6a,#2e7d32)}.ability-progress-hint{margin:0;font-size:11px;color:#888;line-height:1.4}.ability-sub-value{font-size:13px;color:#888;margin-bottom:6px}.test-difficulty-block{margin-top:12px;padding:12px;background:#f8f9fa;border:1px solid #eee;border-radius:6px;text-align:left;font-size:13px}.test-difficulty-title{font-weight:600;color:#333;margin-bottom:8px}.test-difficulty-overall{margin-bottom:8px;color:#444}.test-difficulty-meta{margin-left:6px;color:#888;font-size:12px}.test-difficulty-l2{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.test-difficulty-l2 li{display:flex;justify-content:space-between;gap:8px}.test-difficulty-l2-label{color:#666}.test-difficulty-l2-value{font-weight:600;font-variant-numeric:tabular-nums}.ability-scale{font-size:11px;color:#666;line-height:1.5;text-align:left;margin-top:12px}.ability-scale-levels{font-weight:600;color:#555;margin-bottom:6px}.ability-scale-list{margin:0;padding-left:18px;list-style-type:disc}.ability-scale-list li{margin-bottom:2px}.radar-card{padding:20px 16px}.radar-card-title{margin:0 0 12px;font-size:15px;color:#333;font-weight:600;text-align:center}.radar-chart-wrap{min-height:260px}.radar-no-data{min-height:200px;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}@media (max-width: 900px){.result-hero{grid-template-columns:1fr}.result-kpi-column{flex-direction:row;flex-wrap:wrap;gap:12px}.result-kpi-column .summary-card{flex:1 1 140px}}.result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.level-test-result.app-mode .result-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.summary-card{padding:20px;background:#fff;border:1px solid #ddd;border-radius:8px;text-align:center}.level-test-result.app-mode .summary-card{padding:10px 8px;border-radius:6px}.roblox-invoke{margin-bottom:24px;padding:16px 20px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;flex-direction:column;gap:12px}.roblox-invoke-desc{margin:0;font-size:14px;color:#495057}.roblox-invoke>a.roblox-invoke-btn{align-self:flex-start}.roblox-invoke-btn{padding:10px 20px;background:#00a2ff;color:#fff;text-decoration:none;border-radius:6px;font-weight:500;white-space:nowrap;transition:background-color .2s}.roblox-invoke-btn:hover{background:#08c}.roblox-debug{margin-top:8px;padding-top:12px;border-top:1px dashed #dee2e6;display:flex;flex-direction:column;gap:6px}.roblox-debug-label{font-size:12px;color:#6c757d}.roblox-debug-note{margin:0 0 4px;font-size:12px;color:#0d6efd}.roblox-debug-url{width:100%;padding:8px 10px;font-size:12px;font-family:monospace;color:#212529;background:#fff;border:1px solid #ced4da;border-radius:4px;cursor:text}.roblox-debug-url:focus{outline:none;border-color:#00a2ff;box-shadow:0 0 0 2px #00a2ff33}.summary-label{font-size:14px;color:#666;margin-bottom:10px}.level-test-result.app-mode .summary-label{font-size:12px;margin-bottom:4px}.summary-value{font-size:24px;font-weight:700;color:#333}.level-test-result.app-mode .summary-value{font-size:18px}.summary-value .theta-max{font-size:18px;color:#666;margin-left:8px}.summary-value .theta-percentage{font-size:16px;color:#007bff;margin-left:4px;font-weight:400}.summary-value{font-size:24px;font-weight:600;color:#333}.result-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.level-test-result.app-mode .result-tabs{gap:4px;margin-bottom:8px;overflow-x:auto;white-space:nowrap;padding-bottom:2px}.result-tabs button{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:14px;color:#666;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.level-test-result.app-mode .result-tabs button{padding:7px 10px;font-size:12px;flex:0 0 auto}.result-tabs button.active{color:#007bff;border-bottom-color:#007bff}.result-tabs button:hover{color:#0056b3}.result-content{background:#fff;border:1px solid #ddd;border-radius:8px;padding:25px}.level-test-result.app-mode .result-content{border-radius:6px;padding:10px 8px}.result-content h2{margin-top:0;margin-bottom:20px;color:#333}.level-test-result.app-mode .result-content h2{margin-bottom:10px;font-size:17px}.level-test-result.app-mode .result-content h3{margin-bottom:8px;font-size:15px}.level-test-result.app-mode .result-content h4{margin-bottom:6px;font-size:13px}.level-test-result.app-mode .answer-details,.level-test-result.app-mode .answer-history{overflow-x:auto}.level-test-result.app-mode .answer-history-table-wrap{font-size:12px}.level-test-result.app-mode .answer-history-table th,.level-test-result.app-mode .answer-history-table td{padding:8px 10px;font-size:12px}.level-test-result.app-mode .answer-history table,.level-test-result.app-mode .answer-details table{min-width:860px}.level-test-result.app-mode .answer-details th,.level-test-result.app-mode .answer-details td,.level-test-result.app-mode .answer-history th,.level-test-result.app-mode .answer-history td{padding:8px 6px;font-size:12px}.level-test-result.app-mode .badge{padding:2px 6px;font-size:11px}.level-test-result.app-mode .domain-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.level-test-result.app-mode .domain-item{padding:10px 8px}.level-test-result.app-mode .domain-name{margin-bottom:4px;font-size:13px}.level-test-result.app-mode .domain-metrics{font-size:12px;line-height:1.45}.level-test-result.app-mode .goal-item,.level-test-result.app-mode .activity-item{gap:8px;padding:8px;margin-bottom:6px}.level-test-result.app-mode .goal-week{min-width:54px;font-size:12px}.level-test-result.app-mode .activity-day{min-width:50px;font-size:12px}.level-test-result.app-mode .goal-content,.level-test-result.app-mode .activity-content,.level-test-result.app-mode .textbook-info,.level-test-result.app-mode .recommendations li,.level-test-result.app-mode .weak-domains li{font-size:12px;line-height:1.45}.level-test-result.app-mode .textbook-list{gap:8px}.level-test-result.app-mode .textbook-item{padding:10px 8px}.level-test-result.app-mode .textbook-table th,.level-test-result.app-mode .textbook-table td{padding:8px 10px;font-size:13px}.level-test-result.app-mode .textbook-table .domain-desc,.level-test-result.app-mode .textbook-table .mapping-status{font-size:11px}.level-test-result.app-mode .textbook-name{font-size:13px}.level-test-result.app-mode .mapping-status{font-size:11px;padding:3px 6px}@media (max-width: 600px){.level-test-result.app-mode{padding:6px 4px 8px}.level-test-result.app-mode .result-header{align-items:flex-start;flex-direction:column;gap:6px}.level-test-result.app-mode .result-summary{grid-template-columns:1fr 1fr;gap:6px}.level-test-result.app-mode .summary-card{padding:8px 6px}.level-test-result.app-mode .summary-value{font-size:16px}.level-test-result.app-mode .result-content{padding:8px 6px}}.answer-details table{width:100%;border-collapse:collapse}.answer-details th,.answer-details td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.answer-details th{background-color:#f5f5f5;font-weight:600}.answer-details-table-inner th.col-domain,.answer-details-table-inner td.col-domain{text-align:left}.answer-details-table-inner th:not(.col-domain),.answer-details-table-inner td:not(.col-domain){text-align:center}.answer-details tr.correct{background-color:#d4edda}.answer-details tr.incorrect{background-color:#f8d7da}.badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600}.badge.correct{background-color:#28a745;color:#fff}.badge.incorrect{background-color:#dc3545;color:#fff}.analysis-details,.coaching-tab-details{padding:0 0 1rem}.coaching-tab-details{min-height:75vh}.coaching-tab-details h2{margin-bottom:.5rem}.analysis-details{line-height:1.8;text-align:left}.analysis-details h2{margin:0 0 8px;padding:0}.analysis-tab-hint{margin:0 0 16px;font-size:13px;color:#666;line-height:1.5}.domain-achievement{margin-bottom:30px}.domain-achievement h3{margin-bottom:15px;color:#333}.domain-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.domain-item{padding:15px;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.domain-name{font-weight:600;color:#007bff;margin-bottom:8px}.domain-metrics{font-size:13px;color:#666}.domain-metrics>div{margin-bottom:5px}.domain-radar-cards .foldable-section-content{padding:16px}.domain-radar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.domain-radar-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:16px}.domain-radar-card-title{margin:0 0 6px;font-size:15px;font-weight:600;color:#333}.domain-radar-card-meta{font-size:12px;color:#555;margin-bottom:12px}.domain-radar-chart-wrap{min-height:200px}.domain-radar-single{text-align:center;padding:16px 0}.domain-radar-single-row{margin-bottom:14px}.domain-radar-single-row:last-of-type{margin-bottom:0}.domain-radar-single-row .domain-radar-single-label{margin-bottom:4px}.domain-radar-single-row .domain-radar-single-value{font-size:24px}.domain-radar-single .domain-radar-single-row:only-of-type .domain-radar-single-value{font-size:28px}.domain-radar-single-label{font-size:12px;color:#666;margin-bottom:8px}.domain-radar-single-value{font-size:28px;font-weight:700;color:#1976d2}.domain-radar-single-accuracy{font-size:13px;color:#555;margin-top:10px}.domain-radar-no-data{min-height:120px;display:flex;align-items:center;justify-content:center;color:#999;font-size:13px}@media (max-width: 640px){.domain-radar-grid{grid-template-columns:1fr}}.weak-domains,.recommendations{margin-bottom:30px}.weak-domains h3,.recommendations h3{margin-bottom:15px;color:#333}.weak-domains ul,.recommendations ul{list-style-type:disc;padding-left:20px}.weak-domains li,.recommendations li{margin-bottom:8px;line-height:1.6}.recommendations-edit-list{list-style:none;padding-left:0;text-align:left}.recommendations-edit-list li{display:flex;align-items:center;margin-bottom:12px}.recommendation-edit-input{width:100%;max-width:560px;padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical}.plan-edit-actions{margin-top:16px;text-align:center}.btn-save-plan{padding:10px 20px;background:#1976d2;color:#fff;border:none;border-radius:8px;font-size:14px;font-family:inherit;cursor:pointer}.btn-save-plan:hover:not(:disabled){background:#1565c0}.btn-save-plan:disabled{opacity:.7;cursor:not-allowed}.level-test-result .inline-edit{padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;font-family:inherit;min-width:120px}.level-test-result .block-edit{width:100%;max-width:400px;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical}.learning-plan{line-height:1.8;text-align:left}.learning-plan h2{margin:0 0 20px;padding:0}.plan-schedule-banner{padding:12px 14px;margin-bottom:16px;background:#e8f4fd;border:1px solid #bbdefb;border-radius:8px;font-size:14px;color:#1565c0}.plan-analysis-summary,.plan-recommendations,.plan-teacher-notes{margin-bottom:20px;padding:14px;background:#f8f9fa;border-radius:8px;border:1px solid #eee}.plan-analysis-summary h3,.plan-recommendations h3,.plan-teacher-notes h3{margin:0 0 10px;font-size:15px}.plan-teacher-notes{background:#fff8e1;border-color:#ffe082}.weekly-goals,.daily-activities{margin-bottom:30px;text-align:left}.weekly-goals h3,.daily-activities h3{margin-bottom:15px;padding:0;color:#333}.goal-item{display:flex;align-items:center;gap:15px;padding:15px;background:#f9f9f9;border-radius:6px;margin-bottom:10px;border:1px solid #e0e0e0}.goal-content>div{margin-bottom:5px}.activity-item{display:flex;align-items:center;gap:15px;padding:12px;background:#fff;border-radius:6px;margin-bottom:8px;border:1px solid #e0e0e0}.textbook-recommendations{line-height:1.8}.textbook-table-wrap{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fff;margin-top:12px}.textbook-table{width:100%;min-width:720px;border-collapse:collapse;font-size:14px}.textbook-table th,.textbook-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee;vertical-align:middle;white-space:nowrap}.textbook-table th{background:#f0f4f8;font-weight:600;color:#333;position:sticky;top:0}.textbook-table tbody tr:hover{background:#f9fafb}.textbook-table tbody tr.mapping-unconfirmed{background-color:#fffbf0}.textbook-table tbody tr.mapping-unconfirmed:hover{background-color:#fff8e6}.textbook-table tbody tr.textbook-placeholder{background-color:#eceff1}.textbook-table .col-textbook-name{min-width:140px;white-space:normal}.textbook-table .col-series{min-width:90px}.textbook-table .col-domain{min-width:120px}.textbook-table .col-unit{min-width:90px;white-space:normal}.textbook-table .col-topic{min-width:140px;max-width:220px;white-space:normal}.textbook-table .col-page{min-width:70px}.textbook-table .col-difficulty{min-width:56px;text-align:center}.textbook-table .col-status{min-width:80px}.textbook-table .domain-desc{font-size:12px;color:#666;font-weight:400}.textbook-table .mapping-status{font-size:12px;padding:4px 8px;border-radius:4px;font-weight:400;white-space:nowrap}.textbook-table .textbook-placeholder-hint{margin:0;font-size:11px;color:#78909c;font-style:italic;white-space:normal}.textbook-actions{margin-bottom:20px}.textbook-list-panel{padding:16px;background:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.textbook-list-panel h3{margin-top:0;margin-bottom:8px;font-size:1rem}.textbook-list-hint{margin:0 0 12px;font-size:13px;color:#555}.textbook-list-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px}.btn-load-textbooks,.btn-map-from-textbook{padding:8px 14px;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer;font-size:13px}.btn-load-textbooks:hover:not(:disabled),.btn-map-from-textbook:hover:not(:disabled){background:#e8e8e8}.btn-map-from-textbook{background:#3498db;color:#fff;border-color:#2980b9}.btn-map-from-textbook:hover:not(:disabled){background:#2980b9}.textbook-select{padding:6px 10px;border-radius:4px;border:1px solid #ccc;font-size:13px;min-width:180px}.textbook-name-list{margin:0;padding-left:20px;max-height:160px;overflow-y:auto;font-size:13px;color:#333}.textbook-name-list li{margin-bottom:4px}.learning-plan-error{padding:16px;background:#fff3f3;border:1px solid #fcc;border-radius:6px;color:#c00;margin-bottom:16px}.learning-plan-error p{margin:0}.plan-actions{margin-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.plan-actions-hint{font-size:12px;color:#666}.plan-tab-intro{margin:0 0 12px;font-size:.9rem;color:#555;line-height:1.5}.plan-wmc-pace-note{margin:0 0 12px;padding:8px 12px;border-radius:6px;background:#e3f2fd;font-size:.88rem;color:#1565c0}.btn-regenerate{padding:8px 14px;border-radius:6px;border:1px solid #0d47a1;background:#1565c0;color:#fff;cursor:pointer;font-size:13px}.btn-regenerate:hover:not(:disabled){background:#0d47a1}.btn-regenerate:disabled{opacity:.7;cursor:not-allowed}.textbook-list{display:grid;gap:15px}.textbook-item{padding:15px;background:#f9f9f9;border-radius:6px;border:1px solid #e0e0e0}.textbook-name{font-weight:600;color:#333}.textbook-info{font-size:13px;color:#666}.textbook-info>div{margin-bottom:5px}.textbook-item.textbook-placeholder{border-color:#b0bec5;background-color:#eceff1}.textbook-placeholder-hint{margin-top:10px;font-size:12px;color:#78909c;font-style:italic}.no-data-hint{margin-top:10px;font-size:13px;color:#78909c;font-style:normal}.answer-history-table-wrap{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fff}.answer-history-table{width:100%;border-collapse:collapse;font-size:14px}.answer-history-table th,.answer-history-table td{padding:12px 14px;border-bottom:1px solid #eee;vertical-align:middle}.answer-history-table th.col-domain,.answer-history-table td.col-domain{text-align:left}.answer-history-table th:not(.col-domain),.answer-history-table td:not(.col-domain){text-align:center}.answer-history-table thead th{background:#f5f7fa;font-weight:600;color:#374151;white-space:nowrap;font-size:13px}.answer-history-table tbody tr:hover{background:#fafafa}.answer-history-table tbody tr:last-child td{border-bottom:none}.answer-history-table .col-qno{font-weight:600;color:#111;width:56px}.answer-history-table .col-domain{text-align:left;color:#555;min-width:140px}.answer-history-table .col-answer{min-width:72px}.answer-history-table .col-answer .badge{margin-left:6px}.answer-history-table .col-correct{font-weight:500;color:#333}.answer-history-table .col-direction{white-space:nowrap}.answer-history-table .col-time{font-size:13px;color:#555;white-space:nowrap}.answer-history-table .col-elapsed{white-space:nowrap}.answer-history-table .col-elapsed .elapsed-label{display:inline-block;font-size:11px;color:#6b7280;margin-right:6px}.answer-history-table .col-elapsed .elapsed-value{font-weight:600;color:#1976d2}.answer-history-table .col-rti,.answer-history-table .col-count{font-size:13px;color:#555}.answer-history table{width:100%;border-collapse:collapse}.answer-history th,.answer-history td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.answer-history th{background-color:#f5f5f5;font-weight:600}.change-direction{font-weight:600;padding:2px 6px;border-radius:3px}.change-direction.improved{color:#28a745;background-color:#d4edda}.change-direction.worsened{color:#dc3545;background-color:#f8d7da}.answer-history-error{padding:24px;background:#fff8f8;border:1px solid #fcc;border-radius:8px;color:#c00;text-align:center}.answer-history-error p{margin:0 0 12px}.btn-retry{padding:8px 16px;border-radius:6px;border:1px solid #0d47a1;background:#1565c0;color:#fff;cursor:pointer;font-size:13px}.btn-retry:hover{background:#0d47a1}.no-data{text-align:center;padding:40px;color:#999;font-style:italic}.loading,.error{text-align:center;padding:40px;color:#666}.error{color:#dc3545}.textbook-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.textbook-item.mapping-unconfirmed{border-color:#ffc107;background-color:#fffbf0}.mapping-status{font-size:12px;padding:4px 8px;border-radius:4px;font-weight:400}.mapping-status.confirmed{background-color:#d4edda;color:#155724}.mapping-status.unconfirmed{background-color:#fff3cd;color:#856404}.sortable-resizable-foldable-table{margin-top:8px}.sortable-resizable-foldable-table .table-fold-bar{margin-bottom:8px}.sortable-resizable-foldable-table .table-fold-btn{padding:6px 12px;font-size:13px;background:#e9ecef;border:1px solid #dee2e6;border-radius:4px;cursor:pointer}.sortable-resizable-foldable-table .table-fold-btn:hover{background:#dee2e6}.sortable-resizable-foldable-table .table-scroll-wrap{overflow-x:auto}.sortable-resizable-foldable-table .table-scroll-wrap.folded{max-height:0;overflow:hidden;margin:0}.sortable-resizable-foldable-table table{table-layout:fixed;width:100%;min-width:600px}.sortable-resizable-foldable-table th{position:relative;white-space:nowrap;-webkit-user-select:none;user-select:none}.sortable-resizable-foldable-table th.sortable{cursor:pointer}.sortable-resizable-foldable-table th.sortable:hover{background-color:#e9ecef}.sortable-resizable-foldable-table .th-content{padding-right:4px}.sortable-resizable-foldable-table .sort-indicator{font-size:10px;color:#495057}.sortable-resizable-foldable-table .resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize}.sortable-resizable-foldable-table .resize-handle:hover,.sortable-resizable-foldable-table th:hover .resize-handle{background:#00000014}.sortable-resizable-foldable-table td{overflow:hidden;text-overflow:ellipsis}.foldable-section{margin-bottom:20px;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.foldable-section-title{margin:0;padding:12px 14px;font-size:1rem;font-weight:600;background:#f8f9fa;cursor:pointer;display:flex;align-items:center;gap:8px}.foldable-section-title:hover{background:#e9ecef}.foldable-section-title .fold-icon{font-size:12px;color:#6c757d}.foldable-section-content{padding:14px;background:#fff;border-top:1px solid #dee2e6}.sortable-resizable-foldable-table tr.clickable-row{cursor:pointer}.sortable-resizable-foldable-table tr.clickable-row:hover{filter:brightness(.97)}.teacher-student-management{max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:center;gap:20px;margin-bottom:30px}.back-link{color:#3498db;text-decoration:none;font-size:14px;padding:8px 12px;border-radius:4px;transition:background-color .2s}.back-link:hover{background-color:#e8f4f8}.students-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.students-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.students-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.student-card{padding:15px;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s;background:#fff}.student-card:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db33}.student-card.selected{border-color:#3498db;background:#e8f4f8}.student-select-section{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:16px;background:#f8f9fa;border-radius:8px}.student-select-label{font-weight:600;color:#2c3e50}.student-select-dropdown{min-width:260px;padding:8px 12px;font-size:14px;border:1px solid #dee2e6;border-radius:6px}.action-button.level-test-result-link{padding:8px 16px;background:#3498db;color:#fff;text-decoration:none;border-radius:6px;font-weight:500}.action-button.level-test-result-link:hover{background:#2980b9}.student-info{display:flex;flex-direction:column;gap:8px}.student-name{font-size:16px;font-weight:600;color:#2c3e50}.student-meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#7f8c8d}.student-details-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.student-details-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.student-details-card{padding:20px;background:#f8f9fa;border-radius:6px;margin-bottom:25px}.detail-row{display:flex;padding:10px 0;border-bottom:1px solid #e0e0e0}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#2c3e50;min-width:120px}.detail-value{color:#555;flex:1}.student-actions{margin-top:25px}.student-actions h4{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:16px}.action-buttons{display:flex;gap:15px;flex-wrap:wrap}.action-button{padding:10px 20px;background-color:#3498db;color:#fff;text-decoration:none;border-radius:4px;font-size:14px;font-weight:600;transition:background-color .2s;display:inline-block}.action-button:hover{background-color:#2980b9}.empty-state{text-align:center;padding:60px 20px;background:#f8f9fa;border-radius:8px}.empty-state p{color:#7f8c8d;font-size:18px;margin:0}.page-loading,.page-error{text-align:center;padding:50px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.page-error button{margin-top:15px;padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.page-error button:hover{background-color:#2980b9}.teacher-grades-overview{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px}.teacher-grades-overview .section-header{margin-bottom:16px}.teacher-grades-overview .section-header h3{margin:0;color:#2c3e50;font-size:18px}.teacher-grades-overview .group-quick-links{display:grid;gap:10px;margin-bottom:16px}.teacher-grades-overview .group-quick-links.row-2{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-grades-overview .quick-link-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:96px;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;color:inherit;cursor:pointer;font:inherit;width:100%}.teacher-grades-overview .quick-link-card:hover{border-color:#3498db;background:#eef5ff}.teacher-grades-overview .quick-link-card .card-icon{font-size:24px;margin-bottom:6px}.teacher-grades-overview .quick-link-card .card-title{font-size:14px;font-weight:700;color:#1f2937}.teacher-trend-chart-section{padding-top:4px}.teacher-trend-chart-section .empty-message{text-align:center;color:#6c757d;font-size:14px;margin:0;padding:16px 0}.teacher-trend-chart-section .chart-loading{text-align:center;color:#3498db;padding:16px 0}.teacher-trend-chart-section .trend-controls{margin-bottom:16px}.teacher-trend-chart-section .trend-controls>label{display:block;font-size:14px;font-weight:600;color:#2c3e50;margin-bottom:8px}.teacher-trend-chart-section .domain-selector{display:flex;flex-wrap:wrap;gap:10px 16px}.teacher-trend-chart-section .domain-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#374151}.teacher-trend-chart-section .trend-chart-placeholder{padding:12px 0}.teacher-trend-chart-section .trend-details{margin-top:16px}.teacher-trend-chart-section .trend-details summary{cursor:pointer;font-weight:600;color:#3498db;margin-bottom:8px}.teacher-trend-chart-section .trend-table-container{overflow-x:auto}.teacher-trend-chart-section .trend-table{width:100%;border-collapse:collapse;font-size:14px}.teacher-trend-chart-section .trend-table th,.teacher-trend-chart-section .trend-table td{padding:10px 12px;border-bottom:1px solid #dee2e6;text-align:left}.teacher-trend-chart-section .trend-table th{background:#f8f9fa;font-weight:600}.test-results-actions{display:flex;gap:6px;flex-wrap:wrap}.report-result-btn{padding:6px 12px;border:1px solid #2563eb;border-radius:4px;background:#eff6ff;color:#1d4ed8;font-size:13px;font-weight:600;cursor:pointer}.report-result-btn:hover{background:#dbeafe}.delete-result-btn{padding:6px 12px;border:1px solid #e74c3c;border-radius:4px;background:#fff;color:#e74c3c;font-size:13px;font-weight:600;cursor:pointer}.delete-result-btn:hover:not(:disabled){background:#fdecea}.delete-result-btn:disabled{opacity:.6;cursor:not-allowed}.test-results-section{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px}.test-results-section h3{margin-top:0;margin-bottom:8px;color:#2c3e50;font-size:18px}.test-results-section .section-hint{margin:0 0 16px;font-size:13px;color:#6c757d}.teacher-student-management-embed{max-width:none}.teacher-student-management-embed .level-test-result{max-width:1200px;margin:0 auto}.teacher-role-reports{padding:0 0 2rem;max-width:960px}.teacher-role-reports .page-header h2{margin:.25rem 0}.teacher-role-reports .page-subtitle{margin:.35rem 0 1.25rem;color:#64748b;font-size:.9rem}.role-reports-selectors{margin-bottom:1.25rem}.selector-block label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:#475569}.selector-block select{width:100%;max-width:360px;padding:.5rem .65rem;border:1px solid #cbd5e1;border-radius:6px}.role-reports-tests h3{margin:0 0 .75rem;font-size:1rem}.role-reports-test-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;max-height:220px;overflow-y:auto}.role-reports-test-card{display:grid;grid-template-columns:56px 1fr auto auto;gap:.75rem;align-items:center;padding:.65rem .85rem;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer}.role-reports-test-card:hover{border-color:#93c5fd}.role-reports-test-card.active{border-color:#2563eb;background:#eff6ff}.test-card-lv{font-weight:700;font-size:.85rem;color:#1d4ed8}.test-card-name{font-size:.875rem;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-card-date,.test-card-score{font-size:.8rem;color:#64748b}.role-reports-panel-wrap{margin-top:.5rem}.role-reports-hint{padding:2rem;text-align:center;border:1px dashed #cbd5e1;border-radius:8px}.muted{color:#94a3b8}.teacher-student-statistics{padding:20px}.page-header{margin-bottom:30px}.back-link{display:inline-block;margin-bottom:10px;color:#3498db;text-decoration:none;font-size:14px}.back-link:hover{text-decoration:underline}.page-header h2{margin:10px 0;color:#2c3e50}.page-subtitle{color:#7f8c8d;font-size:14px;margin-top:5px}.statistics-section{margin-bottom:50px}.section-title{font-size:24px;color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #3498db}.chart-section{margin-bottom:40px;padding:20px;background:#f8f9fa;border-radius:8px}.chart-section h3{font-size:20px;color:#34495e;margin-bottom:15px}.chart-section h4{font-size:18px;color:#34495e;margin-bottom:10px;margin-top:20px}.test-info{font-size:14px;color:#666;margin-bottom:15px}.test-info strong{color:#2c3e50}.grade-chart{margin-bottom:30px;padding:15px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.empty-message{padding:40px;text-align:center;color:#999;font-size:16px}.page-loading,.page-error{padding:40px;text-align:center}.page-error{color:#e74c3c}.page-error button{margin-top:15px;padding:10px 20px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.page-error button:hover{background:#2980b9}.learning-plan-review{padding:20px}.learning-plan-review h1{margin-bottom:20px}.plan-review-container{display:grid;grid-template-columns:1fr 2fr;gap:20px}.plan-list-section{border-right:1px solid #ddd;padding-right:20px}.plans-list{max-height:700px;overflow-y:auto}.plan-item{padding:15px;border:1px solid #ddd;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .2s}.plan-item:hover{background-color:#f5f5f5;box-shadow:0 2px 4px #0000001a}.plan-item.selected{background-color:#e3f2fd;border-color:#007bff}.plan-header{display:flex;justify-content:space-between;margin-bottom:8px}.plan-student{font-weight:600;color:#333}.plan-date{font-size:12px;color:#666}.plan-info{display:flex;gap:10px;font-size:12px}.plan-status{padding:2px 8px;border-radius:12px;background-color:#e0e0e0;color:#333}.plan-status.draft{background-color:#fff3cd;color:#856404}.plan-status.active{background-color:#d4edda;color:#155724}.plan-status.completed{background-color:#d1ecf1;color:#0c5460}.plan-period{color:#666}.plan-detail-section{padding-left:20px}.plan-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.plan-actions{display:flex;gap:10px}.plan-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px}.plan-actions button:first-child{background-color:#007bff;color:#fff}.plan-actions button:first-child:hover{background-color:#0056b3}.plan-actions button:last-child{background-color:#6c757d;color:#fff}.plan-detail-content{background:#f9f9f9;padding:20px;border-radius:8px}.plan-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #ddd}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px}.status-badge.draft{background-color:#fff3cd;color:#856404}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.completed{background-color:#d1ecf1;color:#0c5460}.plan-viewer,.plan-editor{margin-bottom:20px}.plan-schedule-banner{padding:12px 14px;margin-bottom:16px;background:#e8f4fd;border:1px solid #bbdefb;border-radius:8px;font-size:14px}.plan-analysis-summary{margin-bottom:20px;padding:14px;background:#f8f9fa;border-radius:8px}.plan-lci-guidance{color:#555;font-size:13px}.weekly-goals-section,.daily-activities-section,.recommendations-section{margin-bottom:30px}.weekly-goals-section h3,.daily-activities-section h3,.recommendations-section h3{margin-bottom:15px;color:#333}.goal-item{display:flex;gap:15px;padding:15px;background:#fff;border-radius:8px;margin-bottom:10px;border:1px solid #e0e0e0}.goal-item.editable{border:2px solid #007bff}.goal-week{min-width:80px;font-weight:600;color:#007bff}.goal-content{flex:1}.goal-domains,.goal-description{margin-bottom:8px}.goal-domains strong,.goal-description strong{margin-right:8px}.week-activities{margin-bottom:20px}.week-activities h4{margin-bottom:10px;color:#666}.activity-item{display:flex;gap:15px;padding:12px;background:#fff;border-radius:6px;margin-bottom:8px;border:1px solid #e0e0e0}.activity-item.editable{border:2px solid #007bff}.activity-day{min-width:60px;font-weight:600;color:#666}.activity-content{flex:1}.activity-content>div{margin-bottom:5px}.activity-content strong{margin-right:8px}.teacher-notes-section{margin-top:30px;padding-top:20px;border-top:1px solid #ddd}.teacher-notes-section h3{margin-bottom:10px}.teacher-notes-section textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;resize:vertical;min-height:100px}.notes-display{padding:15px;background:#fff;border-radius:4px;border:1px solid #ddd;min-height:100px;white-space:pre-wrap;color:#666}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:600;font-size:13px;color:#333}.form-group input,.form-group textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.form-group textarea{resize:vertical;min-height:60px}.wmc-poc-assign-page{max-width:1100px;margin:0 auto;padding:1rem 1.25rem 2rem}.wmc-poc-header h2{margin:0 0 .35rem}.wmc-poc-sub{margin:0 0 1rem;font-size:.92rem;color:#455a64}.wmc-poc-assign-disabled .wmc-poc-disabled-notice{padding:1rem 1.25rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#64748b}.wmc-poc-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.wmc-poc-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:#37474f}.wmc-poc-filters select,.wmc-poc-filters input[type=text],.wmc-poc-filters input[type=number]{min-width:220px;padding:.4rem .5rem;border:1px solid #cfd8dc;border-radius:6px}.wmc-poc-alert{padding:.65rem .85rem;border-radius:8px;margin-bottom:.75rem;font-size:.9rem}.wmc-poc-alert.error{background:#ffebee;color:#b71c1c}.wmc-poc-alert.ok{background:#e8f5e9;color:#1b5e20}.wmc-poc-summary{margin-bottom:.75rem;font-size:.88rem;color:#1565c0}.wmc-poc-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem;font-size:.85rem}.wmc-poc-toolbar-divider{width:1px;height:1.25rem;background:#cfd8dc;margin:0 .25rem}.wmc-poc-seed{flex-direction:row!important;align-items:center;gap:.35rem!important}.wmc-poc-seed input{min-width:72px!important;width:72px}.wmc-poc-btn{border-radius:6px;padding:.4rem .75rem;cursor:pointer;border:1px solid #90a4ae;background:#fff;font-size:.85rem}.wmc-poc-btn.primary{background:#1565c0;border-color:#1565c0;color:#fff}.wmc-poc-btn.secondary{background:#eceff1}.wmc-poc-btn.chip{padding:.25rem .55rem;font-weight:600}.wmc-poc-btn.link{border:none;background:none;color:#1565c0;text-decoration:underline;padding:.2rem}.wmc-poc-btn:disabled{opacity:.5;cursor:not-allowed}.wmc-poc-table-wrap{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}.wmc-poc-table{width:100%;border-collapse:collapse;font-size:.88rem}.wmc-poc-table th,.wmc-poc-table td{padding:.5rem .65rem;border-bottom:1px solid #eee;text-align:left}.wmc-poc-table th{background:#f5f5f5;font-weight:600}.wmc-poc-table tr.assigned{background:#f8fbff}.wmc-poc-sid{display:block;font-size:.78rem;color:#78909c}.wmc-poc-loading,.wmc-poc-empty{color:#607d8b;font-size:.9rem}.wmc-poc-help{margin-top:1.5rem;padding:1rem;background:#fafafa;border-radius:8px;font-size:.85rem;color:#546e7a}.wmc-poc-help h3{margin:0 0 .5rem;font-size:.95rem}.wmc-poc-help ul{margin:0 0 .5rem;padding-left:1.2rem}.student-level-test-analysis{padding:20px}.student-level-test-analysis h1{margin-bottom:20px}.student-info{margin-bottom:20px;padding:15px;background:#f5f5f5;border-radius:8px}.analysis-container{display:grid;grid-template-columns:1fr 2fr;gap:20px}.results-section{border-right:1px solid #ddd;padding-right:20px}.results-list{max-height:700px;overflow-y:auto}.result-item{padding:15px;border:1px solid #ddd;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .2s}.result-item:hover{background-color:#f5f5f5;box-shadow:0 2px 4px #0000001a}.result-item.selected{background-color:#e3f2fd;border-color:#007bff}.result-header{display:flex;justify-content:space-between;margin-bottom:10px}.result-test-name{font-weight:600;color:#333}.result-date{font-size:12px;color:#666}.result-scores{display:flex;gap:15px;margin-bottom:10px}.score-item{display:flex;flex-direction:column}.score-label{font-size:11px;color:#666;margin-bottom:2px}.score-value{font-weight:600;color:#333}.result-analysis-preview{padding-top:10px;border-top:1px solid #e0e0e0;font-size:12px;color:#666}.overall-theta,.weak-domains{margin-bottom:5px}.detail-section{padding-left:20px}.detail-content{background:#f9f9f9;padding:20px;border-radius:8px}.detail-summary{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #ddd}.detail-summary h3{margin-bottom:15px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.summary-item{display:flex;flex-direction:column}.summary-item label{font-size:12px;color:#666;margin-bottom:5px}.summary-item span{font-weight:600;color:#333}.analysis-detail{margin-bottom:30px}.analysis-detail h3{margin-bottom:20px}.overall-theta-section{margin-bottom:25px;padding:15px;background:#fff;border-radius:8px;text-align:center}.overall-theta-section h4{margin-bottom:10px;color:#666}.theta-value{font-size:32px;font-weight:700;color:#007bff}.domain-achievement-section{margin-bottom:25px}.domain-achievement-section h4{margin-bottom:15px}.domain-list{display:grid;gap:10px}.domain-item{padding:15px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.domain-name{font-weight:600;color:#007bff;margin-bottom:10px}.domain-metrics{display:flex;gap:20px}.metric{display:flex;flex-direction:column}.metric label{font-size:11px;color:#666;margin-bottom:2px}.metric span{font-weight:600;color:#333}.weak-domains-section{margin-bottom:25px}.weak-domains-section h4{margin-bottom:15px;color:#dc3545}.weak-domains-list{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.weak-domain-item{flex:1 1 200px;max-width:260px;min-width:168px;padding:10px 12px;background:#fff3cd;border-radius:8px;border:1px solid #ffc107;box-sizing:border-box}.weak-domain-name{font-weight:600;color:#856404;margin-bottom:5px}.weak-domain-desc{font-size:13px;color:#666;margin-bottom:5px}.weak-domain-theta{font-size:12px;color:#856404}.axis-diagnosis-section h4{color:#5c3d91}.axis-meta{font-size:13px;color:#666;margin:-8px 0 14px}.axis-subsection{margin-bottom:18px}.axis-subsection h5{margin:0;font-size:14px;color:#444}.axis-subsection-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:10px}.axis-subsection-hint{font-size:12px;font-weight:400;color:#777;line-height:1.4}.axis-cluster-mini{margin:8px 0 0 18px;padding:0;font-size:12px;color:#6c4a00}.axis-strong-subsection .strong-axes-list{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.strong-axis-item{flex:1 1 200px;max-width:260px;min-width:168px;padding:10px 12px;background:#e8f5e9;border:1px solid #81c784;border-radius:8px;box-sizing:border-box}.strong-axis-name{font-weight:600;color:#2e7d32}.strong-axis-meta{font-size:12px;color:#388e3c;margin-top:4px}.cluster-details-list{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.cluster-detail-item{flex:1 1 200px;max-width:260px;min-width:168px;padding:10px 12px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;box-sizing:border-box}.cluster-detail-title{font-weight:600;color:#333}.cluster-detail-count{color:#dc3545;margin-left:6px;font-weight:600}.cluster-detail-axis{font-size:12px;color:#666;margin-top:4px}.cluster-dt-list{margin:8px 0 0 18px;padding:0;font-size:12px;color:#555}.strength-notes-block{margin-bottom:14px;padding:12px 14px;background:#f1f8e9;border-radius:8px}.strength-notes-block h5{margin:0 0 8px;font-size:13px;color:#33691e}.strength-note-item{color:#33691e}.recommendations-section{margin-bottom:25px}.recommendations-section h4{margin-bottom:15px}.recommendations-section ul{list-style-type:disc;padding-left:20px}.recommendations-section li{margin-bottom:8px;line-height:1.6}.answer-details-section{margin-top:30px;padding-top:20px;border-top:1px solid #ddd}.answer-details-section h3{margin-bottom:15px}.answer-details-table{overflow-x:auto}.answer-details-table table{width:100%;border-collapse:collapse}.answer-details-table th,.answer-details-table td{padding:10px;text-align:left;border-bottom:1px solid #ddd}.answer-details-table th{background-color:#f5f5f5;font-weight:600}.answer-details-table tr.correct{background-color:#d4edda}.answer-details-table tr.incorrect{background-color:#f8d7da}.answer-details-table tr.clickable-row{cursor:pointer}.answer-details-table tr.clickable-row:hover{filter:brightness(.97)}.correct-badge{display:inline-block;padding:2px 8px;background-color:#28a745;color:#fff;border-radius:12px;font-size:11px}.incorrect-badge{display:inline-block;padding:2px 8px;background-color:#dc3545;color:#fff;border-radius:12px;font-size:11px}.progress-section{grid-column:1 / -1;margin-top:30px;padding-top:20px;border-top:2px solid #ddd}.progress-section h2{margin-bottom:20px}.progress-content{display:grid;gap:20px}.domain-progress{padding:15px;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.domain-progress h3{margin-bottom:15px;color:#007bff}.progress-chart{display:flex;gap:20px;overflow-x:auto;padding:10px 0}.progress-point{min-width:120px;padding:10px;background:#f5f5f5;border-radius:6px;text-align:center}.point-date{font-size:11px;color:#666;margin-bottom:5px}.point-theta{font-weight:600;color:#333}.loading{text-align:center;padding:20px;color:#007bff}.item-detail-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.item-detail-modal{background:#fff;border-radius:12px;max-width:560px;width:90%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.item-detail-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #dee2e6;background:#f8f9fa}.item-detail-modal-header h3{margin:0;font-size:18px}.item-detail-modal-close{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer}.item-detail-modal-close:hover{background:#5a6268}.item-detail-modal-body{padding:20px;overflow-y:auto}.item-detail-row{margin-bottom:12px}.item-detail-row .item-detail-label{display:inline-block;min-width:100px;font-weight:600;color:#495057;margin-right:8px}.item-detail-block{margin-bottom:16px}.item-detail-block .item-detail-label{display:block;font-weight:600;color:#495057;margin-bottom:6px}.item-detail-prompt{white-space:pre-wrap;padding:12px;background:#f8f9fa;border-radius:6px;line-height:1.6}.item-detail-choices{margin:0;padding-left:20px}.item-detail-choices li{margin-bottom:6px}.item-detail-answer{font-weight:700;color:#28a745}.level-test-results-page{max-width:800px;margin:0 auto;padding:24px}.level-test-results-page .page-header{margin-bottom:24px}.level-test-results-page .page-header h2{margin:0;font-size:24px;color:#2c3e50}.level-test-results-select{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:20px;background:#f8f9fa;border-radius:8px;margin-bottom:16px}.level-test-results-select label{font-weight:600;color:#2c3e50}.level-test-results-select select{min-width:260px;padding:10px 12px;font-size:14px;border:1px solid #dee2e6;border-radius:6px}.level-test-results-select .btn-show-result{padding:10px 20px;background:#3498db;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer}.level-test-results-select .btn-show-result:hover:not(:disabled){background:#2980b9}.level-test-results-select .btn-show-result:disabled{background:#adb5bd;cursor:not-allowed}.level-test-results-page .no-students{color:#6c757d;margin-top:16px}.level-test-results-page .page-error{padding:16px;background:#f8d7da;color:#721c24;border-radius:8px}.level-test-results-page .page-error button{margin-top:8px;padding:8px 16px;border-radius:4px;cursor:pointer}.student-dashboard{max-width:1480px;margin:0 auto}.student-dashboard h2{margin-bottom:12px;color:#1f2937;font-size:26px}.student-info{color:#6b7280;margin-bottom:14px;font-size:14px}.student-selector{display:flex;align-items:center;gap:8px;margin-bottom:14px}.student-selector label{font-size:14px;color:#6b7280}.student-id-select{padding:6px 10px;font-size:14px;border:1px solid #e6e8ec;border-radius:8px;min-width:120px}.student-id-display{font-size:14px;color:#1f2937}.summary-grid{display:grid;grid-template-columns:1fr;gap:8px}.summary-card{background:#f8fafc;border:1px solid #edf0f4;padding:10px;border-radius:10px}.summary-label{font-size:13px;color:#6b7280;margin-bottom:4px}.summary-value{font-size:22px;font-weight:700;color:#1f2937}.group-quick-links.row-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:0}.quick-link-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:96px;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit}.quick-link-card .card-title{font-size:14px;font-weight:700;color:#1f2937}.quick-link-card.disabled{opacity:.55;cursor:not-allowed;pointer-events:none;background:#f1f5f9}.empty-message{text-align:center;padding:10px;color:#6b7280;font-size:12px}@media (max-width: 900px){.dashboard-top-grid{grid-template-columns:1fr}.dashboard-top-grid .dashboard-calendar-section,.dashboard-top-grid .kpi-panel{grid-column:span 12}.dashboard-sections,.group-quick-links.row-2,.group-quick-links.row-3{grid-template-columns:1fr}.two-fixed-groups .fixed-group-panel{min-height:auto;max-height:none}}.test-app-dashboard{max-width:1280px;margin:0 auto;padding:6px 6px 10px}.test-app-dashboard h2{margin-bottom:6px;color:#1f2937;font-size:18px;letter-spacing:-.2px}.dashboard-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 4px #0f172a0f;padding:6px;margin-bottom:2px}.dashboard-loading-inline{padding:8px 10px;margin-bottom:4px;background:#eef5ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;text-align:center;font-size:12px}.dashboard-error{text-align:center;padding:40px;background:#fff;border-radius:10px;border:1px solid #e5e7eb}.dashboard-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:0}.feature-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 4px #0f172a0f;padding:5px 4px;min-height:52px;text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer}.feature-card:hover{transform:translateY(-1px);border-color:#93c5fd;box-shadow:0 4px 10px #2563eb1f}.feature-icon{font-size:16px;line-height:1;margin-bottom:2px}.feature-title{font-size:11px;font-weight:700;color:#1f2937;margin-bottom:0;letter-spacing:-.1px;line-height:1.2}.test-app-dashboard .calendar-container{padding:6px;margin-bottom:0;border-radius:8px;box-shadow:none}.test-app-dashboard .calendar-header{margin-bottom:8px;padding-bottom:6px}.test-app-dashboard .calendar-month{font-size:18px}.test-app-dashboard .calendar-year{font-size:14px}.test-app-dashboard .calendar-nav-btn{width:28px;height:28px;font-size:16px}.test-app-dashboard .calendar-today-btn{padding:4px 8px;font-size:12px}.test-app-dashboard .calendar-day-header{padding:6px 2px;font-size:11px}.test-app-dashboard .calendar-day{min-height:52px;padding:4px}.test-app-dashboard .day-number{font-size:12px;margin-bottom:2px}.test-app-dashboard .day-events{gap:2px}.test-app-dashboard .day-memo-titles{margin-top:2px;margin-bottom:2px}.test-app-dashboard .memo-title{font-size:9px;padding:1px 3px}.test-app-dashboard .memo-title-more,.test-app-dashboard .event-more{font-size:9px}.test-app-dashboard .calendar-legend{display:none}@media (max-width: 900px){.test-app-dashboard{padding:4px 4px 8px}.test-app-dashboard h2{font-size:16px}.feature-card{min-height:50px;padding:5px 3px}.feature-icon{font-size:13px;margin-bottom:1px}.feature-title{font-size:10px}.test-app-dashboard .calendar-container{padding:4px}.test-app-dashboard .calendar-header{margin-bottom:6px;padding-bottom:4px}.test-app-dashboard .calendar-month{font-size:16px}.test-app-dashboard .calendar-year{font-size:12px}.test-app-dashboard .calendar-day{min-height:44px;padding:3px}.test-app-dashboard .day-number{font-size:11px}}@media (max-width: 600px){.feature-card{min-height:48px;padding:4px 2px}.feature-icon{margin-bottom:1px;font-size:12px}.feature-title{font-size:9px;line-height:1.15;word-break:keep-all}.test-app-dashboard .calendar-day-header{padding:5px 1px;font-size:10px}.test-app-dashboard .calendar-day{min-height:38px;padding:2px}.test-app-dashboard .day-number{font-size:10px;margin-bottom:1px}.test-app-dashboard .calendar-nav-btn{width:24px;height:24px;font-size:14px}.test-app-dashboard .calendar-today-btn{padding:2px 6px;font-size:11px}}.student-grades{max-width:1400px;margin:0 auto}.grades-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.grades-page-header h2{margin:0;color:#2c3e50;font-size:28px}.student-grades .back-link{color:#3498db;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}.student-grades .back-link:hover{text-decoration:underline}.student-grades h2{margin-bottom:20px;color:#2c3e50;font-size:28px}.student-selector{display:flex;align-items:center;gap:10px;margin-bottom:30px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.student-selector label{font-weight:600;color:#2c3e50;font-size:14px}.student-id-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;background:#fff;color:#2c3e50;cursor:pointer;min-width:120px}.student-id-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.student-id-display{color:#2c3e50;font-weight:600}.trend-controls label{display:block;margin-bottom:10px;font-weight:600;color:#2c3e50}.domain-checkbox:hover{border-color:#3498db;background:#e8f4f8}.domain-checkbox input[type=checkbox]:checked+span{font-weight:600;color:#3498db}.trend-chart-placeholder h3{margin-bottom:15px;color:#2c3e50;font-size:20px}.trend-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.trend-details summary{padding:15px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-weight:600;color:#2c3e50;-webkit-user-select:none;user-select:none}.trend-details summary:hover{background:#e8f4f8;border-color:#3498db}.grades-test-results-section{margin-top:32px;padding-top:24px;border-top:1px solid #e0e0e0}.grades-test-results-section h3{margin:0 0 8px;color:#2c3e50;font-size:20px}.section-hint{margin:0 0 16px;color:#7f8c8d;font-size:14px}.results-loading{padding:24px;text-align:center;color:#3498db}.test-results-table-wrap{overflow-x:auto}.test-results-table{width:100%;border-collapse:collapse}.test-results-table th,.test-results-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.test-results-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.test-results-table tbody tr.clickable-row{cursor:pointer}.test-results-table tbody tr.clickable-row:hover{background:#e8f4f8}.student-grades-embed,.student-grades-embed .level-test-result{max-width:none}.control-group label{font-weight:600;color:#2c3e50;white-space:nowrap}.control-select:focus{outline:none;border-color:#3498db}.slider-value{min-width:30px;text-align:center;font-weight:600;color:#3498db}.metric-value{font-size:24px;font-weight:700;color:#2c3e50}.priority-table-container h3{margin-bottom:15px;color:#2c3e50;font-size:20px}.priority-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.priority-chart-placeholder h3{margin-bottom:15px;color:#2c3e50;font-size:20px}.roblox-results-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.roblox-results-desc{margin:0;color:#7f8c8d;font-size:14px}.refresh-btn{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.refresh-btn:hover{background:#2980b9}.roblox-results-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.roblox-result-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;box-shadow:0 1px 3px #0000000f}.result-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.result-date{font-size:13px;color:#374151;font-weight:500;flex:1;min-width:0}.result-card-game{font-size:12px;color:#6b7280;margin-bottom:10px}.result-card-kpis{display:flex;flex-wrap:wrap;gap:12px 20px;padding-top:10px;border-top:1px solid #f3f4f6}.kpi-item{display:flex;flex-direction:column;gap:2px}.kpi-label{font-size:11px;color:#9ca3af;font-weight:500}.kpi-value{font-size:15px;font-weight:700;color:#1f2937}.badge-win{display:inline-block;padding:4px 10px;background:#2ecc71;color:#fff;border-radius:4px;font-size:12px;font-weight:600}.badge-lose{display:inline-block;padding:4px 10px;background:#e74c3c;color:#fff;border-radius:4px;font-size:12px;font-weight:600}.badge-correct{display:inline-block;padding:2px 8px;background:#2ecc71;color:#fff;border-radius:4px;font-size:11px}.badge-wrong{display:inline-block;padding:2px 8px;background:#e74c3c;color:#fff;border-radius:4px;font-size:11px}.result-card-detail{margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.result-card-detail summary{cursor:pointer;font-size:13px;font-weight:600;color:#3498db}.result-words-table-wrap{margin-top:10px;overflow-x:auto}.result-detail-empty{margin:12px 0 0;padding:12px;background:#f8f9fa;border-radius:6px;color:#6b7280;font-size:13px}.roblox-words-details{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e5e7eb}.roblox-words-block{margin-bottom:16px}.roblox-words-block h4{margin:0 0 8px;font-size:14px;color:#374151}.roblox-words-table{width:100%;border-collapse:collapse;font-size:13px}.roblox-words-table th,.roblox-words-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.roblox-empty-state{padding:24px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.roblox-setup-hints{margin:16px 0;padding-left:24px;color:#7f8c8d;font-size:14px;line-height:1.6}.roblox-setup-hints code{background:#ecf0f1;padding:2px 6px;border-radius:4px;font-size:13px}.roblox-empty-actions{display:flex;gap:12px;margin-top:16px}.test-data-btn{padding:8px 16px;background:#95a5a6;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.test-data-btn:hover{background:#7f8c8d}.student-learning{max-width:1400px;margin:0 auto}.student-learning h2{margin-bottom:20px;color:#2c3e50;font-size:28px}.student-info{color:#7f8c8d;margin-bottom:30px;font-size:14px}.student-info strong{color:#2c3e50;font-weight:600}.tab-button:hover{color:#3498db}.tab-button.active{color:#3498db;border-bottom-color:#3498db}.error-message button{margin-top:15px;padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.error-message button:hover{background-color:#2980b9}.focus-header h3{margin:0 0 10px;color:#2c3e50;font-size:22px}.focus-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.focus-table .domain-name{font-weight:600;color:#2c3e50}.calendar-header h3{margin:0 0 10px;color:#2c3e50;font-size:22px}.weekly-goals-section h4{margin:0 0 15px;color:#2c3e50;font-size:18px}.goals-content{color:#2c3e50;line-height:1.8;font-size:14px}.calendar-plan-section h4{margin:0 0 20px;color:#2c3e50;font-size:18px}.day-plan-card{padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;border-left:4px solid #3498db}.day-plan-content{color:#2c3e50;line-height:1.8;font-size:14px}.day-plan-content strong{color:#3498db;font-weight:600}.homework-header h3{margin:0 0 10px;color:#2c3e50;font-size:22px}.homework-item{display:flex;align-items:flex-start;gap:12px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0;cursor:pointer;transition:all .2s}.homework-item:hover{border-color:#3498db;background:#e8f4f8}.homework-item input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:pointer;flex-shrink:0}.homework-item span{flex:1;color:#2c3e50;font-size:14px;line-height:1.6}.materials-header h3{margin:0 0 10px;color:#2c3e50;font-size:22px}.materials-table th{background:#f5f5f5;font-weight:600;color:#2c3e50;position:sticky;top:0}.materials-table .domain-name{font-weight:600;color:#2c3e50}.materials-content{color:#2c3e50;line-height:1.8;font-size:14px}.materials-message{margin:0 0 15px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.materials-domains{margin-top:15px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.materials-domains p{margin:0;color:#2c3e50;font-size:14px}.materials-domains strong{color:#3498db;font-weight:600}.student-exams{padding:20px;max-width:1200px;margin:0 auto}.student-exams h2{margin-bottom:20px;color:#333}.exams-tabs{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.tab-button{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:16px;color:#666;border-bottom:2px solid transparent;transition:all .3s}.tab-button:hover{color:#333;background:#f5f5f5}.tab-button.active{color:#1e88e5;border-bottom-color:#1e88e5;font-weight:700}.error-message{padding:12px;background:#ffebee;color:#c62828;border-radius:4px;margin-bottom:20px}.success-message{padding:12px;background:#e8f5e9;color:#2e7d32;border-radius:4px;margin-bottom:20px}.loading-message{padding:12px;background:#e3f2fd;color:#1976d2;border-radius:4px;margin-bottom:20px}.submit-exam-section{margin-top:20px}.exam-selection{margin-bottom:20px}.exam-selection label{display:block;margin-bottom:8px;font-weight:700}.exam-selection select{width:100%;max-width:600px;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.exam-info{margin-bottom:20px;padding:10px;background:#f5f5f5;border-radius:4px}.exam-mode{margin-bottom:20px}.exam-mode label{display:block;margin-bottom:8px;font-weight:700}.mode-radio{display:flex;gap:20px}.mode-radio label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.mode-radio input[type=radio]{cursor:pointer}.answer-input-section{margin-top:20px}.online-answers{margin-bottom:20px}.question-item{margin-bottom:30px;padding:20px;background:#fafafa;border-radius:8px}.question-item h4{margin-bottom:10px;color:#333}.question-stem{font-size:16px;margin-bottom:15px;line-height:1.6}.question-options{display:flex;flex-direction:column;gap:10px}.option-label{display:flex;align-items:center;gap:8px;padding:8px;background:#fff;border-radius:4px;cursor:pointer;transition:background .2s}.option-label:hover{background:#e3f2fd}.option-label input[type=radio]{cursor:pointer}.offline-answers{margin-bottom:20px}.answers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:15px;margin-top:15px}.answer-item{display:flex;flex-direction:column;align-items:center;padding:10px;background:#f5f5f5;border-radius:4px}.answer-item label{margin-bottom:5px;font-weight:700;font-size:14px}.answer-radio{display:flex;gap:8px}.answer-radio label{display:flex;align-items:center;gap:4px;font-weight:400;cursor:pointer}.answer-radio input[type=radio]{cursor:pointer}.submit-button{padding:12px 24px;background:#1e88e5;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background .3s}.submit-button:hover:not(:disabled){background:#1565c0}.submit-button:disabled{background:#ccc;cursor:not-allowed}.exam-start-actions.csat-only{margin-top:24px;padding:24px;background:#e3f2fd;border-radius:8px;border:1px solid #90caf9}.exam-start-actions.csat-only .csat-flow-desc{margin:0 0 16px;color:#1565c0;font-size:15px}.exam-start-actions.csat-only .start-exam-btn{font-size:18px;padding:14px 32px}.submissions-section{margin-top:40px;padding-top:20px;border-top:2px solid #e0e0e0}.submissions-section h3{margin-bottom:15px}.submissions-table{width:100%;border-collapse:collapse;background:#fff;border-radius:4px;overflow:hidden}.submissions-table thead{background:#f5f5f5}.submissions-table th,.submissions-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.submissions-table th{font-weight:700;color:#333}.submissions-table tbody tr:hover{background:#f5f5f5}.phonics-section{margin-top:20px}.phonics-start{text-align:center;padding:40px}.phonics-start h3{margin-bottom:30px}.phonics-mode-select{margin-bottom:20px}.phonics-mode-select label{display:block;margin-bottom:10px;font-weight:700}.phonics-latest{margin:20px 0;color:#666;font-size:14px}.start-button{padding:12px 32px;background:#1e88e5;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background .3s}.start-button:hover{background:#1565c0}.phonics-test{max-width:600px;margin:0 auto;padding:30px;background:#fafafa;border-radius:8px}.phonics-progress{text-align:center;margin-bottom:20px;color:#666;font-size:14px}.phonics-question{margin-bottom:30px;text-align:center}.phonics-question h3{font-size:32px;margin-bottom:15px;color:#333}.phonics-question p{font-size:16px;line-height:1.6}.phonics-question audio{width:100%;margin-bottom:15px}.phonics-options{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.phonics-option-label{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border-radius:4px;cursor:pointer;transition:background .2s}.phonics-option-label:hover{background:#e3f2fd}.phonics-option-label input[type=radio]{cursor:pointer}.phonics-next-button{width:100%;padding:12px;background:#1e88e5;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background .3s}.phonics-next-button:hover:not(:disabled){background:#1565c0}.phonics-next-button:disabled{background:#ccc;cursor:not-allowed}.phonics-result{max-width:600px;margin:0 auto;padding:30px;background:#fafafa;border-radius:8px;text-align:center}.phonics-result h3{margin-bottom:30px}.result-metrics{display:flex;justify-content:space-around;margin-bottom:30px}.metric{display:flex;flex-direction:column;gap:10px}.metric label{font-size:14px;color:#666}.metric-value{font-size:32px;font-weight:700;color:#1e88e5}.result-actions{margin-top:30px}.retry-button{padding:12px 24px;background:#1e88e5;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:background .3s}.retry-button:hover{background:#1565c0}.level-test-exams{padding:20px}.exams-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.exams-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.student-selector-inline{display:flex;align-items:center;gap:6px}.student-selector-inline label{font-size:13px;color:#4b5563;font-weight:600}.student-selector-inline .student-id-select{border:1px solid #d1d5db;background:#fff;border-radius:6px;padding:6px 8px;font-size:13px;color:#1f2937}.level-test-exams h1{margin-bottom:0;color:#333}.level-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.level-filter-row label{font-size:13px;color:#4b5563;font-weight:600}.level-filter-row select{border:1px solid #d1d5db;background:#fff;border-radius:6px;padding:6px 8px;font-size:13px;color:#1f2937}.level-filter-count{margin-left:auto;font-size:12px;color:#6b7280}.back-dashboard-btn{border:1px solid #d1d5db;background:#f9fafb;color:#374151;border-radius:6px;padding:7px 10px;font-size:12px;cursor:pointer}.back-dashboard-btn:hover{background:#eef2ff;border-color:#93c5fd}.loading,.error{padding:15px;text-align:center;margin:20px 0;border-radius:4px}.loading{color:#007bff;background-color:#e3f2fd}.error{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb}.no-tests{padding:40px;text-align:center;color:#666;background-color:#f9f9f9;border-radius:8px}.tests-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px}.test-card{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;background:#fff;box-shadow:0 1px 3px #00000014;transition:box-shadow .2s}.test-card:hover{box-shadow:0 4px 8px #00000026}.test-header{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #f0f0f0}.test-header h3{margin:0;color:#333;font-size:13px;line-height:1.35;flex:1;min-width:0;word-break:break-word}.status-badge{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;flex-shrink:0}.status-available{background-color:#28a745;color:#fff}.status-in-progress{background-color:#ffc107;color:#333}.status-completed{background-color:#6c757d;color:#fff}.test-info{margin-bottom:6px;display:grid;grid-template-columns:1fr 1fr;gap:2px 10px}.info-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:2px 0;border-bottom:none;font-size:12px}.info-label{font-weight:600;color:#6b7280;font-size:11px}.info-value{color:#1f2937;font-size:12px;font-weight:500}.test-actions{margin-top:6px;padding-top:6px;border-top:1px solid #f0f0f0}.test-actions button{width:100%;padding:6px;border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-start{background-color:#007bff;color:#fff}.btn-start:hover{background-color:#0056b3}.btn-continue{background-color:#ffc107;color:#333}.btn-continue:hover{background-color:#e0a800}.btn-result{background-color:#6c757d;color:#fff}.btn-result:hover{background-color:#5a6268}.level-test-exams.app-mode{width:100%;max-width:none;margin:0;padding:8px 8px 10px}.level-test-exams.app-mode .exams-header{margin-bottom:8px}.level-test-exams.app-mode h1{margin:0;font-size:20px}.level-test-exams.app-mode .tests-grid{grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:7px;margin-top:0}.level-test-exams.app-mode .test-card{border-radius:8px;padding:8px;box-shadow:0 1px 4px #00000014}.level-test-exams.app-mode .test-header{margin-bottom:6px;padding-bottom:6px}.level-test-exams.app-mode .test-header h3{font-size:13px}.level-test-exams.app-mode .test-info{margin-bottom:6px;display:grid;grid-template-columns:1fr 1fr;gap:3px 8px}.level-test-exams.app-mode .info-item{padding:2px 0;font-size:11px;border-bottom:0;flex-direction:column;align-items:flex-start;gap:1px}.level-test-exams.app-mode .info-label{font-size:10px}.level-test-exams.app-mode .info-value{font-size:11px;font-weight:600}.level-test-exams.app-mode .test-actions{margin-top:6px;padding-top:6px}.level-test-exams.app-mode .test-actions button{padding:6px;font-size:12px}@media (max-width: 600px){.level-test-exams.app-mode{padding:6px 4px 8px}.level-test-exams.app-mode .exams-header{align-items:flex-start;flex-direction:column}.level-test-exams.app-mode h1{font-size:18px}.level-test-exams.app-mode .level-filter-row{padding:6px 8px;gap:6px}.level-test-exams.app-mode .level-filter-row label,.level-test-exams.app-mode .level-filter-row select,.level-test-exams.app-mode .level-filter-count{font-size:12px}.level-test-exams.app-mode .tests-grid{grid-template-columns:1fr;gap:8px}.level-test-exams.app-mode .test-info{grid-template-columns:1fr 1fr;gap:2px 8px}.level-test-exams.app-mode .status-badge{padding:3px 8px;font-size:11px}}.level-test-offline{padding:20px;max-width:960px}.offline-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.offline-header h1{margin:0 0 4px;font-size:1.5rem;color:#1f2937}.offline-subtitle{margin:0;font-size:13px;color:#64748b}.back-btn{border:1px solid #d1d5db;background:#fff;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:13px}.back-btn:hover{background:#f8fafc}.offline-meta-section,.offline-answers-section,.offline-scan-section,.offline-test-info-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-bottom:16px}.offline-meta-section h2,.offline-answers-section h2,.offline-scan-section h2{margin:0 0 12px;font-size:1rem;color:#374151}.offline-test-info-section{padding:10px 14px}.offline-test-info-line{margin:0;font-size:13px;color:#374151;line-height:1.5;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.offline-test-info-line .info-title{font-weight:700;color:#1f2937;margin-right:4px}.offline-test-info-line .info-sep{font-weight:600;color:#6b7280;font-size:12px}.offline-test-info-line .info-val{font-weight:500;color:#111827}.offline-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.meta-field{display:flex;flex-direction:column;gap:4px}.meta-field label{font-size:12px;font-weight:600;color:#4b5563}.meta-field input,.meta-field select{border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;font-size:14px}.offline-hint{margin:12px 0 0;font-size:12px;color:#64748b}.answer-item-short input{width:100%;max-width:120px;border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;font-size:13px}.offline-actions{display:flex;justify-content:flex-end}.offline-mode-tabs{display:flex;gap:8px;margin-bottom:16px}.offline-mode-tabs button{border:1px solid #d1d5db;background:#fff;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:13px}.offline-mode-tabs button.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;font-weight:600}.scan-dir-box{margin-bottom:12px;padding:10px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px}.scan-dir-label{display:block;font-size:11px;font-weight:700;color:#0369a1;margin-bottom:4px}.scan-dir-path{display:block;margin:0 0 6px;padding:8px 10px;background:#fff;border:1px solid #e0f2fe;border-radius:6px;font-size:12px;word-break:break-all;color:#0f172a}.scan-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.link-btn{display:inline-flex;align-items:center;padding:8px 12px;border-radius:6px;background:#eff6ff;color:#1d4ed8;text-decoration:none;font-size:13px}.scan-file-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;max-height:220px;overflow-y:auto}.scan-file-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer}.scan-file-item.selected{border-color:#93c5fd;background:#f0f9ff}.scan-file-name{flex:1;font-size:13px;font-weight:500}.scan-file-meta{font-size:11px;color:#64748b}.parse-btn{margin-bottom:12px}.parse-result{padding:10px 12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.parse-warnings{margin:0 0 8px;padding-left:18px;color:#92400e;font-size:12px}.level-test-offline .loading,.level-test-offline .error{margin-bottom:12px}.level-test-offline .error{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c}.start-mode-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.start-mode-modal{background:#fff;border-radius:12px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 40px #00000026}.start-mode-modal h3{margin:0 0 8px;font-size:1.15rem}.start-mode-modal p{margin:0 0 16px;font-size:13px;color:#64748b}.start-mode-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.start-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.start-mode-btn:hover{border-color:#93c5fd;background:#f0f9ff}.start-mode-btn strong{font-size:15px;color:#1e40af}.start-mode-btn span{font-size:12px;color:#64748b}.start-mode-cancel{width:100%;padding:8px;border:none;background:transparent;color:#64748b;cursor:pointer;font-size:13px}.start-mode-cancel:hover{color:#374151}.lgdp-page{max-width:720px;margin:0 auto;padding:16px;font-size:15px;line-height:1.5;color:#1a1a1a}.lgdp-page h1{font-size:1.25rem;margin:0 0 12px}.lgdp-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:16px}.lgdp-toolbar label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#555}.lgdp-toolbar input,.lgdp-toolbar select{padding:6px 8px;border:1px solid #ccc;border-radius:6px;min-width:120px}.lgdp-btn{padding:8px 14px;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:14px}.lgdp-btn:disabled{opacity:.5;cursor:not-allowed}.lgdp-btn-primary{background:#0d6efd;color:#fff}.lgdp-btn-secondary{background:#e9ecef;color:#212529}.lgdp-btn-confirm{background:#198754;color:#fff}.lgdp-alert{padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:14px}.lgdp-alert-error{background:#f8d7da;color:#842029}.lgdp-alert-info{background:#cff4fc;color:#055160}.lgdp-meta{font-size:12px;color:#666;margin-bottom:12px}.lgdp-audio{margin:8px 0 16px}.lgdp-audio audio{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;overflow:hidden;clip:rect(0,0,0,0);pointer-events:none}.lgdp-audio-custom .lgdp-audio-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:8px}.lgdp-audio-hint{font-size:12px;color:#6c757d;line-height:1.3;max-width:420px}.lgdp-hint-block{margin:12px 0 16px;padding:10px 12px;border:1px solid #e9ecef;border-radius:8px;background:#fafbfc}.lgdp-hint-label{font-size:13px;font-weight:600;margin-bottom:6px}.lgdp-hint-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.lgdp-hint-viewport{overflow:auto;max-width:100%;max-height:min(70vh,640px);border:1px solid #dee2e6;border-radius:6px;background:#fff;touch-action:none;-webkit-user-select:none;user-select:none}.lgdp-hint-scaler{display:inline-block;transition:transform .05s ease-out;will-change:transform}.lgdp-hint-img{display:block;max-width:none;height:auto;vertical-align:top}.lgdp-q{font-weight:600;margin-bottom:12px;white-space:pre-wrap}.lgdp-choices{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.lgdp-choice{text-align:left;padding:12px 14px;border:2px solid #dee2e6;border-radius:8px;background:#fff;cursor:pointer;font-size:14px;transition:border-color .15s,background .15s}.lgdp-choice:hover:not(:disabled){border-color:#86b7fe;background:#f8fbff}.lgdp-choice.selected{border-color:#0d6efd;background:#e7f1ff}.lgdp-choice:disabled{cursor:default;opacity:.85}.lgdp-choice.was-correct{border-color:#198754;background:#d1e7dd}.lgdp-choice.was-wrong{border-color:#dc3545;background:#f8d7da}.lgdp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.lgdp-result{padding:14px;border-radius:8px;margin-bottom:16px;font-weight:700}.lgdp-result.ok{background:#d1e7dd;color:#0f5132}.lgdp-result.bad{background:#f8d7da;color:#842029}.lgdp-review{border:1px solid #ced4da;border-radius:10px;padding:14px;background:#f8f9fa}.lgdp-review h3{margin:0 0 10px;font-size:1rem}.lgdp-passage{white-space:pre-wrap;padding:12px;background:#fff;border-radius:8px;border:1px solid #e9ecef;margin-bottom:16px;font-size:14px;line-height:1.6}.lgdp-passage mark.lgdp-hl{background:#fff3bf;color:inherit;padding:0 2px;border-radius:2px}.lgdp-step{margin-bottom:14px;padding-bottom:14px;border-bottom:1px dashed #dee2e6}.lgdp-step:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.lgdp-step-label{font-size:12px;font-weight:700;color:#495057;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}.lgdp-step-correct .lgdp-step-label{color:#198754}.lgdp-step-wrong .lgdp-step-label{color:#6c757d}.lgdp-confirm-panel{margin:12px 0;padding:12px;background:#fff8e1;border:1px solid #ffc107;border-radius:8px}.lgdp-confirm-panel p{margin:0 0 10px}.lgdp-dg10-aux{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 16px;padding:10px 12px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:10px}.lgdp-dg10-passage{order:1}.lgdp-dg10-stt{order:2}.lgdp-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.lgdp-sheet{max-width:560px;width:100%;max-height:85vh;overflow:auto;background:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 8px 32px #0003}.lgdp-sheet-title{margin:0 0 10px;font-size:1.05rem}.lgdp-passage-sheet-body{margin-bottom:14px}.lgdp-sheet-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.lgdp-stt-preview{font-size:13px;color:#334155;margin:0 0 12px;padding:8px 10px;background:#ecfeff;border-radius:8px;border:1px solid #a5f3fc}.lgdp-stt-label{font-weight:700;margin-right:6px}.ghost-profile-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:28px 24px 40px;background:linear-gradient(160deg,#f0f4ff,#f8fafc 45%,#eef2ff)}.ghost-profile-card{width:100%;max-width:1120px;background:#fff;border-radius:16px;box-shadow:0 12px 40px #0f172a14;padding:28px 32px 36px}.ghost-profile-header{margin-bottom:24px}.ghost-profile-card h1{margin:0 0 10px;font-size:1.5rem;color:#0f172a}.ghost-profile-notice{margin:0;padding:12px 14px;border-radius:10px;background:#eff6ff;color:#1e40af;font-size:.88rem;line-height:1.55}.ghost-profile-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px 36px;align-items:start}.ghost-profile-levels{padding:16px 16px 14px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.ghost-profile-levels-title{margin:0 0 12px;font-size:.92rem;font-weight:700;color:#334155}.ghost-profile-level-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.ghost-profile-level-list li{display:grid;grid-template-columns:8.5rem 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #e2e8f0;font-size:.84rem;line-height:1.45;color:#475569}.ghost-profile-level-list li:nth-last-child(-n+2){border-bottom:none}.ghost-profile-level-list strong{color:#0f172a;font-weight:600}.ghost-profile-self-select{margin:14px 0 0;font-size:.86rem;line-height:1.55;color:#64748b}.ghost-profile-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.ghost-profile-form-grid--password{grid-template-columns:repeat(3,minmax(0,1fr))}.ghost-profile-field{margin-bottom:16px}.ghost-profile-field label{display:block;margin-bottom:6px;font-size:.9rem;font-weight:600;color:#334155}.ghost-profile-field input,.ghost-profile-field select{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:.95rem;background:#fff}.ghost-profile-field input:disabled{background:#f1f5f9;color:#64748b}.ghost-profile-password-wrap{position:relative;display:flex;align-items:center}.ghost-profile-password-wrap input{padding-right:2.75rem}.ghost-profile-password-toggle{position:absolute;right:.35rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.ghost-profile-password-toggle:hover{color:#334155;background:#f1f5f9}.ghost-profile-password-toggle:focus-visible{outline:2px solid #6366f1;outline-offset:1px}.ghost-profile-field select:focus,.ghost-profile-field input:focus{outline:2px solid #6366f1;border-color:#6366f1}.ghost-profile-password-hint{margin:-4px 0 12px;font-size:.84rem;color:#64748b;line-height:1.5}.ghost-profile-password-ok{margin:0 0 12px;color:#15803d;font-size:.9rem}.ghost-profile-submit{width:100%;margin-top:8px;padding:12px 16px;border:none;border-radius:10px;background:#4f46e5;color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.ghost-profile-submit:disabled{opacity:.6;cursor:not-allowed}.ghost-profile-error{margin:0 0 12px;color:#b91c1c;font-size:.9rem}.ghost-profile-loading{min-height:40vh;display:flex;align-items:center;justify-content:center;color:#64748b}.ghost-profile-section-title{margin:18px 0 10px;font-size:.85rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.ghost-profile-section-title:first-child{margin-top:0}@media (max-width: 960px){.ghost-profile-layout,.ghost-profile-level-list{grid-template-columns:1fr}.ghost-profile-level-list li:nth-last-child(-n+2){border-bottom:1px solid #e2e8f0}.ghost-profile-level-list li:last-child{border-bottom:none}.ghost-profile-form-grid,.ghost-profile-form-grid--password{grid-template-columns:1fr}}@media (max-width: 640px){.ghost-profile-page{padding:16px 12px 28px}.ghost-profile-card{padding:20px 16px 24px}.ghost-profile-level-list li{grid-template-columns:1fr;gap:2px}}.parent-dashboard{max-width:1480px;margin:0 auto}.parent-dashboard h2{margin-bottom:12px;color:#1f2937;font-size:26px}.student-info{margin-bottom:14px;color:#6b7280}.dashboard-panel,.dashboard-section{background:#fff;border:1px solid #e6e8ec;border-radius:12px;box-shadow:0 1px 3px #0000000a}.dashboard-panel{padding:14px}.dashboard-calendar-section{margin-bottom:0}.dashboard-top-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin-bottom:16px}.dashboard-top-grid .dashboard-calendar-section{grid-column:span 10}.dashboard-top-grid .kpi-panel{grid-column:span 2}.summary-metrics{display:grid;grid-template-columns:1fr;gap:8px}.metric-card{background:#f8fafc;border:1px solid #edf0f4;padding:10px;border-radius:10px}.metric-label{font-size:13px;color:#6b7280;margin-bottom:4px}.metric-value{font-size:22px;font-weight:700;color:#1f2937}.metric-value.positive{color:#2e7d32}.metric-value.negative{color:#c62828}.dashboard-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-section{padding:12px}.growth-kpi-section{margin-bottom:16px}.two-fixed-groups .fixed-group-panel{min-height:320px;max-height:320px;overflow:auto}.section-header{margin-bottom:10px}.section-header h3{margin:0;color:#1f2937;font-size:18px}.group-quick-links{display:grid;gap:10px}.group-quick-links.row-2{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}.quick-link-card{display:flex;flex-direction:column;align-items:center;padding:10px;min-height:96px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:inherit}.quick-link-card .card-icon{font-size:24px;margin-bottom:6px}.quick-link-card .card-title{font-size:14px;font-weight:700;color:#1f2937;margin-bottom:4px}.quick-link-card .card-description{font-size:12px;color:#6b7280;text-align:center;margin:0}.card-preview{width:100%;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.preview-items{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.preview-tag,.preview-more{display:inline-block;padding:3px 8px;border-radius:10px;font-size:11px}.preview-tag{background:#e3f2fd;color:#1976d2}.preview-more{background:#f5f5f5;color:#666}.preview-text,.preview-item{font-size:12px;color:#666;text-align:center}.dashboard-loading-inline{padding:8px;margin-bottom:8px;background:#eef5ff;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;text-align:center;font-size:12px}.dashboard-error-inline{padding:10px;margin-bottom:12px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;color:#856404}.dashboard-error{text-align:center;padding:40px;background:#fff;border-radius:8px;border:1px solid #e6e8ec}.empty-message{padding:10px;text-align:center;color:#6b7280}@media (max-width: 900px){.dashboard-top-grid{grid-template-columns:1fr}.dashboard-top-grid .dashboard-calendar-section,.dashboard-top-grid .kpi-panel{grid-column:span 12}.dashboard-sections,.group-quick-links.row-2{grid-template-columns:1fr}.two-fixed-groups .fixed-group-panel{min-height:auto;max-height:none}}.parent-grades{padding:20px;max-width:1400px;margin:0 auto}.parent-grades h2{margin-bottom:20px;color:#333}.grades-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.grades-content{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.trend-controls{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.trend-controls label{display:block;margin-bottom:10px;font-weight:600;color:#333}.domain-selector{display:flex;flex-wrap:wrap;gap:10px}.domain-checkbox{display:flex;align-items:center;gap:5px;padding:8px 12px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;transition:all .2s}.domain-checkbox:hover{border-color:#1e88e5;background:#e3f2fd}.domain-checkbox input[type=checkbox]{cursor:pointer}.domain-checkbox input[type=checkbox]:checked+span{font-weight:600;color:#1e88e5}.trend-chart-placeholder{margin-bottom:30px}.trend-chart-placeholder h3{margin-bottom:15px;color:#333;font-size:20px}.placeholder-note{padding:15px;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;color:#856404;margin-bottom:20px;font-size:14px}.trend-data-preview{overflow-x:auto}.trend-table{width:100%;border-collapse:collapse;font-size:14px}.trend-table th,.trend-table td{padding:10px;text-align:left;border-bottom:1px solid #e0e0e0}.trend-table th{background:#f8f9fa;font-weight:600;color:#333}.trend-table tbody tr:hover{background:#f8f9fa}.trend-details{margin-top:30px}.trend-details summary{padding:15px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;font-weight:600;color:#333;-webkit-user-select:none;user-select:none}.trend-details summary:hover{background:#e3f2fd;border-color:#1e88e5}.trend-table-container{margin-top:15px;overflow-x:auto}.priority-controls{display:flex;gap:30px;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:10px}.control-group label{font-weight:600;color:#333;white-space:nowrap}.control-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;cursor:pointer}.control-select:focus{outline:none;border-color:#1e88e5}.control-slider{width:150px}.slider-value{min-width:30px;text-align:center;font-weight:600;color:#1e88e5}.priority-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-metric{background:#f8f9fa;padding:20px;border-radius:8px;text-align:center;border:1px solid #e0e0e0}.metric-value{font-size:24px;font-weight:700;color:#333}.priority-table-container{margin-bottom:30px}.priority-table-container h3{margin-bottom:15px;color:#333;font-size:20px}.priority-table{width:100%;border-collapse:collapse;font-size:14px}.priority-table th,.priority-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.priority-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.priority-table tbody tr:hover{background:#f8f9fa}.priority-chart-placeholder{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.priority-chart-placeholder h3{margin-bottom:15px;color:#333;font-size:20px}.parent-learning{padding:20px;max-width:1400px;margin:0 auto}.parent-learning h2{margin-bottom:20px;color:#333}.learning-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.learning-content{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.focus-header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.focus-header h3{margin:0 0 10px;color:#333;font-size:22px}.focus-description{color:#7f8c8d;font-size:14px;margin:0}.focus-table-container{overflow-x:auto;margin-top:20px}.focus-table{width:100%;border-collapse:collapse;font-size:14px}.focus-table th,.focus-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.focus-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.focus-table tbody tr:hover{background:#f8f9fa}.focus-table .domain-name{font-weight:600;color:#333}.focus-table .recommended-focus{color:#7f8c8d;font-size:13px}.materials-section{padding:0}.materials-header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.materials-header h3{margin:0 0 10px;color:#333;font-size:22px}.materials-note{margin:0 0 20px;color:#7f8c8d;font-size:13px;font-style:italic}.materials-table-container{overflow-x:auto;margin-top:15px}.materials-table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border-radius:4px;overflow:hidden}.materials-table th,.materials-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.materials-table th{background:#f5f5f5;font-weight:600;color:#333;position:sticky;top:0}.materials-table tbody tr:hover{background:#f8f9fa}.materials-table .domain-name{font-weight:600;color:#333}.materials-table .materials-note-cell{color:#7f8c8d;font-size:12px}.materials-content{color:#333;line-height:1.8;font-size:14px}.materials-message{margin:0 0 15px;padding:15px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.materials-domains{margin-top:15px;padding:15px;background:#fff;border-radius:6px;border:1px solid #e0e0e0}.materials-domains p{margin:0;color:#333;font-size:14px}.materials-domains strong{color:#1e88e5;font-weight:600}.calendar-header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.calendar-header h3{margin:0 0 10px;color:#333;font-size:22px}.calendar-description{color:#7f8c8d;font-size:14px;margin:0}.weekly-goals-section{margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.weekly-goals-section h4{margin:0 0 15px;color:#333;font-size:18px}.goals-content{color:#333;line-height:1.8;font-size:14px}.goals-content strong{color:#1e88e5;font-weight:600}.calendar-plan-section{margin-top:30px}.calendar-plan-section h4{margin:0 0 20px;color:#333;font-size:18px}.calendar-plan-content{display:grid;gap:15px}.day-plan-card{padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0;border-left:4px solid #1E88E5}.day-plan-content{color:#333;line-height:1.8;font-size:14px}.day-plan-content strong{color:#1e88e5;font-weight:600}.homework-header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.homework-header h3{margin:0 0 10px;color:#333;font-size:22px}.homework-description{color:#7f8c8d;font-size:14px;margin:0}.homework-checklist{display:flex;flex-direction:column;gap:15px;margin-top:20px}.homework-item{display:flex;align-items:flex-start;gap:12px;padding:15px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0;cursor:default;transition:all .2s}.homework-item:hover{border-color:#1e88e5;background:#e3f2fd}.homework-item input[type=checkbox]{margin-top:2px;width:18px;height:18px;cursor:not-allowed;flex-shrink:0;opacity:.5}.homework-item input[type=checkbox]:disabled{cursor:not-allowed}.homework-item span{flex:1;color:#333;font-size:14px;line-height:1.6}.homework-item span.checked{text-decoration:line-through;color:#7f8c8d}.parent-notices{padding:20px;max-width:1400px;margin:0 auto}.parent-notices h2{margin-bottom:20px;color:#333}.student-info{margin-bottom:20px;padding:10px;background:#e3f2fd;border-radius:4px;color:#1976d2}.student-info p{margin:0}.student-info strong{font-weight:700}.notices-tabs{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid #e0e0e0}.tab-button{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;font-size:16px;font-weight:600;color:#7f8c8d;cursor:pointer;transition:all .2s;margin-bottom:-2px}.tab-button:hover{color:#1e88e5}.tab-button.active{color:#1e88e5;border-bottom-color:#1e88e5}.notices-content{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.loading-message,.error-message{text-align:center;padding:40px;color:#7f8c8d}.error-message button{margin-top:15px;padding:10px 20px;background-color:#1e88e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.error-message button:hover{background-color:#1565c0}.empty-message{text-align:center;padding:40px;color:#7f8c8d;font-size:16px}.attendance-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#f8f9fa;padding:20px;border-radius:8px;text-align:center;border:1px solid #e0e0e0}.summary-label{font-size:13px;color:#7f8c8d;margin-bottom:8px}.summary-value{font-size:28px;font-weight:700;color:#333}.summary-value.positive{color:#2e7d32}.summary-value.negative{color:#c62828}.summary-value.warning{color:#f57c00}.attendance-filter{margin-bottom:20px;display:flex;align-items:center;gap:10px}.attendance-filter label{font-weight:600;color:#333}.filter-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;cursor:pointer}.filter-select:focus{outline:none;border-color:#1e88e5}.attendance-table-container{overflow-x:auto;margin-top:20px}.attendance-table{width:100%;border-collapse:collapse;font-size:14px}.attendance-table th,.attendance-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.attendance-table th{background:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.attendance-table tbody tr:hover{background:#f8f9fa}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.status-present{background:#e8f5e9;color:#2e7d32}.status-badge.status-absent{background:#ffebee;color:#c62828}.status-badge.status-late{background:#fff3e0;color:#f57c00}.counsel-header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.counsel-header h3{margin:0 0 10px;color:#333;font-size:22px}.counsel-description{color:#7f8c8d;font-size:14px;margin:0}.counsel-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.counsel-metric{background:#f8f9fa;padding:20px;border-radius:8px;text-align:center;border:1px solid #e0e0e0}.metric-label{font-size:13px;color:#7f8c8d;margin-bottom:8px}.metric-value{font-size:24px;font-weight:700;color:#1e88e5}.counsel-content{margin-top:30px}.counsel-line{margin-bottom:15px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #1E88E5}.counsel-line p{margin:0;color:#333;line-height:1.6;font-size:14px}.manager-dashboard{max-width:1400px;margin:0 auto}.manager-dashboard h2{margin-bottom:30px;color:#2c3e50;font-size:28px}.dashboard-calendar-section{margin-bottom:30px}.manager-menu-tabs{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap;border-bottom:2px solid #e0e0e0;padding-bottom:10px}.menu-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:8px 8px 0 0;cursor:pointer;transition:all .2s;font-size:14px;color:#7f8c8d;border-bottom:none;margin-bottom:-2px}.menu-tab:hover{background:#f8f9fa;color:#2c3e50}.menu-tab.active{background:#3498db;color:#fff;border-color:#3498db;font-weight:600}.menu-icon{font-size:18px}.menu-label{font-size:14px}.manager-content{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;min-height:400px}.manager-dashboard-content h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:24px}.manager-dashboard-content p{color:#7f8c8d;margin-bottom:30px;font-size:16px}.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.info-card{background:#f8f9fa;padding:25px;border-radius:8px;border:1px solid #e0e0e0;text-align:center;transition:transform .2s,box-shadow .2s}.info-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.info-icon{font-size:48px;margin-bottom:15px}.info-label{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:10px}.info-description{font-size:14px;color:#7f8c8d;margin:0}.notice-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:20px;margin-top:30px}.notice-box h4{margin-top:0;margin-bottom:10px;color:#856404;font-size:18px}.notice-box p{margin:5px 0;color:#856404;font-size:14px}.manager-section{padding:20px 0}.manager-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:24px}.coming-soon{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:18px;background:#f8f9fa;border-radius:8px;border:2px dashed #e0e0e0}.dashboard-description{color:#7f8c8d;margin-bottom:30px;font-size:16px}.dashboard-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:30px}.dashboard-group-title{margin:10px 0 16px;font-size:18px;color:#2c3e50}.feature-card{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;text-align:center}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.feature-icon{font-size:48px;margin-bottom:15px}.feature-title{font-size:18px;font-weight:600;color:#2c3e50;margin-bottom:10px}.feature-description{font-size:14px;color:#7f8c8d;line-height:1.6;margin:0}.summary-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:30px}.summary-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}@media (max-width: 768px){.manager-menu-tabs{flex-direction:column}.menu-tab{width:100%;justify-content:center;border-radius:8px;margin-bottom:5px}.info-cards{grid-template-columns:1fr}}.norm-groups-page{max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h2{margin:0;color:#2c3e50;font-size:28px}.btn-secondary{padding:10px 20px;background-color:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .2s}.btn-secondary:hover{background-color:#7f8c8d}.create-form-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.create-form-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.form-group input,.form-group textarea{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.form-actions{display:flex;gap:10px;margin-top:25px}.empty-message p{margin:10px 0}.groups-list{display:grid;gap:20px}.group-card{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:transform .2s,box-shadow .2s}.group-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.group-header h3{margin:0;color:#2c3e50;font-size:20px}.group-id{color:#7f8c8d;font-size:12px;font-family:monospace}.group-description{color:#7f8c8d;margin-bottom:15px;line-height:1.6}.group-info{display:flex;gap:30px;margin-bottom:20px;flex-wrap:wrap}.group-actions{display:flex;gap:10px}.norm-calculate-page{max-width:1200px;margin:0 auto}.norm-calculate-page h2{margin-bottom:10px;color:#2c3e50;font-size:28px}.calculate-form-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.calculate-form-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.success-message{background:#efe;border:1px solid #cfc;border-radius:8px;padding:15px;margin-bottom:20px;color:#3c3}.result-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.result-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.result-card{background:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #e0e0e0;text-align:center}.result-label{color:#7f8c8d;font-size:13px;margin-bottom:8px}.result-value{color:#2c3e50;font-size:24px;font-weight:700}.percentiles-section{margin-top:30px;padding-top:30px;border-top:1px solid #e0e0e0}.percentiles-section h4{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:18px}.percentiles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.percentile-item{display:flex;justify-content:space-between;padding:10px;background:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.percentile-label{color:#7f8c8d;font-size:13px}.percentile-value{color:#2c3e50;font-weight:600;font-size:14px}.norm-statistics-page{max-width:1200px;margin:0 auto}.norm-statistics-page h2{margin-bottom:10px;color:#2c3e50;font-size:28px}.group-selector-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.group-selector-section label{display:block;margin-bottom:10px;color:#2c3e50;font-weight:600;font-size:14px}.group-select{width:100%;max-width:500px;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit}.group-select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.statistics-content{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.statistics-content h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.statistics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #e0e0e0;text-align:center}.stat-label{color:#7f8c8d;font-size:14px;margin-bottom:10px}.stat-value{color:#2c3e50;font-size:32px;font-weight:700}.group-details-section{margin-top:30px;padding-top:30px;border-top:1px solid #e0e0e0}.group-details-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.details-table-container{overflow-x:auto}.details-table{width:100%;border-collapse:collapse;font-size:14px}.details-table th,.details-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.details-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.details-table tbody tr:hover{background:#f8f9fa}.student-comparison-page{max-width:1200px;margin:0 auto}.student-comparison-page h2{margin-bottom:10px;color:#2c3e50;font-size:28px}.comparison-form-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.comparison-form-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.form-group label{display:block;margin-bottom:10px;color:#2c3e50;font-weight:600;font-size:14px}.student-ids-list{display:flex;flex-direction:column;gap:10px}.student-id-input{display:flex;gap:10px;align-items:center}.student-id-input input{flex:1;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px}.student-id-input input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.btn-remove{padding:8px 16px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;white-space:nowrap}.btn-remove:hover{background-color:#c0392b}.btn-add{padding:8px 16px;background-color:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;align-self:flex-start}.btn-add:hover{background-color:#7f8c8d}.form-group input[type=text]{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px}.form-group input[type=text]:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.comparison-result-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.comparison-result-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.comparison-table-container{overflow-x:auto;margin-bottom:30px}.comparison-table{width:100%;border-collapse:collapse;font-size:14px}.comparison-table th,.comparison-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.comparison-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.comparison-table tbody tr:hover{background:#f8f9fa}.student-id-cell{font-weight:600;color:#2c3e50}.comparison-summary{margin-top:30px;padding-top:30px;border-top:1px solid #e0e0e0}.comparison-summary h4{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:18px}.summary-item{display:flex;justify-content:space-between;padding:12px;background:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.summary-label{color:#7f8c8d;font-size:14px}.summary-value{color:#2c3e50;font-weight:600;font-size:14px}.bn-mapping-page{max-width:1400px;margin:0 auto}.bn-mapping-page h2{margin-bottom:10px;color:#2c3e50;font-size:28px}.error-message button{margin-top:10px;padding:8px 16px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.error-message button:hover{background-color:#c0392b}.loading-message,.empty-message{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:16px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.mappings-content{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.mappings-content h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.models-list{display:grid;gap:20px;margin-bottom:40px}.model-card{background:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #e0e0e0}.model-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.model-header h4{margin:0;color:#2c3e50;font-size:18px}.model-id{color:#7f8c8d;font-size:12px;font-family:monospace}.model-description{color:#7f8c8d;margin-bottom:15px;line-height:1.6}.model-info{display:flex;gap:30px;flex-wrap:wrap}.info-item{display:flex;gap:8px}.info-label{color:#7f8c8d;font-size:14px}.info-value{color:#2c3e50;font-weight:600;font-size:14px}.nodes-section,.edges-section{margin-top:40px;padding-top:40px;border-top:1px solid #e0e0e0}.nodes-section h3,.edges-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.nodes-table-container,.edges-table-container{overflow-x:auto}.nodes-table,.edges-table{width:100%;border-collapse:collapse;font-size:14px}.nodes-table th,.nodes-table td,.edges-table th,.edges-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.nodes-table th,.edges-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.nodes-table tbody tr:hover,.edges-table tbody tr:hover{background:#f8f9fa}.csat-analysis-page{max-width:1200px;margin:0 auto}.csat-analysis-page h2{margin-bottom:10px;color:#2c3e50;font-size:28px}.page-description{color:#7f8c8d;margin-bottom:30px;font-size:16px}.analysis-form-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.analysis-form-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#2c3e50;font-weight:600;font-size:14px}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.form-actions{margin-top:25px}.btn-primary{padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-primary:disabled{background-color:#95a5a6;cursor:not-allowed}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;padding:15px;margin-bottom:20px;color:#c33}.analysis-result-section{background:#fff;padding:25px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.analysis-result-section h3{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:20px}.summary-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #e0e0e0}.summary-section h4{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:18px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.summary-card{background:#f8f9fa;padding:15px;border-radius:8px;border:1px solid #e0e0e0;text-align:center}.summary-label{color:#7f8c8d;font-size:13px;margin-bottom:8px;display:block}.summary-value{color:#2c3e50;font-size:20px;font-weight:700}.by-area-section{margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #e0e0e0}.by-area-section h4{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:18px}.area-card{background:#f8f9fa;padding:20px;border-radius:8px;border:1px solid #e0e0e0;margin-bottom:15px}.area-card h5{margin-top:0;margin-bottom:15px;color:#2c3e50;font-size:16px}.area-statistics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stat-item{display:flex;justify-content:space-between;padding:10px;background:#fff;border-radius:4px;border:1px solid #e0e0e0}.stat-label{color:#7f8c8d;font-size:13px}.stat-value{color:#2c3e50;font-weight:600;font-size:14px}.distribution-section{margin-top:30px}.distribution-section h4{margin-top:0;margin-bottom:20px;color:#2c3e50;font-size:18px}.distribution-table-container{overflow-x:auto}.distribution-table{width:100%;border-collapse:collapse;font-size:14px}.distribution-table th,.distribution-table td{padding:12px;text-align:left;border-bottom:1px solid #e0e0e0}.distribution-table th{background:#f8f9fa;font-weight:600;color:#2c3e50;position:sticky;top:0}.distribution-table tbody tr:hover{background:#f8f9fa}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(165deg,#0a0f1e,#12192a 42%,#0d121f)}.login-card{width:100%;max-width:420px;background:#fff;border-radius:16px;box-shadow:0 24px 48px #00000059;padding:2.25rem 2rem 1.75rem}.login-brand{text-align:center;margin-bottom:.35rem}.login-logo{display:block;margin:0 auto .75rem;max-width:min(280px,88vw);width:auto;height:auto;max-height:132px;object-fit:contain}.login-title-screenreader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-tagline{font-size:.8125rem;color:#6b7280;margin-top:.15rem;line-height:1.45}.login-pilot-hints{margin:.75rem 0 0;padding-left:1.1rem;font-size:.75rem;line-height:1.45;color:#4b5563}.login-footer code{font-size:.72rem;background:#f3f4f6;padding:.1rem .35rem;border-radius:4px}.login-social-disabled button:disabled{opacity:.45;cursor:not-allowed}.login-tabs{display:flex;gap:.5rem;margin-top:1.25rem}.login-tab{flex:1;padding:.55rem .75rem;font-size:.875rem;font-weight:600;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#374151;cursor:pointer}.login-tab.active{background:#111827;color:#fff;border-color:#111827}.login-field select{width:100%;padding:.65rem .75rem;font-size:.9375rem;border:1px solid #d1d5db;border-radius:8px;background:#fff}.login-issued{margin-top:1rem;font-size:.875rem;color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;padding:.65rem .75rem}.login-banner{margin-top:1rem;padding:.65rem .75rem;font-size:.75rem;line-height:1.4;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px}.login-form{margin-top:1.5rem;display:flex;flex-direction:column;gap:1rem}.login-field label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:.35rem}.login-field input{width:100%;padding:.65rem .75rem;font-size:.9375rem;border:1px solid #d1d5db;border-radius:8px;transition:border-color .15s,box-shadow .15s}.login-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.login-password-wrap{position:relative;display:flex;align-items:center}.login-password-wrap input{width:100%;padding-right:2.75rem}.login-password-toggle{position:absolute;right:.35rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer}.login-password-toggle:hover{color:#374151;background:#f3f4f6}.login-password-toggle:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}.login-primary{margin-top:.25rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:600;color:#fff;background:#2563eb;border:none;border-radius:8px;cursor:pointer;transition:background .15s}.login-primary:hover{background:#1d4ed8}.login-primary:active{background:#1e40af}.login-divider{display:flex;align-items:center;gap:.75rem;margin:.25rem 0 0;color:#9ca3af;font-size:.75rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.login-social{display:flex;flex-direction:column;gap:.6rem}.login-social button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1rem;font-size:.875rem;font-weight:600;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:opacity .15s,transform .05s}.login-social button:active{transform:scale(.99)}.login-social button:hover{opacity:.92}.login-kakao{background:#fee500;color:#191919}.login-google{background:#fff;color:#1f1f1f;border-color:#dadce0}.login-google:hover{background:#f8f9fa}.login-hint{margin:.5rem 0 0;font-size:.8125rem;line-height:1.55;color:#6b7280}.login-feedback{margin-top:.75rem;padding:.6rem .75rem;font-size:.8125rem;line-height:1.45;color:#1e40af;background:#eff6ff;border-radius:8px;border:1px solid #bfdbfe}.login-footer{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #e5e7eb;text-align:center}.login-footer a{font-size:.8125rem;color:#6b7280;text-decoration:underline;text-underline-offset:2px}.login-footer a:hover{color:#374151}.App{text-align:center}.App-header{background-color:#282c34;padding:20px;color:#fff;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin)}.App-header h1{margin:0 0 20px}.App-header p{margin:10px 0;font-size:18px}.status-section{margin:30px 0;padding:20px;background-color:#ffffff1a;border-radius:10px;max-width:800px}.status-item{margin:15px 0;font-size:16px;text-align:left}.status-item pre{background-color:#0000004d;padding:10px;border-radius:5px;overflow-x:auto;font-size:12px;margin-top:10px}.info-section{margin-top:30px;padding:20px;background-color:#ffffff1a;border-radius:10px;max-width:600px}.info-section h3{margin-bottom:15px}.info-section ol{margin-left:20px}.info-section li{margin:10px 0;font-size:16px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
