:root{--red:#c9271e;--red-dark:#991a14;--black:#111;--ink:#252525;--muted:#666;--line:#dedede;--choice:#2f6fb5;--panel:#fff;--bg:#f5f5f5;--soft-red:#fff1ef;--success:#16794c;--danger:#a51f18;color:var(--ink);background:var(--bg);font-family:Quicksand,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}.boot-screen,.login-page{background:var(--bg);grid-template-rows:1fr auto;place-items:center;gap:24px;min-height:100vh;padding:32px 16px 16px;display:grid}.boot-screen{color:var(--black);font-size:1.6rem;font-weight:700}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:min(440px,100vw - 32px);padding:32px;box-shadow:0 22px 50px #11111114}.login-brand,.brand,.user-chip,.sidebar-nav a,.primary-button,.secondary-button,.ghost-button,.danger-button,.file-control,.filters label{align-items:center;gap:10px;display:flex}.login-brand{margin-bottom:28px}.brand-logo{object-fit:contain;height:auto;display:block}.brand-logo-sidebar{max-width:132px;max-height:44px}.brand-logo-login{max-width:220px;max-height:68px}.login-brand strong,.brand strong{color:var(--black);font-size:1.45rem;line-height:1;display:block}.login-brand span,.brand span,.user-chip span{color:var(--muted);margin-top:4px;font-size:.88rem;display:block}.login-form,.tool-panel,.question-editor{gap:18px;display:grid}.login-form h1,.page-header h1,.tool-panel h2,.question-card h2{color:var(--black);margin:0}.login-form h1{font-size:1.75rem}label{color:var(--black);gap:8px;font-weight:700;display:grid}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #cfcfcf;border-radius:6px;outline:none;width:100%;min-height:44px;padding:10px 12px}textarea{resize:vertical;min-height:96px}input[type=radio],input[type=checkbox]{accent-color:var(--choice);flex:none;width:17px;height:17px;min-height:0;margin:0;padding:0}input[type=radio]:focus,input[type=checkbox]:focus{box-shadow:none}input[type=radio]:focus-visible,input[type=checkbox]:focus-visible{outline:2px solid var(--choice);outline-offset:2px}input:focus,select:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #c9271e24}.primary-button,.secondary-button,.ghost-button,.danger-button{border-radius:6px;justify-content:center;min-height:42px;padding:10px 15px;font-weight:700}.primary-button{background:var(--red);border:1px solid var(--red);color:#fff}.primary-button:hover{background:var(--red-dark)}.secondary-button{color:var(--black);background:#fff;border:1px solid #cfcfcf}.ghost-button{color:var(--muted);background:0 0;border:1px solid #0000;justify-content:flex-start;width:100%}.danger-button{color:var(--danger);background:#fff7f6;border:1px solid #efc7c3}.compact{min-height:36px;padding:7px 10px}.large-button{min-height:52px}.form-error,.form-success{border-radius:6px;margin:0;padding:12px;font-weight:700}.login-notice{color:var(--ink);background:#eef3f8;border-radius:6px;margin:0;padding:10px 12px}.form-error{color:var(--danger);background:#fff0ee}.form-success{color:var(--success);background:#eefaf4}.muted-text{color:var(--muted)}.tool-panel h2{align-items:center;gap:8px;display:flex}.instruction-list{gap:12px;display:grid}.instruction-list article{border:1px solid var(--line);border-radius:6px;padding:14px}.instruction-list article.inactive{opacity:.58}.instruction-list article>div:first-child,.instruction-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.instruction-list small{color:var(--muted);font-weight:700}.instruction-list p{white-space:pre-wrap;line-height:1.5}.instruction-actions{justify-content:flex-end}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:28px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{padding:0 6px}.sidebar-nav{gap:6px;display:grid}.sidebar-nav a{color:var(--ink);border-radius:6px;min-height:44px;padding:11px 12px;font-weight:700;text-decoration:none}.sidebar-nav a.active,.sidebar-nav a:hover{background:var(--soft-red);color:var(--red)}.sidebar-footer{border-top:1px solid var(--line);gap:12px;margin-top:auto;padding-top:18px;display:grid}.user-chip{color:var(--black);padding:0 8px}.user-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:190px;display:block;overflow:hidden}.content{flex-direction:column;min-width:0;padding:32px;display:flex}.content-body{flex:1;min-width:0}.app-footer{text-align:center;border-top:1px solid var(--line);width:100%;max-width:1220px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:32px auto 0;padding-top:16px;font-size:11px;display:flex}.login-page>.app-footer{text-align:center;justify-content:center}.page{gap:24px;max-width:1220px;margin:0 auto;display:grid}.page.narrow{max-width:760px}.page-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.page-header p{color:var(--red);text-transform:uppercase;margin:0 0 6px;font-weight:700}.page-header h1{letter-spacing:0;font-size:clamp(2rem,4vw,3.2rem)}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card,.tool-panel,.question-card,.upload-strip,.filters,.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:8px}.stat-card{align-items:flex-start;gap:14px;padding:18px;display:flex}.stat-card svg{color:var(--red)}.stat-card span,.stat-card small{color:var(--muted);display:block}.stat-card strong{color:var(--black);margin-top:4px;font-size:2rem;line-height:1.1;display:block}.upload-strip,.filters{justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.upload-action{justify-content:flex-end;display:flex}.document-filters{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px;padding:16px;display:grid}.document-filters label{min-width:0;font-size:13px}.document-filters-footer{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.upload-button{min-height:48px;padding-inline:22px}.visually-hidden-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.modal-backdrop{z-index:1000;background:#11111194;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.upload-dialog{background:var(--panel);border-radius:12px;width:100%;max-width:560px;padding:28px;position:relative;box-shadow:0 24px 70px #0000003d}.dialog-close{color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;padding:7px;display:flex;position:absolute;top:14px;right:14px}.dialog-heading{align-items:flex-start;gap:14px;padding-right:28px;display:flex}.dialog-heading h2,.dialog-heading p{margin:0}.test-name-dialog label{margin-top:24px}.test-name-dialog label small{color:var(--muted);font-weight:500}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.dialog-heading h2{color:var(--black);font-size:1.3rem}.dialog-heading p{color:var(--muted);margin-top:6px}.dialog-icon{background:var(--soft-red);color:var(--red);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:10px;display:flex}.content-type-options{gap:10px;margin-top:24px;display:grid}.content-type-options button{border:1px solid var(--line);color:var(--red);text-align:left;background:#fff;border-radius:8px;align-items:center;gap:14px;width:100%;padding:15px;transition:border-color .12s,background .12s;display:flex}.content-type-options button:hover{background:var(--soft-red);border-color:var(--red)}.content-type-options span,.content-type-options strong,.content-type-options small{display:block}.content-type-options strong{color:var(--black)}.content-type-options small{color:var(--muted);margin-top:3px;font-weight:500}.bulk-actions{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.bulk-actions span{color:var(--muted);font-weight:700}.bulk-actions div,.row-actions{align-items:center;gap:8px;display:flex}.file-control{color:var(--black);border:1px dashed #bdbdbd;border-radius:6px;width:100%;min-height:48px;padding:10px 14px}.file-control input{display:none}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:15px}th{color:var(--black);text-transform:uppercase;background:#fafafa;font-size:.82rem}.selection-cell{text-align:center;width:44px;padding-left:12px;padding-right:8px}.selection-cell input{width:18px;min-height:18px;padding:0}td small{color:var(--danger);margin-top:6px;display:block}.status{border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.status-PROCESSING{color:#8a5a00;background:#fff5dd}.status-AVAILABLE{color:var(--success);background:#eaf8f0}.status-ERROR{color:var(--danger);background:#fff0ee}.icon-button{aspect-ratio:1;width:36px;min-height:36px;padding:7px}.tool-panel{padding:22px}.distribution-section{border:1px solid var(--line);border-radius:8px;padding:18px}.distribution-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.distribution-heading h2,.distribution-heading p{margin:0}.distribution-heading h2{color:var(--black);font-size:1.08rem}.distribution-heading p{color:var(--muted);margin-top:4px;font-size:.9rem}.distribution-heading>strong{background:var(--soft-red);color:var(--red);border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:38px;height:38px;padding:0 10px;display:flex}.count-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.count-grid label{background:#fafafa;border-radius:7px;padding:13px}.count-grid label:has(input:disabled){opacity:.48}.count-grid small{color:var(--muted);font-size:.78rem;font-weight:500}.difficulty-letter{border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.difficulty-P{color:var(--success);background:#eaf8f0}.difficulty-F{color:#8a5a00;background:#fff5dd}.difficulty-D{background:var(--soft-red);color:var(--red)}.difficulty-presets{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.difficulty-presets>span{color:var(--muted);margin-bottom:9px;font-size:.82rem;font-weight:700;display:block}.difficulty-presets>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.difficulty-presets button{border:1px solid var(--line);color:var(--black);background:#fff;border-radius:7px;min-height:52px;padding:9px 12px;font-weight:700}.difficulty-presets button[aria-pressed=true],.difficulty-presets button:hover:not(:disabled){background:var(--soft-red);border-color:var(--red)}.difficulty-presets small{color:var(--red);margin-top:3px;font-size:.76rem;display:block}.document-selection-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.document-selection-groups fieldset{border:1px solid var(--line);border-radius:7px;gap:8px;min-width:0;margin:0;padding:12px;display:grid}.document-selection-groups fieldset:disabled{opacity:.55;background:#fafafa}.document-selection-groups legend{color:var(--black);padding:0 5px;font-weight:700}.document-selection-groups label{overflow-wrap:anywhere;background:#fafafa;border-radius:5px;align-items:flex-start;gap:8px;padding:8px;font-size:.82rem;font-weight:600;display:flex}.document-selection-groups input{flex:none;width:17px;min-height:17px;padding:0}.document-selection-groups p{color:var(--muted);margin:0;font-size:.82rem}.totals-check{border:1px solid;border-radius:8px;grid-template-columns:repeat(2,max-content);align-items:center;gap:5px 20px;padding:14px 16px;display:grid}.totals-check small{grid-column:1/-1}.totals-check.valid{color:var(--success);background:#eefaf4;border-color:#bce3cf}.totals-check.invalid{color:#745000;background:#fff8e8;border-color:#ead49b}.flow-stack{gap:16px;display:grid}.generation-success{border:1px solid #bce3cf;border-left:5px solid var(--success);color:var(--success);background:#eefaf4;border-radius:8px;padding:16px 18px;line-height:1.5}.generation-progress{background:#fffaf0;border:1px solid #f0dcae;border-left:5px solid #d99a00;border-radius:8px;align-items:center;gap:14px;padding:16px 18px;line-height:1.5;display:flex}.generation-progress div{display:grid}.generation-progress span:not(.generation-spinner){color:var(--muted);font-size:.9rem}.generation-spinner{border:3px solid #f0dcae;border-top-color:#d99a00;border-radius:50%;flex:none;width:22px;height:22px;animation:.9s linear infinite generation-spin}@keyframes generation-spin{to{transform:rotate(360deg)}}.sidebar-nav a{position:relative}.nav-badge{border-radius:999px;margin-left:auto;padding:4px 7px;font-size:.72rem;font-style:normal;font-weight:800;line-height:1}.nav-badge.running{color:#8a5a00;background:#fff3d6}.nav-badge.ready{color:var(--success);background:#e3f6ec}.nav-badge.failed{background:var(--soft-red);color:var(--red)}.sidebar-collapsed .nav-badge{width:9px;height:9px;padding:0;font-size:0;position:absolute;top:8px;right:8px}.sidebar-collapsed .nav-badge.running{background:#d99a00}.sidebar-collapsed .nav-badge.ready{background:var(--success)}.sidebar-collapsed .nav-badge.failed{background:var(--red)}.generation-notice{border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:16px 24px 0;padding:12px 16px;display:flex}.generation-notice.ready{color:var(--success);background:#eefaf4;border:1px solid #bce3cf}.generation-notice.failed{background:var(--soft-red);color:var(--red-dark,#9b1c15);border:1px solid #f3c2bd}.generation-notice a{color:inherit;white-space:nowrap;font-weight:800}.flow-panel{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.flow-panel-toggle{color:var(--black);text-align:left;background:#fff;border:0;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:58px;padding:14px 18px;font-weight:700;display:flex}.flow-panel-toggle span,.panel-actions{align-items:center;gap:10px;display:flex}.inline-control{flex-direction:row;align-items:center;gap:8px;min-width:220px;display:flex}.inline-control select{min-height:42px}.flow-panel-toggle strong{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:min(52vw,520px);font-size:.9rem;overflow:hidden}.embedded-panel{border:0;border-top:1px solid var(--line);border-radius:0}.review-panel{border-top:1px solid var(--line);gap:16px;padding:18px;display:grid}.panel-actions{justify-content:flex-end}.field-row{grid-template-columns:1fr auto;gap:14px;display:grid}.field-row .quick{align-self:end;min-height:44px}.segmented{border:0;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;display:grid}.segmented legend{color:var(--black);grid-column:1/-1;margin-bottom:2px;font-weight:700}.segmented button{color:var(--black);background:#fff;border:1px solid #cfcfcf;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:700;display:flex}.segmented button.active{background:var(--soft-red);border-color:var(--red);color:var(--red)}.test-difficulty-summary{background:var(--panel);border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px 20px;display:grid}.question-list{gap:16px;display:grid}.question-card{gap:14px;padding:20px;display:grid}.question-card-header,.question-card footer,.editor-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.question-card-header span{background:var(--black);color:#fff;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}.question-card-header>div{align-items:center;gap:9px;min-width:0;display:flex}.question-card-header .test-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.question-card-header small,.question-card footer span{color:var(--muted)}.question-card h2{font-size:1.15rem;line-height:1.45}.answers{gap:8px;margin:0;padding-left:24px;display:grid}.answers li{padding-left:6px}.answers .correct{color:var(--success);font-weight:700}.answer-summary{border-left:4px solid var(--success);background:#eefaf4;border-radius:6px;gap:5px;padding:12px 14px;display:grid}.answer-summary>strong{color:var(--success);font-size:.88rem}.question-source{background:#f7f8fb;border:1px solid #dfe3ea;border-radius:8px;gap:12px;padding:14px;display:grid}.source-reference{align-items:flex-start;gap:10px;display:flex}.source-reference svg{color:var(--red);flex:none;margin-top:2px}.source-reference span{gap:3px;display:grid}.question-source small{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.question-source strong{color:var(--black);font-size:.9rem;line-height:1.4}.source-reference{background:var(--soft-red);border-radius:6px;padding:10px}.source-reference strong{color:var(--red-dark);font-size:.84rem}.question-card p{color:var(--muted);margin:0;line-height:1.55}.question-card footer div{gap:8px;margin-left:auto;display:flex}.empty-state{color:var(--muted);text-align:center;padding:28px;font-weight:700}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.ranking,.activity-list,.user-list{gap:10px;display:grid}.ranking div,.activity-list div,.user-list div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 0;display:grid}.activity-list div{grid-template-columns:auto 1fr auto}.user-list div{grid-template-columns:1fr 1fr auto}.ranking div:last-child,.activity-list div:last-child,.user-list div:last-child{border-bottom:0}.ranking strong,.user-list strong{color:var(--red)}.activity-list small,.user-list small{color:var(--muted)}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:22px}.stats-grid,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.login-panel{padding:24px}.page-header,.upload-strip,.filters,.bulk-actions,.panel-actions,.question-card footer,.question-card-header,.editor-actions{flex-direction:column;align-items:stretch}.dialog-actions{flex-direction:column-reverse}.stats-grid,.admin-grid,.field-row,.count-grid,.document-selection-groups,.difficulty-presets>div,.segmented,.sidebar-nav,.user-list div{grid-template-columns:1fr}.bulk-actions div{flex-direction:column;align-items:stretch;width:100%}}[hidden]{display:none!important}a.primary-button,a.secondary-button{justify-content:center;text-decoration:none}button,.sidebar-nav a,a.secondary-button,a.primary-button{transition:background-color .16s,border-color .16s,box-shadow .16s}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.app-shell{grid-template-columns:232px minmax(0,1fr)}.sidebar{padding:30px 16px}.sidebar-nav a{border-radius:10px;padding:14px 12px;font-size:14px}.sidebar-nav a.active{box-shadow:inset 3px 0 var(--red)}.content{padding:40px clamp(20px,3vw,48px)}.page{gap:20px;animation:.22s ease-out page-enter}.page-header h1{font-size:clamp(1.8rem,3vw,2.5rem)}.page-header p{letter-spacing:.12em;margin-bottom:10px;font-size:11px}.page-description{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.6;display:block}.library-page{position:relative}.library-page .page-header{padding-right:0}.library-actions{flex-wrap:wrap;gap:10px;display:flex}.library-header-actions{flex-wrap:nowrap;flex-shrink:0;align-items:center}.library-actions .library-subtle-action{color:var(--muted);border-color:var(--line);background:0 0;min-height:34px;padding:6px 10px;font-size:12px;font-weight:500}.library-actions .library-subtle-action:hover:not(:disabled){color:var(--text);background:#eee}.upload-button-wrapper{display:inline-flex}.upload-button-wrapper:has(button:disabled){cursor:not-allowed}.upload-button-wrapper button:disabled{pointer-events:none}.library-search{align-items:flex-end;gap:12px;margin-top:8px;display:flex}.library-search label{flex:1;font-size:13px}.library-search input{padding:13px 16px}.library-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;padding-bottom:10px;display:flex}.library-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700}.library-tabs button[aria-pressed=true]{background:var(--soft-red);color:var(--red);border-color:#edc4bf}.library-tabs button span{font-variant-numeric:tabular-nums;margin-left:8px}.library-tabs .library-clear-filters{justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.library-page .table-wrap{border-radius:12px}.library-pagination{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.library-pagination>div{align-items:center;gap:12px;display:flex}.library-page td{padding:16px 12px;font-size:13px}.library-page th{padding:14px 12px;font-size:11px}.library-page td:nth-child(2){min-width:220px}.library-page td small{overflow-wrap:anywhere;font-size:11px}.library-page .document-name-unavailable{color:var(--muted)}.document-name-form{gap:8px;display:grid}.library-page tbody tr:hover{background:#fafafa}.library-page .row-actions{flex-wrap:nowrap}.library-page .row-actions a{white-space:nowrap}.creation-steps{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-block:6px 14px;display:flex}.creation-steps>button,.creation-steps>span{color:var(--muted);background:0 0;border:0;align-items:center;gap:9px;padding:8px;font-size:13px;font-weight:700;display:flex}.creation-steps>*>span{background:#eaeaea;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.creation-steps [aria-current=step]{color:var(--red)}.creation-steps [aria-current=step]>span{background:var(--red);color:#fff}.generator-page .flow-panel{border-radius:14px;box-shadow:0 4px 20px #11111106}.generator-page .embedded-panel{padding:24px}.generator-page .distribution-heading h2{font-size:21px}.generator-page .distribution-heading p{font-size:14px;line-height:1.5}.source-search{margin-block:20px 16px;font-size:13px}.generator-page .document-selection-groups{align-items:start}.generator-page .document-selection-groups fieldset{border-radius:10px;max-height:340px;overflow-y:auto}.generator-page .document-selection-groups label{overflow-wrap:anywhere;border:1px solid #0000;border-radius:8px;padding:12px;font-size:13px}.generator-page .document-selection-groups label:has(input:checked){background:var(--soft-red);border-color:#edc4bf}.source-footer{justify-content:flex-end;align-items:center;gap:16px;margin-top:22px;display:flex}.generation-configuration{gap:22px;display:grid}.generator-page .empty-state{padding:20px}@keyframes page-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{gap:16px;padding:16px 20px}.sidebar-nav{flex-wrap:wrap;display:flex}.sidebar-footer{justify-content:space-between;padding-top:12px;display:flex}.content{padding:24px 20px}}@media (width<=640px){.creation-steps{align-items:flex-start;gap:2px}.creation-steps>button,.creation-steps>span{text-align:center;flex-direction:column;flex:1;font-size:11px}.generator-page .embedded-panel{padding:16px}.source-footer{flex-direction:column-reverse;align-items:stretch}.library-actions>a,.library-actions>button{flex:1}.sidebar-nav a{padding:10px 8px;font-size:12px}.sidebar-nav a svg{width:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.library-page td .document-filename{color:var(--muted)}.sidebar-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-toggle{flex-shrink:0;justify-content:center;width:40px;height:40px;min-height:40px;padding:8px}.app-shell{transition:grid-template-columns .18s}.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar-collapsed .sidebar{padding-inline:10px}.sidebar-collapsed .sidebar-heading{flex-direction:column;gap:16px}.sidebar-collapsed .brand-logo-sidebar{width:32px;height:32px}.sidebar-collapsed .sidebar-nav a{justify-content:center;padding-inline:10px}.sidebar-collapsed .sidebar-nav a span,.sidebar-collapsed .user-chip div,.sidebar-collapsed .logout-button span{display:none}.sidebar-collapsed .user-chip,.sidebar-collapsed .logout-button{justify-content:center}.sidebar-nav svg,.user-chip svg{flex-shrink:0}@media (width<=900px){.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar-collapsed .sidebar{padding:16px 20px}.sidebar-collapsed .sidebar-heading{flex-direction:row}.sidebar-collapsed .sidebar-nav,.sidebar-collapsed .sidebar-footer{display:none}.sidebar-collapsed .sidebar{gap:0}}.library-page .document-hierarchy{min-width:190px}.library-page .document-manual-label{color:#374151;font-weight:600}.library-page .document-topic-label{color:#526780}.library-page .document-hierarchy-separator{color:var(--muted)}.library-page .document-hierarchy small{color:var(--muted);font-size:12px}.question-total-input{gap:8px;max-width:540px;font-weight:600;display:grid}.question-total-input input{max-width:150px;font-size:24px}.question-total-input small,.allocation-help{color:var(--muted);font-weight:400}.content-mode-options{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:22px;display:grid}.content-mode-options>label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:16px;display:flex}.content-mode-options>label.selected{background:var(--soft-red);border-color:#c9291c}.content-mode-options input{width:auto;margin-top:4px}.content-mode-options span,.document-allocation>span{gap:5px;display:grid}.content-mode-options small,.document-allocation small{color:var(--muted);font-weight:400}.allocation-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 12px;display:flex}.document-allocations{gap:8px;display:grid}.document-allocation{background:#fafafa;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.document-allocation strong{overflow-wrap:anywhere}.allocation-input{text-align:center;flex:0 0 100px}.allocation-input input{width:100%}.allocation-status{color:#9c4019;margin:16px 0;font-size:14px}.allocation-status.complete{color:#287348}.generation-summary{border:1px solid var(--line);background:#fafafa;border-radius:10px;padding:22px}.generation-summary h2{margin:0;font-size:20px}.generation-summary .summary-total{color:var(--ink);margin:12px 0 22px}.summary-columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:28px;display:grid}.summary-columns h3{margin:0 0 8px;font-size:15px}.summary-breakdown{margin:0}.generation-summary .summary-content-count{color:var(--ink);margin:12px 0}.summary-content-details summary{cursor:pointer;color:var(--red);padding:8px 0;font-weight:600}.summary-content-list{max-height:240px;padding-right:8px;overflow-y:auto}.summary-breakdown>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;display:flex}.summary-breakdown dt{overflow-wrap:anywhere}.summary-breakdown dt small{margin-bottom:4px;display:block}.summary-breakdown dd{white-space:nowrap;margin:0;font-weight:600}.generation-summary .summary-pending{color:var(--danger);margin-bottom:0}.generation-summary p,.generation-summary small{color:var(--muted)}@media (width<=640px){.content-mode-options{grid-template-columns:1fr}.summary-columns{grid-template-columns:1fr;gap:22px}.document-allocation{gap:12px;padding:12px}.allocation-input{flex-basis:80px}}.admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-kpis .stat-card strong{overflow-wrap:anywhere;font-size:1.6rem}.team-table-wrapper{overflow-x:auto}.team-table{border-collapse:collapse;width:100%;font-size:.92rem}.team-table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;text-transform:uppercase;padding:0 10px 8px;font-size:.75rem;font-weight:800}.team-table td{border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;padding:10px}.team-table td:first-child{white-space:normal}.team-table td strong,.team-table td small{display:block}.team-table td small{color:var(--muted)}.role-badge{border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800}.role-badge.role-admin{background:var(--soft-red);color:var(--red)}.role-badge.role-desarrollador{color:#4b3fb0;background:#ece9ff}.role-badge.role-profesor{color:#3d5670;background:#eef3f8}.admin-user-form{gap:12px;display:grid}@media (width<=1100px){.admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.admin-kpis{grid-template-columns:minmax(0,1fr)}}.admin-user-fields{grid-template-columns:minmax(0,1.3fr) minmax(0,1.7fr) minmax(0,.8fr) minmax(0,.8fr);align-items:start;gap:14px;display:grid}.admin-user-fields label{align-content:start}.admin-user-fields small{color:var(--muted);font-size:.75rem;font-weight:600}.role-permissions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.role-permissions article{border:1px solid var(--line);border-radius:8px;padding:12px 14px;transition:border-color .15s,background .15s}.role-permissions article.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red) inset;background:#fffaf9}.role-permissions header{justify-items:start;gap:6px;display:grid}.role-card-title{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:inline-flex}.role-permissions strong{font-size:.9rem}.role-permissions ul{color:var(--muted);gap:4px;margin:8px 0 0;padding-left:18px;font-size:.85rem;line-height:1.45;display:grid}.test-access-note{color:var(--muted);margin-top:4px;padding:0;font-size:.78rem;font-weight:600;display:block}.test-access{border:1px solid var(--line);border-radius:8px;gap:12px;margin:0;padding:12px 14px 14px;display:grid}.test-access legend{padding:0 6px;font-weight:700}.test-access-section{gap:8px;display:grid}.test-access-section>strong{font-size:.9rem}.test-access-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.test-access-options label{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-content:start;align-items:flex-start;gap:8px;padding:10px 12px;font-weight:400;display:flex}.test-access-options label.selected{border-color:var(--choice);box-shadow:0 0 0 1px var(--choice) inset}.test-access-options input{margin-top:2px}.test-access-options strong{font-size:.92rem}.test-access-options.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}.test-access-options span,.test-access-list span{gap:2px;display:grid}.test-access-options small,.test-access-list small{color:var(--muted);font-size:.82rem}.test-access-picker{gap:8px;display:grid}.test-access-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.test-access-toolbar input{flex:260px}.test-access-list{border:1px solid var(--line);border-radius:8px;max-height:280px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.test-access-list li{padding:0 12px}.test-access-list li.muted-text{padding:8px 12px}.test-access-list label{cursor:pointer;align-items:center;gap:10px;padding:8px 0;font-weight:400;display:flex}.test-access-list strong{font-size:.92rem}.test-access-list li+li{border-top:1px solid var(--line)}@media (width<=1100px){.test-access-options,.test-access-options.two-options{grid-template-columns:minmax(0,1fr)}.admin-user-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.role-permissions{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.admin-user-fields{grid-template-columns:minmax(0,1fr)}}.team-row{cursor:pointer}.team-row:hover td{background:#fafafa}.team-member-button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;display:grid}.team-member-button strong{color:var(--black)}.team-member-button:hover strong,.team-member-button:focus-visible strong{color:var(--red);text-decoration:underline}.user-panel-backdrop{z-index:1000;background:#1116;justify-content:flex-end;display:flex;position:fixed;inset:0}.user-panel{background:var(--bg);align-content:start;width:min(820px,100%);height:100%;animation:.18s ease-out user-panel-in;display:grid;overflow-y:auto;box-shadow:-18px 0 50px #0000002e}@keyframes user-panel-in{0%{opacity:.6;transform:translate(24px)}to{opacity:1;transform:none}}.user-panel h3{margin:0 0 12px;font-size:.95rem}.user-panel-header{background:var(--panel);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:16px;padding:24px 28px 18px;display:grid}.user-panel-avatar{color:#3d5670;background:#eef3f8;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.1rem;font-weight:800;display:flex}.user-panel-header h2{margin:0;font-size:1.45rem}.user-panel-email{color:var(--muted);margin-top:2px;display:block}.user-panel-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:10px;font-size:.85rem;display:flex}.user-panel-access{color:var(--ink);margin:8px 0 0;font-size:.85rem;font-weight:600}.user-panel-close{margin:-6px -10px 0 0}.user-panel-tabs{background:var(--panel);border-bottom:1px solid var(--line);z-index:3;gap:4px;padding:0 28px;display:flex;position:sticky;top:0}.user-panel-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 10px 10px;font-weight:700}.user-panel-tabs button[aria-selected=true]{border-bottom-color:var(--red);color:var(--black)}.user-panel>.form-error,.user-panel>.muted-text{margin:20px 28px}.user-panel-body{gap:18px;padding:22px 28px 32px;display:grid}.user-panel-body>section,.user-panel-body>.daily-chart,.user-panel-columns>section{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px}.user-panel-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.user-panel-kpis>div{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:2px;padding:12px 14px;display:grid}.user-panel-kpis span,.user-panel-kpis small{color:var(--muted)}.user-panel-kpis span{font-size:.78rem;font-weight:700}.user-panel-kpis strong{color:var(--black);font-size:1.35rem}.user-panel-kpis small{font-size:.78rem;line-height:1.35}.user-panel-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.user-panel-ranking,.user-panel-tests{margin:0;padding:0;list-style:none;display:grid}.user-panel-ranking li,.user-panel-tests li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.user-panel-ranking li:first-child,.user-panel-tests li:first-child{border-top:0;padding-top:0}.user-panel-ranking span{font-size:.9rem}.user-panel-ranking small{color:var(--muted);white-space:nowrap;font-weight:700}.user-panel-test-name{gap:2px;min-width:0;display:grid}.user-panel-test-name strong{overflow-wrap:anywhere}.user-panel-test-name small{color:var(--muted)}.user-panel-form{gap:16px}.user-panel-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.user-panel-fields label{align-content:start}.user-panel-fields small{color:var(--muted);font-size:.75rem;font-weight:600}.user-panel-form .test-access{background:var(--panel)}.user-panel-actions{justify-content:flex-end;display:flex}.user-panel-danger{justify-content:space-between;align-items:center;gap:16px;display:flex;border-color:#f3c2bd!important}.user-panel-danger div{gap:2px;display:grid}.user-panel-danger small{color:var(--muted)}.team-row-open{color:var(--muted);text-align:right;width:32px}.team-row:hover .team-row-open{color:var(--black)}.daily-chart{margin:0}.daily-chart figcaption{gap:2px;margin-bottom:12px;display:grid}.daily-chart figcaption span{color:var(--muted);font-size:.85rem}.daily-chart-plot{border-bottom:1px solid var(--line);align-items:end;gap:2px;height:140px;display:grid;position:relative}.daily-chart-max{color:var(--muted);font-size:.72rem;position:absolute;top:-4px;left:0}.daily-chart-column{outline:none;justify-content:center;align-items:end;height:100%;display:flex;position:relative}.daily-chart-bar{background:var(--red);opacity:.85;border-radius:4px 4px 0 0;width:min(70%,28px);min-height:0}.daily-chart-column:hover .daily-chart-bar,.daily-chart-column:focus-visible .daily-chart-bar{opacity:1}.daily-chart-tooltip{background:var(--black);color:#fff;pointer-events:none;white-space:nowrap;z-index:2;border-radius:6px;padding:6px 8px;font-size:.75rem;display:grid;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.daily-chart-tooltip.align-start{left:0;transform:none}.daily-chart-tooltip.align-end{left:auto;right:0;transform:none}.daily-chart-axis{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.75rem;display:flex}.level-row{grid-template-columns:112px minmax(0,1fr) 72px;align-items:center;gap:12px;padding:7px 0;display:grid}.level-name{white-space:nowrap;font-size:.9rem}.level-name b{width:16px;display:inline-block}.level-value{text-align:right;white-space:nowrap;font-size:.9rem;font-weight:700}.level-value small{color:var(--muted);margin-left:4px;font-weight:600}.level-track{background:#f0f0f0;border-radius:4px;height:10px;overflow:hidden}.level-track span{background:#3d5670;border-radius:4px;height:100%;display:block}.status-pill{border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:800}.status-pill.status-completed{color:var(--success);background:#e3f6ec}.status-pill.status-error{background:var(--soft-red);color:var(--red)}.status-pill.status-generating{color:#8a5a00;background:#fff3d6}@media (width<=760px){.user-panel-header,.user-panel-body{padding-left:16px;padding-right:16px}.user-panel-tabs{padding:0 16px}.user-panel-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.user-panel-columns,.user-panel-fields{grid-template-columns:minmax(0,1fr)}.user-panel-danger{flex-direction:column;align-items:stretch}}.admin-user-actions{flex-wrap:wrap;gap:10px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.level-choice{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.level-option{background:var(--panel);border:1px solid var(--line);color:inherit;text-align:left;cursor:pointer;border-left-width:4px;border-radius:8px;gap:6px;padding:14px 16px;display:grid}.level-option small{color:var(--muted);line-height:1.4}.level-option-title{align-items:center;gap:8px;display:flex}.level-option-title input{margin:0}.level-option.selected{border-color:var(--level-color);box-shadow:0 0 0 1px var(--level-color)}.level-option:has(input:focus-visible){outline:2px solid var(--level-color);outline-offset:2px}.level-option{--level-color:var(--choice)}.level-option.selected{border-left-color:var(--level-color)}.question-level{border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:700}.answer-reference{font-weight:700}.question-type{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.8rem}.included-in{color:var(--muted)}.type-title{align-items:center;gap:6px;display:flex;position:relative}.info-button{color:var(--muted);background:0 0;border:0;border-radius:999px;min-height:0;padding:4px;display:inline-flex}.info-button:hover,.info-button[aria-expanded=true]{color:var(--choice)}.type-definitions{background:var(--panel);border:1px solid var(--line);z-index:20;border-radius:8px;gap:8px;max-width:min(520px,100vw - 32px);margin:0;padding:14px 16px;display:grid;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000001f}.type-definitions dt{font-size:.86rem;font-weight:700}.type-definitions dd{color:var(--muted);margin:1px 0 0;font-size:.82rem;line-height:1.4}.type-checks{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px 16px;display:grid}.type-checks label{cursor:pointer;align-items:center;gap:8px;font-size:.92rem;display:flex}.type-checks input{accent-color:var(--choice);width:16px;height:16px}.type-checks label.disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.type-warning{color:var(--red);margin:10px 0 0;font-size:.85rem;font-weight:700}.correction-reason{border:1px solid var(--line);border-radius:8px;gap:10px;margin:0;padding:10px 14px 14px;display:grid}.correction-reason legend{padding:0 6px;font-weight:700}.correction-reason legend small{color:var(--muted);margin-left:6px;font-weight:400}.correction-tags{flex-wrap:wrap;gap:6px;display:flex}.correction-tags label{border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.correction-tags label.selected{border-color:var(--choice);box-shadow:0 0 0 1px var(--choice) inset}.correction-tags input{width:14px;height:14px}.learning-permission{cursor:pointer;align-items:flex-start;gap:10px;font-weight:400;display:flex}.learning-permission span{gap:2px;display:grid}.learning-permission small{color:var(--muted);font-size:.82rem}.learning-permission input{margin-top:3px}.learning-tabs button span{background:var(--choice);color:#fff;border-radius:999px;margin-left:8px;padding:1px 7px}.learning-section{gap:16px;display:grid}.learning-toolbar{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px 18px;display:flex}.learning-toolbar>div:first-child{gap:2px;display:grid}.learning-toolbar small{color:var(--muted)}.learning-toolbar .library-tabs{border:0;padding:0}.learning-list,.learning-layers{gap:14px;display:grid}.learning-card,.learning-layer,.learning-block{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:12px;padding:16px 18px;display:grid}.learning-card-fields{grid-template-columns:minmax(0,1fr) 220px;gap:12px;display:grid}.learning-card-wide{grid-column:1/-1}.learning-card-fields textarea{min-height:72px}.learning-card-header{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.learning-card-header p,.learning-card-header small{grid-column:1/-1;margin:0}.learning-card-header small,.learning-rationale{color:var(--muted)}.learning-rationale{margin:0;font-size:.9rem}.learning-conflicts{gap:8px;display:grid}.learning-conflict{border:1px solid var(--line);border-left:4px solid var(--choice);border-radius:8px;gap:4px;padding:8px 12px;display:grid}.learning-conflict.contradicts{background:var(--soft-red);border-left-color:var(--red)}.learning-conflict small{color:var(--muted)}.learning-inline-check{align-items:center;gap:8px;font-size:.88rem;font-weight:600;display:flex}.learning-evidence summary{color:var(--choice);cursor:pointer;font-weight:700}.learning-evidence{gap:8px;display:grid}.learning-diff{gap:4px;margin-top:8px;display:grid}.learning-diff small{color:var(--muted);font-weight:700}.learning-diff del{color:var(--muted);background:#f3f3f3;border-radius:6px;padding:6px 10px}.learning-diff ins{color:var(--ink);background:#eef3f8;border-radius:6px;padding:6px 10px;text-decoration:none}.learning-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.learning-actions input{flex:220px}.learning-layer summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:10px;font-weight:700;display:flex}.learning-layer summary>span{color:#3d5670;background:#eef3f8;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;display:inline-flex}.learning-layer summary small{color:var(--muted);font-weight:600}.learning-readonly,.learning-rules,.learning-corrections,.learning-examples{gap:0;margin:0;padding:0;list-style:none;display:grid}.learning-readonly li,.learning-rules li,.learning-corrections li,.learning-examples li{border-top:1px solid var(--line);padding:10px 0}.learning-readonly li:first-child,.learning-rules li:first-child,.learning-corrections li:first-child,.learning-examples li:first-child{border-top:0}.learning-readonly p,.learning-rules p{margin:4px 0;line-height:1.5}.learning-readonly small,.learning-rules small,.learning-corrections small,.learning-examples small{color:var(--muted)}.learning-readonly.compact li{padding:6px 0}.learning-readonly.compact small{margin-right:6px;font-weight:700}.learning-rule{gap:8px;display:grid}.learning-rule.inactive>div:first-child,.learning-examples li.inactive>div{opacity:.55}.learning-prompt{white-space:pre-wrap;background:#f7f7f7;border-radius:8px;max-height:480px;padding:14px;font-size:.8rem;line-height:1.5;overflow:auto}.learning-block h3{margin:0}.learning-trend{grid-template-columns:minmax(0,220px) minmax(0,1fr) 96px}.learning-trend .level-name{text-overflow:ellipsis;overflow:hidden}.learning-corrections header{gap:2px;display:grid}.learning-tags{flex-wrap:wrap;gap:6px;margin:8px 0 0;display:flex}.learning-tags span{color:#3d5670;background:#eef3f8;border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:700}.learning-note{color:var(--ink);margin:6px 0 0;font-style:italic}.learning-examples li{justify-content:space-between;align-items:center;gap:12px;display:flex}.learning-examples li>div{gap:4px;min-width:0;display:grid}@media (width<=760px){.learning-card-fields{grid-template-columns:minmax(0,1fr)}.learning-trend{grid-template-columns:minmax(0,1fr) 72px}.learning-trend .level-track{display:none}.learning-examples li{flex-direction:column;align-items:stretch}}
