/* AI Consultech — Member Tools Portal
   Same brand tokens as the marketing site, trimmed to what the portal needs. */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

:root{
  --navy-950:#05070f; --navy-900:#0a0e1c; --navy-800:#111830;
  --line:rgba(255,255,255,.09); --line-strong:rgba(255,255,255,.16);
  --blue-500:#2e6bff; --blue-400:#5b8bff; --blue-300:#9db6ff;
  --purple-500:#7c3aed; --purple-400:#a78bfa;
  --grad-primary:linear-gradient(135deg,var(--blue-500),var(--purple-500));
  --grad-soft:linear-gradient(135deg,rgba(46,107,255,.16),rgba(124,58,237,.16));
  --ink-100:#e7eaf5; --ink-300:#b7bedb; --ink-400:#8a91b5; --ink-500:#666f97;
  --font-display:'Space Grotesk',sans-serif; --font-body:'Inter',sans-serif; --font-mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;}
body{
  margin:0;background:var(--navy-950);color:var(--ink-100);font-family:var(--font-body);
  min-height:100vh;
}
h1,h2,h3{font-family:var(--font-display);color:#fff;font-weight:600;margin:0;}
a{color:var(--blue-300);text-decoration:none;}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
.topbar{
  border-bottom:1px solid var(--line);padding:18px 0;display:flex;align-items:center;justify-content:space-between;
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;width:100%;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;color:#fff;font-size:17px;}
.brand-mark{width:28px;height:28px;border-radius:8px;background:var(--grad-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;color:#fff;}
.topnav{display:flex;gap:18px;align-items:center;font-size:14px;color:var(--ink-300);}
.topnav a:hover{color:#fff;}

.auth-shell{display:flex;align-items:center;justify-content:center;min-height:85vh;padding:40px 20px;}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(10px);
}
.auth-card{width:100%;max-width:420px;padding:38px;}
.auth-card h2{font-size:22px;}
.auth-card p.sub{color:var(--ink-400);font-size:13.5px;margin-top:8px;}
.field{margin:18px 0;}
.field label{display:block;font-size:12.5px;color:var(--ink-400);margin-bottom:7px;font-family:var(--font-mono);}
.field input{
  width:100%;padding:12px 14px;border-radius:9px;border:1px solid var(--line-strong);
  background:rgba(255,255,255,.03);color:#fff;font-size:14.5px;font-family:var(--font-body);
}
.field input:focus{outline:none;border-color:var(--blue-400);background:rgba(46,107,255,.06);}
.err{color:#ff8080;font-size:12px;margin-top:5px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:100px;
  font-weight:600;font-size:14px;cursor:pointer;border:1px solid transparent;width:100%;
}
.btn-primary{background:var(--grad-primary);color:#fff;}
.btn-ghost{background:rgba(255,255,255,.03);border-color:var(--line-strong);color:var(--ink-100);}
.flash{padding:12px 16px;border-radius:10px;margin-bottom:18px;font-size:13.5px;}
.flash.error{background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.35);color:#ffb3b3;}
.flash.success{background:rgba(55,211,153,.12);border:1px solid rgba(55,211,153,.35);color:#8ff0cd;}
.flash.info{background:rgba(46,107,255,.12);border:1px solid rgba(46,107,255,.35);color:var(--blue-300);}
.foot-link{text-align:center;margin-top:22px;font-size:13.5px;color:var(--ink-400);}

.page{padding:48px 0 80px;}
.page-head{margin-bottom:36px;}
.page-head .eyebrow{font-family:var(--font-mono);font-size:12px;color:var(--blue-300);letter-spacing:.1em;text-transform:uppercase;}
.page-head h1{font-size:30px;margin-top:12px;}
.page-head p{color:var(--ink-400);margin-top:10px;font-size:14.5px;}

.verify-banner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:16px 20px;border-radius:12px;margin-bottom:28px;
  background:rgba(255,180,80,.10);border:1px solid rgba(255,180,80,.32);
}
.verify-banner strong{color:#fff;font-size:14px;display:block;}
.verify-banner span{color:var(--ink-400);font-size:13px;}

.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
@media (max-width:700px){.tool-grid{grid-template-columns:1fr;}}
.tool-card{padding:26px;}
.tool-card .tag{font-family:var(--font-mono);font-size:10.5px;color:var(--purple-400);letter-spacing:.08em;text-transform:uppercase;}
.tool-card h3{font-size:18px;margin-top:12px;}
.tool-card p{color:var(--ink-400);font-size:13.5px;margin-top:8px;}
.tool-card .btn{margin-top:18px;width:auto;padding:10px 18px;font-size:13px;}
.tool-card.locked{opacity:.55;}
.tool-card.locked .btn{background:rgba(255,255,255,.06);color:var(--ink-400);box-shadow:none;}

.calc-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:800px){.calc-panel{grid-template-columns:1fr;}}
.panel{padding:28px;}
.panel h3{font-size:17px;margin-bottom:18px;}
.result-box{margin-top:20px;padding:18px 20px;border-radius:12px;background:var(--grad-soft);border:1px solid var(--line-strong);}
.result-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;color:var(--ink-300);}
.result-row strong{color:#fff;font-family:var(--font-mono);}
.radio-row{display:flex;gap:16px;margin:14px 0;font-size:13.5px;color:var(--ink-300);}
.radio-row label{display:flex;align-items:center;gap:6px;}

table.sample-table{width:100%;border-collapse:collapse;margin-top:20px;font-family:var(--font-mono);font-size:13px;}
table.sample-table th{text-align:left;color:var(--ink-500);border-bottom:1px solid var(--line-strong);padding:8px 10px;}
table.sample-table td{padding:8px 10px;border-bottom:1px solid var(--line);color:var(--ink-300);}
.sample-scroll{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:10px;}
