:root{--green:#0c6848;--green2:#109366;--mint:#eaf7f1;--teal:#0d7d7c;--navy:#17324d;--blue:#2c6fd6;--amber:#c88416;--red:#c63d4c;--ink:#17212b;--muted:#6d7785;--line:#e4e9ee;--bg:#f5f7f9;--white:#fff;--shadow:0 12px 32px rgba(28,46,61,.08);--radius:16px;--sidebar:250px}*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.icon{width:21px;height:21px;display:inline-block;vertical-align:middle}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);height:100vh;position:fixed;left:0;top:0;background:#0b2d29;color:#d7eee6;display:flex;flex-direction:column;z-index:30;box-shadow:7px 0 30px rgba(0,0,0,.08)}.brand{height:82px;padding:18px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08)}.brand-mark{width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#52d39b,#0a9362);color:#072b24;font-size:24px;font-weight:900;display:grid;place-items:center;box-shadow:inset 0 1px rgba(255,255,255,.5)}.brand b{display:block;color:white;font-size:18px;letter-spacing:.2px}.brand small{display:block;color:#9cc8ba;font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.side-nav{padding:14px 11px;overflow-y:auto;flex:1}.side-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:#b8d2ca;margin:2px 0;font-size:13.5px;font-weight:600;transition:.16s}.side-nav a:hover{background:rgba(255,255,255,.06);color:#fff}.side-nav a.active{background:linear-gradient(100deg,rgba(42,190,132,.25),rgba(42,190,132,.08));color:#66e4af;box-shadow:inset 3px 0 #41d797}.side-footer{padding:14px;display:flex;gap:10px;align-items:center;border-top:1px solid rgba(255,255,255,.08)}.avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center;background:#1aa372;color:#fff;font-weight:800}.user-mini{min-width:0;flex:1}.user-mini strong,.user-mini small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini strong{color:white;font-size:12px}.user-mini small{color:#90b7ab;font-size:10px}.logout{color:#90b7ab}.logout:hover{color:#fff}.main{margin-left:var(--sidebar);min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;padding:15px 28px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.topbar h1{font-size:21px;line-height:1.2;margin:0}.topbar p{font-size:12px;color:var(--muted);margin:4px 0 0}.top-actions{margin-left:auto;display:flex;gap:9px;align-items:center}.mobile-menu{display:none}.content{padding:26px 28px;flex:1;max-width:1600px;width:100%;margin:0 auto}.footer{padding:15px 28px;color:#84909c;font-size:11px;display:flex;justify-content:space-between;border-top:1px solid var(--line);background:#fff}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 13px rgba(23,50,77,.035)}.card-body{padding:20px}.card-header{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.card-header h3{font-size:15px;margin:0}.card-header p{font-size:12px;color:var(--muted);margin:3px 0 0}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.stat{padding:19px;display:flex;gap:15px;align-items:center}.stat-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--mint);color:var(--green)}.stat-icon.blue{background:#edf4ff;color:var(--blue)}.stat-icon.amber{background:#fff6e7;color:var(--amber)}.stat-icon.red{background:#fff0f1;color:var(--red)}.stat strong{display:block;font-size:25px;line-height:1}.stat span{font-size:12px;color:var(--muted)}.hero{padding:27px;background:linear-gradient(115deg,#0c6848 0%,#0d7a5a 54%,#0d7378 100%);color:#fff;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:270px;height:270px;border:42px solid rgba(255,255,255,.06);border-radius:50%;right:-80px;top:-100px}.hero>*{position:relative;z-index:1}.hero small{color:#b9ecd8;text-transform:uppercase;letter-spacing:1.3px}.hero h2{font-size:25px;margin:6px 0}.hero p{max-width:680px;color:#d7f2e8;margin:0 0 18px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:26px 0 13px}.section-head:first-child{margin-top:0}.section-head h2{font-size:17px;margin:0}.section-head p{font-size:12px;color:var(--muted);margin:4px 0 0}.btn{appearance:none;border:1px solid transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 14px;font-weight:700;font-size:12px;cursor:pointer;transition:.15s;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:#09583d}.btn-secondary{background:#fff;color:var(--ink);border-color:#dfe5ea}.btn-secondary:hover{border-color:#b9c5cf;background:#f9fbfc}.btn-soft{background:var(--mint);color:var(--green)}.btn-danger{background:#fff1f2;color:var(--red)}.btn-white{background:#fff;color:var(--green)}.btn-sm{padding:6px 10px;font-size:11px;border-radius:8px}.btn-lg{padding:12px 18px;font-size:13px}.icon-btn{background:#fff;border:1px solid var(--line);width:39px;height:39px;border-radius:10px;display:grid;place-items:center;cursor:pointer}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#edf1f4;color:#536170;font-size:10px;font-weight:800}.badge.green{background:#e6f6ef;color:#08714c}.badge.blue{background:#eaf2ff;color:#235eb4}.badge.amber{background:#fff2d9;color:#98610b}.badge.red{background:#ffeaed;color:#ac2938}.badge.purple{background:#f2ebff;color:#6840a4}.progress{height:7px;background:#edf1f3;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green),#43cb91);border-radius:10px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid #edf0f2;font-size:12px;vertical-align:middle}.table th{color:#66727f;font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:#fafbfc}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fbfdfc}.actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.form-group{margin-bottom:15px}.form-label{display:block;font-size:11px;font-weight:800;color:#4d5965;margin:0 0 6px}.form-control{width:100%;border:1px solid #dce3e8;border-radius:10px;background:#fff;color:var(--ink);padding:10px 12px;outline:none;transition:.15s;font-size:13px}.form-control:focus{border-color:#38ad7c;box-shadow:0 0 0 3px rgba(16,147,102,.11)}textarea.form-control{min-height:105px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.help{color:var(--muted);font-size:10px;margin-top:4px}.required{color:var(--red)}.search-box{position:relative}.search-box .icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:17px;color:#8994a0}.search-box .form-control{padding-left:36px}.alert{padding:12px 15px;border-radius:11px;margin-bottom:15px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.alert button{border:0;background:none;font-size:20px;cursor:pointer;color:inherit}.alert-success{background:#e9f8f1;color:#086b49;border:1px solid #bfe8d4}.alert-warning{background:#fff8e7;color:#825810;border:1px solid #f1dfae}.alert-danger{background:#fff0f1;color:#9f2a38;border:1px solid #f4c3c9}.alert-info{background:#edf5ff;color:#275d9b;border:1px solid #c9def6}.empty-state{text-align:center;padding:55px 25px}.empty-icon{width:62px;height:62px;margin:0 auto 14px;border-radius:18px;background:var(--mint);color:var(--green);display:grid;place-items:center}.empty-icon .icon{width:30px;height:30px}.empty-state h3{margin:0 0 5px;font-size:16px}.empty-state p{color:var(--muted);font-size:12px;max-width:450px;margin:0 auto 16px}.chapter-card{padding:17px;display:flex;gap:14px;align-items:flex-start}.chapter-no{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:14px;font-weight:900}.chapter-card h3{font-size:13px;margin:0 0 4px;line-height:1.4}.chapter-card p{font-size:11px;color:var(--muted);margin:0 0 10px}.chapter-card .meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#74818e}.tabs{display:flex;gap:5px;background:#edf1f3;border-radius:11px;padding:4px;width:max-content}.tab{border:0;background:transparent;padding:8px 14px;border-radius:8px;font-size:11px;font-weight:800;color:#66727d;cursor:pointer}.tab.active{background:#fff;color:var(--green);box-shadow:0 2px 6px rgba(23,50,77,.08)}.kpi-ring{width:80px;height:80px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) var(--value),#e7ecef 0);position:relative}.kpi-ring:after{content:"";position:absolute;inset:8px;background:white;border-radius:50%}.kpi-ring strong{z-index:1;font-size:15px}.timeline-list{list-style:none;padding:0;margin:0}.timeline-list li{padding:0 0 18px 27px;position:relative;border-left:2px solid #e4ebe8;margin-left:7px}.timeline-list li:last-child{border-left-color:transparent;padding-bottom:0}.timeline-list li:before{content:"";width:12px;height:12px;border:3px solid #fff;background:var(--green2);box-shadow:0 0 0 2px #a8ddc8;border-radius:50%;position:absolute;left:-7px;top:2px}.timeline-list strong{font-size:12px;display:block}.timeline-list span{font-size:10px;color:var(--muted)}.question{padding:17px;border-bottom:1px solid var(--line)}.question:last-child{border-bottom:0}.question-head{display:flex;justify-content:space-between;gap:12px}.question h4{font-size:13px;margin:7px 0}.question p{font-size:11px;color:var(--muted);margin:0}.option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}.option{font-size:11px;background:#f7f9fa;border-radius:8px;padding:7px 10px}.check-row{display:flex;align-items:flex-start;gap:9px}.check-row input{margin-top:4px}.score-bar{height:11px;border-radius:10px;background:#edf1f3;overflow:hidden}.score-bar span{display:block;height:100%;background:var(--green)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.dot.green{background:var(--green)}.dot.amber{background:#e1a128}.dot.red{background:var(--red)}.auth-body{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.auth-cover{background:linear-gradient(135deg,#092e29,#0b6b4a 65%,#137d7d);padding:60px;display:flex;flex-direction:column;justify-content:center;color:white;position:relative;overflow:hidden}.auth-cover:before,.auth-cover:after{content:"";position:absolute;border:55px solid rgba(255,255,255,.05);border-radius:50%}.auth-cover:before{width:380px;height:380px;right:-180px;top:-120px}.auth-cover:after{width:220px;height:220px;left:-120px;bottom:-130px}.auth-cover-content{max-width:600px;position:relative;z-index:1}.auth-logo{display:flex;align-items:center;gap:12px;margin-bottom:40px}.auth-cover h1{font-size:38px;line-height:1.15;margin:0 0 18px}.auth-cover p{color:#c4e4d9;font-size:15px}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:35px}.feature-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:13px;font-size:12px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:40px}.auth-box{width:100%;max-width:430px}.auth-box h2{font-size:25px;margin:0}.auth-box>p{color:var(--muted);font-size:13px;margin:6px 0 25px}.auth-links{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}.auth-links a{color:var(--green);font-weight:800}.install-shell{min-height:100vh;padding:35px 15px;background:linear-gradient(145deg,#eef8f3,#f6f8fa)}.install-box{max-width:850px;margin:auto}.install-head{text-align:center;margin-bottom:22px}.install-head .brand-mark{margin:auto}.install-head h1{margin:10px 0 4px}.install-head p{margin:0;color:var(--muted)}.step-list{display:flex;justify-content:center;gap:6px;margin:18px 0}.step{padding:6px 11px;background:#e7ecef;border-radius:999px;font-size:10px;font-weight:800;color:#77828d}.step.active{background:var(--green);color:white}.notice{padding:13px;border-left:4px solid var(--blue);background:#f0f6ff;font-size:11px;border-radius:6px}.print-wrap{max-width:950px;margin:20px auto;background:white;padding:35px;color:#111}.doc-head{text-align:center;border-bottom:2px solid #222;padding-bottom:15px;margin-bottom:20px}.doc-head h1{font-size:20px;margin:0}.doc-head p{font-size:11px;margin:4px}.doc-meta{display:grid;grid-template-columns:1fr 1fr;border:1px solid #bbb;margin-bottom:18px}.doc-meta div{padding:7px 10px;border-bottom:1px solid #ddd;font-size:11px}.doc-meta div:nth-child(odd){border-right:1px solid #ddd}.doc-section{margin:15px 0}.doc-section h2{font-size:13px;background:#eee;padding:6px 9px;margin:0 0 7px;border:1px solid #ccc}.doc-section p,.doc-section li{font-size:11px}.paper-question{margin:18px 0;page-break-inside:avoid}.paper-question .marks{float:right;font-weight:bold}.answer-box{border-bottom:1px dotted #999;height:25px}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px;text-align:center;font-size:11px}.signature-line{border-top:1px solid #555;padding-top:4px}.muted{color:var(--muted)}.text-right{text-align:right}.text-center{text-align:center}.mb-0{margin-bottom:0!important}.mt-0{margin-top:0!important}.mb-1{margin-bottom:8px!important}.mb-2{margin-bottom:15px!important}.mb-3{margin-bottom:22px!important}.mt-2{margin-top:15px!important}.w-100{width:100%}.nowrap{white-space:nowrap}.small{font-size:11px}.lead{font-size:14px}.divider{height:1px;background:var(--line);margin:18px 0}@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){:root{--sidebar:245px}.sidebar{transform:translateX(-105%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.main{margin-left:0}.mobile-menu{display:grid}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:25}.sidebar-open .sidebar-backdrop{display:block}.topbar{padding:14px 16px}.topbar p{display:none}.content{padding:18px 15px}.footer{padding:13px 15px;display:block}.footer span{display:block}.auth-body{grid-template-columns:1fr}.auth-cover{display:none}.auth-panel{min-height:100vh;padding:25px}.form-row,.form-row.three{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.top-actions .btn span{display:none}.section-head{align-items:flex-start;flex-direction:column}.option-list{grid-template-columns:1fr}.feature-list{grid-template-columns:1fr}.doc-meta{grid-template-columns:1fr}.doc-meta div:nth-child(odd){border-right:0}.signature-grid{gap:15px}}@media print{body{background:white}.print-wrap{margin:0;max-width:none;padding:0}.no-print{display:none!important}@page{size:A4;margin:15mm}.doc-section,.paper-question{break-inside:avoid}}

/* BioCikgu 2.0 — tuition marketplace, learning and community */
.role-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.role-option{display:flex;align-items:flex-start;gap:9px;border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer}.role-option:has(input:checked){border-color:var(--green2);background:var(--mint)}.role-option input{margin-top:4px}.role-option b,.role-option small{display:block}.role-option small{font-size:10px;color:var(--muted);margin-top:2px}
.public-body{background:#f6faf8}.public-nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:12px max(24px,calc((100vw - 1240px)/2));background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}.public-brand{display:flex;align-items:center;gap:10px}.public-brand .brand-mark{width:39px;height:39px;font-size:21px}.public-brand b,.public-brand small{display:block}.public-brand b{font-size:17px;color:var(--green)}.public-brand small{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.public-nav nav{display:flex;gap:17px;align-items:center;font-size:12px;font-weight:700}.public-main{min-height:100vh}.public-section{max-width:1240px;margin:0 auto;padding:42px 24px}.public-footer{max-width:1240px;margin:30px auto 0;padding:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.catalog-hero{max-width:1240px;margin:30px auto 0;border-radius:28px;padding:54px;background:linear-gradient(120deg,#083f33,#0c704d 60%,#0a7577);color:#fff;display:grid;grid-template-columns:1fr 210px;gap:35px;overflow:hidden;position:relative}.catalog-hero:before{content:"";position:absolute;width:420px;height:420px;border:60px solid rgba(255,255,255,.05);border-radius:50%;right:-150px;top:-170px}.catalog-hero>div{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#8ef0c6;font-weight:900}.catalog-hero h1{font-size:38px;line-height:1.15;max-width:780px;margin:10px 0 14px}.catalog-hero p{max-width:680px;color:#caeadf;font-size:14px}.catalog-search{display:grid;grid-template-columns:1fr 180px auto;gap:8px;margin-top:25px;background:rgba(255,255,255,.12);padding:8px;border-radius:13px}.catalog-search input,.catalog-search select{border:0;border-radius:9px;padding:11px 13px;background:#fff;color:var(--ink);outline:0}.hero-biology{width:170px;height:170px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);border-radius:50%;display:grid;place-items:center;align-content:center;justify-self:end;align-self:center;box-shadow:0 0 0 22px rgba(255,255,255,.035)}.hero-biology span,.hero-biology small{font-size:10px;letter-spacing:1.2px;color:#c8eee0}.hero-biology strong{font-size:45px;line-height:1}
.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 8px 24px rgba(23,50,77,.055);display:flex;flex-direction:column}.course-cover{height:190px;background:linear-gradient(145deg,#0c6848,#0d7d7c);position:relative;display:block;overflow:hidden}.course-cover img{width:100%;height:100%;object-fit:cover}.cover-placeholder{height:100%;display:grid;place-items:center;color:#fff;font-size:46px;font-weight:900;letter-spacing:4px;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.18),transparent 28%),linear-gradient(135deg,#0b493a,#0e8a62)}.cover-placeholder span{font-size:11px;position:absolute;bottom:17px}.course-level{position:absolute;top:13px;right:13px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.93);color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase}.pending-label{color:var(--amber)}.course-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.teacher-line{font-size:10px;color:var(--muted)}.course-card h3{font-size:16px;line-height:1.35;margin:7px 0}.course-card p{font-size:11px;color:var(--muted);margin:0 0 14px}.course-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;color:#687684;padding:10px 0;border-top:1px solid var(--line);margin-top:auto}.course-price{display:flex;align-items:center;gap:6px;padding-top:12px}.course-price strong{font-size:17px;color:var(--green)}.course-price small{font-size:9px;color:var(--muted)}.course-price .btn{margin-left:auto}
.course-detail-hero{max-width:1240px;margin:28px auto 0;padding:45px 24px;display:grid;grid-template-columns:1fr 370px;gap:45px}.course-detail-copy{padding:25px 0}.course-detail-copy h1{font-size:38px;line-height:1.18;margin:14px 0}.course-detail-copy>p{font-size:15px;color:#52606d;max-width:760px}.teacher-profile{display:flex;align-items:center;gap:11px;margin:25px 0}.teacher-profile small,.teacher-profile b,.teacher-profile span{display:block}.teacher-profile small,.teacher-profile span{font-size:10px;color:var(--muted)}.course-facts{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;font-weight:700}.enroll-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.enroll-card>img{width:100%;height:190px;object-fit:cover}.enroll-card-body{padding:22px}.enroll-price{font-size:29px;font-weight:900;color:var(--green);margin-bottom:12px}.enroll-price small{font-size:12px;color:var(--muted)}.enroll-card p{font-size:11px;color:var(--muted)}.secure-note{font-size:10px;color:var(--muted);line-height:1.8;margin-top:14px}.course-detail-grid{display:grid;grid-template-columns:1fr 310px;gap:25px;padding-top:0}.curriculum-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.curriculum-row:last-child{border-bottom:0}.curriculum-row b,.curriculum-row small{display:block}.curriculum-row small,.curriculum-row>span:last-child{font-size:10px;color:var(--muted)}.preview-row{display:grid;grid-template-columns:30px 1fr auto;gap:11px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line)}.preview-row div b,.preview-row div small{display:block}.preview-row div small{font-size:10px;color:var(--muted)}.preview-row em{font-size:9px;color:var(--green);font-style:normal;font-weight:900}.prose{font-size:13px;line-height:1.75;color:#34414d}.preview-page{max-width:950px}.text-center .btn{margin:auto}
.builder-summary .card-body{display:flex;justify-content:space-between;gap:25px;align-items:center}.builder-summary h2{margin:7px 0 3px}.builder-summary p{margin:0;color:var(--muted);font-size:11px}.builder-kpis{display:flex;gap:9px;flex-wrap:wrap}.builder-kpis span{background:#f5f8f7;border-radius:11px;padding:10px 12px;font-size:9px;color:var(--muted);min-width:80px;text-align:center}.builder-kpis b{display:block;font-size:13px;color:var(--ink)}.module-block{border-bottom:8px solid var(--bg)}.module-head{padding:18px 20px;background:#fbfcfc;display:flex;justify-content:space-between;gap:20px}.module-head h3{margin:6px 0 2px}.module-head p{font-size:10px;color:var(--muted);margin:0}.lesson-row{display:grid;grid-template-columns:65px 1fr auto;align-items:center;gap:10px;padding:11px 20px;border-top:1px solid var(--line)}.lesson-type{font-size:8px;font-weight:900;color:var(--green);background:var(--mint);padding:5px;border-radius:6px;text-align:center}.lesson-row b,.lesson-row small{display:block}.lesson-row small{font-size:9px;color:var(--muted)}.inline-editor{margin:0 20px 15px;padding:15px;border:1px dashed #cfd9d5;border-radius:12px;background:#fbfdfc}.add-lesson{margin:15px 20px 20px;padding:16px;background:#f2f8f5;border-radius:13px}.add-lesson h4{margin:0 0 13px}.sticky-card{position:sticky;top:100px}
.payment-summary{display:flex;align-items:end;gap:9px;margin-bottom:14px}.payment-summary strong{font-size:24px;color:var(--green)}.payment-summary span{font-size:10px;color:var(--muted);padding-bottom:4px}.bank-box{background:#0b342e;color:#fff;border-radius:13px;padding:16px;margin-bottom:17px}.bank-box span,.bank-box b,.bank-box strong,.bank-box small{display:block}.bank-box span,.bank-box small{font-size:10px;color:#acd5c8}.bank-box strong{font-size:23px;letter-spacing:1px;margin:7px 0}.bank-box p{color:#c8e3da!important;border-top:1px solid rgba(255,255,255,.1);padding-top:10px;margin-top:10px!important}
.learning-shell{display:grid;grid-template-columns:295px 1fr;gap:19px;align-items:start}.learning-nav{background:#102e2a;color:#d9eee7;border-radius:15px;overflow:hidden;position:sticky;top:100px;max-height:calc(100vh - 125px);overflow-y:auto}.learning-progress{padding:17px;border-bottom:1px solid rgba(255,255,255,.1)}.learning-progress>div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:8px}.learning-module h4{margin:0;padding:13px 15px;background:rgba(255,255,255,.04);font-size:11px;color:#9dd2c1}.learning-link{display:flex;gap:9px;padding:10px 14px;font-size:11px;border-bottom:1px solid rgba(255,255,255,.05);color:#bad5cc}.learning-link:hover,.learning-link.active{background:rgba(64,215,159,.13);color:#70e8b8}.learning-link>span{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);font-size:8px}.learning-link div{flex:1}.learning-link small{display:block;font-size:8px;color:#789f93}.learning-content{min-width:0}.lesson-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 15px}.lesson-header small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.lesson-header h2{margin:2px 0;font-size:24px}.lesson-body{min-height:420px}.video-frame{aspect-ratio:16/9;background:#061b18;border-radius:13px;overflow:hidden;margin-bottom:20px}.video-frame iframe{width:100%;height:100%;border:0}.lesson-video{width:100%;max-height:620px;background:#000;border-radius:13px;margin-bottom:20px}.download-panel{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#f2f8f5;border:1px solid #dbeae3;border-radius:13px;padding:15px;margin-top:20px}.download-panel b,.download-panel span{display:block}.download-panel span{font-size:9px;color:var(--muted)}.lesson-footer{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:10px;margin-top:12px}
.community-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}.community-post{overflow:hidden}.post-head{display:flex;gap:10px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}.post-head>div:nth-child(2){flex:1}.post-head small{font-size:9px;color:var(--muted)}.post-body{padding:18px}.post-body h3{margin:0 0 7px}.post-body p{font-size:12px}.comments{padding:15px 18px;background:#f8faf9}.comments>b{font-size:10px;color:var(--muted)}.comment{display:flex;gap:9px;margin:13px 0}.comment>span{width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#dcefe7;color:var(--green);display:grid;place-items:center;font-size:10px;font-weight:900}.comment b,.comment p,.comment small{display:block;margin:0}.comment b{font-size:10px}.comment b em{font-style:normal;color:var(--green);font-size:8px}.comment p{font-size:11px;margin:3px 0}.comment small{font-size:8px;color:var(--muted)}.comment-form{display:flex;gap:7px;margin-top:12px}.comment-form .form-control{flex:1}
@media(max-width:1000px){.course-grid{grid-template-columns:repeat(2,1fr)}.course-detail-hero{grid-template-columns:1fr 320px}.learning-shell{grid-template-columns:240px 1fr}.catalog-hero{margin:20px;border-radius:22px}}
@media(max-width:760px){.public-nav{padding:10px 14px}.public-nav nav>a:not(.btn){display:none}.catalog-hero{grid-template-columns:1fr;padding:32px 24px;margin:12px}.catalog-hero h1{font-size:29px}.hero-biology{display:none}.catalog-search{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.course-detail-hero,.course-detail-grid,.learning-shell,.community-layout{grid-template-columns:1fr}.course-detail-hero{padding:25px 16px}.course-detail-copy h1{font-size:29px}.learning-nav{position:static;max-height:none}.builder-summary .card-body{display:block}.builder-kpis{margin-top:15px}.sticky-card{position:static}.public-footer{display:block}.public-footer span{display:block}.role-picker{grid-template-columns:1fr}.lesson-row{grid-template-columns:55px 1fr}.lesson-row>.actions{grid-column:2}.curriculum-row{grid-template-columns:38px 1fr}.curriculum-row>span:last-child{grid-column:2}.course-cover{height:175px}}
.module-edit{margin:0 20px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.module-edit summary{cursor:pointer;padding:9px 12px;font-size:10px;font-weight:800;color:var(--green)}.module-edit form{padding:12px;border-top:1px solid var(--line)}

/* BioCikgu 2.1 — marketplace bahan digital */
.payment-options-box{border:1px solid #cfe5db;background:#f4fbf7;border-radius:14px;padding:17px;margin:5px 0 18px}.payment-options-box h4{margin:0 0 12px;color:var(--green);font-size:14px}.resource-card h3{margin:13px 0 6px;font-size:15px}.resource-card p{min-height:42px}.resource-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0;padding:10px;background:#f7f9f8;border-radius:10px}.resource-stats span{font-size:9px;color:var(--muted);text-align:center}.resource-stats b{display:block;color:var(--ink);font-size:11px}.resource-market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.market-resource-card{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 8px 24px rgba(23,50,77,.055);display:flex;flex-direction:column}.resource-cover{height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#fff;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.2),transparent 28%),linear-gradient(135deg,#0b493a,#0d8b67);overflow:hidden}.resource-cover:before,.resource-cover:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%}.resource-cover:before{width:125px;height:125px;right:-30px;top:-35px}.resource-cover:after{width:70px;height:70px;left:-18px;bottom:-22px}.resource-cover span{font-weight:900;font-size:38px;letter-spacing:3px;z-index:1}.resource-cover small{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#cceee2;z-index:1}.resource-cover b{position:absolute;bottom:12px;left:12px;font-size:9px;background:rgba(255,255,255,.92);color:var(--green);padding:5px 8px;border-radius:999px}.market-resource-body{padding:17px;display:flex;flex-direction:column;flex:1}.market-resource-body h3{font-size:15px;line-height:1.4;margin:7px 0}.market-resource-body p{font-size:11px;color:var(--muted);margin:0 0 13px;min-height:48px}.resource-meta{display:flex;gap:9px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:10px;margin-top:auto;font-size:9px;color:var(--muted)}.material-search{grid-template-columns:1fr 150px 150px auto}.material-detail-hero{max-width:1240px;margin:28px auto 0;padding:45px 24px;display:grid;grid-template-columns:1fr 390px;gap:45px}.material-detail-copy{padding:25px 0}.material-detail-copy h1{font-size:38px;line-height:1.18;margin:14px 0}.material-detail-copy>p{font-size:15px;color:#52606d;max-width:760px}.detail-cover{height:180px}.material-buy-card{align-self:start}.material-info-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:22px}.material-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.material-specs span{padding:13px;background:#f5f8f7;border-radius:11px}.material-specs small,.material-specs b{display:block}.material-specs small{font-size:9px;color:var(--muted)}.material-specs b{font-size:12px;margin-top:3px}
@media(max-width:1100px){.resource-market-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.resource-market-grid{grid-template-columns:repeat(2,1fr)}.material-detail-hero{grid-template-columns:1fr 330px}.material-search{grid-template-columns:1fr 130px}}
@media(max-width:760px){.resource-market-grid,.material-detail-hero,.material-info-grid{grid-template-columns:1fr}.material-detail-hero{padding:24px 16px}.material-detail-copy h1{font-size:29px}.material-search{grid-template-columns:1fr}.material-specs{grid-template-columns:repeat(2,1fr)}.resource-stats{grid-template-columns:1fr}.resource-card p{min-height:auto}}
