/* ============================================================
   BELLFORGE — shared stylesheet
   Design tokens (B.8.4) + app shell + table components.
   Link this from every page:  <link rel="stylesheet" href="styles.css" />
   ============================================================ */

:root{
  /* brand */
  --navy:#1F2A44; --navy-2:#27324f; --gold:#B8860B; --gold-soft:#d9a93b;
  /* ink & surfaces */
  --ink:#1a1f2b; --muted:#6b7280; --line:#e6e7ea; --bg:#f7f7f5; --white:#fff;
  /* status */
  --green:#1d9e75; --green-soft:#e6f5ef; --amber:#b8860b; --amber-soft:#f6efdc;
  --red:#c0492f; --red-soft:#f8e9e4; --blue:#2f5fa5; --blue-soft:#e8f0fb;
  --purple:#6b4fa1; --purple-soft:#efeaf7;
  /* per-role accent (overridden by [data-role] below); default gold */
  --accent:var(--gold);
  /* type & shape */
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --radius:12px; --radius-sm:8px; --shadow:0 1px 3px rgba(20,26,40,.06);
}

*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.5;}

/* ---- app shell: navy sidebar + white content ------------------------- */
.app{display:flex;min-height:100vh;}

.sidebar{width:210px;flex:none;background:var(--navy);color:#cfd4e0;padding:24px 18px;}
.sidebar .logo{font-size:14px;letter-spacing:.18em;color:var(--gold-soft);font-weight:700;}
.sidebar .tag{font-size:11px;color:#8b93a7;margin-top:4px;margin-bottom:26px;}
.nav .it{font-size:13px;padding:9px 12px;border-radius:var(--radius-sm);color:#c2c8d6;
         cursor:pointer;margin-bottom:2px;text-decoration:none;display:block;}
.nav .it.on{background:var(--navy-2);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--accent);}
.nav .it.disabled{opacity:.4;cursor:not-allowed;}
.nav .it.disabled:hover{background:none;color:#c2c8d6;}
.nav .soon{font-size:9px;text-transform:uppercase;letter-spacing:.06em;
           background:rgba(255,255,255,.12);padding:1px 6px;border-radius:10px;
           vertical-align:middle;margin-left:6px;}
.nav .it:hover:not(.on){background:rgba(255,255,255,.05);color:#e7eaf1;}

.content{flex:1;padding:30px 34px 60px;max-width:1180px;}
.head h1{font-size:24px;color:var(--navy);}
.head p{color:var(--muted);font-size:13.5px;margin-top:4px;}

/* ---- stat cards ------------------------------------------------------- */
.stats{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0;}
.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
      padding:16px 18px;min-width:150px;box-shadow:var(--shadow);}
.stat .n{font-size:26px;font-weight:700;color:var(--navy);}
.stat .l{font-size:12px;color:var(--muted);}

/* ---- toolbar (search + filters) -------------------------------------- */
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.toolbar input,.toolbar select{font-family:inherit;font-size:13px;padding:8px 11px;
      border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink);}
.toolbar input{flex:1;min-width:200px;}
.toolbar .spacer{flex:1;}
.count{font-size:12px;color:var(--muted);}

/* ---- card + data table ----------------------------------------------- */
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
      overflow:hidden;box-shadow:var(--shadow);}
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
   font-weight:700;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap;
   cursor:pointer;user-select:none;background:#fcfcfb;}
th.num{text-align:right;}
th:hover{color:var(--navy);}
th .arrow{color:var(--gold);font-size:10px;}
td{padding:11px 12px;font-size:13px;border-bottom:1px solid #f0f1f3;vertical-align:middle;}
td.num{text-align:right;font-variant-numeric:tabular-nums;}
tr:hover td{background:#fafafa;}
.cname{font-weight:600;color:var(--navy);}
.sub{font-size:11px;color:var(--muted);}

/* ---- buttons ---------------------------------------------------------- */
.btn{border:none;border-radius:var(--radius-sm);padding:9px 16px;font-size:13px;
     font-weight:600;cursor:pointer;font-family:inherit;}
.btn.navy{background:var(--navy);color:#fff;}
.btn.gold{background:var(--gold);color:#fff;}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line);}
.btn.sm{padding:5px 10px;font-size:12px;border-radius:6px;}

/* ---- pills / badges --------------------------------------------------- */
.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;
      font-size:11px;font-weight:600;}
.pill.green{background:var(--green-soft);color:#0f6e56;}
.pill.amber{background:var(--amber-soft);color:#8a5b00;}
.pill.red{background:var(--red-soft);color:#9c331c;}
.pill.grey{background:#eef0f2;color:#5b6270;}
.pill.blue{background:var(--blue-soft);color:#244e88;}

/* ---- score bar + eta -------------------------------------------------- */
.scorebar{height:7px;border-radius:5px;background:#eceef1;overflow:hidden;width:80px;
          display:inline-block;vertical-align:middle;margin-right:8px;}
.scorebar>span{display:block;height:100%;}
.eta{font-weight:700;}

/* ---- notice banner ---------------------------------------------------- */
.banner{background:#fffdf6;border:1px solid #efe2b8;border-radius:10px;padding:14px 16px;
        font-size:13px;color:#7a5b12;line-height:1.6;margin-bottom:16px;}
.banner code{background:#f3ead0;padding:1px 6px;border-radius:4px;font-size:12px;}
.banner b{color:#5d4609;}

/* ============================================================
   MULTI-WORKSPACE APP (login picker + 4 role workspaces)
   ============================================================ */

/* per-role accent — applies to anything carrying data-role */
[data-role="searcher"]{--accent:var(--green);}
[data-role="admin"]   {--accent:var(--gold);}
[data-role="investor"]{--accent:var(--blue);}
[data-role="partner"] {--accent:var(--purple);}

/* ---- login picker ----------------------------------------------------- */
.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;
       justify-content:center;padding:48px 20px;background:var(--bg);}
.login .logo{font-size:15px;letter-spacing:.2em;color:var(--gold);font-weight:700;}
.login h1{font-size:23px;color:var(--navy);margin:10px 0 4px;}
.login .sub{color:var(--muted);font-size:13.5px;margin-bottom:30px;}
.login-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));
            gap:16px;max-width:580px;width:100%;}
.role-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);
           border-radius:var(--radius);padding:20px;cursor:pointer;text-align:left;
           box-shadow:var(--shadow);transition:transform .08s ease, box-shadow .2s ease;}
.role-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(20,26,40,.10);}
.role-card .av{width:38px;height:38px;border-radius:9px;background:var(--accent);color:#fff;
               font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;}
.role-card .r{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;
              font-weight:700;color:var(--accent);margin-top:12px;}
.role-card .name{font-size:16px;font-weight:700;color:var(--navy);margin-top:3px;}
.role-card .go{font-size:12.5px;color:var(--muted);margin-top:10px;}

/* ---- workspace sidebar extras ---------------------------------------- */
.role-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;
            text-transform:uppercase;color:#fff;background:var(--accent);
            padding:3px 9px;border-radius:20px;margin-top:6px;margin-bottom:24px;}
.switch{margin-top:26px;font-size:12px;color:#8b93a7;cursor:pointer;display:inline-block;}
.switch:hover{color:#cfd4e0;}

/* ---- outline / placeholder screens ----------------------------------- */
.screen-empty{background:#fff;border:1px dashed #d6d9df;border-radius:var(--radius);
              padding:52px 32px;text-align:center;color:var(--muted);}
.screen-empty .tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.08em;
              text-transform:uppercase;color:var(--accent);background:#fff;
              border:1px solid var(--line);padding:3px 10px;border-radius:20px;margin-bottom:14px;}
.screen-empty h2{font-size:17px;color:var(--navy);margin-bottom:8px;}
.screen-empty p{font-size:13.5px;max-width:460px;margin:0 auto;line-height:1.6;}
