:root{--ink:#111827;--muted:#667085;--line:#e4e7ec;--soft:#f8fafc;--card:#fff;--danger:#b42318;--good:#067647;--warn:#b54708}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;color:var(--ink);background:#fff}.top{min-height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:24px;position:sticky;top:0;background:#fff;z-index:5}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);letter-spacing:.04em}.logo{width:36px;height:36px;border-radius:12px;background:#111827;color:#fff;display:grid;place-items:center}.top nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.top nav a{color:#1f2937;text-decoration:none;font-size:14px}.wrap{max-width:1120px;margin:0 auto;padding:44px 24px 80px}.eyebrow{font-size:12px;letter-spacing:.14em;color:var(--muted);font-weight:700}.hero{padding:42px 0 28px}.hero.compact{padding:28px 0 18px}.hero h1{font-size:clamp(36px,6vw,72px);line-height:1.04;margin:10px 0 18px;max-width:920px}.hero.compact h1{font-size:clamp(32px,4vw,52px)}.hero p{font-size:18px;line-height:1.7;color:var(--muted);max-width:760px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--card);min-height:170px}.card h2,.card h3{margin-top:0}.card p{color:var(--muted);line-height:1.65}.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;border-radius:999px;border:1px solid #111827;text-decoration:none;color:#111827;background:#fff;font-weight:650;font:inherit;cursor:pointer}.btn.primary{background:#111827;color:#fff}.btn.danger{border-color:#f04438;color:#b42318}.btn.small{padding:7px 11px;font-size:13px}.form{max-width:650px;border:1px solid var(--line);border-radius:24px;padding:28px}.form.wide{max-width:900px}.form label{display:block;font-weight:650;margin:14px 0 7px}.form input,.form textarea,.form select{width:100%;padding:13px 14px;border:1px solid #d0d5dd;border-radius:12px;font:inherit;background:#fff}.form textarea{min-height:120px;resize:vertical}.check{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.check input{width:auto!important;margin-top:4px}.alert{padding:12px 14px;border-radius:12px;background:#fff2f0;border:1px solid #ffd2cc;margin:12px 0}.alert.ok{background:#ecfdf3;border-color:#abefc6}.alert.warn{background:#fffaeb;border-color:#fedf89}.muted{color:var(--muted)}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 26px}.subnav a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none}.subnav a.active{background:#111827;color:#fff;border-color:#111827}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f2f4f7;font-size:12px;font-weight:700;margin:2px}.badge.good{background:#ecfdf3;color:#067647}.badge.warn{background:#fffaeb;color:#b54708}.badge.danger{background:#fef3f2;color:#b42318}.profile-head{display:flex;gap:20px;align-items:center}.avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:#f2f4f7}.avatar.sm{width:38px;height:38px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}.table th{font-size:13px;background:#f8fafc}.table tr:last-child td{border-bottom:0}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:16px 0}.toolbar form{display:flex;gap:8px;flex-wrap:wrap}.toolbar input,.toolbar select{padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;font:inherit}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{border:1px solid var(--line);border-radius:18px;padding:18px}.stat b{display:block;font-size:30px;margin-top:7px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.right{text-align:right}.actions{display:flex;gap:8px;flex-wrap:wrap}footer{border-top:1px solid var(--line);padding:28px;text-align:center;color:var(--muted);font-size:13px}@media(max-width:820px){.top{align-items:flex-start;padding:14px 16px}.top nav{gap:10px 14px;justify-content:flex-end}.grid,.grid.two,.stats,.split{grid-template-columns:1fr}.wrap{padding:28px 16px 60px}.hero{padding-top:26px}.form{padding:20px}.profile-head{align-items:flex-start}.table{min-width:680px}}

/* =========================================================
   PANMAHA Global Theme Foundation v1.2.7
   Brand: #0F172A | CTA: #2563EB | Price: #F59E0B
   Success: #16A34A | Background: #FFFFFF / #F8FAFC
   ========================================================= */
:root{
  --pm-brand:#0F172A;
  --pm-brand-2:#1E293B;
  --pm-bg:#F8FAFC;
  --pm-surface:#FFFFFF;
  --pm-primary:#2563EB;
  --pm-primary-hover:#1D4ED8;
  --pm-primary-soft:#EFF6FF;
  --pm-price:#F59E0B;
  --pm-price-soft:#FFFBEB;
  --pm-success:#16A34A;
  --pm-success-soft:#F0FDF4;
  --pm-danger:#DC2626;
  --pm-muted:#64748B;
  --pm-line:#E2E8F0;
  --pm-shadow:0 12px 32px rgba(15,23,42,.07);
  --pm-shadow-hover:0 18px 46px rgba(15,23,42,.12);
  --pm-radius:18px;
  --ink:var(--pm-brand);
  --muted:var(--pm-muted);
  --line:var(--pm-line);
  --soft:var(--pm-bg);
  --card:var(--pm-surface);
  --good:var(--pm-success);
  --warn:#B45309;
  --danger:var(--pm-danger);
}
html{background:var(--pm-bg);scroll-behavior:smooth}
body{background:var(--pm-bg);color:var(--pm-brand);font-family:system-ui,-apple-system,"Segoe UI",Tahoma,"Noto Sans Thai",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--pm-primary);text-underline-offset:3px}
a:hover{color:var(--pm-primary-hover)}
.top{min-height:72px;padding:0 22px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--pm-line);box-shadow:0 1px 0 rgba(15,23,42,.02);backdrop-filter:saturate(160%) blur(12px);z-index:30}
.top-inner{width:min(1240px,100%);min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{gap:11px;color:var(--pm-brand);letter-spacing:0;flex:0 0 auto}
.brand:hover{color:var(--pm-brand)}
.logo{width:38px;height:38px;border-radius:12px;background:var(--pm-brand);color:#fff;font-weight:850;box-shadow:0 8px 18px rgba(15,23,42,.14)}
.brand-copy{display:flex;flex-direction:column;line-height:1.02;gap:3px}
.brand-copy b{font-size:16px;letter-spacing:.035em}
.brand-copy small{font-size:9px;letter-spacing:.17em;color:var(--pm-muted);font-weight:800}
.site-nav,.top nav{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.nav-link,.top nav>a{padding:9px 10px;border-radius:10px;color:#334155;text-decoration:none;font-size:14px;font-weight:600;transition:background .15s,color .15s,transform .15s}
.nav-link:hover,.top nav>a:hover{background:#F1F5F9;color:var(--pm-brand)}
.nav-link.admin-link{color:#475569;font-size:13px}
.nav-account{padding:9px 11px;border-radius:10px;background:#F8FAFC;color:var(--pm-brand)!important;text-decoration:none;font-size:13px;font-weight:750;border:1px solid var(--pm-line)}
.nav-account:hover{background:#F1F5F9}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 15px;border-radius:11px;background:var(--pm-primary);color:#fff!important;text-decoration:none;font-size:14px;font-weight:800;box-shadow:0 7px 16px rgba(37,99,235,.18);transition:background .15s,transform .15s,box-shadow .15s}
.nav-cta:hover{background:var(--pm-primary-hover);transform:translateY(-1px);box-shadow:0 10px 22px rgba(37,99,235,.23)}
.wrap{max-width:1240px;padding:38px 24px 84px}
.eyebrow{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#F1F5F9;color:#64748B;font-size:10px;letter-spacing:.13em;font-weight:850}
h1,h2,h3,h4{color:var(--pm-brand);letter-spacing:-.025em}
.hero h1{letter-spacing:-.045em}
.hero p,.card p,.muted{color:var(--pm-muted)}
.card,.stat,.stat-card,.form,.table-wrap,.section-box,.quiz-question{background:var(--pm-surface);border-color:var(--pm-line);box-shadow:0 1px 2px rgba(15,23,42,.025)}
.card{border-radius:var(--pm-radius)}
.btn{min-height:44px;padding:10px 16px;border-radius:12px;border-color:#CBD5E1;color:var(--pm-brand);background:#fff;font-weight:750;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s,color .15s}
.btn:hover{transform:translateY(-1px);border-color:#94A3B8;background:#F8FAFC;color:var(--pm-brand);box-shadow:0 8px 20px rgba(15,23,42,.07)}
.btn.primary{background:var(--pm-primary);border-color:var(--pm-primary);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.18)}
.btn.primary:hover{background:var(--pm-primary-hover);border-color:var(--pm-primary-hover);color:#fff;box-shadow:0 11px 24px rgba(37,99,235,.24)}
.btn.danger{border-color:#FCA5A5;color:#B91C1C;background:#fff}
.btn.small{min-height:36px;border-radius:10px}
.form{border-radius:20px;box-shadow:var(--pm-shadow)}
.form label,.form-grid label{color:#334155}
.form input,.form textarea,.form select,.form-grid input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.form-grid textarea,.form-grid select,.toolbar input,.toolbar select,.filters input,.filters select{border-color:#CBD5E1;background:#fff;color:var(--pm-brand);outline:none;transition:border .15s,box-shadow .15s}
.form input:focus,.form textarea:focus,.form select:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.toolbar input:focus,.toolbar select:focus,.filters input:focus,.filters select:focus{border-color:#60A5FA;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.subnav a{border-color:var(--pm-line);background:#fff;color:#475569;font-weight:700}
.subnav a:hover{border-color:#BFDBFE;background:var(--pm-primary-soft);color:var(--pm-primary)}
.subnav a.active{background:var(--pm-primary);border-color:var(--pm-primary);color:#fff;box-shadow:0 7px 16px rgba(37,99,235,.14)}
.badge{background:#F1F5F9;color:#475569}
.badge.good,.status-published{background:var(--pm-success-soft)!important;color:#15803D!important}
.badge.warn,.status-review{background:var(--pm-price-soft)!important;color:#B45309!important}
.badge.danger,.status-rejected{background:#FEF2F2!important;color:#B91C1C!important}
.alert{border-color:#FECACA;background:#FEF2F2;color:#991B1B}
.alert.ok{background:var(--pm-success-soft);border-color:#BBF7D0;color:#166534}
.alert.warn{background:var(--pm-price-soft);border-color:#FDE68A;color:#92400E}
.progress-track{background:#E2E8F0}
.progress-fill{background:linear-gradient(90deg,var(--pm-primary),#3B82F6)}
.lesson-link.active{background:var(--pm-brand);color:#fff}
.course-price,.quick-preview-price b{color:var(--pm-price)!important}
.price-old,.quick-preview-price del{color:#94A3B8!important}
.certificate{border-color:var(--pm-brand)}
.table th,.data-table th{background:#F8FAFC;color:#64748B}
.table tr:hover td,.data-table tr:hover td{background:#FCFDFE}
.site-footer{border-top:1px solid var(--pm-line);background:#fff;padding:0;color:var(--pm-muted)}
.footer-inner{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:30px 0;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:28px;align-items:center}
.footer-brand{display:flex;flex-direction:column;gap:4px}.footer-brand b{color:var(--pm-brand);font-size:15px}.footer-brand span{font-size:12px;color:var(--pm-muted)}
.footer-inner nav{display:flex;gap:16px;flex-wrap:wrap}.footer-inner nav a{font-size:12px;color:#475569;text-decoration:none;font-weight:650}.footer-inner nav a:hover{color:var(--pm-primary)}.footer-inner small{font-size:11px;color:#94A3B8;white-space:nowrap}

/* Learn marketplace emphasis */
.course-card{border-color:var(--pm-line);border-radius:18px;box-shadow:0 5px 18px rgba(15,23,42,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.course-card:hover{transform:translateY(-3px);border-color:#CBD5E1;box-shadow:var(--pm-shadow-hover)}
.course-card h3 a{color:var(--pm-brand)}
.course-card h3 a:hover{color:var(--pm-primary)}
.course-card-cta{border-color:#CBD5E1;background:#fff}
.course-card:hover .course-card-cta{border-color:#93C5FD;color:var(--pm-primary);background:var(--pm-primary-soft)}
.cover-badge{background:var(--pm-price)!important;color:#fff!important;box-shadow:0 6px 16px rgba(245,158,11,.18)}
.cover-badge.free{background:var(--pm-success)!important;box-shadow:0 6px 16px rgba(22,163,74,.18)}
.trust-strip{border-color:var(--pm-line);background:#fff}
.trust-strip span+span{border-left-color:var(--pm-line)}
.conversion-hero,.learner-personal-card,.course-discovery,.instructor-soft-cta{border-color:var(--pm-line)}
.conversion-hero{background:linear-gradient(145deg,#FFFFFF 0%,#F8FAFC 62%,#EFF6FF 100%);border-radius:28px;padding-left:28px;padding-right:28px}
.hero-label,.section-kicker{color:var(--pm-primary)!important}
.hero-primary{background:var(--pm-primary)!important;border-color:var(--pm-primary)!important}
.learner-personal-card{background:#fff;box-shadow:var(--pm-shadow)}
.personal-icon,.value-no{background:var(--pm-primary-soft)!important;color:var(--pm-primary)!important;border-color:#BFDBFE!important}
.category-chip{border-color:var(--pm-line);background:#fff;color:#475569}
.category-chip:hover,.category-chip.active{border-color:#93C5FD;background:var(--pm-primary-soft);color:var(--pm-primary)}
.quick-preview-trigger{background:rgba(15,23,42,.90);color:#fff}
.course-preview-popover{border-color:var(--pm-line);box-shadow:0 28px 80px rgba(15,23,42,.24)}
.quick-preview-category{color:var(--pm-primary)}
.quick-preview-facts span::before{color:var(--pm-success)}
.result-count{color:var(--pm-muted)}
.instructor-soft-cta{background:#fff}

/* Registration / account */
.register-page{background:var(--pm-bg)}
.register-main{border-color:var(--pm-line);box-shadow:var(--pm-shadow)}
.register-field input:focus{border-color:#60A5FA;box-shadow:0 0 0 4px rgba(37,99,235,.10)}
.register-submit{background:var(--pm-primary);box-shadow:0 12px 24px rgba(37,99,235,.18)}
.register-submit:hover{background:var(--pm-primary-hover);box-shadow:0 16px 30px rgba(37,99,235,.24)}
.password-meter span{background:var(--pm-primary)}
.register-trust-panel{background:linear-gradient(155deg,var(--pm-brand) 0%,#172554 100%);box-shadow:0 26px 70px rgba(15,23,42,.18)}
.field-feedback.good{color:var(--pm-success)}

/* Shop / Portal visual foundation */
.grid .card{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.grid .card:hover{transform:translateY(-2px);box-shadow:var(--pm-shadow);border-color:#CBD5E1}

@media(max-width:980px){
  .top{padding:0 16px}.top-inner{align-items:flex-start;padding:12px 0;min-height:72px}.site-nav,.top nav{gap:3px}.nav-link,.top nav>a{font-size:13px;padding:8px}.wrap{padding-top:30px}.footer-inner{grid-template-columns:1fr;gap:14px}.footer-inner small{white-space:normal}
}
@media(max-width:720px){
  .top{position:sticky}.top-inner{display:grid;grid-template-columns:1fr;gap:8px}.site-nav,.top nav{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:3px;scrollbar-width:none}.site-nav::-webkit-scrollbar,.top nav::-webkit-scrollbar{display:none}.nav-link,.top nav>a,.nav-account,.nav-cta{white-space:nowrap}.wrap{padding:24px 16px 64px}.conversion-hero{padding-left:18px;padding-right:18px;border-radius:22px}.footer-inner{width:calc(100% - 32px)}
}
