
:root{--bg:#f3f5fa;--surface:#fff;--surface2:#f8fafc;--surface3:#eef2ff;--text:#182033;--muted:#667085;--line:#d8dfeb;--brand:#4f46e5;--brand2:#7c3aed;--brandText:#fff;--good:#166534;--goodBg:#dcfce7;--warn:#92400e;--warnBg:#fef3c7;--danger:#991b1b;--dangerBg:#fee2e2;--info:#1d4ed8;--infoBg:#dbeafe;--shadow:0 12px 35px rgba(31,41,55,.09);--radius:18px}
html[data-theme="dark"]{--bg:#0d1320;--surface:#151d2c;--surface2:#111827;--surface3:#262653;--text:#edf1f8;--muted:#a9b2c3;--line:#2b364a;--brandText:#fff;--shadow:0 14px 40px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}input,select,textarea{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:9px 10px;min-height:42px}textarea{resize:vertical}:focus-visible{outline:3px solid rgba(79,70,229,.45);outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{position:sticky;top:0;height:100vh;overflow:auto;padding:22px 18px;background:linear-gradient(180deg,#1e1b4b,#312e81 57%,#1e1b4b);color:#fff}.brand-row{display:flex;align-items:center;gap:12px}.brand-row strong{display:block;font-size:16px}.brand-row span{display:block;color:#d9d6fe;font-size:11px;margin-top:3px}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#a78bfa,#22d3ee);color:#17112f;font-weight:950;box-shadow:0 10px 30px rgba(34,211,238,.2)}.build-card{margin:20px 0;padding:13px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08)}.build-card b,.build-card span{display:block}.build-card span{font-size:11px;color:#dddafe;margin-top:5px}.nav-list{display:grid;gap:6px}.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 11px;border:0;border-radius:12px;background:transparent;color:#e7e5ff;text-align:left;font-weight:750}.nav-btn:hover,.nav-btn.active{background:rgba(255,255,255,.14);color:#fff}.nav-btn span{width:23px;text-align:center}.nav-btn em{margin-left:auto;min-width:25px;border-radius:999px;background:rgba(255,255,255,.16);font-style:normal;text-align:center;font-size:11px;padding:2px 6px}.sidebar-foot{display:grid;gap:5px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:11px;color:#d9d6fe}.main-area{min-width:0;padding:0 28px 35px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;min-height:88px;padding:15px 0;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px)}.topbar h1{margin:0;font-size:clamp(23px,3vw,34px);letter-spacing:-.04em}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.top-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:19px}.menu-toggle{display:none}.page{display:none}.page.active{display:block}.status-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em}.status-chip.warning{background:var(--warnBg);color:var(--warn)}.status-chip.good{background:var(--goodBg);color:var(--good)}.status-chip.danger{background:var(--dangerBg);color:var(--danger)}.status-chip.info{background:var(--infoBg);color:var(--info)}.btn{min-height:42px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:780}.btn:hover{border-color:var(--brand)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent;color:#fff}.btn.danger-outline{color:var(--danger);border-color:#efb2b2;background:transparent}.gate-banner{display:flex;align-items:center;gap:15px;justify-content:space-between;padding:16px 18px;border:1px solid #eecb78;border-radius:16px;background:var(--warnBg);color:var(--warn);margin-bottom:16px}.gate-banner b,.gate-banner span{display:block}.gate-banner span{font-size:12px;margin-top:3px}.stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:16px}.stat-grid.compact{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:11px}.stat-card b{display:block;margin:3px 0;font-size:27px;letter-spacing:-.04em}.dashboard-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-bottom:16px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:17px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2{margin:0;font-size:18px}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:70px 1fr 38px;gap:9px;align-items:center}.bar-track,.progress-track{height:9px;border-radius:999px;background:var(--surface2);overflow:hidden;border:1px solid var(--line)}.bar-fill,.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),#22d3ee);border-radius:inherit}.progress-stack{display:grid;gap:14px}.progress-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-card{text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface2)}.quick-card:hover{border-color:var(--brand);background:var(--surface3)}.quick-card b,.quick-card span{display:block}.quick-card span{font-size:12px;color:var(--muted);margin-top:4px}.control-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}.control-list li{padding:10px;border-radius:12px;background:var(--surface2);border:1px solid var(--line)}.control-list b,.control-list span{display:block}.control-list span{font-size:11px;color:var(--muted);margin-top:2px}.filter-panel{padding:13px;margin-bottom:13px}.filter-row{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.filter-row label,.generator-settings label,.bundle-settings label,.settings-grid label{display:grid;gap:5px}.filter-row label span,.generator-settings label>span,.bundle-settings label>span,.settings-grid label>span{font-size:10px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.06em}.filter-row .grow{flex:1;min-width:230px}.catalogue-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.catalogue-head div>span{display:block;color:var(--muted);font-size:11px;margin-top:2px}.segmented{display:flex;border:1px solid var(--line);border-radius:11px;overflow:hidden}.segmented button{border:0;background:var(--surface);padding:8px 11px}.segmented button.active{background:var(--brand);color:#fff}.catalogue-list{display:grid;gap:10px}.catalogue-list.card-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.material-row{display:grid;grid-template-columns:auto minmax(240px,1.6fr) minmax(150px,.7fr) minmax(160px,.7fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow)}.card-mode .material-row{grid-template-columns:auto 1fr;align-items:start}.card-mode .material-row .material-meta,.card-mode .material-row .material-format,.card-mode .material-row .material-review{grid-column:2}.material-main h3{margin:3px 0 4px;font-size:16px}.material-main p,.material-meta p,.material-format p,.material-review p{margin:0;color:var(--muted);font-size:11px}.meta-line{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pill{padding:4px 7px;border-radius:999px;background:var(--surface3);color:var(--brand);font-size:10px;font-weight:900}.pill.gray{background:var(--surface2);color:var(--muted);border:1px solid var(--line)}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.row-actions button{min-height:36px;padding:7px 9px}.workspace-grid{display:grid;grid-template-columns:340px 1fr;gap:16px}.generator-settings,.bundle-settings{align-self:start;position:sticky;top:100px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:9px}.generator-settings>label,.generator-settings .two-col,.generator-settings fieldset,.bundle-settings>label{margin-bottom:11px}.generator-settings select,.generator-settings input,.bundle-settings input{width:100%}fieldset{border:1px solid var(--line);border-radius:13px;padding:10px}legend{padding:0 5px;font-size:11px;color:var(--muted);font-weight:800}.check{display:flex!important;align-items:center;gap:8px!important;margin:5px 0!important;font-size:12px}.check input{min-height:auto;width:auto}.button-stack{display:grid;gap:8px}.button-stack.two{grid-template-columns:1fr 1fr;margin-top:8px}.paper-wrap{min-height:680px;padding:18px;border-radius:14px;background:#dfe4ed;overflow:auto}.worksheet-paper{max-width:790px;min-height:1040px;margin:auto;background:#fff;color:#111;padding:42px 46px;box-shadow:0 15px 45px rgba(0,0,0,.18);font-family:Arial,sans-serif}.worksheet-paper.compact{padding:30px 37px}.worksheet-paper.spacious{padding:55px 52px}.worksheet-paper.rtl{direction:rtl;text-align:right}.paper-header{border-bottom:3px solid #4f46e5;padding-bottom:12px}.paper-header h2{margin:0;color:#312e81}.paper-header p{margin:4px 0 0;color:#475569}.student-line{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:18px 0}.student-line span{border-bottom:1px solid #555;padding-bottom:4px}.paper-block{padding:10px 12px;background:#f5f5f5;border-left:4px solid #4f46e5;margin:12px 0;white-space:pre-line}.rtl .paper-block{border-left:0;border-right:4px solid #4f46e5}.paper-question{padding:13px 0;border-bottom:1px dashed #a3a3a3}.paper-question p{margin:0 0 8px}.paper-option{padding:4px 0}.answer-lines{min-height:48px;border-bottom:1px solid #777}.answer-box,.teacher-box{margin-top:18px;padding:14px;border-radius:10px;background:#eef2ff;border:1px solid #c7d2fe}.teacher-box{background:#fff7ed;border-color:#fed7aa}.empty-state{min-height:400px;display:grid;place-content:center;text-align:center;color:#64748b}.empty-state b,.empty-state span{display:block}.empty-state span{font-size:12px;margin-top:5px}.bundle-layout{grid-template-columns:1fr 300px}.bundle-list,.recipe-list{display:grid;gap:9px}.bundle-item,.recipe-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.bundle-item h3,.recipe-item h3{margin:0 0 3px;font-size:14px}.bundle-item p,.recipe-item p{margin:0;color:var(--muted);font-size:11px}.bundle-actions,.recipe-actions{display:flex;gap:5px;flex-wrap:wrap}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.data-table{width:100%;border-collapse:collapse;min-width:990px}.data-table th,.data-table td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:12px}.data-table th{position:sticky;top:0;background:var(--surface2);z-index:2}.data-table select{min-height:36px;padding:6px 8px}.review-material b,.review-material span{display:block}.review-material span{color:var(--muted);font-size:10px;margin-top:3px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.settings-grid .full{grid-column:1/-1}.settings-grid label{margin-bottom:12px}.build-info{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}.build-info div{padding:10px;border-bottom:1px solid var(--line)}.build-info dt{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:900}.build-info dd{margin:3px 0 0;font-weight:750}dialog{width:min(980px,calc(100vw - 28px));max-height:90vh;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.38)}dialog::backdrop{background:rgba(15,23,42,.72);backdrop-filter:blur(4px)}.dialog-head{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--surface)}.dialog-head h2{margin:0}.dialog-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.dialog-body{padding:20px;overflow:auto}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--line);background:var(--surface)}.editor-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editor-form label{display:grid;gap:5px}.editor-form label span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:850}.editor-form .full{grid-column:1/-1}.editor-items{grid-column:1/-1;display:grid;gap:10px}.editor-item{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:8px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface2)}.editor-item label{min-width:0}.audit-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-bottom:14px}.audit-top label,.audit-notes{display:grid;gap:5px}.audit-top span,.audit-notes span{font-size:10px;color:var(--muted);font-weight:850;text-transform:uppercase}.audit-grid{display:grid;gap:8px}.audit-row{display:grid;grid-template-columns:55px 1fr 190px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.audit-row strong{font-size:11px}.audit-row span{font-size:12px}.toast{position:fixed;right:20px;bottom:20px;z-index:100;padding:12px 15px;border-radius:12px;background:#111827;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;z-index:60;width:280px;transition:left .2s}.sidebar.open{left:0}.menu-toggle{display:block}.stat-grid{grid-template-columns:repeat(3,1fr)}.workspace-grid{grid-template-columns:1fr}.generator-settings,.bundle-settings{position:static}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){.main-area{padding:0 13px 25px}.topbar{min-height:76px}.top-actions .status-chip{display:none}.stat-grid,.stat-grid.compact{grid-template-columns:repeat(2,1fr)}.catalogue-list.card-mode{grid-template-columns:1fr}.material-row{grid-template-columns:auto 1fr}.material-row .material-meta,.material-row .material-format,.material-row .material-review,.material-row .row-actions{grid-column:2}.quick-grid,.settings-grid,.build-info{grid-template-columns:1fr}.settings-grid .full{grid-column:auto}.editor-form{grid-template-columns:1fr}.editor-form .full,.editor-items{grid-column:auto}.editor-item{grid-template-columns:1fr}.audit-top{grid-template-columns:1fr}.audit-row{grid-template-columns:45px 1fr}.audit-row select{grid-column:2}.paper-wrap{padding:5px}.worksheet-paper{padding:25px 22px;min-height:auto}.dialog-actions{flex-wrap:wrap}.filter-row>*{width:100%}.filter-row .grow{min-width:0}}
@media print{body{background:#fff}.sidebar,.topbar,.gate-banner,.filter-panel,.catalogue-head,.dialog-actions,.btn,.icon-btn,.toast{display:none!important}.main-area{padding:0}.page{display:none!important}.page.print-active{display:block!important}.panel{box-shadow:none;border:0}.worksheet-paper{box-shadow:none;max-width:none;min-height:auto}.paper-wrap{background:#fff;padding:0}}
