/* ============================================================
   theme.css — VakilKaro Internal · design tokens + base + login.
   Palette: Black + White + Gold (other colours used only as
   small role tints / status accents).
   ============================================================ */
:root{
  /* black scale (was dark-blue) */
  --black:#0B0B0E; --black2:#16161C; --black3:#22222A;
  --ink:#16161C; --ink2:#2A2A33;
  --muted:#6E6E78; --muted2:#9A9AA6;
  --line:#EAEAEF; --line2:#DCDCE3;
  --bg:#F5F5F7; --bg2:#FBFBFC; --card:#FFFFFF; --white:#FFFFFF;

  /* gold (brand accent) */
  --gold:#E8A81C; --gold-deep:#C8860A; --gold-light:#F6C453;
  --gold-bg:#FCF3DD; --gold-bg2:#FFFAEF;
  --gold-soft:rgba(232,168,28,0.14); --gold-line:rgba(232,168,28,0.45);

  /* status / role tints (the "other colours") */
  --green:#2E9E6B; --green-bg:#E2F5EC;
  --red:#E0483B;   --red-bg:#FBE7E5;
  --blue:#2D7FF0;  --blue-bg:#E4EEFE;
  --purple:#8B5CF6;--pink:#E0518C; --teal:#159C95;

  --accent:var(--gold); --accent-soft:var(--gold-soft);

  --r:14px; --rs:10px; --rxs:8px; --r-lg:18px;
  --shadow-xs:0 1px 2px rgba(11,11,14,0.05);
  --shadow:0 1px 3px rgba(11,11,14,0.06), 0 6px 16px rgba(11,11,14,0.05);
  --shadow-lg:0 16px 40px rgba(11,11,14,0.16);

  --font:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --font-display:'Instrument Serif',Georgia,serif;
  --font-mono:'JetBrains Mono',monospace;

  --role:#E8A81C; --role-soft:rgba(232,168,28,0.16);
}
*{box-sizing:border-box}
.app-body,.login-body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:14px}

/* shared avatar */
.av{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-size:11.5px;font-weight:800;flex-shrink:0}

/* ───────────── LOGIN ───────────── */
.login-body{min-height:100vh}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:
    radial-gradient(900px 480px at 85% -10%, rgba(232,168,28,0.20), transparent 60%),
    radial-gradient(700px 420px at 0% 110%, rgba(232,168,28,0.10), transparent 55%),
    linear-gradient(160deg,#0B0B0E 0%,#16161C 100%)}
.login-card{width:100%;max-width:880px;background:rgba(255,255,255,0.035);border:1px solid rgba(255,255,255,0.10);
  border-radius:24px;padding:32px;backdrop-filter:blur(8px);box-shadow:var(--shadow-lg)}
.login-logo{font-family:var(--font-display);font-size:34px;color:#fff;letter-spacing:-0.4px}
.login-logo span{color:var(--gold-light)}
.login-kick{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-top:2px}
.login-sub{color:rgba(255,255,255,0.62);font-size:13px;margin:14px 0 18px;line-height:1.55}
.login-err{background:rgba(224,72,59,0.15);border:1px solid rgba(224,72,59,0.4);color:#FCA5A5;border-radius:10px;padding:9px 13px;font-size:12.5px;margin-bottom:14px}
.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.role-tile{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-radius:14px;padding:14px 12px;cursor:pointer;transition:.18s;color:#fff;text-decoration:none;display:block}
.role-tile:hover{background:rgba(255,255,255,0.10);transform:translateY(-2px)}
.role-tile.on{border-color:var(--tile);box-shadow:0 0 0 2px var(--tile) inset,0 10px 30px rgba(0,0,0,0.25)}
.role-ic{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:14px;margin-bottom:9px}
.role-name{font-size:13px;font-weight:700;display:block}
.role-desc{font-size:10.5px;color:rgba(255,255,255,0.5);margin-top:2px;line-height:1.35;display:block}
.login-users{margin-top:18px;border-top:1px solid rgba(255,255,255,0.10);padding-top:16px}
.login-users-h{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:10px}
.user-row{display:flex;flex-wrap:wrap;gap:8px}
.user-form{margin:0}
.user-pill{display:flex;align-items:center;gap:9px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-radius:12px;padding:8px 12px;cursor:pointer;transition:.16s;color:#fff;font-family:inherit;text-align:left}
.user-pill:hover{background:rgba(255,255,255,0.12)}
.up-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}
.up-meta{display:block}
.up-name{font-size:12.5px;font-weight:700;line-height:1.15;color:#fff;display:flex;align-items:center;gap:5px}
.up-title{font-size:10px;color:rgba(255,255,255,0.55)}
.up-tag{font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:6px}
.up-tag.lead{background:rgba(224,81,140,0.22);color:#F9A8D4}
.up-tag.extra{background:rgba(232,168,28,0.22);color:var(--gold-light)}
.login-note{margin-top:12px;font-size:11px;color:rgba(255,255,255,0.45)}
.login-note code{font-family:var(--font-mono);background:rgba(255,255,255,0.08);color:var(--gold-light);padding:1px 7px;border-radius:5px}
@media(max-width:720px){.role-grid{grid-template-columns:repeat(2,1fr)}}

/* ───────────── EMPTY PAGE PLACEHOLDER ───────────── */
.eyebrow{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:8px}
.ph{max-width:560px;margin:6vh auto 0;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:42px 34px;box-shadow:var(--shadow)}
.ph-ic{width:70px;height:70px;border-radius:18px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--gold-soft);color:var(--gold-deep)}
.ph-title{font-family:var(--font-display);font-size:30px;letter-spacing:-0.4px;line-height:1.05}
.ph-path{font-size:11px;color:var(--muted);font-weight:600;margin-top:4px}
.ph-text{font-size:13.5px;color:var(--muted);margin-top:14px;line-height:1.6}
.ph-chip{display:inline-flex;align-items:center;gap:7px;margin-top:20px;padding:8px 14px;border-radius:30px;font-size:12px;font-weight:700}
.ph-chip.dept{background:var(--gold-bg);color:var(--gold-deep)}
.ph-chip.extra{background:var(--gold-bg);color:var(--gold-deep)}
.ph-chip.lead{background:rgba(224,81,140,0.14);color:#BE185D}
.ph-chip.full{background:var(--green-bg);color:#147A52}

/* ───────────── (shared) LOGIN FORM helpers ───────────── */
.login-form{margin-top:6px}
.lf-label{display:block;font-size:11px;font-weight:700;color:rgba(255,255,255,0.55);letter-spacing:.04em;margin:12px 0 5px}
.lf-input{width:100%;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:11px;padding:11px 14px;color:#fff;font-family:var(--font);font-size:13.5px;outline:none}
.lf-input:focus{border-color:var(--gold-light);background:rgba(255,255,255,0.10)}
.lf-btn{width:100%;margin-top:18px;background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));color:#1a1205;border:none;border-radius:11px;padding:12px;font-family:var(--font);font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}

/* ───────────── SIGN-IN (wide, 2-column) ───────────── */
.login-card-wide{max-width:940px;padding:0;overflow:hidden}
.login-grid{display:grid;grid-template-columns:1.05fr 0.95fr}
.login-left{padding:34px 34px 30px}
.login-right{padding:34px 30px 30px;background:rgba(255,255,255,0.035);border-left:1px solid rgba(255,255,255,0.08)}
.login-title{font-family:var(--font-display);font-size:30px;color:#fff;letter-spacing:-0.4px;margin:16px 0 6px;line-height:1.05}

/* input with leading icon */
.lf-field{position:relative;margin-bottom:2px}
.lf-field > i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,0.6);font-size:13px;pointer-events:none}
.lf-field .lf-input{padding-left:40px;margin-bottom:0}
.lf-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.5);cursor:pointer;padding:6px;font-size:13px}
.lf-eye:hover{color:var(--gold-light)}

.login-cred{margin-top:18px;display:flex;align-items:flex-start;gap:9px;background:rgba(232,168,28,0.10);border:1px solid var(--gold-line);border-radius:11px;padding:11px 13px;font-size:11.5px;color:rgba(255,255,255,0.72);line-height:1.5}
.login-cred i{color:var(--gold-light);margin-top:1px}
.login-cred b{color:#fff;font-weight:700}
.login-cred code{font-family:var(--font-mono);background:rgba(255,255,255,0.10);color:var(--gold-light);padding:1px 7px;border-radius:5px}

/* demo picker */
.login-right-h{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:12px}
.role-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.role-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-radius:20px;padding:5px 11px;text-decoration:none;transition:.15s}
.role-chip:hover{background:rgba(255,255,255,0.10);color:#fff}
.role-chip.on{background:var(--tile);border-color:var(--tile);color:#10100c}
.role-chip i{font-size:10px}
.demo-list{display:flex;flex-direction:column;gap:7px;max-height:300px;overflow-y:auto;padding-right:2px}
.demo-list::-webkit-scrollbar{width:5px}.demo-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.14);border-radius:3px}
.demo-form{margin:0}
.demo-row{width:100%;display:flex;align-items:center;gap:11px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);border-radius:12px;padding:9px 12px;cursor:pointer;transition:.16s;color:#fff;font-family:inherit;text-align:left}
.demo-row:hover{background:rgba(255,255,255,0.11);border-color:var(--gold-line)}
.demo-meta{flex:1;min-width:0}
.demo-name{font-size:12.5px;font-weight:700;color:#fff;display:flex;align-items:center;gap:5px}
.demo-email{display:block;font-size:10.5px;color:rgba(255,255,255,0.5);margin-top:1px;font-family:var(--font-mono)}
.demo-email i{font-size:9px;margin-right:1px}
.demo-go{color:rgba(255,255,255,0.35);font-size:12px;flex-shrink:0}
.demo-row:hover .demo-go{color:var(--gold-light)}

@media(max-width:760px){
  .login-grid{grid-template-columns:1fr}
  .login-right{border-left:none;border-top:1px solid rgba(255,255,255,0.08)}
}

/* ───────────── PROFILE PAGE ───────────── */
.pg{max-width:920px;margin:0 auto}
.pg-head{display:flex;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--shadow);margin-bottom:18px}
.pg-av{width:62px;height:62px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0}
.pg-head-meta{flex:1;min-width:0}
.pg-name{font-family:var(--font-display);font-size:26px;letter-spacing:-.3px;line-height:1.05}
.pg-sub{font-size:12.5px;color:var(--muted);margin-top:3px}
.pg-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.pg-badge{font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--gold-bg);color:var(--gold-deep);border:1px solid var(--gold-line)}
.pg-badge.muted{background:var(--bg);color:var(--muted);border-color:var(--line)}
.pg-badge.ok{background:var(--green-bg);color:#147A52;border-color:transparent}

.pg-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}
@media(max-width:760px){.pg-grid{grid-template-columns:1fr}}
.vk-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow)}
.vk-card-h{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.vk-card-h i{color:var(--gold-deep)}
.frow{margin-bottom:14px}
.frow label{display:block;font-size:11.5px;font-weight:700;color:var(--ink2);margin-bottom:5px}
.frow input{width:100%;border:1px solid var(--line2);border-radius:10px;padding:10px 13px;font-family:var(--font);font-size:13.5px;color:var(--ink);background:#fff;outline:none;transition:.15s}
.frow input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.frow input[readonly]{background:var(--bg);color:var(--muted);cursor:not-allowed;border-style:dashed}
.frow .frow-hint{font-size:10.5px;color:var(--muted2);margin-top:4px}
.frow-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.frow-2{grid-template-columns:1fr}}
.vk-btn{background:linear-gradient(135deg,var(--gold-light),var(--gold-deep));color:#1a1205;border:none;border-radius:10px;padding:11px 18px;font-family:var(--font);font-size:13.5px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin-top:4px}
.vk-btn:hover{filter:brightness(1.05)}
.vk-btn.ghost{background:#fff;color:var(--ink);border:1px solid var(--line2)}
.pw-hint{font-size:11.5px;font-weight:700;margin-top:8px;min-height:16px}
.pw-hint.ok{color:#147A52}
.pw-hint.bad{color:var(--red)}

/* ───────────── TOAST (also on login pages) ───────────── */
.vk-toast{position:fixed;top:22px;right:22px;z-index:2000;display:flex;align-items:center;gap:10px;
  background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);
  border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-lg);font-size:13px;font-weight:600;color:var(--ink);
  max-width:340px;animation:vkToastIn .35s cubic-bezier(.22,1,.36,1)}
.vk-toast.error{border-left-color:var(--red)}
.vk-toast > i:first-child{font-size:16px;color:var(--green)}
.vk-toast.error > i:first-child{color:var(--red)}
.vk-toast-x{margin-left:4px;background:none;border:none;color:var(--muted2);cursor:pointer;font-size:12px;padding:2px}
.vk-toast.hide{animation:vkToastOut .3s ease forwards}
@keyframes vkToastIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes vkToastOut{to{opacity:0;transform:translateX(24px)}}
