/* Firm Insights (v6 item 17, layouts only). Colors, fonts and the pill classes come from style.css (loaded first). */
.fi-page h1, .fi-page h2, .fi-page .big{ font-family:'Lora',Georgia,serif; font-weight:600; }
.fi-account{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-dim); }
.fi-account button, .fi-account a{ font:inherit; font-size:12.5px; font-weight:700; padding:6px 12px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--ink-dim); cursor:pointer; text-decoration:none; }
.fi-tabs button:focus-visible, .fi-page button:focus-visible, .fi-page input:focus-visible, .fi-page a:focus-visible{ outline:2px solid var(--accent-ink); outline-offset:2px; }
.fi-notice{ margin:0 0 16px; padding:10px 14px; border-radius:8px; background:var(--expired-soft); color:var(--expired-c); font-size:13.5px; }
.card{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:20px 24px; }
.card h2{ margin:0; font-size:20px; letter-spacing:-.01em; } .card .sub{ font-size:13px; color:var(--ink-dim); margin-top:2px; }
.stack{ display:flex; flex-direction:column; gap:24px; min-width:0; }
.row-wrap{ display:flex; flex-wrap:wrap; gap:24px; } .row-wrap > *{ flex:1 1 380px; min-width:0; }
.soon{ display:inline-block; padding:3px 9px; border-radius:999px; background:var(--surface-2); color:var(--ink-dim); font-size:11.5px; font-weight:700; }
.mk-rows{ margin-top:12px; display:flex; flex-direction:column; }
.mk-r{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 12px; padding:9px 0; border-top:1px solid var(--border); }
.mk-r .k{ flex:1 1 180px; font-size:14px; color:var(--ink); } .mk-r .v{ font-weight:600; font-variant-numeric:tabular-nums; } .mk-r .s{ flex-basis:100%; font-size:12.5px; color:var(--ink-dim); }
.soon-box{ margin-top:14px; padding:18px; border:1px dashed var(--border); border-radius:10px; color:var(--ink-dim); font-size:13.5px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.strip{ display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; margin-bottom:24px; }
.tile{ flex:1 1 180px; min-width:0; background:var(--surface-2); border-radius:10px; padding:12px 14px; display:flex; flex-direction:column; gap:2px; }
.tile .k{ font-size:13px; color:var(--ink-dim); } .tile .big{ font-size:22px; font-variant-numeric:tabular-nums; } .tile .s{ font-size:12px; color:var(--ink-dim); }
.strip-head{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:4px 16px; }
.strip-head h2{ font-size:18px; margin:0; }
.linkbtn{ min-height:44px; background:none; border:0; padding:0; font:inherit; font-size:14px; font-weight:700; color:var(--accent-ink); text-decoration:underline; cursor:pointer; }
.cols{ display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start; }
.picker{ flex:0 0 280px; max-width:100%; display:flex; flex-direction:column; gap:16px; }
.picker .imp{ min-height:44px; border:1.5px solid var(--interested); border-radius:6px; background:transparent; color:var(--interested); padding:8px 14px; font:inherit; font-size:14px; font-weight:700; line-height:1.3; cursor:pointer; }
.picker .cap{ font-size:12px; color:var(--ink-dim); margin-top:6px; display:block; }
.picker label{ font-size:13px; font-weight:700; display:block; margin-bottom:6px; }
.picker input[type=search]{ width:100%; height:44px; border:1px solid var(--border); border-radius:10px; padding:0 14px; font:inherit; font-size:14px; color:var(--ink); background:var(--surface); }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip2{ min-height:36px; border:1px solid var(--border); background:var(--surface-2); color:var(--ink-dim); border-radius:999px; padding:0 14px; font:inherit; font-size:12.5px; font-weight:700; cursor:pointer; }
.chip2[aria-pressed="true"]{ border-color:transparent; background:var(--accent-soft); color:var(--accent-ink); }
.list-label{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); margin-bottom:6px; }
.firm-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.firm-item{ width:100%; display:flex; align-items:center; gap:10px; min-height:48px; padding:6px 8px; border:1px solid transparent; border-radius:10px; background:transparent; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.firm-item:hover{ background:var(--surface-2); } .firm-item[aria-current="true"]{ border-color:var(--accent); background:var(--accent-soft); }
.mark{ flex:none; width:32px; height:32px; border-radius:8px; display:grid; place-items:center; font-size:12px; font-weight:800; background:var(--accent-soft); color:var(--accent-ink); }
.firm-item .nm{ flex:1; min-width:0; font-weight:700; font-size:14px; } .firm-item .tg{ font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); background:var(--surface-2); padding:2px 8px; border-radius:999px; white-space:nowrap; }
.empty-list{ font-size:13px; color:var(--ink-dim); padding:6px 2px; }
.page{ flex:999 1 560px; min-width:0; }
.fhead{ display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px; }
.fhead h1{ margin:0; font-size:30px; line-height:1.15; letter-spacing:-.01em; } .fhead .meta{ font-size:14px; color:var(--ink-dim); margin-top:8px; }
.badges{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.pill{ border-radius:999px; padding:4px 10px; font-size:12px; font-weight:700; background:var(--t-full-bg); color:var(--t-full); }
.ceo{ display:flex; align-items:center; gap:12px; } .ceo .ph{ width:64px; height:64px; border-radius:50%; background:var(--surface-2); color:var(--ink-dim); display:grid; place-items:center; font-family:'Lora',Georgia,serif; font-size:24px; }
.ceo .k{ font-size:12px; color:var(--ink-dim); display:block; }
.actions{ display:flex; flex-wrap:wrap; gap:10px; width:100%; }
.btn{ min-height:44px; border:1.5px solid var(--interested); border-radius:8px; background:transparent; color:var(--interested); padding:8px 16px; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.btn.on{ background:var(--accent-soft); border-color:transparent; color:var(--accent-ink); }
.btn.undo{ background:var(--expired-soft); border-color:var(--expired-c); color:var(--expired-c); }
.glance{ background:var(--surface-2); border-radius:14px; padding:20px 24px; } .glance h2{ font-family:inherit; margin:0 0 12px; font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-dim); }
.glance .tiles{ display:flex; flex-wrap:wrap; gap:12px; } .glance .tile{ background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:14px 16px; }
.glance .v{ font-weight:700; font-size:15px; }
.role{ padding:14px 0; border-bottom:1px solid var(--border); display:flex; flex-direction:column; gap:4px; } .role:last-child{ border-bottom:0; padding-bottom:0; }
.role .t{ font-weight:700; } .role .m{ font-size:13px; color:var(--ink-dim); display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; } .role a{ font-size:14px; }
.roles-box{ margin-top:14px; border-radius:10px; padding:16px 18px; font-size:13.5px; line-height:1.5; }
.roles-box h3{ margin:0 0 6px; font-size:15px; } .roles-box p{ margin:0 0 6px; } .roles-box p a{ color:var(--accent-ink); font-weight:700; }
.roles-box.blue{ background:var(--surface-2); color:var(--ink); } .roles-box.gray{ background:var(--surface); border:1px solid var(--border); color:var(--ink-dim); }
.note-sand{ margin-top:14px; padding:10px 14px; border-radius:8px; background:var(--t-summer-bg); color:var(--t-summer); font-size:13px; }
/* Pop-ups everywhere are the same Near Black box with Off White text (Yang, Nov 5, 2026). */
.fi-toast{ position:fixed; left:50%; bottom:max(24px,env(safe-area-inset-bottom,0px)); transform:translateX(-50%); background:#131B1E; color:#F9F9F9; padding:12px 18px; border-radius:10px; font-size:13.5px; z-index:70; max-width:calc(100vw - 32px); text-align:center; }
.disc{ font-size:12px; color:var(--ink-dim); line-height:1.5; }
.grid2{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; }
@media (max-width:760px){ .picker{ flex-basis:100%; } .fhead{ padding:18px; } .card{ padding:18px; } }

.morelink{ display:inline-block; margin-top:14px; font-size:14px; font-weight:700; color:var(--accent-ink); }
.deals{ margin-top:12px; font-size:13.5px; } .deals-head{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); padding:8px 10px; border-bottom:1px solid var(--border); } .deals-row{ padding:10px; }
.btn.cancel{ border-color:var(--expired-c); color:var(--expired-c); } .btn:disabled{ opacity:.55; cursor:default; }
.fi-page .card ul{ margin:0; padding-left:20px; line-height:1.7; font-size:14px; }
/* The app header carries the account and the way back, so the page's own copies are hidden (the page script still fills them). */
.fi-account, .fi-back{ display:none; }

/* Page frame like the prototype: mint banner, title bar with Firms / Markets on the right, content, then the dark footer. */
.fi-banner{ background:var(--accent-soft); color:var(--accent-ink); text-align:center; font-size:12.5px; font-weight:700; padding:8px 16px; border-bottom:1px solid var(--border); }
.fi-titlebar{ background:var(--surface); border-bottom:1px solid var(--border); display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:0 max(20px, calc((100% - 1200px) / 2 + 20px)); }
.fi-titlebar h1{ margin:0; padding:22px 0 14px; font-size:22px; font-weight:500; color:var(--ink-dim); }
.fi-tabs{ display:flex; gap:22px; }
.fi-tabs button{ font:inherit; font-size:14px; font-weight:500; min-height:44px; padding:0 2px; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--ink-dim); cursor:pointer; }
.fi-tabs button[aria-selected="true"]{ color:var(--accent-ink); font-weight:700; border-bottom-color:var(--accent); }
.fi-body{ max-width:1200px; margin:0 auto; padding:28px 20px 24px; box-sizing:border-box; }
.skel{ display:block; color:var(--ink-faint); font-variant-numeric:tabular-nums; }
.table-box{ margin-top:14px; border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.tbl-head, .tbl-row{ display:grid; gap:10px; padding:10px 14px; align-items:center; font-size:13.5px; }
.tbl-head{ background:var(--surface-2); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-dim); font-weight:700; } .tbl-row{ border-top:1px solid var(--border); color:var(--ink-faint); }
.cols-deals{ grid-template-columns:2.4fr 1.6fr 1fr 1fr .8fr; } .cols-pay{ grid-template-columns:2fr 1fr 1.4fr 1fr; }
.panel{ margin-top:18px; padding:16px 18px; border-radius:10px; background:var(--surface-2); } .panel h3{ margin:0 0 8px; font-family:'Lora',Georgia,serif; font-weight:600; font-size:16px; }
.panel .line{ display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid var(--border); color:var(--ink-faint); font-size:13.5px; }
.later{ display:inline-block; margin-left:10px; vertical-align:middle; padding:3px 9px; border-radius:999px; background:var(--surface-2); color:var(--ink-dim); font-size:11.5px; font-weight:700; font-family:'Karla',sans-serif; }
.card-head{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; }
.roles-box .btn{ margin-top:6px; }
@media (max-width:760px){ .fi-titlebar{ padding:0 16px; } .tbl-head, .tbl-row{ grid-template-columns:1.6fr 1fr; } .tbl-head span:nth-child(n+3), .tbl-row span:nth-child(n+3){ display:none; } }
.btn.pri{ background:var(--accent); color:var(--on-accent); border-color:transparent; }
.bell{ font-size:13px; color:var(--accent-ink); flex:none; }

/* ===== v7 (docs/V7_UPGRADES.md items 1-5, 7, 9, 13-17, 23; the look is docs/artifacts/v7-website-prototype.html) ===== */
.fi-title{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; } .fi-title h1{ padding-bottom:14px; } #fiPlan{ font-family:'Karla',sans-serif; margin-bottom:14px; } #fiPlan.acc{ background:#131B1E; }
.fi-tabs{ flex-wrap:wrap; gap:4px 28px; } .fi-tabs button{ display:inline-flex; align-items:center; gap:5px; white-space:nowrap; } .fi-tabs button .lki{ color:#7A9EA6; }
@media (max-width:760px){ .fi-titlebar{ flex-direction:column; align-items:flex-start; gap:0; } }
.grow{ flex:1; } .faint{ color:#7A9EA6; } .dim{ color:var(--ink-dim); font-size:13.5px; } .center{ text-align:center; } .h18{ font-family:'Lora',Georgia,serif; font-weight:600; font-size:18px; margin:0; }
.eyebrow{ font-family:'Karla',sans-serif; font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-dim); margin:0 0 6px; }
/* locks (item 13) */
.lkp{ display:inline-flex; align-items:center; gap:5px; font-family:'Karla',sans-serif; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:3px 10px; border-radius:999px; white-space:nowrap; width:max-content; }
.lkp-pro{ background:#5C4562; color:#fff; } .lkp-acc{ background:#131B1E; color:#F9F9F9; } .lki{ display:inline-flex; vertical-align:-1px; }
.lkb{ margin-top:12px; padding:14px 16px; border:1px dashed var(--border); border-radius:10px; display:flex; flex-direction:column; gap:6px; font-size:14px; color:var(--ink); } .lkb p{ margin:0; } .lkb .why{ color:var(--ink-dim); font-size:13px; } .lkb .why:empty{ display:none; }
.lkl{ width:max-content; max-width:100%; font-weight:800; font-size:13.5px; color:var(--accent-ink); text-decoration:underline; }
.lkbtn{ background:transparent !important; color:#7A9EA6 !important; border:1.5px dashed #7A9EA6 !important; }
/* cards */
.fi-card{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:22px 24px; display:flex; flex-direction:column; gap:14px; min-width:0; }
.fi-frost{ background:var(--surface-2); border-radius:14px; padding:20px 24px; display:flex; flex-direction:column; gap:10px; min-width:0; }
.fi-white{ background:var(--surface); border-radius:10px; padding:0 18px; }
.fi-card h2, .fi-frost h2{ font-family:'Lora',Georgia,serif; font-weight:600; font-size:20px; letter-spacing:-.01em; margin:0; } .fi-frost h2{ font-size:19px; } .fi-card h1, .stack > div > h1, .fi-head h1{ font-family:'Lora',Georgia,serif; font-weight:600; font-size:28px; margin:0 0 4px; }
.fi-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:10px; } .fi-head .sub{ margin-top:2px; }
.fi-btn{ min-height:44px; display:inline-flex; align-items:center; gap:7px; border:1.5px solid var(--interested); border-radius:6px; background:transparent; color:var(--interested); padding:0 18px; font:inherit; font-size:14px; font-weight:700; white-space:nowrap; cursor:pointer; text-decoration:none; }
.fi-btn.pri{ background:var(--accent); border-color:transparent; color:#F9F9F9; } .fi-btn.pri:hover{ background:var(--accent-ink); } .fi-btn.on{ background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent); }
.fi-btn.undo{ background:#F2E4E6; color:#6B2E3A; border-color:#6B2E3A; } .fi-btn:disabled{ opacity:.45; cursor:default; } .fi-btn .bd{ font-size:10.5px; background:var(--accent-soft); color:var(--accent-ink); padding:1px 6px; border-radius:99px; }
.empty-in{ padding:14px 0; font-size:14px; color:var(--ink-dim); }
.vlink{ color:var(--accent-ink); font-weight:700; border-bottom:1.5px solid var(--accent-ink); text-decoration:none; font-size:14px; }
/* the firm box, option A (items 15, 23) */
.fbA{ border:1px solid #131B1E; border-radius:16px; overflow:hidden; background:var(--surface); }
.fbA-top{ background:#131B1E; color:#F9F9F9; padding:26px 28px; display:flex; flex-direction:column; gap:20px; }
.fbA-row{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:18px 28px; align-items:flex-start; } .fbA-who{ display:flex; gap:18px; align-items:center; min-width:0; } .fbA-txt{ min-width:0; }
.fbA-mono{ flex:none; width:68px; height:68px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-family:'Lora',Georgia,serif; font-weight:700; font-size:26px; }
.mk-bank{ background:#E3F1EE; color:#0E6A58; } .mk-pe{ background:#EAD6D6; color:#6B2E3A; } .mk-hf{ background:#E4D9E7; color:#5C4562; } .mk-am{ background:#EEDFC6; color:#6A522E; }
.fbA-eyebrow{ font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#8FD6C3; }
.fbA h1{ margin:2px 0 4px; font-family:'Lora',Georgia,serif; font-size:clamp(30px,4vw,42px); font-weight:600; line-height:1.08; letter-spacing:-.015em; color:#F9F9F9; }
.fbA-spec{ font-size:14px; color:#B9C8CC; } .fbA-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.ch{ display:inline-flex; align-items:center; border-radius:999px; padding:4px 10px; font-size:12px; font-weight:700; background:var(--surface-2); color:var(--ink-dim); white-space:nowrap; }
.fbA-chips .ch{ background:rgba(249,249,249,.08); color:#E3E3E3; box-shadow:inset 0 0 0 1px rgba(249,249,249,.16); } .fbA-chips .ch-plum, .ch-plum{ background:#EBE9EC; color:#5C4562; box-shadow:none; }
.ch-sand{ background:#EEDFC6; color:#6A522E; } .ch-mint{ background:var(--accent-soft); color:var(--accent-ink); }
.fbA-ceo{ display:flex; gap:12px; align-items:center; background:rgba(249,249,249,.06); border:1px solid rgba(249,249,249,.12); border-radius:12px; padding:10px 16px 10px 10px; }
.fbA-ceo .ph{ width:56px; height:56px; border-radius:50%; background:#2A3A3F; color:#B9C8CC; display:grid; place-items:center; font-family:'Lora',Georgia,serif; font-size:22px; } .fbA-ceo .k{ display:block; font-size:11.5px; color:#8DA1A8; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }
.fbA-top .soon{ background:rgba(249,249,249,.1); color:#B9C8CC; }
.fbA-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; border-top:1px solid rgba(249,249,249,.14); padding-top:18px; }
.fb-stat{ display:flex; flex-direction:column; gap:2px; min-width:0; } .fb-stat .k{ font-size:12px; color:#8DA1A8; } .fb-stat .big{ font-family:'Lora',Georgia,serif; font-size:30px; font-weight:600; line-height:1.12; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; } .fb-stat .s{ font-size:12.5px; color:#B9C8CC; }
.fb-stat .big .lkp{ font-size:11px; margin:6px 0 4px; }
.fbA-actions{ display:flex; gap:10px; flex-wrap:wrap; align-items:flex-start; }
@media (min-width:761px){ .fbA-actions > :last-child{ margin-left:auto; } }   /* Customize page sits on the right (Yang, 2026-10-14); on a phone the buttons stay full width */
.fbA-top .fi-btn, .fbA-top .fpb{ min-height:44px; background:#0A0D0F; color:#F3F3F3; border:1.5px solid rgba(249,249,249,.6); border-radius:6px; }   /* the Interview Prep recipe in white (Yang, 2026-10-15, option A): a darker fill, and on hover a brighter outline and whiter text */
.fbA-top .fi-btn:hover, .fbA-top .fpb:hover, .fbA-top .fpb[aria-expanded="true"]{ border-color:#FFFFFF; color:#FFFFFF; } .fbA-top .fi-btn.pri{ background:var(--accent); border-color:transparent; color:#F9F9F9; }
.fbA-top .fi-btn.on{ background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent); } .fbA-top .fi-btn .bd{ background:rgba(143,214,195,.18); color:#8FD6C3; } .fbA-top .fi-btn.on .bd{ background:#fff; color:#0E6A58; }
.fbA-top .fi-btn.undo{ background:#F2E4E6; color:#6B2E3A; border-color:#6B2E3A; } .fbA-top .lkbtn{ color:#B9C8CC !important; border-color:rgba(185,200,204,.55) !important; }
.fbA-top a:focus-visible, .fbA-top button:focus-visible{ outline:2px solid #8FD6C3; outline-offset:2px; }
/* Markets today, under the band (Accelerator; blurred for Free and Pro) */
.mkt{ position:relative; padding:20px 28px 22px; display:flex; flex-direction:column; gap:14px; }
.mkt-head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; } .mkt-head h2{ margin:0; font-family:'Lora',Georgia,serif; font-weight:600; font-size:19px; } .mkt-head .sub{ font-size:13px; color:var(--ink-dim); } .mkt-head .linkbtn{ min-height:36px; }
.mkt-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:12px; overflow:hidden; }
.mkt-t{ background:var(--surface); padding:12px 16px; display:flex; flex-direction:column; gap:2px; min-width:0; } .mkt-t .k{ font-size:12.5px; color:var(--ink-dim); } .mkt-t .big{ font-family:'Lora',Georgia,serif; font-size:24px; font-weight:600; } .mkt-t .s{ font-size:12.5px; font-weight:700; color:var(--ink-dim); }
.mkt-ask{ font-size:13px; color:var(--ink-dim); } .mkt-ask i{ font-family:'Lora',Georgia,serif; }
.mkt-locked .mv{ filter:blur(6px); user-select:none; } .mkt-locked .linkbtn, .mkt-locked .mkt-ask{ display:none; }
.mktlock{ position:absolute; left:28px; right:28px; top:58px; bottom:22px; display:flex; align-items:center; justify-content:center; pointer-events:none; }
.mktcard{ pointer-events:auto; background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:12px 18px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; box-shadow:0 10px 30px rgba(19,27,30,.12); max-width:100%; font-size:14px; }
@media (max-width:520px){ .fbA-top{ padding:20px 18px; } .mkt{ padding-inline:18px; } .mktlock{ left:18px; right:18px; } }
/* sections */
.fav-row, .cs-row{ display:flex; align-items:center; gap:10px 18px; flex-wrap:wrap; padding:12px 0; } .fav-row + .fav-row, .cs-row + .cs-row{ border-top:1px solid var(--border); }
.fav-row .t, .cs-row .t{ flex:1 1 260px; font-weight:700; font-size:14.5px; min-width:0; } .fav-row .m, .cs-row .m{ font-size:13.5px; color:var(--ink-dim); }
.stg{ display:inline-flex; border-radius:999px; padding:4px 10px; font-size:12px; font-weight:700; white-space:nowrap; }
.stg-sel{ font-family:inherit; border:1px solid rgba(19,27,30,.12); padding:4px 8px; cursor:pointer; min-height:30px; }   /* item 3: the status menu in the Favorites box */
.stg-sel:disabled{ opacity:.6; cursor:progress; }
.stg-interested{ background:#EBF2F4; color:#41626E; } .stg-applied{ background:#EEDFC6; color:#6A522E; box-shadow:inset 0 0 0 1px #C4A882; } .stg-interview{ background:#ECE7F3; color:#5E4886; } .stg-offer{ background:#E3F1EE; color:#0E6A58; } .stg-passed{ background:#C9D9DF; color:#2E4A52; }
.fi-tiles{ display:flex; flex-wrap:wrap; gap:12px; }
.fi-tile{ flex:1 1 200px; min-width:0; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:14px 16px; display:flex; flex-direction:column; gap:2px; align-items:flex-start; }
.glance .fi-tile{ background:var(--surface); } .fi-tile .k{ font-size:12px; color:var(--ink-dim); } .fi-tile .v{ font-weight:700; font-size:15px; } .fi-tile .s{ font-size:12.5px; color:var(--ink-dim); }
.prelim{ margin:0; font-size:12.5px; color:var(--ink-dim); } .prelim-box{ background:#EEDFC6; border:1px solid #C4A882; color:#6A522E; border-radius:8px; padding:9px 14px; font-size:13px; align-self:flex-start; }
.tl-wrap{ overflow-x:auto; } .tl{ min-width:640px; display:flex; flex-direction:column; gap:10px; } .tl-row{ display:grid; grid-template-columns:170px repeat(12,1fr) 250px; gap:3px; align-items:center; }
.tl-m{ text-align:center; font-size:11.5px; color:var(--ink-dim); } .tl-c{ height:22px; border-radius:4px; background:var(--surface-2); } .tl-r{ padding-left:12px; font-size:13.5px; color:var(--ink-dim); }
.tlp{ display:inline-flex; border-radius:999px; padding:5px 12px; font-size:12.5px; font-weight:700; } .tlp-0, .tl-c.tlc-0{ background:#EEDFC6; color:#6A522E; } .tlp-1, .tl-c.tlc-1{ background:#C9D9DF; color:#2E4A52; } .tlp-2, .tl-c.tlc-2{ background:#E4D9E7; color:#5C4562; }
.closing{ border-top:1px solid var(--border); padding-top:12px; } .closing .sub{ margin:0; }
.role-tiles{ display:flex; flex-wrap:wrap; gap:12px; }
.role-tile{ flex:1 1 160px; min-width:0; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:14px 16px; display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.role-tile .t{ font-weight:700; font-size:14.5px; line-height:1.3; } .role-tile .m{ font-size:12.5px; color:var(--ink-dim); } .role-tile .vlink{ margin-top:auto; padding-top:4px; border-bottom:0; text-decoration:underline; font-weight:400; }
.roles-box .proline{ margin-top:8px; font-size:14px; color:var(--ink); } .roles-box .proline a{ font-weight:800; }
.fi-card .morelink{ margin-top:0; align-self:flex-start; }
@media (max-width:640px){ .role-tile{ flex-basis:100%; } }
/* My notes (item 7) */
.composer{ display:flex; flex-direction:column; gap:10px; } .composer textarea{ width:100%; box-sizing:border-box; border:1px solid var(--border); border-radius:10px; padding:12px 14px; font:inherit; font-size:15px; color:var(--ink); resize:vertical; background:var(--surface); }
.composer select{ height:40px; border:1px solid var(--border); border-radius:10px; background:var(--surface); padding:0 12px; font:inherit; font-size:14px; max-width:320px; color:var(--ink); }
.nlab{ display:flex; flex-direction:column; gap:4px; font-size:12px; font-weight:700; color:var(--ink-dim); } .ntags{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; } .ntags .nlab{ display:inline; }
.notes{ border-top:1px solid var(--border); } .note{ padding:12px 0; } .note + .note{ border-top:1px solid var(--border); }
.note-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font-size:12.5px; color:var(--ink-dim); } .ntag{ display:inline-flex; border-radius:999px; padding:3px 10px; font-size:11.5px; font-weight:700; background:var(--surface-2); color:#2E4A52; }
.nlink{ background:none; border:0; padding:0; min-height:32px; font:inherit; font-size:13px; font-weight:700; color:var(--accent-ink); cursor:pointer; } .nlink.del{ font-weight:400; color:#7A9EA6; }
.note-text{ font-size:15px; margin-top:4px; white-space:pre-wrap; overflow-wrap:anywhere; }
.filters{ display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; } .filters input[type=search]{ height:40px; border:1px solid var(--border); border-radius:10px; background:var(--surface); padding:0 14px; font:inherit; font-size:14px; min-width:230px; max-width:100%; color:var(--ink); }
.fgroup{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; } .fgroup .nlab{ display:inline; }
.nblock-head{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; } .nb-name{ font-family:'Lora',Georgia,serif; font-weight:600; font-size:20px; }
.nroles{ background:var(--bg); border-radius:10px; padding:12px 16px; }
.tier{ display:inline-flex; border-radius:999px; padding:4px 10px; font-size:12px; font-weight:700; white-space:nowrap; }
.tier-0{ background:#C9D9DF; color:#2E4A52; } .tier-1{ background:#E4D9E7; color:#5C4562; } .tier-2{ background:#EBF2F4; color:#41626E; } .tier-3{ background:#EEDFC6; color:#6A522E; } .tier-4{ background:#E3F1EE; color:#0E6A58; } .tier-5{ background:#D5E3E3; color:#2E4A52; }
/* the Directory tab (item 4) */
.dir-box{ background:var(--surface); border:1px solid var(--border); border-radius:14px; overflow-x:auto; }
.dir-box table{ width:100%; min-width:860px; border-collapse:collapse; font-size:14px; }
.dir-box th{ text-align:left; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:#7A9EA6; background:var(--surface-2); padding:12px 16px; font-weight:700; }
.dir-box td{ padding:11px 16px; border-top:1px solid var(--border); vertical-align:middle; } .dir-box td.r{ text-align:right; } .dir-box tr.grp td{ background:var(--bg); font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--ink-dim); padding:14px 16px 8px; }
.dir-firm{ display:inline-flex; align-items:center; gap:10px; background:none; border:0; padding:0; min-height:32px; font:inherit; font-weight:700; font-size:14px; color:var(--ink); cursor:pointer; text-align:left; } .dir-firm .mark{ width:26px; height:26px; border-radius:7px; font-size:11px; }
.dir-save{ white-space:nowrap; min-height:34px; border:1.5px solid var(--interested); background:transparent; color:var(--interested); border-radius:6px; padding:0 12px; font:inherit; font-size:13px; font-weight:700; cursor:pointer; } .dir-save.on{ background:var(--accent-soft); color:var(--accent-ink); border-color:transparent; }
.mark.mk-pe{ background:#EAD6D6; color:#6B2E3A; } .mark.mk-hf{ background:#E4D9E7; color:#5C4562; } .mark.mk-am{ background:#EEDFC6; color:#6A522E; }
/* moving sections (item 9) */
.cust-bar{ flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; } .cust-btns{ display:flex; gap:10px; flex-wrap:wrap; }
.fi-card.cust{ flex-direction:row; align-items:center; gap:16px; padding:14px 20px; } .fi-card.cust.moved{ border:1.5px solid var(--accent); }
.cust-arrows{ display:flex; flex-direction:column; gap:6px; } .cust-arrow{ width:34px; height:30px; border:1.5px solid #2E4A52; background:var(--surface); color:#2E4A52; border-radius:6px; font-size:13px; cursor:pointer; }
.cust-arrow:disabled{ border-color:var(--border); background:var(--bg); color:#C5D3D6; cursor:default; } .cust-name{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.composer{ align-self:stretch; width:100%; } .fi-frost h2.eyebrow{ font-family:'Karla',sans-serif; font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--ink-dim); margin:0 0 2px; }
.fi-tile{ flex-basis:150px; } .role-tile{ flex-basis:130px; } .notes-card .fi-head{ align-items:center; }
.fi-title{ align-items:center; padding:22px 0 14px; } .fi-title h1, .fi-titlebar .fi-title h1{ padding:0; } #fiPlan{ margin:0; }
.dir-box td.faint{ white-space:nowrap; }

/* My Notes (item 7, Yang 2026-10-14): a note deleted during this visit stays faded and crossed out with ↺ Undo; the character count; the firm name opens the firm page; the export button beside + New note. */
.note.gone .note-text{ opacity:.45; text-decoration:line-through; } .note.gone .note-meta > span{ opacity:.45; }
.nlink.undo{ color:var(--accent-ink); font-weight:700; }
.ncount{ max-width:560px; margin-top:4px; text-align:right; font-size:12.5px; color:#7A9EA6; font-variant-numeric:tabular-nums; }
.nb-firm{ display:inline-flex; align-items:center; gap:10px; background:none; border:0; padding:0; min-height:32px; font:inherit; color:var(--ink); cursor:pointer; text-align:left; } .nb-firm:hover .nb-name{ text-decoration:underline; text-underline-offset:3px; }
.fi-acts{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
/* v7 items 6 and 17: the CEO from the annual filing, with "Since [year]" under the name */
.fbA-ceo .v{ display:block; font-weight:700; font-size:15px; color:#F9F9F9; } .fbA-ceo .s{ display:block; font-size:12.5px; color:#B9C8CC; }

/* v7 item 24: the black label on Firm Insights. The Accelerator lock pill is the black pill everywhere; an Accelerator student's firm box gets Warm Sand labels and a Warm Sand line along its top. */
.lkp-acc{ background:#0A0D0F; color:#EEDFC6; border:1px solid #C4A882; }
body[data-plan="accelerator"] .fbA-eyebrow{ color:#C4A882; }
/* The black label replaces the mint in the firm box (Yang, 2026-10-14, option B with no fill): the logo tile and "Alerts on" are outlined in Warm Sand. */
body[data-plan="accelerator"] .fbA-mono{ background:transparent!important; color:#EEDFC6!important; border:1px solid #C4A882; }
body[data-plan="accelerator"] .fbA-top .fi-btn.on{ background:transparent; color:#EEDFC6; border-color:#C4A882; } body[data-plan="accelerator"] .fbA-top .fi-btn.on .bd{ background:rgba(196,168,130,.18); color:#EEDFC6; }
/* The current Firm Insights tab in the black label (Yang, 2026-10-14): darker sand text, the same 2px underline in Warm Sand; light sand text in dark mode. */
body[data-plan="accelerator"] .fi-tabs button[aria-selected="true"]{ color:#6A522E; border-bottom-color:#C4A882; }
:root[data-theme="dark"] body[data-plan="accelerator"] .fi-tabs button[aria-selected="true"]{ color:#EEDFC6; }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) body[data-plan="accelerator"] .fi-tabs button[aria-selected="true"]{ color:#EEDFC6; } }
/* The notice bar under the header in the black label (Yang, 2026-10-14, option 1): pale sand with dark sand text; deep sand in dark mode. */
body[data-plan="accelerator"] .fi-banner{ background:#EEDFC6; color:#6A522E; }
:root[data-theme="dark"] body[data-plan="accelerator"] .fi-banner{ background:#4A3B24; color:#EEDFC6; }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) body[data-plan="accelerator"] .fi-banner{ background:#4A3B24; color:#EEDFC6; } }

/* Interview prep (v7 item 26, Accelerator): the black label, black and Warm Sand */
.fbA .prep-btn{ background:#0A0D0F; color:#EEDFC6; border-color:#C4A882; }
.fbA .prep-btn:hover{ border-color:#EEDFC6; color:#fff; }
.prep h2{ font-family:'Lora',Georgia,serif; font-weight:600; font-size:21px; margin:0 0 4px; }
.prep-hero{ background:#131B1E; color:#F9F9F9; border-radius:16px; padding:28px 32px; display:flex; flex-direction:column; gap:8px; }
.prep-hero h1{ font-family:'Lora',Georgia,serif; font-weight:600; font-size:30px; line-height:1.2; margin:0; color:#F9F9F9; }
.prep-hero p{ margin:0; color:#B9C6CA; font-size:16px; line-height:1.5; max-width:64ch; }
.prep-eb{ font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#EEDFC6; }
.prep-back{ align-self:flex-start; background:none; border:0; padding:0; color:#EEDFC6; font:inherit; font-weight:700; font-size:13.5px; cursor:pointer; }
.prep-search{ margin-top:10px; max-width:560px; width:100%; box-sizing:border-box; min-height:46px; padding:0 14px; border-radius:8px; border:1px solid #C4A882; background:#F9F9F9; color:#131B1E; font:inherit; font-size:15px; }
.prep-results{ display:flex; flex-wrap:wrap; gap:8px; max-width:760px; }
.prep-hit{ display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:0 12px; border-radius:8px; border:1px solid rgba(196,168,130,.5); background:rgba(249,249,249,.06); color:#F9F9F9; font:inherit; font-weight:700; font-size:14px; cursor:pointer; }
.prep-hit:hover{ border-color:#C4A882; } .prep-none{ color:#B9C6CA; font-size:14px; }
.prep-cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:16px; }
.prep .fi-card > .soon{ align-self:flex-start; }
.prep-card{ background:var(--surface, #fff); border:1px solid var(--border, #E3E3E3); border-radius:12px; padding:18px 20px; display:flex; flex-direction:column; gap:8px; }
.prep-card .f{ display:flex; align-items:center; gap:10px; font-size:16px; } .prep-card .r{ font-size:14.5px; } .prep-card .m{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:13px; color:var(--ink-dim, #41626E); }
.prep-go{ align-self:flex-start; min-height:40px; padding:0 16px; border-radius:6px; font:inherit; font-weight:700; font-size:14px; background:#131B1E; color:#EEDFC6; border:1px solid #C4A882; cursor:pointer; }
.prep-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.prep-role{ margin-top:8px; display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:rgba(249,249,249,.05); border:1px solid rgba(196,168,130,.35); border-radius:10px; padding:10px 14px; font-size:14px; }
.prep-date{ display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:#EEDFC6; } .prep-date input{ min-height:36px; border-radius:6px; border:1px solid #C4A882; background:#F9F9F9; color:#131B1E; font:inherit; padding:0 8px; }
.prep-grid{ display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr); gap:16px; align-items:start; }
.prep-list{ margin:6px 0 0; padding-left:18px; line-height:1.8; font-size:14.5px; }
.prep-check label{ display:flex; gap:10px; align-items:flex-start; font-size:14.5px; padding:5px 0; cursor:pointer; } .prep-check input{ accent-color:#C4A882; margin-top:4px; }
@media (max-width:860px){ .prep-grid{ grid-template-columns:1fr; } .prep-hero{ padding:22px 20px; } .prep-hero h1{ font-size:25px; } }
/* Request a firm or feature (v7 item 31): rectangular like Career Intelligence's button, at the end of the tab row. It sits inside the title bar, so no block moves.
   It shows the speech-bubble icon only (Yang, 2026-10-14: "icon-only for all the tabs"); below 1100px the icon floats in the bottom-right corner. */
.fi-right{ display:flex; align-items:flex-end; gap:18px; min-width:0; }
@media (min-width:1100px){ .fi-right .fi-tabs{ flex-wrap:nowrap; column-gap:22px; } }   /* one row of tabs: the button must never push the page down */
.fi-req{ position:relative; align-self:center; flex:none; }
.fi-req .feedback-btn{ height:38px; }
.fi-req .feedback-pop{ right:0; top:calc(100% + 8px); }
.req-form{ display:flex; flex-direction:column; gap:16px; }
.fi-req .feedback-pop[hidden], .fi-req .feedback-sent[hidden], .req-form[hidden]{ display:none; }
.fi-req .req-label{ display:none; } .fi-req .feedback-btn{ width:44px; padding:0; justify-content:center; }   /* icon only on every tab (Yang, 2026-10-14); the name is its label and tooltip */
@media (max-width:1099px){ .fi-req{ position:fixed; right:16px; bottom:16px; z-index:50; } .fi-req .feedback-btn{ box-shadow:0 6px 18px rgba(19,27,30,.25); background:var(--accent); color:var(--on-accent); } .fi-req .feedback-pop{ top:auto; bottom:calc(100% + 8px); } }   /* no room in the tab row: the icon floats in the corner, so nothing moves */

/* The firm box for Free and Pro (Yang, 2026-10-15): white with a thin light outline, like the cards below it. The black box stays for Accelerator. The green Save button, the locked dashed button and the "on" states keep their own looks. */
body:not([data-plan="accelerator"]) .fbA{ border:1px solid var(--border); }
body:not([data-plan="accelerator"]) .fbA-top{ background:var(--surface); color:var(--ink); }
body:not([data-plan="accelerator"]) .fbA h1{ color:var(--ink); } body:not([data-plan="accelerator"]) .fbA-eyebrow{ color:var(--accent-ink); } body:not([data-plan="accelerator"]) .fbA-spec{ color:var(--ink-dim); }
body:not([data-plan="accelerator"]) .fbA-chips .ch{ background:var(--surface-2); color:var(--ink-dim); box-shadow:none; } body:not([data-plan="accelerator"]) .fbA-chips .ch-plum{ background:#EBE9EC; color:#5C4562; }
body:not([data-plan="accelerator"]) .fbA-ceo{ background:var(--surface-2); border-color:var(--border); } body:not([data-plan="accelerator"]) .fbA-ceo .ph{ background:var(--border); color:var(--ink-dim); } body:not([data-plan="accelerator"]) .fbA-ceo .k{ color:var(--ink-faint); } body:not([data-plan="accelerator"]) .fbA-ceo .v{ color:var(--ink); } body:not([data-plan="accelerator"]) .fbA-ceo .s{ color:var(--ink-dim); } body:not([data-plan="accelerator"]) .fbA-top .soon{ background:var(--surface-2); color:var(--ink-dim); }
body:not([data-plan="accelerator"]) .fbA-stats{ border-top:1px solid var(--border); } body:not([data-plan="accelerator"]) .fb-stat .k{ color:var(--ink-faint); } body:not([data-plan="accelerator"]) .fb-stat .s{ color:var(--ink-dim); }
body:not([data-plan="accelerator"]) .fbA-top .fi-btn:not(.pri):not(.on):not(.undo):not(.lkbtn), body:not([data-plan="accelerator"]) .fbA-top .fpb:not(.lkbtn){ background:var(--surface); color:var(--ink); border-color:var(--border); }
body:not([data-plan="accelerator"]) .fbA-top .fi-btn:not(.pri):not(.on):not(.undo):not(.lkbtn):hover, body:not([data-plan="accelerator"]) .fbA-top .fpb:not(.lkbtn):hover, body:not([data-plan="accelerator"]) .fbA-top .fpb[aria-expanded="true"]{ border-color:var(--accent); color:var(--accent-ink); }
body:not([data-plan="accelerator"]) .fbA-top .lkbtn{ color:#7A9EA6 !important; border-color:#7A9EA6 !important; } body:not([data-plan="accelerator"]) .fbA-top .fi-btn .bd{ background:var(--accent-soft); color:var(--accent-ink); }
body:not([data-plan="accelerator"]) .fbA-top a:focus-visible, body:not([data-plan="accelerator"]) .fbA-top button:focus-visible{ outline-color:var(--accent-ink); }
body:not([data-plan="accelerator"]) .mkt{ border-top:1px solid var(--border); }
.sz-basis{display:block;margin-top:2px;font-size:11px;line-height:1.3;opacity:.7;max-width:22ch}
