:root{--bg-app:#f8fafc;--bg-panel:#fff;--bg-subtle:#f1f5f9;--bg-muted:#e2e8f0;--border-subtle:#e2e8f0;--border-strong:#cbd5e1;--text-main:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent-primary:#1e293b;--accent-primary-hover:#0f172a;--accent-blue:#2563eb;--accent-blue-subtle:#eff6ff;--accent-blue-border:#bfdbfe;--status-success-text:#15803d;--status-success-bg:#f0fdf4;--status-success-border:#bbf7d0;--status-warning-text:#b45309;--status-warning-bg:#fffbeb;--status-warning-border:#fde68a;--status-danger-text:#b91c1c;--status-danger-bg:#fef2f2;--status-danger-border:#fecaca;--status-neutral-text:#475569;--status-neutral-bg:#f1f5f9;--status-neutral-border:#e2e8f0;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-subtle:0 1px 2px #0000000a;--shadow-panel:0 1px 3px #0000000d, 0 1px 2px #00000008;--shadow-popover:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a}[data-theme=dark]{--bg-app:#090d16;--bg-panel:#0f172a;--bg-subtle:#1e293b;--bg-muted:#334155;--border-subtle:#1e293b;--border-strong:#334155;--text-main:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--accent-primary:#f8fafc;--accent-primary-hover:#fff;--accent-blue:#3b82f6;--accent-blue-subtle:#172554;--accent-blue-border:#1e40af;--status-success-text:#86efac;--status-success-bg:#052e16;--status-success-border:#14532d;--status-warning-text:#fde68a;--status-warning-bg:#451a03;--status-warning-border:#78350f;--status-danger-text:#fca5a5;--status-danger-bg:#450a0a;--status-danger-border:#7f1d1d;--status-neutral-text:#cbd5e1;--status-neutral-bg:#1e293b;--status-neutral-border:#334155}*{box-sizing:border-box}html,body{max-width:100%}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;margin:0;font-size:13.5px;line-height:1.5;transition:background-color .15s,color .15s}:focus-visible{outline:2px solid var(--accent-blue,#2563eb)!important;outline-offset:2px!important}h1,h2,h3,h4,h5,h6,p,span,a,label,li,td,th{overflow-wrap:break-word}.app-shell-root,.app-shell-topbar,.app-shell-navbar,.app-shell-main{box-sizing:border-box;max-width:100%}button,input,select,textarea{font:inherit}.shell{background-color:var(--bg-app);place-items:center;min-height:100vh;padding:32px 18px;display:grid}.card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:min(100%,880px);box-shadow:var(--shadow-panel);color:var(--text-main);padding:clamp(24px,4vw,40px)}.login-card{max-width:480px}.eyebrow{color:var(--accent-blue);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:700}h1{letter-spacing:-.025em;color:var(--text-main);margin:0;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1}h2{letter-spacing:-.015em;color:var(--text-main);margin:0 0 12px;font-size:1.25rem}h3{color:var(--text-main);margin:0 0 8px;font-size:1.05rem}.lede{color:var(--text-secondary);margin:12px 0 24px;font-size:.95rem}form{gap:16px;display:grid}label{color:var(--text-secondary);gap:6px;font-size:.88rem;font-weight:600;display:grid}input,select,textarea{border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;color:var(--text-main);background:var(--bg-panel);padding:9px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue-border);outline:none}button{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-main);cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}button:hover{background:var(--bg-subtle);border-color:var(--border-strong);color:var(--text-main)}button:disabled{opacity:.45;cursor:not-allowed}form button[type=submit]{background:var(--accent-primary);color:var(--bg-panel);border-color:var(--accent-primary);font-weight:600}form button[type=submit]:hover{background:var(--accent-primary-hover)}.error{color:var(--status-danger-text);background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:var(--radius-md);margin:0;padding:10px 14px;font-size:12.5px}.success-msg{color:var(--status-success-text);background:var(--status-success-bg);border:1px solid var(--status-success-border);border-radius:var(--radius-md);margin:0;padding:10px 14px;font-size:12.5px}.workspace header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.identity{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:6px 12px;font-size:.85rem}.create-form{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:end;padding-bottom:24px}.list{gap:10px;margin-top:20px;display:grid}.list article{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);padding:14px 16px;transition:border-color .15s}.list article:hover{border-color:var(--border-strong)}.list h2{color:var(--text-main);margin:0;font-size:1rem}.list article p,.empty{color:var(--text-muted);margin:4px 0 0;font-size:.88rem}@media (width<=620px){.workspace header{display:grid}.create-form{grid-template-columns:1fr}.create-form button{width:100%}}.text-button{color:var(--accent-blue);background:0 0;border:none;border-radius:0;padding:0;font-size:13px;font-weight:500}.text-button:hover{color:var(--accent-blue);background:0 0;text-decoration:underline}.btn-action{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-main);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex}.btn-action:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.btn-action-primary{background:var(--accent-blue,#2563eb);color:#fff;border-color:var(--accent-blue,#2563eb)}.btn-action-primary:hover{background:#1d4ed8;border-color:#1d4ed8}.btn-action-secondary{background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-weight:500;transition:all .15s;display:inline-flex}.btn-action-secondary:hover{background:var(--bg-subtle);color:var(--text-main);border-color:var(--border-strong)}.btn-action-secondary.active{background:var(--bg-muted);color:var(--text-main);border-color:var(--border-strong);box-shadow:inset 0 1px 2px #0000000a}.icon-btn{border:1px solid var(--border-subtle);background:var(--bg-panel);width:30px;height:30px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.icon-btn:hover{background:var(--bg-subtle);color:var(--text-main);border-color:var(--border-strong)}.btn-action-danger{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.btn-action-danger:hover{color:#fff;background:#dc2626;border-color:#dc2626}.icon-btn-danger:hover{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-border)}.tag-neutral{border-radius:var(--radius-sm);background:var(--status-neutral-bg);color:var(--status-neutral-text);border:1px solid var(--status-neutral-border);align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.tag-success{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.tag-warning{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:500;display:inline-flex}.user-item{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.user-info{align-items:center;gap:12px;display:flex}.status-badge{border-radius:var(--radius-sm);letter-spacing:.02em;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge:before{content:"";border-radius:50%;width:6px;height:6px;display:inline-block}.status-pending{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.status-pending:before{background:var(--status-warning-text)}.status-approved{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.status-approved:before{background:var(--status-success-text)}.status-rejected{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.status-rejected:before{background:var(--status-danger-text)}.user-actions{gap:8px;display:flex}.action-button{border-radius:var(--radius-sm);padding:5px 10px;font-size:12px}.action-button.approve{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.action-button.approve:hover{background:var(--status-success-border)}.action-button.reject{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.action-button.reject:hover{background:var(--status-danger-border)}.select-input{cursor:pointer}.invite-box{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px}.membership-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px}.job-section{background:#f8faff;border:1px solid #dce4f2;border-radius:16px;margin-bottom:40px;padding:24px}.job-progress-wrapper{background:#e2e8f0;border-radius:999px;width:100%;height:14px;margin:12px 0 6px;overflow:hidden}.job-progress-fill{background:#205dcc;height:100%;transition:width .3s}.job-progress-fill.status-completed{background:#28a745}.job-progress-fill.status-failed{background:#dc3545}.job-progress-fill.status-cancelled{background:#ffc107}.status-queued{color:#475569;background:#e2e8f0}.status-running{color:#004085;background:#cce5ff}.status-completed{color:#155724;background:#d4edda}.status-cancelled{color:#856404;background:#fff3cd}.status-failed{color:#721c24;background:#f8d7da}.job-item-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-top:10px;padding:12px 14px}.btn-group{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.material-section{border-top:1px solid #e2e8f0;margin-top:14px;padding-top:14px}.material-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;display:flex}.material-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.version-badge{color:#3730a3;background:#e0e7ff;border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:700}.material-viewer{background:#fff;border:2px solid #205dcc;border-radius:14px;margin-top:18px;padding:20px;box-shadow:0 10px 30px #205dcc14}.material-viewer-header{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:14px;display:flex}.viewer-nav{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.locator-badge{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.material-page-content{white-space:pre-wrap;word-break:break-word;color:#1e293b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;max-height:500px;margin-top:14px;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;line-height:1.6;overflow-y:auto}.empty-page-note{color:#64748b;text-align:center;padding:24px;font-style:italic}.recovery-banner{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;margin-bottom:20px;padding:16px}.audit-table{border-collapse:collapse;width:100%;margin-top:10px;font-size:.85rem}.audit-table th,.audit-table td{text-align:left;border:1px solid #e2e8f0;padding:8px 10px}.audit-table th{background:#f1f5f9;font-weight:600}.audit-table tr:nth-child(2n){background:#f8fafc}.outbox-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:8px;padding:12px 14px}.role-tag{text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-block}.role-owner{color:#1e40af;background:#dbeafe}.role-colleague{color:#92400e;background:#fef3c7}.colleagues-box,.transfer-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;margin-top:12px;padding:14px}.transfer-pending-banner{background:#eff6ff;border:1px solid #93c5fd;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:12px 16px;display:flex}.content-map-section{background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;margin-top:16px;padding:18px}.content-map-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.topic-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:16px;box-shadow:0 1px 3px #0000000d}.topic-header{border-bottom:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;display:flex}.element-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:10px;padding:12px 14px}.element-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.fragment-link-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #3b82f6;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:10px;margin-top:6px;padding:10px 12px;display:flex}.fragment-link-card.status-proposed{border-left-color:#f59e0b}.conflict-card{background:#fff;border:2px solid #ef4444;border-radius:12px;margin-top:14px;padding:16px;box-shadow:0 4px 12px #ef444414}.conflict-card.resolved{border-color:#10b981;box-shadow:0 4px 12px #10b98114}.conflict-card.requires_recheck{border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b1f}.conflict-side-by-side{grid-template-columns:1fr 1fr;gap:14px;margin:14px 0;display:grid}@media (width<=768px){.conflict-side-by-side{grid-template-columns:1fr}}.conflict-side-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.conflict-side-box.chosen{background:#f0fdf4;border:2px solid #10b981}.conflict-side-box.excluded{opacity:.7;border:1px dashed #ef4444}.conflict-excerpt{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #cbd5e1;border-radius:6px;max-height:180px;margin-top:8px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;overflow-y:auto}.conflict-history-box{border-top:1px dashed #cbd5e1;margin-top:12px;padding-top:10px;font-size:.85rem}.badge-recheck{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.badge-detected{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.badge-resolved{color:#166534;background:#dcfce7;border:1px solid #86efac}.gen-context-modal{background:#fff;border:2px solid #3b82f6;border-radius:12px;margin-top:16px;padding:20px;box-shadow:0 10px 25px #0000001a}.gen-chunk-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:8px;padding:12px}.blocked-chunk-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:8px;padding:12px}.ocr-review-container{grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;display:grid}@media (width<=900px){.ocr-review-container{grid-template-columns:1fr}}.ocr-page-image-box{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;align-items:center;max-height:650px;padding:12px;display:flex;overflow:auto}.ocr-page-image{background:#fff;border-radius:4px;max-width:100%;height:auto;box-shadow:0 4px 6px -1px #0000001a}.ocr-editor-box{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.ocr-disclaimer{color:#854d0e;background:#fefce8;border:1px solid #fef08a;border-radius:6px;padding:8px 12px;font-size:.85rem;line-height:1.4}.ocr-confidence-meter{border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.ocr-textarea{resize:vertical;border:1px solid #cbd5e1;border-radius:6px;width:100%;min-height:280px;padding:10px;font-family:monospace;font-size:.9rem;line-height:1.5}.ocr-review-buttons{flex-wrap:wrap;gap:8px;display:flex}.ocr-flagged-pills{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.visibility-badge{border-radius:9999px;align-items:center;gap:4px;padding:3px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.visibility-private{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.visibility-shared{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.author-badge{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.8rem;display:inline-flex}.pinned-material-item{background:#f8fafc;border:1px solid #94a3b8;border-left:4px solid #3b82f6;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.pin-update-banner{background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.pin-revoked-banner{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5;border-radius:6px;padding:8px 12px;font-size:.85rem;font-weight:500}.sharing-modal-overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.sharing-modal-card{background:#fff;border-radius:12px;width:100%;max-width:580px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.share-colleague-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;display:flex}.visuals-container{flex-direction:column;gap:16px;margin-top:12px;display:flex}.visuals-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.visuals-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.visuals-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.visual-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:12px;padding:16px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0000000d}.visual-card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a}.visual-card-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.visual-type-badge{border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.visual-preview-box{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:180px;max-height:280px;padding:10px;display:flex;overflow:auto}.visual-img-thumb{object-fit:contain;cursor:pointer;border-radius:4px;max-width:100%;max-height:240px;transition:transform .15s}.visual-img-thumb:hover{transform:scale(1.02)}.visual-table-preview{width:100%;font-size:.82rem;overflow-x:auto}.visual-table-preview table{border-collapse:collapse;width:100%}.visual-table-preview th,.visual-table-preview td{text-align:left;border:1px solid #cbd5e1;padding:6px 8px}.visual-table-preview th{background:#e2e8f0;font-weight:600}.visual-formula-preview{text-align:center;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:12px;font-family:Cambria Math,Latin Modern Math,KaTeX_Main,Georgia,serif;font-size:1.15rem;overflow-x:auto}.visual-unsupported-preview{color:#9a3412;background:#fff7ed;border:1px solid #ffedd5;border-radius:6px;width:100%;padding:12px;font-size:.85rem}.visual-provenance-box{color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;padding:8px 10px;font-size:.78rem;line-height:1.4}.visual-actions-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.safe-student-modal-card{background:#fff;border-radius:12px;width:100%;max-width:600px;padding:24px;box-shadow:0 20px 25px -5px #0003}.mobile-preview-shell{background:#fff;border:3px solid #334155;border-radius:28px;flex-direction:column;width:100%;max-width:380px;min-height:600px;max-height:90vh;margin:16px auto;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000059,0 0 0 10px #1e293b}.mobile-phone-notch{background:#1e293b;border-radius:0 0 12px 12px;width:120px;height:18px;margin:0 auto}.mobile-preview-header{color:#f8fafc;background:#0f172a;justify-content:space-between;align-items:center;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex}.mobile-preview-body{background:#f8fafc;flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.sequence-reorder-container{flex-direction:column;gap:8px;display:flex}.sequence-reorder-item{background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex;box-shadow:0 1px 2px #0000000d}.reorder-actions{gap:4px;display:flex}.reorder-btn{cursor:pointer;color:#334155;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;padding:4px 8px;font-size:.85rem;font-weight:700;line-height:1;transition:all .15s}.reorder-btn:hover:not(:disabled){color:#0f172a;background:#cbd5e1}.reorder-btn:disabled{opacity:.35;cursor:not-allowed}.matching-table-grid{gap:10px;display:grid}.matching-row{background:#fff;border:1px solid #cbd5e1;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.matching-select{color:#0f172a;background:#f8fafc;border:1px solid #94a3b8;border-radius:6px;width:100%;padding:6px 10px;font-size:.85rem}.table-completion-wrapper{-webkit-overflow-scrolling:touch;border-radius:6px;width:100%;margin:8px 0;overflow-x:auto}.table-completion-table{border-collapse:collapse;width:100%;min-width:280px;font-size:.84rem}.table-completion-table th{text-align:left;color:#1e293b;background:#e2e8f0;border:1px solid #cbd5e1;padding:6px 8px;font-weight:600}.table-completion-table td{color:#334155;background:#fff;border:1px solid #cbd5e1;padding:6px 8px}.table-blank-input{color:#0f172a;box-sizing:border-box;background:#f0f9ff;border:1px solid #0284c7;border-radius:4px;width:100%;padding:4px 6px;font-size:.82rem}.table-blank-input:focus{background:#fff;outline:2px solid #0284c7}.comparison-columns-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.comparison-column-card{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;padding:10px 12px}.comparison-column-card .col-title{color:#0284c7;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.76rem;font-weight:700}.comparison-column-card .col-value{color:#0f172a;word-break:break-word;font-size:.95rem;font-weight:600}.mobile-preview-shell .table-completion-table{min-width:240px;font-size:.75rem}.mobile-preview-shell .table-completion-table th,.mobile-preview-shell .table-completion-table td{padding:4px 6px}.mobile-preview-shell .table-blank-input{padding:3px 4px;font-size:.75rem}.mobile-preview-shell .comparison-columns-grid{gap:6px}.mobile-preview-shell .comparison-column-card{padding:6px 8px}.mobile-preview-shell .comparison-column-card .col-value{font-size:.85rem}.facet-section{background:#faf5ff;border:1px solid #d8b4fe;border-radius:12px;margin-top:16px;padding:16px 18px}.facet-template-card{background:#fff;border:1px solid #e9d5ff;border-radius:10px;margin-bottom:12px;padding:14px 16px;transition:all .2s}.facet-template-card.active{border-color:#9333ea;box-shadow:0 0 0 2px #9333ea33}.facet-variant-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:10px;padding:12px 14px;font-size:.88rem}.facet-variant-card:hover{border-color:#cbd5e1}.facet-param-chip{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;margin:2px 4px 2px 0;padding:2px 6px;font-family:monospace;font-size:.78rem;display:inline-block}.facet-hash-chip{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.72rem;display:inline-block}.batch-preview-table-container{background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin-top:14px;overflow-x:auto;box-shadow:0 1px 3px #0000000d}.batch-preview-table{border-collapse:collapse;text-align:left;width:100%;font-size:.84rem}.batch-preview-table th{color:#334155;white-space:nowrap;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:10px 12px;font-weight:700}.batch-preview-table td{vertical-align:top;border-bottom:1px solid #f1f5f9;padding:10px 12px}.batch-preview-table tr:hover{background:#f8fafc}.batch-preview-table tr.has-warning{background:#fffdf5}.batch-preview-table tr.has-warning:hover{background:#fef9e7}.batch-preview-table tr.is-selected{background:#eff6ff}.batch-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 14px;display:flex}.batch-deficit-badge{border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.student-test-shell{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:20px;box-shadow:0 4px 12px #0000000d}.student-test-header{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.student-nav-tabs{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.student-nav-tab{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;min-width:38px;height:38px;padding:0 8px;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.student-nav-tab:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.student-nav-tab.active{color:#fff;background:#0284c7;border-color:#0284c7;box-shadow:0 2px 4px #0284c74d}.student-nav-tab.answered:not(.active){color:#166534;background:#f0fdf4;border-color:#86efac}.student-nav-tab.locked{color:#94a3b8;cursor:not-allowed;opacity:.75;background:#f1f5f9;border-color:#e2e8f0}.student-question-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:18px}.attempt-runtime-panel{flex-wrap:wrap;gap:8px;margin:0 0 10px;display:flex}.attempt-runtime-badge{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;min-height:32px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.attempt-runtime-badge.online{color:#166534;background:#f0fdf4;border-color:#86efac}.attempt-runtime-badge.offline,.attempt-runtime-badge.expired{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.attempt-runtime-badge.timer{color:#1e40af;background:#eff6ff;border-color:#93c5fd}.attempt-runtime-badge.warning{color:#dc2626;background:#fef2f2;border-color:#fca5a5;font-weight:700}.attempt-runtime-badge.queue{color:#5b21b6;background:#f5f3ff;border-color:#c4b5fd}.attempt-sync-message{color:#475569;margin:0 0 12px;font-size:.86rem}.attempt-writer-warning,.attempt-local-submit{border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;display:flex}.attempt-writer-warning{color:#92400e;background:#fffbeb;border:1px solid #fbbf24}.attempt-local-submit{color:#075985;background:#f0f9ff;border:1px solid #7dd3fc}.student-form-badge{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:8px;padding:2px 8px;font-size:.76rem;font-weight:600;display:inline-block}.student-interactive-option{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:10px;min-height:44px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.student-interactive-option:hover{background:#f8fafc;border-color:#cbd5e1}.student-interactive-option.selected{background:#eff6ff;border-color:#3b82f6}.student-interactive-option input[type=radio],.student-interactive-option input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:3px}.student-nav-actions{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:16px;display:flex}@media (width<=600px){.student-test-shell,.student-question-card{padding:12px}.student-nav-tab{min-width:34px;height:34px;font-size:.8rem}.student-nav-actions{flex-direction:column;align-items:stretch}.student-nav-actions button{justify-content:center;width:100%}.attempt-writer-warning,.attempt-local-submit{flex-direction:column;align-items:stretch}}.notif-bell-btn{color:#1e293b;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;margin-right:8px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.notif-bell-btn:hover{background:#e2e8f0}.notif-badge{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:18px;padding:2px 7px;font-size:.75rem;font-weight:700}.notif-badge.zero{background:#94a3b8}.notif-overlay{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.notif-card{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:640px;max-height:85vh;display:flex;overflow:hidden;box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a}.notif-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.notif-card-header h2{margin:0;font-size:1.2rem}.notif-tabs{border-bottom:1px solid #e2e8f0;gap:8px;padding:12px 20px 0;display:flex}.notif-tab{color:#64748b;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:8px 16px;font-size:.9rem;font-weight:600}.notif-tab.active{color:#2563eb;background:0 0;border-bottom-color:#2563eb}.notif-body{flex-direction:column;flex:1;gap:12px;padding:16px 20px;display:flex;overflow-y:auto}.notif-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;transition:background .15s}.notif-item.unread{background:#f0f7ff;border-color:#bfdbfe}.notif-item-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.notif-badge-cat{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.notif-badge-cat.applications{color:#92400e;background:#fef3c7}.notif-badge-cat.jobs{color:#3730a3;background:#e0e7ff}.notif-badge-cat.assessments{color:#166534;background:#dcfce7}.notif-badge-cat.security{color:#991b1b;background:#fee2e2}.notif-time{color:#94a3b8;font-size:.75rem}.notif-item-title{color:#0f172a;margin:0 0 4px;font-size:.95rem;font-weight:600}.notif-item-msg{color:#334155;white-space:pre-wrap;margin:0 0 8px;font-size:.85rem}.notif-item-footer{justify-content:flex-end;display:flex}.pref-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.pref-row input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin-top:2px}.pref-row input[type=checkbox]:disabled{cursor:not-allowed}.pref-label-title{color:#0f172a;font-size:.9rem;font-weight:600}.pref-label-desc{color:#64748b;margin-top:2px;font-size:.8rem}.pref-mandatory-tag{color:#991b1b;background:#fee2e2;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.app-shell-root{background:var(--bg-app);flex-direction:column;min-height:100vh;display:flex}header.app-topbar{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);z-index:40;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 16px;display:flex}.topbar-left{align-items:center;gap:14px;display:flex}.logo-badge{letter-spacing:-.2px;color:var(--text-main);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.logo-symbol{background:var(--text-main);width:22px;height:22px;color:var(--bg-panel);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.topbar-divider{background:var(--border-subtle);width:1px;height:18px}.view-segmented-control{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);gap:2px;padding:2px;display:flex}.nav-tab-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.nav-tab-btn:hover{color:var(--text-main);background:#00000008}.nav-tab-btn.active{background:var(--bg-panel);color:var(--text-main);box-shadow:var(--shadow-subtle);font-weight:600}.app-shell-nav-btn:focus-visible{border-radius:4px;outline-offset:2px!important;outline:2px solid #2563eb!important}#active-discipline-select:focus-visible,#home-discipline-select:focus-visible{outline-offset:2px!important;outline:2px solid #38bdf8!important}.app-shell-nav-btn:hover{background-color:#2563eb0d}.topbar-right{align-items:center;gap:10px;display:flex}.btn-action-student{background:var(--accent-blue-subtle);color:var(--accent-blue);border-color:var(--accent-blue-border);font-weight:600}.btn-action-student:hover{background:var(--accent-blue);color:#fff}.view-content-pane{animation:.15s ease-out fadeInPane;display:none}.view-content-pane.active{display:block}@keyframes fadeInPane{0%{opacity:0}to{opacity:1}}.workspace-main-shell{background-color:var(--bg-app);flex-direction:column;flex:1;width:100%;display:flex}.workspace-container{box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:1720px;margin-left:0;margin-right:auto;padding:16px 24px 32px;display:flex}.app-shell-root .shell{box-sizing:border-box;background:0 0;flex-direction:column;place-items:stretch stretch;width:100%;max-width:1720px;min-height:auto;margin-left:0;margin-right:auto;padding:16px 24px 32px;display:flex}.app-shell-root .card.workspace{box-sizing:border-box;width:100%;max-width:100%;box-shadow:none;background:var(--bg-panel);padding:20px 24px}.topbar-discipline-picker{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:8px;margin-left:8px;padding:3px 10px;display:flex}.topbar-discipline-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:11.5px;font-weight:600}.topbar-discipline-select{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-main);cursor:pointer;outline:none;max-width:240px;padding:3px 8px;font-size:12.5px;font-weight:600}.topbar-discipline-select:focus{border-color:var(--accent-primary)}.studio-tech-details{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);margin-top:14px;font-size:.82rem;overflow:hidden}.studio-tech-details summary{background:var(--bg-subtle);cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;font-weight:600;transition:background .15s;display:flex}.studio-tech-details summary:hover{background:var(--border-subtle);color:var(--text-main)}.studio-tech-content{border-top:1px solid var(--border-subtle);background:var(--bg-app);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.status-dot-green{background-color:#10b981}.status-dot-amber{background-color:#f59e0b}.status-dot-red{background-color:#ef4444}.status-dot-blue{background-color:#3b82f6}.status-dot-slate{background-color:#94a3b8}.status-pill{border-radius:var(--radius-full,9999px);border:1px solid #0000;align-items:center;gap:5px;padding:2.5px 8px;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.status-pill-green{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.status-pill-amber{color:#92400e;background:#fffbeb;border-color:#fde68a}.status-pill-red{color:#991b1b;background:#fef2f2;border-color:#fecaca}.status-pill-neutral{background:var(--bg-subtle);color:var(--text-secondary);border-color:var(--border-subtle)}[data-theme=dark] .status-pill-green{color:#86efac;background:#10b98126;border-color:#10b9814d}[data-theme=dark] .status-pill-amber{color:#fcd34d;background:#f59e0b26;border-color:#f59e0b4d}[data-theme=dark] .status-pill-red{color:#fca5a5;background:#ef444426;border-color:#ef44444d}.btn-neutral{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-neutral:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.btn-primary-dark{border-radius:var(--radius-sm);color:#fff;cursor:pointer;background:#0f172a;border:1px solid #0f172a;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary-dark:hover{background:#1e293b}[data-theme=dark] .btn-primary-dark{color:#0f172a;background:#f8fafc;border-color:#f8fafc}[data-theme=dark] .btn-primary-dark:hover{background:#e2e8f0}.btn-danger-subtle{border-radius:var(--radius-sm);color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:.82rem;font-weight:500;transition:all .15s;display:inline-flex}.btn-danger-subtle:hover{background:#fef2f2;border-color:#f87171}[data-theme=dark] .btn-danger-subtle{color:#fca5a5;background:0 0;border-color:#7f1d1d}.student-zen-container{background:var(--bg-app);flex-direction:column;min-height:100vh;display:flex}.zen-topbar{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 24px;display:flex}.zen-timer{font-family:var(--font-mono);color:var(--text-main);background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);align-items:center;gap:7px;padding:4px 10px;font-size:13.5px;font-weight:600;display:flex}.zen-timer.warning{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:var(--status-warning-border)}.test-status-bar{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;display:flex;box-shadow:0 1px 2px #00000005}.status-bar-info{color:var(--text-secondary);align-items:center;gap:16px;font-size:12px;display:flex}.status-bar-meta{align-items:center;gap:8px;display:flex}.status-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.question-pills-row{align-items:center;gap:6px;padding:2px 0;display:flex;overflow-x:auto}.q-pill{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.q-pill:hover{border-color:var(--text-main);color:var(--text-main);background:var(--bg-subtle)}.q-pill.current{border-color:var(--accent-blue);color:var(--accent-blue);box-shadow:0 0 0 2px var(--accent-blue-border);background:var(--accent-blue-subtle);font-weight:700}.q-pill.answered{background:var(--text-main);color:var(--bg-panel);border-color:var(--text-main)}.q-pill.answered.current{box-shadow:0 0 0 2px var(--accent-blue)}.q-pill.flagged:after{content:"";width:6px;height:6px;box-shadow:0 0 0 1px var(--bg-panel);background:#f59e0b;border-radius:50%;position:absolute;top:3px;right:3px}.zen-body-center{flex:1;justify-content:center;padding:32px 16px;display:flex;overflow-y:auto}.zen-question-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:680px;box-shadow:var(--shadow-panel);flex-direction:column;gap:20px;height:fit-content;padding:28px;display:flex}.zen-options-list{flex-direction:column;gap:10px;display:flex}.zen-option-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-panel);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 16px;font-size:13.5px;transition:all .15s;display:flex}.zen-option-item:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.zen-option-item.selected{border-color:var(--text-main);background:var(--bg-subtle);font-weight:500}.zen-radio{border:1.5px solid var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.zen-option-item.selected .zen-radio{border-color:var(--text-main)}.zen-option-item.selected .zen-radio:after{content:"";background:var(--text-main);border-radius:50%;width:8px;height:8px}.test-submit-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0f172aa6;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fadeInModal;display:flex;position:fixed;inset:0}[data-theme=dark] .test-submit-modal-overlay{background-color:#000000bf}.test-submit-modal-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:480px;color:var(--text-main);padding:24px;animation:.15s ease-out scaleInModal;box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #0000001a}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes scaleInModal{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.view-topics{grid-template-columns:280px 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.view-topics{grid-template-columns:1fr}}.topics-sidebar{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:14px;display:flex}.topics-sidebar-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.topics-sidebar-list{flex-direction:column;gap:4px;max-height:520px;display:flex;overflow-y:auto}.topic-sidebar-item{border-radius:var(--radius-sm);cursor:pointer;text-align:left;color:var(--text-main);background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;font-size:.88rem;transition:all .15s;display:flex}.topic-sidebar-item:hover{background:var(--bg-subtle);border-color:var(--border-subtle)}.topic-sidebar-item.active{background:var(--bg-subtle);border-color:var(--accent-primary);font-weight:600}.topics-workspace{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:400px;padding:20px}.conflict-detector-panel{margin-bottom:24px}.conflict-card-c03{background:var(--bg-subtle);border:1px solid var(--status-warning-border);border-left:4px solid var(--status-warning-text);border-radius:var(--radius-md);margin-bottom:14px;padding:16px}.conflict-card-c03.resolved{border-color:var(--status-success-border);border-left-color:var(--status-success-text);background:var(--bg-panel)}.conflict-card-c03.requires-recheck{border-color:var(--status-warning-border);border-left-color:var(--status-danger-text)}.conflict-element-badge{color:var(--text-main);background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px 8px;font-size:.82rem;font-weight:600;display:inline-block}.elements-table{border-collapse:collapse;width:100%;margin-top:10px}.elements-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);padding:8px 12px;font-size:.78rem;font-weight:600}.elements-table td{border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px;font-size:.88rem}.elements-table tr:hover td{background:var(--bg-subtle)}.code-pill{font-family:var(--font-mono,monospace);border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);padding:2px 6px;font-size:.8rem;font-weight:600;display:inline-block}.view-groups{grid-template-columns:280px 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.view-groups{grid-template-columns:1fr}}.groups-sidebar{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:16px;display:flex}.groups-sidebar-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.groups-sidebar-list{flex-direction:column;gap:6px;display:flex}.group-sidebar-item{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);cursor:pointer;text-align:left;flex-direction:column;gap:4px;width:100%;padding:10px 12px;transition:all .15s;display:flex}.group-sidebar-item:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.group-sidebar-item.active{background:var(--bg-subtle);border-color:var(--accent-primary);border-left:3px solid var(--accent-primary);font-weight:600}.group-item-title-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.group-item-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.group-item-meta-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:.78rem;display:flex}.groups-workspace{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:20px;min-height:500px;padding:20px;display:flex}.group-workspace-header{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.group-header-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.group-header-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.group-count-badge{background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 8px;font-size:.82rem;font-weight:600;display:inline-flex}.group-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.students-table{border-collapse:collapse;width:100%;margin-top:8px}.students-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);text-align:left;padding:8px 12px;font-size:.78rem;font-weight:600}.students-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:10px 12px;font-size:.88rem}.students-table tr:hover td{background:var(--bg-subtle)}.student-meta-email{color:var(--text-muted);margin-top:2px;font-size:.82rem}.attempts-count-badge{font-family:var(--font-mono,monospace);border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-main);padding:2px 8px;font-size:.85rem;font-weight:600;display:inline-block}.average-score-badge{border-radius:var(--radius-sm);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;padding:2px 8px;font-size:.85rem;font-weight:600;display:inline-block}[data-theme=dark] .average-score-badge{color:#86efac;background:#052e16;border-color:#14532d}.ac02-reminder-box{border-radius:var(--radius-md);color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid #3b82f6;margin:12px 0;padding:12px 14px;font-size:.86rem;line-height:1.45}[data-theme=dark] .ac02-reminder-box{color:#bfdbfe;background:#172554;border-color:#1e40af #1e40af #1e40af #60a5fa}.invite-copied-toast{color:#166534;border-radius:var(--radius-sm);background:#f0fdf4;border:1px solid #bbf7d0;padding:8px 12px;font-size:.85rem;font-weight:600}[data-theme=dark] .invite-copied-toast{color:#86efac;background:#052e16;border-color:#14532d}.modal-transfer-card{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;gap:16px;width:100%;max-width:520px;padding:24px;display:flex;box-shadow:0 10px 25px -5px #0003}.view-assignments{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);min-height:600px;display:flex;overflow:hidden}.assignments-sidebar{background:var(--bg-panel);border-right:1px solid var(--border-subtle);flex-direction:column;width:280px;min-width:280px;display:flex}.assignments-sidebar-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:8px;padding:16px;display:flex}.assignments-sidebar-header h3{color:var(--text-main);margin:0;font-size:1rem;font-weight:700}.assignments-sidebar-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.assignment-sidebar-item{border-radius:var(--radius-md);color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;gap:4px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.assignment-sidebar-item:hover{background:var(--bg-subtle);border-color:var(--border-subtle)}.assignment-sidebar-item.active{background:var(--bg-subtle);border-color:var(--border-strong);font-weight:600}.assignment-item-title{color:var(--text-main);font-size:.88rem;line-height:1.3}.assignment-item-meta{justify-content:space-between;align-items:center;gap:6px;font-size:.76rem;display:flex}.assignments-sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.assignments-workspace{background:var(--bg-panel);flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.assignment-workspace-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.assignment-header-title{color:var(--text-main);margin:0 0 6px;font-size:1.25rem;font-weight:700}.assignment-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.regulations-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.regulation-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:14px;display:flex}.regulation-card-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.regulation-card-value{color:var(--text-main);font-size:1.25rem;font-weight:700;font-family:var(--font-sans)}.regulation-card-sub{color:var(--text-muted);font-size:.75rem}.protocol-table-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.protocol-table-header{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.protocol-table-header h3{color:var(--text-main);margin:0;font-size:.98rem;font-weight:600}.protocol-table{border-collapse:collapse;width:100%;font-size:.84rem}.protocol-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);padding:10px 14px;font-size:.78rem;font-weight:600}.protocol-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:10px 14px}.protocol-table tbody tr:hover{background:var(--bg-subtle)}.variant-code-badge{font-family:var(--font-mono,monospace);border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-strong);color:var(--text-main);letter-spacing:.05em;padding:2px 7px;font-size:.8rem;font-weight:700;display:inline-block}.duration-badge{font-family:var(--font-mono,monospace);color:var(--text-secondary);font-size:.82rem}.score-badge{color:var(--text-main);font-weight:700}.score-badge.passed{color:#166534}[data-theme=dark] .score-badge.passed{color:#4ade80}.view-materials{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}@media (width<=960px){.view-materials{grid-template-columns:1fr}}.materials-sidebar{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:14px;padding:16px;display:flex}.materials-sidebar-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding-bottom:12px;display:flex}.materials-sidebar-title{justify-content:space-between;align-items:center;display:flex}.materials-sidebar-title h3{color:var(--text-main);margin:0;font-size:1rem;font-weight:600}.materials-upload-actions{flex-direction:column;gap:6px;display:flex}.materials-upload-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px dashed var(--border-strong);background:var(--bg-subtle);color:var(--text-main);justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.materials-upload-btn:hover{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary)}.materials-sidebar-list{flex-direction:column;gap:8px;max-height:540px;display:flex;overflow-y:auto}.material-sidebar-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);cursor:pointer;text-align:left;flex-direction:column;gap:6px;padding:10px 12px;transition:all .15s;display:flex}.material-sidebar-item:hover{border-color:var(--primary-light);background:var(--bg-subtle)}.material-sidebar-item.active{border-color:var(--primary);background:var(--primary-subtle);box-shadow:0 0 0 1px var(--primary)}.material-sidebar-item-header{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.material-sidebar-filename{color:var(--text-main);word-break:break-word;font-size:.86rem;font-weight:600;line-height:1.3}.material-sidebar-badges{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.format-badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.format-badge.format-pdf{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}[data-theme=dark] .format-badge.format-pdf{color:#fca5a5;background:#450a0a;border-color:#7f1d1d}.format-badge.format-pptx{color:#92400e;background:#fef3c7;border:1px solid #fde68a}[data-theme=dark] .format-badge.format-pptx{color:#fcd34d;background:#451a03;border-color:#78350f}.format-badge.format-docx{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}[data-theme=dark] .format-badge.format-docx{color:#93c5fd;background:#172554;border-color:#1e3a8a}.ocr-badge{border-radius:var(--radius-sm);color:#5b21b6;background:#ede9fe;border:1px solid #ddd6fe;padding:1px 6px;font-size:.7rem;font-weight:600;display:inline-block}[data-theme=dark] .ocr-badge{color:#c4b5fd;background:#2e1065;border-color:#4c1d95}.material-sidebar-item-meta{color:var(--text-secondary);font-size:.76rem}.materials-workspace{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:20px;display:flex}.materials-workspace-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.materials-workspace-title-box{flex-direction:column;gap:4px;display:flex}.materials-workspace-title{color:var(--text-main);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.material-metadata-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:14px 16px}.material-meta-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.material-meta-item{flex-direction:column;gap:3px;display:flex}.material-meta-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-size:.74rem;font-weight:600}.material-meta-val{color:var(--text-main);align-items:center;gap:6px;font-size:.96rem;font-weight:700;display:flex}.pages-navigator{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.pages-navigator-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.pages-pills-row{gap:6px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.page-pill{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);min-width:32px;height:32px;color:var(--text-main);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.page-pill:hover{background:var(--bg-subtle);border-color:var(--primary-light)}.page-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-pill.flagged{color:#9f1239;background:#fff1f2;border-color:#f43f5e}[data-theme=dark] .page-pill.flagged{color:#fecdd3;background:#4c0519;border-color:#881337}.page-pill.flagged.active{color:#fff;background:#e11d48;border-color:#e11d48}.fragment-preview{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px;display:flex}.fragment-preview-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;display:flex}.locator-json-box{color:#38bdf8;border-radius:var(--radius-sm);font-family:var(--font-mono,monospace);background:#0f172a;border:1px solid #1e293b;max-height:160px;margin:0;padding:10px 14px;font-size:.78rem;line-height:1.4;overflow-x:auto}[data-theme=dark] .locator-json-box{color:#38bdf8;background:#090d16;border-color:#1e293b}.extracted-text-view{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-family:var(--font-mono,monospace);white-space:pre-wrap;word-break:break-word;max-height:480px;color:var(--text-main);padding:16px;font-size:.88rem;line-height:1.6;overflow-y:auto}.view-studio{align-items:stretch;gap:16px;height:calc(100vh - 130px);min-height:640px;display:flex;overflow:hidden}.studio-filters-col{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;gap:14px;width:240px;min-width:240px;max-width:240px;padding:16px;display:flex;overflow-y:auto}.studio-filter-group{flex-direction:column;gap:6px;display:flex}.studio-filter-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.78rem;font-weight:700}.studio-filter-select{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-app);width:100%;color:var(--text-main);outline:none;padding:6px 10px;font-size:.84rem}.studio-filter-select:focus{border-color:var(--accent-primary)}.studio-filter-pill-group{flex-direction:column;gap:4px;display:flex}.studio-filter-pill{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.82rem;transition:all .15s;display:flex}.studio-filter-pill:hover{background:var(--bg-subtle);color:var(--text-main)}.studio-filter-pill.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);font-weight:600}.studio-filter-pill.active .studio-filter-pill-count{color:#fff;background:#fff3}.studio-filter-pill-count{background:var(--bg-subtle);color:var(--text-muted);border-radius:10px;padding:2px 6px;font-size:.74rem}.studio-registry-col{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;gap:10px;width:380px;min-width:380px;max-width:380px;padding:14px;display:flex;overflow-y:auto}.studio-registry-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.studio-registry-list{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.studio-task-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;padding:10px 12px;transition:all .15s;display:flex}.studio-task-card:hover{background:var(--bg-subtle);border-color:var(--border-strong)}.studio-task-card.active{border-color:var(--accent-primary);border-left:4px solid var(--accent-primary);background:var(--bg-subtle);box-shadow:0 1px 4px #0000000f}.studio-card-row{justify-content:space-between;align-items:center;gap:6px;font-size:.78rem;display:flex}.studio-card-code{color:var(--text-main);font-weight:700;font-family:var(--font-mono,monospace)}.studio-card-form{color:#6b21a8;background:#ede9fe;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:600}[data-theme=dark] .studio-card-form{color:#d8b4fe;background:#2e1065}.studio-card-stem{color:var(--text-main);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.86rem;line-height:1.4;display:-webkit-box;overflow:hidden}.studio-card-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:6px;font-size:.76rem;display:flex}.studio-card-pj{background:var(--bg-subtle);border-radius:3px;padding:1px 5px;font-weight:700}.studio-focus-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;flex:1;gap:16px;min-width:400px;padding:20px;display:flex;overflow-y:auto}.studio-focus-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:14px;display:flex}.studio-instruction-box{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);border-left:4px solid #6366f1;padding:10px 14px;font-size:.88rem}.studio-stem-box{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;box-shadow:0 1px 3px #00000008}.studio-stem-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 8px;font-size:.76rem;font-weight:700}.studio-stem-text{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:600;line-height:1.5}.studio-options-container{flex-direction:column;gap:8px;display:flex}.studio-option-row{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel);flex-direction:column;gap:6px;padding:10px 12px;transition:all .15s;display:flex}.studio-option-row.correct{background:#f0fdf4;border-color:#10b981}[data-theme=dark] .studio-option-row.correct{background:#064e3b22;border-color:#059669}.studio-option-header{align-items:flex-start;gap:10px;display:flex}.studio-option-letter{background:var(--bg-subtle);width:24px;height:24px;color:var(--text-main);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.studio-option-letter.correct{color:#fff;background:#10b981}.studio-option-text{color:var(--text-main);flex:1;font-size:.92rem;line-height:1.4}.studio-etalon-badge{color:#fff;background:#10b981;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:.74rem;font-weight:700}.studio-distractor-fields{border-top:1px dashed var(--border-subtle);flex-direction:column;gap:4px;margin-top:4px;padding-top:6px;font-size:.82rem;display:flex}.studio-why-incorrect{color:#b91c1c;align-items:baseline;gap:6px;display:flex}[data-theme=dark] .studio-why-incorrect{color:#fca5a5}.studio-plausibility-basis{color:#1d4ed8;align-items:baseline;gap:6px;display:flex}[data-theme=dark] .studio-plausibility-basis{color:#93c5fd}.source-citation-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);padding:12px 14px}.source-citation-box summary{cursor:pointer;color:var(--text-main);-webkit-user-select:none;user-select:none;font-size:.88rem;font-weight:600}.source-citation-content{flex-direction:column;gap:6px;margin-top:10px;font-size:.84rem;display:flex}.source-citation-quote{color:var(--text-secondary);background:var(--bg-panel);border-radius:var(--radius-sm);border-left:3px solid #0284c7;margin:6px 0 0;padding:10px 14px;font-style:italic;line-height:1.5}.facet-template-box{color:#38bdf8;border-radius:var(--radius-sm);font-family:var(--font-mono,monospace);background:#0f172a;border:1px solid #1e293b;padding:12px 14px;font-size:.82rem;line-height:1.5;overflow-x:auto}[data-theme=dark] .facet-template-box{background:#090d16}.studio-validation-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);padding:14px}.studio-validation-fail-banner{color:#991b1b;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #f87171;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:.86rem;font-weight:600;display:flex}[data-theme=dark] .studio-validation-fail-banner{color:#fecaca;background:#450a0a;border-color:#991b1b}.studio-validation-check-item{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:.8rem;display:flex}.studio-actions-bar{border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:14px;display:flex}.gen-studio-layout{grid-template-columns:320px 1fr 340px;align-items:start;gap:20px;width:100%;display:grid}@media (width<=1360px){.gen-studio-layout{grid-template-columns:300px 1fr}.gen-studio-right-col{grid-column:1/-1}}@media (width<=860px){.gen-studio-layout{grid-template-columns:1fr}}.gen-studio-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px;padding:18px 20px;box-shadow:0 1px 3px #0000000a}.gen-studio-card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;display:flex}.gen-studio-card-title{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:700;display:flex}.gen-element-item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;margin-bottom:8px;padding:10px 12px;transition:all .15s}.gen-element-item:hover{border-color:var(--accent-blue);background:var(--bg-subtle)}.gen-element-item.active-preview{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue);background:#205dcc0f}.gen-source-quote-box{border-left:3px solid var(--accent-blue);background:var(--bg-card);color:var(--text-secondary);border-radius:4px;max-height:180px;margin:10px 0;padding:10px 14px;font-size:.82rem;font-style:italic;line-height:1.5;overflow-y:auto}.gen-form-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:14px 0;display:grid}.gen-form-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;flex-direction:column;gap:6px;padding:12px;transition:all .15s;display:flex}.gen-form-card:hover{border-color:var(--accent-blue)}.gen-form-card.selected{border-color:var(--accent-blue);box-shadow:0 0 0 1px var(--accent-blue);background:#205dcc0d}.gen-form-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--bg-subtle);color:var(--text-secondary);border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:600}.gen-params-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:14px 0;display:grid}.gen-stat-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:6px 0;font-size:.82rem;display:flex}.gen-stat-row:last-child{border-bottom:none}.sources-ux-workspace{flex-direction:column;gap:20px;max-width:1280px;margin:0 auto;padding:24px;display:flex}.sources-ux-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sources-ux-title-group h1{color:var(--text-main);letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:700}.sources-ux-title-group p{color:var(--text-secondary);margin:4px 0 0;font-size:.9rem}.sources-ux-tabs-bar{border-bottom:2px solid var(--border-subtle);background:0 0;gap:8px;margin-bottom:4px;padding:0;display:flex}.sources-ux-tab-btn{min-height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:4px 4px 0 0;align-items:center;gap:8px;margin-bottom:-2px;padding:12px 20px;font-size:.95rem;font-weight:600;transition:all .15s;display:inline-flex}.sources-ux-tab-btn:hover{color:var(--accent-blue);background:var(--bg-subtle)}.sources-ux-tab-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.sources-ux-tab-btn.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);background:0 0}.sources-ux-tab-count{background:var(--bg-subtle);color:var(--text-secondary);border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:700}.sources-ux-tab-btn.active .sources-ux-tab-count{background:var(--accent-blue-subtle);color:var(--accent-blue)}.sources-catalog-toolbar{background:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.sources-filter-group{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:260px;display:flex}.sources-search-input{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-panel);min-width:200px;color:var(--text-main);flex:1;min-height:44px;padding:10px 14px;font-size:.9rem}.sources-status-select{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-main);min-height:44px;padding:10px 14px;font-size:.9rem}.sources-upload-btn{background-color:var(--accent-blue);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.sources-upload-btn:hover{background-color:#1d4ed8}.sources-upload-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.sources-empty-card{text-align:center;background:var(--bg-panel);border:2px dashed var(--border-strong);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:56px 24px;display:flex}.sources-empty-icon{margin-bottom:4px;font-size:3rem;line-height:1}.sources-empty-title{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.sources-empty-desc{max-width:540px;color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.5}.sources-studio-topbar{border-bottom:1px solid var(--border-subtle);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin-bottom:10px;padding-bottom:8px;display:flex}.sources-studio-title-block h1{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:600}.sources-studio-subtitle{color:var(--text-secondary);margin:2px 0 0;font-size:.82rem}.sources-studio-top-actions{align-items:center;gap:8px;display:flex}.sources-studio-split{align-items:stretch;gap:16px;min-height:calc(100vh - 190px);display:flex}.sources-studio-master{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;width:320px;min-width:280px;max-width:360px;display:flex;overflow:hidden}.sources-studio-master-header{border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.sources-studio-master-title-row{justify-content:space-between;align-items:center;display:flex}.sources-studio-section-label{color:var(--text-muted);letter-spacing:.05em;font-size:.72rem;font-weight:700}.sources-studio-badge{background:var(--border-subtle);color:var(--text-secondary);border-radius:10px;padding:1px 7px;font-size:.72rem;font-weight:600}.sources-studio-filter-row{gap:6px;display:flex}.sources-studio-search{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-main);outline:none;flex:1;padding:6px 10px;font-size:.82rem}.sources-studio-search:focus{border-color:var(--accent-blue)}.sources-studio-status-select{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-main);cursor:pointer;padding:6px 8px;font-size:.82rem}.sources-studio-list{flex-direction:column;flex:1;gap:4px;padding:6px;display:flex;overflow-y:auto}.sources-item-row{border-radius:var(--radius-md);cursor:pointer;background:var(--bg-panel);border:1px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.sources-item-row:hover{background:var(--bg-subtle);border-color:var(--border-subtle)}.sources-item-row.selected{background:var(--bg-subtle);border-color:var(--border-subtle);border-left:3px solid var(--accent-blue)}.sources-item-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sources-item-title-line{align-items:center;gap:6px;display:flex}.sources-item-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;overflow:hidden}.sources-item-meta{color:var(--text-secondary);align-items:center;gap:5px;font-size:.74rem;display:flex}.sources-item-side{flex-shrink:0;align-items:center;gap:6px;display:flex}.sources-item-delete{opacity:.7;padding:4px}.sources-item-delete:hover{opacity:1}.sources-studio-detail{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.sources-reader-wrapper{background:0 0;border:none;border-radius:0;flex-direction:column;gap:8px;padding:0;display:flex}.sources-reader-docbar{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:6px 14px;display:flex;box-shadow:0 1px 2px #00000008}.sources-reader-docinfo{flex-wrap:nowrap;align-items:center;gap:10px;min-width:0;display:flex}.sources-reader-docinfo h2{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:380px;margin:0;font-size:.95rem;font-weight:600;overflow:hidden}.sources-reader-docmeta{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.sources-reader-right-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.sources-reader-actions{align-items:center;gap:6px;display:flex}.sources-reader-split{grid-template-columns:1.2fr .8fr;gap:14px;display:grid}.sources-empty-selection{background:var(--bg-panel);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:48px 24px;display:flex}.sources-empty-selection-icon{width:36px;height:36px;color:var(--text-muted)}.sources-cards-grid{flex-direction:column;gap:6px;display:flex}.source-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;gap:6px;padding:10px 12px;transition:all .15s;display:flex}.source-card:hover{background:var(--bg-subtle);border-color:var(--border-subtle)}.source-card.selected{background:var(--bg-subtle);border-color:var(--border-subtle);border-left:3px solid var(--accent-blue)}.source-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.source-card-title{color:var(--text-main);word-break:break-word;margin:0;font-size:1rem;font-weight:600;line-height:1.4}.source-badges-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.source-format-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700}.source-format-badge.pdf{color:#991b1b;background:#fee2e2}.source-format-badge.docx{color:#0369a1;background:#e0f2fe}.source-format-badge.pptx{color:#c2410c;background:#ffedd5}.source-format-badge.fb2{color:#334155;background:#f1f5f9;border:1px solid #cbd5e1}.source-format-badge.txt,.source-format-badge.md{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.source-status-badge{border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.source-status-badge.ready{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.source-status-badge.processing{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.source-status-badge.failed{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.source-card-meta{color:var(--text-secondary);grid-template-columns:1fr 1fr;gap:6px;font-size:.82rem;display:grid}.source-viewer-container{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;gap:16px;padding:20px;display:flex}.source-viewer-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.source-viewer-doc-info h2{color:var(--text-main);word-break:break-word;margin:0;font-size:1.25rem;font-weight:700}.source-viewer-doc-meta{color:var(--text-secondary);margin-top:4px;font-size:.85rem}.source-pagination-bar{background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;display:flex}.source-nav-btn{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-height:44px;color:var(--text-main);cursor:pointer;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.source-nav-btn:hover:not(:disabled){border-color:var(--accent-blue);color:var(--accent-blue)}.source-nav-btn:disabled{opacity:.45;cursor:not-allowed}.source-locator-center{color:var(--text-main);align-items:center;gap:12px;font-size:.95rem;font-weight:600;display:flex}.source-locator-jump{align-items:center;gap:6px;display:flex}.source-jump-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);text-align:center;background:var(--bg-panel);width:60px;color:var(--text-main);padding:6px 8px;font-size:.88rem}.source-jump-btn{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;min-height:36px;padding:6px 12px;font-size:.82rem;font-weight:500}.source-split-layout{grid-template-columns:1.2fr .8fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.source-split-layout{grid-template-columns:1fr}}.source-column-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);flex-direction:column;gap:12px;padding:16px;display:flex}.source-column-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.source-column-title{color:var(--text-main);margin:0;font-size:1rem;font-weight:600}.source-ocr-notice{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);border-radius:var(--radius-md);color:var(--status-warning-text);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.85rem;line-height:1.45;display:flex}.source-extracted-text{color:var(--text-main);white-space:pre-wrap;background:var(--bg-subtle);border-radius:var(--radius-md);border:1px solid var(--border-subtle);max-height:480px;padding:16px;font-size:.95rem;line-height:1.6;overflow-y:auto}.source-actions-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.source-btn-confirm{background:var(--status-success-bg);border:1px solid var(--status-success-border);min-height:44px;color:var(--status-success-text);border-radius:var(--radius-md);cursor:pointer;padding:8px 16px;font-size:.88rem;font-weight:600}.source-btn-edit{background:var(--bg-panel);border:1px solid var(--border-strong);min-height:44px;color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;padding:8px 16px;font-size:.88rem;font-weight:600}.source-btn-exclude{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);min-height:44px;color:var(--status-danger-text);border-radius:var(--radius-md);cursor:pointer;padding:8px 16px;font-size:.88rem;font-weight:600}.source-visuals-grid{flex-direction:column;gap:12px;display:flex}.source-visual-item{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);overflow:hidden}.source-visual-header{background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);justify-content:space-between;padding:8px 12px;font-size:.8rem;font-weight:600;display:flex}.source-visual-body{padding:12px;font-size:.85rem}.source-tech-audit-details{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);margin-top:8px;overflow:hidden}.source-tech-audit-summary{color:var(--text-secondary);cursor:pointer;background:var(--bg-panel);-webkit-user-select:none;user-select:none;border-bottom:1px solid #0000;padding:12px 16px;font-size:.85rem;font-weight:600}.source-tech-audit-details[open] .source-tech-audit-summary{border-bottom-color:var(--border-subtle)}.source-tech-audit-content{color:var(--text-secondary);gap:8px;padding:14px 16px;font-size:.82rem;display:grid}.source-tech-audit-content code,.source-tech-audit-content pre{font-family:var(--font-mono);background:var(--bg-panel);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);padding:4px 8px;font-size:.78rem}.course-structure-grid{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.course-structure-grid{grid-template-columns:1fr}}.gen-readiness-card{border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.gen-readiness-card.ready{background:var(--status-success-bg);border:1px solid var(--status-success-border)}.gen-readiness-card.not-ready{background:var(--status-warning-bg);border:1px solid var(--status-warning-border)}.gen-readiness-title{align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:700;display:flex}.gen-readiness-card.ready .gen-readiness-title{color:var(--status-success-text)}.gen-readiness-card.not-ready .gen-readiness-title{color:var(--status-warning-text)}.gen-readiness-desc{color:var(--text-secondary);margin:2px 0 0;font-size:.82rem}.gen-readiness-cta{border-radius:var(--radius-sm);cursor:pointer;color:#fff;background:#0f172a;border:none;align-items:center;gap:6px;min-height:38px;padding:8px 16px;font-size:.86rem;font-weight:600;transition:background .15s;display:inline-flex}.gen-readiness-cta:hover{background:#1e293b}.source-toc-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);max-height:290px;margin-top:10px;overflow-y:auto;box-shadow:0 4px 12px #0000000d}.source-toc-header{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);justify-content:space-between;align-items:center;padding:8px 14px;font-size:.8rem;font-weight:700;display:flex}.source-toc-list{flex-direction:column;display:flex}.source-toc-item{border-bottom:1px solid var(--border-subtle);color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border-top:none;border-left:3px solid #0000;border-right:none;justify-content:space-between;align-items:center;width:100%;padding:8px 14px;font-size:.84rem;transition:all .12s;display:flex}.source-toc-item:hover{background:var(--bg-subtle)}.source-toc-item.active{color:#1d4ed8;background:#eff6ff;border-left:3px solid #3b82f6;font-weight:600}.source-toc-page-pill{background:var(--bg-subtle);color:var(--text-secondary);border-radius:999px;flex-shrink:0;margin-left:8px;padding:2px 8px;font-size:.75rem;font-weight:600}.source-toc-item.active .source-toc-page-pill{color:#1e40af;background:#dbeafe}.source-search-wrap{flex:1;align-items:center;gap:8px;min-width:220px;display:flex;position:relative}.source-search-input{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel);width:100%;color:var(--text-main);padding:6px 12px;font-size:.82rem;transition:border-color .15s}.source-search-input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 2px #3b82f626}.source-search-results-bar{border-radius:var(--radius-sm);color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding:6px 12px;font-size:.8rem;display:flex}.source-search-chip{color:#1d4ed8;cursor:pointer;background:#dbeafe;border:1px solid #93c5fd;border-radius:4px;padding:2px 8px;font-size:.76rem;font-weight:600;transition:all .12s}.source-search-chip:hover{background:#bfdbfe}.source-search-chip.active{color:#fff;background:#2563eb;border-color:#1d4ed8}.source-search-highlight{color:#854d0e;background-color:#fef08a;border-radius:2px;padding:1px 3px;font-weight:600}.source-didactic-link-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;gap:8px;margin-top:14px;padding:12px 14px;display:flex}.source-didactic-link-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;display:flex}.source-open-in-book-btn{color:#1d4ed8;border-radius:var(--radius-sm);cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;align-items:center;gap:5px;padding:4px 8px;font-size:.78rem;font-weight:600;transition:all .12s;display:inline-flex}.source-open-in-book-btn:hover{background:#dbeafe;border-color:#93c5fd}.sources-reader-toolbar{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 12px;display:flex}.sources-toolbar-left{flex:auto;align-items:center;gap:8px;min-width:240px;display:flex}.source-search-wrap{align-items:center;display:inline-flex;position:relative}.source-search-icon{color:var(--text-muted,#94a3b8);pointer-events:none;z-index:1;justify-content:center;align-items:center;font-size:13px;display:inline-flex;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.source-search-input{border-radius:var(--radius-sm,6px);border:1px solid var(--border-subtle,#cbd5e1);background:var(--bg-panel,#fff);height:30px;color:var(--text-main,#0f172a);box-sizing:border-box;outline:none;width:220px;padding-top:4px;padding-bottom:4px;font-size:.82rem;transition:border-color .15s,box-shadow .15s,width .2s;padding-left:32px!important;padding-right:28px!important}.source-search-input:focus{border-color:var(--primary,#0284c7);width:260px;box-shadow:0 0 0 2px #0284c726}.source-search-clear-btn{cursor:pointer;color:var(--text-muted,#94a3b8);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:2px 5px;font-size:11px;line-height:1;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.source-search-clear-btn:hover{color:var(--text-primary,#0f172a);background:var(--bg-hover,#f1f5f9)}.sources-toolbar-left .source-toc-page-pill{color:var(--text-secondary,#475569);background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-sm,6px);white-space:nowrap;text-overflow:ellipsis;max-width:280px;padding:4px 10px;font-size:11.5px;font-weight:500;line-height:1.3;display:inline-block;overflow:hidden}.sources-toolbar-center{flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.sources-toolbar-right{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.source-nav-btn-compact{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.source-nav-btn-compact:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}.source-nav-btn-compact:disabled{opacity:.35;cursor:not-allowed}.source-toolbar-page-indicator{color:var(--text-secondary);white-space:nowrap;font-size:12.5px;font-weight:500}.source-toolbar-page-indicator strong{color:var(--text-main);font-weight:600}.source-toolbar-jump-input{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:center;background:var(--bg-panel);width:44px;height:26px;color:var(--text-main);padding:2px 4px;font-size:12px}.sources-reader-canvas-layout.mode-split .sources-page-scan-col,.sources-reader-canvas-layout.mode-split .sources-reading-sheet-col{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.sources-reader-canvas-layout.mode-original .sources-page-scan-col,.sources-reader-canvas-layout.mode-text .sources-reading-sheet-col{flex-direction:column;flex:100%;width:100%;min-width:0;display:flex}.sources-page-scan-card,.sources-paper-sheet{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);box-sizing:border-box;flex-direction:column;width:100%;height:calc(100vh - 210px);min-height:600px;max-height:880px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.sources-split-header{box-sizing:border-box;background:var(--bg-subtle,#f8fafc);border-bottom:1px solid var(--border-subtle,#e2e8f0);height:44px;min-height:44px;color:var(--text-main,#0f172a);justify-content:space-between;align-items:center;padding:0 16px;font-size:12.5px;font-weight:600;display:flex}.sources-split-header-tag{align-items:center;gap:8px;min-width:0;display:flex}.sources-split-header-title{color:var(--text-main,#0f172a);white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-weight:600;overflow:hidden}.sources-split-header-sub{color:var(--text-muted,#94a3b8);white-space:nowrap;font-size:11px;font-weight:400}.source-scan-open-link{color:var(--accent-blue,#2563eb);font-size:11px;font-weight:500;text-decoration:none}.source-scan-open-link:hover{text-decoration:underline}.sources-page-scan-body{box-sizing:border-box;background:#f1f5f9;flex:1 1 0;justify-content:center;align-items:flex-start;min-height:0;padding:16px;display:flex;overflow:auto}.sources-page-scan-img{object-fit:contain;background:#fff;border-radius:4px;max-width:100%;height:auto;box-shadow:0 4px 16px #0f172a1f,0 1px 3px #0f172a14}.sources-page-scan-non-pdf{text-align:center;color:var(--text-muted);background:var(--bg-panel);flex-direction:column;align-items:center;gap:8px;width:100%;height:100%;padding:48px 24px;display:flex}.sources-fb2-book-sheet{color:#1e293b;box-sizing:border-box;background:#fdfbf7;border:1px solid #cbd5e1b3;border-radius:6px;flex-direction:column;justify-content:space-between;width:100%;max-width:720px;min-height:100%;padding:32px 36px;font-family:Charter,Merriweather,Georgia,Times New Roman,serif;transition:font-size .15s;display:flex;box-shadow:0 4px 20px -2px #0f172a14,0 2px 6px -1px #0f172a0a}.sources-fb2-book-header{color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-family:var(--font-sans);border-bottom:1px solid #94a3b840;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:8px;display:flex}.sources-fb2-book-header-title{text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.sources-fb2-book-header-section{text-overflow:ellipsis;white-space:nowrap;color:#475569;max-width:38%;font-weight:500;overflow:hidden}.sources-fb2-book-content{flex:auto}.sources-fb2-book-flow{flex-direction:column;display:flex}.sources-fb2-chapter-header{text-align:center;margin:12px 0 24px}.sources-fb2-chapter-ornament{color:#94a3b8;margin-bottom:6px;font-size:1.4rem}.sources-fb2-chapter-title{color:#0f172a;letter-spacing:-.01em;margin:0 0 10px;font-size:1.4em;font-weight:700;line-height:1.35}.sources-fb2-chapter-divider{background:#cbd5e1;width:60px;height:2px;margin:0 auto}.sources-fb2-subheading{color:#1e293b;margin:20px 0 10px;font-size:1.15em;font-weight:600}.sources-fb2-section-heading{color:#334155;margin:16px 0 8px;font-size:1.05em;font-weight:600}.sources-fb2-epigraph{color:#475569;border-left:2px solid #cbd5e1;margin:12px 0 20px 25%;padding-left:14px;font-style:italic;line-height:1.6}.sources-fb2-para{text-indent:1.75em;text-align:justify;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;color:#1e293b;margin:0 0 .85em;line-height:1.72}.sources-fb2-illustrations-inline{flex-direction:column;align-items:center;gap:16px;margin:20px 0;display:flex}.sources-fb2-figure{text-align:center;max-width:100%;margin:0}.sources-fb2-fig-img{cursor:pointer;border:1px solid #00000014;border-radius:4px;max-width:100%;max-height:420px;transition:transform .15s;box-shadow:0 4px 12px #0f172a14}.sources-fb2-fig-img:hover{transform:scale(1.015)}.sources-fb2-figcaption{color:#64748b;margin-top:6px;font-size:.84em;font-style:italic}.sources-fb2-empty-page{text-align:center;color:#94a3b8;padding:48px 16px;font-style:italic}.sources-fb2-book-footer{color:#94a3b8;font-size:.8rem;font-family:var(--font-sans);border-top:1px solid #94a3b840;justify-content:space-between;align-items:center;margin-top:28px;padding-top:10px;display:flex}.sources-fb2-footer-decor{color:#cbd5e1;font-size:.95rem}.sources-fb2-page-num{color:#475569;letter-spacing:.05em;font-family:Charter,Merriweather,serif;font-weight:600}.sources-fb2-footer-format{text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-size:.72rem}.sources-page-scan-footer{box-sizing:border-box;background:var(--bg-subtle,#f8fafc);border-top:1px solid var(--border-subtle,#e2e8f0);flex:none;justify-content:space-between;align-items:center;height:48px;min-height:48px;padding:0 16px;display:flex}.source-generate-cta-btn{border-radius:var(--radius-md,6px);cursor:pointer;justify-content:center;align-items:center;gap:8px;width:100%;height:38px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 1px 3px #2563eb40;color:#fff!important;background:#2563eb!important;border:1px solid #1d4ed8!important}.source-header-upload-btn{color:var(--text-main,#0f172a);border:1px solid var(--border-strong,#cbd5e1);border-radius:var(--radius-md,6px);cursor:pointer;background:#fff;align-items:center;gap:6px;padding:6px 14px;font-size:12.5px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.source-header-upload-btn:hover{background:var(--bg-subtle,#f1f5f9);border-color:var(--accent-blue,#2563eb);color:var(--accent-blue,#2563eb)}.source-scan-zoom-controls{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#cbd5e1);border-radius:var(--radius-sm,6px);align-items:center;display:inline-flex;overflow:hidden;box-shadow:0 1px 2px #00000008}.source-scan-zoom-btn{color:var(--text-secondary,#475569);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:3px 8px;font-size:13px;font-weight:600;line-height:1;transition:background .12s,color .12s;display:inline-flex}.source-scan-zoom-btn:hover{background:var(--bg-hover,#f1f5f9);color:var(--text-main,#0f172a)}.source-scan-zoom-label{border:none;border-left:1px solid var(--border-subtle,#e2e8f0);border-right:1px solid var(--border-subtle,#e2e8f0);background:var(--bg-subtle,#f8fafc);color:var(--text-main,#0f172a);cursor:pointer;text-align:center;min-width:44px;padding:3px 7px;font-size:11px;font-weight:600;transition:background .12s}.source-scan-zoom-label:hover{background:#e2e8f0}.source-kbd-nav-hint{color:var(--text-muted,#64748b);background:var(--bg-subtle,#f1f5f9);border:1px solid var(--border-subtle,#e2e8f0);border-radius:4px;align-items:center;gap:4px;margin-left:12px;padding:2px 6px;font-size:11px;font-weight:500;display:inline-flex}.source-lightbox-trigger-btn{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600;transition:all .12s}.source-lightbox-trigger-btn:hover{background:#dbeafe;border-color:#93c5fd}.source-lightbox-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0f172abf;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out sourceFadeIn;display:flex;position:fixed;inset:0}.source-lightbox-dialog{background:#fff;border:1px solid #cbd5e1;border-radius:12px;flex-direction:column;width:100%;max-width:960px;max-height:90vh;animation:.18s ease-out sourceScaleIn;display:flex;overflow:hidden;box-shadow:0 20px 35px -8px #00000059,0 10px 18px -6px #0003}.source-lightbox-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.source-lightbox-title-wrap{flex-direction:column;gap:2px;min-width:0;display:flex}.source-lightbox-title{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.source-lightbox-sub{color:#64748b;font-size:11.5px}.source-lightbox-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1;transition:all .12s}.source-lightbox-close-btn:hover{color:#0f172a;background:#e2e8f0}.source-lightbox-body{background:#090d16;flex:auto;justify-content:center;align-items:center;min-height:240px;max-height:calc(90vh - 120px);padding:16px;display:flex;overflow:auto}.source-lightbox-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 4px 20px #0006}.source-lightbox-footer{color:#64748b;background:#f8fafc;border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;font-size:12px;display:flex}.source-lightbox-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.source-lightbox-meta strong{color:#0f172a}.source-selection-tooltip{pointer-events:auto;background:#0f172a;border:1px solid #334155;border-radius:8px;align-items:center;gap:4px;padding:5px 6px;animation:.15s ease-out sourceTooltipPop;display:flex;box-shadow:0 10px 25px -4px #0006,0 4px 10px -2px #00000040}.source-selection-action-btn{color:#f8fafc;cursor:pointer;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:500;transition:all .12s;display:inline-flex}.source-selection-action-btn:hover{color:#fff;background:#fff3;border-color:#ffffff4d;transform:translateY(-1px)}.source-selection-action-btn.primary{color:#fff;background:#2563eb;border-color:#3b82f6;font-weight:600}.source-selection-action-btn.primary:hover{background:#1d4ed8;border-color:#60a5fa}@keyframes sourceTooltipPop{0%{opacity:0;transform:translate(-50%,-90%)scale(.95)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}@keyframes sourceFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sourceScaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.tasks-local-nav{border-bottom:2px solid var(--border-subtle);scrollbar-width:thin;gap:8px;margin-bottom:24px;padding-bottom:0;display:flex;overflow-x:auto}.tasks-tab-btn{min-height:44px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:500;transition:all .15s;display:inline-flex}.tasks-tab-btn:hover{color:var(--accent-blue);background:var(--bg-subtle)}.tasks-tab-btn.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);background:0 0;font-weight:700}.tasks-tab-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.tasks-tab-count-badge{border-radius:var(--radius-full);background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);padding:2px 8px;font-size:.75rem;font-weight:700}.tasks-tab-btn.active .tasks-tab-count-badge{background:var(--accent-blue-border,#dbeafe);color:var(--accent-blue,#1d4ed8);border-color:#bfdbfe}.tasks-wizard-container{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}@media (width<=960px){.tasks-wizard-container{grid-template-columns:1fr}}.tasks-wizard-stepper{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:8px;margin-bottom:24px;padding:14px 20px;display:flex;overflow-x:auto}.tasks-wizard-step{cursor:pointer;border-radius:var(--radius-md);color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:6px 10px;font-size:.88rem;font-weight:500;transition:all .15s;display:flex}.tasks-wizard-step:hover{background:var(--bg-subtle)}.tasks-wizard-step.active{color:var(--accent-blue);font-weight:700}.tasks-wizard-step.done{color:var(--status-success-text)}.tasks-wizard-step-num{background:var(--bg-subtle);border:1px solid var(--border-subtle);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex}.tasks-wizard-step.active .tasks-wizard-step-num{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue)}.tasks-wizard-step.done .tasks-wizard-step-num{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success-border)}.tasks-wizard-step-arrow{color:var(--border-strong,#94a3b8);font-size:.85rem}.tasks-wizard-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm,0 1px 2px #0000000d);padding:24px}.tasks-wizard-nav-buttons{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:20px;display:flex}.tasks-preflight-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-subtle);margin-bottom:20px;padding:16px 20px}.tasks-preflight-card.ready{background:var(--status-success-bg);border-color:var(--status-success-border);color:var(--status-success-text)}.tasks-preflight-card.blocked{background:var(--status-warning-bg);border-color:var(--status-warning-border);color:var(--status-warning-text)}.tasks-form-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:20px;display:grid}.tasks-form-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-panel);cursor:pointer;flex-direction:column;justify-content:space-between;padding:16px;transition:all .15s;display:flex;position:relative}.tasks-form-card:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #0000000d}.tasks-form-card.selected{border:2px solid var(--accent-blue);background:#f0f7ff}.tasks-form-card-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.tasks-form-card-icon{font-size:1.4rem;line-height:1}.tasks-form-card-title{color:var(--text-main);font-size:.95rem;font-weight:700}.tasks-form-card.selected .tasks-form-card-title{color:var(--accent-blue)}.tasks-form-card-desc{color:var(--text-secondary);flex:1;margin:0 0 10px;font-size:.82rem;line-height:1.4}.tasks-form-card-rule{color:#b45309;border-radius:var(--radius-sm);background:#fffbeb;border:1px solid #fde68a;padding:4px 8px;font-size:.76rem;line-height:1.3}.tasks-presets-container{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px}.tasks-preset-btn{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.tasks-preset-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:#eff6ff}.tasks-preset-btn.text-only{color:var(--text-secondary);background:0 0;border-color:#0000}.tasks-preset-btn.text-only:hover{background:var(--bg-subtle);color:var(--text-main)}.tasks-preset-badge{color:#1e40af;background:#dbeafe;border-radius:9999px;padding:2px 6px;font-size:.75rem;font-weight:700}.tasks-variability-card{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:12px 14px}.tasks-stepper-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);width:26px;height:26px;color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;line-height:1;transition:all .1s;display:flex}.tasks-stepper-btn:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e1}.tasks-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.tasks-stepper-input{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-panel);width:44px;color:var(--text-main);padding:3px 4px;font-size:.9rem;font-weight:700}.tasks-batch-progress-card{transition:all .2s}.tasks-tech-details{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);margin-top:16px;overflow:hidden}.tasks-tech-summary{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-panel);padding:10px 14px;font-size:.82rem;font-weight:600}.tasks-tech-content{border-top:1px solid var(--border-subtle);gap:12px;padding:14px;font-size:.82rem;display:grid}.tasks-review-layout{grid-template-columns:320px 1fr;align-items:start;gap:20px;display:grid}@media (width<=900px){.tasks-review-layout{grid-template-columns:1fr}}.tasks-review-queue{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;gap:8px;max-height:calc(100vh - 260px);padding:16px;display:flex;overflow-y:auto}.tasks-review-queue-item{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-panel);cursor:pointer;text-align:left;flex-direction:column;gap:6px;padding:12px 14px;transition:all .15s;display:flex}.tasks-review-queue-item:hover{background:var(--bg-subtle)}.tasks-review-queue-item.active{border:2px solid var(--accent-blue);background:#f0f7ff}.tasks-review-focus-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm,0 1px 3px #0000000d);padding:24px}.tasks-validation-blocking{border-radius:var(--radius-md);color:#991b1b;background:#fef2f2;border:1px solid #f87171;margin-bottom:16px;padding:12px 16px}.tasks-validation-warning{border-radius:var(--radius-md);color:#92400e;background:#fffbeb;border:1px solid #fde68a;margin-bottom:16px;padding:10px 14px}.tasks-validation-valid{border-radius:var(--radius-md);color:#166534;background:#f0fdf4;border:1px solid #86efac;margin-bottom:16px;padding:10px 14px}.tasks-evidence-details,.tasks-methodology-details{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);margin-top:12px;overflow:hidden}.tasks-evidence-summary,.tasks-methodology-summary{color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-panel);align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;font-weight:600;display:flex}.tasks-evidence-body,.tasks-methodology-body{border-top:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-secondary);padding:14px 16px;font-size:.85rem;line-height:1.5}.tasks-bank-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;transition:all .15s;display:flex}.tasks-bank-card:hover{border-color:var(--border-strong);box-shadow:0 2px 6px #0000000a}.tasks-empty-state{text-align:center;background:var(--bg-subtle);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.tasks-empty-state-icon{font-size:2.5rem}.tasks-empty-state-title{color:var(--text-main);margin:0;font-size:1.15rem;font-weight:700}.tasks-empty-state-desc{color:var(--text-secondary);max-width:480px;margin:0;font-size:.9rem;line-height:1.5}.groups-view-container{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}.groups-view-wrapper{box-sizing:border-box;width:100%;max-width:100%;display:block}.groups-master-detail{box-sizing:border-box;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:24px;width:100%;max-width:100%;display:grid}@media (width<=768px){.app-shell-main{padding:12px 10px!important}.groups-master-detail{box-sizing:border-box;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;max-width:100%}.groups-master-detail.mobile-show-detail .groups-sidebar-panel,.groups-master-detail.mobile-show-list .groups-detail-panel{display:none}.group-detail-header-card{padding:14px 12px!important}}.groups-sidebar-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:16px;display:flex}.groups-sidebar-header{justify-content:space-between;align-items:center;display:flex}.groups-sidebar-title{color:var(--text-main);align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:700;display:flex}.groups-list-container{flex-direction:column;gap:8px;max-height:480px;display:flex;overflow-y:auto}.group-item-card{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-panel);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;transition:all .15s;display:flex}.group-item-card:hover{border-color:var(--accent-blue-border);background:var(--bg-subtle)}.group-item-card.active{border-color:var(--accent-blue);background:var(--accent-blue-subtle)}.group-item-card:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.group-item-name{color:var(--text-main);font-size:.92rem;font-weight:600}.group-item-meta{color:var(--text-secondary);align-items:center;gap:6px;margin-top:2px;font-size:.78rem;display:flex}.groups-detail-panel{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;max-width:100%;display:flex}.group-detail-header-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);flex-direction:column;gap:14px;padding:18px 20px;display:flex}.group-detail-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.group-detail-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.groups-table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-panel);width:100%;max-width:100%;overflow-x:auto}.groups-table{border-collapse:collapse;width:100%;font-size:.88rem}.groups-table th{background:var(--bg-subtle);text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding:10px 14px;font-weight:600}.groups-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle;padding:12px 14px}.groups-table tr:last-child td{border-bottom:none}.groups-empty-state-card{text-align:center;background:var(--bg-panel);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);flex-direction:column;justify-content:center;align-items:center;gap:16px;max-width:640px;margin:0 auto;padding:48px 24px;display:flex}.groups-empty-icon{font-size:3rem;line-height:1}.groups-empty-title{color:var(--text-main);margin:0;font-size:1.25rem;font-weight:700}.groups-empty-desc{color:var(--text-secondary);max-width:520px;margin:0;font-size:.92rem;line-height:1.55}.permission-callout{border-radius:var(--radius-md);align-items:flex-start;gap:10px;padding:10px 14px;font-size:.84rem;line-height:1.45;display:flex}.permission-callout.info{background:var(--accent-blue-subtle);border:1px solid var(--accent-blue-border);color:#1e40af}.permission-callout.warning{background:var(--status-warning-bg);border:1px solid var(--status-warning-border);color:var(--status-warning-text)}.permission-callout.blocked{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);color:var(--status-danger-text)}.mobile-back-btn{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:8px;padding:6px 0;font-size:.88rem;font-weight:600;display:none}@media (width<=768px){.mobile-back-btn{display:inline-flex}}.testing-workspace-container{gap:var(--spacing-lg,20px);box-sizing:border-box;flex-direction:column;width:100%;max-width:1320px;margin:0 auto;display:flex}.testing-stages-nav{gap:var(--spacing-sm,8px);border-bottom:2px solid var(--border-subtle,#e2e8f0);flex-wrap:wrap;padding-bottom:2px;display:flex}.testing-stage-btn{border-radius:var(--radius-md,8px) var(--radius-md,8px) 0 0;color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:.92rem;font-weight:600;transition:all .2s;display:inline-flex;position:relative}.testing-stage-btn:hover{color:var(--text-main,#0f172a);background:var(--bg-hover,#00000008)}.testing-stage-btn.active{color:var(--accent-blue,#2563eb);background:var(--accent-blue-subtle,#2563eb14);border-bottom:2px solid var(--accent-blue,#2563eb)}.testing-stage-btn:focus-visible{outline:2px solid var(--accent-blue,#2563eb);outline-offset:2px}.testing-stage-badge{background:var(--border-subtle,#e2e8f0);color:var(--text-secondary,#64748b);border-radius:9999px;padding:2px 7px;font-size:.75rem;font-weight:700}.testing-stage-btn.active .testing-stage-badge{background:var(--accent-blue,#2563eb);color:#fff}.testing-specs-grid{gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.testing-spec-card{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-lg,12px);padding:var(--spacing-md,16px);flex-direction:column;gap:12px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000a}.testing-spec-card:hover{box-shadow:0 4px 12px #00000014}.testing-coverage-card{background:var(--bg-app,#f8fafc);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);flex-direction:column;gap:8px;padding:12px;display:flex}.testing-coverage-bar{background:#e2e8f0;border-radius:4px;height:8px;position:relative;overflow:hidden}.testing-coverage-progress{border-radius:4px;height:100%;transition:width .3s}.testing-coverage-progress.ok{background:var(--status-success,#10b981)}.testing-coverage-progress.warning{background:var(--status-warning,#f59e0b)}.testing-coverage-progress.deficit{background:var(--status-danger,#ef4444)}.testing-deficit-chip{border-radius:var(--radius-sm,4px);align-items:center;gap:4px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.testing-deficit-chip.ok{color:#059669;background:#10b9811f}.testing-deficit-chip.warning{color:#d97706;background:#f59e0b1f}.testing-deficit-chip.deficit{color:#dc2626;background:#ef44441f}.testing-wizard-container{gap:var(--spacing-md,16px);flex-direction:column;display:flex}.testing-wizard-stepper{margin-bottom:var(--spacing-sm,8px);justify-content:space-between;align-items:center;padding:0 8px;display:flex;position:relative}.testing-wizard-step{z-index:2;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:4px;display:flex;position:relative}.testing-wizard-step-circle{background:var(--border-subtle,#e2e8f0);width:32px;height:32px;color:var(--text-secondary,#64748b);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.testing-wizard-step.active .testing-wizard-step-circle{background:var(--accent-blue,#2563eb);color:#fff;box-shadow:0 0 0 3px #2563eb33}.testing-wizard-step.completed .testing-wizard-step-circle{background:var(--status-success,#10b981);color:#fff}.testing-wizard-step-label{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:.78rem;font-weight:600}.testing-wizard-step.active .testing-wizard-step-label{color:var(--accent-blue,#2563eb)}.testing-wizard-body{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-lg,12px);padding:var(--spacing-lg,20px);flex-direction:column;gap:16px;display:flex}.testing-summary-panel{background:var(--bg-app,#f8fafc);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);padding:var(--spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.testing-summary-item{flex-direction:column;gap:2px;display:flex}.testing-summary-label{color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:600}.testing-summary-value{color:var(--text-main,#0f172a);font-size:.95rem;font-weight:600}.testing-results-tree{flex-direction:column;gap:10px;display:flex}.testing-student-card{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);transition:border-color .15s;overflow:hidden}.testing-student-card:hover{border-color:var(--border-strong,#cbd5e1)}.testing-student-header{cursor:pointer;background:var(--bg-panel,#fff);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.testing-student-header:hover{background:var(--bg-hover,#00000005)}.testing-attempts-list{border-top:1px solid var(--border-subtle,#e2e8f0);background:var(--bg-app,#f8fafc);flex-direction:column;gap:8px;padding:10px 16px;display:flex}.testing-exports-panel{gap:var(--spacing-md,16px);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.testing-export-card{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);padding:var(--spacing-md,16px);flex-direction:column;justify-content:space-between;gap:10px;transition:transform .15s,box-shadow .15s;display:flex}.testing-export-card:hover{box-shadow:0 4px 10px #0000000f}.testing-export-desc{color:var(--text-secondary,#64748b);font-size:.82rem;line-height:1.45}.testing-workspace-container{box-sizing:border-box;flex-direction:column;gap:24px;width:100%;max-width:100%;display:flex}.testing-events-layout{box-sizing:border-box;grid-template-columns:340px 1fr;gap:20px;width:100%;max-width:100%;display:grid}.testing-results-table-container{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);box-sizing:border-box;border-radius:10px;max-width:100%;overflow-x:auto}@media (width<=900px){.testing-events-layout{grid-template-columns:1fr}}@media (width<=768px){.testing-workspace-container{gap:16px}.testing-stages-nav{gap:4px;max-width:100%;overflow-x:auto}.testing-stage-btn{white-space:nowrap;padding:8px 12px;font-size:.85rem}.testing-specs-grid,.testing-exports-panel,.testing-summary-panel{grid-template-columns:1fr}}.student-cabinet{max-width:1100px;margin:0 auto;padding:32px 24px}.student-cabinet-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.student-cabinet-greeting{color:var(--text-main);margin:0 0 6px;font-size:1.6rem;font-weight:700}.student-cabinet-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.student-cabinet-tabs{border-bottom:1px solid var(--border-subtle);gap:8px;margin-bottom:28px;padding-bottom:2px;display:flex;overflow-x:auto}.student-cabinet-tab-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-size:.95rem;font-weight:500;transition:all .15s;display:inline-flex}.student-cabinet-tab-btn:hover{color:var(--text-main)}.student-cabinet-tab-btn.active{color:var(--accent-blue);border-bottom-color:var(--accent-blue);font-weight:600}.student-hero-banner{border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);background:linear-gradient(135deg,#2563eb14 0%,#3b82f60a 100%);border:1px solid #2563eb40;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;padding:24px;display:flex}.student-hero-content{flex:1;min-width:280px}.student-hero-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-blue);color:#fff;border-radius:999px;align-items:center;gap:6px;margin-bottom:8px;padding:3px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.student-hero-title{color:var(--text-main);margin:0 0 8px;font-size:1.3rem;font-weight:700}.student-hero-details{color:var(--text-secondary);flex-wrap:wrap;gap:16px;font-size:.88rem;display:flex}.student-hero-btn{border-radius:var(--radius-md);background:var(--accent-blue);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:12px 24px;font-size:1rem;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #2563eb4d}.student-hero-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.student-assignment-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:32px;display:grid}.student-assignment-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);flex-direction:column;justify-content:space-between;gap:18px;padding:22px;transition:all .15s;display:flex}.student-assignment-card:hover{border-color:var(--border-strong)}.student-empty-explanation{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;color:var(--text-secondary);max-width:680px;box-shadow:var(--shadow-panel);margin:20px auto;padding:40px 24px;font-size:1rem}.student-zen-runner{background:var(--bg-app);flex-direction:column;max-width:100%;min-height:100vh;display:flex;overflow-x:hidden}.zen-topbar{z-index:100;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex;position:sticky;top:0}.zen-topbar-left{flex-direction:column;gap:2px;min-width:180px;display:flex}.zen-topbar-title{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:600}.zen-topbar-subtitle{color:var(--text-secondary);font-size:.8rem}.zen-topbar-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.zen-timer{font-size:1rem;font-weight:700;font-family:var(--font-mono);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text-main);border:1px solid var(--border-subtle);box-sizing:border-box;align-items:center;gap:6px;min-height:44px;padding:6px 14px;display:inline-flex}.zen-timer.warning{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-border);animation:1.5s infinite pulse}.zen-exit-btn{border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border-strong);cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 16px;font-size:.88rem;font-weight:500;transition:all .15s;display:inline-flex}.zen-exit-btn:hover{background:var(--bg-subtle);color:var(--text-main)}.zen-submit-btn{border-radius:var(--radius-md);background:var(--status-success-text);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 20px;font-size:.95rem;font-weight:600;transition:all .15s;display:inline-flex}.zen-submit-btn:hover{filter:brightness(1.1)}.zen-layout{flex:1;max-width:100%;display:flex}.zen-nav-sidebar{background:var(--bg-panel);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;gap:16px;width:280px;padding:20px 16px;display:flex}.zen-question-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.zen-question-btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid var(--border-subtle);background:var(--bg-panel);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-main);flex-direction:column;justify-content:center;align-items:center;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.zen-question-btn.current{border:2px solid var(--accent-blue);background:var(--accent-blue-subtle);color:var(--accent-blue);outline:2px solid var(--accent-blue);outline-offset:1px}.zen-question-btn.answered:not(.current){border:1px solid var(--status-success-border);background:var(--status-success-bg);color:var(--status-success-text)}.zen-question-btn.flagged:not(.current){border:1px solid var(--status-warning-border);background:var(--status-warning-bg);color:var(--status-warning-text)}.zen-question-btn.unanswered:not(.current){border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-secondary)}.zen-question-btn.locked{cursor:not-allowed;opacity:.6;background:var(--bg-subtle)}.zen-question-icon{margin-top:1px;font-size:9px;line-height:1}.zen-nav-legend{background:var(--bg-subtle);border-radius:var(--radius-md);color:var(--text-secondary);border:1px solid var(--border-subtle);flex-direction:column;gap:6px;padding:12px;font-size:.8rem;display:flex}.zen-legend-item{align-items:center;gap:8px;display:flex}.zen-main-card{box-sizing:border-box;flex:1;max-width:900px;padding:28px 36px}.zen-card-container{background:var(--bg-panel);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);border:1px solid var(--border-subtle);padding:28px}.zen-flag-btn{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:8px 14px;font-size:.88rem;transition:all .15s;display:inline-flex}.zen-flag-btn.flagged{border-color:var(--status-warning-border);background:var(--status-warning-bg);color:var(--status-warning-text);font-weight:600}.zen-bottom-nav{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding-top:20px;display:flex}.zen-nav-btn{border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:all .15s;display:inline-flex}.zen-nav-btn-primary{background:var(--accent-blue);color:#fff;border:none}.zen-nav-btn-secondary{background:var(--bg-panel);color:var(--text-main);border:1px solid var(--border-strong)}.zen-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.zen-modal-card{background:var(--bg-panel);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);width:100%;max-width:520px;padding:28px;box-shadow:0 10px 25px #0003}@media (width<=768px){.student-cabinet{padding:16px 12px}.zen-layout{flex-direction:column}.zen-nav-sidebar{border-right:none;border-bottom:1px solid var(--border-subtle);width:100%;padding:12px}.zen-question-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.zen-main-card{padding:16px 12px}.zen-topbar{padding:10px 12px}}:root{--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--motion-fast:.15s;--motion-normal:.2s;--focus-ring:0 0 0 2px var(--accent-blue-border)}.app-shell-root{background:var(--bg-app);height:100vh;min-height:100vh;overflow:hidden}header.app-shell-topbar{background:var(--bg-panel);height:48px;min-height:48px;color:var(--text-main);border-bottom:1px solid var(--border-subtle);box-shadow:none;flex-wrap:nowrap;gap:14px;padding:0 16px}.app-shell-topbar-left,.app-shell-topbar-right{min-width:0}.app-shell-topbar-left{flex:auto;align-items:center;gap:12px;display:flex;overflow:visible}.app-shell-brand{color:var(--text-main);border-radius:var(--radius-sm);box-shadow:none;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:0;display:flex}.app-shell-brand:hover{color:var(--text-main);background:0 0}.app-shell-brand:focus-visible,.app-shell-icon-btn:focus-visible,.app-shell-logout:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.app-shell-brand-copy{white-space:nowrap;align-items:baseline;gap:6px;display:flex}.app-shell-brand-copy span{letter-spacing:-.2px;color:var(--text-main);font-size:13.5px;font-weight:500}.app-shell-brand-copy small{color:var(--text-muted);font-size:10.5px;font-weight:400}.view-segmented-control,.app-shell-navbar{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-sizing:border-box;scrollbar-width:none;flex:0 auto;align-items:center;gap:2px;padding:2px;display:inline-flex;overflow:auto hidden}.app-shell-navbar::-webkit-scrollbar{display:none}.nav-tab-btn,.app-shell-nav-btn,.segment-btn{height:26px;min-height:26px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.nav-tab-btn:hover,.app-shell-nav-btn:hover,.segment-btn:hover{color:var(--text-main);background:#0000000a}.nav-tab-btn.active,.app-shell-nav-btn.active,.segment-btn.active{background:var(--bg-panel);color:var(--text-main);border-bottom:0;font-weight:600;box-shadow:0 1px 2px #0000000f}.segment-badge{border-radius:var(--radius-full);background:var(--bg-muted);color:var(--text-secondary);margin-left:2px;padding:1px 6px;font-size:10.5px;font-weight:600}.segment-btn.active .segment-badge{background:var(--bg-subtle);color:var(--text-main)}.app-shell-topbar-right{flex:none;align-items:center;gap:8px;display:flex}.topbar-discipline-picker{gap:5px;height:30px;margin:0;padding:2px 7px}.topbar-discipline-picker label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:600;display:block}.topbar-discipline-picker select{border-radius:var(--radius-sm);width:auto;min-width:90px;max-width:190px;color:var(--text-main);box-shadow:none;background-color:#0000;border:0;padding:2px 22px 2px 4px;font-size:11.5px;font-weight:500}.app-shell-role-badge{border:1px solid var(--status-neutral-border);border-radius:var(--radius-sm);background:var(--status-neutral-bg);height:24px;color:var(--status-neutral-text);align-items:center;padding:0 7px;font-size:10.5px;font-weight:600;display:inline-flex}.app-shell-role-badge.role-student{border-color:var(--status-success-border);background:var(--status-success-bg);color:var(--status-success-text)}.app-shell-icon-btn{flex:none;padding:0;position:relative}.app-shell-notification-count{border:1px solid var(--bg-panel);border-radius:var(--radius-full);background:var(--status-danger-text);color:#fff;place-items:center;min-width:15px;height:15px;padding:0 4px;font-size:9px;line-height:1;display:grid;position:absolute;top:-5px;right:-5px}.app-shell-user-name{max-width:132px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:500;overflow:hidden}.app-shell-logout{background:var(--bg-panel);height:28px;color:var(--text-main);padding:4px 10px}.app-shell-workspace-layout{flex:auto;height:calc(100vh - 48px);min-height:0;display:flex;position:relative;overflow:hidden}.col-sidebar,.app-shell-explorer{background:var(--bg-panel);border-right:1px solid var(--border-subtle);z-index:20;flex-direction:column;flex-shrink:0;width:260px;min-width:220px;max-width:560px;transition:width .18s,opacity .18s;display:flex;overflow:hidden}.col-sidebar.resizing,.app-shell-explorer.resizing{-webkit-user-select:none;user-select:none;transition:none!important}.app-shell-sidebar-resizer{cursor:col-resize;z-index:30;background:0 0;flex-shrink:0;width:6px;margin-left:-3px;transition:background-color .15s;position:relative}.app-shell-sidebar-resizer:hover,.app-shell-sidebar-resizer.active{background:var(--accent-blue)}.col-sidebar.collapsed,.app-shell-explorer.collapsed{opacity:1!important;pointer-events:auto!important;border-right:1px solid var(--border-subtle)!important;width:36px!important;min-width:36px!important;max-width:36px!important}.app-shell-explorer.collapsed .explorer-header-title,.app-shell-explorer.collapsed .tree-item-count,.app-shell-explorer.collapsed .explorer-tree,.app-shell-explorer.collapsed .explorer-collapse-btn span{display:none!important}.app-shell-explorer.collapsed .explorer-collapse-btn{justify-content:center;padding:6px 0}.col-header,.explorer-header{border-bottom:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.5px;height:42px;color:var(--text-secondary);background:var(--bg-panel);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 14px;font-size:11px;font-weight:600;display:flex}.explorer-header-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.col-scroll,.explorer-tree{flex:auto;padding:8px 0;overflow-y:auto}.explorer-footer{border-top:1px solid var(--border-subtle);background:var(--bg-panel);flex-shrink:0;padding:8px 12px}.explorer-collapse-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-subtle);width:100%;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:11.5px;font-weight:500;transition:background .15s,color .15s;display:flex}.explorer-collapse-btn:hover{background:var(--border-subtle);color:var(--text-main)}.tree-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;padding:8px 14px 4px;font-size:10.5px;font-weight:600}.tree-item{cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:calc(100% - 12px);margin:1px 6px;padding:6px 12px;font-size:12.5px;line-height:1.4;transition:background .12s,color .12s;display:flex}.tree-item:hover{background:var(--bg-subtle);color:var(--text-main)}.tree-item.active{background:var(--bg-subtle);color:var(--text-main);font-weight:600}.tree-item-count{color:var(--text-muted);background:var(--bg-muted);border-radius:10px;margin-left:auto;padding:1px 6px;font-size:11px}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.status-dot.answered{background:var(--text-main)}.status-dot.flagged{background:#f59e0b}.status-dot.unanswered{background:var(--border-strong)}.col-main,.app-shell-main{background:var(--bg-app);flex:auto;min-width:0;min-height:0;padding:14px 18px;overflow:auto}.app-shell-main .home-workspace,.app-shell-main .sources-ux-workspace,.app-shell-main .tasks-workspace,.app-shell-main .testing-workspace-container,.app-shell-main .student-cabinet{width:100%;max-width:1720px!important;margin:0!important;padding:0!important}.app-shell-main h1{line-height:1.2;font-size:clamp(1.3rem,2vw,1.6rem)!important}.app-shell-main h2{font-size:1.15rem}.app-shell-main h3{font-size:1rem}.app-shell-main .card,.app-shell-main .testing-spec-card,.app-shell-main .testing-export-card,.app-shell-main .student-assignment-card,.app-shell-main .groups-sidebar-panel,.app-shell-main .group-detail-header-card,.app-shell-main .source-column-card,.app-shell-main .tasks-bank-card,.app-shell-main .tasks-wizard-card,.app-shell-main .tasks-review-focus-card{border-radius:var(--radius-md);box-shadow:var(--shadow-subtle)}.app-shell-main .tasks-form-card.selected,.app-shell-main .material-sidebar-item.active{border-color:var(--border-strong);background:var(--bg-subtle);box-shadow:var(--shadow-subtle)}.tasks-form-card-icon{width:22px;height:22px;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.tasks-form-card.selected .tasks-form-card-icon{color:var(--text-main)}.tasks-form-rule-label{color:var(--text-secondary);margin-right:4px;font-weight:600;display:inline-block}.home-header-card{min-height:auto;border:1px solid var(--border-subtle)!important;border-radius:var(--radius-md)!important;background:var(--bg-panel)!important;box-shadow:var(--shadow-subtle)!important;color:var(--text-main)!important;margin-bottom:14px!important;padding:14px 16px!important}.home-header-card h2,.home-header-card strong{color:var(--text-main)!important}.home-header-card p,.home-header-card label,.home-header-card [data-testid=active-discipline-badge]{color:var(--text-secondary)!important}.home-header-card select{background:var(--bg-subtle)!important;border:1px solid var(--border-subtle)!important;color:var(--text-main)!important}.discipline-metrics-grid,.pending-actions-grid{gap:10px!important}.discipline-metrics-grid>*,.pending-actions-grid>*{border-radius:var(--radius-md)!important;box-shadow:none!important;padding:12px 14px!important}.sources-ux-workspace,.testing-workspace-container,.tasks-workspace,.groups-view-wrapper{gap:14px!important}.sources-ux-header{gap:10px}.sources-ux-title-group h1{font-size:1.35rem}.sources-ux-title-group p,.tasks-workspace>div:first-child p{font-size:.84rem!important}.sources-ux-tabs-bar,.tasks-local-nav,.testing-stages-nav,.student-cabinet-tabs{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);scrollbar-width:none;gap:2px;width:fit-content;max-width:100%;margin:0 0 10px;padding:2px;display:flex;overflow-x:auto}.sources-ux-tab-btn,.tasks-tab-btn,.testing-stage-btn,.student-cabinet-tab-btn{border-radius:var(--radius-sm);min-height:30px;color:var(--text-secondary);white-space:nowrap;background:0 0;border:0;margin:0;padding:5px 11px;font-size:12px;font-weight:500}.sources-ux-tab-btn.active,.tasks-tab-btn.active,.testing-stage-btn.active,.student-cabinet-tab-btn.active{background:var(--bg-panel);color:var(--text-main);box-shadow:var(--shadow-subtle);border:0;font-weight:600}.sources-catalog-toolbar{border-radius:var(--radius-md);padding:8px 10px}.sources-search-input,.sources-status-select,.sources-upload-btn{min-height:32px;padding-top:5px;padding-bottom:5px}.groups-master-detail{background:var(--bg-panel);border:1px solid var(--border-subtle);grid-template-columns:260px minmax(0,1fr);align-items:stretch;gap:0;min-height:calc(100vh - 78px)}.groups-sidebar-panel{border:0;border-right:1px solid var(--border-subtle);box-shadow:none;border-radius:0;padding:12px 8px}.groups-detail-panel{gap:12px;padding:14px 18px}.group-detail-header-card{border:0;border-bottom:1px solid var(--border-subtle);box-shadow:none;border-radius:0;padding:0 0 12px}.group-item-card{border-color:#0000;padding:7px 10px}.group-item-card.active{background:var(--bg-subtle);border-color:#0000}.groups-table th,.testing-results-table-container th,.protocol-table th,.elements-table th,.audit-table th{background:var(--bg-subtle);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;padding:8px 12px;font-size:10.5px;font-weight:600}.groups-table td,.testing-results-table-container td,.protocol-table td,.elements-table td,.audit-table td{padding:8px 12px;font-size:12.5px}.testing-specs-grid{gap:12px}.testing-spec-card,.testing-export-card{gap:8px;padding:12px}.testing-summary-panel{gap:10px;padding:12px}.student-cabinet-header{margin-bottom:12px}.student-cabinet-greeting{font-size:1.35rem}.student-hero-banner{border-radius:var(--radius-md);background:var(--accent-blue-subtle);box-shadow:var(--shadow-subtle);margin-bottom:16px;padding:14px 16px}.student-assignment-grid{gap:12px;margin-bottom:18px}.student-assignment-card{gap:12px;padding:14px}.sources-upload-btn,.gen-readiness-cta,.student-hero-btn,.btn-action.primary,.zen-primary-btn,.zen-nav-btn-primary,.zen-submit-btn{border-color:var(--accent-primary);background:var(--accent-primary);color:var(--bg-panel);box-shadow:none}.sources-upload-btn:hover,.gen-readiness-cta:hover,.student-hero-btn:hover,.btn-action.primary:hover,.zen-primary-btn:hover,.zen-nav-btn-primary:hover,.zen-submit-btn:hover{border-color:var(--accent-primary-hover);background:var(--accent-primary-hover);color:var(--bg-panel);filter:none;transform:none}.student-zen-runner{font-size:13px}.student-zen-runner .zen-topbar{border-bottom:1px solid var(--border-subtle);min-height:52px;box-shadow:none;padding:0 24px}.student-zen-runner .zen-timer,.student-zen-runner .zen-exit-btn,.student-zen-runner .zen-submit-btn{min-height:32px}.student-zen-runner .zen-layout{min-height:0}.student-zen-runner .zen-nav-sidebar{background:var(--bg-panel);width:220px}.student-zen-runner .zen-main-card{border-radius:var(--radius-lg);max-width:680px;box-shadow:var(--shadow-panel)}.modal-card,.zen-modal-card,.modal-transfer-card,.sharing-modal-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-popover)}@media (width<=1365px){.app-shell-brand-copy small,.app-shell-role-badge,.app-shell-user-name,.topbar-discipline-picker label{display:none}.topbar-discipline-picker select{max-width:150px}}@media (width<=900px){.app-shell-root{height:auto;min-height:100vh;overflow:visible}header.app-shell-topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand controls""nav nav";align-content:center;gap:6px 10px;height:auto;min-height:84px;padding:7px 10px;display:grid}.app-shell-topbar-left{display:contents}.app-shell-brand{grid-area:brand;justify-self:start}.app-shell-topbar .topbar-divider{display:none}.app-shell-navbar{grid-area:nav;width:100%}.app-shell-topbar-right{grid-area:controls}.app-shell-main{min-height:calc(100vh - 84px);padding:12px 10px;overflow:visible}.groups-master-detail{border-radius:var(--radius-md);min-height:auto}}@media (width<=620px){header.app-shell-topbar{grid-template-columns:minmax(0,1fr) auto}.topbar-discipline-picker{max-width:148px}.topbar-discipline-picker select{max-width:130px}.app-shell-logout{color:#0000;width:28px;padding:0;overflow:hidden}.app-shell-logout:before{content:"↪";color:var(--text-main);font-size:14px}.app-shell-main{padding:10px 8px}.sources-ux-tabs-bar,.tasks-local-nav,.testing-stages-nav,.student-cabinet-tabs{width:100%}.sources-ux-tab-btn,.tasks-tab-btn,.testing-stage-btn,.student-cabinet-tab-btn,.sources-search-input,.sources-status-select,.sources-upload-btn{min-height:44px}.groups-master-detail{border:0}.groups-sidebar-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.groups-detail-panel{padding:0}.student-zen-runner .zen-topbar{min-height:0;padding:10px 12px}.student-zen-runner .zen-timer,.student-zen-runner .zen-exit-btn,.student-zen-runner .zen-submit-btn{min-height:44px}}.topbar-discipline-switcher{align-items:center;gap:4px;display:flex;position:relative}.discipline-dropdown-wrapper{align-items:center;display:flex;position:relative}.discipline-dropdown-trigger{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-subtle);height:26px;color:var(--text-main);cursor:pointer;align-items:center;gap:6px;max-width:250px;padding:0 8px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.discipline-dropdown-trigger:hover{background:var(--bg-muted);border-color:var(--border-strong)}.discipline-dropdown-trigger:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.discipline-dropdown-trigger .disc-icon{flex-shrink:0;font-size:13px;line-height:1}.discipline-dropdown-trigger .disc-name{white-space:nowrap;text-overflow:ellipsis;text-align:left;max-width:195px;overflow:hidden}.discipline-dropdown-trigger svg{color:var(--text-muted);flex-shrink:0;margin-left:2px}.discipline-quick-add{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-panel);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex}.discipline-quick-add:hover{background:var(--bg-subtle);color:var(--accent-blue);border-color:var(--border-strong)}.discipline-popover-menu{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);z-index:1000;min-width:240px;max-width:320px;animation:.12s ease-out popoverFadeIn;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 10px 25px -5px #0000001f,0 8px 10px -6px #00000014}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.discipline-popover-menu .popover-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:var(--bg-subtle);padding:8px 12px;font-size:10.5px;font-weight:600}.discipline-popover-menu .popover-scroll{max-height:220px;padding:4px 0;overflow-y:auto}.discipline-popover-menu .popover-item{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;transition:background .12s;display:flex}.discipline-popover-menu .popover-item:hover{background:var(--bg-subtle)}.discipline-popover-menu .popover-item.active{background:var(--bg-subtle);color:var(--accent-blue);font-weight:600}.discipline-popover-menu .popover-check{width:14px;color:var(--accent-blue);flex-shrink:0;font-size:12px;font-weight:700}.discipline-popover-menu .popover-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.discipline-popover-menu .popover-footer{border-top:1px solid var(--border-subtle);background:var(--bg-subtle);padding:6px 8px}.discipline-popover-menu .popover-action-btn{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel);width:100%;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.discipline-popover-menu .popover-action-btn:hover{background:var(--bg-subtle);color:var(--accent-blue);border-color:var(--accent-blue)}.visually-hidden-accessible-select{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.home-discipline-card:hover{transform:translateY(-1px);border-color:var(--border-strong)!important;box-shadow:0 4px 12px #0000000f!important}.home-add-discipline-card:hover{transform:translateY(-1px);border-color:var(--accent-blue)!important;color:var(--accent-blue)!important;background:var(--bg-panel)!important}.user-profile-wrapper{align-items:center;margin-left:2px;display:flex;position:relative}.app-shell-avatar-btn{border-radius:var(--radius-full,9999px);border:1px solid var(--border-subtle);background:var(--bg-panel);width:28px;height:28px;color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:inline-flex;position:relative}.app-shell-avatar-btn:hover{border-color:var(--border-strong)}.app-shell-avatar-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.app-shell-avatar-btn.has-active-test{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--bg-panel), 0 0 0 4px var(--accent-blue)}.avatar-circle-letter{border-radius:var(--radius-full,9999px);background:var(--bg-subtle);width:100%;height:100%;color:var(--text-main);letter-spacing:-.2px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.avatar-circle-img{border-radius:var(--radius-full,9999px);object-fit:cover;width:100%;height:100%;display:block}.google-profile-popover{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-lg,16px);z-index:1000;box-sizing:border-box;width:320px;padding:16px;animation:.12s ease-out popoverFadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 36px -4px #00000029,0 4px 12px -2px #00000014}.profile-close-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .12s;display:inline-flex;position:absolute;top:10px;right:10px}.profile-close-btn:hover{background:var(--bg-subtle);color:var(--text-main)}.profile-user-card{text-align:center;flex-direction:column;align-items:center;padding:4px 6px 12px;display:flex}.profile-avatar-large-wrapper{margin-bottom:12px;position:relative}.profile-avatar-large{border-radius:var(--radius-full,9999px);background:var(--bg-subtle);border:2px solid var(--border-subtle);width:68px;height:68px;color:var(--text-main);justify-content:center;align-items:center;font-size:26px;font-weight:600;transition:all .15s;display:flex;position:relative;overflow:hidden}.profile-avatar-large.has-active-test{border-color:var(--accent-blue);box-shadow:0 0 0 2px var(--bg-panel), 0 0 0 4px var(--accent-blue)}.avatar-large-img{object-fit:cover;width:100%;height:100%;display:block}.profile-avatar-edit-badge{border-radius:var(--radius-full,9999px);background:var(--bg-panel);border:1px solid var(--border-subtle);cursor:pointer;width:24px;height:24px;color:var(--text-secondary);justify-content:center;align-items:center;padding:0;transition:all .12s;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 6px #0000001f}.profile-avatar-edit-badge:hover{background:var(--bg-muted);color:var(--text-main);transform:scale(1.08)}.profile-user-info{flex-direction:column;align-items:center;gap:3px;width:100%;display:flex}.profile-user-name{color:var(--text-main);word-break:break-word;font-size:14px;font-weight:600;line-height:1.3}.profile-user-email{color:var(--text-secondary);word-break:break-word;font-size:12px}.profile-tags-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:6px;display:flex}.profile-role-pill{border-radius:var(--radius-full,9999px);background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.profile-active-test-pill{border-radius:var(--radius-full,9999px);background:var(--bg-panel);border:1px solid var(--accent-blue);color:var(--accent-blue);align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.profile-active-test-pill .active-dot{background:var(--accent-blue);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulseDot}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.profile-divider{background:var(--border-subtle);width:100%;height:1px;margin:8px 0}.profile-actions-list{flex-direction:column;gap:2px;width:100%;display:flex}.profile-action-row{border-radius:var(--radius-sm,6px);cursor:pointer;text-align:left;width:100%;color:var(--text-main);box-sizing:border-box;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;transition:background .12s;display:flex}.profile-action-row:hover{background:var(--bg-subtle)}.profile-action-icon{border-radius:var(--radius-full,9999px);background:var(--bg-subtle);width:28px;height:28px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-action-copy{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.action-title{color:var(--text-main);font-size:12.5px;font-weight:500;line-height:1.2}.action-sub{color:var(--text-muted);font-size:11px;line-height:1.2}.profile-badge-soon{text-transform:uppercase;background:var(--bg-subtle);border:1px solid var(--border-subtle);color:var(--text-muted);letter-spacing:.03em;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9.5px;font-weight:600}.profile-logout-row:hover .action-title{color:var(--status-danger-text)}.profile-logout-row:hover .profile-action-icon{color:var(--status-danger-text);background:var(--status-danger-bg)}.profile-footer-links{justify-content:center;align-items:center;gap:8px;padding-top:6px;display:flex}.profile-text-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px;text-decoration:none;transition:color .12s}.profile-text-link:hover{color:var(--text-main);text-decoration:underline}.link-dot{color:var(--border-strong);font-size:10px}.home-workspace-command{flex-direction:column;gap:18px;max-width:1400px;margin:0 auto;padding:20px 24px 40px;display:flex}.home-header-panel{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md,8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.home-header-title{color:var(--text-main);letter-spacing:-.02em;margin:0 0 2px;font-size:1.25rem;font-weight:600}.home-header-sub{color:var(--text-secondary);margin:0;font-size:12.5px}.home-active-context-pill{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full,9999px);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.home-active-context-pill strong{color:var(--text-main);font-weight:600}.home-command-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}@media (width<=1080px){.home-command-layout{grid-template-columns:1fr}}.home-feed-col,.home-side-col{flex-direction:column;gap:18px;min-width:0;display:flex}.home-section-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md,8px);padding:16px 18px}.home-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.home-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0;font-size:11px;font-weight:600}.home-live-pulse-card{background:var(--bg-panel);border:1px solid var(--border-subtle);border-left:3px solid var(--accent-blue);border-radius:var(--radius-md,8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.home-inbox-list{flex-direction:column;gap:8px;display:flex}.home-inbox-row{border:1px solid var(--border-subtle);border-radius:var(--radius-sm,6px);background:var(--bg-subtle);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:all .12s;display:flex}.home-inbox-row:hover{background:var(--bg-panel);border-color:var(--border-strong)}.home-inbox-info{flex-direction:column;gap:2px;min-width:0;display:flex}.home-inbox-label{color:var(--text-main);align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}.home-inbox-desc{color:var(--text-secondary);font-size:11.5px;line-height:1.35}.home-metrics-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.home-metric-box{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm,6px);flex-direction:column;gap:2px;padding:12px 14px;transition:all .12s;display:flex}.home-metric-box:hover{border-color:var(--border-strong);background:var(--bg-panel)}.home-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10.5px;font-weight:600}.home-metric-val{color:var(--text-main);font-size:22px;font-weight:700;line-height:1.15}.home-metric-sub{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.home-radar-list{flex-direction:column;gap:7px;display:flex}.home-radar-item{flex-direction:column;gap:3px;display:flex}.home-radar-head{color:var(--text-main);justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.home-radar-count{color:var(--text-secondary);font-size:11px;font-weight:600}.home-radar-bar{background:var(--bg-subtle);border-radius:2px;width:100%;height:4px;overflow:hidden}.home-radar-progress{background:var(--accent-blue);border-radius:2px;height:100%;transition:width .2s}.home-quick-actions-grid{flex-direction:column;gap:6px;display:flex}.home-quick-action-btn{border:1px solid var(--border-subtle);border-radius:var(--radius-sm,6px);background:var(--bg-subtle);width:100%;color:var(--text-main);cursor:pointer;text-align:left;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;transition:all .12s;display:flex}.home-quick-action-btn:hover{background:var(--bg-panel);border-color:var(--accent-blue);color:var(--accent-blue)}.sources-sidebar-portal-root{flex-direction:column;width:100%;height:100%;display:flex}.sources-tree-wrapper{flex-direction:column;gap:3px;padding-bottom:24px;display:flex}.sources-tree-search-bar{padding:6px 10px 8px;position:relative}.sources-tree-search-input{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-main);box-sizing:border-box;padding:5px 8px 5px 26px;font-size:11.5px}.sources-tree-search-input:focus{border-color:var(--accent-blue);background:var(--bg-panel);outline:none}.sources-tree-search-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.sources-tree-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:8px 10px 4px;display:flex}.sources-tree-group-header:hover .sources-tree-group-title{color:var(--text-main)}.sources-tree-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:10.5px;font-weight:700;transition:color .12s;display:flex}.sources-tree-group-count{color:var(--text-muted);background:var(--bg-muted);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.sources-tree-item-row{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-main);-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;gap:6px;margin:1px 4px;padding:5px 8px;font-size:12px;transition:background .12s,color .12s;display:flex}.sources-tree-item-row:hover{background:var(--bg-subtle)}.sources-tree-item-row.selected{background:var(--bg-subtle);border-color:var(--border-subtle);color:var(--text-main);font-weight:600}.sources-tree-chevron{width:14px;height:14px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .15s;display:inline-flex}.sources-tree-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.sources-tree-item-badge{color:var(--text-muted);flex-shrink:0;font-size:10px}.sources-tree-sub-list{border-left:1px solid var(--border-subtle);flex-direction:column;gap:1px;margin-left:14px;padding-left:8px;display:flex}.sources-tree-chapter-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;transition:all .12s;display:flex}.sources-tree-chapter-btn:hover{background:var(--bg-subtle);color:var(--text-main)}.sources-tree-chapter-btn.active{background:var(--accent-blue-subtle,#eff6ff);color:var(--accent-blue,#2563eb);font-weight:600}.sources-tree-chapter-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.sources-tree-page-chip{color:var(--text-muted);flex-shrink:0;font-size:10px;font-weight:500}.sources-tree-chapter-btn.active .sources-tree-page-chip{color:var(--accent-blue,#2563eb);font-weight:600}.sources-tree-topic-origin{color:var(--text-muted);background:var(--bg-muted);border-radius:4px;flex-shrink:0;padding:0 4px;font-size:10px}.sources-tree-element-btn{width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:3px 8px;font-size:11px;display:flex}.sources-tree-element-btn:hover{color:var(--text-main)}.sources-tree-empty-note{color:var(--text-muted);padding:6px 12px;font-size:11px;font-style:italic}.sources-tree-quick-upload{margin-top:4px;padding:6px 10px}.sources-tree-upload-btn{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-panel);width:100%;color:var(--text-secondary);cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:11.5px;font-weight:500;transition:all .12s;display:flex}.sources-tree-upload-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue);background:var(--bg-subtle)}.sources-studio-split.sidebar-portal-active{gap:0;display:flex}.sources-studio-split.sidebar-portal-active .sources-studio-detail{flex:100%;width:100%}.source-coverage-pill{background:var(--bg-subtle,#f8fafc);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-sm,6px);box-sizing:border-box;flex-shrink:0;align-items:center;gap:8px;height:28px;padding:3px 10px;display:inline-flex}.source-coverage-info{white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.source-coverage-label{color:var(--text-muted,#94a3b8);font-weight:500}.source-coverage-value{color:var(--text-main,#0f172a);font-weight:700}.source-coverage-sub{color:var(--text-secondary,#64748b);font-size:10.5px}.source-coverage-track{background:var(--border-subtle,#e2e8f0);border-radius:2px;flex-shrink:0;width:50px;height:4px;overflow:hidden}.source-coverage-fill{background:var(--accent-blue,#2563eb);border-radius:2px;height:100%;transition:width .3s}.sources-reader-canvas-layout{align-items:stretch;gap:16px;width:100%;margin-top:8px;display:flex}.sources-reading-sheet-col{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.sources-paper-sheet{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);box-sizing:border-box;flex-direction:column;width:100%;height:calc(100vh - 210px);min-height:600px;max-height:880px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.sources-paper-sheet-header{background:var(--bg-subtle,#f8fafc);border-bottom:1px solid var(--border-subtle,#e2e8f0);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.sources-paper-chapter-tag{color:var(--text-main,#0f172a);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.sources-paper-page-num{color:var(--text-muted,#94a3b8);font-size:11px;font-weight:500}.sources-paper-scroll-body{background:#fff;flex-direction:column;flex:1 1 0;min-height:120px;transition:all .25s;display:flex;overflow-y:auto}.sources-paper-sheet .source-extracted-text{color:var(--text-main,#0f172a);white-space:pre-wrap;box-sizing:border-box;background:#fff;border:none;border-radius:0;flex:auto;min-height:100%;padding:24px 28px;font-family:inherit;font-size:13.5px;line-height:1.7;max-height:none!important}.source-page-visuals-section{border-top:1px solid var(--border-subtle,#e2e8f0);background:var(--bg-subtle,#f8fafc);box-sizing:border-box;flex:none;transition:max-height .25s,padding .2s}.source-page-visuals-section.collapsed{max-height:38px;padding:5px 16px;overflow:hidden}.source-page-visuals-section.expanded{max-height:280px;padding:8px 16px 12px;overflow-y:auto;box-shadow:0 -2px 8px #0000000a}.source-page-visuals-toggle{cursor:pointer;width:100%;color:var(--text-secondary,#475569);background:0 0;border:none;border-radius:4px;justify-content:space-between;align-items:center;padding:4px 0;font-family:inherit;display:flex}.source-page-visuals-toggle:hover{color:var(--text-main,#0f172a)}.source-page-visuals-toggle-left{align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.source-page-visuals-title-text{color:var(--text-main,#0f172a);font-weight:600}.source-page-visuals-toggle-badge{color:var(--primary,#0284c7);background:#e0f2fe;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:500}.sources-tree-chevron{justify-content:center;align-items:center;transition:transform .2s;display:inline-flex}.sources-tree-chevron.open{transform:rotate(90deg)}.source-page-visuals-grid{flex-direction:column;gap:12px;margin-top:12px;display:flex}.source-page-visual-card{border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,6px);background:#fff;align-items:center;gap:14px;padding:10px 12px;display:flex;box-shadow:0 1px 2px #00000008}.source-page-visual-img-wrap{border:1px solid var(--border-subtle,#e2e8f0);background:#f8fafc;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:140px;height:95px;display:flex;overflow:hidden}.source-page-visual-thumb{object-fit:contain;max-width:100%;max-height:100%}.source-page-visual-info{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.source-page-visual-caption{color:var(--text-main,#0f172a);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:12px;font-weight:600;overflow:hidden}.source-page-visual-meta{color:var(--text-muted,#94a3b8);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.sources-paper-sheet-footer{box-sizing:border-box;background:var(--bg-subtle,#f8fafc);border-top:1px solid var(--border-subtle,#e2e8f0);flex:none;justify-content:space-between;align-items:center;gap:12px;height:48px;min-height:48px;padding:0 16px;display:flex}.sources-paper-sheet-footer .source-actions-row{align-items:center;gap:6px;margin:0;display:flex}.sources-paper-sheet-footer .source-icon-action-btn{box-sizing:border-box;border-radius:var(--radius-sm,6px);cursor:pointer;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;min-height:28px;padding:0;transition:width .22s cubic-bezier(.4,0,.2,1),padding .22s cubic-bezier(.4,0,.2,1),background .15s,border-color .15s,box-shadow .15s;display:inline-flex;position:relative;overflow:hidden}.sources-paper-sheet-footer .source-icon-action-btn .source-btn-label{opacity:0;white-space:nowrap;max-width:0;margin-left:0;font-size:11.5px;font-weight:600;transition:max-width .22s cubic-bezier(.4,0,.2,1),opacity .18s,margin-left .22s;display:inline-block;overflow:hidden}.sources-paper-sheet-footer .source-icon-action-btn:hover,.sources-paper-sheet-footer .source-icon-action-btn:focus-visible{width:auto;min-width:28px;padding:0 10px 0 8px;box-shadow:0 1px 3px #00000014}.sources-paper-sheet-footer .source-icon-action-btn:hover .source-btn-label,.sources-paper-sheet-footer .source-icon-action-btn:focus-visible .source-btn-label{opacity:1;max-width:120px;margin-left:5px}.sources-paper-sheet-footer .source-icon-action-btn.confirm{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.sources-paper-sheet-footer .source-icon-action-btn.confirm:hover{color:#15803d;background:#dcfce7;border-color:#86efac}.sources-paper-sheet-footer .source-icon-action-btn.edit{color:#475569;background:#fff;border:1px solid #cbd5e1}.sources-paper-sheet-footer .source-icon-action-btn.edit:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.sources-paper-sheet-footer .source-icon-action-btn.exclude{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.sources-paper-sheet-footer .source-icon-action-btn.exclude:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.sources-paper-meta-stats{color:var(--text-muted,#94a3b8);white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:11px;display:flex;overflow:hidden}.sources-didactic-sidebar{background:var(--bg-panel,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);box-sizing:border-box;flex-direction:column;flex-shrink:0;gap:12px;width:320px;height:calc(100vh - 210px);min-height:600px;max-height:880px;padding:16px;display:flex;overflow-y:auto;box-shadow:0 1px 3px #0000000a}.sources-inspector-header{border-bottom:1px solid var(--border-subtle,#e2e8f0);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.sources-inspector-title{color:var(--text-muted,#94a3b8);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.source-generate-cta-btn{border-radius:var(--radius-sm,6px);cursor:pointer;box-sizing:border-box;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:12.5px;font-weight:600;transition:all .12s;display:flex;box-shadow:0 1px 3px #2563eb40;color:#fff!important;background:#2563eb!important;border:1px solid #1d4ed8!important}.source-generate-cta-btn:hover{box-shadow:0 2px 6px #2563eb66;background:#1d4ed8!important;border-color:#1e40af!important}.sources-inspector-block{border-bottom:1px solid var(--border-subtle,#e2e8f0);flex-direction:column;gap:6px;padding:10px 0;display:flex}.sources-inspector-block:last-child{border-bottom:none;padding-bottom:0}.sources-inspector-subtitle{color:var(--text-secondary,#475569);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.source-concept-chips-grid{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.source-concept-chip{background:var(--bg-subtle,#f1f5f9);border:1px solid var(--border-subtle,#e2e8f0);color:var(--text-secondary,#334155);border-radius:4px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.source-doc-title-row{align-items:center;gap:8px;display:inline-flex}.source-inline-rename-btn{cursor:pointer;color:var(--text-muted,#94a3b8);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:inline-flex}.source-inline-rename-btn:hover{color:var(--text-primary,#0f172a);background:var(--bg-hover,#f1f5f9)}.source-rename-inline-form{align-items:center;gap:6px;display:inline-flex}.source-rename-input{border:1px solid var(--border-medium,#cbd5e1);color:var(--text-primary,#0f172a);background:var(--bg-surface,#fff);border-radius:6px;outline:none;min-width:260px;max-width:420px;padding:4px 10px;font-size:.95rem;font-weight:600;box-shadow:0 1px 2px #0000000d}.source-rename-input:focus{border-color:var(--primary,#0284c7);box-shadow:0 0 0 2px #0284c726}.sources-item-rename{opacity:.7;transition:opacity .15s}.sources-item-rename:hover{opacity:1;color:var(--text-primary,#0f172a)}.source-failed-banner{color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:14px;margin-bottom:16px;padding:16px 20px;display:flex}.source-failed-title{color:#991b1b;margin-bottom:4px;font-size:.95rem;font-weight:600}.source-failed-desc{color:#b91c1c;margin-bottom:10px;font-size:.86rem;line-height:1.5}.source-failed-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sources-tree-failed-hint{color:#dc2626;white-space:nowrap;text-overflow:ellipsis;padding:2px 8px 4px 24px;font-size:.72rem;overflow:hidden}.ai-modal-topic-card{border:1px solid var(--border-subtle,#e2e8f0);background-color:var(--bg-surface,#fff);border-radius:6px;flex-direction:column;gap:8px;padding:12px 14px;transition:border-color .15s,background-color .15s;display:flex}.ai-modal-topic-card.checked{background-color:#f8faff;border-color:#93c5fd}.ai-modal-topic-header-row{align-items:center;gap:8px;display:flex}.ai-modal-topic-title-input{color:var(--text-primary,#0f172a);border:1px solid var(--border-subtle,#cbd5e1);background-color:#fff;border-radius:4px;flex:1;padding:5px 8px;font-size:.9rem;font-weight:600}.ai-modal-topic-title-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 1px #3b82f6}.ai-page-range-pill{color:#475569;white-space:nowrap;background-color:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.ai-elements-subpanel{border-left:2px solid #e2e8f0;flex-direction:column;gap:6px;margin-top:4px;margin-left:28px;padding-left:14px;display:flex}.ai-elements-subpanel-header{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#64748b);justify-content:space-between;align-items:center;margin-bottom:2px;font-size:.76rem;font-weight:600;display:flex}.ai-element-row{background-color:#fff;border:1px solid #f1f5f9;border-radius:4px;align-items:center;gap:8px;padding:4px 8px;transition:background-color .12s,border-color .12s;display:flex}.ai-element-row.checked{background-color:#f8fafc;border-color:#e2e8f0}.ai-element-badge{color:#334155;white-space:nowrap;background-color:#e2e8f0;border-radius:3px;padding:1px 6px;font-size:.72rem;font-weight:700}.ai-element-page-pill{color:#64748b;white-space:nowrap;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:3px;padding:1px 6px;font-size:.72rem;font-weight:500}.ai-element-input{color:#1e293b;background-color:#0000;border:1px solid #0000;border-radius:3px;flex:1;padding:3px 6px;font-size:.82rem}.ai-element-input:hover{background-color:#fff;border-color:#cbd5e1}.ai-element-input:focus{background-color:#fff;border-color:#3b82f6;outline:none}.course-structure-workspace,.course-structure-single-panel{flex-direction:column;gap:16px;width:100%;display:flex}.topic-inspector-card{background-color:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-md,8px);flex-direction:column;gap:14px;padding:18px 22px;display:flex;box-shadow:0 1px 3px #0000000a}.topic-inspector-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.topic-order-badge{color:#475569;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:700}.topic-inspector-title{color:var(--text-primary,#0f172a);margin:0;font-size:1.2rem;font-weight:700;line-height:1.3}.topic-inspector-book-badge{color:#334155;cursor:pointer;background-color:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.topic-inspector-book-badge:hover{background-color:#f1f5f9;border-color:#94a3b8}.topic-inspector-description{color:var(--text-muted,#475569);margin:0;font-size:.88rem;line-height:1.5}.topic-quick-switcher-bar{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:10px;padding:10px 14px;display:flex;overflow-x:auto}.topic-quick-switcher-chips{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.topic-switcher-chip{color:#334155;cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #cbd5e1;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:500;transition:all .12s;display:inline-flex}.topic-switcher-chip:hover{background-color:#f8fafc;border-color:#94a3b8}.topic-switcher-chip.active{color:#1d4ed8;background-color:#eff6ff;border-color:#3b82f6;font-weight:600}.topic-chip-name{text-overflow:ellipsis;max-width:160px;overflow:hidden}.topic-chip-count{color:#64748b;background-color:#f1f5f9;border-radius:3px;padding:1px 5px;font-size:.7rem}.topic-switcher-chip.active .topic-chip-count{color:#1e40af;background-color:#dbeafe}.topic-elements-container{flex-direction:column;gap:12px;display:flex}.topic-elements-header-row{justify-content:space-between;align-items:center;display:flex}.add-element-inline-form{gap:8px;display:flex}.add-element-input{color:#0f172a;background-color:#fff;border:1px solid #cbd5e1;border-radius:6px;flex:1;padding:9px 14px;font-size:.88rem}.add-element-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 1px #3b82f6}.elements-empty-state{text-align:center;background-color:#f8fafc;border:1px dashed #cbd5e1;border-radius:6px;padding:24px}.elements-cards-grid{flex-direction:column;gap:10px;display:flex}.element-card-item{background-color:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:8px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.element-card-item:hover{border-color:#cbd5e1;box-shadow:0 1px 4px #0000000a}.element-badge-pill{color:#334155;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:3px;padding:2px 6px;font-size:.72rem;font-weight:700}.element-name-text{color:#0f172a;font-size:.92rem;font-weight:600}.element-delete-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .12s,background-color .12s;display:flex}.element-delete-btn:hover{color:#b91c1c;background-color:#fef2f2}.element-description-text{color:#475569;font-size:.84rem;line-height:1.4}.element-source-footer{border-top:1px solid #f1f5f9;flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;display:flex}.element-source-badge{color:#334155;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:.76rem;font-weight:500;display:inline-flex}.element-jump-book-btn{color:#334155;cursor:pointer;background-color:#fff;border:1px solid #cbd5e1;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:.76rem;font-weight:500;transition:all .12s;display:inline-flex}.element-jump-book-btn:hover{color:#0f172a;background-color:#f8fafc;border-color:#94a3b8}.element-excerpt-quote{color:#64748b;border-left:2px solid #cbd5e1;margin:0;padding-left:10px;font-size:.8rem;font-style:italic;line-height:1.35}.ai-progress-card{background-color:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-lg,12px);flex-direction:column;gap:20px;margin:8px 0 20px;padding:28px 32px;animation:.25s ease-out fadeIn;display:flex;box-shadow:0 4px 16px -2px #0f172a0d}.ai-progress-header{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.ai-progress-icon-badge{color:#0f172a;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.ai-spin-icon{animation:1s linear infinite aiSpin}@keyframes aiSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-progress-header-info{flex:1;min-width:220px}.ai-progress-title{color:var(--text-primary,#0f172a);letter-spacing:-.01em;margin:0 0 6px;font-size:1.12rem;font-weight:600}.ai-progress-material-meta{color:#475569;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:3px 10px;font-size:.8rem;font-weight:500;display:inline-flex}.ai-progress-percentage{font-variant-numeric:tabular-nums;color:var(--text-primary,#0f172a);letter-spacing:-.02em;font-size:1.55rem;font-weight:700}.ai-progress-track{background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;width:100%;height:8px;overflow:hidden}.ai-progress-fill{background:linear-gradient(90deg,#0f172a 0%,#334155 100%);border-radius:9999px;height:100%;transition:width .25s ease-out}.ai-progress-steps{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}@media (width<=960px){.ai-progress-steps{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.ai-progress-steps{grid-template-columns:1fr}}.ai-progress-step-item{background-color:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;transition:all .2s;display:flex}.ai-progress-step-item.is-current{background-color:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0d}.ai-progress-step-item.is-done{background-color:#fff;border-color:#e2e8f0}.ai-step-indicator{color:#64748b;background-color:#e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:.75rem;font-weight:600;display:flex}.ai-progress-step-item.is-done .ai-step-indicator,.ai-progress-step-item.is-current .ai-step-indicator{color:#fff;background-color:#0f172a}.ai-step-dot-pulse{background-color:#fff;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite aiPulseDot}@keyframes aiPulseDot{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.ai-step-content{flex:1;min-width:0}.ai-step-title{color:#475569;margin-bottom:2px;font-size:.82rem;font-weight:600;line-height:1.3}.ai-progress-step-item.is-current .ai-step-title{color:#0f172a}.ai-progress-step-item.is-done .ai-step-title{color:#64748b}.ai-step-desc{color:#94a3b8;font-size:.72rem;line-height:1.3}.ai-progress-footer{color:#64748b;border-top:1px solid #f1f5f9;align-items:center;gap:8px;padding-top:14px;font-size:.78rem;display:flex}.sources-tree-item-delete-btn{width:18px;height:18px;color:var(--text-muted,#94a3b8);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0;transition:opacity .12s,color .12s,background .12s;display:inline-flex}.sources-tree-item-row:hover .sources-tree-item-delete-btn{opacity:1}.sources-tree-item-delete-btn:hover{color:#dc2626;background:#fee2e2}.sources-tree-group-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:2px 6px;font-size:11px;transition:all .12s;display:inline-flex}.sources-tree-group-clear-btn:hover{color:#dc2626;background:#fee2e2}.btn-action-danger-soft{color:#dc2626;border-radius:var(--radius-sm,6px);cursor:pointer;white-space:nowrap;background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;font-weight:500;transition:all .12s;display:inline-flex}.btn-action-danger-soft:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.clear-structure-stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;display:grid}.clear-structure-stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.clear-structure-stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:500}.clear-structure-stat-value{color:#0f172a;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.tasks-sidebar-portal-root{flex-direction:column;width:100%;height:100%;display:flex}.tasks-tree-wrapper{flex-direction:column;gap:3px;padding-bottom:24px;display:flex}.tasks-tree-search-bar{padding:6px 10px 8px;position:relative}.tasks-tree-search-input{background:var(--bg-subtle,#f8fafc);border:1px solid var(--border-subtle,#e2e8f0);border-radius:var(--radius-sm,6px);width:100%;color:var(--text-main,#0f172a);box-sizing:border-box;padding:5px 8px 5px 26px;font-size:11.5px}.tasks-tree-search-input:focus{border-color:var(--accent-blue,#2563eb);background:var(--bg-panel,#fff);outline:none}.tasks-tree-search-icon{color:var(--text-muted,#94a3b8);pointer-events:none;display:flex;position:absolute;top:50%;left:17px;transform:translateY(-50%)}.tasks-tree-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:8px 10px 4px;display:flex}.tasks-tree-group-header:hover .tasks-tree-group-title{color:var(--text-main,#0f172a)}.tasks-tree-group-title{color:var(--text-muted,#64748b);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:10.5px;font-weight:700;transition:color .12s;display:flex}.tasks-tree-group-count{color:var(--text-muted,#64748b);background:var(--bg-muted,#f1f5f9);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.tasks-tree-item-row{border-radius:var(--radius-sm,6px);cursor:pointer;color:var(--text-main,#0f172a);-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:6px;width:calc(100% - 8px);margin:1px 4px;padding:6px 8px;font-size:12px;transition:background .12s,color .12s,border-color .12s;display:flex}.tasks-tree-item-row:hover{background:var(--bg-subtle,#f8fafc)}.tasks-tree-item-row.selected{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1;font-weight:600}.tasks-tree-chevron{width:14px;height:14px;color:var(--text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .15s;display:inline-flex}.tasks-tree-chevron.open{transform:rotate(90deg)}.tasks-tree-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.tasks-tree-badge{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:600;line-height:1.2}.tasks-tree-badge.tasks-tree-badge-deficit{color:#d97706;background:#fffbeb;border-color:#fde68a}.tasks-tree-badge.tasks-tree-badge-amber{color:#b45309;background:#fef3c7;border-color:#fde68a}.tasks-tree-sub-list{border-left:1px solid var(--border-subtle,#e2e8f0);flex-direction:column;gap:2px;margin-left:14px;padding-left:8px;display:flex}.tasks-stat-chip{color:#334155;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:500;display:inline-flex}.tasks-stat-chip strong{color:#0f172a;font-weight:700}.tasks-stat-chip-amber{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.tasks-stat-chip-amber strong{color:#b45309}.tasks-context-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 16px;display:flex}.tasks-context-info{color:#334155;align-items:center;gap:8px;font-size:.86rem;display:flex}.tasks-context-label{color:#64748b;font-weight:600}.tasks-context-value{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:2px 8px;font-weight:600}.tasks-context-actions{align-items:center;gap:8px;display:flex}.tasks-tree-item-row.active{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1;font-weight:600}.tasks-context-bar-pill{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:6px;padding:3px 8px;font-size:.84rem;font-weight:600;display:inline-flex}.tasks-context-bar-pill button{cursor:pointer;color:#64748b;background:0 0;border:none;align-items:center;padding:0;transition:color .12s;display:flex}.tasks-context-bar-pill button:hover{color:#0f172a}.tasks-context-bar-reset{color:#64748b;cursor:pointer;background:0 0;border:1px dashed #cbd5e1;border-radius:6px;padding:3px 8px;font-size:.8rem;font-weight:500;transition:all .12s}.tasks-context-bar-reset:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.tasks-context-bar-action{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:600;transition:background .12s;display:inline-flex}.tasks-context-bar-action:hover{background:#1d4ed8}
