:root{--primary-navy:#0f2744;--navy-dark:#0a192f;--navy-light:#1e3a8a;--accent-gold:#d97706;--gold-light:#fbbf24;--gold-soft:#fef3c7;--bg-main:#f8fafc;--card-bg:#fff;--text-dark:#0f172a;--text-muted:#64748b;--border-color:#e2e8f0;--border-focus:#3b82f6;--success:#10b981;--danger:#ef4444;--font-en:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", var(--font-en);--font-urdu:"Noto Nastaliq Urdu", "Jameel Noori Nastaleeq", "Urdu Typesetting", serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-en);background-color:var(--bg-main);color:var(--text-dark);-webkit-font-smoothing:antialiased;line-height:1.5}.urdu-text{font-family:var(--font-urdu);text-align:right;direction:rtl;font-size:1.05rem;line-height:2.1}.app-container{flex-direction:column;min-height:100vh;display:flex}.top-navbar{background:linear-gradient(135deg, var(--navy-dark) 0%, var(--primary-navy) 100%);color:#fff;z-index:100;justify-content:space-between;align-items:center;padding:.85rem 2rem;display:flex;position:sticky;top:0;box-shadow:0 4px 20px #0a192f4d}.brand-wrapper{align-items:center;gap:.9rem;display:flex}.brand-logo-icon{background:linear-gradient(135deg, var(--gold-light) 0%, var(--accent-gold) 100%);width:44px;height:44px;color:var(--navy-dark);border-radius:12px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex;box-shadow:0 4px 10px #d9770666}.brand-text h1{font-family:var(--font-heading);letter-spacing:.5px;color:#fff;font-size:1.35rem;font-weight:800;line-height:1.1}.brand-tagline{color:var(--gold-light);letter-spacing:1.5px;text-transform:uppercase;font-size:.72rem;font-weight:600}.nav-tabs{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;align-items:center;gap:.5rem;padding:.3rem;display:flex}.nav-tab-btn{color:#fffc;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.nav-tab-btn:hover{color:#fff;background:#ffffff1f}.nav-tab-btn.active{color:var(--primary-navy);background:#fff;box-shadow:0 2px 8px #00000026}.nav-actions{align-items:center;gap:.85rem;display:flex}.btn-primary{background:linear-gradient(135deg, var(--gold-light) 0%, var(--accent-gold) 100%);color:var(--navy-dark);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 3px 12px #d977064d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 5px 16px #d9770673}.btn-secondary{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:#fff3}.btn-outline-dark{color:var(--text-dark);border:1px solid var(--border-color);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-outline-dark:hover{border-color:var(--primary-navy);color:var(--primary-navy);background:var(--bg-main)}.main-content{flex:1;width:100%;max-width:1560px;margin:0 auto;padding:1.5rem 2rem}.generator-split-view{grid-template-columns:380px 1fr;align-items:start;gap:1.5rem;display:grid}@media (width<=1080px){.generator-split-view{grid-template-columns:1fr}}.config-card{border:1px solid var(--border-color);box-shadow:var(--shadow-md);background:#fff;border-radius:14px;max-height:calc(100vh - 6rem);padding:1.5rem;position:sticky;top:5rem;overflow-y:auto}.config-header{border-bottom:1px solid var(--border-color);margin-bottom:1.25rem;padding-bottom:.9rem}.config-header h2{font-family:var(--font-heading);color:var(--primary-navy);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;display:flex}.config-header p{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.form-group{margin-bottom:1.15rem}.form-label{color:var(--text-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem;font-size:.82rem;font-weight:700;display:block}.form-select,.form-input{border:1px solid var(--border-color);width:100%;font-family:var(--font-en);color:var(--text-dark);background:#fff;border-radius:8px;outline:none;padding:.6rem .85rem;font-size:.9rem;transition:all .2s}.form-select:focus,.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #3b82f626}.preset-pills-row{flex-wrap:wrap;gap:.4rem;margin-top:.35rem;display:flex}.preset-pill{border:1px solid var(--border-color);background:var(--bg-main);color:var(--text-dark);cursor:pointer;border-radius:6px;padding:.35rem .65rem;font-size:.8rem;font-weight:600;transition:all .15s}.preset-pill:hover{border-color:var(--navy-light);background:#fff}.preset-pill.active{background:var(--primary-navy);color:#fff;border-color:var(--primary-navy)}.chapters-box{border:1px solid var(--border-color);background:var(--bg-main);border-radius:8px;max-height:170px;padding:.4rem;overflow-y:auto}.chapter-item{cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:.6rem;margin-bottom:.3rem;padding:.45rem .6rem;font-size:.82rem;transition:background .15s;display:flex}.chapter-item:hover{background:#f1f5f9}.chapter-item input[type=checkbox]{accent-color:var(--primary-navy);cursor:pointer}.counts-grid{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.count-card{background:var(--bg-main);border:1px solid var(--border-color);text-align:center;border-radius:8px;padding:.5rem}.count-card span{color:var(--text-muted);font-size:.72rem;font-weight:700;display:block}.count-card input{text-align:center;border:1px solid var(--border-color);background:#fff;border-radius:6px;width:100%;margin-top:.25rem;padding:.25rem;font-size:1rem;font-weight:700}.preview-area-wrapper{flex-direction:column;gap:1rem;display:flex}.paper-controls-bar{border:1px solid var(--border-color);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1.25rem;display:flex}.controls-group{align-items:center;gap:.75rem;display:flex}.toolbar-toggle-btn{border:1px solid var(--border-color);color:var(--text-dark);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.82rem;font-weight:600;transition:all .2s;display:flex}.toolbar-toggle-btn.active{background:var(--navy-light);color:#fff;border-color:var(--navy-light)}.paper-sheet-container{background:#525659;border-radius:12px;justify-content:center;padding:1.5rem;display:flex}.test-paper-sheet{color:#000;background:#fff;border:1px solid #d1d5db;width:100%;max-width:820px;min-height:1050px;padding:18mm 16mm;font-size:13px;line-height:1.45;position:relative;box-shadow:0 10px 30px #00000040}.top-brand-logo-img{object-fit:contain;background:#fff;border-radius:8px;width:44px;height:44px;padding:2px;box-shadow:0 2px 8px #0003}.paper-watermark-wrapper{opacity:.042;pointer-events:none;z-index:0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-25deg)}.watermark-logo-img{object-fit:contain;width:300px;height:300px}.watermark-text-sub{font-family:var(--font-heading);color:#0f2744;letter-spacing:3px;text-align:center;margin-top:8px;font-size:2.2rem;font-weight:900}.official-header-border{z-index:1;border:2px solid #0f2744;border-radius:6px;margin-bottom:14px;padding:10px 14px;position:relative}.header-top-row{border-bottom:1.5px solid #0f2744;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}.header-logo-section{align-items:center;gap:14px;display:flex}.header-official-logo{object-fit:contain;width:64px;height:64px}.header-subtitle{color:#1e3a8a;letter-spacing:1.2px;text-transform:uppercase;margin-top:-2px;font-size:.72rem;font-weight:800}.test-series-badge{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px;margin-top:3px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.header-monogram{background:#f8fafc;border:2px solid #0f2744;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.header-monogram .tca-text{color:#0f2744;font-size:14px;font-weight:900;line-height:1}.header-monogram .year-text{color:#d97706;font-size:8px;font-weight:700}.header-titles h1{font-family:var(--font-heading);color:#0f2744;letter-spacing:.5px;text-transform:uppercase;font-size:1.45rem;font-weight:800;line-height:1.1}.header-motto{color:#b45309;letter-spacing:1.2px;text-transform:uppercase;font-size:.72rem;font-weight:700}.header-campus-info{text-align:right;color:#334155;font-size:.78rem;line-height:1.35}.header-campus-info strong{color:#0f2744;font-size:.85rem}.meta-info-grid{grid-template-columns:repeat(4,1fr);gap:6px 12px;font-size:.78rem;display:grid}.meta-field{align-items:baseline;gap:4px;display:flex}.meta-label{color:#0f2744;white-space:nowrap;font-weight:700}.meta-line{border-bottom:1px dotted #64748b;flex:1;min-height:14px;font-weight:600}.marks-box-wrapper{text-align:center;background:#f8fafc;border:1px solid #0f2744;border-radius:4px;grid-column:span 1;justify-content:space-between;align-items:center;padding:2px 6px;display:flex}.marks-box-wrapper .obtained{font-size:.85rem;font-weight:700}.test-section-block{z-index:1;margin-bottom:16px;position:relative}.section-banner{color:#fff;background:#0f2744;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:4px 10px;display:flex}.section-title-en{letter-spacing:.5px;font-size:.85rem;font-weight:800}.section-title-ur{font-family:var(--font-urdu);font-size:.95rem;font-weight:600}.section-instructions{color:#334155;border-left:2px solid #d97706;margin-bottom:8px;padding-left:4px;font-size:.78rem;font-style:italic}.question-row{page-break-inside:avoid;border-bottom:1px dashed #e2e8f0;margin-bottom:10px;padding-bottom:8px;position:relative}.question-row:last-child{border-bottom:none}.question-header-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.question-content-box{flex:1}.question-bilingual{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.q-en{flex:1;font-size:.88rem;font-weight:500}.q-ur{font-family:var(--font-urdu);text-align:right;color:#0f172a;direction:rtl;flex:1;font-size:.98rem;line-height:2}.q-action-tools{opacity:.15;align-items:center;gap:4px;transition:opacity .2s;display:flex}.question-row:hover .q-action-tools{opacity:1}.q-tool-btn{cursor:pointer;color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;align-items:center;gap:3px;padding:3px 6px;font-size:.72rem;display:flex}.q-tool-btn:hover{background:var(--navy-light);color:#fff;border-color:var(--navy-light)}.mcq-options-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:6px;padding-left:18px;display:grid}@media (width<=600px){.mcq-options-grid{grid-template-columns:repeat(2,1fr)}}.mcq-option-pill{align-items:center;gap:6px;font-size:.82rem;display:flex}.option-badge{border:1px solid #334155;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.test-paper-sheet.two-column-mode .short-questions-wrapper{grid-template-columns:1fr 1fr;gap:14px;display:grid}.test-paper-sheet.two-column-mode .short-questions-wrapper .question-row{border-bottom:1px solid #cbd5e1;margin-bottom:8px;padding-bottom:6px}.official-paper-footer{color:#475569;border-top:1.5px solid #0f2744;justify-content:space-between;align-items:center;margin-top:24px;padding-top:8px;font-size:.72rem;display:flex}.footer-quote{color:#0f2744;font-style:italic;font-weight:600}.footer-signatures{gap:24px;display:flex}.signature-line{text-align:center;border-top:1px dashed #64748b;min-width:100px;padding-top:2px;font-size:.7rem}.uploader-card{border:1px solid var(--border-color);box-shadow:var(--shadow-md);background:#fff;border-radius:14px;margin-bottom:1.5rem;padding:1.75rem}.dropzone-box{text-align:center;cursor:pointer;background:#f8fafc;border:2px dashed #94a3b8;border-radius:12px;padding:2.5rem 1.5rem;transition:all .2s;position:relative}.dropzone-box:hover,.dropzone-box.dragging{border-color:var(--primary-navy);background:#f1f5f9}.dropzone-icon{background:var(--gold-soft);width:56px;height:56px;color:var(--accent-gold);border-radius:14px;justify-content:center;align-items:center;margin:0 auto .75rem;display:flex}.supported-formats-badges{justify-content:center;gap:.5rem;margin-top:.75rem;display:flex}.format-badge{border:1px solid var(--border-color);color:var(--text-muted);background:#fff;border-radius:4px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.ingestion-progress-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;margin-top:1rem;padding:1rem 1.25rem}.progress-header{color:#166534;justify-content:space-between;margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:flex}.progress-bar-track{background:#dcfce7;border-radius:4px;height:8px;overflow:hidden}.progress-bar-fill{background:#16a34a;border-radius:4px;height:100%;transition:width .3s}@media print{@page{size:A4 portrait;margin:10mm 12mm}body{color:#000!important;background:#fff!important;font-size:11pt!important}.top-navbar,.paper-controls-bar,.config-card,.q-action-tools,.uploader-card,.nav-tabs,.btn-primary,.btn-secondary,.no-print{display:none!important}.app-container{margin:0!important;padding:0!important}.main-content{max-width:100%!important;margin:0!important;padding:0!important}.generator-split-view{display:block!important}.paper-sheet-container{background:0 0!important;padding:0!important}.test-paper-sheet{box-shadow:none!important;border:none!important;width:100%!important;max-width:100%!important;min-height:auto!important;padding:0!important}.question-row{page-break-inside:avoid!important}.paper-watermark{color:#0000000a!important}}
