:root{color:#18181b;--bg:#f5f5f7;--card:#fff;--text:#18181b;--muted:#71717a;--border:#e5e7eb;--input:#fff;--accent:#771e18;--danger:#dc2626;--badge-bg:#f6efdf;--badge-text:#5f1713;--burgundy:#771e18;--burgundy-dark:#5f1713;--gold:#c6a15b;--gold-soft:#f6efdf;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root.dark{--bg:#11100f;--card:#1b1817;--text:#f7f4ef;--muted:#b8b0a8;--border:#403a36;--input:#272220;--accent:#a33a31;--danger:#f87171;--badge-bg:#33221f;--badge-text:#f1d4a0;--burgundy:#a33a31;--burgundy-dark:#7f2822;--gold:#d6b873;--gold-soft:#332b1b}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{touch-action:manipulation}.app-shell{background:var(--bg);min-height:100vh;color:var(--text)}.topbar{background:linear-gradient(90deg,var(--burgundy-dark),var(--burgundy));color:#fff;z-index:100;align-items:center;gap:14px;min-height:56px;padding:0 18px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0003}.brand{white-space:nowrap;align-items:center;gap:10px;display:flex}.brand strong{font-size:16px}.user-chip{opacity:.9;border:1px solid #fff5;border-radius:99px;padding:4px 7px;font-size:11px}.top-actions{flex-wrap:wrap;align-items:center;gap:5px;margin-left:auto;display:flex}.top-actions button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff45;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:600}.top-actions button.active{background:var(--gold);color:#3d2b0e;border-color:var(--gold)}.page{max-width:900px;margin:0 auto;padding:20px 16px 50px}.narrow{max-width:760px;margin:auto}.card{background:var(--card);border:1.5px solid var(--border);border-radius:12px;margin-bottom:16px;padding:20px}.card-title,.panel-title{margin-bottom:16px;font-size:14px;font-weight:800}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.field-input{box-sizing:border-box;border:1.5px solid var(--border);background:var(--input);width:100%;color:var(--text);border-radius:7px;outline:none;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s}.field-input:focus{border-color:var(--accent)}.field-input.compact{margin-bottom:5px;padding:7px 10px;font-size:13px}.field-textarea{resize:vertical}.qp-header-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.qp-section-grid{grid-template-columns:1fr 1fr 1fr 1fr;gap:10px;display:grid}.btn{cursor:pointer;border:0;border-radius:7px;padding:9px 15px;font-family:inherit;font-size:13px;font-weight:650;transition:opacity .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-small{padding:5px 10px;font-size:12px}.btn-full{width:100%}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{color:#374151;border:1.5px solid var(--border);background:#f3f4f6}:root.dark .btn-secondary{color:#f1ece7;background:#272220}.btn-danger{color:#dc2626;background:#fee2e2;border:1.5px solid #fca5a5}.btn-success{color:#065f46;background:#d1fae5;border:1.5px solid #6ee7b7}.btn-ghost{color:var(--muted);background:0 0;border:1.5px solid #0000}.badge{letter-spacing:.03em;white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:700}.marks-summary{background:#f0fdf4;border:1.5px solid #86efac;border-radius:10px;margin-bottom:16px;padding:12px 16px}.marks-summary.over{background:#fef2f2;border-color:#fca5a5}.marks-summary>div:first-child{color:#166534;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.marks-summary.over>div:first-child{color:#dc2626}.marks-summary b{font-size:13px}.progress{background:#e5e7eb;border-radius:99px;height:6px;overflow:hidden}.progress div{background:#22c55e;border-radius:99px;height:100%}.marks-summary.over .progress div{background:#ef4444}.section-card,.section-card-wrap{position:relative}.section-head{align-items:center;gap:8px;margin-bottom:16px;display:flex}.section-title{flex:1;font-size:14px;font-weight:700}.section-arrows{flex-direction:column;display:flex}.section-arrows button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:10px}.section-arrows button:disabled{color:#d1d5db}.drag-handle{color:#a1a1aa;cursor:grab;font-size:18px;line-height:1}.section-drag{padding:2px}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:16px}.danger-text{color:#f87171}.question-editor{background:color-mix(in srgb,var(--card) 92%,#fafafa);border:1.5px solid var(--border);border-radius:9px;margin-bottom:10px;padding:14px 16px}.question-editor-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.question-editor-head .btn{padding:2px 6px}.rich-wrap{border:1.5px solid var(--border);background:var(--input);border-radius:7px;overflow:hidden}.rich-toolbar{background:var(--burgundy-soft);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:flex}.rich-toolbar button,.rich-toolbar select{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:4px 7px;font-size:12px}.rich-toolbar button:hover{background:#e5e7eb}.rich-toolbar select{border-color:var(--border)}.rich-editor{min-height:58px;color:var(--text);outline:none;padding:8px 10px;font-size:13px;line-height:1.5}.rich-editor:empty:before{content:attr(data-placeholder);color:#9ca3af;pointer-events:none}.question-table,.preview-table{border-collapse:collapse;width:100%;margin:7px 0}.question-table td,.question-table th,.preview-table td,.preview-table th{text-align:left;border:1px solid #000;padding:4px 7px}.option-row{align-items:center;gap:6px;margin-bottom:5px;display:flex}.option-row>span{width:20px;color:var(--muted);font-size:12px;font-weight:700}.two-col{grid-template-columns:1fr 1fr;gap:8px;display:grid}.toolbar-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.small-muted{color:var(--muted);font-size:11px}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:650}.diagram-preview img{border:1px solid var(--border);border-radius:7px;max-width:100%;max-height:180px;display:block}.diagram-space,.preview-diagram-space{text-align:center;color:#9ca3af;border:1.5px dashed #a1a1aa;border-radius:7px;padding:14px;font-size:12px}.draw-box{border:1.5px solid var(--border);background:#f8fafc;border-radius:10px;padding:12px}.draw-canvas{touch-action:none;cursor:crosshair;background:#fff;border:1px solid #d1d5db;border-radius:7px;max-width:100%;margin-top:7px;display:block}.add-section{background:var(--card);width:100%;color:var(--accent);cursor:pointer;border:2px dashed #d7b978;border-radius:10px;margin-bottom:20px;padding:12px;font-size:13px;font-weight:700}.draft-panel{background:var(--card);border-bottom:1.5px solid var(--border);padding:16px 20px}.draft-row{background:color-mix(in srgb,var(--card) 90%,#f9fafb);border-radius:7px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 10px;display:flex}.toast{z-index:1000;color:#fff;background:#18181b;border-radius:8px;max-width:360px;padding:11px 14px;font-size:13px;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 30px #0003}.logo-upload{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.logo-placeholder{border:1px solid var(--border);background:var(--input);border-radius:6px;align-items:center;height:42px;padding:3px 8px;display:flex}.logo-placeholder img{object-fit:contain;max-width:140px;height:34px}.preview-controls{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:16px;display:flex}.control-label{color:var(--muted);align-items:center;gap:5px;font-size:12px;font-weight:600;display:flex}.control-label select{border:1px solid var(--border);background:var(--input);color:var(--text);border-radius:6px;padding:5px 7px}.zoom-btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:6px;padding:5px 9px}.zoom-value{text-align:center;min-width:40px;font-size:12px;font-weight:700}.paper{color:#000;width:210mm;max-width:210mm;min-height:297mm;font-family:Times New Roman,serif;font-size:var(--paper-font);box-sizing:border-box;background:#fff;margin:0 auto;padding:12mm;line-height:1.6}.paper-header{text-align:center;margin-bottom:0;padding-bottom:8px}.paper-logo{object-fit:contain;filter:grayscale();max-width:420px;max-height:70px;margin:0 auto 8px;display:block}.school-name{text-transform:uppercase;letter-spacing:.03em;font-size:1.28em;font-weight:700}.school-location{text-transform:uppercase;font-size:.88em}.exam-line{text-transform:uppercase;margin-top:3px;font-size:.88em}.class-line{text-transform:uppercase;font-size:.88em}.date-line{margin-top:2px;font-size:.8em}.meta-row{border-top:1.5px solid #000;border-bottom:1.5px solid #000;justify-content:space-between;gap:16px;margin:10px 0 16px;padding:6px 0;font-size:.88em;display:flex}.instructions{border:1px solid #000;margin-bottom:14px;padding:8px 12px;font-size:.82em;line-height:1.55}.instructions strong{margin-bottom:3px;display:block}.preview-section{margin-bottom:22px}.preview-section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;font-weight:700;line-height:1.3;display:flex}.preview-section-head span:last-child{white-space:nowrap;margin-left:auto}.preview-question{page-break-inside:avoid;break-inside:avoid;align-items:flex-start;gap:5px;margin-bottom:12px;display:flex}.question-label{flex:none;font-weight:600}.question-body{flex:1;min-width:0}.preview-options{margin-top:4px;margin-left:20px}.preview-diagram img{border:1px solid #000;max-width:100%;max-height:140px;margin-top:8px;display:block}.paper-end{text-align:center;color:#000;margin-top:20px;font-size:.8em}.paper-end span{color:#000;margin-top:6px;display:block}.preview-table{font-size:.95em}.preview-table th{font-weight:700}.section-break-before{break-before:page;page-break-before:always}.question-break-after{break-after:page;page-break-after:always}.preview-pages{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex;overflow:visible}.preview-measure{visibility:hidden;pointer-events:none;position:fixed;top:0;left:-100000px}.preview-measure .paper{height:297mm!important;min-height:297mm!important;overflow:hidden!important;transform:none!important}.a4-preview-page{aspect-ratio:210/297;transform-origin:top;flex:none;width:210mm;max-width:calc(100vw - 32px);position:relative}.a4-preview-page .paper{width:100%;max-width:none;height:100%;min-height:0;padding:4%;overflow:hidden}.page-number{text-align:center;color:var(--muted);margin-top:6px;font:11px -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.a4-preview-page{--zoom:1}.preview-pages .a4-preview-page{width:min(210mm,calc((100vw - 32px)/var(--zoom)));height:auto}.preview-pages .a4-preview-page .paper{font-size:calc(var(--paper-font) / var(--zoom))}.auth-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--card);border:1.5px solid var(--border);text-align:center;border-radius:16px;width:min(390px,100%);padding:28px;box-shadow:0 15px 45px #0002}.auth-logo{object-fit:contain;filter:grayscale();width:150px;max-height:80px;margin-bottom:8px}.auth-card h1{margin:4px 0;font-size:25px}.auth-card .field-label{text-align:left}.auth-error{color:#b91c1c;text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:7px;margin-bottom:12px;padding:8px;font-size:12px}.modal-backdrop{z-index:500;background:#0008;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow:auto}.modal-card{background:var(--card);width:min(620px,100%);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 25px 70px #0005}.admin-modal{width:min(900px,100%)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-head h2{margin:0}.modal-card hr{border:0;border-top:1px solid var(--border);margin:18px 0}.modal-card h3{margin:8px 0 12px}.admin-user{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 0;display:flex}.admin-user>div:first-child{flex:1}.impersonation-bar{z-index:200;color:#fff;text-align:center;background:#7c2d12;padding:7px 12px;font-size:12px;position:sticky;top:0}.impersonation-bar button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff8;border-radius:5px;margin-left:8px;padding:4px 8px}@media (width<=700px){.topbar{align-items:flex-start;padding:8px 10px}.top-actions{margin-left:0}.qp-header-grid,.qp-section-grid,.two-col{grid-template-columns:1fr}.page{padding:14px 10px 40px}.preview-controls{display:block}.preview-controls>.toolbar-row{margin-bottom:8px}.paper{padding:4%}.a4-preview-page{max-width:calc(100vw - 20px)}.admin-user{flex-direction:column;align-items:flex-start}.auth-card{padding:22px}}@media print{html,body{background:#fff!important}.topbar,.draft-panel,.toast,.preview-controls,.page-number,.auth-screen,.modal-backdrop,.impersonation-bar{display:none!important}.app-shell,.page{background:#fff!important;max-width:none!important;padding:0!important}.preview-pages{display:block!important}.a4-preview-page{page-break-after:always;aspect-ratio:auto!important;width:210mm!important;max-width:none!important;height:297mm!important;margin:0!important;transform:none!important}.a4-preview-page .paper{width:210mm!important;height:297mm!important;min-height:297mm!important;font-size:var(--paper-font)!important;padding:12mm!important;overflow:visible!important}.card{border:0!important;margin:0!important;padding:0!important}.paper,.paper *{color:#000!important}.section-break-before{break-before:page;page-break-before:always}.question-break-after{break-after:page;page-break-after:always}}.setup-card{text-align:left;max-width:720px}.setup-card>h1,.setup-card>p{text-align:center}.setup-admin{border:1px solid var(--border);background:color-mix(in srgb,var(--card) 94%,#f8f8f8);border-radius:10px;margin:12px 0;padding:12px}.setup-admin h3{margin:0 0 10px;font-size:13px}.bulk-box{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}
