/* SOLOMON DIGITAL ACADEMY - mobile-first stylesheet (no framework, ~6 KB gzipped) */
:root{
  --navy:#14213d; --navy2:#1f3260; --gold:#f2a900; --gold-d:#c98a00; --teal:#0e9aa7;
  --bg:#f4f6fb; --card:#fff; --ink:#1b2333; --muted:#667085; --line:#e3e7ef;
  --ok:#1b9a59; --warn:#d98200; --bad:#d6403a; --radius:14px;
  --shadow:0 1px 2px rgba(20,33,61,.06),0 6px 18px rgba(20,33,61,.07);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Ethiopic",sans-serif;color:var(--ink);background:var(--bg);padding-bottom:76px}
a{color:var(--navy2);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1,h2,h3{line-height:1.25;margin:.2em 0 .5em;color:var(--navy)} h1{font-size:1.55rem} h2{font-size:1.2rem} h3{font-size:1.05rem}
.wrap{max-width:1100px;margin:0 auto;padding:16px}
.muted{color:var(--muted)} .small{font-size:.86rem} .center{text-align:center} .right{text-align:right}
.mt{margin-top:16px} .mb{margin-bottom:16px} .row{display:flex;gap:12px;flex-wrap:wrap;align-items:center} .spread{justify-content:space-between}

/* top bar */
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.top .wrap{display:flex;align-items:center;gap:12px;padding:10px 16px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;letter-spacing:.04em;font-size:.95rem}
.brand:hover{text-decoration:none} .brand small{display:block;color:var(--gold);font-weight:600;font-size:.62rem;letter-spacing:.18em}
.top nav.desk{display:none;margin-left:auto;gap:4px}
.top nav.desk a{color:#dbe3f5;padding:8px 12px;border-radius:10px;font-weight:600;font-size:.92rem}
.top nav.desk a:hover,.top nav.desk a.on{background:rgba(255,255,255,.12);color:#fff;text-decoration:none}
.top .tools{margin-left:auto;display:flex;align-items:center;gap:8px}
.bell{position:relative;color:#fff;font-size:1.25rem;padding:6px 8px}
.bell b{position:absolute;top:0;right:0;background:var(--gold);color:var(--navy);border-radius:99px;font-size:.66rem;min-width:18px;height:18px;line-height:18px;text-align:center}

/* bottom tab bar (phones) */
.tabbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);display:flex;z-index:30;padding-bottom:env(safe-area-inset-bottom)}
.tabbar a{flex:1;text-align:center;padding:8px 2px 7px;color:var(--muted);font-size:.7rem;font-weight:600}
.tabbar a span{display:block;font-size:1.3rem;line-height:1.1}
.tabbar a.on{color:var(--navy);box-shadow:inset 0 3px 0 var(--gold)} .tabbar a:hover{text-decoration:none}

/* buttons & forms - large touch targets */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border-radius:12px;border:0;font:inherit;font-weight:700;cursor:pointer;background:var(--navy);color:#fff;text-decoration:none!important}
.btn:hover{background:var(--navy2)} .btn.gold{background:var(--gold);color:var(--navy)} .btn.gold:hover{background:#ffbb1f}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)} .btn.danger{background:var(--bad)} .btn.ok{background:var(--ok)}
.btn.sm{min-height:38px;padding:6px 14px;font-size:.88rem} .btn.block{display:flex;width:100%}
.btn[disabled]{opacity:.55;cursor:not-allowed}
form p,.field{margin:0 0 14px} label{display:block;font-weight:600;margin-bottom:4px;font-size:.92rem}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],input[type=datetime-local],input[type=file],select,textarea{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff}
textarea{min-height:90px} input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);border-color:var(--gold)}
.helptext,.help{color:var(--muted);font-size:.82rem;display:block;margin-top:3px}
.errorlist{color:var(--bad);list-style:none;margin:4px 0;padding:0;font-size:.88rem}
input[type=radio],input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}
.radios label{font-weight:500;padding:8px 0}

/* cards & grid */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}
.grid{display:grid;gap:14px;grid-template-columns:1fr} .grid.stats{grid-template-columns:repeat(2,1fr)}
.course-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.course-card .pic{height:120px;background:linear-gradient(135deg,var(--navy),var(--teal));display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.2rem;position:relative}
.course-card .pic img{width:100%;height:100%;object-fit:cover}
.course-card .body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}
.price{font-weight:800;color:var(--navy);font-size:1.1rem} .price small{color:var(--muted);font-weight:500}
.stat{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:14px} .stat b{font-size:1.5rem;color:var(--navy);display:block} .stat span{color:var(--muted);font-size:.82rem}
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 60%,#27508a 100%);color:#fff;border-radius:20px;padding:28px 20px;margin-bottom:18px;position:relative;overflow:hidden}
.hero h1{color:#fff;font-size:1.75rem} .hero p{color:#d7e0f5;max-width:560px} .hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(242,169,0,.18)}
.section-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 10px}

/* badges */
.badge{display:inline-block;padding:2px 10px;border-radius:99px;font-size:.74rem;font-weight:700;background:#e8edf8;color:var(--navy)}
.badge.active,.badge.approved,.badge.ok,.badge.passed{background:#dcf5e8;color:#0f7a43}
.badge.pending,.badge.scheduled{background:#fff1d6;color:#9a6200}
.badge.expired,.badge.rejected,.badge.cancelled,.badge.failed,.badge.bad{background:#fde2e0;color:#a52a24}
.badge.suspended{background:#eadcf7;color:#5d2f8a} .badge.live{background:var(--bad);color:#fff}

/* progress, bars, lists */
.bar{height:9px;background:#e8edf8;border-radius:99px;overflow:hidden} .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold))}
.list{list-style:none;margin:0;padding:0} .list li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap} .list li:last-child{border:0}
.chart{display:flex;align-items:flex-end;gap:10px;height:130px;padding-top:8px} .chart div{flex:1;text-align:center;font-size:.75rem;color:var(--muted)} .chart i{display:block;background:var(--teal);border-radius:6px 6px 0 0;min-height:4px;margin-bottom:4px}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:560px} th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);font-size:.9rem;vertical-align:top} th{background:#f0f3fa;color:var(--navy);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}

/* messages */
.msgs{list-style:none;margin:0 0 14px;padding:0} .msgs li{padding:12px 14px;border-radius:12px;margin-bottom:8px;background:#e8edf8;font-weight:600}
.msgs .success{background:#dcf5e8;color:#0f7a43} .msgs .error{background:#fde2e0;color:#a52a24} .msgs .warning{background:#fff1d6;color:#8a5800}

/* exam */
.q{margin-bottom:14px} .q h3{margin-bottom:10px} .opt{display:flex;align-items:center;gap:10px;padding:12px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:8px;cursor:pointer;font-weight:500}
.opt:has(input:checked){border-color:var(--gold);background:#fff8e6}
.opt.right{border-color:var(--ok);background:#e9f8f0} .opt.wrong{border-color:var(--bad);background:#fdeceb}
.timer{position:sticky;top:56px;z-index:10;background:var(--navy);color:#fff;border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;font-weight:700;margin-bottom:12px}
.timer.low{background:var(--bad)}
.explain{background:#eef7ff;border-left:4px solid var(--teal);border-radius:8px;padding:10px 12px;margin-top:8px;font-size:.93rem}

/* reader (protected) */
.reader{background:#2b2f3a;padding:10px 0;border-radius:var(--radius)} .reader img{display:block;aspect-ratio:16/9;height:auto;object-fit:contain;width:100%;max-width:900px;margin:0;background:#fff;-webkit-user-drag:none}
.protect{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.video{width:100%;max-height:70vh;background:#000;border-radius:12px} .embed{position:relative;padding-top:56.25%} .embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px}
#jitsi{height:calc(100vh - 150px);min-height:420px;border-radius:12px;overflow:hidden;background:#000}

.thread{border-left:4px solid var(--gold)} .reply{border-bottom:1px solid var(--line);padding:12px 0} .reply:last-child{border:0}
.tag{font-size:.7rem;background:var(--gold);color:var(--navy);border-radius:6px;padding:1px 6px;font-weight:800;margin-left:4px}
.paginator{display:flex;gap:8px;justify-content:center;margin:16px 0}
@media print{body{display:none!important}} /* printing protected pages gives a blank sheet */

@media (min-width:700px){
  body{padding-bottom:0} .tabbar{display:none} .top nav.desk{display:flex} .top .tools{margin-left:12px}
  .grid.c2{grid-template-columns:repeat(2,1fr)} .grid.c3{grid-template-columns:repeat(3,1fr)} .grid.stats{grid-template-columns:repeat(4,1fr)}
  .hero{padding:44px 40px} .hero h1{font-size:2.3rem}
}
@media (min-width:1000px){.grid.c4{grid-template-columns:repeat(4,1fr)} .grid.c3d{grid-template-columns:repeat(3,1fr)}}

.reader .pg{position:relative;width:100%;max-width:900px;margin:0 auto 10px;scroll-margin-top:70px}.reader .pg img{width:100%}
.reader .hot{position:absolute;display:block;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:rgba(245,166,35,.35)}
