/* curriculum.css — Curriculum & Content Development service portal
   Scoped cur-* classes on top of the shared vd- / brand palette. Theme-aware. */

.cur-hero{background:linear-gradient(135deg,var(--deep) 0%,var(--deep-mid) 100%);border-radius:20px;padding:40px 36px;color:#fff;position:relative;overflow:hidden;margin-bottom:24px}
.cur-hero::after{content:"";position:absolute;right:-90px;top:-90px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(0,150,107,.28),transparent 70%)}
.cur-hero .vd-eyebrow{color:var(--saffron-mid)}
.cur-hero h1{font-family:var(--font-serif);font-size:2.1rem;line-height:1.12;margin:6px 0 12px;color:#fff;max-width:22ch}
.cur-hero h1 em{font-style:italic;color:var(--saffron)}
.cur-hero p{max-width:760px;font-size:1rem;line-height:1.65;color:rgba(255,255,255,.85);margin:0}
.cur-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;position:relative;z-index:1}
.cur-hero__chips .vd-chip{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}

/* layout: wizard + sticky price panel */
.cur-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
@media(max-width:900px){.cur-layout{grid-template-columns:1fr}}

.cur-wizard{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:24px 26px;position:relative}
.cur-steps{list-style:none;display:flex;gap:6px;margin:0 0 22px;padding:0 0 16px;border-bottom:1px solid var(--border);overflow-x:auto}
.cur-steps li{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700;color:var(--text-muted);white-space:nowrap;padding:2px 6px;cursor:default}
.cur-steps li span{width:22px;height:22px;border-radius:50%;background:var(--cream);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--text-muted)}
.cur-steps li.active{color:var(--saffron-d)}
.cur-steps li.active span{background:var(--saffron);color:#fff;border-color:var(--saffron)}
.cur-steps li.done span{background:var(--emerald);color:#fff;border-color:var(--emerald)}

.cur-step{display:none;animation:curfade .25s ease}
.cur-step.active{display:block}
@keyframes curfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cur-h2{font-family:var(--font-serif);font-size:1.35rem;color:var(--deep);margin:0 0 16px}
.cur-lbl{display:block;font-size:.82rem;font-weight:700;color:var(--deep-mid);margin:16px 0 8px}
.cur-lbl em{font-style:normal;font-weight:500;color:var(--text-muted)}

.cur-field{display:block;margin-bottom:14px}
.cur-field>span{display:block;font-size:.82rem;font-weight:700;color:var(--deep-mid);margin-bottom:5px}
.cur-field select,.cur-field input,.cur-field textarea{width:100%;padding:11px 13px;border:1.5px solid var(--border-dark,#d9d2c6);border-radius:10px;font-size:.95rem;font-family:inherit;background:var(--white);color:var(--deep)}
.cur-field textarea{resize:vertical}
.cur-field select:focus,.cur-field input:focus,.cur-field textarea:focus{outline:none;border-color:var(--saffron);box-shadow:0 0 0 3px var(--saffron-light)}
.cur-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.cur-row{grid-template-columns:1fr}}
.cur-hr{border:none;border-top:1px dashed var(--border);margin:18px 0}

.cur-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.cur-choice-grid{grid-template-columns:1fr}}
.cur-choice{position:relative;border:1.5px solid var(--border);border-radius:12px;padding:14px 15px;cursor:pointer;transition:all .15s;display:block}
.cur-choice input{position:absolute;opacity:0}
.cur-choice__t{display:block;font-weight:700;color:var(--deep);font-size:.95rem}
.cur-choice__d{display:block;font-size:.8rem;color:var(--text-muted);margin-top:3px;line-height:1.4}
.cur-choice:hover{border-color:var(--saffron-mid)}
.cur-choice:has(input:checked){border-color:var(--saffron);background:var(--saffron-light)}

.cur-pill-grid{display:flex;flex-wrap:wrap;gap:9px}
.cur-pill{cursor:pointer}
.cur-pill input{position:absolute;opacity:0}
.cur-pill>span{display:inline-flex;flex-direction:column;border:1.5px solid var(--border);border-radius:50px;padding:8px 16px;font-size:.86rem;font-weight:700;color:var(--deep);transition:all .15s;line-height:1.2}
.cur-pill--wide>span{border-radius:12px;align-items:flex-start}
.cur-pill>span small{font-weight:500;font-size:.72rem;color:var(--text-muted)}
.cur-pill:hover>span{border-color:var(--saffron-mid)}
.cur-pill:has(input:checked)>span{border-color:var(--saffron);background:var(--saffron-light);color:var(--saffron-d)}

.cur-fmt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}
.cur-fmt{cursor:pointer}
.cur-fmt input{margin-right:7px;accent-color:var(--saffron)}
.cur-fmt>span{font-size:.88rem;color:var(--deep)}
.cur-fmt{border:1.5px solid var(--border);border-radius:10px;padding:10px 12px;display:flex;align-items:center}
.cur-fmt:has(input:checked){border-color:var(--saffron);background:var(--saffron-light)}

.cur-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.cur-msg{margin-top:12px;font-size:.9rem;font-weight:600;min-height:1.2em}
.cur-msg.ok{color:var(--emerald)}
.cur-msg.err{color:#dc2626}

/* live price panel */
.cur-price{position:sticky;top:84px;background:linear-gradient(160deg,var(--deep) 0%,var(--deep-mid) 100%);color:#fff;border-radius:18px;padding:22px 22px 20px}
.cur-price__label{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--saffron-mid)}
.cur-price__amt{font-family:var(--font-serif);font-size:2.4rem;font-weight:700;line-height:1.1;margin:4px 0 6px}
.cur-price__note{font-size:.85rem;color:rgba(255,255,255,.75);margin-bottom:14px}
.cur-price__lines{list-style:none;margin:0 0 14px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.14)}
.cur-price__lines li{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;color:rgba(255,255,255,.85);margin-bottom:7px;line-height:1.35}
.cur-price__lines li b{color:#fff;white-space:nowrap}
.cur-price__foot p{font-size:.76rem;color:rgba(255,255,255,.6);line-height:1.5;margin:0 0 10px}
.cur-trust{display:flex;flex-direction:column;gap:5px;font-size:.76rem;color:rgba(255,255,255,.8)}

/* how it works */
.cur-how{margin-top:44px}
.cur-how__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:16px}
.cur-how__step{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:18px 20px}
.cur-how__step b{font-family:var(--font-serif);font-size:1.4rem;color:var(--saffron);font-weight:700}
.cur-how__step h4{font-size:1rem;color:var(--deep);margin:6px 0 4px}
.cur-how__step p{font-size:.85rem;color:var(--deep-mid);line-height:1.55;margin:0}

/* ── payment page ── */
.cur-pay{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;margin-top:8px}
@media(max-width:760px){.cur-pay{grid-template-columns:1fr}}
.cur-pay__card{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:26px}
.cur-pay__qr{text-align:center}
.cur-pay__qr img{width:230px;height:230px;border:1px solid var(--border);border-radius:14px;padding:8px;background:#fff}
.cur-pay__vpa{font-weight:700;color:var(--deep);font-size:1.05rem;margin-top:12px;word-break:break-all}
.cur-pay__amt{font-family:var(--font-serif);font-size:2rem;color:var(--saffron-d);font-weight:700}
.cur-badge{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:50px}
.cur-badge--wait{background:#fef3c7;color:#92400e}
.cur-badge--paid{background:var(--emerald-light);color:var(--emerald)}
.cur-badge--claim{background:var(--sky-light);color:var(--sky)}
.cur-summary{list-style:none;margin:14px 0 0;padding:0}
.cur-summary li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--border);font-size:.9rem}
.cur-summary li b{color:var(--deep)}

/* ── progress tracker ── */
.cur-track__head{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:20px 24px;margin-bottom:18px}
.cur-track__code{font-family:var(--font-serif);font-size:1.5rem;color:var(--deep);font-weight:700}
.cur-bar{height:14px;border-radius:50px;background:var(--cream-warm,#eee);overflow:hidden;margin:8px 0 4px}
.cur-bar__fill{height:100%;border-radius:50px;background:linear-gradient(90deg,var(--saffron),var(--emerald));transition:width .6s ease}
.cur-pctline{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted);font-weight:700}
.cur-pipeline{list-style:none;margin:18px 0 0;padding:0;position:relative}
.cur-pipeline::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:2px;background:var(--border)}
.cur-pl{position:relative;padding:0 0 16px 40px}
.cur-pl__dot{position:absolute;left:5px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--white);border:2px solid var(--border);z-index:1}
.cur-pl.done .cur-pl__dot{background:var(--emerald);border-color:var(--emerald)}
.cur-pl.current .cur-pl__dot{background:var(--saffron);border-color:var(--saffron);box-shadow:0 0 0 4px var(--saffron-light)}
.cur-pl__t{font-weight:700;color:var(--deep);font-size:.95rem}
.cur-pl.todo .cur-pl__t{color:var(--text-muted)}
.cur-pl__m{font-size:.8rem;color:var(--text-muted);margin-top:2px}
.cur-timeline{list-style:none;margin:0;padding:0}
.cur-timeline li{font-size:.85rem;color:var(--deep-mid);padding:8px 0;border-bottom:1px dashed var(--border)}
.cur-timeline time{color:var(--text-muted);font-size:.76rem;margin-left:6px}
.cur-dl{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.cur-dl a{display:inline-flex;align-items:center;gap:7px;background:var(--emerald-light);color:var(--emerald);border:1px solid var(--emerald);border-radius:10px;padding:9px 14px;font-weight:700;font-size:.85rem;text-decoration:none}

/* ── admin ── */
.cur-adm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:18px}
.cur-adm-stat{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:14px 16px}
.cur-adm-stat b{display:block;font-family:var(--font-serif);font-size:1.5rem;color:var(--deep)}
.cur-adm-stat span{font-size:.74rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:700}
.cur-adm-tbl{width:100%;border-collapse:collapse;font-size:.86rem;background:var(--white);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.cur-adm-tbl th,.cur-adm-tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.cur-adm-tbl th{background:var(--cream);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}
.cur-adm-tbl form{display:inline-flex;gap:5px;align-items:center;flex-wrap:wrap;margin:3px 0}
.cur-adm-tbl select,.cur-adm-tbl input[type=text],.cur-adm-tbl input[type=file]{padding:5px 8px;border:1px solid var(--border-dark,#ccc);border-radius:7px;font-size:.8rem;max-width:150px}
.cur-adm-tbl button{padding:5px 10px;border-radius:7px;border:none;background:var(--deep);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer}
.cur-adm-tbl .cur-mini{font-size:.76rem;color:var(--text-muted)}

@media (prefers-color-scheme: dark){
  :root:not([data-theme=light]) .cur-wizard,:root:not([data-theme=light]) .cur-how__step,:root:not([data-theme=light]) .cur-pay__card,:root:not([data-theme=light]) .cur-track__head{background:#1a1a1a;border-color:#333}
}
