/* منصة الرياضيات – student portal, package cards, quiz runner */
.ma-portal{background:#fff;border:1px solid var(--ma-line);border-radius:24px;padding:22px;box-shadow:0 20px 50px rgba(30,27,58,.07);scroll-margin-top:90px}
.ma-portal .ma-warn{margin-top:0}
.ma-lock{overflow:hidden}

/* header */
.ma-ph{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.ma-ph-me{display:flex;align-items:center;gap:12px}
.ma-av{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;font-size:24px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--ma-p),var(--ma-p2));box-shadow:0 10px 24px rgba(79,70,229,.3);flex:none}
.ma-ph h2{margin:0;font-size:23px}
.ma-ph p{margin:3px 0 0;color:var(--ma-dim);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ma-ph-act{display:flex;gap:8px}
.ma-pill{display:inline-block;border-radius:99px;padding:3px 11px;font-size:12.5px;font-weight:800;background:#f1f2f9;color:var(--ma-dim)}
.ma-pill.ok{background:#dcfce7;color:#166534}.ma-pill.no{background:#fee2e2;color:#991b1b}.ma-pill.wait{background:#fef3c7;color:#92400e}

/* tab bar */
.ma-tabbar{display:flex;gap:6px;background:#f4f5fb;border-radius:16px;padding:5px;margin-bottom:16px;overflow-x:auto;scrollbar-width:none}
.ma-tabbar::-webkit-scrollbar{display:none}
.ma-tabbar button{flex:1;min-width:max-content;display:flex;align-items:center;justify-content:center;gap:6px;border:0;background:none;border-radius:12px;padding:10px 12px;font:700 15px 'Tajawal',sans-serif;color:var(--ma-dim);cursor:pointer;position:relative;transition:.15s}
.ma-tabbar button i{font-style:normal}
.ma-tabbar button.on{background:#fff;color:var(--ma-p);box-shadow:0 4px 14px rgba(30,27,58,.08)}
.ma-tabbar em{font-style:normal;background:var(--ma-a);color:#2b1a00;border-radius:99px;font-size:11px;padding:1px 7px;font-weight:900}
.ma-pane{animation:maIn .25s ease}
@keyframes maIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* hero / banners / kpis */
.ma-hero{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:linear-gradient(135deg,var(--ma-p),var(--ma-p2));color:#fff;border-radius:20px;padding:18px 20px;margin-bottom:14px;box-shadow:0 16px 36px rgba(79,70,229,.25)}
.ma-hero.cta{background:linear-gradient(135deg,#1e1b3a,#4f46e5)}
.ma-hero-t{flex:1;min-width:200px}
.ma-hero-t span{opacity:.85;font-size:13.5px;font-weight:700}
.ma-hero-t h3{color:#fff!important;margin:2px 0 4px;font-size:22px}
.ma-hero-t p{margin:0 0 8px;opacity:.92}
.ma-hero .ma-meter{background:rgba(255,255,255,.25)}.ma-hero .ma-meter i{background:#fff}
.ma-hero small{opacity:.9}
.ma-hero .ma-btn-g{background:rgba(255,255,255,.15);color:#fff!important;border-color:rgba(255,255,255,.35)}
.ma-dring{--p:0;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;flex:none;background:conic-gradient(#fff calc(var(--p)*1%),rgba(255,255,255,.22) 0);position:relative}
.ma-dring:before{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--ma-p)}
.ma-dring b,.ma-dring small{position:relative;line-height:1.1}
.ma-dring b{font-size:26px;font-weight:900}.ma-dring small{font-size:11px;opacity:.9}
.ma-dring.big{width:140px;height:140px;background:conic-gradient(var(--rc,var(--ma-p)) calc(var(--p)*1%),#eceefa 0);color:var(--ma-txt);margin:0 auto 10px}
.ma-dring.big:before{background:#fff;inset:11px}.ma-dring.big b{font-size:34px}
.ma-meter{height:8px;border-radius:99px;background:#eef0ff;overflow:hidden;margin:4px 0}
.ma-meter i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--ma-p),var(--ma-p2))}
.ma-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-radius:16px;padding:12px 16px;margin-bottom:14px}
.ma-banner.wait{background:#fffbeb;border:1px solid #fde68a}
.ma-banner small{display:block;color:var(--ma-dim);margin-top:2px}
.ma-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.ma-kpis>div{background:#f7f7fd;border-radius:16px;padding:13px 14px}
.ma-kpis span{display:block;color:var(--ma-dim);font-size:13px;font-weight:700}
.ma-kpis b{display:block;font-size:19px;color:var(--ma-p);margin:4px 0 2px}
.ma-kpis small{color:var(--ma-dim)}
.ma-cont{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.ma-cont-i{display:flex;gap:10px;align-items:center;text-align:right;border:1px solid var(--ma-line);background:#fff;border-radius:14px;padding:10px;cursor:pointer;font-family:inherit;transition:.15s}
.ma-cont-i:hover{border-color:#c7c9f5;transform:translateY(-2px)}
.ma-cont-i>span:last-child{flex:1;min-width:0}
.ma-cont-i b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ma-txt)}
.ma-cont-i small{color:var(--ma-dim)}
.ma-cont-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef0ff;color:var(--ma-p);flex:none}
.ma-start ol{margin:0;padding-right:20px;line-height:2}
.ma-h-act{float:left;margin-top:-4px}

/* quizzes list */
.ma-qlist{display:grid;gap:10px}
.ma-qi{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px solid var(--ma-line);border-radius:16px;padding:12px}
.ma-qi-sc{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#eef0ff;color:var(--ma-p);flex:none;font-size:22px}
.ma-qi-sc i{font-style:normal}.ma-qi-sc b{font-size:16px}
.ma-qi.pass .ma-qi-sc{background:#dcfce7;color:#166534}.ma-qi.fail .ma-qi-sc{background:#fee2e2;color:#991b1b}
.ma-qi-t{flex:1;min-width:180px}.ma-qi-t b{display:block}.ma-qi-t small{display:block;color:var(--ma-dim)}
.ma-qi-a{display:flex;gap:6px;flex-wrap:wrap}

/* subscription */
.ma-mysub-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ma-mysub-g>div{background:#f7f7fd;border-radius:14px;padding:10px 12px}
.ma-mysub-g span{display:block;color:var(--ma-dim);font-size:12.5px;font-weight:700}
.ma-mysub.on{border-color:#bbf7d0}.ma-mysub.off{border-color:#fecaca}
.ma-flow{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.ma-flow span{background:#eef0ff;color:var(--ma-p);border-radius:99px;padding:4px 12px;font-size:13px;font-weight:800}
.ma-rev{display:grid;gap:8px;border-top:1px solid var(--ma-line);padding:12px 0}
.ma-rev:first-of-type{border-top:0}
.ma-rev textarea{border:1px solid var(--ma-line);border-radius:12px;padding:10px;font:inherit;width:100%}
.ma-rev .ma-btn{justify-self:start}
.ma-starpick{display:flex;gap:2px;direction:ltr;justify-content:flex-end}
.ma-starpick button{border:0;background:none;font-size:30px;color:#d9dbe9;cursor:pointer;padding:0 2px;transition:.1s}
.ma-starpick button.on{color:#f59e0b}
.ma-starpick button:hover{transform:scale(1.15)}

/* package cards (public + portal) */
.ma-pk2 .ma-pkcard{position:relative;gap:8px;transition:.2s}
.ma-pk2 .ma-pkcard:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(30,27,58,.1)}
.ma-pk2 .ma-pkcard.hot:before{display:none}
.ma-pk2 .ma-pkcard.mine{border:2px solid var(--ma-ok)}
.ma-pk-badge{position:absolute;top:-12px;right:16px;background:var(--ma-a);color:#2b1a00;font-weight:800;font-size:12px;border-radius:99px;padding:3px 11px}
.ma-pk-rate{font-size:13px;color:var(--ma-dim);display:flex;align-items:center;gap:4px}
.ma-pk-rate b{color:var(--ma-txt)}
.ma-stars{color:#f59e0b;letter-spacing:1px}.ma-stars i{font-style:normal;color:#d9dbe9}
.ma-pk-price{display:flex;align-items:baseline;gap:8px}
.ma-pk-price s{color:#9ca3af;font-size:14px}
.ma-pk-feats{list-style:none;margin:4px 0;padding:0;font-size:14px;color:var(--ma-txt)}
.ma-pk-feats li{padding:3px 0 3px 0;padding-right:22px;position:relative}
.ma-pk-feats li:before{content:'✓';position:absolute;right:0;color:var(--ma-ok);font-weight:900}
.ma-pk2 .ma-pkcard .ma-btn{margin-top:auto}
.ma-pk2 .ma-pkcard .ma-btn+.ma-btn{margin-top:0}

/* library extras */
.ma-portal .ma-lessons li{background:#fff;border:1px solid var(--ma-line)!important;border-radius:14px;padding:12px;margin-bottom:8px;transition:.15s}
.ma-portal .ma-lessons li:hover{border-color:#c7c9f5!important;box-shadow:0 8px 20px rgba(30,27,58,.06)}
.ma-portal .ma-lib-g{background:#fafaff}
.ma-chip-mine{display:inline-block;background:#fef3c7;color:#92400e;border-radius:99px;font-size:11.5px;padding:1px 8px;font-weight:800;vertical-align:middle}
.ma-lock-ic{font-size:34px}
.ma-lib-lock{text-align:center;padding:22px}

/* bottom sheet */
.ma-sheet{position:fixed;inset:0;z-index:9999;background:rgba(15,12,40,.55);display:flex;align-items:center;justify-content:center;padding:16px;animation:maFade .2s}
.ma-sheet[hidden]{display:none}
.ma-sheet-in{background:#fff;border-radius:22px;max-width:440px;width:100%;max-height:90vh;overflow:auto;padding:22px;position:relative;animation:maUp .25s ease}
@keyframes maFade{from{opacity:0}}@keyframes maUp{from{transform:translateY(30px);opacity:0}}
.ma-reqs-s{display:grid;gap:10px;text-align:center}
.ma-reqs-s h3{margin:0}
.ma-reqs-s textarea{border:1px solid var(--ma-line);border-radius:12px;padding:10px;font:inherit;width:100%}
.ma-s-ic{font-size:40px}
.ma-s-price{color:var(--ma-p);font-weight:900;font-size:20px;margin:0}
.ma-s-steps{text-align:right;margin:0;padding-right:20px;line-height:1.9;color:var(--ma-dim)}
.ma-x{color:#1e1b3a!important;position:absolute;top:10px;left:12px;border:0;background:#f1f2f9;border-radius:10px;width:34px;height:34px;cursor:pointer;font-size:15px}

/* quiz runner */
.ma-quiz-ov{position:fixed;inset:0;z-index:9999;background:rgba(15,12,40,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.ma-quiz-ov[hidden]{display:none}
.mq{background:#f6f7fb;width:100%;max-width:720px;max-height:94vh;border-radius:24px;display:flex;flex-direction:column;overflow:hidden;animation:maUp .25s ease;font-family:'Tajawal',sans-serif}
.mq-h{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid var(--ma-line)}
.mq-h b{flex:1;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mq-x{color:#1e1b3a!important;border:0;background:#f1f2f9;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:15px;flex:none}
.mq-timer{font-weight:900;color:var(--ma-p);background:#eef0ff;border-radius:99px;padding:4px 12px;direction:ltr}
.mq-timer:empty{display:none}
.mq-timer.low{background:#fee2e2;color:#b91c1c;animation:maPulse 1s infinite}
@keyframes maPulse{50%{opacity:.55}}
.mq-prog{height:5px;background:#e6e7f2}.mq-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--ma-p),var(--ma-p2));transition:width .3s}
.mq-body{flex:1;overflow:auto;padding:18px}
.mq-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 24px rgba(30,27,58,.06);animation:maIn .2s ease}
.mq-n{color:var(--ma-dim);font-size:13px;font-weight:800;margin-bottom:8px}
.mq-q{font-size:19px;font-weight:700;line-height:1.9;white-space:pre-line;color:var(--ma-txt)}
.mq-img{display:block;max-width:100%;max-height:260px;border-radius:12px;margin:10px auto}
.mq-hint{color:var(--ma-dim);font-size:13px;margin-top:8px}
.mq-opts{display:grid;gap:10px;margin-top:14px}
.mq-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:right;border:2px solid var(--ma-line);background:#fff;border-radius:16px;padding:13px 14px;font:700 16.5px 'Tajawal',sans-serif;color:var(--ma-txt);cursor:pointer;transition:.12s;min-height:56px}
.mq-opt:hover{border-color:#c7c9f5}
.mq-opt.on{border-color:var(--ma-p);background:#eef0ff;color:var(--ma-p)}
.mq-let{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f1f2f9;flex:none;font-size:14px}
.mq-opt.on .mq-let{background:var(--ma-p);color:#fff}
.mq-ot{flex:1}
.mq-tf{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.mq-tf .mq-opt{justify-content:center;font-size:19px;min-height:72px}
.mq-tf .mq-opt.t.on{border-color:var(--ma-ok);background:#dcfce7;color:#166534}
.mq-tf .mq-opt.f.on{border-color:var(--ma-no);background:#fee2e2;color:#991b1b}
.mq-in{width:100%;margin-top:14px;border:2px solid var(--ma-line);border-radius:16px;padding:14px;font:700 20px 'Tajawal',sans-serif;text-align:center}
.mq-in:focus{outline:0;border-color:var(--ma-p)}
.mq-dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:0 16px 10px}
.mq-dot{width:32px;height:32px;border-radius:10px;border:1px solid var(--ma-line);background:#fff;font:700 13px 'Tajawal',sans-serif;cursor:pointer;color:var(--ma-dim)}
.mq-dot.ok{background:#eef0ff;color:var(--ma-p);border-color:#c7c9f5}
.mq-dot.cur{outline:2px solid var(--ma-p);outline-offset:1px}
.mq-f{display:flex;gap:10px;padding:12px 16px;background:#fff;border-top:1px solid var(--ma-line)}
.mq-f .ma-btn{flex:1}
.mq-f [hidden]{display:none}
.mq-res .mq-body,.mq-res{overflow:auto}
.mq-score{text-align:center;padding:22px 16px 8px}
.mq-score h3{margin:6px 0 0}
.mq-score.pass .ma-dring.big{--rc:var(--ma-ok)}.mq-score.fail .ma-dring.big{--rc:var(--ma-a)}
.mq-rv{display:grid;gap:10px;padding:12px 16px}
.mq-rv-i{background:#fff;border-radius:16px;padding:14px;border-right:5px solid var(--ma-ok)}
.mq-rv-i.no{border-right-color:var(--ma-no)}
.mq-rv-q{font-weight:800;white-space:pre-line;margin-bottom:6px}
.mq-rv-a,.mq-rv-r{font-size:14.5px}
.mq-rv-r{color:#166534;font-weight:700}
.mq-rv-ex{margin-top:6px;background:#fffbeb;border-radius:10px;padding:8px 10px;font-size:14px;white-space:pre-line}

/* phones */
@media (max-width:760px){
	.ma-portal{padding:14px;border-radius:18px;padding-bottom:80px}
	.ma-ph h2{font-size:19px}
	.ma-ph-act{width:100%}.ma-ph-act .ma-btn{flex:1}
	.ma-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:999;margin:0;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -6px 24px rgba(30,27,58,.12);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
	.ma-tabbar button{flex-direction:column;gap:1px;font-size:11.5px;padding:6px 2px;min-width:0}
	.ma-tabbar button i{font-size:20px}
	.ma-tabbar em{position:absolute;top:2px;left:calc(50% - 20px)}
	.ma-tabbar button.on{background:#eef0ff;box-shadow:none}
	.ma-float{bottom:84px!important}
	.ma-kpis{grid-template-columns:1fr 1fr}
	.ma-mysub-g{grid-template-columns:1fr 1fr}
	.ma-hero{padding:16px}
	.ma-hero .ma-btn{width:100%}
	.ma-dring{width:78px;height:78px}.ma-dring b{font-size:22px}
	.ma-qi-a{width:100%}.ma-qi-a .ma-btn{flex:1}
	.ma-sheet{align-items:flex-end;padding:0}
	.ma-sheet-in{border-radius:22px 22px 0 0;max-width:none;padding-bottom:calc(22px + env(safe-area-inset-bottom))}
	.ma-quiz-ov{padding:0}
	.mq{max-width:none;max-height:none;height:100%;border-radius:0}
	.mq-q{font-size:17.5px}
	.mq-body{padding:12px}
	.mq-f{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
	.ma-h-act{float:none;display:flex;margin:8px 0 0}
}
.mq-rv-n{display:inline-block;margin-left:6px;color:var(--ma-p)}

/* weekly schedule */
.ma-weekly{background:linear-gradient(135deg,#eef0ff,#faf5ff);border-color:#d9dbfb}
.ma-weekly-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ma-weekly-h h3{margin:0 0 4px}.ma-weekly-h p{margin:0 0 4px;color:var(--ma-dim)}
.ma-series{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--ma-line);border-radius:14px;padding:10px 12px;margin-top:10px}
.ma-series>div{flex:1;min-width:200px}.ma-series b{display:block}.ma-series small{color:var(--ma-dim)}
.ma-meter{display:block;height:6px;border-radius:99px;background:#eef0ff;overflow:hidden;margin-top:6px}.ma-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--ma-p),var(--ma-p2))}
.ma-wk{display:grid;gap:8px;position:relative}
.ma-wk h3{margin:0 0 4px;text-align:center}
.wk-lbl{margin:6px 0 0;font-weight:800;font-size:14px;color:var(--ma-txt)}
.wk-chips{display:flex;gap:6px;flex-wrap:wrap}
.wk-chip{border:2px solid var(--ma-line);background:#fff;border-radius:12px;padding:8px 14px;font:700 14.5px 'Tajawal',sans-serif;cursor:pointer;color:var(--ma-txt)}
.wk-chip.on{border-color:var(--ma-p);background:#eef0ff;color:var(--ma-p)}
.wk-row{display:grid;grid-template-columns:28px 1fr 1fr;gap:6px;align-items:center}
.wk-n{width:28px;height:28px;border-radius:9px;background:var(--ma-p);color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px}
.ma-wk select,.ma-wk input,.ma-wk textarea{border:1px solid var(--ma-line);border-radius:11px;padding:9px 10px;font:inherit;width:100%;background:#fff}
.wk-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wk-two label{display:grid;gap:4px;font-weight:700;font-size:13.5px}
.wk-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:linear-gradient(135deg,var(--ma-p),var(--ma-p2));border-radius:14px;padding:10px;color:#fff;text-align:center}
.wk-sum span{display:block;font-size:11.5px;opacity:.85}.wk-sum b{font-size:15px}
.wk-note{margin:0;color:var(--ma-dim);font-size:13px;text-align:center}
.wk-dates{display:flex;flex-wrap:wrap;gap:5px;max-height:150px;overflow:auto}
.wk-d{font-size:12px;border-radius:99px;padding:3px 9px;background:#ecfdf5;color:#166534}
.wk-d.busy,.wk-d.soon{background:#fee2e2;color:#991b1b}
.wk-bad{width:100%;margin:0 0 4px;color:#b91c1c;font-weight:700;font-size:13px}
.wk-load{margin:0;color:var(--ma-dim);font-size:13px}
.wk-go:disabled{opacity:.5}
.ma-pk-weekly{border:2px dashed #c7c9f5!important;background:linear-gradient(180deg,#fff,#f7f7ff)!important}
.ma-pk-month{list-style:none;margin:2px 0;padding:0;font-size:13.5px}
.ma-pk-month li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed var(--ma-line)}
.ma-pk-month li span{color:var(--ma-p);font-weight:800;white-space:nowrap}
@media (max-width:760px){.wk-sum b{font-size:13.5px}}

/* quiz images, hints, zoom */
.mq-img.zoom,.mq-rv-imgs img{cursor:zoom-in}
.mq-opts.grid{grid-template-columns:1fr 1fr}
.mq-opts.grid .mq-opt{flex-direction:column;align-items:stretch;text-align:center;min-height:0;padding:10px}
.mq-opts.grid .mq-let{align-self:flex-start}
.mq-oimg{display:block;max-width:100%;max-height:160px;margin:0 auto;border-radius:10px;object-fit:contain;background:#fff}
.mq-opt.on .mq-oimg{outline:3px solid var(--ma-p);outline-offset:2px}
.mq-hint-b{margin-top:10px;border:1px dashed #f59e0b;background:#fffbeb;color:#92400e;border-radius:10px;padding:6px 12px;font:700 14px 'Tajawal',sans-serif;cursor:pointer}
.mq-hint-t{margin-top:10px;background:#fffbeb;border-radius:12px;padding:10px 12px;font-size:15px;white-space:pre-line}
.mq-hint-t[hidden]{display:none}
.mq-rv-imgs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.mq-rv-imgs img{max-height:90px;border-radius:8px;border:3px solid #fecaca}
.mq-rv-imgs img.ok{border-color:#86efac}
.mq-rv-ex .mq-img{margin:8px 0 0;max-height:260px}
.ma-lightbox{position:fixed;inset:0;z-index:10001;background:rgba(10,8,30,.92);display:grid;place-items:center;padding:16px;cursor:zoom-out;animation:maFade .15s}
.ma-lightbox img{max-width:100%;max-height:92vh;border-radius:10px;background:#fff}
.ma-lightbox-x{position:absolute;top:14px;left:16px;color:#fff;font-size:22px}
@media (max-width:420px){.mq-opts.grid{grid-template-columns:1fr 1fr;gap:8px}.mq-oimg{max-height:120px}}
