
:root{--bg:#F5F1E8;--paper:#FBF8F1;--ink:#1B2A28;--ink-soft:#43534F;--teal:#0E5A52;--teal-deep:#0A423C;--teal-light:#E3EEEB;--gold:#C9A24B;--gold-soft:#F0E4C6;--line:#E0D8C7;--danger:#B84A3B;--purple:#7A4E94;--shadow:0 10px 40px -12px rgba(14,90,82,.22);--shadow-sm:0 3px 14px -6px rgba(14,90,82,.25)}
[data-theme="navy"]{--teal:#1B3B6F;--teal-deep:#122647;--teal-light:#E4EAF5;--bg:#EEF1F6;--paper:#F8FAFC;--shadow:0 10px 40px -12px rgba(27,59,111,.24);--shadow-sm:0 3px 14px -6px rgba(27,59,111,.26)}
[data-theme="rose"]{--teal:#9C4F63;--teal-deep:#6E3245;--teal-light:#F5E7EA;--bg:#F7EEEF;--paper:#FCF7F8;--shadow:0 10px 40px -12px rgba(156,79,99,.22);--shadow-sm:0 3px 14px -6px rgba(156,79,99,.24)}
[data-theme="blue"]{--teal:#1D5FA8;--teal-deep:#123D6E;--teal-light:#E2EDF7;--bg:#EAF2FA;--paper:#F7FBFE;--shadow:0 10px 40px -12px rgba(29,95,168,.22);--shadow-sm:0 3px 14px -6px rgba(29,95,168,.24)}
[data-theme="olive"]{--teal:#5C6B2E;--teal-deep:#3F4A1F;--teal-light:#EDEFE0;--bg:#F0F1E7;--paper:#F9FAF3;--shadow:0 10px 40px -12px rgba(92,107,46,.22);--shadow-sm:0 3px 14px -6px rgba(92,107,46,.24)}
[data-theme="purple"]{--teal:#5B3B82;--teal-deep:#3E2759;--teal-light:#EDE6F4;--bg:#F1EBF6;--paper:#FAF6FC;--shadow:0 10px 40px -12px rgba(91,59,130,.22);--shadow-sm:0 3px 14px -6px rgba(91,59,130,.24)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans Arabic',sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,.display{font-family:'IBM Plex Sans Arabic',sans-serif;font-weight:600;letter-spacing:-.2px}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select,textarea{font-family:inherit;font-size:1rem}
.app{min-height:100vh;display:flex;flex-direction:column}
.topbar{background:var(--teal-deep);color:#fff;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;box-shadow:0 4px 20px -8px rgba(0,0,0,.4)}
.subbar{display:flex;align-items:center;gap:8px;background:var(--paper);border-bottom:1px solid var(--line);padding:8px 26px;position:sticky;top:64px;z-index:49}
.subbar-btn{background:#fff;color:var(--teal-deep);border:1.5px solid var(--line);border-radius:9px;padding:5px 10px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit}
.subbar-btn:hover{border-color:var(--teal)}
@media(max-width:640px){.subbar{padding:7px 14px;top:56px}}
.bottom-nav{display:none}
@media(max-width:640px){
  .bottom-nav{display:flex;position:fixed;bottom:0;right:0;left:0;background:#fff;border-top:1px solid var(--line);z-index:60;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;align-items:center;box-shadow:0 -4px 20px -10px rgba(0,0,0,.15)}
  .bn-item{background:none;border:none;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.62rem;color:var(--ink-soft);cursor:pointer;padding:4px 8px;border-radius:10px;min-width:52px}
  .bn-item .bn-ic{font-size:19px}
  .bn-item.active{color:var(--teal-deep);font-weight:700}
  .bn-item.active .bn-ic{transform:scale(1.1)}
  .bn-create{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--teal-deep));color:#fff;border:none;font-size:26px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px -6px rgba(14,90,82,.5);margin-top:-18px;flex-shrink:0;display:grid;place-items:center;line-height:1}
  .main{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))!important}
}
.brand{display:flex;align-items:center;gap:11px;cursor:pointer}
.brand .mark{width:42px;height:42px;background:#fff;border-radius:12px;display:grid;place-items:center;padding:5px;box-shadow:0 4px 12px -3px rgba(0,0,0,.35)}.brand .mark img{width:100%;height:100%;object-fit:contain}
.brand .name{font-family:'IBM Plex Sans Arabic';font-size:1.35rem;font-weight:600}
.brand .sub{font-size:.7rem;opacity:.65;display:block;margin-top:-4px;letter-spacing:.5px}
.topbar .who{display:flex;align-items:center;gap:9px;font-size:.85rem}
.topbar .who .calbtn{font-size:.78rem;background:rgba(255,255,255,.12);padding:5px 11px;border-radius:9px;color:#fff;font-weight:600}
.topbar .who .calbtn:hover{background:rgba(255,255,255,.22)}
.topbar .who .av{width:34px;height:34px;border-radius:50%;background:var(--gold-soft);color:var(--teal-deep);display:grid;place-items:center;font-weight:700}
.topbar .who .name-tb{display:none}
.topbar .who .edit{font-size:.75rem;opacity:.6;background:rgba(255,255,255,.1);padding:5px 10px;border-radius:8px;color:#fff}
.topbar .who .edit:hover{opacity:1}
.main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:34px 26px 80px}
.screen{display:none;animation:fade .4s cubic-bezier(.16,1,.3,1)}
.screen.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.onb-wrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(120% 90% at 80% 0%,#10665D 0%,var(--teal-deep) 55%,#072e29 100%);position:relative;overflow:hidden}
.onb-wrap::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0);background-size:26px 26px;opacity:.6}
.onb-card{position:relative;background:var(--paper);border-radius:26px;padding:46px;max-width:580px;width:100%;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.5)}
.ob-sec-h{font-weight:700;color:var(--teal-deep);font-size:1rem;margin:24px 0 10px;padding-top:16px;border-top:1.5px solid var(--line);display:flex;align-items:center;gap:8px}
.ob-sec-h.first{border-top:none;margin-top:4px;padding-top:0}
.ob-more-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:none;border:1.5px dashed var(--line);border-radius:12px;padding:10px;margin-top:22px;color:var(--teal-deep);font-weight:600;cursor:pointer;font-size:.88rem}
.ob-summary{background:var(--teal-light);border-radius:14px;padding:14px 16px;margin-top:16px}
.ob-summary-row{display:flex;justify-content:space-between;font-size:.85rem;padding:5px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.ob-summary-row:last-child{border-bottom:none}
.onb-card .mark-lg{width:104px;margin:0 auto 16px;display:block}.onb-card .mark-lg img{width:100%;height:auto}
.onb-card h1{font-size:1.9rem;color:var(--teal-deep);margin-bottom:6px}
.onb-card .lead{color:var(--ink-soft);margin-bottom:28px;font-size:1.02rem}
.onb-card .lead b{color:var(--teal)}
.field{margin-bottom:16px}
.field label{display:block;font-size:.85rem;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);transition:.2s;line-height:1.6;overflow-wrap:anywhere;box-sizing:border-box;font-family:inherit;font-size:.92rem}
/* min-height كانت مقصودة لـtextarea وحدها فطُبِّقت على كل الحقول فتضخّمت */
.field textarea{min-height:92px;resize:vertical;line-height:1.85}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-light)}
.field textarea{resize:vertical;min-height:64px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.seg{display:flex;gap:8px}
.seg button{flex:1;padding:11px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-weight:600;color:var(--ink-soft);transition:.18s}
.seg button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:13px;font-weight:600;font-size:1rem;transition:.22s;font-family:'IBM Plex Sans Arabic'}
.btn-primary{background:var(--teal);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-gold{background:linear-gradient(135deg,var(--gold),#D9B05E);color:var(--teal-deep)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(201,162,75,.55)}
.btn-ai{background:linear-gradient(135deg,#7A4E94,#9D6BB8);color:#fff}
.btn-ai:hover{transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(122,78,148,.5)}
.btn-ghost{background:#fff;color:var(--teal);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--teal);background:var(--teal-light)}
.btn-sm{padding:8px 16px;font-size:.85rem}
.btn-block{width:100%}
.btn-lg{padding:15px 30px;font-size:1.08rem}
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.hero h2{font-size:2rem;color:var(--teal-deep)}
.hero .greet{color:var(--gold);font-weight:600;font-size:.95rem;margin-bottom:2px}
.hero .meta{color:var(--ink-soft);font-size:.92rem;margin-top:4px}
.hero .meta span{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:20px;padding:3px 12px;margin-left:6px;font-size:.82rem}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:14px}
.metric{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;position:relative;overflow:hidden}
.metric .mi{font-size:1.4rem;margin-bottom:8px}
.metric .mv{font-family:'IBM Plex Sans Arabic';font-size:1.9rem;color:var(--teal-deep);line-height:1}
.metric .ml{font-size:.82rem;color:var(--ink-soft);margin-top:4px}
.metric.ring .ring-wrap{display:flex;align-items:center;gap:12px}
.ring-svg{width:56px;height:56px;flex-shrink:0}
.ring-svg circle{fill:none;stroke-width:7}
.ring-svg .bg{stroke:#ECE7DB}
.ring-svg .fg{stroke:var(--gold);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:.6s}
.ring-pct{font-family:'IBM Plex Sans Arabic';font-size:1.5rem;color:var(--teal-deep)}
.tip-card{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(90deg,#FBF6E7,#FFFEFB);border:1px solid #E8D6A8;border-radius:16px;padding:14px 18px;margin-bottom:14px}
.tip-ic{font-size:1.3rem;flex-shrink:0}
.cat-filter{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px}
.cat-filter .chip{justify-content:center;padding:10px 6px;white-space:nowrap}
@media(max-width:640px){.cat-filter{grid-template-columns:repeat(3,1fr)}.cat-filter .chip{font-size:.78rem;padding:9px 4px;gap:4px}}
.theme-picker{display:flex;gap:10px;flex-wrap:wrap}
.theme-sw{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:.2s;box-shadow:0 2px 8px -2px rgba(0,0,0,.3)}
.theme-sw.sel{border-color:var(--ink);transform:scale(1.15)}
.excel-hero{display:flex;align-items:center;gap:24px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px 26px;margin-bottom:18px;flex-wrap:wrap}
.excel-ring-wrap{position:relative;width:110px;height:110px;flex-shrink:0}
.excel-ring-wrap svg{transform:rotate(0)}
#excel-ring{transition:stroke-dashoffset .7s ease}
.excel-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Sans Arabic';font-size:1.6rem;color:var(--teal-deep)}
.excel-hero-info{flex:1;min-width:200px}
.excel-list{margin:0;padding-right:20px;font-size:.92rem;line-height:2;color:var(--ink)}
.section-label{display:flex;align-items:center;gap:10px;margin:28px 0 16px;color:var(--ink-soft);font-size:.9rem;font-weight:600}
.section-label::after{content:"";flex:1;height:1px;background:var(--line)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;transition:.22s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden;cursor:pointer}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--teal)}
.card.locked{cursor:default;opacity:.72}
.card.locked:hover{transform:none;box-shadow:none;border-color:var(--line)}
.card .ic{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-size:26px;margin-bottom:16px;background:var(--teal-light);color:var(--teal)}
.card.locked .ic{background:#ECE7DB;color:#A89E88}
.card h3{font-size:1.2rem;margin-bottom:6px;color:var(--teal-deep)}
.card p{font-size:.88rem;color:var(--ink-soft);line-height:1.6}
.card .tag{position:absolute;top:16px;left:16px;font-size:.68rem;font-weight:700;padding:3px 9px;border-radius:20px}
.card .tag.hot{background:var(--gold);color:var(--teal-deep)}
.card .tag.ai{background:var(--purple);color:#fff}
.card .tag.soon{background:#ECE7DB;color:#8A8068}
.card .prog{margin-top:14px;height:6px;background:#ECE7DB;border-radius:10px;overflow:hidden}
.card .prog i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:10px;transition:.4s}
.card .prog-txt{font-size:.76rem;color:var(--ink-soft);margin-top:6px}
.builder-head{display:flex;align-items:center;gap:14px;margin-bottom:8px}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:600;font-size:.9rem;cursor:pointer}
.back:hover{gap:9px}
.builder-head h2{font-size:1.7rem;color:var(--teal-deep)}
.builder-sub{color:var(--ink-soft);margin-bottom:24px;font-size:.95rem}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin-bottom:16px}
.panel-title{font-size:1.15rem;color:var(--teal-deep);margin-bottom:4px;display:flex;align-items:center;gap:9px}
.panel-desc{font-size:.88rem;color:var(--ink-soft);margin-bottom:20px}
.ai-box{background:linear-gradient(135deg,#F3ECF7,#FBF8F1);border:1.5px solid #D9C5E6;border-radius:18px;padding:22px;margin-bottom:20px}
.ai-box .ai-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.ai-box .ai-head .ai-ic{width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#7A4E94,#9D6BB8);display:grid;place-items:center;font-size:20px;color:#fff}
.ai-box .ai-head b{font-family:'IBM Plex Sans Arabic';color:var(--purple);font-size:1.1rem}
.ai-box .ai-head small{display:block;color:var(--ink-soft);font-size:.78rem}
.ai-row{display:flex;gap:10px}
.ai-row input{flex:1;padding:12px 14px;border:1.5px solid #D9C5E6;border-radius:12px;background:#fff}
.picker{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}
.chip{padding:10px 18px;border:1.5px solid var(--line);border-radius:13px;background:#fff;font-weight:500;font-size:.92rem;transition:.18s;color:var(--ink-soft);display:flex;align-items:center;gap:8px}
.chip:hover{border-color:var(--teal);color:var(--teal)}
.chip.sel{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:var(--shadow-sm)}
.std-list{display:flex;flex-direction:column;gap:12px}
.std{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px 18px}
.std-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.std-top .lbl{display:flex;align-items:center;gap:11px}
.std-top .num{width:30px;height:30px;border-radius:9px;background:var(--teal-light);color:var(--teal);display:grid;place-items:center;font-weight:700;font-size:.9rem;flex-shrink:0}
.std-top .t{font-weight:600;font-size:.98rem}
.std-top .t small{display:block;color:var(--ink-soft);font-weight:400;font-size:.8rem}
.ev-count{font-size:.8rem;color:var(--ink-soft);background:var(--bg);padding:3px 11px;border-radius:20px;white-space:nowrap}
.ev-count b{color:var(--teal)}
.ev-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.ev-item{display:flex;align-items:center;gap:10px;background:#FBFAF6;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:.86rem}
.ev-item .ei{width:34px;height:34px;border-radius:8px;background:var(--gold-soft);display:grid;place-items:center;font-size:1rem;flex-shrink:0;overflow:hidden}
.ev-item .ei img{width:100%;height:100%;object-fit:cover}
.ev-item .et{flex:1}
.ev-item .et small{display:block;color:var(--ink-soft);font-size:.76rem}
.ev-item .ex{color:var(--danger);font-weight:700;cursor:pointer;padding:4px 8px}
.upload-zone{margin-top:16px;border:2px dashed #D9C5E6;border-radius:16px;padding:26px;text-align:center;background:#FCFAFE;cursor:pointer;transition:.2s}
.upload-zone:hover{border-color:var(--purple);background:#F7F0FB}
.upload-zone.drag{border-color:var(--purple);background:#F0E4FB;transform:scale(1.01)}
.dp-field{width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;text-align:right;color:var(--ink);font-size:.95rem;cursor:pointer;font-family:inherit}
.dp-field:hover{border-color:var(--teal)}
.dp-overlay{display:none;position:fixed;inset:0;background:rgba(10,30,28,.55);z-index:200;align-items:center;justify-content:center;padding:20px}
.dp-overlay.on{display:flex}
/* نافذة التأكيد تُفتح فوق نافذةٍ أخرى غالبًا — «حذف البيانات» مثلًا —
   وكانتا على الطبقة نفسها، فترسم الأخيرةُ في الصفحة فوق التأكيد
   فيختفي: يكتب المعلّم «حذف» ويضغط فلا يرى شيئًا. التأكيد فوق الجميع. */
#custom-confirm-modal{z-index:400}
.dp-card{background:#fff;border-radius:20px;padding:22px;width:100%;max-width:380px;box-shadow:0 30px 70px -20px rgba(0,0,0,.4)}
.dp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.dp-head b{font-family:'IBM Plex Sans Arabic';font-size:1.2rem;color:var(--teal-deep)}
.dp-cal{font-size:.8rem;color:var(--gold);font-weight:700}
.dp-selects{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;margin-bottom:14px}
.dp-col label{display:block;font-size:.78rem;color:var(--ink-soft);margin-bottom:5px}
.dp-col select{width:100%;padding:11px 8px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-size:.95rem;text-align:center}
.dp-preview{text-align:center;padding:12px;background:var(--teal-light);border-radius:12px;color:var(--teal-deep);font-weight:600;margin-bottom:16px;font-size:.95rem}
.dp-actions{display:flex;gap:10px;justify-content:flex-end}
.sc-tabs{display:flex;gap:8px;margin-bottom:14px}
.sc-tab{flex:1;padding:9px;border:1.5px solid var(--line);border-radius:10px;background:#fff;font-family:inherit;font-size:.85rem;cursor:pointer;color:var(--ink-soft)}
.sc-tab.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.regen{float:left;font-size:.72rem;color:var(--purple);cursor:pointer;font-weight:600;background:#f3edf8;padding:2px 8px;border-radius:6px}
.regen:hover{background:#e9ddf3}
@media(max-width:600px){
  .grid2{grid-template-columns:1fr!important}
  .tbl-edit input{min-width:56px;font-size:16px}
  .tbl-edit th,.tbl-edit td{padding:6px 5px;font-size:.82rem}
  input,select,textarea{font-size:16px!important}
  .btn,.btn-lg{min-height:46px}
  .btn-lg{width:100%;justify-content:center}
  .chip{padding:10px 14px;font-size:.9rem}
  .ai-row{flex-direction:column}
  .ai-row .btn{width:100%}
  .metric{min-width:0}
  .mini-tabs{overflow-x:auto;white-space:nowrap}
  .bank-tabs{overflow-x:auto}
  h2{font-size:1.5rem}
}
.upload-zone .uz-ic{font-size:2rem;margin-bottom:8px}
.upload-zone b{color:var(--purple);display:block;margin-bottom:4px}
.upload-zone small{color:var(--ink-soft);font-size:.82rem}
.lesson-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.lesson-card .lh{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:var(--teal-light);cursor:pointer}
.lesson-card .lh .lt{font-weight:600;color:var(--teal-deep);display:flex;align-items:center;gap:10px}
.lesson-card .lh .lt .wn{background:var(--teal);color:#fff;border-radius:8px;padding:2px 10px;font-size:.78rem}
.lesson-card .lh .badge-ai{background:var(--purple);color:#fff;border-radius:8px;padding:2px 9px;font-size:.72rem}
.lesson-card .lb{padding:16px;display:none}
.lesson-card.open .lb{display:block}
.lesson-card .lb .field{margin-bottom:12px}
.lesson-card .lb label{font-size:.8rem}
.lesson-card .lh .chev{transition:.2s;color:var(--teal)}
.lesson-card.open .lh .chev{transform:rotate(180deg)}
.add-line{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
/* على شاشة ٣٢٠ بكسل لا يتّسع الحقل وزرّه في سطر واحد، وبلا التفاف
   تُدفع الصفحة كلها فتُمرَّر أفقيًا. الحقل يتقلّص أولًا ثم ينزل الزر. */
.add-line>input,.add-line>select{flex:1 1 150px;min-width:0}
.add-line>.btn{flex:0 0 auto}
.add-line input{flex:1;padding:11px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff}
.tbl-edit{width:100%;border-collapse:collapse;margin-top:8px;font-size:.85rem}
.tbl-edit th{background:var(--teal);color:#fff;padding:8px;font-weight:600}
.tbl-edit td{border:1px solid var(--line);padding:4px}
.tbl-edit td input{width:100%;border:none;background:transparent;padding:6px}
.tbl-edit td input:focus{outline:none;background:var(--teal-light);border-radius:6px}
.doc-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.doc-toolbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px}
.doc-toolbar .dt{font-weight:600;color:var(--ink-soft);font-size:.9rem}
.doc-toolbar .acts{display:flex;gap:9px;flex-wrap:wrap}
.doc{padding:40px 44px;direction:rtl;background:#fff}
.doc .page-break{border-top:2px dashed var(--line);margin:34px 0;position:relative}
.doc .page-break::after{content:"صفحة جديدة";position:absolute;top:-10px;right:50%;transform:translateX(50%);background:var(--bg);padding:0 12px;font-size:.7rem;color:var(--ink-soft)}
.doc .cover{text-align:center;padding:30px 0 40px}
.doc .cover .crest-lg{width:90px;height:90px;border-radius:50%;background:var(--teal-light);display:grid;place-items:center;font-size:44px;margin:0 auto 14px}
.doc .cover .kingdom{color:var(--ink-soft);font-size:.95rem;line-height:1.8}
.doc .cover .big-title{font-family:'IBM Plex Sans Arabic';font-size:2.3rem;color:var(--teal-deep);margin:26px 0 8px}
.doc .cover .sub-title{color:var(--gold);font-size:1.1rem;font-weight:600;margin-bottom:30px}
.doc .cover .cover-box{display:inline-block;text-align:right;border:2px solid var(--teal-light);border-radius:14px;padding:20px 30px;min-width:320px}
.doc .cover .cover-box .field-row{margin-bottom:8px}
.doc .moe{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2.5px solid var(--teal);padding-bottom:14px;margin-bottom:22px}
.doc .moe .r{font-size:.82rem;color:var(--ink-soft);line-height:1.65;text-align:right}
.doc .moe .l{font-size:.82rem;color:var(--ink-soft);line-height:1.65;text-align:left}
.doc .moe .c{text-align:center;flex-shrink:0;padding:0 14px}
.doc .moe .c .crest{width:58px;height:58px;margin:0 auto;border-radius:50%;background:var(--teal-light);display:grid;place-items:center;font-size:26px;overflow:hidden}
.doc h3.doc-title{text-align:center;font-size:1.5rem;color:var(--teal-deep);margin:10px 0 4px}
.doc .doc-meta{text-align:center;color:var(--ink-soft);font-size:.85rem;margin-bottom:24px}
.doc table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:.86rem}
.doc table th{background:var(--teal);color:#fff;padding:9px 11px;font-weight:600;text-align:right;border:1px solid var(--teal-deep)}
.doc table td{padding:9px 11px;border:1px solid var(--line);vertical-align:top}
.doc table tr:nth-child(even) td{background:#FBFAF6}
.doc .field-row{display:flex;gap:12px;margin-bottom:8px;font-size:.9rem}
.doc .field-row .k{font-weight:600;color:var(--teal-deep);min-width:130px}
.doc .sig{display:flex;justify-content:space-between;margin-top:40px;font-size:.85rem;color:var(--ink-soft)}
.doc .sig div{text-align:center}
.doc .sig b{display:block;color:var(--ink);margin-bottom:30px}
.doc .ev-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.doc .ev-gallery .ev-ph{aspect-ratio:4/3;background:var(--gold-soft);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.5rem;border:1px solid var(--line);color:var(--gold);padding:8px;overflow:hidden;text-align:center}
.doc .ev-gallery .ev-ph img{width:100%;height:100%;object-fit:cover;border-radius:7px}
.doc .ev-gallery .ev-ph small{font-size:.66rem;color:var(--ink-soft);margin-top:4px}
.doc .sec-h{background:var(--teal-light);color:var(--teal-deep);font-weight:600;padding:8px 14px;border-radius:8px;margin:20px 0 12px;font-family:'IBM Plex Sans Arabic'}
.doc .toc{list-style:none}
.doc .toc li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dotted var(--line);font-size:.9rem}
.doc .toc li b{color:var(--teal-deep)}
/* الإشعار لا يستقبل لمسًا: كان يغطّي ما تحته فتضيع الضغطة على شريط
   التنقّل، والمعلّم يظنّ الزر لا يعمل. وأصغر حجمًا لأنه يظهر كثيرًا. */
/* كان يقف أسفل الشاشة فيختفي نصفه خلف شريط التنقّل مهما رُفع.
   نقلناه إلى وسطها — لا شيء يغطّيه هناك — وأعطيناه ✕ لمن يريد إبعاده،
   وجعلنا ضغطه ينقل إلى ما ينبّه عليه حين يكون له وجهة. */
.toast{position:fixed;top:34%;left:50%;
  transform:translate(-50%,-14px) scale(.97);opacity:0;
  background:var(--teal-deep);color:#fff;padding:11px 14px 11px 8px;border-radius:14px;
  box-shadow:0 14px 40px -12px rgba(0,0,0,.45);font-weight:500;font-size:.88rem;
  z-index:200;transition:.24s;display:flex;align-items:center;gap:10px;
  max-width:min(88%,420px);pointer-events:none;text-align:right}
.toast.show{transform:translate(-50%,0) scale(1);opacity:1;pointer-events:auto}
.toast-msg{flex:1;min-width:0;line-height:1.7;overflow-wrap:anywhere}
.toast-x{flex:none;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;
  background:rgba(255,255,255,.16);color:#fff;font-size:.78rem;font-family:inherit;
  display:grid;place-items:center;line-height:1;padding:0}
.toast-x:hover,.toast-x:active{background:rgba(255,255,255,.3)}
.toast.tappable .toast-msg{cursor:pointer}
.toast-go{display:block;font-size:.72rem;opacity:.85;margin-top:3px}
@media(max-width:640px){.toast{top:38%;font-size:.86rem}}
.empty{text-align:center;padding:30px;color:var(--ink-soft);font-size:.9rem}
.note{background:var(--gold-soft);border:1px solid var(--gold);border-radius:13px;padding:14px 18px;font-size:.86rem;color:var(--teal-deep);margin-bottom:20px;display:flex;gap:11px;align-items:flex-start}
.note .ni{font-size:1.2rem;flex-shrink:0}
.mini-tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.mini-tabs button{padding:9px 18px;border-radius:11px;background:#fff;border:1.5px solid var(--line);font-weight:600;color:var(--ink-soft);font-size:.9rem}
.mini-tabs button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.form-tile{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;cursor:pointer;transition:.22s}
.form-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--teal)}
.form-tile .fi{width:48px;height:48px;border-radius:13px;background:var(--teal-light);display:grid;place-items:center;font-size:24px;margin-bottom:14px}
.form-tile h3{font-size:1.1rem;color:var(--teal-deep);margin-bottom:5px}
.form-tile p{font-size:.84rem;color:var(--ink-soft)}
.bank-tabs{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.bank-tabs button{padding:9px 18px;border-radius:11px;background:#fff;border:1.5px solid var(--line);font-weight:600;color:var(--ink-soft);font-size:.9rem}
.bank-tabs button.on{background:var(--gold);border-color:var(--gold);color:var(--teal-deep)}
.bank-item{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px 16px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.bank-item .bt{font-weight:600;font-size:.95rem}
.bank-item .bt small{display:block;color:var(--ink-soft);font-weight:400;font-size:.82rem;margin-top:2px}
.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}
.mic-btn{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,#7A4E94,#9D6BB8);color:#fff;font-size:30px;display:inline-grid;place-items:center;box-shadow:0 10px 26px -8px rgba(122,78,148,.6);transition:.2s}
.mic-btn:hover{transform:translateY(-2px)}
.mic-btn.rec{background:linear-gradient(135deg,#B84A3B,#D45F4E);animation:pulse 1.3s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(184,74,59,.55)}70%{box-shadow:0 0 0 16px rgba(184,74,59,0)}100%{box-shadow:0 0 0 0 rgba(184,74,59,0)}}
.spinner.dark{border-color:rgba(122,78,148,.25);border-top-color:var(--purple)}
.brain-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:13px 16px;margin-bottom:18px;cursor:pointer;transition:.2s}
.brain-bar:hover{border-color:var(--teal);box-shadow:0 4px 14px -6px rgba(14,90,82,.25)}
.brain-bar-ic{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,#3d1d52,#6b3fa0);display:grid;place-items:center;font-size:14px;flex-shrink:0}
.brain-bar-txt{flex:1;color:var(--ink-soft);font-size:.88rem}
.brain-bar-input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:.88rem;color:var(--ink);min-width:0}
.brain-bar-input::placeholder{color:var(--ink-soft)}
.brain-bar-arrow{color:var(--ink-soft);font-size:.8rem;transition:.2s}
.qa-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:6px}
.qa-card{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:.2s;font-family:inherit;font-size:.88rem;color:var(--teal-deep)}
.qa-card:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 8px 20px -10px rgba(14,90,82,.3)}
.qa-ic{font-size:26px}
.completion-card{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:14px}
.completion-card .cc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.completion-card .cc-pct{font-size:1.3rem;font-weight:700;color:var(--teal-deep)}
.completion-card .cc-bar{height:7px;background:#ECE7DB;border-radius:10px;overflow:hidden;margin-bottom:8px}
.completion-card .cc-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:10px}
.completion-card .cc-hint{font-size:.82rem;color:var(--ink-soft)}
.wf-item{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;margin-bottom:8px;cursor:pointer;transition:.2s;font-size:.86rem}
.wf-item:hover{border-color:var(--teal)}
.wf-item:hover{border-color:var(--teal)}
.wf-item .wf-ic{font-size:18px;flex-shrink:0}
.brain{background:linear-gradient(135deg,#241033,#3d1d52 55%,#2a1240);border-radius:22px;padding:22px;margin-bottom:8px;box-shadow:0 18px 50px -18px rgba(61,29,82,.7);position:relative;overflow:hidden}
.brain::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0);background-size:22px 22px}
.brain>*{position:relative}
.brain-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.brain-head .brain-ic{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#C9A24B,#E3C271);display:grid;place-items:center;font-size:24px;box-shadow:0 6px 18px -4px rgba(201,162,75,.6)}
.brain-head b{font-family:'IBM Plex Sans Arabic';color:#fff;font-size:1.15rem}
.brain-head small{display:block;color:rgba(255,255,255,.6);font-size:.8rem;margin-top:2px}
.brain-chat{max-height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:14px;padding:4px}
.bubble{padding:11px 15px;border-radius:15px;font-size:.9rem;line-height:1.7;max-width:88%;animation:pop .3s ease}
@keyframes pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bubble.bot{background:rgba(255,255,255,.1);color:#F2ECF7;align-self:flex-start;border:1px solid rgba(255,255,255,.12)}
.bubble.user{background:linear-gradient(135deg,var(--gold),#D9B05E);color:var(--teal-deep);align-self:flex-end;font-weight:500}
.bubble.action{background:rgba(201,162,75,.16);border:1px solid rgba(201,162,75,.4);color:#F0E4C6;align-self:flex-start;display:flex;align-items:center;gap:10px}
.bubble.action button{background:var(--gold);color:var(--teal-deep);padding:6px 14px;border-radius:9px;font-weight:600;font-size:.84rem;white-space:nowrap}
.brain-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.bchip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#EADFF0;padding:8px 14px;border-radius:11px;font-size:.83rem;font-weight:500;transition:.18s}
.bchip:hover{background:rgba(255,255,255,.18)}
.brain-input{display:flex;gap:10px}
.brain-input input{flex:1;padding:13px 16px;border-radius:13px;border:1.5px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff;font-size:.92rem}
.brain-input input::placeholder{color:rgba(255,255,255,.45)}
.brain-input input:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.12)}
@keyframes spin{to{transform:rotate(360deg)}}
/* شريط الأدوات وعنوان الشاشة كانا يُطبعان مع الوثيقة، فيدفعان الصفحة
   الأولى ١٠٤ بكسل ثم تتدحرج كل صفحة إلى ورقة ثانية — الملف كله يخرج
   مقسومًا. تُخفى كلها: الورقة للوثيقة وحدها. */
/* كل ما هو ثابت على الشاشة يُطبع مع الورقة: الإشعار كان يظهر داخل
   ملف الإنجاز المطبوع. تُخفى جميعها. */
@media print{
  /* الطباعة من شاشةٍ فيها الوثيقة وأدواتُها معًا — «من كلامك إلى ملفات»
     مثلًا — كانت تُخرج التعليمات وصندوق الميكروفون والأزرار مع الوثيقة:
     سبعة عشر عنصرًا لا داعي لها. فُحصت تسع وثائق فلم تعتمد واحدة منها
     على هذه الأصناف، فتُخفى كلها. */
  .note,.ai-box,.field,.chip,.seg,.tabs,.bank-tabs,
  button,select,textarea,input,#mic-ic,#mic-status,
  .topbar,.doc-toolbar,.no-print,.subbar,.builder-head,.builder-sub,
  #toast,.toast,.dp-overlay,.lgl-overlay,.anon-overlay,.mt-abar,
  .bottom-nav,#pf-theme-bar,.pf-swatches,.tabs,.seg{display:none!important}body{background:#fff}.main{padding:0;max-width:100%}.doc-wrap{border:none;box-shadow:none}.doc .page-break{page-break-after:always;border:none}.doc .page-break::after{display:none}.cert{page-break-after:always}}
.cert{width:100%;box-sizing:border-box;padding:14px 0 28px}
.cert:last-child{page-break-after:auto}
/* الإطار يتمدّد بعرض الشاشة بينما كانت مقاسات النصّ ثابتة بالبكسل،
   فيخرج على الجوّال أكبر ثلاث مرّات نسبةً إلى الشهادة حتى ينزل
   التوقيع تحت الحافة فيُقصّ. صار كل مقاس نسبةً من عرض الشهادة
   نفسها (cqw)، معايَرًا على عرض التصميم ١١٢٨ بكسل. */
.cert-frame{position:relative;width:100%;overflow:hidden;container-type:inline-size;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.cert-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0}
.cert-inner{position:absolute;inset:0;z-index:1;padding:12% 8% 4%;text-align:center;display:flex;flex-direction:column;align-items:center;line-height:1.3;overflow:hidden;box-sizing:border-box}
.cert-bism{font-size:1.05cqw;color:var(--ink-soft);margin-top:1%;flex-shrink:0}
.cert-title-row{display:flex;align-items:center;gap:.53cqw;margin:1.5% 0 0;width:100%;justify-content:center;flex-shrink:0}
.cert-title-row .ln{flex:0 0 1.77cqw;height:1px;background:var(--cert-ink);opacity:.5}
.cert-orn{color:var(--cert-ink);font-size:.71cqw;transform:rotate(45deg);display:inline-block;opacity:.75}
.cert-title{font-family:var(--cert-font,'IBM Plex Sans Arabic'),sans-serif;font-weight:700;font-size:2cqw;color:var(--cert-ink);;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%}
.cert-lead{font-size:1.05cqw;color:var(--ink-soft);max-width:82%;margin-top:1.2%;line-height:1.5;flex-shrink:0}
.cert-name-wrap{margin:1.5% 0 0;max-width:88%;flex-shrink:0}
.cert-name{font-family:var(--cert-font,'IBM Plex Sans Arabic'),sans-serif;font-weight:700;font-size:1.72cqw;color:var(--ink);padding:0 .53cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}
.cert-name-rule{width:min(17.7cqw,55%);height:1.2px;background:var(--cert-ink);opacity:.7;margin:4px auto 0;position:relative}
.cert-name-rule::before,.cert-name-rule::after{content:'';position:absolute;top:-.18cqw;width:.35cqw;height:.35cqw;border-radius:50%;background:var(--cert-ink)}
.cert-name-rule::before{right:-2px}
.cert-name-rule::after{left:-2px}
.cert-reason{font-size:1.05cqw;max-width:78%;line-height:1.5;color:var(--ink);margin-top:1.2%;flex-shrink:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cert-spacer{flex:1;min-height:2px}
.cert-bottom{width:100%;display:flex;justify-content:space-between;align-items:flex-end;flex-shrink:0}
.cert-date-block{font-size:1cqw;color:var(--ink-soft);white-space:nowrap}
.cert-signs{display:flex;gap:6%;margin-right:auto;margin-left:auto}
.cert-sign-col{text-align:center;flex:1;min-width:0}
.cert-sign-col .rl{font-size:1.05cqw;color:var(--ink-soft);padding-bottom:.27cqw;border-bottom:1px solid var(--ink-soft);margin-bottom:.35cqw;white-space:nowrap}
/* الاسم الثلاثي يتجاوز ١١٠ بكسل، فكان يُقصّ بثلاث نقاط على الشهادة.
   يلتفّ سطرين بدل أن يُبتر — كما يفعل سبب المنح فوقه. */
.cert-sign-col .nm{font-weight:700;color:var(--ink);font-size:1.25cqw;min-height:1.1em;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:break-word}
.cert-tpl-thumb{border:2.5px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;padding:0;background:none;display:flex;flex-direction:column}
.cert-tpl-thumb img{width:100%;height:70px;object-fit:cover;display:block}
.cert-tpl-thumb span{font-size:.72rem;padding:4px 2px;color:var(--ink-soft);text-align:center}
.cert-tpl-thumb.sel{border-color:var(--teal)}
.cert-tpl-thumb.sel span{color:var(--teal);font-weight:700}
.q-img{max-width:220px;border-radius:8px;margin-top:6px;display:block;border:1px solid var(--line)}
@media(max-width:640px){.grid2{grid-template-columns:1fr}.doc{padding:20px 16px}.hero h2{font-size:1.6rem}.main{padding:24px 16px 60px}.ev-gallery{grid-template-columns:repeat(2,1fr)}
  .topbar{padding:10px 14px}.brand .name{font-size:1.05rem}.brand .sub{display:none}.brand .mark{width:34px;height:34px}
  .topbar .who{gap:6px}.topbar .who .calbtn{padding:5px 8px;font-size:.72rem}.topbar .who .edit{padding:5px 8px;font-size:.7rem}
  #subj-switch{max-width:88px;font-size:.7rem!important;padding:4px 6px!important}
  .panel{padding:16px 17px}.btn-lg{padding:12px 20px;font-size:.98rem}
  /* بطاقات الرئيسية: عمودان مضغوطان — أيقونة جنب العنوان وارتفاع موحّد */
  .cards{grid-template-columns:1fr 1fr;gap:10px}
  .card{padding:12px;border-radius:14px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto auto;align-content:start;column-gap:9px;min-height:142px}
  .card .ic{width:34px;height:34px;border-radius:9px;font-size:17px;margin-bottom:0;grid-column:1;grid-row:1}
  .card h3{font-size:.85rem;margin:0;line-height:1.3;grid-column:2;grid-row:1;align-self:center}
  .card p{font-size:.68rem;line-height:1.5;margin-top:7px;grid-column:1/-1;grid-row:2}
  .card .tag{top:8px;left:8px;font-size:.54rem;padding:2px 6px}
  .card .prog{margin-top:7px;height:4px;grid-column:1/-1;grid-row:3;align-self:end}
  .card .prog-txt{font-size:.62rem;margin-top:4px;grid-column:1/-1;grid-row:4}
  .qa-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .qa-card{padding:14px 8px;font-size:.82rem}
  .qa-ic{font-size:22px}
}
.btn:active,.chip:active{transform:scale(.96)}
.card:active{transform:scale(.985)}

/* ===== هويات ألوان ملف الأداء الوظيفي (6 هويات، نفس التخطيط) ===== */
.pf-doc{
  --pf-head:'IBM Plex Sans Arabic';--pf-body:'IBM Plex Sans Arabic';
  --pf-main:#12A05F;--pf-dark:#123A3C;--pf-accent:#B26A00;
  --pf-tint:#E4F4EC;--pf-tint2:#E9F5F0;--pf-paper:#F7FBF9;--pf-line:#DFE7E5;--pf-dash:#C7D8D3;
  --pf-w1:#DCF0E7;--pf-w2:#7FCBAB;--pf-w3:#2BB39A;--pf-w4:#0E9E93;
}
.pf-doc[data-font="cairo"]{--pf-head:'Cairo';--pf-body:'Cairo'}
.pf-doc[data-font="tajawal"]{--pf-head:'Tajawal';--pf-body:'Tajawal'}
.pf-doc[data-font="amiri"]{--pf-head:'Amiri';--pf-body:'Amiri'}
.pf-doc{font-family:var(--pf-body),'IBM Plex Sans Arabic',sans-serif}
.pf-doc[data-pf="teal"]{--pf-main:#0E9E93;--pf-dark:#0B3A3E;--pf-accent:#A86412;
  --pf-tint:#DFF3F1;--pf-tint2:#E6F4F3;--pf-paper:#F6FBFB;--pf-line:#DAE8E7;--pf-dash:#BCD8D6;
  --pf-w1:#D8F0EE;--pf-w2:#79C9C3;--pf-w3:#25A79E;--pf-w4:#0B7F78}
.pf-doc[data-pf="navy"]{--pf-main:#1A5FA8;--pf-dark:#10294A;--pf-accent:#9A6510;
  --pf-tint:#E3EDF8;--pf-tint2:#E8F0F9;--pf-paper:#F7FAFD;--pf-line:#DCE5EF;--pf-dash:#BFD0E2;
  --pf-w1:#DCEAF7;--pf-w2:#86B4DF;--pf-w3:#3A80C4;--pf-w4:#1B5793}
.pf-doc[data-pf="plum"]{--pf-main:#6D3B9E;--pf-dark:#2E1A4A;--pf-accent:#9A5A12;
  --pf-tint:#EDE5F6;--pf-tint2:#F0EAF8;--pf-paper:#FAF8FD;--pf-line:#E4DCEF;--pf-dash:#CDBEE2;
  --pf-w1:#E9DFF6;--pf-w2:#B294D8;--pf-w3:#8558BC;--pf-w4:#5E3390}
.pf-doc[data-pf="rose"]{--pf-main:#BE4A72;--pf-dark:#46182B;--pf-accent:#9A5A12;
  --pf-tint:#F8E6ED;--pf-tint2:#F9EAF0;--pf-paper:#FDF8FA;--pf-line:#EFDCE4;--pf-dash:#E0BECC;
  --pf-w1:#F6E1EA;--pf-w2:#E0A0B9;--pf-w3:#CC6C90;--pf-w4:#A63C63}
.pf-doc[data-pf="sand"]{--pf-main:#A9761F;--pf-dark:#3D2B10;--pf-accent:#7A5A12;
  --pf-tint:#F6EEDC;--pf-tint2:#F7F0E2;--pf-paper:#FDFBF6;--pf-line:#EBE1CD;--pf-dash:#DCCBA8;
  --pf-w1:#F4EAD6;--pf-w2:#D9BE85;--pf-w3:#BE9640;--pf-w4:#96661A}
/* مبدّل الهوية في المعاينة */
.pf-swatches{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:8px 2px 2px}
.pf-fw{font:inherit;font-size:.85rem;background:#fff;border:1.5px solid var(--line);border-radius:9px;
  padding:5px 12px;cursor:pointer;color:var(--ink);transition:border-color .16s,background .16s}
.pf-fw:hover{border-color:var(--teal)}
.pf-fw.sel{border-color:var(--teal-deep);background:var(--teal-deep);color:#fff}
.pf-sw{width:30px;height:30px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer}
.pf-sw.sel{box-shadow:0 0 0 2.5px var(--teal-deep,#123A3C)}
/* ===== ملف الأداء الوظيفي — التخطيط الرسمي (نمط ملف الإنجاز المعتمد) =====
   كل المقاسات بوحدة cqw (نسبة من عرض الصفحة) حتى تتناسب الصفحة مع أي شاشة وعند الطباعة */
.pf-doc{background:#fff;direction:rtl;padding:0}
.pf-page{container-type:inline-size;position:relative;width:100%;max-width:794px;aspect-ratio:1/1.414;background:#fff;overflow:hidden;margin:0 auto 22px;border:1px solid #E3E3E3;box-shadow:0 4px 18px -10px rgba(0,0,0,.25);page-break-after:always;break-after:page}
.pf-page:last-child{page-break-after:auto;break-after:auto;margin-bottom:0}
@media print{
  /* ٢٩٧مم بالضبط لا يترك هامشًا لخطأ تقريب واحد، فتفيض الصفحة على ورقة
     ثانية فتخرج كل صفحة مقسومة على اثنتين. ننقص كسرًا ونمنع الانقسام. */
  /* حين يُفعّل المعلّم «الرؤوس والتذييلات» في نافذة الطباعة يفرض
     المتصفّح هوامش تُصغّر المساحة المطبوعة، فتفيض الصفحة الثابتة بقليل
     إلى ورقة تالية — فتخرج ورقة كاملة وأخرى شبه فارغة، وهكذا. نأخذ
     أصغر الارتفاعين: مقاسنا، أو ما تعطيه الورقة فعلًا. */
  .pf-page{width:210mm;height:min(294.5mm,calc(100vh - 1px));max-width:none;aspect-ratio:auto;
    border:none;box-shadow:none;margin:0;padding:0;overflow:hidden;
    break-inside:avoid;page-break-inside:avoid;
    break-after:auto;page-break-after:auto}
  .pf-page:last-child{break-after:auto;page-break-after:auto}
  /* الصفحة أقصر من الورقة بكسر، فإن لم يُفرض الفصل حشرَ المتصفّح طرف
     الصفحة التالية في ذيل الورقة — وهو ما يحدث على الجوّال حيث لا
     يُحترم منع الانقسام. الفصل «قبل» لا «بعد» كيلا تخرج ورقة خاتمة
     فارغة بعد آخر صفحة. */
  .pf-page+.pf-page{break-before:page;page-break-before:always}
  .doc-wrap,.doc{border:none!important;box-shadow:none!important;padding:0!important;margin:0!important}
  /* ملف الإنجاز مبنيّ صفحاتٍ بمقاس الورقة فلا يحتاج حشوًا. أما الوثائق
     المتدفّقة — التقارير والكشوف والجداول — فبلا هامش تلامس حرف الورقة،
     والطابعة لا تطبع في أطرافها، فتختفي نهايات الأسطر من جهة اليسار. */
  .doc:not(.pf-doc){padding:12mm 13mm!important}
  html,body{margin:0!important;padding:0!important}
  .main{padding:0!important;margin:0!important;max-width:none!important}
  /* بلا هذا يُسقط المتصفح كل خلفية ملوّنة: الموجة والأشرطة والتظليل،
     فتخرج الورقة بيضاء إلا من النصّ. */
  .pf-doc,.pf-doc *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  /* الجوال يطبع بعرض شاشته لا بعرض الورقة، فتخرج الصفحة مقصوصة أو
     مصغّرة. نُثبّت عرض التخطيط على A4 مهما كان الجهاز. */
  html,body{width:210mm!important;min-width:210mm!important;max-width:210mm!important}
  #app,.main,.screen,.doc-wrap,.doc{width:210mm!important;max-width:210mm!important}
  /* وعلى المتصفحات التي لا تدعم استعلامات الحاوية تُلغى بنية الورقة
     وتختفي الموجة — نعيدها في الطباعة صراحةً. */
  .pf-page{aspect-ratio:auto!important;min-height:0!important;overflow:hidden!important}
  .pf-wave{display:block!important}
  .pf-body{height:calc(89% - 7.4cqw)!important}
  .pf-body.has-head{height:calc(89% - 7.4cqw - 8.4cqw)!important}
  .pf-cover-in,.pf-div-in,.pf-text,.pf-apx{height:100%!important}
  @page{size:A4 portrait;margin:0}
}
.pf-wave{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.pf-num{position:absolute;bottom:2.4cqw;left:3.4cqw;z-index:3;font-size:1.4cqw;color:#5A5A5A;font-weight:600}

/* --- الغلاف --- */
.pf-cover-in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 8% 0 34%;text-align:right}
.pf-cover-badge{background:var(--pf-tint);border-radius:2.4cqw;padding:3.4cqw 5.4cqw;margin-bottom:7%;align-self:flex-end}
/* الغلاف يُقرأ من بعيد ورقةً في يد، لا بطاقةً على شاشة: عنوانه كان
   ٦٪ من عرض الورقة فيخرج صغيرًا بين فراغها. */
.pf-cover-badge b{display:block;font-family:var(--pf-head),'IBM Plex Sans Arabic';font-size:9cqw;line-height:1.18}
.pf-cover-badge .l1{color:#1B1B1B;font-weight:500}
.pf-cover-badge .l2{color:var(--pf-main);font-weight:700}
.pf-cover-f{margin-bottom:2.8cqw;font-size:2.7cqw;line-height:1.55}
.pf-cover-f span{display:block;color:#1B1B1B;font-weight:600}
.pf-cover-f b{display:block;color:var(--pf-main);font-weight:600;margin-top:.3cqw}

/* --- صفحة فاصلة --- */
.pf-div-in{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding:0 8% 0 30%}
.pf-div-t{font-family:var(--pf-head),'IBM Plex Sans Arabic';font-size:5.2cqw;line-height:1.7;color:#1B1B1B;text-align:right;width:100%;font-weight:500}

/* --- شريط رأس صفحة الشاهد --- */
/* عنوان القسم صار سطرًا فوق شريط السجل بدل صفحة كاملة له وحده.
   الملف كان يبتلع صفحة لكل عنصر، فيصير عملُ شاهدين ملفًا من عشر صفحات. */
/* الوثيقة تُقرأ مطبوعة، فالأصل خطّ كبير. لكن الورقة تُخفي ما فاض
   عنها (overflow:hidden)، فالنصّ الطويل يُصغَّر درجةً أو درجتين بدل
   أن يُقتطع منه سطر لا يراه المعلّم. */
/* النصّ القصير كان يترك ثلثي الورقة بياضًا. يُكبَّر حتى يملأها. */
.pf-text.roomy h3{font-size:4.4cqw;margin-bottom:3cqw}
.pf-text.roomy .lead{font-size:3.1cqw;line-height:2.05}
.pf-text.roomy .pf-sub{font-size:3.4cqw;margin:3.4cqw 0 1cqw}
.pf-text.roomy ul li{font-size:3cqw;line-height:2}
.pf-text.roomy .pf-chip{font-size:2.4cqw;padding:1cqw 2.5cqw}
.pf-text.dense h3{font-size:3.2cqw}
.pf-text.dense .lead{font-size:2.1cqw;line-height:1.85}
.pf-text.dense .pf-sub{font-size:2.35cqw;margin:2.1cqw 0 .6cqw}
.pf-text.dense ul li{font-size:2.05cqw;line-height:1.8}
.pf-text.denser h3{font-size:2.8cqw;margin-bottom:1.6cqw}
.pf-text.denser .lead{font-size:1.75cqw;line-height:1.75}
.pf-text.denser .pf-sub{font-size:2cqw;margin:1.6cqw 0 .5cqw}
.pf-text.denser ul li{font-size:1.7cqw;line-height:1.7}
.pf-gap{height:3.4cqw;border-bottom:.18cqw solid var(--pf-line);margin-bottom:3.4cqw}
.pf-sec-head{position:relative;z-index:3;display:flex;align-items:center;gap:1.6cqw;
  padding:2.4cqw 4cqw 1.4cqw;background:#fff}
.pf-sec-head .n{flex:0 0 auto;background:var(--pf-main);color:#fff;border-radius:.9cqw;
  padding:.2cqw 1.5cqw;font-size:2.2cqw;font-weight:700;line-height:1.5}
.pf-sec-head .t{flex:1;font-family:var(--pf-head),'IBM Plex Sans Arabic';
  font-size:3.1cqw;font-weight:700;color:var(--pf-dark);line-height:1.4}
.pf-sec-head .w{flex:0 0 auto;background:var(--pf-tint2);color:var(--pf-dark);
  border-radius:2cqw;padding:.3cqw 1.6cqw;font-size:1.6cqw;font-weight:600;white-space:nowrap}
.pf-body.has-head{height:calc(89% - 7.4cqw - 8.4cqw)}
.pf-band{position:relative;z-index:2;display:flex;align-items:stretch;background:var(--pf-dark);color:#fff;min-height:11%;border-top:.7cqw solid var(--pf-main)}
.pf-band-r{flex:0 0 30%;display:flex;align-items:center;padding:1.8cqw 4.2cqw 1.8cqw 1.2cqw;font-family:var(--pf-head),'IBM Plex Sans Arabic';font-size:2.7cqw;line-height:1.45}
.pf-band-sep{flex:0 0 3.2cqw;background:var(--pf-main);transform:skewX(-13deg)}
.pf-band-l{flex:1;display:flex;align-items:center;padding:1.8cqw 3.2cqw 1.8cqw 4.2cqw;font-size:2cqw;line-height:1.6;color:#F2F7F5}

/* --- جسم صفحة الشاهد --- */
.pf-body{position:relative;z-index:2;height:calc(89% - 7.4cqw);display:grid;align-content:center;justify-items:center;align-items:center;gap:2cqw;padding:3.2cqw 4%}
.pf-body.g1{grid-template-columns:1fr}
.pf-body.g2{grid-template-columns:1fr;grid-template-rows:1fr 1fr}
.pf-body.g4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.pf-body.g6{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:1.5cqw}
.pf-body>*{max-width:100%;max-height:100%}
/* شاهدٌ واحد في الصفحة كان يمتدّ من حافة إلى حافة فيبدو الورقة كلّها صورة.
   نتركه في وسطها وحوله بياضٌ يفصله عن الترويسة والتذييل. */
.pf-body.g1 .pf-shot{max-width:80%;max-height:82%}
.pf-body.g2 .pf-shot{max-width:86%;max-height:94%}
.pf-shot{max-width:100%;max-height:100%;object-fit:contain;border:1px solid #E0E0E0;border-radius:.8cqw;box-shadow:0 3px 14px -8px rgba(0,0,0,.4);background:#fff}
.pf-body.g4 .pf-nofile,.pf-body.g6 .pf-nofile{width:100%;padding:2cqw 2.2cqw}
.pf-body.g4 .pf-nofile h4,.pf-body.g6 .pf-nofile h4{font-size:1.7cqw;margin-bottom:.8cqw}
.pf-body.g4 .pf-nofile p,.pf-body.g6 .pf-nofile p{font-size:1.35cqw;line-height:1.6}
/* البطاقة كانت تشغل ٨٦٪ من العرض وخطّها صغير، والصفحة حولها بيضاء.
   وُسّعت وكُبّر خطّها: الورقة نفسها، ومحتوى يُقرأ من بُعد. */
.pf-nofile{width:96%;border:.22cqw dashed var(--pf-dash);border-radius:1.6cqw;padding:3.6cqw 4cqw;text-align:right;background:var(--pf-paper)}
.pf-nofile h4{font-family:var(--pf-head),'IBM Plex Sans Arabic';color:var(--pf-dark);font-size:2.9cqw;margin-bottom:1.8cqw;line-height:1.45}
.pf-nofile p{font-size:2.25cqw;color:#3E4C49;line-height:1.8;margin-bottom:.7cqw}
.pf-nofile p b{color:var(--pf-main)}

/* --- التذييل --- */
.pf-foot{position:absolute;bottom:0;right:0;left:0;z-index:2}
.pf-foot-line{height:.65cqw;background:var(--pf-main)}
.pf-foot-in{display:flex;justify-content:space-between;align-items:center;padding:1.2cqw 3.4cqw;background:#fff;font-size:1.6cqw;color:#5A5A5A}
.pf-foot-brand{color:var(--pf-dark);font-weight:700;font-family:var(--pf-head),'IBM Plex Sans Arabic'}
.pf-foot-bar{height:1.8cqw;background:var(--pf-main)}

/* --- صفحة عناصر التقييم --- */
.pf-crit-wrap{position:relative;z-index:2;height:100%;padding:5% 6% 6%;display:flex;flex-direction:column}
.pf-crit-title{text-align:center;font-family:var(--pf-head),'IBM Plex Sans Arabic';font-size:2.6cqw;color:var(--pf-dark);margin-bottom:2cqw;padding-bottom:1cqw;border-bottom:.26cqw solid var(--pf-main)}
.pf-crit-grid{column-count:2;column-gap:2.6cqw;flex:1;min-height:0}
.pf-crit{break-inside:avoid;page-break-inside:avoid;margin-bottom:1.5cqw}
.pf-crit-h{display:flex;align-items:center;gap:1cqw;background:var(--pf-tint2);border-right:.5cqw solid var(--pf-main);border-radius:.5cqw;padding:.6cqw 1.1cqw;font-weight:700;color:var(--pf-dark);font-size:1.45cqw;line-height:1.45}
.pf-crit-h .n{background:var(--pf-dark);color:#fff;border-radius:.5cqw;padding:.1cqw .8cqw;font-size:1.3cqw;flex:0 0 auto}
.pf-crit-h .w{margin-right:auto;background:var(--pf-main);color:#fff;border-radius:2cqw;padding:.1cqw 1cqw;font-size:1.2cqw;white-space:nowrap;flex:0 0 auto}
.pf-crit-s{color:var(--pf-accent);font-weight:700;font-size:1.3cqw;margin:.7cqw 0 .2cqw}
.pf-crit ul{list-style:none;padding:0;margin:0}
.pf-crit li{position:relative;padding-right:1.4cqw;font-size:1.28cqw;line-height:1.6;color:#333}
.pf-crit li::before{content:"–";position:absolute;right:0;color:var(--pf-main)}


/* --- صفحات نصية (مقدمة / تعريف / خاتمة) --- */
.pf-text{position:relative;z-index:2;height:100%;padding:7% 8% 9%;display:flex;flex-direction:column}
.pf-text h3{font-family:var(--pf-head),'IBM Plex Sans Arabic';font-size:3.8cqw;color:var(--pf-dark);margin-bottom:2.4cqw;padding-bottom:1.3cqw;border-bottom:.3cqw solid var(--pf-main)}
.pf-text .lead{font-size:2.55cqw;line-height:1.95;color:#2E3A38;white-space:pre-wrap}
.pf-sub{font-family:var(--pf-head),'IBM Plex Sans Arabic';font-size:2.85cqw;color:var(--pf-main);margin:2.6cqw 0 .8cqw}
.pf-text ul{list-style:none;padding:0;margin:0}
.pf-text ul li{position:relative;padding-right:2cqw;font-size:2.5cqw;line-height:1.9;color:#2E3A38}
.pf-text ul li::before{content:"—";position:absolute;right:0;color:var(--pf-main)}
.pf-meta{display:flex;flex-wrap:wrap;gap:1.2cqw;margin-bottom:2cqw}
.pf-chip{background:var(--pf-tint2);color:var(--pf-dark);border-radius:2cqw;padding:.8cqw 2.1cqw;font-size:2.05cqw;font-weight:600}
/* --- الفهرس --- */
.pf-toc{list-style:none;padding:0;margin:0;flex:1}
.pf-toc li{display:flex;align-items:baseline;gap:.8cqw;font-size:2.4cqw;line-height:2.45;color:#2E3A38}
.pf-toc .d{flex:1;border-bottom:.18cqw dotted #B9C7C4;transform:translateY(-.4cqw)}
.pf-toc .p{font-weight:700;color:var(--pf-dark);min-width:3.4cqw;text-align:left}
.pf-toc .lv2{padding-right:3cqw;font-size:2.2cqw;color:#4A5654}
.pf-toc .lv2 .p{font-weight:600}


/* الشهادة على جهاز لا يعرف وحدات الحاوية: تعود إلى المقاسات الثابتة —
   كما كانت تمامًا، لا أفضل ولا أسوأ. */
@supports not (container-type:inline-size){
  .cert-bism{font-size:.62rem}
  .cert-orn{font-size:.5rem}
  .cert-title{font-size:1.25rem}
  .cert-lead{font-size:.56rem}
  .cert-name{font-size:1.05rem;padding:0 6px}
  .cert-reason{font-size:.56rem}
  .cert-date-block{font-size:.52rem}
  .cert-sign-col .rl{font-size:.5rem;padding-bottom:3px;margin-bottom:4px}
  .cert-sign-col .nm{font-size:.6rem}
  .cert-title-row{gap:6px}
  .cert-title-row .ln{flex:0 0 20px}
  .cert-name-rule{width:min(200px,55%)}
  .cert-name-rule::before,.cert-name-rule::after{top:-2px;width:4px;height:4px}
}

/* أجهزة قديمة لا تدعم استعلامات الحاويات: تدهور آمن إلى تدفّق مقروء بدل صفحات مقصوصة */
@supports not (container-type:inline-size){
  .pf-page{aspect-ratio:auto;height:auto;min-height:0;overflow:visible}
  .pf-cover-in,.pf-div-in,.pf-text,.pf-crit-wrap,.pf-apx{height:auto;padding:26px 22px}
  .pf-body{height:auto;padding:18px}
  .pf-wave{display:none}
  .pf-cover-badge b{font-size:2.2rem}
  .pf-cover-f,.pf-text .lead,.pf-text ul li,.pf-toc li{font-size:.95rem}
  .pf-div-t{font-size:1.9rem}
  .pf-band-r{font-size:1.1rem}.pf-band-l{font-size:.9rem}
  .pf-text h3{font-size:1.3rem}.pf-sub{font-size:1.05rem}
  .pf-crit-title{font-size:1.1rem}.pf-crit-h{font-size:.78rem}
  .pf-crit li,.pf-crit-s,.pf-crit-h .n,.pf-crit-h .w{font-size:.72rem}
  .pf-nofile h4{font-size:1rem}.pf-nofile p{font-size:.85rem}
  .pf-num{font-size:.7rem;bottom:8px;left:12px}
  .pf-foot-in{font-size:.75rem}.pf-foot-line{height:4px}.pf-foot-bar{height:10px}
  .pf-apx table{font-size:.72rem}
  .pf-chip{font-size:.8rem;padding:3px 10px}
}
/* --- الملحق --- */
.pf-apx{position:relative;z-index:2;height:100%;padding:6% 7%;overflow:hidden}
.pf-apx h3{font-family:var(--pf-head),'IBM Plex Sans Arabic';color:var(--pf-dark);font-size:2.4cqw;margin-bottom:1.6cqw;padding-bottom:.9cqw;border-bottom:.26cqw solid var(--pf-main)}
.pf-apx table{width:100%;border-collapse:collapse;font-size:1.4cqw}
.pf-apx th{background:var(--pf-dark);color:#fff;padding:.8cqw 1cqw;font-weight:600}
.pf-apx td{border:1px solid var(--pf-line);padding:.8cqw 1cqw;vertical-align:top;line-height:1.55}
.pf-apx tr:nth-child(even) td{background:var(--pf-paper)}
/* الملحق المتدفّق: صفٌّ طويل لا يتّسع في بقيّة الصفحة كان يُدفع كاملًا
   فيترك فراغًا يملأ نصف الورقة. نسمح للصفّ أن ينقسم، ونكرّر الترويسة
   في كل صفحة، ونباعد بين البنود قليلًا ليُميَّز أين ينتهي شاهدٌ ويبدأ آخر. */
.pf-apx-flow table{width:100%;border-collapse:collapse}
.pf-apx-flow thead{display:table-header-group}
.pf-apx-flow tr,.pf-apx-flow td,.pf-apx-flow th{break-inside:auto;page-break-inside:auto}
.pf-apx-flow td{padding:1.15cqw 1.1cqw;line-height:1.75}
@media print{.pf-apx-flow td{padding:2.6mm 2.4mm;line-height:1.75}}
.pf-sig{display:flex;justify-content:space-between;margin-top:3.4cqw;font-size:1.7cqw;color:#3E4C49}
.pf-sig div{text-align:center}
.pf-sig b{display:block;color:var(--pf-dark);margin-bottom:3.4cqw}
.pf-apx-flow{container-type:inline-size;position:relative;height:auto;max-width:794px;margin:0 auto;padding:5% 6%;page-break-before:always;break-before:page;background:#fff}
@media print{.pf-apx-flow{width:210mm;max-width:none;padding:14mm}}


/* حقول ملف الأداء: ارتفاع يكفي لعرض النص كاملًا بدل قصّه */
#achievement textarea{min-height:118px;line-height:1.85}

/* ===== ترتيب الصفحة الرئيسية (v2.7) ===== */
.ob-more{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--bg);border:1.5px dashed var(--line);border-radius:12px;padding:12px 14px;margin:6px 0 10px;
  font:inherit;font-size:.9rem;font-weight:700;color:var(--ink);cursor:pointer;text-align:right;transition:border-color .18s}
.ob-more:hover{border-color:var(--teal)}
.ob-more.open{border-style:solid;border-color:var(--teal)}
.tools-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;
  background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;margin:18px 0 4px;
  font:inherit;font-size:.98rem;font-weight:700;color:var(--ink);cursor:pointer;transition:border-color .18s}
.tools-toggle:hover{border-color:var(--teal)}
.tools-toggle .tt-count{font-size:.8rem;font-weight:600;color:var(--ink-soft);margin-right:4px}
.tools-toggle .tt-arrow{color:var(--teal);font-size:1.1rem;transition:transform .22s}
.tools-toggle.open .tt-arrow{transform:rotate(180deg)}
#tools-wrap{animation:toolsIn .22s ease}
@keyframes toolsIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* بطاقة الإكمال: نواقص قابلة للنقر */
.cc-todo{margin-top:12px;padding-top:11px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:7px}
.cc-todo b{font-size:.82rem;color:var(--ink-soft);font-weight:600}
.cc-step{display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--line);
  border-radius:10px;padding:9px 11px;font-size:.86rem;color:var(--ink);cursor:pointer;
  text-align:right;font:inherit;width:100%;transition:border-color .16s,background .16s}
.cc-step:hover{border-color:var(--teal);background:#fff}
.cc-step .n{flex:0 0 auto;width:19px;height:19px;border-radius:50%;background:var(--teal);color:#fff;
  font-size:.68rem;display:grid;place-items:center;font-weight:700}
.cc-step .go{margin-right:auto;color:var(--teal);font-weight:700;font-size:.8rem}
.cc-done{margin-top:10px;font-size:.86rem;color:var(--teal-deep);font-weight:600}

/* ═══ سجل الإجازات ═══ */
.lv-alert{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:12px 14px;margin-bottom:9px;font-size:.9rem;line-height:1.75}
.lv-alert.ok{background:#F1F8F4;border:1px solid #CBE6D6;color:#14603F}
.lv-alert.low{background:#FDF6EA;border:1px solid #EBDCBB;color:#7A5A12}
.lv-alert.out,.lv-alert.warn{background:#FBF0ED;border:1px solid #EDCFC7;color:#8A3524}
.lv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;margin-bottom:16px}
.lv-card{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:15px 16px}
.lv-card.warn{border-color:#EDCFC7;background:#FEFAF9}
.lv-card.over{border-color:#D9A99E;background:#FDF4F2;box-shadow:0 0 0 1px #EDCFC7 inset}
.lv-alert.over{background:#FBE9E5;border:1.5px solid #E0B5AA;color:#7A2E1D;font-weight:600}
.lv-h{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.lv-ic{font-size:1.5rem;flex:0 0 auto}
.lv-h b{display:block;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:1rem;line-height:1.4}
.lv-h small{display:block;font-size:.72rem;color:var(--ink-soft);margin-top:1px}
.lv-add{margin-inline-start:auto;flex:0 0 auto;width:30px;height:30px;border-radius:9px;border:1.5px solid var(--line);
  background:var(--bg);color:var(--teal-deep);font-size:1.1rem;font-weight:700;cursor:pointer;line-height:1}
.lv-add:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.lv-bar{height:8px;background:var(--bg);border-radius:20px;overflow:hidden;margin-bottom:7px}
.lv-bar i{display:block;height:100%;border-radius:20px;transition:width .35s}
.lv-nums{font-size:.84rem;color:var(--ink-soft)}
.lv-nums b{font-size:1.15rem;color:var(--ink);font-weight:700}
.lv-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0 4px}
.lv-tier{background:var(--bg);border-radius:9px;padding:7px 6px;text-align:center}
.lv-tier span{display:block;font-size:.66rem;color:var(--ink-soft);line-height:1.4}
.lv-tier b{display:block;font-size:1rem;color:var(--teal-deep);margin:2px 0}
.lv-tier small{display:block;font-size:.6rem;color:var(--ink-soft)}
.lv-note{font-size:.78rem;color:var(--ink-soft);line-height:1.7;margin:9px 0 0;padding-top:8px;border-top:1px dashed var(--line)}
.lv-open{margin-top:8px;font-size:.76rem;color:var(--ink-soft);display:flex;align-items:center;gap:6px}
.lv-open input{width:64px;padding:5px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.82rem;text-align:center}
.lv-hint{background:var(--bg);border-right:3px solid var(--teal);border-radius:0 9px 9px 0;padding:10px 12px;font-size:.82rem;line-height:1.8;color:var(--ink-soft);margin-top:4px}
.lv-table{width:100%;border-collapse:collapse;font-size:.85rem}
.lv-table th{background:var(--teal-deep);color:#fff;padding:8px 9px;text-align:right;font-weight:600;font-size:.8rem}
.lv-table td{border-bottom:1px solid var(--line);padding:8px 9px;vertical-align:middle}
.lv-del{background:none;border:1px solid var(--line);border-radius:7px;padding:3px 9px;font:inherit;font-size:.74rem;color:#B84A3B;cursor:pointer}
.lv-del:hover{background:#FBF0ED;border-color:#EDCFC7}
.empty-note{text-align:center;color:var(--ink-soft);font-size:.88rem;padding:20px 0}
@media(max-width:520px){.lv-grid{grid-template-columns:1fr}.lv-table{font-size:.78rem}}

/* توسعة الإجازات */
.lv-alt{color:var(--ink-soft);font-size:.78em}
.lv-carry-empty{background:var(--bg);border:1.5px dashed var(--line);border-radius:12px;padding:14px;font-size:.88rem;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lv-carry-top{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}
.lv-carry-top div{background:var(--bg);border-radius:12px;padding:12px;text-align:center}
.lv-carry-top span{display:block;font-size:.72rem;color:var(--ink-soft);line-height:1.5}
.lv-carry-top b{display:block;font-size:1.5rem;color:var(--teal-deep);margin-top:3px}
.lv-carry-top .risk b{color:#B26A00}
.lv-carry-top .lost b{color:#B84A3B}
.lv-carry-note{font-size:.8rem;color:var(--ink-soft);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.lv-table tr.row-risk td{background:#FDF6EA}
.lv-table tr.row-lost td{background:#FBF0ED;color:#8A3524}
@media(max-width:520px){.lv-carry-top{grid-template-columns:1fr}}

/* قرارات الاجتماعات */
.mt-pending{background:#FFF9EC;border:1.5px solid #E9D9AE;border-radius:14px;padding:14px 16px;margin-bottom:14px}
.mt-ph{display:flex;align-items:center;gap:9px;font-size:1rem;font-family:'IBM Plex Sans Arabic',sans-serif}
.mt-late{background:#B84A3B;color:#fff;border-radius:20px;padding:2px 10px;font-size:.72rem;font-weight:700}
.mt-psub{font-size:.82rem;color:#7A6222;margin:4px 0 10px}
.mt-pitem{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid #EFE3C4;border-radius:10px;padding:8px 10px;margin-bottom:6px}
.mt-dot{font-size:.9rem;flex:0 0 auto}
.mt-ptext{flex:1;min-width:0}
.mt-ptext b{display:block;font-size:.88rem;font-weight:600;line-height:1.5}
.mt-ptext small{display:block;font-size:.74rem;color:var(--ink-soft);margin-top:1px}
.mt-pbtn{flex:0 0 auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:4px 11px;font:inherit;font-size:.76rem;cursor:pointer}
.mt-pbtn:hover{border-color:var(--teal);color:var(--teal-deep)}
.mt-pmore{font-size:.78rem;color:var(--ink-soft);text-align:center;padding:4px}
.mt-tasks{border-top:1px dashed var(--line);margin-top:10px;padding-top:9px}
.mt-th{display:flex;align-items:center;gap:8px;font-size:.86rem;margin-bottom:7px}
.mt-add{margin-inline-start:auto;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:3px 10px;font:inherit;font-size:.76rem;cursor:pointer;color:var(--teal-deep)}
.mt-add:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.mt-task{display:flex;gap:5px;align-items:center;margin-bottom:5px;flex-wrap:wrap}
.mt-task input,.mt-task select{padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;font-family:inherit;font-size:.82rem}
.mt-t{flex:3;min-width:150px}.mt-o{flex:1;min-width:85px}.mt-d{flex:1;min-width:120px}.mt-l{flex:1.2;min-width:120px;background:#fff}
.mt-status,.mt-go,.mt-del{background:none;border:1px solid var(--line);border-radius:7px;width:28px;height:30px;cursor:pointer;font-size:.85rem;flex:0 0 auto}
.mt-status:hover,.mt-go:hover{border-color:var(--teal)}
.mt-del{color:#B84A3B}.mt-del:hover{background:#FBF0ED}
.mt-empty{font-size:.8rem;color:var(--ink-soft);padding:8px;text-align:center}
#mtv-rec.rec{background:#B84A3B;color:#fff;border-color:#B84A3B}
.mtv-load{display:flex;gap:9px;align-items:center;font-size:.86rem;color:var(--ink-soft);padding:8px}
.mtv-warn{background:#FBF3EF;border:1px solid #EBCFC7;border-radius:10px;padding:10px 12px;font-size:.84rem;color:#8A3524;margin-bottom:9px;line-height:1.7}
.mtv-res{background:var(--bg);border-radius:10px;padding:11px}
.mtv-res>b{display:block;font-size:.88rem;margin-bottom:8px}
.mtv-item{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px 10px;margin-bottom:5px;cursor:pointer}
.mtv-item b{display:block;font-size:.85rem;font-weight:600;line-height:1.5}
.mtv-item small{display:block;font-size:.74rem;color:var(--ink-soft)}
@media(max-width:560px){.mt-t,.mt-o,.mt-d,.mt-l{flex:1 1 100%}}

/* مساعد قرار الإجازة والمرفقات */
.lv-dec{border-radius:14px;padding:14px 15px;margin-top:10px;border:1.5px solid}
.lv-dec.ok{background:#F1F8F4;border-color:#BFE0CD}
.lv-dec.warn{background:#FDF6EA;border-color:#E9D9AE}
.lv-dec.no{background:#FBF0ED;border-color:#E6C3B8}
.lv-dec-h{display:flex;align-items:center;gap:9px;font-size:1rem;font-family:'IBM Plex Sans Arabic',sans-serif;margin-bottom:10px}
.lv-dec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:9px}
.lv-dec-grid div{background:rgba(255,255,255,.75);border-radius:9px;padding:8px 6px;text-align:center}
.lv-dec-grid span{display:block;font-size:.68rem;color:var(--ink-soft);line-height:1.4}
.lv-dec-grid b{display:block;font-size:1.15rem;margin-top:2px}
.lv-dec-s{font-size:.86rem;line-height:1.8;margin:0}
.lv-dec-req{font-size:.82rem;color:#7A5A12;background:rgba(255,255,255,.7);border-radius:8px;padding:7px 10px;margin:8px 0 0}
.lv-att{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.lv-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:3px 10px;font-size:.72rem;cursor:pointer;max-width:100%}
.lv-chip:hover{border-color:var(--teal)}
.lv-chip b{color:#B84A3B;font-size:.7rem}
.lv-chip.add{border-style:dashed;color:var(--teal-deep)}
@media(max-width:560px){.lv-dec-grid{grid-template-columns:repeat(2,1fr)}}

/* مساعد قرار الاجتماع */
.md-list{display:flex;flex-direction:column;gap:7px}
.md-item{display:flex;align-items:center;gap:9px;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:9px 11px;cursor:pointer}
.md-item:hover{border-color:var(--teal)}
.md-ic{font-size:1.1rem;flex:0 0 auto}
.md-txt{flex:1;min-width:0}
.md-txt b{display:block;font-size:.88rem;font-weight:600;line-height:1.5}
.md-txt small{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:1px}
.md-act{flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 11px;font:inherit;font-size:.75rem;cursor:pointer;color:var(--teal-deep)}
.md-act:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.md-empty{font-size:.85rem;color:var(--ink-soft);text-align:center;padding:14px;line-height:1.8}
.md-opts{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.md-q{font-size:.85rem;font-weight:600;color:var(--teal-deep);margin-bottom:2px}
.md-opt{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px}
.md-opt>b{display:block;font-size:.9rem;margin-bottom:6px}
.md-pc{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}
.md-pc .pro{font-size:.78rem;color:#14603F}
.md-pc .con{font-size:.78rem;color:#7A5A12}

/* شريط القرار الجاري */
.mt-abar{position:fixed;bottom:74px;right:12px;left:12px;z-index:80;background:#123A3C;color:#fff;
  border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.5);font-size:.86rem;animation:mtIn .25s ease}
@keyframes mtIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mt-ab-t{flex:1;min-width:0;line-height:1.5}
.mt-ab-t b{font-weight:700}
.mt-abar button{background:#12A05F;color:#fff;border:0;border-radius:9px;padding:6px 13px;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;flex:0 0 auto}
.mt-abar button.x{background:rgba(255,255,255,.15);padding:6px 10px}
.mt-done{background:#EAF6F0;color:#14603F;border-radius:20px;padding:2px 9px;font-size:.7rem;font-weight:600;flex:0 0 auto}
@media print{.mt-abar{display:none}}

/* مرشد اختيار الإجازة */
.lv-guide{display:flex;gap:7px;flex-wrap:wrap}
.lv-g{background:var(--bg);border:1.5px solid var(--line);border-radius:20px;padding:7px 14px;font:inherit;font-size:.83rem;cursor:pointer;color:var(--ink)}
.lv-g:hover{border-color:var(--teal);background:#fff;color:var(--teal-deep)}
.lv-gout{background:#F1F8F4;border:1.5px solid #BFE0CD;border-radius:13px;padding:13px 15px;margin-top:11px}
.lv-gh{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.98rem;margin-bottom:7px}
.lv-gout p{font-size:.85rem;line-height:1.8;margin:0 0 6px}
.lv-gbal{color:var(--teal-deep);font-weight:600}
.lv-gdoc{background:#FFF9EC;border:1px solid #E9D9AE;border-radius:10px;padding:9px 11px;font-size:.83rem;line-height:1.75;margin:8px 0}
.lv-gdoc-s{font-size:.76rem;color:#7A6222;margin-top:3px}
.lv-gnext{font-size:.8rem;color:var(--ink-soft)}

/* بنود حرة في جدول الأعمال */
.md-addrow{display:flex;gap:7px;margin-top:9px}
.md-addrow input{flex:1;padding:8px 11px;border:1.5px dashed var(--line);border-radius:10px;font:inherit;font-size:.85rem}
.md-addrow input:focus{border-style:solid;border-color:var(--teal);outline:none}
.md-extra{display:flex;align-items:center;gap:8px;background:#F1F8F4;border:1px solid #BFE0CD;border-radius:10px;padding:7px 11px;margin-top:6px;font-size:.85rem}
.md-extra span{flex:1}
.md-extra button{background:none;border:0;color:#B84A3B;cursor:pointer;font-size:.8rem}

.lv-g.free{border-style:dashed;border-color:var(--teal);color:var(--teal-deep);font-weight:600}
.lv-g.free:hover{background:var(--teal);color:#fff}

/* معاينة الشاهد */
.evp-card{max-width:560px;width:96%;max-height:92vh;display:flex;flex-direction:column}
.evp-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.evp-head b{display:block;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:1rem;line-height:1.5}
.evp-head small{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:2px}
.evp-head .btn{margin-inline-start:auto;flex:0 0 auto}
.evp-stage{flex:1;overflow:auto;background:#E9E7E1;border-radius:12px;padding:12px;margin-bottom:11px}
.evp-stage .pf-page{margin:0 auto;box-shadow:0 6px 20px -10px rgba(0,0,0,.4)}
.evp-foot{display:flex;gap:8px;align-items:center}
.evp-foot .btn-primary{flex:1}
.evp-warn{background:#FDF6EA;border:1px solid #E9D9AE;border-radius:11px;padding:11px 13px;margin-bottom:10px;font-size:.85rem;color:#7A5A12;line-height:1.75}
.evp-warn ul{margin:5px 16px 4px 0;padding:0}
.evp-warn li{margin-bottom:2px}
.evp-warn span{display:block;margin-top:5px;font-size:.8rem}
.evp-ok{background:#F1F8F4;border:1px solid #BFE0CD;border-radius:11px;padding:10px 13px;margin-bottom:10px;font-size:.86rem;color:#14603F}

/* تحرير الشاهد */
.ev-edit-head{font-size:.78rem;color:var(--teal-deep);font-weight:600;margin-bottom:7px;padding-bottom:5px;border-bottom:1px dashed var(--line)}
.ev-img-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px}
.ev-img-btn{flex:1;min-width:130px;text-align:center;background:var(--bg);border:1.5px dashed var(--line);border-radius:9px;padding:8px 12px;font-size:.82rem;cursor:pointer;color:var(--teal-deep)}
.ev-img-btn:hover{border-color:var(--teal);border-style:solid}
.ev-img-del{background:#FBF0ED;border:1.5px solid #EDCFC7;border-radius:9px;padding:8px 12px;font:inherit;font-size:.82rem;color:#B84A3B;cursor:pointer}

/* محرك الشواهد */
.es-gap{background:#FDF6EA;border:1px solid #E9D9AE;border-radius:11px;padding:10px 13px;margin-bottom:10px;font-size:.86rem;color:#7A5A12;line-height:1.7}
.es-sug{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:13px 15px;margin-bottom:9px}
.es-sug.strong{border-color:#BFE0CD;background:#FAFDFB}
.es-h{font-size:.8rem;color:var(--teal-deep);font-weight:600;margin-bottom:6px}
.es-tag{background:var(--teal);color:#fff;border-radius:20px;padding:1px 8px;font-size:.68rem;margin-inline-start:4px}
.es-b>b{display:block;font-size:.94rem;line-height:1.55;margin-bottom:6px}
.es-meta{display:flex;flex-direction:column;gap:2px;font-size:.78rem;color:var(--ink-soft);line-height:1.65}
.es-meta b{color:var(--ink);font-weight:600}
.es-a{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.es-a .btn-primary{flex:1;min-width:130px}
.es-empty{text-align:center;color:var(--ink-soft);font-size:.86rem;padding:16px;line-height:1.8}
.es-more{text-align:center;font-size:.8rem;color:var(--ink-soft);padding:4px}
.es-covh{font-size:.82rem;font-weight:600;color:var(--ink-soft);margin:14px 0 8px;padding-top:11px;border-top:1px dashed var(--line)}
.es-cov{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:7px}
.es-cell{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;display:flex;align-items:flex-start;gap:7px;transition:border-color .16s}
.es-cell:hover{border-color:var(--teal)}
.es-cell span{flex:0 0 auto;font-size:.8rem}
.es-cell>div{flex:1;min-width:0}
.es-cell b{display:block;font-size:.78rem;font-weight:600;line-height:1.45}
.es-cell small{display:block;font-size:.68rem;color:var(--ink-soft);margin-top:2px}

/* رصد الإتقان */
.ms-head{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:11px}
.ms-head select{flex:1;min-width:190px;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:.88rem;background:#fff}
.ms-rounds{display:flex;gap:6px}
.ms-skill{margin-bottom:11px}
.ms-skill label{display:block;font-size:.8rem;color:var(--ink-soft);margin-bottom:5px}
.ms-skill input{width:100%;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:.86rem}
.ms-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.ms-s{background:var(--bg);border-radius:11px;padding:10px 6px;text-align:center}
.ms-s b{display:block;font-size:1.35rem;line-height:1.2}
.ms-s span{display:block;font-size:.7rem;color:var(--ink-soft);margin-top:2px}
.ms-s.ok b{color:#12A05F}.ms-s.near b{color:#B26A00}.ms-s.no b{color:#B84A3B}.ms-s.pct b{color:var(--teal-deep)}
.ms-gain{background:#F1F8F4;border:1px solid #BFE0CD;border-radius:11px;padding:10px 13px;margin-bottom:10px;font-size:.88rem;color:#14603F;line-height:1.7}
.ms-gain.down{background:#FBF0ED;border-color:#EDCFC7;color:#8A3524}
.ms-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#FDF6EA;border:1px solid #E9D9AE;border-radius:11px;padding:11px 13px;margin-bottom:11px;font-size:.87rem;color:#7A5A12}
.ms-act span{flex:1;min-width:170px}
.ms-grid{display:flex;flex-direction:column;gap:5px}
.ms-row{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px 11px}
.ms-n{flex:1;font-size:.87rem;min-width:0}
.ms-lv{display:flex;gap:5px;flex:0 0 auto}
.ms-b{width:34px;height:31px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer;font-size:.9rem;transition:.15s}
.ms-b:hover{border-color:var(--teal)}
.ms-foot{font-size:.78rem;color:var(--ink-soft);text-align:center;margin-top:9px}
.ms-empty{text-align:center;color:var(--ink-soft);font-size:.87rem;padding:18px;line-height:1.8}
@media(max-width:520px){.ms-stats{grid-template-columns:repeat(2,1fr)}}

/* دورة التدخّل */
.iv-card{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:9px}
.iv-card.done{border-color:#BFE0CD;background:#FAFDFB}
.iv-card.late{border-color:#EDCFC7;background:#FDF7F5}
.iv-h{display:flex;align-items:flex-start;gap:9px;margin-bottom:8px}
.iv-ic{font-size:1rem;flex:0 0 auto}
.iv-h>div{flex:1;min-width:0}
.iv-h b{display:block;font-size:.92rem;line-height:1.5}
.iv-h small{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:2px}
.iv-x{background:none;border:0;color:#B84A3B;cursor:pointer;font-size:.85rem;flex:0 0 auto}
.iv-names{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}
.iv-names span{background:var(--bg);border-radius:20px;padding:2px 10px;font-size:.74rem;color:var(--ink-soft)}
.iv-names .more{background:var(--teal);color:#fff}
.iv-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.iv-row select,.iv-row input{flex:1;min-width:115px;padding:7px 10px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.82rem;background:#fff}
.iv-measure{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.iv-measure input{flex:1;min-width:150px;padding:7px 10px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.82rem}
.iv-hint{flex:1;min-width:170px;font-size:.77rem;color:var(--teal-deep);background:#F1F8F4;border-radius:8px;padding:6px 10px}
.iv-res{background:#F1F8F4;border:1px solid #BFE0CD;border-radius:10px;padding:9px 12px;font-size:.87rem;color:#14603F;line-height:1.7}
.iv-res.down{background:#FBF0ED;border-color:#EDCFC7;color:#8A3524}
.iv-res small{display:block;font-size:.73rem;opacity:.8;margin-top:2px}
.iv-empty{text-align:center;color:var(--ink-soft);font-size:.86rem;padding:16px;line-height:1.8}

/* بطاقة اقتراح الشاهد */
.evp-card{background:#F1F8F4;border:1.5px solid #BFE0CD;border-radius:14px;padding:13px 15px;margin-top:10px}
.evp-h{font-size:.85rem;color:var(--teal-deep);font-weight:700;margin-bottom:7px}
.evp-t b{display:block;font-size:.95rem;line-height:1.55;margin-bottom:7px}
.evp-m{display:flex;flex-direction:column;gap:2px;font-size:.79rem;color:var(--ink-soft);line-height:1.65;margin-bottom:9px}
.evp-m b{color:var(--ink)}
.evp-alt{margin-bottom:10px}
.evp-alt label{display:block;font-size:.76rem;color:var(--ink-soft);margin-bottom:4px}
.evp-alt select{width:100%;padding:8px 11px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.84rem;background:#fff}
.evp-act{display:flex;gap:8px;flex-wrap:wrap}
.evp-act .btn-primary{flex:1;min-width:135px}

/* تقويم ما بعد الحصة */
.pl-bar{background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;margin:10px 0}
.pl-q{font-size:.84rem;font-weight:600;margin-bottom:8px}
.pl-opts{display:flex;gap:6px;flex-wrap:wrap}
.pl-o{background:#fff;border:1.5px solid var(--line);border-radius:9px;padding:7px 12px;font:inherit;font-size:.8rem;cursor:pointer;transition:.15s}
.pl-o:hover{border-color:var(--teal)}
.pl-hint{font-size:.77rem;color:var(--ink-soft);margin-top:7px;line-height:1.6}
.pl-weak{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
.pl-names{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.pl-names span{background:#FDF6EA;border:1px solid #E9D9AE;border-radius:20px;padding:2px 10px;font-size:.75rem;color:#7A5A12}
.pl-none{font-size:.78rem;color:var(--ink-soft);display:block;margin-bottom:8px}
.pl-acts{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.pl-ok{font-size:.78rem;color:var(--teal-deep)}
.pl-s{display:flex;align-items:center;gap:9px;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:8px 11px;cursor:pointer;font-size:.87rem}
.pl-s.on,.pl-s:has(input:checked){border-color:var(--teal);background:#F1F8F4}

/* خطوات القياس */
.ms-steps{display:flex;flex-direction:column;gap:6px;margin-bottom:11px}
.ms-st{display:flex;align-items:center;gap:10px;border:1.5px solid var(--line);border-radius:11px;padding:9px 12px;background:#fff}
.ms-st>span{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:.78rem;font-weight:700;color:var(--ink-soft)}
.ms-st>div{flex:1;min-width:0}
.ms-st b{display:block;font-size:.87rem;line-height:1.5}
.ms-st small{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:1px}
.ms-st button{flex:0 0 auto;background:var(--teal);color:#fff;border:0;border-radius:8px;padding:5px 12px;font:inherit;font-size:.76rem;cursor:pointer}
.ms-st.now{border-color:var(--teal);background:#F6FBF9}
.ms-st.now>span{background:var(--teal);color:#fff}
.ms-st.done{border-color:#BFE0CD;background:#FAFDFB}
.ms-st.done>span{background:#12A05F;color:#fff}
.ms-st.wait{opacity:.6}
.ms-g1{font-size:.8rem;font-weight:700;margin-bottom:3px}

/* لماذا التحضير هنا */
.prep-why{background:#F4F9F7;border:1.5px solid #CFE3DA;border-radius:16px;padding:15px 16px;margin-bottom:16px}
.pw-h{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:1rem;color:var(--teal-deep);margin-bottom:11px}
.pw-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:11px}
.pw-g>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 12px}
.pw-g span{font-size:1.2rem;display:block;margin-bottom:4px}
.pw-g b{display:block;font-size:.88rem;margin-bottom:3px}
.pw-g small{display:block;font-size:.77rem;color:var(--ink-soft);line-height:1.65}
.pw-f{background:#FFF9EC;border:1px solid #E9D9AE;border-radius:11px;padding:10px 12px;font-size:.84rem;color:#7A5A12;line-height:1.7}
@media(max-width:640px){.pw-g{grid-template-columns:1fr}}

/* اختيار الدرس عند إضافة شاهد */
.pe-pick{background:#F4F9F7;border:1.5px solid #CFE3DA;border-radius:14px;padding:13px 15px;margin:10px 0}
.pe-h{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.96rem;color:var(--teal-deep);margin-bottom:9px}
.pe-i{display:block;width:100%;text-align:right;background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:9px 12px;margin-bottom:6px;font:inherit;cursor:pointer;transition:.15s}
.pe-i:hover:not(:disabled){border-color:var(--teal)}
.pe-i b{display:block;font-size:.88rem;line-height:1.5}
.pe-i small{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:2px}
.pe-i.done{opacity:.6;cursor:default;border-style:dashed}
.pe-all{width:100%;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:9px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;margin-top:3px}
.pe-all:hover{background:var(--teal-deep)}
.pe-x{width:100%;background:none;border:0;color:var(--ink-soft);font:inherit;font-size:.8rem;cursor:pointer;padding:7px}

/* معاينة شاهد التحضير */
.pe-prev{background:#fff;border:1.5px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:10px}
.pe-band{display:flex;align-items:stretch;background:#123A3C;color:#fff;min-height:46px;border-top:4px solid var(--teal)}
.pe-band span{flex:0 0 34%;display:flex;align-items:center;padding:8px 12px;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.82rem;line-height:1.4}
.pe-band i{flex:0 0 10px;background:var(--teal);transform:skewX(-13deg)}
.pe-band em{flex:1;display:flex;align-items:center;padding:8px 12px;font-style:normal;font-size:.75rem;color:#EAF3F0;line-height:1.5}
.pe-body{padding:12px 14px}
.pe-body b{display:block;font-size:.88rem;margin-bottom:5px}
.pe-body small{display:block;font-size:.76rem;color:var(--ink-soft);line-height:1.7}
.pe-alt{margin-bottom:10px}
.pe-alt label{display:block;font-size:.77rem;color:var(--ink-soft);margin-bottom:4px}
.pe-alt select{width:100%;padding:8px 11px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.84rem;background:#fff}

.pe-warn{background:#FDF6EA;border:1px solid #E9D9AE;border-radius:10px;padding:9px 12px;font-size:.83rem;color:#7A5A12;line-height:1.7;margin-bottom:10px}
.pe-re{width:100%;background:#fff;border:1.5px solid #EDCFC7;color:#B84A3B;border-radius:10px;padding:9px;font:inherit;font-size:.84rem;font-weight:600;cursor:pointer;margin-top:6px}
.pe-re:hover{background:#FBF0ED}
.pe-i.done{opacity:1;border-style:dashed;border-color:#BFE0CD;background:#FAFDFB}

/* تبويبا المعاينة والملاحظات */
.evp-tabs{display:flex;gap:6px;margin-bottom:10px;flex:0 0 auto}
.evp-tab{flex:1;background:var(--bg);border:1.5px solid var(--line);border-radius:11px;padding:9px 10px;
  font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--ink-soft);
  display:flex;align-items:center;justify-content:center;gap:6px;transition:.16s}
.evp-tab:hover{border-color:var(--teal)}
.evp-tab.sel{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff}
.evp-badge{background:#B84A3B;color:#fff;border-radius:20px;min-width:18px;height:18px;
  display:inline-grid;place-items:center;font-size:.68rem;padding:0 5px}
.evp-badge.ok{background:#12A05F}
.evp-tab.sel .evp-badge{background:#fff;color:#B84A3B}
.evp-tab.sel .evp-badge.ok{background:#fff;color:#12A05F}
.evp-scroll{flex:1;overflow:auto;margin-bottom:11px;min-height:0}
.evp-scroll .evp-stage{margin-bottom:0;overflow:visible}
.evp-fields{display:grid;gap:6px;margin-top:11px}
.evp-f{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.evp-f span{display:block;font-size:.72rem;color:var(--ink-soft);margin-bottom:2px}
.evp-f b{display:block;font-size:.86rem;line-height:1.6;font-weight:600}
.evp-f.bad{border-color:#EDCFC7;background:#FDF7F5}
.evp-f.bad b{color:#B84A3B;font-weight:500}

/* المقترح والاعتماد */
.evp-sug{background:#F1F6FB;border:1px solid #CDDDEC;border-radius:11px;padding:11px 13px;margin-bottom:10px;font-size:.85rem;color:#1F4E7A;line-height:1.75}
.evp-sug ul{margin:6px 16px 0 0;padding:0}
.evp-sug li{margin-bottom:4px}
.evp-approve{background:#F4F9F7;border:1.5px solid #CFE3DA;border-radius:12px;padding:12px 14px;margin-bottom:11px}
.evp-approve b{display:block;font-size:.9rem;margin-bottom:3px}
.evp-approve span{display:block;font-size:.79rem;color:var(--ink-soft);line-height:1.7;margin-bottom:9px}
.evp-okbtn{width:100%;background:var(--teal);color:#fff;border:0;border-radius:10px;padding:9px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}
.evp-okbtn:hover{background:var(--teal-deep)}
.evp-unok{width:100%;background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);border-radius:10px;padding:8px;font:inherit;font-size:.82rem;cursor:pointer;margin-bottom:11px}
.evp-unok:hover{border-color:var(--teal)}
.evp-badge.sug{background:#3F7CB8}
.evp-tab.sel .evp-badge.sug{background:#fff;color:#3F7CB8}
.evp-f em{font-style:normal;opacity:.7;font-size:.92em}

/* بعد الاعتماد */
.evp-done{text-align:center;background:#F1F8F4;border:1.5px solid #BFE0CD;border-radius:14px;padding:20px 16px}
.evp-done-ic{font-size:2.1rem;line-height:1;margin-bottom:8px}
.evp-done b{display:block;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:1.05rem;color:#14603F;margin-bottom:5px}
.evp-done span{display:block;font-size:.85rem;color:var(--ink-soft);line-height:1.7;margin-bottom:6px}
.evp-done small{display:block;font-size:.79rem;color:var(--teal-deep);margin-bottom:13px}
.evp-done-a{display:flex;flex-direction:column;gap:7px}
.evp-done-a .evp-unok{margin-bottom:0}

/* شريط الاعتماد */
.evp-approve-bar{flex:0 0 auto;margin-bottom:9px}
.eab{display:flex;align-items:center;gap:9px;background:#FDF6EA;border:1.5px solid #E9D9AE;border-radius:11px;padding:9px 12px;flex-wrap:wrap}
.eab.ok{background:#F1F8F4;border-color:#BFE0CD}
.eab span{flex:1;min-width:120px;font-size:.83rem;color:#7A5A12;font-weight:600}
.eab.ok span{color:#14603F}
.eab button{flex:0 0 auto;background:#fff;border:1.5px solid var(--line);border-radius:9px;padding:6px 13px;font:inherit;font-size:.8rem;cursor:pointer;color:var(--ink-soft)}
.eab button.go{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}
.eab button.go:hover{background:var(--teal-deep)}
.eab button:hover{border-color:var(--teal)}

/* سجل <span class="gw" data-gm="الطالب" data-gf="الطالبة">الطالب</span> الموحّد */
.sr-cell{display:flex;gap:5px;align-items:center}
.sr-cell input{flex:1;min-width:0}
.sr-btn{flex:0 0 auto;width:28px;height:28px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer;font-size:.85rem}
.sr-btn:hover{border-color:var(--teal);background:#fff}
.sr-card{max-width:560px;width:96%;max-height:92vh;display:flex;flex-direction:column}
.sr-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:11px;flex:0 0 auto}
.sr-head b{display:block;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:1.1rem}
.sr-head small{display:block;font-size:.77rem;color:var(--ink-soft);margin-top:2px}
.sr-head .btn{margin-inline-start:auto;flex:0 0 auto}
.sr-scroll{flex:1;overflow:auto;min-height:0}
.sr-status{display:flex;gap:11px;align-items:flex-start;border:1.5px solid;border-radius:13px;padding:12px 14px;margin-bottom:13px}
.sr-st-ic{font-size:1.3rem;flex:0 0 auto}
.sr-status b{display:block;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:1rem;margin-bottom:2px}
.sr-status small{display:block;font-size:.82rem;color:var(--ink-soft);line-height:1.7}
.sr-sec{margin-bottom:13px}
.sr-h{font-size:.85rem;font-weight:700;color:var(--teal-deep);margin-bottom:7px}
.sr-grades{display:flex;flex-direction:column;gap:7px}
.sr-g{background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 12px}
.sr-g>span{font-size:.78rem;color:var(--ink-soft)}
.sr-g>b{float:left;font-size:1.05rem}
.sr-g>b small{font-size:.72rem;color:var(--ink-soft);font-weight:400}
.sr-gbar{height:6px;background:var(--bg);border-radius:20px;overflow:hidden;margin:6px 0 4px;clear:both}
.sr-gbar i{display:block;height:100%;border-radius:20px}
.sr-gp{display:block;font-size:.71rem;color:var(--ink-soft)}
.sr-trend{margin-top:7px;font-size:.83rem;font-weight:600;padding:6px 11px;border-radius:9px;display:inline-block}
.sr-trend.up{background:#F1F8F4;color:#14603F}
.sr-trend.down{background:#FBF0ED;color:#8A3524}
.sr-trend.flat{background:var(--bg);color:var(--ink-soft)}
.sr-skills,.sr-ivs,.sr-cts{display:flex;flex-direction:column;gap:6px}
.sr-sk,.sr-iv,.sr-ct{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 11px}
.sr-sk b,.sr-iv b,.sr-ct b{display:block;font-size:.85rem;line-height:1.5}
.sr-sk span,.sr-iv span,.sr-ct span{display:block;font-size:.76rem;color:var(--ink-soft);margin-top:2px}
.sr-iv.done{border-color:#BFE0CD;background:#FAFDFB}
.sr-chips{display:flex;gap:5px;flex-wrap:wrap}
.sr-chips.warn span{background:#FDF6EA;border:1px solid #E9D9AE;border-radius:20px;padding:3px 11px;font-size:.77rem;color:#7A5A12}
.sr-abs{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:.85rem}
.sr-abs b{font-size:1.1rem;color:#B26A00}
.sr-more{font-size:.77rem;color:var(--ink-soft);text-align:center;padding:3px}
.sr-empty{text-align:center;color:var(--ink-soft);font-size:.86rem;padding:18px;line-height:1.8}
.sr-acts{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.sr-acts .btn{flex:1;min-width:135px}

/* الحصة القادمة */
.pl-next{margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
.pl-next label{display:block;font-size:.79rem;color:var(--ink-soft);margin-bottom:5px}
.pl-next input{width:100%;padding:8px 11px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.84rem}
.pl-prev{background:#EEF4FB;border:1.5px solid #C6D9EE;border-radius:13px;padding:12px 14px;margin-bottom:14px}
.pl-prev>b{display:block;font-size:.87rem;color:#1A4A78;margin-bottom:7px}
.pl-prev>div{background:#fff;border-radius:9px;padding:8px 11px;margin-bottom:5px;font-size:.83rem;line-height:1.7}
.pl-prev span{display:block;font-size:.74rem;color:var(--ink-soft);margin-bottom:2px}

/* ترويسة المستند — عمودان رسميان */
.moe{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  border-bottom:2.5px solid var(--teal);padding-bottom:12px;margin-bottom:18px}
.moe-r,.moe-l{flex:1 1 0;min-width:0;font-size:.8rem;color:var(--ink-soft);line-height:1.5}
.moe-r{text-align:right;font-size:.86rem;line-height:1.42;flex:1 1 0;min-width:0;margin-top:-2px}
.moe-l{text-align:left}
.moe-r div:first-child,.moe-r div:nth-child(2){color:var(--ink);font-weight:600}
.moe-c{flex:0 0 auto;width:auto;min-width:96px;max-width:190px;display:grid;place-items:center}
/* العمود كان بعرض ثابت ٥٦px والشعارات تفيض منه فوق عمود الصف/الفصل */
.moe-c img{max-width:118px;max-height:96px;object-fit:contain}
.moe-c .crest{width:52px;height:52px;border-radius:50%;background:var(--teal-light);
  display:grid;place-items:center;font-size:24px}
/* كانت الترويسة تصغر على الشاشة الضيّقة، فتخرج وثيقةُ الجوّال بمقاسات
   غير وثيقة الكمبيوتر — والوثيقة واحدة أينما طُبعت. المقاس ثابت الآن،
   ولا يبقى للشاشة إلا تقارب الأعمدة. */
@media(max-width:480px){.moe{gap:8px}}




.mm-sec{font-size:.74rem;color:var(--ink-soft);font-weight:600;margin:6px 0 -2px;padding-top:6px;border-top:1px solid var(--line)}
.mm-sec:first-of-type{border-top:0;padding-top:0}

/* بطاقة التقويم الدراسي */
.tc-card{background:#F4F9F7;border:1.5px solid #CFE3DA;border-radius:14px;padding:13px 15px;margin-bottom:14px}
.tc-h{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.96rem;color:var(--teal-deep);margin-bottom:9px}
.tc-row{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:8px 11px;margin-bottom:6px;flex-wrap:wrap}
.tc-row.on{border-color:var(--teal);background:#FAFDFB}
.tc-row b{flex:0 0 auto;font-size:.86rem}
.tc-row span{flex:1;min-width:150px;font-size:.79rem;color:var(--ink-soft)}
.tc-row em{flex:0 0 auto;font-style:normal;background:var(--teal);color:#fff;border-radius:20px;
  padding:2px 10px;font-size:.7rem;font-weight:600}
.tc-f{font-size:.78rem;color:var(--ink-soft);line-height:1.75;margin-top:9px;padding-top:9px;border-top:1px dashed var(--line)}
.tc-f b{color:var(--ink)}
.tc-f button{display:block;margin-top:7px;background:#fff;border:1.5px solid var(--line);border-radius:9px;
  padding:6px 13px;font:inherit;font-size:.79rem;cursor:pointer;color:var(--teal-deep)}
.tc-f button:hover{border-color:var(--teal)}

.wk-hint{font-size:.77rem;color:var(--ink-soft);margin-top:6px;line-height:1.7}
.wk-hint b{color:var(--teal-deep)}
.wk-hint button{background:none;border:0;color:var(--teal);font:inherit;font-size:.77rem;
  text-decoration:underline;cursor:pointer;padding:0}
.picker .chip.cal{border-color:var(--teal)}

/* جدول المواصفات */
.bp-box{background:#F4F9F7;border:1.5px solid #CFE3DA;border-radius:14px;padding:14px 15px;margin:14px 0}
.bp-h{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.98rem;color:var(--teal-deep);margin-bottom:11px}
.bp-h span{font-size:.79rem;color:var(--ink-soft);font-family:inherit}
.bp-total{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.bp-total label{font-size:.85rem;font-weight:600}
.bp-total input{width:80px;padding:7px 10px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.88rem;text-align:center}
.bp-total button{background:#fff;border:1.5px solid var(--line);border-radius:9px;padding:7px 13px;font:inherit;font-size:.8rem;cursor:pointer;color:var(--teal-deep)}
.bp-total button:hover{border-color:var(--teal)}
.bp-sec{font-size:.82rem;font-weight:600;color:var(--ink-soft);margin:11px 0 7px}
.bp-sec small{font-weight:400}
.bp-types,.bp-axes{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:7px}
.bp-t,.bp-a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.bp-t span,.bp-a span{display:block;font-size:.78rem;color:var(--ink-soft);margin-bottom:4px}
.bp-t input,.bp-a input{width:100%;padding:6px 9px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.85rem;text-align:center}
.bp-t small,.bp-a small{display:block;font-size:.71rem;color:var(--ink-soft);margin-top:3px;text-align:center}
.bp-check{border-radius:10px;padding:9px 12px;font-size:.84rem;line-height:1.7;margin:9px 0}
.bp-check.ok{background:#F1F8F4;border:1px solid #BFE0CD;color:#14603F}
.bp-check.less{background:#FDF6EA;border:1px solid #E9D9AE;color:#7A5A12}
.bp-check.over{background:#FBF0ED;border:1px solid #EDCFC7;color:#8A3524}
.bp-skill{margin-top:11px;padding-top:11px;border-top:1px dashed var(--line)}
.bp-skill label{display:block;font-size:.82rem;font-weight:600;margin-bottom:5px}
.bp-skill label small{font-weight:400;color:var(--ink-soft)}
.bp-skill select{width:100%;padding:8px 11px;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.85rem;background:#fff}

/* ملخص الاختبار */
.ex-sum{background:#F4F9F7;border:1.5px solid #CFE3DA;border-radius:12px;padding:11px 14px;margin-bottom:11px;
  display:flex;flex-direction:column;gap:3px}
.ex-sum.ok{border-color:#BFE0CD}
.ex-sum>b{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.92rem;color:var(--teal-deep);margin-bottom:3px}
.ex-sum span{font-size:.84rem;color:var(--ink)}
.ex-sum em{font-style:normal;font-size:.8rem;color:#7A5A12;background:#FDF6EA;border-radius:8px;padding:4px 9px;margin-top:4px;align-self:flex-start}
.ex-sum small{font-size:.78rem;color:var(--ink-soft);margin-top:2px}

.ex-link{background:var(--teal);color:#fff;border:0;border-radius:9px;padding:7px 14px;font:inherit;
  font-size:.82rem;font-weight:600;cursor:pointer;margin-top:8px;align-self:flex-start}
.ex-link:hover{background:var(--teal-deep)}

/* نوع الاختبار وأوزان الدروس */
.ex-kind{background:#F4F9F7;border:1.5px solid #CFE3DA;border-radius:13px;padding:12px 14px;margin:14px 0}
.ek-h{font-size:.85rem;font-weight:600;margin-bottom:7px}
.ek-note{font-size:.8rem;color:var(--ink-soft);line-height:1.7;margin-top:8px}
.lw-box:not(:empty){background:#FFF9EC;border:1.5px solid #E9D9AE;border-radius:13px;padding:12px 14px;margin:14px 0}
.lw-h{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.93rem;color:#7A5A12;margin-bottom:9px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.lw-h button{margin-inline-start:auto;background:#fff;border:1.5px solid #E9D9AE;border-radius:9px;padding:5px 12px;font:inherit;font-size:.78rem;cursor:pointer;color:#7A5A12}
.lw-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:7px;margin-bottom:8px}
.lw-i{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.lw-i span{display:block;font-size:.79rem;margin-bottom:4px;line-height:1.5}
.lw-i input{width:100%;padding:6px 9px;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.85rem;text-align:center}
.lw-i small{display:block;font-size:.71rem;color:var(--ink-soft);margin-top:3px;text-align:center}
.ex-tools{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:9px}
/* التشخيص والأسئلة المحفوظة */
.dg-box{background:#F1F6FB;border:1.5px solid #C6D9EE;border-radius:13px;padding:13px 15px;margin-top:11px}
.dg-box>b{display:block;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.95rem;color:#1A4A78;margin-bottom:9px}
.dg-i{display:flex;justify-content:space-between;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:8px 11px;margin-bottom:6px;flex-wrap:wrap}
.dg-i span{font-size:.85rem}
.dg-i small{font-size:.77rem;color:var(--ink-soft)}
.dg-box p{font-size:.8rem;color:#2E5A85;line-height:1.75;margin:8px 0}
.sq-box{background:#fff;border:1.5px solid var(--line);border-radius:13px;padding:13px 15px;margin-top:11px}
.sq-h{display:flex;align-items:center;gap:9px;font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.93rem;margin-bottom:9px;flex-wrap:wrap}
.sq-h span{font-size:.78rem;color:var(--ink-soft);font-family:inherit}
.sq-h button{margin-inline-start:auto;background:none;border:0;color:var(--ink-soft);font:inherit;font-size:.8rem;cursor:pointer}
.sq-i{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:10px;padding:8px 11px;margin-bottom:6px}
.sq-i>div{flex:1;min-width:0}
.sq-i b{display:block;font-size:.83rem;line-height:1.5}
.sq-i small{display:block;font-size:.74rem;color:var(--ink-soft);margin-top:2px}
.sq-x{background:none;border:0;color:#B84A3B;cursor:pointer;font-size:.85rem}

/* خيارات أسئلة الاختيار */
.doc .opts{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;margin-top:8px}
.doc .opt{display:flex;align-items:flex-start;gap:7px;font-size:.85rem;line-height:1.7}
.doc .opt b{flex:0 0 auto;min-width:20px;height:20px;border:1.5px solid var(--teal);border-radius:50%;
  display:inline-grid;place-items:center;font-size:.72rem;font-weight:700;color:var(--teal-deep);
  font-family:'IBM Plex Sans Arabic',sans-serif}
@media(max-width:520px){.doc .opts{grid-template-columns:1fr}}
@media print{.doc .opts{grid-template-columns:1fr 1fr}
  .doc .opt b{border-color:#333;color:#000;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* أمثلة جدول المواصفات */
.bp-eg{display:block;font-style:normal;font-size:.68rem;color:var(--ink-soft);line-height:1.6;
  margin-top:4px;padding-top:4px;border-top:1px dashed var(--line);opacity:.85}

/* عرض الورقة والإجابة معًا */
.doc.doc-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.doc-split .ds-col{min-width:0}
.doc-split .ds-h{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:.88rem;color:var(--teal-deep);
  background:var(--bg);border-radius:9px;padding:7px 12px;margin-bottom:12px;text-align:center}
/* حتى الوثيقة المقسومة تحمل الترويسة نفسها بمقاسها */
.doc-split .doc-title{font-size:1.05rem}
.doc-split table{font-size:.76rem}
.doc-split .opts{grid-template-columns:1fr;gap:4px}
@media(max-width:820px){.doc.doc-split{grid-template-columns:1fr}}
@media print{.doc.doc-split{grid-template-columns:1fr}
  .doc-split .ds-col:first-child{page-break-after:always}}

/* محرر خيارات الاختيار من متعدد — صفوف مضغوطة */
.opt-rows{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.opt-row{display:flex;align-items:center;gap:7px;padding:3px 0;cursor:pointer;min-width:0}
.opt-row input[type=radio]{flex:0 0 auto;width:18px;height:18px;accent-color:var(--teal);margin:0;cursor:pointer}
.opt-l{flex:0 0 auto;width:20px;text-align:center;font-size:.78rem;font-weight:700;color:var(--ink-soft)}
.opt-row.on .opt-l{color:var(--teal-deep)}
.opt-t{flex:1;min-width:0;padding:7px 10px;border:1.5px solid var(--line);border-radius:9px;
  font:inherit;font-size:.86rem;background:#fff}
.opt-row.on .opt-t{border-color:var(--teal);background:#F4F9F7}
.opt-t:focus{border-color:var(--teal);outline:none}
.opt-x{flex:0 0 auto;background:none;border:0;cursor:pointer;font-size:.82rem;padding:2px 4px;opacity:.55}
.opt-x:hover{opacity:1}
.q-text{min-height:52px;resize:vertical;overflow:hidden}

/* أزواج المزاوجة — متراصّة على الجوال */
.pair-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.pair-row{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:nowrap}
.pair-n{flex:0 0 auto;width:20px;height:20px;border-radius:50%;background:var(--bg);color:var(--ink-soft);
  display:grid;place-items:center;font-size:.7rem;font-weight:700}
.pair-a,.pair-b{flex:1;min-width:0;padding:7px 10px;border:1.5px solid var(--line);border-radius:9px;
  font:inherit;font-size:.85rem;word-break:break-word}
.pair-a{flex:0 0 45%}
.pair-b{flex:1}
.pair-eq{flex:0 0 auto;color:var(--teal);font-size:.85rem}
.pair-x{flex:0 0 auto;background:none;border:0;cursor:pointer;font-size:.82rem;padding:2px 4px;opacity:.55}
.pair-x:hover{opacity:1}
@media(max-width:520px){
  .pair-row{flex-wrap:wrap;background:var(--bg);border-radius:10px;padding:7px 9px;gap:5px}
  .pair-n{order:1}
  .pair-a{order:2;flex:1 1 auto;min-width:0}
  .pair-x{order:3;margin-inline-start:auto}
  .pair-eq{order:4;flex:0 0 20px;text-align:center;transform:rotate(90deg)}
  .pair-b{order:5;flex:1 1 100%}
}
@media(max-width:480px){
  .opt-row{gap:6px}
  .opt-l{width:16px;font-size:.74rem}
  .opt-t{font-size:.84rem;padding:6px 9px}
}
}

/* تذكير النسخة الاحتياطية */
.bk-card{border-color:#C6D9EE!important;background:#F1F6FB}
.bk-t{margin-top:3px;color:var(--ink-soft);font-size:.86rem;line-height:1.75}
.bk-a{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}

.pf-card{border-color:#CFE3DA!important;background:#F4F9F7}

.pf-stamp-opt{display:flex;align-items:center;gap:8px;margin-top:9px;padding-top:9px;
  border-top:1px dashed var(--line);font-size:.82rem;color:var(--ink-soft);cursor:pointer}
.pf-stamp-opt input{width:17px;height:17px;accent-color:var(--teal);cursor:pointer}
.pf-cover-stamp{margin-top:5cqw;font-size:2.6cqw;color:rgba(255,255,255,.72)}

/* تذييل التطبيق — روابط نظامية */
/* تذييل التطبيق — روابط نظامية */
.app-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);text-align:center}
.af-links{display:flex;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}
.af-links a{font-size:.79rem;color:var(--ink-soft);text-decoration:none;padding:9px 4px;display:inline-block}
.af-links a:hover{color:var(--teal-deep);text-decoration:underline}
.af-links i{font-style:normal;color:var(--line);font-size:.7rem}
.af-org{font-size:.73rem;color:var(--ink-soft);line-height:1.85;margin-top:9px;opacity:.85}
.af-org b{color:var(--ink)}

/* ===== الوثائق النظامية داخل التطبيق ===== */
.lgl-overlay{display:none;position:fixed;inset:0;background:var(--paper);z-index:210;flex-direction:column}
.lgl-overlay.on{display:flex}
.lgl-top{background:var(--teal-deep);flex-shrink:0}
.lgl-top .in{max-width:820px;margin:0 auto;padding:16px 22px;display:flex;align-items:center;gap:16px}
.lgl-brand{font-family:'IBM Plex Sans Arabic',sans-serif;font-size:1.2rem;color:#fff;background:none;border:none;padding:0;cursor:pointer;font-weight:600}
.lgl-back{margin-inline-start:auto;color:rgba(255,255,255,.75);font-size:.86rem;background:none;border:none;font-family:inherit;cursor:pointer;font-weight:500;padding:0}
.lgl-back:hover,.lgl-brand:hover{color:#fff}
.lgl-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.lgl-body{max-width:820px;margin:0 auto;padding:46px 24px 60px;line-height:2}
.lgl-body h1{font-size:2rem;line-height:1.35;color:var(--teal-deep);margin-bottom:12px}
.lgl-body h2{font-size:1.22rem;line-height:1.5;color:var(--teal-deep)}
.lgl-body h3{font-size:1rem;font-weight:600;margin:20px 0 7px;color:var(--teal)}
.lgl-body p{margin-bottom:14px;max-width:68ch}
.lgl-body ul,.lgl-body ol{margin:0 22px 15px 0;max-width:68ch}
.lgl-body li{margin-bottom:9px}
.lgl-body b,.lgl-body strong{color:var(--teal-deep);font-weight:600}
.lgl-body section{margin-bottom:40px}
.lgl-body .lg-num{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}
.lgl-body .lg-num b{font-size:.8rem;color:var(--teal);font-weight:700}
.lgl-body .lg-upd{font-size:.82rem;color:#8A9499;margin-bottom:30px}
.lgl-body .lg-rule{height:3px;background:var(--teal-deep);border-radius:2px;margin-bottom:34px}
.lgl-body .lg-lede{font-size:1.08rem;margin-bottom:40px;max-width:64ch}
.lgl-body .lg-eyebrow{font-size:.78rem;letter-spacing:.15em;color:var(--teal);margin-bottom:12px;font-weight:700}
.lgl-body .lg-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 24px;margin:20px 0}
.lgl-body .lg-box.lg-warn{border-color:#E4D6B8;background:#FDFAF2}
.lgl-body .lg-box.lg-stop{border-color:#E0C4BC;background:#FDF6F4}
.lgl-body .lg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin:24px 0}
.lgl-body .lg-ccard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 24px}
.lgl-body .lg-ccard .lg-lbl{font-size:.84rem;color:var(--teal);font-weight:700;margin-bottom:7px}
.lgl-body .lg-ccard .lg-val{font-size:1.18rem;font-weight:700;color:var(--teal);line-height:1.5;margin-bottom:7px;word-break:break-word}
.lgl-body .lg-ltr{direction:ltr;display:inline-block;unicode-bidi:isolate}
.lgl-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.92rem}
.lgl-body th,.lgl-body td{border:1px solid var(--line);padding:10px 12px;text-align:right;vertical-align:top}
.lgl-body th{background:var(--teal-light);color:var(--teal-deep);font-weight:700}
.lgl-nav{border-top:1px solid var(--line);margin-top:44px;padding-top:22px;display:flex;flex-wrap:wrap;gap:8px 18px}
.lgl-nav button{background:none;border:none;font-family:inherit;color:var(--teal);font-weight:600;font-size:.86rem;cursor:pointer;padding:0}
.lgl-org{margin-top:18px;font-size:.78rem;color:var(--ink-soft);line-height:1.9}
@media(max-width:640px){
  .lgl-top .in{padding:13px 16px;gap:10px}
  .lgl-brand{font-size:1.05rem}
  .lgl-back{font-size:.78rem}
  .lgl-body{padding:30px 18px 50px}
  .lgl-body h1{font-size:1.5rem}
  .lgl-body h2{font-size:1.1rem}
}


/* ===== 🛡️ النسخة المُجرَّدة للتحكيم ===== */
.anon-overlay{display:none;position:fixed;inset:0;background:var(--paper);z-index:215;flex-direction:column}
.anon-overlay.on{display:flex}
.anon-top{background:var(--teal-deep);flex-shrink:0}
.anon-top .in{max-width:760px;margin:0 auto;padding:15px 20px;display:flex;align-items:center;gap:12px}
.anon-top h3{color:#fff;font-size:1.05rem;font-weight:600;flex:1}
.anon-x{background:rgba(255,255,255,.14);color:#fff;width:34px;height:34px;border-radius:50%;font-size:1rem;border:none;flex-shrink:0}
.anon-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
#anon-body{max-width:760px;margin:0 auto;padding:26px 20px 50px}
.anon-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}
.anon-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 10px;text-align:center}
.anon-stat b{display:block;font-size:1.7rem;color:var(--teal-deep);line-height:1.2}
.anon-stat span{font-size:.74rem;color:var(--ink-soft);line-height:1.5;display:block;margin-top:4px}
.anon-stat.warn{border-color:#E0C4BC;background:#FDF6F4}
.anon-stat.warn b{color:#973232}
.anon-note{background:#FDFAF2;border:1px solid #E4D6B8;border-radius:14px;padding:14px 16px;margin:16px 0;font-size:.88rem;line-height:1.85}
.anon-note.stop{background:#FDF6F4;border-color:#E0C4BC}
.anon-h{font-size:1rem;color:var(--teal-deep);margin:26px 0 6px;font-weight:700}
.anon-p{font-size:.85rem;color:var(--ink-soft);margin-bottom:12px;line-height:1.8}
.anon-sus{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:9px}
.anon-sus label{display:flex;align-items:center;gap:8px;font-size:.92rem;cursor:pointer}
.anon-sus input{width:17px;height:17px;flex-shrink:0}
.anon-cnt{font-size:.74rem;color:var(--ink-soft);margin-inline-start:auto}
.anon-ctx{font-size:.78rem;color:var(--ink-soft);background:var(--paper);border-radius:9px;padding:7px 10px;margin-top:8px;line-height:1.7}
.anon-acts{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.anon-acts .btn{width:100%;justify-content:center}
.anon-mark{text-align:center;font-size:.8rem;color:#9AA5A0;border:1px dashed #C9D2CE;border-radius:9px;padding:7px;margin-bottom:16px}
.anon-foot{margin-top:22px;padding-top:12px;border-top:1px solid var(--line);font-size:.72rem;color:#8A9499;text-align:center}
#anon-wrap{display:none}
body.anon-printing .main,body.anon-printing .bottom-nav,body.anon-printing .anon-overlay{display:none!important}
body.anon-printing #anon-wrap{display:block!important}
@media print{body.anon-printing #anon-wrap{display:block!important}}
@media(max-width:640px){.anon-sum{grid-template-columns:1fr;gap:8px}.anon-stat{display:flex;align-items:center;gap:10px;text-align:right;padding:12px 14px}.anon-stat b{font-size:1.3rem}.anon-stat span{margin:0}}

.note.warn{background:#FDF6F4;border-color:#E0C4BC}
.note.warn b{color:#973232}


/* جدول التقرير — على نمط النماذج الرسمية */
.rpt-tbl{width:100%;border-collapse:collapse;margin-top:8px}
.rpt-tbl th{background:#EFEFEF;color:#111;font-weight:700;text-align:center;
  border:1px solid #999;padding:8px 10px;vertical-align:middle}
.rpt-tbl td{border:1px solid #999;padding:8px 12px;vertical-align:middle;line-height:1.9}
.rpt-sub{width:100%;border-collapse:collapse}
.rpt-sub td{border:1px solid #BBB;padding:5px 9px;font-size:.92em}
.rpt-signs{display:flex;justify-content:space-between;gap:14px;margin-top:22px;flex-wrap:wrap;font-size:.86rem}
.rpt-signs>div{flex:1;min-width:170px;text-align:center}
.rpt-tbl th.rpt-head{background:#E4E4E4;font-size:1.05rem;padding:11px}

.moe-logos{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap}
/* الشعار كان أقصر من عمود النصّ بكثير، فيبقى وسط الترويسة فارغًا.
   يكبر ليوازيه، ويرتفع النصّ بسطرٍ أضيق. */
.moe-logos img{max-width:118px;max-height:96px;object-fit:contain;display:block}
/* شعار المدرسة أصغر — الوزارة تتقدّم بصريًا في الوثيقة الرسمية */
.moe-logos img:last-child:not(:only-child){max-width:40px;max-height:40px}
.logo-slot{width:100%;height:74px;border:1.5px dashed var(--line);border-radius:12px;
  display:grid;place-items:center;background:#fff;overflow:hidden}
.logo-slot img{max-width:92%;max-height:92%;object-fit:contain}
.logo-slot span{font-size:1.6rem;opacity:.45}
@media print{.moe-logos img{max-width:118px;max-height:96px}
  .moe-logos img:last-child:not(:only-child){max-width:46px;max-height:46px}}

/* بطاقات القوالب — أزرار كاملة قابلة للضغط */
.tpl-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}
@media(min-width:760px){.tpl-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}}
@media(max-width:340px){.tpl-grid{grid-template-columns:1fr}}
.tpl-card{position:relative;width:100%;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:13px 13px 11px;cursor:pointer;transition:.18s;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:right;font-family:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.tpl-card:hover,.tpl-card:focus-visible{border-color:var(--teal);box-shadow:0 6px 18px -10px rgba(0,0,0,.25);transform:translateY(-1px)}
.tpl-card:active{transform:translateY(0);background:var(--bg)}
.tpl-top{display:flex;align-items:flex-start;gap:8px;width:100%}
.tpl-top b{flex:1;min-width:0;font-size:.88rem;color:var(--teal-deep);line-height:1.55;font-weight:700}
.tpl-x{flex:none;color:var(--danger);font-size:.9rem;padding:2px 5px;cursor:pointer;border-radius:6px}
.tpl-x:hover{background:#FDF0EC}
.tpl-desc{font-size:.74rem;line-height:1.65;color:var(--ink-soft);font-weight:400;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tpl-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:1px}
.tpl-meta>span{font-size:.72rem;color:var(--ink-soft);background:var(--bg);border:1px solid var(--line);
  border-radius:999px;padding:3px 9px;font-weight:400}
.tpl-meta .tpl-mine{background:var(--gold-soft);border-color:var(--gold);color:#8A6A1F}
.tpl-card>*{pointer-events:none}
.tpl-card .tpl-x{pointer-events:auto}
.tpl-go{margin-top:4px;font-size:.76rem;font-weight:700;color:var(--teal)}

.rpt-row{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);
  border-radius:13px;background:#fff;margin-bottom:8px;cursor:pointer;transition:.15s}
.rpt-row:hover{border-color:var(--teal);transform:translateX(-2px)}
.rpt-ic{flex:none;font-size:1.15rem}
.rpt-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rpt-info b{font-size:.9rem;color:var(--ink);overflow-wrap:anywhere}
.rpt-info small{font-size:.74rem;color:var(--ink-soft)}
.rpt-go{flex:none;color:var(--teal);font-weight:700}
.chk-line{display:flex;align-items:center;gap:9px;font-size:.88rem;margin:10px 0 0;cursor:pointer}
.chk-line input{width:17px;height:17px}

/* ── أنماط تخطيط الوثيقة ── */
/* ١ رسمي — الافتراضي، معرَّف سلفًا في .rpt-tbl */

/* ٢ بطاقات */
.doc[data-lay="cards"] .rpt-tbl,.doc[data-lay="cards"] .rpt-tbl tbody{display:block}
.doc[data-lay="cards"] .rpt-tbl tr{display:block;border:1px solid var(--doc-c);border-radius:12px;
  padding:11px 14px;margin-bottom:9px;page-break-inside:avoid}
.doc[data-lay="cards"] .rpt-tbl th{display:block;background:none!important;border:none;padding:0 0 5px;
  text-align:right;font-size:.82rem;color:var(--doc-c)}
.doc[data-lay="cards"] .rpt-tbl td{display:block;border:none;padding:0;line-height:1.9}
.doc[data-lay="cards"] .rpt-tbl th.rpt-head{background:var(--doc-c)!important;color:#fff;
  border-radius:10px;padding:9px 14px;text-align:center;font-size:1rem;margin-bottom:4px}

/* ٣ مبسّط */
.doc[data-lay="plain"] .rpt-tbl,.doc[data-lay="plain"] .rpt-tbl tbody{display:block}
.doc[data-lay="plain"] .rpt-tbl tr{display:block;border-bottom:1px solid #DDD;padding:9px 0;page-break-inside:avoid}
.doc[data-lay="plain"] .rpt-tbl th{display:block;background:none!important;border:none;padding:0 0 3px;
  text-align:right;font-size:.8rem;color:var(--doc-c);font-weight:700}
.doc[data-lay="plain"] .rpt-tbl td{display:block;border:none;padding:0}
.doc[data-lay="plain"] .rpt-tbl th.rpt-head{border-bottom:2.5px solid var(--doc-c);padding-bottom:7px;
  font-size:1.15rem;text-align:center;margin-bottom:6px}

/* ٤ اقتصادي — بلا خلفيات مملوءة */
.doc[data-lay="eco"] .rpt-tbl th{background:none!important;color:#111!important;border:1px solid #666}
.doc[data-lay="eco"] .rpt-tbl td{border:1px solid #666}
.doc[data-lay="eco"] .rpt-tbl th.rpt-head{background:none!important;border-width:2px}
.doc[data-lay="eco"] .moe{border-bottom-color:#666!important}
.doc[data-lay="eco"] .pf-wave,.doc[data-lay="eco"] .doc-title{color:#111}

/* ٥ عريض */
.doc[data-lay="wide"] .rpt-tbl,.doc[data-lay="wide"] .rpt-tbl tbody{display:block}
.doc[data-lay="wide"] .rpt-tbl tr{display:block;margin-bottom:14px;page-break-inside:avoid}
.doc[data-lay="wide"] .rpt-tbl th{display:block;background:none!important;border:none;
  border-inline-start:3px solid var(--doc-c);padding:0 0 4px 0;padding-inline-start:10px;
  text-align:right;font-size:.86rem;color:var(--doc-c)}
.doc[data-lay="wide"] .rpt-tbl td{display:block;border:none;padding:4px 0 0;padding-inline-start:13px;
  line-height:2.05;font-size:.95rem}
.doc[data-lay="wide"] .rpt-tbl th.rpt-head{border:none;border-bottom:2px solid var(--doc-c);
  text-align:center;font-size:1.2rem;padding-bottom:8px;padding-inline-start:0}

/* ٦ ترويسة */
.doc[data-lay="banner"] .rpt-tbl th.rpt-head{background:var(--doc-c)!important;color:#fff!important;
  font-size:1.15rem;padding:14px;border-color:var(--doc-c)}
.doc[data-lay="banner"] .rpt-tbl th{border-color:var(--doc-c)}
.doc[data-lay="banner"] .rpt-tbl td{border-color:var(--doc-c)}
.doc[data-lay="banner"] .moe{border-bottom-width:4px}

/* مبدّل الأنماط بمعاينة مصغّرة */
.lay-grid{display:grid;gap:8px;grid-template-columns:1fr 1fr}
@media(min-width:620px){.lay-grid{grid-template-columns:repeat(3,1fr)}}
.lay-card{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:9px 9px 10px;
  cursor:pointer;transition:.16s;display:flex;flex-direction:column;gap:4px;text-align:right;
  font-family:inherit;-webkit-tap-highlight-color:transparent}
.lay-card>*{pointer-events:none}
.lay-card.sel{border-color:var(--teal);background:var(--teal-light)}
.lay-card b{font-size:.83rem;color:var(--teal-deep)}
.lay-card small{font-size:.68rem;color:var(--ink-soft);line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lay-prev{display:block;height:38px;border-radius:7px;background:#FAFAF7;border:1px solid var(--line);
  padding:5px;display:flex;flex-direction:column;gap:3px;justify-content:flex-start}
.lay-prev i{display:block;height:5px;border-radius:2px;background:#D8D4C8}
/* تمييز كل نمط في المعاينة */
.lay-table i:first-child{background:var(--teal);height:6px}
.lay-table i{border:1px solid #CFCABC;background:#EDEAE0}
.lay-cards i{border:1px solid var(--teal);background:#fff;height:7px;border-radius:4px}
.lay-plain i{background:none;border-bottom:1px solid #CFCABC;border-radius:0;height:6px}
.lay-eco i{background:none;border:1px solid #999}
.lay-wide i{background:none;border-inline-start:3px solid var(--teal);border-radius:0;height:7px}
.lay-banner i:first-child{background:var(--teal);height:9px}
.lay-banner i{background:#EDEAE0;border:1px solid #CFCABC}

/* الصف المتجاور في الأنماط الكتلية — عمودان بدل تراصّ عمودي */
.doc[data-lay="cards"] .rpt-tbl tr.rpt-pair,
.doc[data-lay="plain"] .rpt-tbl tr.rpt-pair,
.doc[data-lay="wide"]  .rpt-tbl tr.rpt-pair{display:grid;grid-template-columns:1fr 1fr;
  column-gap:16px;row-gap:0;align-items:start}
.doc[data-lay="cards"] .rpt-tbl tr.rpt-pair th:nth-child(3),
.doc[data-lay="plain"] .rpt-tbl tr.rpt-pair th:nth-child(3),
.doc[data-lay="wide"]  .rpt-tbl tr.rpt-pair th:nth-child(3){grid-column:2;grid-row:1}
.doc[data-lay="cards"] .rpt-tbl tr.rpt-pair td:nth-child(4),
.doc[data-lay="plain"] .rpt-tbl tr.rpt-pair td:nth-child(4),
.doc[data-lay="wide"]  .rpt-tbl tr.rpt-pair td:nth-child(4){grid-column:2;grid-row:2}
@media print{
  .doc[data-lay] .rpt-tbl tr{page-break-inside:avoid}
}

/* أزرار معاينة التقرير — شبكة منتظمة بدل التفاف عشوائي */
.rpt-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-top:4px}
.rpt-acts .btn{width:100%;justify-content:center;padding:11px 6px;font-size:.84rem;white-space:nowrap}
@media(max-width:420px){
  .rpt-acts{grid-template-columns:1fr 1fr}
  .rpt-acts .btn{font-size:.8rem;padding:11px 4px}
}

/* شريط اللون والخط — شبكة منتظمة */
.sty-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}
.sty-lbl{flex:none;width:38px;font-size:.78rem;color:var(--ink-soft);padding-top:6px}
.sty-colors{flex:1;min-width:0;display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
@media(min-width:520px){.sty-colors{grid-template-columns:repeat(9,1fr)}}
.sty-colors .pf-sw{width:100%;aspect-ratio:1;max-width:34px;justify-self:center}
.sty-fonts{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.sty-fonts .chip{width:100%;padding:7px 4px;font-size:.78rem;justify-content:center;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.sty-note{font-size:.73rem;color:var(--ink-soft);line-height:1.7;margin-top:2px}
@media(max-width:400px){
  .sty-colors{grid-template-columns:repeat(6,1fr);gap:5px}
  .sty-fonts{grid-template-columns:repeat(3,1fr);gap:5px}
  .sty-fonts .chip{font-size:.72rem;padding:7px 2px}
}

/* الاختيار المتعدد — شبكة منتظمة + إضافة حرة */
.ms-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
@media(min-width:560px){.ms-grid{grid-template-columns:repeat(3,1fr)}}
.ms-chip{width:100%;padding:10px 8px;border:1.5px solid var(--line);border-radius:11px;background:#fff;
  font-family:inherit;font-size:.83rem;color:var(--ink);cursor:pointer;transition:.15s;
  text-align:center;line-height:1.5;-webkit-tap-highlight-color:transparent}
.ms-chip.sel{background:var(--teal-deep);border-color:var(--teal-deep);color:#fff;font-weight:600}
.ms-chip.ms-own{background:var(--gold);border-color:var(--gold)}
.ms-add{display:flex;gap:7px;margin-top:9px}
.ms-add input{flex:1;min-width:0;padding:9px 12px;border:1.5px solid var(--line);border-radius:11px;
  background:#fff;font-family:inherit;font-size:.85rem}
.ms-add .btn{flex:none;white-space:nowrap}

.rpt-tap{flex:1;min-width:0;display:flex;align-items:center;gap:11px;cursor:pointer}
.rpt-del{flex:none;background:none;border:none;font-size:1rem;padding:6px 8px;border-radius:8px;
  cursor:pointer;opacity:.45;transition:.15s;line-height:1}
.rpt-del:hover,.rpt-del:active{opacity:1;background:#FDF0EC}

/* وسم المسوّدة */
.dr-tag{display:inline-block;font-size:.66rem;font-weight:700;padding:2px 8px;border-radius:999px;
  background:var(--gold-soft);color:#8A6A1F;border:1px solid var(--gold);margin-inline-start:7px;
  vertical-align:middle;line-height:1.6}
.dr-tag.done{background:#EEF6F2;color:#1F6B4F;border-color:#CCE3D8}
.rpt-row.is-draft{border-style:dashed;background:#FDFBF5}

/* تنبيه الطباعة المطوي */
.tip-btn{display:inline-flex;align-items:center;gap:6px;margin:9px 14px 0;padding:6px 13px;
  border:1px solid var(--line);border-radius:999px;background:#fff;font-family:inherit;
  font-size:.78rem;color:var(--ink-soft);cursor:pointer;transition:.15s}
.tip-btn:hover,.tip-btn.on{border-color:var(--gold);background:var(--gold-soft);color:#8A6A1F}
.tip-box{position:relative;margin:9px 14px 0;padding:13px 15px;border:1px solid var(--gold);
  border-radius:12px;background:var(--gold-soft)}
.tip-box b{display:block;font-size:.87rem;color:#8A6A1F;margin-bottom:5px}
.tip-box p{margin:0;font-size:.82rem;line-height:1.85;color:var(--ink)}
.tip-x{position:absolute;inset-inline-start:9px;top:9px;background:none;border:none;
  font-size:.85rem;color:#8A6A1F;cursor:pointer;padding:3px 6px;border-radius:6px;line-height:1}
.tip-x:hover{background:rgba(0,0,0,.06)}
.tip-mute{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:.76rem;
  color:var(--ink-soft);cursor:pointer}
.tip-mute input{width:15px;height:15px}

/* لوحة مظهر الوثيقة */
.sty-panel{border:1px solid var(--line);border-radius:14px;padding:13px 14px;background:#fff}
.sty-h{font-size:.88rem;font-weight:700;color:var(--teal-deep);margin-bottom:13px}
.sty-sec{margin-bottom:15px}
.sty-sec:last-child{margin-bottom:0}
.sty-t{display:block;font-size:.78rem;color:var(--ink-soft);margin-bottom:8px}
.sty-colors{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.sty-colors .pf-sw{width:100%;aspect-ratio:1;max-width:36px;justify-self:center}
.sty-fonts{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
@media(min-width:400px){.sty-fonts{grid-template-columns:repeat(4,1fr)}}
.sty-fonts .chip{width:100%;padding:9px 4px;font-size:.79rem;justify-content:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sty-more{display:block;margin:9px auto 0;padding:5px 14px;border:1px solid var(--line);
  border-radius:999px;background:#fff;font-family:inherit;font-size:.74rem;color:var(--teal);
  cursor:pointer;font-weight:600}
.sty-more:hover{background:var(--teal-light);border-color:var(--teal)}
.sty-note{font-size:.72rem;color:var(--ink-soft);line-height:1.7;margin-top:11px;text-align:center}
.sty-panel .lay-grid{grid-template-columns:repeat(3,1fr);gap:7px}
.sty-panel .lay-card{padding:8px 6px 9px;gap:5px}
.sty-panel .lay-card b{font-size:.77rem}
.sty-panel .lay-card small{display:none}
.sty-panel .lay-prev{height:32px}

/* معالج الاختبار */
.wz-sec{margin-bottom:16px}
.wz-t{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:700;
  color:var(--teal-deep);margin-bottom:10px}
.wz-n{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:var(--teal);color:#fff;font-size:.74rem;flex:none}
.wz-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wz-card{background:#fff;border:1.5px solid var(--line);border-radius:13px;padding:12px 12px 11px;
  cursor:pointer;transition:.16s;display:flex;flex-direction:column;gap:3px;text-align:right;
  font-family:inherit;-webkit-tap-highlight-color:transparent}
.wz-card>*{pointer-events:none}
.wz-card.sel{border-color:var(--teal);background:var(--teal-light)}
.wz-card b{font-size:.87rem;color:var(--teal-deep);line-height:1.5}
.wz-card small{font-size:.72rem;color:var(--ink-soft);line-height:1.55}
.wz-chips{display:flex;gap:7px;flex-wrap:wrap}
.wz-sum{background:var(--gold-soft);border:1px solid var(--gold);border-radius:12px;
  padding:11px 13px;font-size:.83rem;line-height:1.9;color:#6B5418;margin-bottom:16px}
.wz-hint{font-size:.75rem;opacity:.8}

/* شعار التذييل */
.doc-mark{display:flex;align-items:center;justify-content:center;gap:7px;
  margin-top:26px;padding-top:11px;border-top:1px solid #E3DFD3;
  font-size:.72rem;color:#8A8A82}
.doc-mark img{height:22px;width:auto;display:block;object-fit:contain;opacity:.9}
.doc-mark b{color:#5A5A52;font-weight:600}
@media print{.doc-mark{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* شعارا تذييل التطبيق — ملفّي يمينًا · «منتج من» وسطًا · بجيلة يسارًا */
.af-brand{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:12px;flex-wrap:nowrap}
.af-b1{height:82px;width:auto;display:block;object-fit:contain;flex:none}
.af-b2{height:46px;max-width:190px;width:auto;display:block;object-fit:contain;flex:none}
.af-sep{flex:none;width:1.5px;height:38px;border-radius:2px;background:#DCD6C6}
.af-mid{position:relative;flex:none;font-size:.74rem;color:var(--ink-soft);white-space:nowrap;padding:22px 0}
.af-mid::before,.af-mid::after{content:"";position:absolute;inset-inline-start:50%;transform:translateX(50%);
  width:1.5px;height:16px;border-radius:2px}
.af-mid::before{top:0;background:linear-gradient(180deg,transparent,var(--gold))}
.af-mid::after{bottom:0;background:linear-gradient(0deg,transparent,var(--gold))}
.af-cr{font-size:.73rem;color:var(--ink-soft);text-align:center;opacity:.85}
@media(max-width:400px){
  .af-b1{height:66px}.af-b2{height:55px}.af-brand{gap:12px}
  .af-mid{font-size:.7rem;padding:18px 0}.af-mid::before,.af-mid::after{height:13px}
}

/* فصل شريط التحكم عن ورقة الوثيقة — كانا متصلين فبدا الشريط جزءًا منها */
.ctrl-wrap{background:var(--bg);border:1px solid var(--line);border-radius:14px;
  overflow:hidden;margin-bottom:16px}
.ctrl-wrap .doc-toolbar{background:#fff;border-bottom:1px solid var(--line)}
.doc-sheet{box-shadow:0 8px 26px -14px rgba(0,0,0,.4);background:#fff}

@media print{.ctrl-wrap{display:none}.doc-sheet{box-shadow:none;border:none}}

/* الاستراتيجيات الجاهزة — شبكة منتظمة بدل التفاف حسب طول الاسم */
.strat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(min-width:560px){.strat-grid{grid-template-columns:repeat(3,1fr)}}
.strat-c{width:100%;justify-content:center;text-align:center;padding:11px 8px;
  font-size:.82rem;line-height:1.5;white-space:normal;min-height:44px}

/* ترويسة بعمودين حين تُخفى بيانات الصف — النص يمينًا والشعار يسارًا */
.moe.moe-2{justify-content:space-between}
.moe.moe-2 .moe-r{flex:1 1 0}
.moe.moe-2::after{content:'';flex:1 1 0}
.moe.moe-2 .moe-c{margin:0 auto}

/* أزرار التخصيص المتقدّم — شبكة منتظمة */
.adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:12px;
  border-top:1px dashed var(--line);margin-top:4px}
.adv-grid .btn{width:100%;justify-content:center;padding:11px 6px;font-size:.82rem;white-space:nowrap}
.adv-grid .adv-full{grid-column:1 / -1}

/* شرائح السياق في الرئيسية — شبكة منتظمة بدل التفاف حسب طول النص.
   الأسبقية مرفوعة لأن .meta span تفرض inline-block و margin-left */
.meta.ctx-grid{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.meta.ctx-grid>span{display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:40px;padding:8px 10px;margin:0;font-size:.82rem;line-height:1.5;
  background:#fff;border:1px solid var(--line);border-radius:12px;overflow-wrap:anywhere}
.meta.ctx-grid>span:empty{display:none}
@media(min-width:560px){.meta.ctx-grid{grid-template-columns:repeat(4,1fr)}}
/* لا تباعد بين الحروف في أي وثيقة مطبوعة.
   العربية تُوصَل حروفها، والتباعد يفكّها. وأسوأ منه أن html2canvas —
   وهو ما يبني PDF المُنزَّل — يرسم كل حرف وحده متى وجد تباعدًا، فتخرج
   «اسم النشاط» هكذا: «لس م لنش اط». القاعدة تمنع عودته من أي إضافة. */
.doc,.doc *,.pf-doc,.pf-doc *,.cert,.cert *,#rpt-doc *,#lv-doc *{letter-spacing:normal!important}
/* لوحة الباركود الدائم */
.sh-top{margin-bottom:10px}
.sh-b{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 11px;border-radius:999px}
.sh-on{background:#E8F3EC;color:#1F6B4F;border:1px solid #BFE0CD}
.sh-soon{background:var(--gold-soft,#FAF4E8);color:#8A6A1F;border:1px solid var(--gold,#B8934A)}
.sh-exp{background:#FDF0EC;color:#9C3B2E;border:1px solid #E8C4BB}
.sh-off{background:#EFEFEC;color:#6B6B63;border:1px solid var(--line)}
.sh-demo{background:#EEF3FA;color:#33526E;border:1px solid #C9D9EA}
.sh-url{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px;
  font-size:.8rem;word-break:break-all;margin-bottom:10px}
.sh-qr{display:flex;justify-content:center;margin-bottom:12px}
.sh-qr img{width:170px;height:170px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px}
.sh-acts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.sh-sec{border-top:1px solid var(--line);padding-top:12px;margin-bottom:12px}
.sh-t{display:block;font-size:.8rem;font-weight:700;margin-bottom:8px}
.sh-r{display:flex;gap:9px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line);
  border-radius:10px;margin-bottom:6px;cursor:pointer}
.sh-r.sel{border-color:var(--teal);background:var(--teal-light,#E8F1ED)}
.sh-r b{display:block;font-size:.84rem}
.sh-r small{display:block;font-size:.74rem;color:var(--ink-soft);line-height:1.7}
.sh-chks{display:flex;flex-direction:column;gap:6px}
.sh-log{font-size:.8rem;color:var(--ink-soft)}
.sh-log.muted{opacity:.75}
.sh-rot{display:block;width:100%;background:none;border:none;color:var(--ink-soft);
  font-family:inherit;font-size:.76rem;text-decoration:underline;cursor:pointer;padding:8px 0}
/* باركود ملف الأداء */
.pf-qr{text-align:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.pf-qr-t{font-size:.8rem;font-weight:600;margin-bottom:8px}
.pf-qr img{width:34mm;height:34mm}
.pf-qr-s{font-size:.72rem;color:var(--ink-soft);margin-top:6px}
/* بطاقات تنبيه «شواهد بلا وصف» — بطاقة مستقلة لكل شاهد، لا نصٌّ متصل.
   كانت هذه القواعد واقعةً داخل نصّ تقرير الطالب فلم تُطبَّق على الشاشة قط. */
.ud-item{display:flex;align-items:center;gap:10px;width:100%;background:#fff;
  border:1.5px solid var(--gold);border-radius:12px;padding:11px 13px;margin-bottom:8px;
  cursor:pointer;font-family:inherit;text-align:right;transition:.15s;
  box-shadow:0 2px 8px -4px rgba(184,147,74,.35)}
.ud-item:hover,.ud-item:active{background:var(--gold-soft);transform:translateY(-1px)}
.ud-item>*{pointer-events:none}
.ud-ic{flex:none;width:32px;height:32px;border-radius:9px;background:var(--gold-soft);
  display:grid;place-items:center;font-size:.95rem}
.ud-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ud-t{font-size:.86rem;font-weight:700;line-height:1.5;color:var(--ink);
  overflow-wrap:anywhere;display:block}
.ud-std{font-size:.73rem;color:var(--ink-soft);line-height:1.5;display:block}
.ud-go{flex:none;font-size:.75rem;color:#8A6A1F;font-weight:700;white-space:nowrap}
@media(max-width:400px){
  .ud-go{display:none}
  .ud-item::after{content:'←';color:#8A6A1F;font-weight:700;flex:none}
}
/* إبرازٌ يهدأ بعد ثانيتين، فيعرف أين وقع */
.ud-flash{outline:2.5px solid #C9A24B!important;outline-offset:2px;
  box-shadow:0 0 0 5px rgba(201,162,75,.18)!important;transition:box-shadow .2s}
/* زرّ الرئيسية في الترويسة: على الكمبيوتر لا شريط سفلي، وكان الطريق
   الوحيد شعارًا لا نصّ عليه، أو كلمة «رجوع» داخل الأدوات. */
.tb-home{white-space:nowrap}
.tb-home.on{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep);
  pointer-events:none;opacity:.9}
@media(max-width:640px){.tb-home{display:none}}
/* بنود التقييم — الدرجة الكلية والقوالب وشريط المجموع */
.cs-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;flex-wrap:wrap}
.cs-head label{font-size:.82rem;font-weight:600;flex:none}
.cs-head input{width:90px;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;
  font-family:inherit;font-size:.88rem;text-align:center}
.cs-hint2{font-size:.74rem;color:var(--ink-soft)}
.cs-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.cs-pt{font-size:.76rem;color:var(--ink-soft);flex:none}
.cs-presets .chip{padding:6px 12px;font-size:.78rem}
.cs-row{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);
  border-radius:11px;padding:7px 9px;margin-bottom:7px}
.cs-lbl{flex:1;min-width:0;padding:8px 11px;border:1px solid var(--line);border-radius:9px;
  font-family:inherit;font-size:.86rem;background:var(--bg)}
.cs-max{flex:none;width:66px;padding:8px 6px;border:1px solid var(--line);border-radius:9px;
  font-family:inherit;font-size:.86rem;text-align:center;background:var(--bg)}
.cs-of{flex:none;font-size:.74rem;color:var(--ink-soft)}
.cs-x{flex:none;width:28px;height:28px;border:none;background:none;color:var(--danger);
  font-size:.9rem;cursor:pointer;border-radius:7px}
.cs-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  border-radius:11px;padding:11px 14px;margin-top:10px;font-size:.85rem;
  background:var(--bg);border:1px solid var(--line);color:var(--ink-soft)}
.cs-bar.ok{background:#E8F3EC;border-color:#BFE0CD;color:#1F6B4F}
.cs-bar.bad{background:var(--gold-soft);border-color:var(--gold);color:#8A6A1F}
.cs-n b{font-size:1.05rem}
.cs-msg{font-weight:700}
.cs-hint{font-size:.75rem;opacity:.85}
/* شرح الباركودين — يفرّق للمعلّم بين الدائم وباركود شواهد التقرير */
.qr-help{background:var(--teal-light);border:1px solid #CFE3D8;border-radius:11px;
  padding:11px 13px;font-size:.82rem;line-height:1.85;color:var(--teal-deep);margin-bottom:12px}
.qr-help b{font-weight:700}
@media print{.qr-help{display:none!important}}
