/* Theme for the schema-v2 listing pages (manageexams.php, exams.php): tokens, header, level cards,
   kind pills, status tiles, search, cards, pager. Icons come from v2_icon() (main/functions/examv2ui.php). */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#F5F6FB;--surface:#fff;--ink:#14162B;--ink2:#3B3F5C;--muted:#667085;--line:#E6E8F0;
  --brand:#4F46E5;--brand-dark:#3F37C9;--brand-soft:#EEF0FF;
  --ssc:#059669;--ssc-soft:#E4F7EE;--ssc-dark:#047857;--ssc-glow:rgba(5,150,105,.32);--hsc:#4F46E5;--hsc-soft:#ECEEFF;--hsc-dark:#3730A3;--hsc-glow:rgba(79,70,229,.32);--adm:#D97706;--adm-soft:#FFF1D9;--adm-dark:#B45309;--adm-glow:rgba(217,119,6,.32);
  --ok:#15803D;--ok-soft:#E0F6E8;--warn:#B45309;--warn-soft:#FFF0D4;--bad:#E11D48;--bad-soft:#FFE8ED;--slate-soft:#EEF0F5;
  --r:16px;--rs:11px;--shadow:0 1px 2px rgba(20,22,43,.04),0 6px 18px rgba(20,22,43,.05);
}
body{font-family:'Hind Siliguri',system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

/* header */
.top{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.top-in{max-width:1000px;margin:0 auto;height:60px;display:flex;align-items:center;gap:10px;padding:0 16px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;color:var(--ink2)}
.icon-btn:hover{background:var(--brand-soft);color:var(--brand)}
.ttl{display:flex;align-items:center;gap:9px;font-family:'Baloo Da 2',sans-serif;font-size:19px;font-weight:800;flex:1;min-width:0}
.ttl .logo{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#4F46E5,#7C3AED);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.ttl .logo .ic{width:17px;height:17px}
.ttl span.tx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:11px;font-weight:700;font-size:14px;white-space:nowrap;transition:.15s}
.btn-ghost{color:var(--ink2);background:#fff;border:1.5px solid var(--line)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn-pri{color:#fff;background:linear-gradient(135deg,#4F46E5,#6D5BF0);box-shadow:0 6px 16px rgba(79,70,229,.28)}.btn-pri:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(79,70,229,.34)}

.wrap{max-width:1000px;margin:0 auto;padding:20px 16px 110px}

/* level cards */
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.lv{--acc:var(--brand);--soft:var(--brand-soft);--dark:var(--brand-dark);--glow:rgba(79,70,229,.3);position:relative;display:flex;align-items:center;gap:13px;padding:16px 18px;background:var(--surface);border:2px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);transition:.18s}
.lv.ssc{--acc:var(--ssc);--soft:var(--ssc-soft);--dark:var(--ssc-dark);--glow:var(--ssc-glow)}.lv.hsc{--acc:var(--hsc);--soft:var(--hsc-soft);--dark:var(--hsc-dark);--glow:var(--hsc-glow)}.lv.admission{--acc:var(--adm);--soft:var(--adm-soft);--dark:var(--adm-dark);--glow:var(--adm-glow)}
.lv .ico{width:46px;height:46px;border-radius:14px;background:var(--soft);color:var(--acc);display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:.18s}
.lv .ico .ic{width:23px;height:23px}
.lv .nm{font-size:17px;font-weight:800;line-height:1.2}
.lv .ct{font-size:12.5px;color:var(--muted);font-weight:600}
.lv:hover{border-color:var(--acc);transform:translateY(-2px)}
.lv.on{background:var(--acc);background:linear-gradient(135deg,var(--acc),var(--dark));border-color:transparent;color:#fff;box-shadow:0 10px 24px var(--glow)}
.lv.on .ico{background:rgba(255,255,255,.2);color:#fff}.lv.on .ct{color:rgba(255,255,255,.85)}

/* kind pills */
.kinds{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:10px 12px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r)}
.kinds .lab{font-size:12px;font-weight:800;color:var(--muted);margin-right:2px;text-transform:uppercase;letter-spacing:.04em}
.kp{--acc:var(--brand);--soft:var(--brand-soft);display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;font-size:13.5px;font-weight:700;background:var(--soft);color:var(--acc);border:1.5px solid transparent;transition:.15s}
.kp.ssc{--acc:var(--ssc);--soft:var(--ssc-soft)}.kp.hsc{--acc:var(--hsc);--soft:var(--hsc-soft)}.kp.admission{--acc:var(--adm);--soft:var(--adm-soft)}
.kp .ic{width:15px;height:15px}.kp b{font-size:12px;background:rgba(255,255,255,.75);padding:1px 8px;border-radius:99px}
.kp:hover{border-color:var(--acc)}
.kp.on{background:var(--acc);color:#fff}.kp.on b{background:rgba(255,255,255,.25);color:#fff}
.kinds .clr{margin-left:auto;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--muted);padding:6px 8px;border-radius:8px}
.kinds .clr:hover{background:var(--slate-soft);color:var(--ink)}.kinds .clr .ic{width:14px;height:14px}

/* status tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.tile{display:flex;align-items:center;gap:11px;padding:12px 14px;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;transition:.15s}
.tile .ti-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--slate-soft);color:var(--ink2);flex:0 0 auto}
.tile .ti-ic .ic{width:17px;height:17px}
.tile b{display:block;font-family:'Baloo Da 2',sans-serif;font-size:21px;line-height:1.1}
.tile span.l{font-size:12px;color:var(--muted);font-weight:600}
.tile.published .ti-ic{background:var(--ok-soft);color:var(--ok)}.tile.draft .ti-ic{background:var(--warn-soft);color:var(--warn)}.tile.archived .ti-ic{background:var(--slate-soft);color:var(--muted)}
.tile:hover{border-color:var(--brand)}
.tile.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}

/* search */
.searchbar{display:flex;gap:10px;margin-bottom:6px}
.sbox{position:relative;flex:1}
.sbox .ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);width:18px;height:18px}
.sbox input{width:100%;padding:12px 14px 12px 42px;border:1.5px solid var(--line);border-radius:13px;font-size:15px;font-family:inherit;background:var(--surface);color:var(--ink);outline:none;transition:.15s}
.sbox input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.resline{font-size:12.5px;color:var(--muted);font-weight:600;margin:12px 4px 12px}

/* exam rows */
.card{--acc:var(--brand);--soft:var(--brand-soft);display:grid;grid-template-columns:auto 1fr auto;gap:6px 14px;align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow);transition:.15s}
.card.ssc{--acc:var(--ssc);--soft:var(--ssc-soft)}.card.hsc{--acc:var(--hsc);--soft:var(--hsc-soft)}.card.admission{--acc:var(--adm);--soft:var(--adm-soft)}
.card:hover{border-color:var(--acc)}
.card .lic{width:44px;height:44px;border-radius:13px;background:var(--soft);color:var(--acc);display:flex;align-items:center;justify-content:center;grid-row:1 / span 2}
.card .lic .ic{width:21px;height:21px}
.card .tt{font-weight:700;font-size:15.5px;line-height:1.4;word-break:break-word}
.card .meta{display:flex;flex-wrap:wrap;gap:6px 7px;grid-column:2;margin-top:2px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 10px 3px 8px;border-radius:99px;background:var(--slate-soft);color:var(--ink2)}
.chip .ic{width:13px;height:13px}
.chip.k{background:var(--soft);color:var(--acc)}.chip.lock{background:var(--bad-soft);color:var(--bad)}
.st{grid-column:3;grid-row:1;justify-self:end;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:4px 11px;border-radius:99px}
.st::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.st.published{background:var(--ok-soft);color:var(--ok)}.st.draft{background:var(--warn-soft);color:var(--warn)}.st.archived,.st.review{background:var(--slate-soft);color:var(--muted)}
.act{grid-column:3;grid-row:2;display:flex;gap:6px;justify-self:end}
.ab{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-width:36px;padding:0 11px;border-radius:10px;font-size:13px;font-weight:700;background:var(--slate-soft);color:var(--ink2);transition:.14s}
.ab .ic{width:16px;height:16px}
.ab:hover{background:var(--brand-soft);color:var(--brand)}
.ab.edit{background:var(--brand-soft);color:var(--brand)}.ab.edit:hover{background:var(--brand);color:#fff}
.ab.ok{background:var(--ok-soft);color:var(--ok)}.ab.ok:hover{background:var(--ok);color:#fff}
.ab.danger:hover{background:var(--bad);color:#fff}.ab.danger{color:var(--bad);background:var(--bad-soft)}
.ab.lbl-off span{display:none}
.ab:disabled{opacity:.5}

.empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:44px 16px;background:var(--surface);border:2px dashed var(--line);border-radius:var(--r);color:var(--muted)}
.empty .ic{width:42px;height:42px;color:#B8BDD0}.empty b{color:var(--ink);font-size:16px}

.pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}
.pager a{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:12px;background:var(--surface);border:1.5px solid var(--line);font-weight:700;font-size:14px}
.pager a:hover{border-color:var(--brand);color:var(--brand)}.pager .pg{font-size:13px;font-weight:700;color:var(--muted)}

.fab{display:none;position:fixed;right:16px;bottom:18px;z-index:70;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#4F46E5,#7C3AED);color:#fff;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(79,70,229,.45)}
.fab .ic{width:26px;height:26px}

/* tablet */
@media(max-width:820px){
  .card{grid-template-columns:auto 1fr}
  .card .lic{grid-row:1 / span 3}
  .st{grid-column:2;grid-row:auto;justify-self:start;order:-1}
  .card .tt{grid-column:2}
  .act{grid-column:1 / -1;grid-row:auto;justify-self:stretch;margin-top:8px;padding-top:10px;border-top:1px dashed var(--line)}
  .act .ab{flex:1}
  .act .ab.lbl-off{flex:0 0 auto;min-width:42px}
}
/* phone */
@media(max-width:600px){
  .top-in{height:56px;padding:0 10px;gap:6px}
  .ttl{font-size:17px}.top .btn-ghost span,.top .btn-pri span{display:none}   /* header buttons become icon-only on phones; buttons elsewhere keep their label */.top .btn{padding:0;width:38px;height:38px;justify-content:center}
  .wrap{padding:14px 12px 110px}
  .levels{gap:8px}
  .lv{flex-direction:column;text-align:center;gap:7px;padding:13px 6px}
  .lv .ico{width:42px;height:42px}.lv .nm{font-size:15px}
  .tiles{grid-template-columns:repeat(4,1fr);gap:6px}
  .tile{flex-direction:column;gap:5px;text-align:center;padding:9px 4px}
  .tile b{font-size:18px}.tile span.l{font-size:11.5px}
  .kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}
  .kinds .lab,.kinds .clr{display:none}
  .kp{justify-content:center;gap:5px;padding:9px 4px;font-size:12.5px}.kp .ic{width:14px;height:14px}.kp b{padding:1px 6px}
  .fab{display:flex}
  .card{padding:13px 13px;gap:5px 11px}.card .lic{width:38px;height:38px;border-radius:11px}.card .lic .ic{width:18px;height:18px}
  .card .tt{font-size:15px}
  .searchbar .btn{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---- public browse page (exams.php) ---- */
.hero{margin:2px 0 16px}
.hero h1{font-family:'Baloo Da 2',sans-serif;font-size:28px;line-height:1.25;font-weight:800;margin-bottom:6px}
.hero p{color:var(--ink2);font-size:15px;max-width:720px}
.fbox{display:flex;flex-wrap:wrap;gap:10px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:14px}
.fbox select{flex:1 1 150px;min-width:0;padding:11px 12px;border:1.5px solid var(--line);border-radius:12px;font:500 14px 'Hind Siliguri',sans-serif;background:#fff;color:var(--ink)}
.fbox select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.fbox .sbox{flex:2 1 240px}
.fbox .btn{flex:0 0 auto;justify-content:center}
.card.link{position:relative}
.card.link .tt{font-size:15.5px;margin:0}
.card.link .tt a::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.card.link .act,.card.link .act .ab{position:relative;z-index:2}
.card.link .act{grid-column:1 / -1;margin-top:6px;padding-top:10px;border-top:1px dashed var(--line);justify-self:stretch;justify-content:flex-end}
@media(max-width:600px){
  .hero h1{font-size:23px}.hero p{font-size:14px}
  .fbox select{flex:1 1 calc(50% - 5px)}.fbox .sbox{flex:1 1 100%}.fbox .btn{flex:1 1 100%}.fbox .btn span{display:inline}
}
