/* ISSC Toolkit — landing console. Self-contained; matches the tools' indigo theme. */
:root{
  /* ISSC brand palette (issc.co.in): deep navy primary */
  --indigo:#082C41; --indigo-d:#04202F; --navy:#082C41; --muted:#5C6672;
  --bg:#F2F5F8; --card:#FFFFFF; --line:#E1E7ED; --soft:#F5F8FA;
  --ink:#1B2A36; --late:#C0392B; --done:#1E9E6A;
  --header:#082C41;
  --shadow:0 1px 2px rgba(8,44,65,.06), 0 8px 24px rgba(8,44,65,.08);
}
html[data-theme=dark]{
  --navy:#DCE7F0; --muted:#93A2B0; --bg:#0B1620; --card:#12232F; --line:#22384A;
  --soft:#0F1E28; --ink:#E7EFF6; --header:#04202F; --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.4);
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}

/* top bar */
.topbar{background:var(--header);position:sticky;top:0;z-index:20;box-shadow:0 1px 0 rgba(255,255,255,.06),0 4px 18px rgba(8,44,65,.18)}
.topbar .wrap{display:flex;align-items:center;gap:14px;height:76px;max-width:none;padding:0 30px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;color:#fff;letter-spacing:.2px}
.brand .logo{height:46px;width:auto;display:block}
.brand .div{width:1px;height:24px;background:rgba(255,255,255,.22)}
.brand small{font-weight:600;color:#9FB4C2;font-size:12px}
.spacer{flex:1}
.who{display:flex;align-items:center;gap:10px;color:#AFC0CC;font-size:13px}
.who b{color:#fff}
/* controls sit on the dark header */
.topbar .btn{background:transparent;color:#EAF1F6;border-color:rgba(255,255,255,.28)}
.topbar .btn:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.5)}
.topbar .btn.ghost{border-color:transparent;color:#AFC0CC}
.topbar .btn.ghost:hover{background:rgba(255,255,255,.10);color:#fff}
.topbar .btn.primary{background:#fff;color:var(--header);border-color:#fff}
.topbar .btn.primary:hover{background:#EAF1F6;border-color:#EAF1F6}
.tagpill{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--indigo);background:color-mix(in srgb,var(--indigo) 12%,transparent);padding:2px 8px;border-radius:20px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:13.5px;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;text-decoration:none;transition:.12s}
.btn:hover{border-color:#B8C6D1;background:var(--soft)}
.btn.primary{background:var(--indigo);border-color:var(--indigo);color:#fff}
.btn.primary:hover{background:var(--indigo-d);border-color:var(--indigo-d)}
.btn.ghost{border-color:transparent;background:transparent;color:var(--muted)}
.btn.ghost:hover{background:var(--soft);color:var(--ink)}
.btn.sm{padding:5px 10px;font-size:12.5px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* hero */
.hero{padding:44px 0 10px;text-align:center}
.hero h1{margin:0 0 10px;font-size:36px;color:var(--navy);letter-spacing:-.5px}
.hero p{margin:0 auto;color:var(--muted);font-size:15px;max-width:660px;line-height:1.55}

/* tool grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;padding:24px 0 48px}
.tool{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;transition:.15s}
.tool.live:hover{transform:translateY(-2px);border-color:#B8C6D1}
.tool.locked,.tool.soon{opacity:.92}
.tool .ic{width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--indigo) 12%,transparent);display:flex;align-items:center;justify-content:center;font-size:22px}
.tool h3{margin:2px 0 0;font-size:17px;color:var(--navy)}
.tool p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5;flex:1}
.tool .foot{display:flex;align-items:center;gap:10px;margin-top:4px}
.chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px}
.chip.ok{color:var(--done);background:color-mix(in srgb,var(--done) 13%,transparent)}
.chip.lock{color:var(--late);background:color-mix(in srgb,var(--late) 12%,transparent)}
.chip.soon{color:var(--muted);background:var(--soft)}
/* skeleton placeholders while the tool catalog loads (instant paint) */
.tool.skel{pointer-events:none}
.tool.skel .ic{background:var(--soft)}
.skl{height:12px;border-radius:6px;margin:9px 0;background:linear-gradient(90deg,var(--soft) 25%,var(--line) 37%,var(--soft) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}
.skl.h{height:18px;width:55%;margin:2px 0 6px}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* modal */
.modal-bg{position:fixed;inset:0;background:rgba(24,24,50,.45);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}
.modal{background:var(--card);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:100%;max-width:420px;overflow:hidden}
.modal-h{padding:18px 22px 0}
.modal-h h3{margin:0;font-size:18px;color:var(--navy)}
.modal-b{padding:16px 22px}
.modal-f{padding:0 22px 20px;display:flex;gap:10px;justify-content:flex-end}
.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:5px}
.field input,.field select{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);font:inherit;font-size:14px}
.field input:focus,.field select:focus{outline:none;border-color:var(--indigo)}
.msg{font-size:13px;margin:12px 0 0;display:none}
/* tool-access checkboxes in the Add-user modal */
.toolpicks{display:grid;gap:8px}
.toolpick{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:.12s}
.toolpick:hover{border-color:#B8C6D1;background:var(--soft)}
.toolpick input{width:16px;height:16px;accent-color:var(--indigo);cursor:pointer}
.toolpick.on{border-color:var(--indigo);background:color-mix(in srgb,var(--indigo) 7%,transparent)}
.toolpicks.dim{opacity:.45;pointer-events:none}

/* admin table */
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);margin:22px 0 40px}
.card-h{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}
.card-h h2{margin:0;font-size:17px;color:var(--navy)}
.card-h .hint{color:var(--muted);font-size:12.5px;margin-left:auto}
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
table.tbl th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--line);background:var(--soft)}
table.tbl td{padding:9px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
table.tbl tr:last-child td{border-bottom:none}
table.tbl select{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink);font:inherit;font-size:12.5px}
.arch{opacity:.5}

/* toast */
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:11px 18px;border-radius:10px;font-size:13.5px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:.2s;z-index:80;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.bad{background:var(--late)}
