/* ============================================================
   IAS Bharat — shared design system (white / blue / grey)
   ============================================================ */
:root{
  --blue-900:#0F2E5E; --blue-800:#153c78; --blue-700:#1E4B8F; --blue-600:#2563EB;
  --blue-500:#3B82F6; --blue-100:#DBEAFE; --blue-50:#EFF4FB;
  --saffron:#F59E0B; --saffron-2:#FF9933; --green:#138808;
  --ink:#0F172A; --ink-2:#1E293B; --muted:#64748B; --muted-2:#94A3B8;
  --line:#E6EBF2; --line-2:#EEF2F7; --bg:#F4F6FA; --card:#FFFFFF; --panel:#FBFCFE;
  --ok:#16A34A; --warn:#D97706; --danger:#DC2626;
  --r-sm:8px; --r:12px; --r-lg:18px; --r-xl:24px;
  --sh-sm:0 1px 2px rgba(15,23,42,.06);
  --sh:0 4px 16px rgba(15,23,42,.08);
  --sh-lg:0 12px 34px rgba(15,23,42,.14);
  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --serif:'Lora',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
img{max-width:100%;display:block}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:#cdd6e3;border-radius:20px}
::-webkit-scrollbar-track{background:transparent}

/* Brand mark */
.brand{display:flex;align-items:center;gap:10px}
.brand .mark{width:38px;height:38px;flex:0 0 auto}
.brand .wm{display:flex;flex-direction:column;line-height:1}
.brand .wm b{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.2px;color:var(--blue-900)}
.brand .wm b span{color:var(--saffron)}
.brand .wm small{font-size:9.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:3px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;
  border-radius:var(--r);padding:11px 18px;font-weight:600;font-size:14px;transition:.16s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--blue-700);color:#fff}
.btn-primary:hover{background:var(--blue-800)}
.btn-accent{background:var(--saffron);color:#3a2600}
.btn-accent:hover{filter:brightness(.96)}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink-2)}
.btn-ghost:hover{background:var(--blue-50);border-color:var(--blue-100)}
.btn-soft{background:var(--blue-50);color:var(--blue-700)}
.btn-danger{background:#fff;border-color:#f3c9c9;color:var(--danger)}
.btn-block{width:100%}
.btn-sm{padding:7px 12px;font-size:12.5px;border-radius:9px}
.btn:disabled{opacity:.55;cursor:not-allowed}

/* Inputs */
.field{margin-bottom:14px}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}
.input,select.input,textarea.input{width:100%;border:1px solid var(--line);border-radius:var(--r);
  padding:11px 13px;font-size:14px;font-family:inherit;background:#fff;color:var(--ink);transition:.14s}
.input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--blue-50)}
textarea.input{resize:vertical;min-height:96px;line-height:1.55}

/* Cards & chips */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}
.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600}
.chip-blue{background:var(--blue-50);color:var(--blue-700)}
.chip-grey{background:#F1F5F9;color:var(--muted)}
.chip-green{background:#E7F6EC;color:#0f7a34}
.chip-amber{background:#FEF3E2;color:#a55a00}
.chip-red{background:#FEECEC;color:#c02626}

/* Utility */
.row{display:flex;align-items:center}
.between{justify-content:space-between}
.gap{gap:10px}.gap-sm{gap:6px}.gap-lg{gap:16px}
.wrap{flex-wrap:wrap}
.muted{color:var(--muted)}
.tiny{font-size:11.5px}.sm{font-size:13px}
.b{font-weight:600}.bb{font-weight:700}
.center{text-align:center}
.hide{display:none!important}
.spin{width:34px;height:34px;border:3px solid var(--blue-100);border-top-color:var(--blue-600);border-radius:50%;animation:sp 1s linear infinite;margin:40px auto}
@keyframes sp{to{transform:rotate(360deg)}}
.skeleton{background:linear-gradient(90deg,#eef2f7 25%,#e2e8f0 37%,#eef2f7 63%);background-size:400% 100%;animation:sk 1.4s ease infinite;border-radius:8px}
@keyframes sk{0%{background-position:100% 50%}100%{background-position:0 50%}}

/* Toast */
#toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);z-index:9999;
  background:var(--ink);color:#fff;padding:11px 18px;border-radius:12px;font-size:13.5px;font-weight:500;
  box-shadow:var(--sh-lg);opacity:0;transition:.25s;pointer-events:none;max-width:88%}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#toast.ok{background:#0f7a34}#toast.err{background:#b91c1c}

/* Progress bar */
.pbar{height:6px;background:#E9EEF5;border-radius:999px;overflow:hidden}
.pbar>i{display:block;height:100%;background:linear-gradient(90deg,var(--blue-600),var(--blue-500));border-radius:999px;transition:width .4s}
.pbar.amber>i{background:linear-gradient(90deg,var(--saffron),var(--saffron-2))}
