:root{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Arial,Helvetica,sans-serif;color:#172033;background:#eef3f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input{font:inherit}.public-page{min-height:100vh;background:linear-gradient(180deg,#007bff 0%,#a0d2ff 100%)}.admin-login-page{background:linear-gradient(180deg,#1e293b,#0f172a)}.install-page{background:#eef4fa}.center-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 18px;position:relative}.card{background:#fff;border-radius:20px;box-shadow:0 22px 60px rgba(15,23,42,.18)}.login-card,.admin-login-card{width:min(100%,420px);padding:38px;text-align:center}.install-card{width:min(100%,680px);padding:38px}.eyebrow{display:inline-block;color:#0b79d0;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}h1,h2,h3{margin-top:0;color:#1f2937}.login-card h1,.admin-login-card h1{font-size:2rem;margin-bottom:10px}.muted{color:#64748b}.stack-form{display:grid;gap:14px;margin-top:24px}.stack-form label{text-align:left;color:#475569;font-weight:600;display:grid;gap:7px}.stack-form input{width:100%;padding:15px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#f8fafc;outline:none;transition:.2s}.stack-form input:focus{border-color:#0b79d0;box-shadow:0 0 0 4px rgba(11,121,208,.13)}.access-input{text-align:center;font-size:1.1rem;font-weight:700;letter-spacing:.06em}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:14px 18px;text-decoration:none;font-weight:700;cursor:pointer;transition:.2s}.btn.primary{background:#0b79d0;color:#fff;box-shadow:0 10px 25px rgba(11,121,208,.22)}.btn.primary:hover{background:#0968b4;transform:translateY(-1px)}.btn.secondary{background:#eef2f7;color:#334155}.btn.guide{background:#fb923c;color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.full{width:100%}.notice{padding:12px 14px;border-radius:10px;margin:18px 0;font-size:.92rem}.notice.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.notice.success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.small-note{font-size:.78rem;color:#94a3b8;margin:18px 0 0}.admin-link{position:absolute;bottom:20px;color:rgba(255,255,255,.65);font-size:.75rem;text-decoration:none}.back-link{display:inline-block;margin-top:22px;color:#64748b;text-decoration:none;font-size:.88rem}fieldset{border:1px solid #dbe4ee;border-radius:14px;padding:18px;display:grid;gap:13px}legend{padding:0 8px;font-weight:700;color:#334155}.button-row{display:flex;gap:12px;flex-wrap:wrap}.hero-header{text-align:center;color:#fff;padding:46px 18px 22px}.hero-header h1{color:#fff;font-size:clamp(2rem,5vw,3.1rem);margin-bottom:8px;text-shadow:0 3px 10px rgba(0,0,0,.18)}.hero-header p{margin:0;color:#dbeafe;font-size:1.1rem}.content-shell{width:min(100% - 32px,900px);margin:0 auto;padding:0 0 36px}.selector-card{padding:34px;max-width:700px;margin:0 auto;text-align:center}.selector-card h2{font-size:2rem;margin-bottom:8px}.section-block{padding-top:28px}.section-block.bordered{border-top:1px solid #e2e8f0;margin-top:28px}.question-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.question-count{padding:16px 10px;border-radius:10px;border:2px solid #bfdbfe;background:#eff6ff;color:#1e40af;font-weight:700;cursor:pointer}.question-count:hover{background:#dbeafe}.question-count.selected{background:#0b79d0;color:#fff;border-color:#0b79d0;box-shadow:0 0 0 4px rgba(11,121,208,.18)}.user-footer{text-align:center;color:#eff6ff;padding:20px;font-size:.85rem}.user-footer a{color:#fff}.admin-page{background:#f1f5f9}.admin-topbar{height:68px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1100px)/2));gap:20px}.admin-topbar div:first-child{display:flex;gap:12px;align-items:center}.admin-topbar span{font-size:.75rem;background:#e0f2fe;color:#0369a1;border-radius:999px;padding:4px 9px}.admin-topbar a{color:#0b79d0;text-decoration:none}.admin-shell{width:min(100% - 32px,1100px);margin:0 auto;padding:36px 0}.admin-intro p{color:#64748b;max-width:760px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:22px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.stat-card span{display:block;color:#64748b;font-size:.86rem}.stat-card strong{font-size:2rem;color:#0f172a}.admin-status{padding:26px;box-shadow:0 10px 30px rgba(15,23,42,.06)}.admin-status li{margin:8px 0;color:#64748b}.admin-status li.done{color:#047857}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.question-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:1fr}.admin-topbar{height:auto;min-height:68px;padding:14px 18px;align-items:flex-start;flex-direction:column}.selector-card,.login-card,.admin-login-card,.install-card{padding:26px 20px}.hero-header{padding-top:28px}}

/* Paket 02 */
.brand-logo{display:block;width:min(250px,82%);height:auto;margin:0 auto 20px}.branded-card{padding-top:28px}.branded-hero{display:flex;align-items:center;justify-content:center;gap:24px}.branded-hero>img{width:125px;height:125px;object-fit:contain;background:#fff;border-radius:24px;padding:8px;box-shadow:0 10px 28px rgba(15,23,42,.12)}.branded-hero h1{text-align:left;margin:0}.branded-hero p{text-align:left}.question-stock{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px auto 0;background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px 18px;color:#1e40af}.question-stock strong{font-size:1.6rem}.question-stock span{font-size:.88rem}.warning-text{color:#b45309}.quiz-page{background:#eef4f9;color:#172033}.quiz-topbar{height:72px;background:#fff;border-bottom:1px solid #dbe5ef;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1040px)/2));position:sticky;top:0;z-index:5}.quiz-topbar>a{color:#0b79d0;text-decoration:none}.brand-mini{display:flex;align-items:center;gap:12px;color:#172033!important;font-weight:700}.brand-mini img{width:50px;height:50px;object-fit:contain}.quiz-shell{width:min(100% - 28px,980px);margin:28px auto}.quiz-card{background:#f8fafc;border-radius:18px;box-shadow:0 14px 40px rgba(15,23,42,.12);overflow:hidden;min-height:calc(100vh - 128px);display:flex;flex-direction:column}.quiz-fixed-head{padding:22px 28px 18px;background:#fff}.quiz-meta{display:flex;justify-content:space-between;gap:20px;color:#64748b;font-size:.86rem}.progress-track{height:9px;border-radius:99px;background:#e2e8f0;margin:10px 0 16px;overflow:hidden}.progress-bar{height:100%;background:#0b79d0;border-radius:99px;transition:width .2s}.question-dots{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.question-dot{width:31px;height:31px;border-radius:50%;border:0;background:#e2e8f0;color:#64748b;font-weight:700;cursor:pointer}.question-dot.answered{background:#cbd5e1;color:#334155}.question-dot.current{background:#0b79d0;color:#fff}.quiz-content{padding:28px;flex:1;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.question-image-wrap{text-align:center;margin-bottom:20px}.question-image-wrap img{max-width:100%;max-height:320px;object-fit:contain;border-radius:12px}.question-box{background:#fff;border:2px solid #e2e8f0;border-radius:13px;padding:18px;margin-bottom:20px}.question-box>div{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.question-box h1{font-size:1.15rem;line-height:1.55;margin:0;white-space:pre-wrap;flex:1;min-width:220px}.type-badge{border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700}.type-badge.single{background:#dbeafe;color:#0b79d0}.type-badge.multi{background:#ffedd5;color:#9a3412}.answer-list{display:grid;gap:12px}.answer-button{width:100%;display:flex;align-items:center;text-align:left;gap:14px;padding:14px 16px;border:2px solid #cbd5e1;background:#fff;border-radius:12px;cursor:pointer;color:#334155}.answer-button:hover{border-color:#0b79d0;background:#f8fbff}.answer-button.selected{background:#dbeafe;border-color:#0b79d0;box-shadow:0 0 0 3px rgba(11,121,208,.12);color:#075985}.answer-check{width:23px;height:23px;border:2px solid #94a3b8;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.answer-button.selected .answer-check{border-color:#0b79d0}.answer-button.selected .answer-check span{width:13px;height:13px;background:#0b79d0;border-radius:3px}.quiz-actions{padding:20px 28px;background:#fff;display:flex;justify-content:space-between}.modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.58);display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal-backdrop[hidden]{display:none}.confirm-modal{width:min(100%,430px);background:#fff;border-radius:18px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.25)}.confirm-modal .button-row{justify-content:flex-end}.results-page{min-height:100vh;background:linear-gradient(180deg,#087fe0,#9ed1ff);padding:30px 0}.results-shell{width:min(100% - 30px,850px);margin:auto}.result-summary{min-height:260px;border-radius:24px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:28px}.result-summary>img{position:absolute;width:420px;max-width:80%;opacity:.22}.result-panel{position:relative;text-align:center;background:rgba(255,255,255,.88);backdrop-filter:blur(5px);border-radius:20px;padding:24px 44px;box-shadow:0 15px 35px rgba(15,23,42,.15)}.result-icon{width:60px;height:60px;margin:auto;border-radius:50%;display:grid;place-items:center;font-size:2.2rem;font-weight:800}.result-icon.pass{background:#dcfce7;color:#16a34a}.result-icon.fail{background:#fee2e2;color:#dc2626}.result-panel h1{margin:12px 0 4px}.result-percent{font-size:3rem;font-weight:800;color:#0b79d0}.result-panel p{margin:0;color:#64748b}.detail-title{color:#fff;text-shadow:0 2px 4px rgba(15,23,42,.2)}.result-list{display:grid;gap:16px}.result-question{background:#fff;border-radius:16px;padding:20px;border-left:5px solid #cbd5e1;box-shadow:0 10px 25px rgba(15,23,42,.12)}.result-question.correct{border-left-color:#22c55e}.result-question.wrong{border-left-color:#ef4444}.result-question-head{display:flex;justify-content:space-between;gap:20px;font-size:.85rem}.result-question.correct .result-question-head span{color:#15803d}.result-question.wrong .result-question-head span{color:#b91c1c}.result-question h3{font-size:1rem;line-height:1.5;margin:12px 0}.result-options{display:grid;gap:8px}.result-option{display:flex;gap:10px;padding:9px 11px;background:#f8fafc;border-radius:9px;color:#475569}.result-option>span{width:20px;font-weight:800}.result-option.correct-option{background:#f0fdf4;color:#166534}.result-option.wrong-option{background:#fef2f2;color:#991b1b}.result-option small{display:block;font-size:.7rem;opacity:.75}.result-actions{display:flex;justify-content:center;gap:12px;margin:26px 0 12px}.admin-brand img{width:48px;height:48px;object-fit:contain}.admin-topbar nav{display:flex;align-items:center;gap:10px}.admin-topbar nav a{padding:8px 10px;border-radius:9px;color:#64748b}.admin-topbar nav a.active{background:#e0f2fe;color:#0369a1}.admin-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.admin-page-head h1{margin-bottom:4px}.admin-page-head p{margin:0;color:#64748b}.question-editor{padding:26px;margin-bottom:28px}.question-form{display:grid;gap:17px}.question-form label{display:grid;gap:7px;color:#475569;font-weight:600}.question-form input,.question-form textarea,.question-form select,.search-bar input{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:11px 12px;background:#fff;font:inherit}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.option-editor{display:grid;gap:9px}.option-editor h3{margin-bottom:3px}.option-row{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center}.option-row .correct-input{width:20px;height:20px}.search-bar{display:flex;gap:10px;margin-bottom:15px}.question-admin-list{display:grid;gap:11px}.admin-question-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:17px 18px;box-shadow:0 7px 20px rgba(15,23,42,.04)}.admin-question-main h3{margin:8px 0 4px;font-size:1rem}.admin-question-main small{color:#94a3b8}.question-tags{display:flex;gap:7px}.question-tags span{background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:3px 8px;font-size:.7rem}.admin-question-actions{display:flex;gap:6px;flex:0 0 auto}.admin-question-actions form{margin:0}.icon-action{width:36px;height:36px;border:0;border-radius:9px;background:#eff6ff;color:#0b79d0;display:grid;place-items:center;text-decoration:none;font-size:1.2rem;cursor:pointer}.icon-action.danger{background:#fef2f2;color:#dc2626}.empty-state{padding:30px;text-align:center;background:#fff;border-radius:14px;color:#94a3b8}
@media(max-width:700px){.branded-hero{flex-direction:column;gap:10px}.branded-hero h1,.branded-hero p{text-align:center}.branded-hero>img{width:100px;height:100px}.quiz-shell{width:min(100% - 16px,980px);margin:10px auto}.quiz-card{min-height:calc(100vh - 92px)}.quiz-fixed-head,.quiz-content,.quiz-actions{padding-left:16px;padding-right:16px}.quiz-topbar{height:62px}.brand-mini img{width:42px;height:42px}.brand-mini span{display:none}.question-dot{width:29px;height:29px}.result-panel{padding:22px}.form-grid{grid-template-columns:1fr}.admin-page-head,.admin-question-card{align-items:flex-start}.admin-question-card{flex-direction:column}.admin-question-actions{align-self:flex-end}.search-bar{flex-wrap:wrap}.admin-topbar nav{flex-wrap:wrap}}

/* Paket 03 – Adminoberfläche nach React-Referenz */
.react-admin{background:#eef3f8;color:#111827}.react-topbar{height:74px;background:#147ac1;box-shadow:0 2px 6px rgba(15,23,42,.18)}.react-topbar-inner{width:min(100% - 34px,1160px);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.react-topbar h1{margin:0;color:white;font-size:1.45rem}.signout-btn{background:#fff;color:#0874bd;text-decoration:none;font-weight:700;padding:10px 22px;border-radius:9px}.react-admin-shell{width:min(100% - 34px,1160px);margin:0 auto;padding:28px 0 48px}.react-tabs{display:flex;gap:30px;border-bottom:1px solid #d6dee8;margin-bottom:30px}.react-tabs a{display:flex;align-items:center;gap:9px;padding:14px 6px 16px;color:#617086;text-decoration:none;font-size:.92rem;border-bottom:2px solid transparent}.react-tabs a.active{color:#0879c9;border-bottom-color:#0879c9}.react-tabs span{font-size:1.12rem}.react-tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:30px}.react-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 7px 18px rgba(15,23,42,.09)}.react-card h2{font-size:1.18rem;margin:0 0 15px}.react-card p{font-size:.88rem;line-height:1.55;color:#475569;margin:0 0 18px}.file-inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-pill{display:inline-flex;align-items:center;background:#e7f2fa;color:#0879c9;border:0;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}.file-pill input{display:none}.file-pill.disabled{opacity:.55;cursor:not-allowed}.mini-upload{border:0;background:transparent;color:#0879c9;font-weight:700;cursor:pointer}.export-buttons{display:flex;gap:15px}.csv-btn,.pdf-btn{display:inline-flex;justify-content:center;align-items:center;min-width:154px;border-radius:8px;padding:11px 18px;border:0;text-decoration:none;font-weight:700}.csv-btn{background:#43536a;color:#fff}.pdf-btn{background:#ff6a0d;color:#fff}.pdf-btn:disabled{opacity:.65}.question-table-card{padding:24px}.question-card-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.question-card-head h2{margin:0}.react-green-btn{border:0;border-radius:8px;background:#10a34a;color:#fff;font-weight:700;padding:11px 18px;cursor:pointer}.react-filter-row{display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr auto;gap:14px;margin-bottom:16px}.react-filter-row input,.react-filter-row select,.access-create-form input,.react-modal-form input,.react-modal-form textarea,.react-modal-form select{width:100%;border:1px solid #d5dce5;border-radius:7px;padding:10px 11px;background:#fff;font:inherit}.filter-submit{border:1px solid #d5dce5;background:#f8fafc;border-radius:7px;padding:0 16px}.mark-tools{border-bottom:1px solid #e1e6ed;padding-bottom:17px;margin-bottom:8px}.mark-tools strong{display:block;font-size:.84rem;margin-bottom:9px}.mark-tools div{display:flex;gap:8px;flex-wrap:wrap}.mark-tools span{font-size:.78rem;color:#94a3b8;background:#f1f5f9;border-radius:999px;padding:7px 12px}.react-table-wrap{overflow:auto}.react-table{width:100%;border-collapse:collapse;font-size:.88rem}.react-table th{color:#334155;font-size:.79rem;text-align:left;border-bottom:1px solid #dfe5ec;padding:10px 8px;white-space:nowrap}.react-table td{border-bottom:1px solid #e5e9ef;padding:10px 8px;vertical-align:middle}.question-cell{max-width:430px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.type-chip{display:inline-flex;background:#cfe9ff;color:#0879c9;border-radius:999px;padding:4px 10px;font-size:.72rem}.type-chip.multi{background:#ffead9;color:#b45309}.action-links{display:flex;gap:14px;align-items:center}.action-links a{color:#0879c9;text-decoration:none;font-weight:600}.action-links form{margin:0}.action-links button,.text-delete{border:0;background:none;color:#ef3229;padding:0;font:inherit;cursor:pointer}.react-question-modal{width:min(100% - 32px,672px);max-height:calc(100vh - 50px);overflow:auto;background:#fff;border-radius:14px;padding:26px 26px 22px;box-shadow:0 28px 90px rgba(0,0,0,.33)}.react-question-modal h2{margin:0 0 24px;font-size:1.42rem}.react-modal-form{display:grid;gap:15px}.react-modal-form label{display:grid;gap:7px;font-size:.84rem}.react-modal-form textarea{resize:vertical;min-height:112px}.modal-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.answer-caption{font-size:.85rem;margin-top:4px}.modal-answer{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:center}.modal-answer .correct-input{width:19px;height:19px}.react-modal-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:16px}.cancel-modal,.save-modal{border:0;border-radius:8px;padding:11px 22px;font-weight:700;text-decoration:none}.cancel-modal{background:#e4eaf1;color:#334155}.save-modal{background:#087bd1;color:#fff}.access-create-card{margin-bottom:28px}.access-create-form{display:grid;grid-template-columns:1fr 1fr auto;gap:15px}.access-table code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.code-cell{display:flex;align-items:center;gap:8px}.copy-code{border:0;background:none;color:#94a3b8;cursor:pointer}.toggle{width:44px;height:24px;border:0;border-radius:999px;background:#cbd5e1;padding:3px;cursor:pointer}.toggle span{display:block;width:18px;height:18px;background:#fff;border-radius:50%;transition:.18s}.toggle.on{background:#10a34a}.toggle.on span{transform:translateX(20px)}.access-table form{margin:0}
@media(max-width:850px){.react-tool-grid{grid-template-columns:1fr}.react-filter-row{grid-template-columns:1fr 1fr}.access-create-form{grid-template-columns:1fr}.modal-two{grid-template-columns:1fr}}@media(max-width:600px){.react-topbar-inner,.react-admin-shell{width:min(100% - 20px,1160px)}.react-topbar h1{font-size:1.15rem}.signout-btn{padding:8px 13px}.react-tabs{gap:10px}.react-tabs a{font-size:.82rem}.react-filter-row{grid-template-columns:1fr}.question-card-head{align-items:flex-start;flex-direction:column}.react-question-modal{padding:22px 16px}.export-buttons{flex-wrap:wrap}}

/* Paket 05 – E-Mail / Code vergessen */
.forgot-link{border:0;background:transparent;color:#0b79d0;font-weight:700;cursor:pointer;padding:5px;text-decoration:none}.forgot-link:hover{text-decoration:underline}.modal-backdrop.forgot-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.42);display:none;align-items:center;justify-content:center;padding:18px}.modal-backdrop.forgot-backdrop.open{display:flex}.forgot-modal{position:relative;width:min(100%,390px);background:#fff;border-radius:18px;padding:26px;box-shadow:0 26px 80px rgba(0,0,0,.3)}.forgot-modal h2{margin:0 35px 7px 0;font-size:1.25rem}.forgot-modal>p{margin:0;color:#64748b;font-size:.9rem;line-height:1.5}.forgot-close{position:absolute;top:14px;right:16px;border:0;background:transparent;color:#94a3b8;font-size:1.8rem;cursor:pointer}.forgot-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.forgot-info{font-size:.85rem;line-height:1.45;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:11px;color:#475569}.mail-settings-card{margin-bottom:28px}.mail-settings-card h2{margin-bottom:7px}.mail-settings-form{display:grid;grid-template-columns:1fr 1.2fr 1.4fr auto;gap:14px;align-items:end}.mail-settings-form label{display:grid;gap:6px;font-size:.8rem;color:#475569}.mail-settings-form input{width:100%;border:1px solid #d5dce5;border-radius:7px;padding:10px 11px;background:#fff;font:inherit}.mail-chip{display:inline-flex;border-radius:999px;padding:4px 9px;background:#eef2f7;color:#64748b;font-size:.72rem}.mail-chip.sent{background:#dcfce7;color:#15803d}.mail-chip.failed{background:#fee2e2;color:#b91c1c}.access-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.access-actions form{margin:0}.text-send{border:0;background:none;color:#0879c9;padding:0;font:inherit;font-weight:600;cursor:pointer}@media(max-width:900px){.mail-settings-form{grid-template-columns:1fr 1fr}.mail-settings-form .save-modal{align-self:end}}@media(max-width:600px){.mail-settings-form{grid-template-columns:1fr}.forgot-actions{grid-template-columns:1fr}}

/* Paket 06 – exakte React-Struktur im Fragenfilter */
.question-table-card{padding:24px 24px 22px}.question-card-head{margin-bottom:16px;padding-bottom:15px;border-bottom:1px solid #e1e6ed}.react-filter-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:0 0 17px}.react-filter-row input,.react-filter-row select{height:42px;padding:0 12px;border:1px solid #d7dee7;border-radius:8px;background:#fff;color:#111827;font-size:.9rem;outline:none;box-shadow:none}.react-filter-row input::placeholder{color:#9aa5b5}.react-filter-row input:focus,.react-filter-row select:focus{border-color:#9fc8e8;box-shadow:0 0 0 2px rgba(8,121,201,.08)}.mark-tools{padding:0 0 17px;margin:0 0 8px;border-bottom:1px solid #e1e6ed}.mark-tools strong{display:block;margin:0 0 9px;font-size:.82rem;color:#334155}.mark-tools>div{display:flex;gap:8px;flex-wrap:wrap}.mark-pill{border:0;border-radius:999px;padding:7px 12px;background:#eef2f6;color:#7f8da1;font:inherit;font-size:.78rem;line-height:1;cursor:pointer}.mark-pill:disabled{color:#a5afbe;background:#f1f4f7;cursor:default}.react-table th{height:44px;padding:9px 8px}.react-table td{height:41px;padding:8px}.react-table th:first-child,.react-table td:first-child{width:42px;text-align:center}.react-table th:nth-child(2),.react-table td:nth-child(2){width:54px;text-align:center}.react-table th:nth-child(4),.react-table td:nth-child(4){width:58px;text-align:center}.react-table th:nth-child(5),.react-table td:nth-child(5){width:72px}.react-table th:last-child,.react-table td:last-child{width:112px}.row-delete{border:0;background:transparent;color:#ef3229;padding:0;font:inherit;font-weight:600;cursor:pointer}.bulk-delete-row{display:flex;justify-content:flex-end;padding-top:14px}.text-delete{font-size:.84rem}.question-cell{max-width:460px}.filter-submit{display:none!important}
@media(max-width:850px){.react-filter-row{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:680px){.react-filter-row{grid-template-columns:1fr}.question-table-card{padding:18px 14px}}

/* Paket 07 – Zugangscodeverwaltung näher an der React-Referenz */
.access-react-create{margin-bottom:30px;padding:24px}
.access-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.access-card-title-row h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:1.18rem}
.access-card-title-row p{margin:0 0 18px;max-width:790px}
.access-key-icon{font-size:1.2rem;color:#1f2937}
.mail-settings-trigger{border:0;background:transparent;color:#64748b;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:4px 0;white-space:nowrap}
.mail-settings-trigger:hover{color:#0879c9}
.access-react-form{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:center}
.access-react-form input{height:42px;width:100%;border:1px solid #d5dce5;border-radius:8px;padding:0 12px;background:#fff;color:#111827;font:inherit;outline:none}
.access-react-form input::placeholder{color:#9aa5b5}
.access-react-form input:focus{border-color:#9fc8e8;box-shadow:0 0 0 2px rgba(8,121,201,.08)}
.access-react-form .react-green-btn{height:42px;padding:0 20px;white-space:nowrap}
.access-list-card{padding:24px}
.access-list-card>h2{margin:0 0 15px;font-size:1.18rem}
.access-react-table th,.access-react-table td{padding:11px 10px}
.access-react-table th:first-child,.access-react-table td:first-child{width:auto;text-align:left}
.access-react-table th:nth-child(2),.access-react-table td:nth-child(2){width:auto;text-align:left}
.access-react-table th:nth-child(4),.access-react-table td:nth-child(4){width:110px;text-align:left}
.access-react-table th:nth-child(5),.access-react-table td:nth-child(5){width:90px;text-align:left}
.access-react-table th:last-child,.access-react-table td:last-child{width:115px;text-align:left}
.access-react-table tbody tr:hover{background:#f8fafc}
.access-react-table code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#1f2937;font-size:.87rem}
.code-cell{display:flex;align-items:center;gap:8px}
.copy-code{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#94a3b8;cursor:pointer;padding:2px;font-size:1rem}
.copy-code:hover{color:#0879c9}.copy-code.copied{color:#16a34a}
.access-date{font-size:.82rem;color:#64748b}
.inline-form{margin:0}
.access-row-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}
.access-mail-action{border:0;background:transparent;color:#94a3b8;font:inherit;font-size:1rem;cursor:pointer;padding:0;line-height:1}
.access-mail-action:hover{color:#0879c9}
.access-delete-action{border:0;background:transparent;color:#ef4444;font:inherit;font-weight:600;cursor:pointer;padding:0}
.empty-access-table{text-align:center!important;color:#94a3b8;padding:28px!important}
.access-settings-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.42);display:none;align-items:center;justify-content:center;padding:18px}
.access-settings-backdrop.open{display:flex}
.access-settings-modal{width:min(100% - 32px,560px)}
@media(max-width:850px){.access-react-form{grid-template-columns:1fr 1fr}.access-react-form .react-green-btn{grid-column:1/-1;justify-self:start}.access-card-title-row{flex-direction:column}.mail-settings-trigger{margin-top:-7px}}
@media(max-width:600px){.access-react-form{grid-template-columns:1fr}.access-react-form .react-green-btn{grid-column:auto;width:100%}.access-react-table{min-width:780px}}

/* Paket 08 – Teilnehmerbereich nach React-Referenz */
.react-public-page,.react-quiz-page,.react-results-page{margin:0;min-height:100vh;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Arial,Helvetica,sans-serif}.react-login-stage,.react-user-stage,.react-quiz-stage{min-height:100vh;background:linear-gradient(180deg,#007bff 0%,#a0d2ff 100%);display:flex;flex-direction:column;align-items:center;padding:16px}.react-login-stage{justify-content:center;position:relative}.react-login-card{width:min(100%,384px);background:#fff;padding:32px;border-radius:16px;box-shadow:0 25px 55px rgba(15,23,42,.28);text-align:center;display:flex;flex-direction:column;align-items:center}.react-login-logo{width:256px;max-width:90%;height:auto;margin:0 0 24px}.react-login-card h1{margin:0;font-size:30px;line-height:1.2;font-weight:700;letter-spacing:.02em;color:#1f2937}.react-login-subtitle{margin:8px 0 0;font-size:20px;color:#4b5563}.react-login-help{margin:32px 0 16px;color:#6b7280}.react-login-form{width:100%;display:grid;gap:16px}.react-login-form input{width:100%;padding:14px 20px;border:2px solid #f1f5f9;border-radius:12px;background:#f3f4f6;color:#111827;text-align:center;font-size:18px;font-weight:600;outline:none;transition:.2s}.react-login-form input:focus{border-color:transparent;box-shadow:0 0 0 3px rgba(11,121,208,.35)}.react-login-form input.has-error{border-color:#f87171;background:#fef2f2}.react-login-form>button[type=submit]{border:0;border-radius:12px;background:#0b79d0;color:#fff;font-weight:700;padding:16px;box-shadow:0 10px 22px rgba(11,121,208,.25);cursor:pointer;transition:.2s}.react-login-form>button[type=submit]:hover{background:#0968b4;transform:scale(1.03)}.react-forgot-link{border:0;background:none;color:#0b79d0;font-weight:600;font-size:14px;cursor:pointer}.react-forgot-link:hover{text-decoration:underline}.react-login-error{font-size:14px;color:#dc2626;margin:12px 0 0}.react-admin-link{position:absolute;bottom:16px;color:#bfdbfe;font-size:12px;text-decoration:none}.react-admin-link:hover{color:#fff}.react-forgot-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.4);display:none;align-items:center;justify-content:center;padding:16px}.react-forgot-backdrop.open{display:flex}.react-forgot-modal{width:min(100%,384px);background:#fff;border-radius:16px;box-shadow:0 25px 60px rgba(0,0,0,.28);padding:24px}.react-forgot-head{display:flex;justify-content:space-between;gap:16px}.react-forgot-head h2{font-size:18px;margin:0 0 5px}.react-forgot-head p{font-size:14px;color:#4b5563;margin:0}.react-forgot-head button{border:0;background:none;font-size:26px;color:#9ca3af;cursor:pointer}.react-forgot-modal form{margin-top:16px}.react-forgot-modal input{width:100%;padding:12px 14px;border-radius:12px;border:2px solid #f1f5f9;background:#f3f4f6;outline:none}.react-forgot-modal input:focus{box-shadow:0 0 0 3px rgba(11,121,208,.3)}.react-forgot-info{margin-top:12px;padding:12px;border:1px solid #e5e7eb;background:#f9fafb;border-radius:12px;color:#374151;font-size:14px}.react-forgot-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.react-forgot-actions button{border:0;border-radius:12px;padding:12px;font-weight:700;cursor:pointer}.react-forgot-actions button:first-child{background:#f3f4f6;color:#1f2937}.react-forgot-actions button:last-child{background:#0b79d0;color:#fff}
.react-user-stage{justify-content:center}.react-user-header{width:min(100%,896px);text-align:center;margin:0 auto 24px;flex:0 0 auto}.react-user-header h1{margin:0;color:#fff;font-size:clamp(32px,4vw,48px);line-height:1.1;font-weight:800;text-shadow:0 4px 8px rgba(15,23,42,.22)}.react-user-header p{margin:8px 0 0;color:#dbeafe;font-size:18px}.react-selector-wrap{width:min(100%,896px);display:flex;justify-content:center}.react-selector-card{width:min(100%,672px);background:#f8fafc;border-radius:12px;padding:32px;box-shadow:0 8px 18px rgba(15,23,42,.14)}.react-selector-card h2{text-align:center;font-size:30px;margin:0 0 8px;color:#1f2937}.react-selector-subtitle{text-align:center;color:#4b5563;margin:0 0 32px}.react-selector-section h3{text-align:center;font-size:18px;color:#334155;margin:0 0 16px}.react-guide-button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;gap:12px;border:2px solid #fb923c;background:#fb923c;color:#fff;border-radius:8px;text-decoration:none;font-weight:700;padding:12px 16px;transition:.2s}.react-guide-button:hover{background:#f97316;border-color:#f97316}.react-guide-button span{font-size:25px;line-height:1}.react-guide-button.disabled{opacity:.6;cursor:not-allowed}.react-selector-divider{border-top:1px solid #e5e7eb;padding-top:32px;margin-top:32px}.react-question-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.react-question-count{min-height:60px;border:2px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1e40af;font-size:18px;font-weight:700;cursor:pointer;transition:.2s}.react-question-count:hover{background:#dbeafe;border-color:#60a5fa}.react-question-count.selected{background:#0b79d0;color:#fff;border-color:#0b79d0;box-shadow:0 0 0 4px rgba(11,121,208,.2)}.react-start-section{margin-top:32px}.react-start-button{width:100%;min-height:58px;border:0;border-radius:8px;background:#0b79d0;color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:.2s}.react-start-button:hover{background:#0968b4;transform:scale(1.02)}.react-start-button:disabled,.react-question-count:disabled{opacity:.55;cursor:not-allowed;transform:none}.react-no-questions{text-align:center;color:#b45309;font-size:13px}.react-user-footer{width:min(100%,896px);text-align:center;color:#bfdbfe;font-size:13px;margin-top:28px}.react-user-footer a{color:#bfdbfe;text-decoration:none}.react-user-footer a:hover{color:#fff}.react-user-footer span{padding:0 7px}
.react-quiz-stage{align-items:center}.react-quiz-heading{margin-top:0}.react-quiz-shell{width:min(100%,896px);display:flex;flex:1;min-height:0}.react-quiz-card{width:100%;background:#f8fafc;border-radius:12px;box-shadow:0 8px 18px rgba(15,23,42,.16);display:flex;flex-direction:column;overflow:hidden}.react-quiz-head{padding:24px 32px;flex:0 0 auto}.react-quiz-counter{font-size:14px;color:#6b7280}.react-progress-track{height:10px;border-radius:999px;background:#e2e8f0;margin:8px 0 16px;overflow:hidden}.react-progress-bar{height:100%;border-radius:999px;background:#0b79d0;transition:width .2s}.react-question-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.react-question-dot{width:32px;height:32px;border:0;border-radius:50%;background:#e2e8f0;color:#475569;font-size:14px;font-weight:700;cursor:pointer;transition:.2s}.react-question-dot.answered{background:#cbd5e1;color:#1f2937}.react-question-dot.current{background:#0b79d0;color:#fff}.react-quiz-content{flex:1;padding:32px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;overflow:auto}.react-question-image{margin-bottom:24px;text-align:center}.react-question-image img{max-width:100%;max-height:320px;object-fit:contain;border-radius:8px;background:#f1f5f9}.react-question-box{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:24px}.react-question-box h2{flex:1;min-width:220px;margin:0;color:#1f2937;font-size:20px;line-height:1.45;white-space:pre-wrap}.react-type-badge{margin-top:2px;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.react-type-badge.single{background:#dbeafe;color:#0b79d0}.react-type-badge.multi{background:#ffedd5;color:#9a3412}.react-answer-list{display:grid;gap:16px}.react-answer-button{width:100%;display:flex;align-items:center;gap:16px;text-align:left;padding:14px 16px;border:2px solid #cbd5e1;border-radius:8px;background:#fff;color:#374151;cursor:pointer;transition:.2s}.react-answer-button:hover{background:#f1f5f9;border-color:#0b79d0}.react-answer-button.selected{background:#dbeafe;border-color:#0b79d0;box-shadow:0 0 0 2px rgba(11,121,208,.25)}.react-answer-check{width:24px;height:24px;border:2px solid #94a3b8;border-radius:6px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.react-answer-check span{width:14px;height:14px;border-radius:2px}.react-answer-button.selected .react-answer-check{border-color:#0b79d0}.react-answer-button.selected .react-answer-check span{background:#0b79d0}.react-answer-text{font-weight:500;white-space:pre-wrap}.react-answer-button.selected .react-answer-text{color:#0b79d0}.react-quiz-actions{padding:24px 32px;display:flex;justify-content:space-between;flex:0 0 auto}.react-quiz-actions button{border:0;border-radius:8px;padding:10px 24px;font-weight:700;cursor:pointer}.react-prev-button{background:#e2e8f0;color:#334155}.react-next-button{background:#0b79d0;color:#fff}.react-quiz-actions button:disabled{opacity:.5;cursor:not-allowed}.react-confirm-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.react-confirm-backdrop[hidden]{display:none}.react-confirm-modal{width:min(100%,430px);background:#fff;border-radius:16px;padding:26px;box-shadow:0 25px 65px rgba(0,0,0,.3);text-align:center}.react-confirm-modal h2{margin:0 0 10px}.react-confirm-modal p{color:#64748b;line-height:1.5}.react-confirm-modal>div{display:flex;justify-content:center;gap:12px;margin-top:22px}.react-confirm-modal button{border:0;border-radius:9px;padding:11px 22px;font-weight:700;cursor:pointer}.react-confirm-modal button:first-child{background:#e2e8f0;color:#334155}.react-confirm-modal button:last-child{background:#0b79d0;color:#fff}
.react-results-page{background:linear-gradient(180deg,#007bff 0%,#a0d2ff 100%);padding-bottom:92px}.react-results-shell{width:min(100% - 32px,768px);margin:0 auto;padding:32px 0}.react-result-hero{position:relative;min-height:250px;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:32px;background:rgba(255,255,255,.18)}.react-result-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.34;transform:scale(1.08)}.react-result-summary{position:relative;background:rgba(255,255,255,.82);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.55);border-radius:16px;padding:24px 44px;text-align:center;box-shadow:0 10px 25px rgba(15,23,42,.18)}.react-result-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:40px;font-weight:700}.react-result-icon.pass{background:rgba(34,197,94,.16);color:#22c55e}.react-result-icon.fail{background:rgba(239,68,68,.16);color:#ef4444}.react-result-summary h1{font-size:24px;margin:16px 0 0}.react-result-percent{font-size:48px;line-height:1.1;font-weight:800;color:#0b79d0;margin:8px 0}.react-result-summary p{margin:0;color:#64748b}.react-detail-title{color:#fff;font-size:20px;text-shadow:0 2px 4px rgba(15,23,42,.25);margin:0 0 16px}.react-result-list{display:grid;gap:16px}.react-result-question{background:#fff;border-radius:12px;padding:20px;color:#1e293b}.react-result-image{margin-bottom:16px}.react-result-image img{width:100%;max-height:256px;object-fit:contain;border-radius:8px;background:#f1f5f9}.react-result-question-head{display:flex;align-items:flex-start;margin-bottom:16px}.react-result-question-head>span{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:16px;color:#fff;font-weight:700;flex:0 0 auto}.react-result-question-head>span.correct{background:#22c55e}.react-result-question-head>span.wrong{background:#ef4444}.react-result-question-head h3{font-size:18px;margin:2px 0 0;white-space:pre-wrap}.react-result-options{display:grid;gap:12px}.react-result-option{border:2px solid #cbd5e1;border-radius:8px;padding:12px;display:flex;align-items:flex-start}.react-result-radio{width:24px;height:24px;border-radius:50%;border:2px solid #94a3b8;display:flex;align-items:center;justify-content:center;margin-right:12px;flex:0 0 auto;font-weight:700}.react-result-option.right-selected{background:#f0fdf4;border-color:#22c55e;color:#166534}.react-result-option.right-selected .react-result-radio{background:#22c55e;border-color:#22c55e;color:#fff}.react-result-option.wrong-selected{background:#fef2f2;border-color:#ef4444;color:#991b1b}.react-result-option.wrong-selected .react-result-radio{background:#ef4444;border-color:#ef4444;color:#fff}.react-result-option.right-missed{border-style:dashed;border-color:#22c55e;color:#15803d}.react-result-option.right-missed .react-result-radio{color:#22c55e}.react-result-option small{display:inline-block;margin-top:8px;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.react-result-option.right-selected small,.react-result-option.right-missed small{background:#dcfce7;border:1px solid #86efac;color:#166534}.react-result-option.wrong-selected small{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.react-result-footer{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.55);backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.25)}.react-result-footer>div{width:min(100% - 32px,768px);margin:auto;padding:16px;display:flex;gap:16px}.react-result-footer a{width:100%;text-align:center;text-decoration:none;border-radius:8px;padding:12px 18px;color:#fff;font-weight:700}.react-result-footer a.primary{background:#0b79d0}.react-result-footer a.secondary{background:#475569}
@media(max-width:700px){.react-question-grid{grid-template-columns:repeat(2,1fr)}.react-selector-card{padding:24px 18px}.react-user-header h1{font-size:34px}.react-quiz-head,.react-quiz-content,.react-quiz-actions{padding-left:18px;padding-right:18px}.react-result-summary{padding:22px 28px}.react-result-footer>div{flex-direction:column;gap:8px;padding:10px}.react-results-page{padding-bottom:120px}}@media(max-width:420px){.react-login-card{padding:28px 20px}.react-login-logo{width:230px}.react-user-header h1{font-size:29px}.react-question-dot{width:29px;height:29px;font-size:12px}.react-forgot-actions{grid-template-columns:1fr}}

/* Paket 12a – Resend E-Mail-Versand */
.resend-status{display:flex;align-items:center;gap:10px;border-radius:9px;padding:10px 12px;font-size:.82rem}
.resend-status.configured{background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}
.resend-status.not-configured{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.resend-status strong{font-size:.82rem}.resend-status span{font-size:.8rem}
.resend-help{margin:-5px 0 0;color:#64748b;font-size:.76rem;line-height:1.45}
.resend-test-form{margin-top:18px;padding-top:18px;border-top:1px solid #e1e6ed}
.resend-test-form>label{display:grid;gap:7px;font-size:.84rem}
.resend-test-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.resend-test-row input{height:42px;border:1px solid #d5dce5;border-radius:8px;padding:0 12px;font:inherit}
.resend-test-row button{height:42px;border:0;border-radius:8px;background:#087bd1;color:#fff;padding:0 17px;font-weight:700;cursor:pointer}
@media(max-width:600px){.resend-test-row{grid-template-columns:1fr}.resend-test-row button{width:100%}}

/* Paket 14 – 1:1 Feinschliff Fragenverwaltung */
.question-head-actions{display:flex;align-items:center;gap:12px}.react-danger-btn{border:0;border-radius:8px;background:#dc2626;color:#fff;font-weight:700;padding:10px 15px;cursor:pointer;white-space:nowrap}.react-danger-btn:hover{background:#b91c1c}.react-danger-btn[hidden]{display:none}.sort-link{display:inline-flex;align-items:center;gap:4px;color:inherit;text-decoration:none;font-weight:inherit}.sort-link:hover{color:#0b79d0}.sort-neutral{color:#cbd5e1;font-size:.78em}.sort-active{color:#0b79d0;font-size:.72em}.question-table tbody tr{transition:background .15s}.question-table tbody tr.selected-row{background:#eff6ff}.question-table tbody tr.selected-row:hover{background:#e5f0ff}.mark-clear{color:#475569!important}.image-cell{text-align:center;color:#64748b}.image-cell span{font-size:18px}.empty-table{text-align:center!important;padding:28px!important;color:#64748b}.admin-confirm-modal{text-align:left}.admin-confirm-modal h2{font-size:21px;color:#172033}.admin-confirm-modal>p{margin:8px 0 0}.delete-question-preview{margin-top:15px;padding:12px 14px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569;font-size:14px;line-height:1.45}.admin-confirm-modal>div:last-child{justify-content:flex-end}.admin-confirm-modal .danger-confirm{background:#dc2626;color:#fff}.admin-confirm-modal .danger-confirm:hover{background:#b91c1c}@media(max-width:720px){.question-card-head{align-items:flex-start;gap:12px}.question-head-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.react-danger-btn,.react-green-btn{min-height:40px}}

/* Paket 15 – echte Lehrmaterialverwaltung */
.learning-material-card{min-width:0}.learning-file-panel{margin-top:14px;border:1px solid #dfe6ee;border-radius:10px;background:#f8fafc;padding:13px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center}.learning-file-icon{width:46px;height:46px;border-radius:9px;background:#fff1f2;color:#be123c;border:1px solid #fecdd3;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;letter-spacing:.04em}.learning-file-info{min-width:0;display:grid;gap:2px}.learning-file-info strong{color:#172033;font-size:.9rem}.learning-file-info span{color:#475569;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learning-file-info small{color:#7b8798;font-size:.73rem}.learning-file-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.learning-action{border:1px solid #d4dce6;border-radius:7px;background:#fff;padding:7px 9px;text-decoration:none;font:inherit;font-size:.74rem;font-weight:700;cursor:pointer;line-height:1;color:#334155}.learning-action:hover{border-color:#94a3b8}.learning-action.view{color:#087bd1}.learning-action.download{color:#0f766e}.learning-action.delete{color:#b91c1c}.learning-replace{margin-top:12px;padding-top:11px;border-top:1px solid #e4e9ef}.learning-replace>span{display:block;margin-bottom:7px;font-size:.76rem;font-weight:700;color:#64748b}.learning-empty{margin-top:13px;padding:13px;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc;display:grid;gap:3px}.learning-empty strong{font-size:.84rem;color:#334155}.learning-empty span{font-size:.75rem;color:#64748b}.learning-upload{margin-top:10px}.inline-confirm-form{margin:0}.inline-confirm-form button{width:auto}@media(max-width:820px){.learning-file-panel{grid-template-columns:46px minmax(0,1fr)}.learning-file-actions{grid-column:1/-1;justify-content:flex-start}.learning-file-actions .learning-action{min-height:38px;display:inline-flex;align-items:center}}@media(max-width:520px){.learning-file-panel{grid-template-columns:1fr}.learning-file-icon{width:42px;height:42px}.learning-file-actions{grid-column:auto}.learning-file-actions .learning-action{flex:1;justify-content:center}.learning-replace .file-inline,.learning-upload{align-items:stretch}}

/* Paket 15a – Designkorrektur Lehrmaterialverwaltung */
.learning-material-card .learning-file-panel{
  grid-template-columns:46px minmax(0,1fr);
  grid-template-areas:
    "icon info"
    "actions actions";
  align-items:center;
  row-gap:12px;
}
.learning-material-card .learning-file-icon{grid-area:icon}
.learning-material-card .learning-file-info{grid-area:info;padding-right:2px}
.learning-material-card .learning-file-info strong,
.learning-material-card .learning-file-info span,
.learning-material-card .learning-file-info small{display:block;min-width:0}
.learning-material-card .learning-file-info small{line-height:1.35;white-space:normal}
.learning-material-card .learning-file-actions{
  grid-area:actions;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding-top:11px;
  border-top:1px solid #e4e9ef;
  justify-content:stretch;
}
.learning-material-card .learning-action{
  min-height:36px;
  padding:8px 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
}
.learning-material-card .learning-replace{margin-top:14px;padding-top:13px}
.learning-material-card .learning-replace .file-inline{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.learning-material-card .learning-replace .file-pill{
  min-width:0;
  justify-content:center;
  text-align:center;
  padding:10px 14px;
}
.learning-material-card .learning-replace .mini-upload{
  min-height:40px;
  border-radius:8px;
  padding:0 14px;
  background:#087bd1;
  color:#fff;
}
@media(max-width:520px){
  .learning-material-card .learning-file-panel{
    grid-template-columns:42px minmax(0,1fr);
    grid-template-areas:"icon info" "actions actions";
  }
  .learning-material-card .learning-file-actions{grid-template-columns:1fr}
  .learning-material-card .learning-replace .file-inline{grid-template-columns:1fr}
  .learning-material-card .learning-replace .mini-upload{width:100%}
}


/* Paket 16 – Umstellungs-News in der Zugangscodeverwaltung */
.migration-news-action{height:34px;border:1px solid #9fc8e8;border-radius:7px;background:#eef7ff;color:#0874c5;padding:0 10px;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.migration-news-action:hover{background:#dfefff;border-color:#78b2df;color:#075f9f}
.migration-news-action.sent{background:#eefbf3;border-color:#b8e0c5;color:#18743a}
.migration-news-action.sent:hover{background:#e2f7e9;border-color:#91cba3;color:#115c2c}
.access-row-actions{align-items:center}
@media(max-width:760px){.migration-news-action{min-height:38px;padding:0 12px}}

/* Paket 17 – echte mobile Kartenansichten, kein horizontales Seiten-Scrolling */
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:760px){
  .react-admin-shell{width:calc(100% - 20px);padding:18px 0 34px}
  .react-topbar{height:auto;min-height:64px}
  .react-topbar-inner{min-height:64px;gap:10px;padding:10px 0}
  .react-topbar h1{font-size:1.05rem;line-height:1.2}
  .signout-btn{flex:0 0 auto;white-space:nowrap}
  .react-tabs{overflow:visible;flex-wrap:wrap;gap:4px 12px;margin-bottom:18px}
  .react-tabs a{padding:10px 4px 12px;white-space:normal}

  .react-tool-grid{grid-template-columns:1fr;gap:14px;margin-bottom:18px}
  .react-card,.question-table-card,.access-list-card,.access-create-card{padding:16px;border-radius:10px}
  .export-buttons{display:grid;grid-template-columns:1fr;gap:9px}
  .csv-btn,.pdf-btn{min-width:0;width:100%}
  .file-inline{align-items:stretch}
  .file-pill{max-width:100%;justify-content:center}

  .react-filter-row{grid-template-columns:1fr!important;gap:10px}
  .react-filter-row input,.react-filter-row select{width:100%;min-width:0}
  .mark-tools>div{display:grid;grid-template-columns:1fr;gap:7px}
  .mark-pill{width:100%;text-align:left;line-height:1.25}
  .question-card-head{gap:12px}
  .question-head-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px}
  .question-head-actions .react-green-btn,.question-head-actions .react-danger-btn{width:100%}

  /* Desktop-Tabelle -> Fragekarten */
  .react-table-wrap{overflow:visible!important;width:100%}
  .question-table{display:block;width:100%;min-width:0!important;border-collapse:separate}
  .question-table thead{display:none}
  .question-table tbody{display:grid;gap:12px;width:100%}
  .question-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);gap:0;width:100%;background:#fff;border:1px solid #dfe6ee;border-radius:11px;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.04)}
  .question-table tbody tr.selected-row{background:#eff6ff;border-color:#a8cdf0}
  .question-table tbody td{display:grid!important;grid-template-columns:92px minmax(0,1fr);align-items:start;gap:10px;width:100%!important;height:auto!important;min-width:0;padding:9px 12px!important;border:0!important;border-bottom:1px solid #edf1f5!important;text-align:left!important;white-space:normal!important;overflow:visible!important;max-width:none!important}
  .question-table tbody td:last-child{border-bottom:0!important}
  .question-table tbody td::before{font-size:.72rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.025em;padding-top:2px}
  .question-table tbody td:nth-child(1)::before{content:"Auswahl"}
  .question-table tbody td:nth-child(2)::before{content:"Nr."}
  .question-table tbody td:nth-child(3)::before{content:"Frage"}
  .question-table tbody td:nth-child(4)::before{content:"Bild"}
  .question-table tbody td:nth-child(5)::before{content:"Typ"}
  .question-table tbody td:nth-child(6)::before{content:"Kategorie"}
  .question-table tbody td:nth-child(7)::before{content:"Aktionen"}
  .question-table .question-cell{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.4;overflow-wrap:anywhere}
  .question-table .action-links{display:flex;flex-wrap:wrap;gap:8px 14px;min-width:0}
  .question-table .empty-table{display:block!important;text-align:center!important;padding:22px 12px!important}
  .question-table .empty-table::before{content:none!important}
  .bulk-delete-row{justify-content:stretch}
  .bulk-delete-row .text-delete{width:100%;padding:10px;border:1px solid #fecaca;border-radius:8px;background:#fff5f5}

  /* Desktop-Tabelle -> Zugangskarten */
  .access-react-table{display:block;width:100%;min-width:0!important;border-collapse:separate}
  .access-react-table thead{display:none}
  .access-react-table tbody{display:grid;gap:12px;width:100%}
  .access-react-table tbody tr{display:grid;width:100%;background:#fff;border:1px solid #dfe6ee;border-radius:11px;overflow:hidden;box-shadow:0 2px 8px rgba(15,23,42,.04)}
  .access-react-table tbody td{display:grid!important;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;width:100%!important;height:auto!important;min-width:0;padding:9px 12px!important;border:0!important;border-bottom:1px solid #edf1f5!important;text-align:left!important;white-space:normal!important;overflow-wrap:anywhere}
  .access-react-table tbody td:last-child{border-bottom:0!important}
  .access-react-table tbody td::before{font-size:.72rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.025em}
  .access-react-table tbody td:nth-child(1)::before{content:"Code"}
  .access-react-table tbody td:nth-child(2)::before{content:"Student"}
  .access-react-table tbody td:nth-child(3)::before{content:"E-Mail"}
  .access-react-table tbody td:nth-child(4)::before{content:"Erstellt"}
  .access-react-table tbody td:nth-child(5)::before{content:"Status"}
  .access-react-table tbody td:nth-child(6)::before{content:"Aktionen"}
  .access-react-table .code-cell{min-width:0;display:flex;flex-wrap:wrap;gap:6px}
  .access-react-table code{white-space:normal;overflow-wrap:anywhere}
  .access-row-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center;min-width:0}
  .access-row-actions>*{max-width:100%}
  .empty-access-table{display:block!important;text-align:center!important;padding:22px 12px!important}
  .empty-access-table::before{content:none!important}

  .access-react-form,.access-create-form{grid-template-columns:1fr!important;gap:10px}
  .access-react-form .react-green-btn,.access-create-form .react-green-btn{width:100%}

  .react-question-modal,.access-settings-modal,.confirm-modal{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:18px 14px}
  .react-modal-actions,.confirm-modal .button-row{display:grid;grid-template-columns:1fr;gap:8px}
  .react-modal-actions>* ,.confirm-modal .button-row>*{width:100%}

  .react-quiz-shell,.react-results-shell,.content-shell,.quiz-shell,.results-shell{width:calc(100% - 16px)!important;max-width:100%}
  .react-quiz-head,.react-quiz-content,.react-quiz-actions,.quiz-fixed-head,.quiz-content,.quiz-actions{padding-left:14px!important;padding-right:14px!important}
  .react-quiz-actions,.quiz-actions{gap:8px;flex-wrap:wrap}
  .react-quiz-actions>* ,.quiz-actions>*{flex:1 1 120px}
  .react-question-box h1,.question-box h1{min-width:0;overflow-wrap:anywhere}
  .answer-button,.react-answer-button{min-width:0;overflow-wrap:anywhere}
}

@media(max-width:420px){
  .question-table tbody td,.access-react-table tbody td{grid-template-columns:76px minmax(0,1fr);padding:8px 10px!important;gap:8px}
  .question-table tbody td::before,.access-react-table tbody td::before{font-size:.66rem}
  .react-card,.question-table-card,.access-list-card,.access-create-card{padding:13px}
  .react-admin-shell{width:calc(100% - 12px)}
}

/* Paket 17a – Mobile Karten sauber linksbündig + stärkere Trennung */
/* Mail-Aktion auf Desktop und Mobile besser sichtbar */
.access-mail-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  min-width:34px;
  border:1px solid #c7d8e8;
  border-radius:8px;
  background:#f5f9fd;
  color:#0879c9;
  font-size:1.38rem;
  line-height:1;
  padding:0;
  transition:background .15s,border-color .15s,color .15s,transform .15s;
}
.access-mail-action:hover{
  background:#e7f3fd;
  border-color:#8bbde2;
  color:#0569ad;
  transform:translateY(-1px);
}

@media(max-width:760px){
  /* Fragen: klar getrennte Karten mit kräftigerem blauem Rand */
  .question-table tbody{gap:14px}
  .question-table tbody tr{
    border:2px solid #78add5;
    border-radius:12px;
    box-shadow:0 3px 10px rgba(30,110,170,.10);
    overflow:hidden;
  }
  .question-table tbody tr.selected-row{
    border-color:#0879c9;
    background:#f2f8fd;
    box-shadow:0 0 0 2px rgba(8,121,201,.10),0 3px 10px rgba(30,110,170,.10);
  }

  /* Mobil immer: Label oben, Wert darunter, alles linksbündig */
  .question-table tbody td,
  .access-react-table tbody td{
    display:flex!important;
    flex-direction:column;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:5px!important;
    padding:10px 12px!important;
    text-align:left!important;
  }
  .question-table tbody td::before,
  .access-react-table tbody td::before{
    display:block;
    width:100%;
    padding:0!important;
    margin:0;
    text-align:left;
    line-height:1.15;
  }

  /* Checkbox darf nicht durch Desktop-Abstände versetzt werden */
  .question-table tbody td:first-child{
    min-height:54px;
  }
  .question-table tbody td:first-child input[type="checkbox"]{
    display:block;
    width:20px;
    height:20px;
    margin:1px 0 0 0!important;
    flex:0 0 auto;
  }
  .question-table .question-cell,
  .question-table .action-links,
  .access-react-table .code-cell,
  .access-row-actions{
    width:100%;
    justify-content:flex-start;
    text-align:left;
  }
  .question-table .type-chip{align-self:flex-start}

  /* Zugangscodes: eigene deutlich sichtbare Karten */
  .access-react-table tbody{gap:14px}
  .access-react-table tbody tr{
    border:2px solid #79b9ae;
    border-radius:12px;
    box-shadow:0 3px 10px rgba(27,128,111,.09);
    overflow:hidden;
  }
  .access-react-table tbody td{
    border-bottom:1px solid #e4efed!important;
  }
  .access-react-table tbody td:last-child{border-bottom:0!important}
  .access-react-table .code-cell{
    display:flex;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
  }

  /* Aktionen nicht mehr zusammengedrückt */
  .access-row-actions{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center!important;
    gap:9px;
  }
  .access-mail-action{
    width:40px;
    height:40px;
    min-width:40px;
    font-size:1.55rem;
    border-radius:9px;
  }
  .migration-news-action{min-height:40px}
  .access-delete-action{min-height:40px;display:inline-flex;align-items:center;padding:0 4px}
  .copy-code{width:34px;height:34px;font-size:1.15rem}
}

@media(max-width:420px){
  .question-table tbody td,
  .access-react-table tbody td{
    display:flex!important;
    flex-direction:column;
    gap:5px!important;
    padding:9px 10px!important;
  }
}

/* Paket 18 – Lehrmaterial als eigenständige, vollbreite Admin-Seite */
.question-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.learning-page-card{width:100%;padding:24px}
.learning-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #e0e7ef}
.learning-page-heading h2{margin:0 0 7px}
.learning-page-heading p{margin:0;max-width:760px;line-height:1.5;color:#475569}
.learning-status-badge{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 11px;border-radius:999px;background:#e9f8ef;color:#177447;font-size:.78rem;font-weight:800}
.learning-wide-row{display:grid;grid-template-columns:minmax(250px,1.15fr) auto minmax(330px,1fr);align-items:center;gap:24px;padding:24px 0 4px}
.learning-wide-file{display:flex;align-items:center;gap:14px;min-width:0}
.learning-wide-file .learning-file-icon{flex:0 0 auto}
.learning-wide-file .learning-file-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.learning-wide-file .learning-file-info strong{font-size:1rem;color:#0f172a}
.learning-wide-file .learning-file-info span,.learning-wide-file .learning-file-info small{overflow-wrap:anywhere;color:#64748b}
.learning-wide-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:0 18px;border-left:1px solid #e0e7ef;border-right:1px solid #e0e7ef}
.learning-wide-replace{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-width:0}
.learning-replace-label{display:flex;flex-direction:column;gap:3px;min-width:0}
.learning-replace-label strong{color:#0f172a;font-size:.9rem}
.learning-replace-label span{color:#64748b;font-size:.78rem;line-height:1.3}
.learning-wide-replace .file-pill{white-space:nowrap}
.learning-wide-empty{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 0 6px}
.learning-wide-empty>div{display:flex;flex-direction:column;gap:5px}
.learning-wide-empty>div span{color:#64748b}
.learning-wide-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

@media(max-width:980px){
  .learning-wide-row{grid-template-columns:1fr 1fr;gap:18px}
  .learning-wide-file{grid-column:1 / -1;padding-bottom:18px;border-bottom:1px solid #e0e7ef}
  .learning-wide-actions{justify-content:flex-start;padding:0;border:0}
  .learning-wide-replace{grid-template-columns:1fr;align-items:stretch}
  .learning-wide-replace .file-pill,.learning-wide-replace .mini-upload{width:100%;justify-content:center}
}

@media(max-width:760px){
  .question-tools-grid{grid-template-columns:1fr}
  .learning-page-card{padding:16px}
  .learning-page-heading{flex-direction:column;gap:10px}
  .learning-wide-row{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding-top:18px}
  .learning-wide-file{padding-bottom:16px}
  .learning-wide-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .learning-wide-actions .learning-action{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center}
  .learning-wide-replace{padding-top:16px;border-top:1px solid #e0e7ef}
  .learning-wide-empty{flex-direction:column;align-items:stretch;padding-top:20px}
  .learning-wide-upload{display:grid;grid-template-columns:1fr;gap:9px;width:100%}
  .learning-wide-upload .file-pill,.learning-wide-upload .mini-upload{width:100%;justify-content:center}
}


/* Paket 22 – Administratorenverwaltung */
.admin-management-card{margin-top:24px}
.admin-management-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.admin-management-head h2{margin:0 0 6px}
.admin-management-head p{margin:0;color:#64748b;line-height:1.45}
.admin-management-table td{vertical-align:middle}
.current-admin-badge{display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.68rem;font-weight:800;vertical-align:middle}
.admin-status-pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800}
.admin-status-pill.active{background:#dcfce7;color:#166534}
.admin-status-pill.inactive{background:#f1f5f9;color:#64748b}
.admin-row-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-edit-btn,.admin-delete-btn,.admin-delete-confirm{border:0;background:none;padding:5px 0;font:inherit;font-weight:700;cursor:pointer}
.admin-edit-btn{color:#0879c9}
.admin-delete-btn{color:#dc2626}
.admin-delete-confirm{background:#dc2626;color:#fff;border-radius:9px;padding:11px 16px}
.admin-management-backdrop{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.42);display:none;align-items:center;justify-content:center;padding:18px}
.admin-management-backdrop.open{display:flex}
.admin-management-modal{width:min(100%,520px)}
.admin-active-check{display:flex!important;grid-template-columns:none!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:10px 12px;border:1px solid #d5dce5;border-radius:9px;background:#f8fafc}
.admin-active-check input{width:18px!important;height:18px!important;margin:0!important}
.admin-active-check span{font-weight:700;color:#334155}
.admin-password-separator{margin:4px 0 0;padding-top:12px;border-top:1px solid #e2e8f0;color:#64748b;font-size:.8rem}
@media(max-width:760px){
  .admin-management-head{flex-direction:column;align-items:stretch}
  .admin-management-head .react-green-btn{width:100%}
  .admin-management-table{display:block;width:100%;min-width:0!important}
  .admin-management-table thead{display:none}
  .admin-management-table tbody{display:grid;gap:14px;width:100%}
  .admin-management-table tbody tr{display:grid;width:100%;background:#fff;border:2px solid #9fb9d1;border-radius:12px;overflow:hidden;box-shadow:0 3px 10px rgba(15,23,42,.06)}
  .admin-management-table tbody td{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:5px;width:100%!important;padding:10px 12px!important;border:0!important;border-bottom:1px solid #edf1f5!important;white-space:normal!important;overflow-wrap:anywhere}
  .admin-management-table tbody td:last-child{border-bottom:0!important}
  .admin-management-table tbody td::before{display:block;width:100%;font-size:.68rem;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.025em}
  .admin-management-table tbody td:nth-child(1)::before{content:"Name"}
  .admin-management-table tbody td:nth-child(2)::before{content:"Benutzername"}
  .admin-management-table tbody td:nth-child(3)::before{content:"Letzter Login"}
  .admin-management-table tbody td:nth-child(4)::before{content:"Status"}
  .admin-management-table tbody td:nth-child(5)::before{content:"Aktionen"}
  .admin-row-actions{width:100%;gap:14px}
  .admin-edit-btn,.admin-delete-btn{min-height:38px;display:inline-flex;align-items:center}
}
