@font-face {
  font-family:Manrope; src:url('/manrope-latin.woff2') format('woff2'); font-style:normal; font-weight:200 800; font-display:swap;
}
:root {
  color-scheme:light; --canvas:#f7faff; --ink:#21262c; --muted:#60697b;
  --blue:#35a8e0; --blue-dark:#086890; --blue-hover:#075778; --line:#dce7f0; --soft:#eaf5fc;
  --rail:240px; font-family:Manrope,"Segoe UI",system-ui,sans-serif; font-size:14px;
}
* { box-sizing:border-box }
body { margin:0; background:var(--canvas); color:var(--ink); line-height:1.5 }
button,input,textarea,select { font:inherit }
button,a,input,textarea,select { -webkit-tap-highlight-color:transparent }
button { cursor:pointer }
button:disabled { cursor:default; opacity:.58 }
a { color:var(--blue-dark); text-underline-offset:3px }
:focus-visible { outline:3px solid var(--blue-dark); outline-offset:3px }
.hero :focus-visible { outline-color:white }
h1,h2,h3,p { margin:0 }
svg { width:18px; height:18px; flex:none }
.skip { position:fixed; left:12px; top:-80px; padding:10px; background:white; z-index:10 }
.skip:focus { top:10px }
.loading { padding:42px }
.shell { display:grid; grid-template-columns:var(--rail) minmax(0,1fr); min-height:100vh }
.rail { background:white; border-right:1px solid var(--line); display:flex; flex-direction:column; min-height:100vh; position:sticky; top:0; height:100vh; overflow:auto }
.brand { display:flex; flex-direction:column; align-items:flex-start; gap:13px; padding:23px 23px 15px }
.brand img { display:block; width:96px; height:auto }
.brand span { color:var(--blue-dark); font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase }
.rail nav { padding:14px 13px }
.nav-caption { padding:0 11px 10px; color:var(--muted); font-size:10px; font-weight:750; letter-spacing:1.5px; text-transform:uppercase }
.nav-item { display:flex; gap:11px; align-items:center; text-align:left; color:var(--muted); background:none; border:1px solid transparent; border-radius:8px; width:100%; padding:10px; margin-bottom:4px; font-weight:580 }
.nav-item:hover { background:var(--soft); color:var(--blue-dark) }
.nav-item.active { background:var(--soft); color:var(--blue-dark); font-weight:800; border-color:#d7ecf8; box-shadow:inset 3px 0 var(--blue) }
.rail-bottom { margin:auto 15px 17px; padding:14px; border:1px solid var(--line); border-radius:10px; background:#f6f9fd; font-size:11px; color:var(--muted) }
.rail-bottom strong { display:block; color:var(--ink); margin-bottom:3px }
.topbar { height:70px; background:white; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,3vw,43px); gap:14px }
.crumb { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px }
.crumb strong { color:var(--ink); font-weight:650 }
.top-tools { display:flex; gap:12px; align-items:center }
.tag-demo { display:inline-flex; align-items:center; gap:6px; border-radius:20px; background:var(--soft); color:var(--blue-dark); padding:5px 9px; font-weight:800; font-size:10px; white-space:nowrap }
.dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:currentColor; flex:none }
.avatar { width:30px; height:30px; border-radius:50%; background:var(--soft); color:var(--blue-dark); display:grid; place-items:center; font-size:10px; font-weight:800; flex:none }
.role-button { display:flex; gap:8px; align-items:center; border:1px solid var(--line); background:white; border-radius:999px; color:var(--ink); padding:4px 9px 4px 4px; font-weight:700; font-size:11px }
.role-button svg { width:14px; height:14px; color:var(--muted) }
.workspace { padding:26px clamp(20px,3vw,43px) 36px; max-width:1550px; margin:auto }
.hero { display:grid; align-content:center; position:relative; isolation:isolate; overflow:hidden; min-height:245px; padding:28px clamp(22px,3.5vw,46px); border-radius:12px; background:#172d3f; color:white }
.hero::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(14,32,48,.95),rgba(14,32,48,.82) 40%,rgba(14,32,48,.27)),url('/med-homepage-hero.jpg') center 49% / cover no-repeat }
.kicker { text-transform:uppercase; letter-spacing:1.8px; font-size:10px; font-weight:800; color:var(--blue-dark); margin-bottom:9px }
.hero .kicker { color:#e2f5ff }
.hero h1 { max-width:740px; font-size:clamp(30px,3.8vw,48px); line-height:1.14; font-weight:800; letter-spacing:-.034em }
.hero p { color:#f1f5fa; font-size:14px; margin:12px 0 19px; max-width:445px }
.hero-actions { display:flex; gap:8px; flex-wrap:wrap }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:8px 14px; min-height:36px; border-radius:999px; border:1px solid var(--line); color:var(--ink); background:white; font-size:12px; font-weight:800; text-decoration:none }
.btn:hover { background:var(--soft) }
.btn.primary { border-color:var(--blue-dark); background:var(--blue-dark); color:white }
.btn.primary:hover { background:var(--blue-hover) }
.btn.hero-primary { border-color:white; background:white; color:var(--blue-dark) }
.btn.hero-primary:hover { border-color:var(--soft); background:var(--soft) }
.btn.ghost { border-color:white; color:white; background:transparent }
.btn.ghost:hover { background:#ffffff26 }
.btn.small { min-height:30px; padding:5px 8px; font-size:11px }
.btn svg { width:15px; height:15px }
.link-button { color:var(--blue-dark); border:0; background:none; padding:5px; font-size:12px; font-weight:800; display:inline-flex; align-items:center; gap:5px }
.link-button:hover { text-decoration:underline }
.link-button svg { width:14px }
.page-heading { display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:14px; margin-bottom:22px }
.page-heading h1 { font-weight:800; font-size:clamp(31px,3.7vw,43px); line-height:1.12; letter-spacing:-.034em }
.page-heading p { color:var(--muted); margin-top:7px; max-width:62ch }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:24px 0 10px }
.section-head h2,.panel-head h2 { font-size:17px; font-weight:720; letter-spacing:-.35px }
.subtle { color:var(--muted); font-size:12px }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px }
.metric { display:grid; align-content:start; gap:3px; background:#fff; border:1px solid var(--line); padding:14px 15px; border-radius:11px }
.metric-top { display:flex; align-items:center; justify-content:space-between; gap:6px }
.metric-label { color:var(--muted); font-size:11px; font-weight:700 }
.metric strong { color:var(--blue-dark); font-size:31px; font-weight:800; letter-spacing:-1px; line-height:1.12 }
.metric p { font-size:11px; color:var(--muted) }
.tile-icon { display:grid; place-items:center; color:var(--blue-dark); background:var(--soft); width:33px; height:33px; border-radius:8px; flex:none }
.tile-icon.emphasis { color:#12384d; background:#bfe9fc }
.tile-icon svg { width:16px; height:16px }
.columns { display:grid; grid-template-columns:minmax(0,1.53fr) minmax(255px,1fr); align-items:start; gap:14px; margin-top:17px }
.panel { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden }
.panel-head { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:15px 16px 12px }
.panel-head p { color:var(--muted); font-size:11px; margin-top:2px }
.panel-pad { padding:16px }
.table-wrap { overflow-x:auto }
table { width:100%; border-collapse:collapse; text-align:left }
th { color:var(--muted); background:#f4f8fc; font-size:10px; text-transform:uppercase; font-weight:800; letter-spacing:.6px }
td,th { padding:10px 13px; vertical-align:middle }
td { border-top:1px solid #eef2f7; font-size:12px }
td strong { font-weight:700 }
td small,.queue-row small { display:block; color:var(--muted); font-size:11px; margin-top:1px }
.actions { display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end }
.badge { display:inline-flex; align-items:center; gap:5px; border-radius:20px; color:#45546b; background:#edf2f8; padding:4px 7px; font-size:10px; line-height:1.12; font-weight:750; white-space:nowrap }
.badge.green { background:#e5f2e8; color:#235b43 }
.badge.orange { background:#fff0e4; color:#884d2c }
.badge.blue { background:#e9eff8; color:#36577a }
.queue-row { display:flex; align-items:center; gap:10px; margin:0 15px; padding:11px 0; border-top:1px solid #eef2f7; font-size:12px }
.queue-row strong { display:block; font-weight:710 }
.queue-row .link-button,.queue-row .badge { margin-left:auto; white-space:nowrap }
.queue-row .tile-icon { width:30px; height:30px }
.panel-foot { border-top:1px solid var(--line); padding:11px 16px; font-size:11px; color:var(--muted) }
.pipeline { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; margin-bottom:15px }
.review-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:0 16px 16px }
.review-lane { min-width:0; border:1px solid var(--line); border-radius:10px; background:#f4f8fc; padding:10px }
.review-lane-head { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:10px; color:var(--blue-dark) }
.review-lane-head h3 { font-size:13px; font-weight:800 }
.review-lane-head span { min-width:24px; padding:2px 5px; border-radius:999px; background:var(--soft); text-align:center; font-size:11px; font-weight:800 }
.review-card { border:1px solid var(--line); border-radius:8px; padding:10px; background:white; overflow-wrap:anywhere }
.review-card + .review-card { margin-top:8px }
.review-card h4 { margin:0; font-size:13px }
.review-card p { color:var(--muted); margin:3px 0 6px; font-size:11px }
.review-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px }
.review-lane .empty { padding:6px 0; font-size:11px }
.stage-chip { padding:9px 8px; background:var(--soft); border:1px solid var(--line); border-radius:8px; display:flex; gap:5px; align-items:center; justify-content:space-between; font-size:11px }
.stage-chip b { color:var(--blue-dark) }
.notice { border:1px solid var(--line); background:var(--soft); border-radius:9px; padding:12px 14px; margin:0 0 14px; color:#24485e; font-size:12px }
.notice.warm { background:#fff2e7; border-color:#f4e4d6; color:#75492f }
.grid-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px }
.deal-card { background:#fff; padding:16px; border:1px solid var(--line); border-radius:12px; min-width:0 }
.card-top { display:flex; justify-content:space-between; align-items:flex-start; gap:8px }
.card-top h3 { font-size:17px; letter-spacing:-.3px }
.card-sub { font-size:11px; color:var(--muted); margin-top:2px }
.deal-card p { font-size:13px; margin:10px 0; overflow-wrap:anywhere }
.facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; margin:12px 0 }
.fact { border:1px solid var(--line); border-radius:8px; padding:8px; font-size:12px; overflow-wrap:anywhere }
.fact span { color:var(--muted); display:block; font-size:10px }
.card-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; border-top:1px solid var(--line); padding-top:10px; margin-top:12px }
.filters { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:13px }
.filters input { min-width:185px }
.filters select { min-width:112px }
.empty { padding:24px 18px; color:var(--muted); font-size:13px }
.form-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px }
.fundraising-amounts[hidden] { display:none }
.field { display:grid; align-content:start; gap:4px; color:var(--ink); font-size:12px; font-weight:680; min-width:0 }
.field.wide,.wide { grid-column:1/-1 }
input:not([type=checkbox]),select,textarea { border:1px solid #cddae7; border-radius:7px; padding:8px 9px; background:#fff; color:var(--ink); width:100%; min-width:0 }
.filters input,.filters select { width:auto }
textarea { resize:vertical; min-height:74px }
.checks { border:1px solid var(--line); border-radius:8px; margin:0; padding:7px 10px 10px; min-width:0 }
.checks legend { font-size:12px; font-weight:700; padding:0 3px }
.checks:disabled { opacity:.54; background:#f4f7fb }
.checks[hidden], .choice-list label[hidden] { display:none }
.choice-search { margin:4px 0 7px }
.choice-list { max-height:180px; overflow-y:auto; padding:3px }
.notes-helper { margin-bottom:14px; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#f4f8fc }
.notes-helper summary { color:var(--blue-dark); cursor:pointer; font-weight:750; font-size:12px }
.notes-helper[open] summary, .notes-helper p, .notes-helper label { margin-bottom:6px }
.capture-entry { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; background:var(--soft); border-radius:8px; padding:10px; margin:10px 0 }
.capture-section { grid-column:1/-1; margin:4px 0; min-width:0 }
.capture-section h3 { margin:5px 0; font-size:14px }
.choices { display:flex; flex-wrap:wrap; gap:6px 12px }
.check { display:flex; align-items:center; gap:5px; font-size:12px; font-weight:540 }
.check input { accent-color:var(--blue-dark) }
.form-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:15px }
.form-error { margin:9px 0 0; font-size:12px; color:#a13022; font-weight:700 }
.form-error:empty { display:none }
.text-list { display:flex; flex-wrap:wrap; gap:4px }
.text-list .badge { margin-top:2px }
.signin { padding:0 0 45px }
.signin-hero { position:relative }
.signin-masthead { position:absolute; z-index:1; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; margin:0 auto; max-width:1200px; padding:14px clamp(16px,5vw,45px) }
.signin .brand { padding:0 }
.signin .brand img { width:96px }
.signin .hero { justify-items:center; text-align:center; min-height:420px; padding:113px 20px 47px; border-radius:0 }
.signin .hero::after { background:linear-gradient(rgba(14,30,44,.70),rgba(14,30,44,.62)),url('/med-homepage-hero.jpg') center 48% / cover no-repeat }
.signin .hero .kicker { letter-spacing:2.2px }
.signin .hero p { max-width:540px; font-size:16px }
.signin .hero .btn { font-size:14px; padding:10px 19px }
.persona { width:100%; display:flex; align-items:center; gap:10px; text-align:left; background:#fff; color:var(--ink); border:1px solid var(--line); border-radius:9px; padding:10px 12px }
.persona:hover { background:var(--soft) }
.persona > span:nth-child(2) { flex:1 }
.persona strong,.persona small { display:block }
.persona small { color:var(--muted) }
.personas { display:grid; gap:7px }
.signin .columns { margin:24px auto 0; max-width:1080px; padding:0 clamp(16px,4vw,32px) }
.signin form { margin:10px 0 0 }
.signin form .btn { margin-top:8px }
#dialog { padding:0; border:1px solid var(--line); border-radius:13px; width:min(620px,calc(100% - 24px)); max-height:calc(100vh - 32px); color:var(--ink); box-shadow:0 24px 85px #14283850 }
#dialog::backdrop { background:#162b3ca6 }
.dialog-head { padding:16px 19px; display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid var(--line) }
.dialog-head h2 { font-size:19px }
.dialog-body { padding:17px 19px }
#toast { position:fixed; bottom:20px; right:20px; max-width:min(430px,calc(100% - 40px)); z-index:10 }
#toast:not(:empty) { padding:11px 15px; background:#18364d; color:white; border-radius:8px; box-shadow:0 6px 24px #172c3c33 }
#toast.error:not(:empty) { background:#823d30 }
.code { font-family:ui-monospace,monospace }
.footnote { margin-top:18px; color:var(--muted); font-size:11px }
@media(max-width:1050px) {
  :root { --rail:198px }
  .brand { padding-left:16px }
  .metrics { gap:8px }
  .metric { padding:11px }
}
@media(max-width:850px) {
  .shell { grid-template-columns:minmax(0,1fr) }
  .rail { position:static; height:auto; min-height:0; border-right:0; border-bottom:1px solid var(--line); overflow:visible }
  .rail .brand { flex-direction:row; align-items:center; padding:10px 16px 4px }
  .rail .brand img { width:62px }
  .rail nav { padding:7px 12px 6px; display:flex; flex-wrap:wrap; gap:4px }
  .nav-item { width:auto; padding:6px 7px; margin:0; font-size:11px; gap:5px }
  .nav-item svg { width:14px; height:14px }
  .nav-caption,.rail-bottom { display:none }
  .topbar { height:53px; padding:0 15px }
  .workspace { padding:16px 14px 28px }
  .pipeline { grid-template-columns:repeat(3,minmax(0,1fr)) }
}
@media(max-width:620px) {
  .columns,.grid-cards { grid-template-columns:1fr }
  .review-board { grid-template-columns:1fr }
  .metrics { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .hero { min-height:218px; padding:22px 17px }
  .hero::after { background:linear-gradient(90deg,rgba(14,32,48,.95),rgba(14,32,48,.57)),url('/med-homepage-hero.jpg') 57% center / cover no-repeat }
  .signin .brand img { width:75px }
  .signin .hero { min-height:370px; padding-top:92px }
  .crumb .trail { display:none }
  .role-button .role-label { display:none }
  .actions { justify-content:flex-start }
  td,th { padding:9px }
}
.startup-video { display:block; width:100%; aspect-ratio:16/9; border:0; border-radius:8px; margin:10px 0; background:#142432 }
.media-preview summary { cursor:pointer; color:var(--blue-dark); font-weight:700 }
fieldset.form-layout { border:1px solid var(--line); border-radius:8px; padding:12px; min-width:0 }
fieldset.form-layout[hidden] { display:none }
