/* Docato Data Room — design system (navy #0F1729 / cobalt #1A52F9 / DM Sans) */
:root {
  --navy: #0F1729; --navy-2: #2D447C; --navy-soft: #16213d;
  --cyan: #1A52F9; --cyan-light: #4F76FF;
  --ink: #0F1729; --muted: #65758B; --border: #E2E8F0;
  --bg: #F4F6FB; --bg-soft: #F8FAFC; --white: #fff;
  --green: #10B981; --red: #F43F5E; --gold: #F59E0B;
  --radius: 14px; --shadow: 0 1px 3px rgba(10,31,61,.06), 0 8px 24px rgba(10,31,61,.05);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  color: var(--ink); background: var(--bg); line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--cyan); text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
.mono { font-family: 'JetBrains Mono', monospace; }

/* buttons */
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 10px;
  border: 1px solid var(--border); background: var(--white); color: var(--ink); font-weight: 600; font-size: 14px;
  transition: .15s; }
.btn:hover { border-color: var(--cyan); color: var(--cyan); }
.btn.primary { background: var(--cyan); color: #fff; border-color: var(--cyan); }
.btn.primary:hover { background: #1342d4; color: #fff; }
.btn.ghost { background: transparent; border-color: transparent; color: var(--muted); }
.btn.ghost:hover { color: var(--cyan); }
.btn.sm { padding: 7px 13px; font-size: 12.5px; }
.btn.danger:hover { border-color: var(--red); color: var(--red); }

.pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11px; font-weight: 700;
  letter-spacing: .5px; text-transform: uppercase; }
.pill.active { background: rgba(16,185,129,.12); color: var(--green); }
.pill.revoked { background: rgba(244,63,94,.12); color: var(--red); }
.pill.admin { background: rgba(26,82,249,.12); color: var(--cyan); }
.pill.investor { background: var(--bg-soft); color: var(--muted); }

/* ============ LOGIN ============ */
.login-wrap { min-height: 100vh; display: grid; grid-template-columns: 1.1fr .9fr; }
.login-hero { background: var(--navy); position: relative; overflow: hidden; padding: 64px;
  display: flex; flex-direction: column; justify-content: space-between; color: #fff; }
.login-hero .mesh { position: absolute; inset: 0;
  background: radial-gradient(60% 50% at 80% 15%, rgba(26,82,249,.35), transparent 60%),
              radial-gradient(50% 40% at 10% 95%, rgba(79,118,255,.18), transparent 60%); }
.login-hero .grid-lines { position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px; mask-image: linear-gradient(180deg, #000, transparent 92%); }
.login-hero > * { position: relative; z-index: 2; }
.login-hero img.logo { height: 40px; width: auto; align-self: flex-start; flex: 0 0 auto; filter: brightness(0) invert(1); }
.login-hero h1 { font-size: 42px; font-weight: 800; letter-spacing: -1.2px; line-height: 1.1; max-width: 460px; }
.login-hero h1 em { color: var(--cyan-light); font-style: normal; }
.login-hero .sub { color: rgba(255,255,255,.65); font-size: 16px; margin-top: 16px; max-width: 420px; }
.login-hero .meta { display: flex; gap: 36px; }
.login-hero .meta .k { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan-light); font-weight: 700; }
.login-hero .meta .v { font-size: 20px; font-weight: 700; margin-top: 4px; }
.login-form { display: flex; flex-direction: column; justify-content: center; padding: 64px 72px; background: #fff; }
.login-form .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cyan); }
.login-form h2 { font-size: 28px; font-weight: 700; letter-spacing: -.5px; margin-top: 10px; }
.login-form p.hint { color: var(--muted); font-size: 14px; margin-top: 8px; }
.field { margin-top: 26px; }
.field label { font-size: 12px; font-weight: 700; color: var(--muted); letter-spacing: .5px; text-transform: uppercase; display: block; margin-bottom: 8px; }
.field input { width: 100%; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; font-size: 15px;
  font-family: 'JetBrains Mono', monospace; transition: .15s; }
.field input:focus { outline: none; border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(26,82,249,.12); }
.error-msg { color: var(--red); font-size: 13px; margin-top: 14px; min-height: 18px; font-weight: 500; }
.login-foot { color: var(--muted); font-size: 12px; margin-top: 32px; line-height: 1.6; }

/* ============ APP SHELL ============ */
.shell { display: grid; grid-template-columns: 264px 1fr; min-height: 100vh; }
.sidebar { background: var(--navy); color: #fff; padding: 26px 18px; display: flex; flex-direction: column;
  position: sticky; top: 0; height: 100vh; }
.sidebar .brand { display: flex; align-items: center; gap: 10px; padding: 0 8px 22px; flex-wrap: nowrap; }
.sidebar .brand img { height: 30px; width: auto; filter: brightness(0) invert(1); }
.sidebar .brand .tag { font-size: 9px; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan-light); font-weight: 700;
  border: 1px solid rgba(79,118,255,.4); padding: 2px 7px; border-radius: 6px; margin-left: auto; white-space: nowrap; flex-shrink: 0; }
.nav { display: flex; flex-direction: column; gap: 2px; margin-top: 10px; }
.nav .nav-label { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,.4);
  font-weight: 700; padding: 14px 12px 8px; }
.nav a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 9px; color: rgba(255,255,255,.72);
  font-size: 14px; font-weight: 500; transition: .12s; cursor: pointer; }
.nav a .ic { width: 18px; text-align: center; color: var(--cyan-light); font-size: 13px; }
.nav a:hover { background: rgba(255,255,255,.06); color: #fff; }
.nav a.active { background: var(--cyan); color: #fff; }
.nav a.active .ic { color: #fff; }
.sidebar .user-box { margin-top: auto; padding: 14px; background: rgba(255,255,255,.05); border-radius: 12px;
  border: 1px solid rgba(255,255,255,.08); }
.sidebar .user-box .nm { font-size: 13.5px; font-weight: 700; }
.sidebar .user-box .co { font-size: 11.5px; color: rgba(255,255,255,.55); margin-top: 2px; }
.sidebar .user-box .row { display: flex; gap: 8px; margin-top: 12px; }

.main { padding: 38px 48px 60px; max-width: 1180px; }
.page-head { margin-bottom: 26px; }
.page-head .eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--cyan); }
.page-head h1 { font-size: 32px; font-weight: 800; letter-spacing: -1px; margin-top: 8px; }
.page-head p { color: var(--muted); font-size: 15px; margin-top: 8px; max-width: 760px;
  text-wrap: pretty; overflow-wrap: normal; word-break: normal; hyphens: none; }

.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 8px 0 30px; }
.kpi { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); }
.kpi .v { font-size: 34px; font-weight: 800; letter-spacing: -1px; }
.kpi .v.cyan { color: var(--cyan); }
.kpi .k { font-size: 12px; color: var(--muted); margin-top: 6px; font-weight: 600; letter-spacing: .5px; text-transform: uppercase; }

.cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.file-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 22px;
  box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 6px; transition: .15s; }
.file-card:hover { border-color: var(--cyan); transform: translateY(-1px); }
.file-card .top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.file-card .fmt { font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 700; letter-spacing: 1px;
  color: var(--cyan); background: rgba(26,82,249,.08); padding: 4px 8px; border-radius: 6px; }
.file-card h3 { font-size: 16px; font-weight: 700; letter-spacing: -.2px; }
.file-card p { font-size: 13px; color: var(--muted); line-height: 1.5; flex: 1; }
.file-card .acts { display: flex; gap: 8px; margin-top: 12px; }
.badge-demo { font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--gold);
  background: rgba(245,158,11,.12); padding: 3px 8px; border-radius: 999px; }
.badge-real { font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--green);
  background: rgba(16,185,129,.12); padding: 3px 8px; border-radius: 999px; }
.section-empty { color: var(--muted); font-size: 14px; padding: 30px; text-align: center; border: 1px dashed var(--border);
  border-radius: var(--radius); }

.deck-frame { width: 100%; aspect-ratio: 16/9; border: 1px solid var(--border); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow); background: #0A0F1C; }
.deck-frame iframe { width: 100%; height: 100%; border: 0; }

/* ============ TABLE (admin) ============ */
.panel { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow);
  overflow: hidden; margin-bottom: 24px; }
.panel .panel-head { padding: 18px 22px; border-bottom: 1px solid var(--border); display: flex; align-items: center;
  justify-content: space-between; }
.panel .panel-head h2 { font-size: 17px; font-weight: 700; }
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--muted);
  font-weight: 700; padding: 12px 22px; border-bottom: 1px solid var(--border); }
td { padding: 13px 22px; font-size: 13.5px; border-bottom: 1px solid var(--border); vertical-align: middle; }
tr:last-child td { border-bottom: none; }
tr:hover td { background: var(--bg-soft); }
td .key { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--ink); }
.copy-btn { font-size: 11px; color: var(--cyan); background: none; border: none; margin-left: 6px; }

/* form */
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 22px; }
.form-grid .full { grid-column: 1 / -1; }
.form-grid label { font-size: 11px; font-weight: 700; color: var(--muted); letter-spacing: .5px; text-transform: uppercase; display: block; margin-bottom: 6px; }
.form-grid input, .form-grid select { width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 14px; font-family: inherit; }
.form-grid input:focus, .form-grid select:focus { outline: none; border-color: var(--cyan); }

.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.topbar .tabs { display: flex; gap: 6px; }
.topbar .tabs a { padding: 9px 16px; border-radius: 9px; font-size: 14px; font-weight: 600; color: var(--muted); }
.topbar .tabs a.active { background: var(--navy); color: #fff; }

.toast { position: fixed; bottom: 24px; right: 24px; background: var(--navy); color: #fff; padding: 14px 20px;
  border-radius: 10px; font-size: 14px; box-shadow: 0 10px 30px rgba(0,0,0,.25); opacity: 0; transform: translateY(10px);
  transition: .2s; z-index: 100; }
.toast.show { opacity: 1; transform: translateY(0); }

@media (max-width: 860px) {
  .login-wrap { grid-template-columns: 1fr; } .login-hero { display: none; }
  .shell { grid-template-columns: 1fr; } .sidebar { position: static; height: auto; }
  .kpi-grid, .cards, .form-grid { grid-template-columns: 1fr 1fr; }
}

/* ============ SPRINT / COUNTDOWN ============ */
.sprint-banner { display:flex; align-items:center; gap:20px; background:linear-gradient(135deg,var(--navy),var(--navy-2));
  color:#fff; border-radius:var(--radius); padding:16px 22px; margin-bottom:24px; box-shadow:var(--shadow); }
.sprint-banner .cd { display:flex; gap:10px; }
.sprint-banner .cd .box { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:10px;
  padding:8px 12px; text-align:center; min-width:56px; }
.sprint-banner .cd .box .n { font-size:24px; font-weight:800; letter-spacing:-1px; font-family:'JetBrains Mono',monospace; }
.sprint-banner .cd .box .l { font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(255,255,255,.6); margin-top:2px; }
.sprint-banner .meta { flex:1; }
.sprint-banner .meta .ph { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--cyan-light); }
.sprint-banner .meta .ti { font-size:17px; font-weight:700; margin-top:3px; }
.sprint-banner .meta .dl { font-size:12px; color:rgba(255,255,255,.6); margin-top:3px; }
.sprint-banner .urgent { background:rgba(244,63,94,.18); border-color:rgba(244,63,94,.4); }
.sprint-banner.closed { background:linear-gradient(135deg,#334155,#1e293b); }

.timeline { display:flex; flex-direction:column; gap:0; margin-top:8px; }
.tl-row { display:grid; grid-template-columns:84px 1fr; gap:18px; padding:16px 0; border-bottom:1px solid var(--border); position:relative; }
.tl-row:last-child { border-bottom:none; }
.tl-row .days { font-family:'JetBrains Mono',monospace; font-weight:700; color:var(--cyan); font-size:13px; }
.tl-row.done .days { color:var(--green); } .tl-row.now { background:rgba(26,82,249,.04); border-radius:10px; padding-left:12px; }
.tl-row .ph-title { font-size:15px; font-weight:700; }
.tl-row .ph-title .nowtag { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#fff; background:var(--cyan); padding:2px 8px; border-radius:999px; margin-left:8px; vertical-align:middle; }
.tl-row .ph-desc { font-size:13px; color:var(--muted); margin-top:4px; line-height:1.5; }
.tl-row .ph-action { font-size:12.5px; color:var(--cyan); margin-top:6px; font-weight:600; }
.tl-row .ph-dates { font-size:11px; color:var(--muted); margin-top:4px; font-family:'JetBrains Mono',monospace; }

.terms-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:8px 0 24px; }
.term { background:#fff; border:1px solid var(--border); border-radius:12px; padding:16px 18px; box-shadow:var(--shadow); }
.term .k { font-size:11px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--muted); }
.term .v { font-size:16px; font-weight:700; margin-top:6px; color:var(--cyan); }

/* ============ ANALYTICS ============ */
.back-link { font-size:13px; color:var(--muted); font-weight:600; margin-bottom:14px; display:inline-block; }
.an-head { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.an-head .av { width:56px; height:56px; border-radius:999px; background:linear-gradient(135deg,var(--cyan),var(--navy-2));
  display:flex; align-items:center; justify-content:center; color:#fff; font-weight:800; font-size:20px; }
.an-head h1 { font-size:26px; font-weight:800; letter-spacing:-.6px; }
.an-head .sub { color:var(--muted); font-size:14px; }
.two-panel { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.bar-list { display:flex; flex-direction:column; gap:10px; padding:18px 22px; }
.bar-row { font-size:13px; }
.bar-row .lab { display:flex; justify-content:space-between; margin-bottom:4px; }
.bar-row .track { height:8px; background:var(--bg-soft); border-radius:999px; overflow:hidden; }
.bar-row .fill { height:100%; background:var(--cyan); border-radius:999px; }
.email-preview { border:1px solid var(--border); border-radius:12px; overflow:hidden; }
.email-preview iframe { width:100%; height:560px; border:0; background:#F4F6FB; }
.invite-list { max-height:300px; overflow:auto; }

/* ============ PIPELINE STEPPER ============ */
.pl-status { display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:999px; font-weight:700; font-size:13px; margin-bottom:18px; }
.pl-status.active { background:rgba(26,82,249,.1); color:var(--cyan); }
.pl-status.declined { background:rgba(244,63,94,.12); color:var(--red); }
.pl-status.completed { background:rgba(16,185,129,.12); color:var(--green); }
.stepper { display:flex; flex-direction:column; gap:0; }
.step { display:grid; grid-template-columns:40px 1fr; gap:16px; padding:18px 0; border-bottom:1px solid var(--border); position:relative; }
.step:last-child { border-bottom:none; }
.step .dot { width:32px; height:32px; border-radius:999px; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:14px; background:var(--bg-soft); color:var(--muted); border:2px solid var(--border); }
.step.done .dot { background:var(--green); color:#fff; border-color:var(--green); }
.step.current .dot { background:var(--cyan); color:#fff; border-color:var(--cyan); box-shadow:0 0 0 4px rgba(26,82,249,.15); }
.step.declined .dot { background:var(--red); color:#fff; border-color:var(--red); }
.step .st-title { font-size:16px; font-weight:700; }
.step .st-action { font-size:13px; color:var(--muted); margin-top:3px; }
.step .gates { display:flex; gap:10px; margin-top:10px; flex-wrap:wrap; }
/* cronograma (Process & Terms) chip + data — mais respiro entre eles */
.tl-row .gates { display:flex; align-items:center; gap:16px; flex-wrap:wrap; row-gap:8px; }
.tl-row .gates .ph-dates { margin-left:auto; padding-left:16px; }
.gate { font-size:11px; font-weight:700; letter-spacing:.5px; padding:4px 10px; border-radius:999px; border:1px solid var(--border); color:var(--muted); }
.gate.ok { background:rgba(16,185,129,.1); color:var(--green); border-color:transparent; }
.gate.wait { background:rgba(245,158,11,.1); color:var(--gold); border-color:transparent; }
.step .cta { display:flex; gap:10px; margin-top:14px; }

/* ============ REFERRAL / FORMS ============ */
.seg { display:inline-flex; background:var(--bg-soft); border:1px solid var(--border); border-radius:10px; padding:4px; gap:4px; }
.seg button { border:none; background:transparent; padding:8px 18px; border-radius:7px; font-weight:600; font-size:14px; color:var(--muted); }
.seg button.on { background:var(--cyan); color:#fff; }
.ref-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ref-form .full { grid-column:1/-1; }
.ref-form label { font-size:12px; font-weight:700; color:var(--muted); letter-spacing:.5px; text-transform:uppercase; display:block; margin-bottom:6px; }
.ref-form input, .ref-form textarea, .form-grid textarea { width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:9px; font-size:14px; font-family:inherit; }
.ref-form textarea { min-height:90px; resize:vertical; }
.ref-form input:focus, .ref-form textarea:focus { outline:none; border-color:var(--cyan); }
.ref-item { border:1px solid var(--border); border-radius:12px; padding:16px 18px; margin-bottom:10px; background:#fff; }
.ref-item .rh { display:flex; align-items:center; justify-content:space-between; }
.ref-item .nm { font-weight:700; font-size:15px; }
.cat-pill { font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; padding:3px 9px; border-radius:999px; }
.cat-pill.angel { background:rgba(245,158,11,.14); color:#B45309; }
.cat-pill.vc { background:rgba(26,82,249,.12); color:var(--cyan); }

/* ============ MODAL (per-user invite) ============ */
.modal-overlay { position:fixed; inset:0; background:rgba(15,23,41,.5); display:none; align-items:center; justify-content:center; z-index:200; padding:24px; }
.modal-overlay.open { display:flex; }
.modal { background:#fff; border-radius:16px; width:100%; max-width:1080px; max-height:90vh; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 24px 60px rgba(0,0,0,.3); }
.modal-head { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--border); }
.modal-head h2 { font-size:18px; font-weight:700; }
.modal-body { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:22px 24px; overflow:auto; }
.inv-edit label { font-size:12px; font-weight:700; color:var(--muted); letter-spacing:.5px; text-transform:uppercase; display:block; margin-bottom:6px; }
.inv-edit input, .inv-edit textarea { width:100%; padding:11px 13px; border:1px solid var(--border); border-radius:9px; font-size:14px; font-family:inherit; }
.inv-edit textarea { min-height:240px; resize:vertical; line-height:1.5; }
.inv-edit input:focus, .inv-edit textarea:focus { outline:none; border-color:var(--cyan); }
.inv-preview .email-preview iframe { height:440px; }
@media (max-width:820px){ .modal-body { grid-template-columns:1fr; } }

/* discreet language toggle — low-emphasis, shows the other language only */
.lang-toggle { display:block; margin:10px auto 0; background:none; border:none; color:rgba(255,255,255,.3);
  font-size:11px; font-weight:500; letter-spacing:.3px; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.lang-toggle:hover { color:rgba(255,255,255,.7); }

/* FOMO strip */
.fomo { display:flex; align-items:center; gap:10px; flex-wrap:wrap; background:rgba(245,158,11,.10); border:1px solid rgba(245,158,11,.28);
  color:#92400E; border-radius:12px; padding:12px 18px; font-size:14px; margin-bottom:18px; }
.fomo strong { color:#92400E; }
.fomo .fomo-sub { color:#B45309; font-size:13px; }
.fomo-dot { width:9px; height:9px; border-radius:999px; background:var(--gold); box-shadow:0 0 0 4px rgba(245,158,11,.25); flex-shrink:0; }

/* intent gate */
.intent-gate { border:1px solid var(--border); }
.lock-badge { display:inline-block; font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--cyan);
  background:rgba(26,82,249,.1); padding:5px 12px; border-radius:999px; }
.field-block { margin:16px 0; }
.field-block > label:first-child { display:block; font-size:12px; font-weight:700; letter-spacing:.5px; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.field-block select { width:100%; max-width:300px; padding:11px 13px; border:1px solid var(--border); border-radius:9px; font-size:14px; font-family:inherit; }
.field-block select:focus { outline:none; border-color:var(--cyan); }
.chk { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--border); border-radius:10px; margin-bottom:8px;
  font-size:14px; font-weight:600; cursor:pointer; max-width:300px; transition:.12s; }
.chk:hover { border-color:var(--cyan); }
.chk input { width:18px; height:18px; accent-color:var(--cyan); }
.err-msg { color:var(--red); font-size:13px; min-height:18px; margin-bottom:8px; font-weight:500; }

/* lead minimum callout in intent gate */
.lead-min { background:rgba(26,82,249,.08); border:1px solid rgba(26,82,249,.25); color:var(--cyan);
  border-radius:10px; padding:10px 14px; font-size:13px; font-weight:600; margin:0 0 16px; max-width:420px; }

/* ============ SIDEBAR COLLAPSE + FULLSCREEN DECK ============ */
/* instant collapse — animating width breaks the deck iframe's initial scale */
.shell.collapsed { grid-template-columns: 1fr; }
.shell.collapsed .sidebar { display: none; }
.brand-collapse { margin-left: 8px; background: none; border: none; color: rgba(255,255,255,.45);
  font-size: 18px; line-height: 1; cursor: pointer; padding: 2px 4px; }
.brand-collapse:hover { color: #fff; }
.side-expand { position: fixed; top: 14px; left: 14px; z-index: 70; display: none; align-items: center; gap: 6px;
  background: var(--navy); color: #fff; border: none; border-radius: 10px; padding: 9px 13px; font-weight: 700; font-size: 13px;
  box-shadow: 0 4px 16px rgba(0,0,0,.25); cursor: pointer; }
.shell.collapsed .side-expand { display: inline-flex; }

.main.deck-mode { padding: 0; max-width: none; }
/* collapsed sidebar → center the content block (deck stays fullscreen) */
.shell.collapsed .main:not(.deck-mode) { margin-left: auto; margin-right: auto; }
.deck-full { position: relative; height: 100vh; background: #0A0F1C; }
.deck-full iframe { width: 100%; height: 100%; border: 0; display: block; }
.deck-toolbar { position: absolute; top: 14px; right: 16px; display: flex; gap: 8px; z-index: 20; }
.deck-toolbar .btn { box-shadow: 0 4px 16px rgba(0,0,0,.28); }
.deck-toolbar .btn:not(.primary) { background: rgba(255,255,255,.94); }

/* scrollable table wrapper (panels clip overflow for rounded corners) */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-wrap table { min-width: 760px; }
td .key { display: inline-block; max-width: 132px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: middle; }
td.actions { white-space: nowrap; }
td.actions .btn, td .pl-ctrl .btn { padding: 6px 9px; font-size: 12px; }
.pl-ctrl { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }

/* admin section tabs */
.seg-tabs { display: inline-flex; gap: 4px; background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 5px; margin-bottom: 20px; box-shadow: var(--shadow); }
.seg-tabs button { border: none; background: transparent; color: var(--muted); font-weight: 700; font-size: 14px; padding: 9px 20px; border-radius: 8px; display: inline-flex; align-items: center; gap: 7px; }
.seg-tabs button.on { background: var(--navy); color: #fff; }
.seg-count { font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 999px; background: rgba(26,82,249,.12); color: var(--cyan); }
.seg-tabs button.on .seg-count { background: rgba(255,255,255,.2); color: #fff; }

/* subtle early-access hint near "opens soon" */
.early-hint { color: var(--gold); font-weight: 700; opacity: .9; }

/* selectivity callout (exclusivity / FOMO) */
.selectivity { display: flex; align-items: center; gap: 12px; background: linear-gradient(135deg, var(--navy), var(--navy-2));
  color: #fff; border-radius: var(--radius); padding: 14px 20px; margin-bottom: 16px; font-size: 14px; line-height: 1.5; box-shadow: var(--shadow); }
.selectivity strong { color: var(--cyan-light); }
.sel-mark { color: var(--cyan-light); font-size: 18px; flex-shrink: 0; }

/* welcome / orientation card — leads the overview */
.welcome-card { background: #fff; border: 1px solid var(--border); border-left: 4px solid var(--cyan); border-radius: var(--radius);
  padding: 22px 24px; box-shadow: var(--shadow); margin-bottom: 18px; }
.welcome-card h3 { font-size: 19px; font-weight: 800; letter-spacing: -.3px; }
.welcome-card p { font-size: 14.5px; color: var(--muted); line-height: 1.55; margin-top: 6px; max-width: 760px; text-wrap: pretty; }

/* One Pager export-to-PDF */
.op-print-bar { display: flex; justify-content: flex-end; margin-bottom: 8px; }
@media print {
  .sidebar, .side-expand, .sprint-banner, .no-print, .lang-toggle { display: none !important; }
  .shell { grid-template-columns: 1fr !important; }
  .main { padding: 0 !important; max-width: none !important; }
  #opSheet { padding: 8px; }
  .kpi, .panel, .welcome-card { box-shadow: none !important; break-inside: avoid; }
  body, html { background: #fff !important; }
}

/* ============ ONE PAGER (redesigned) ============ */
.op-print-bar { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 14px; }
.op-sheet { display: flex; flex-direction: column; gap: 8px; }
.op-sec-h { font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); margin: 20px 2px 2px; }

.op-hero { background: linear-gradient(150deg, var(--navy), var(--navy-2)); color: #fff; border-radius: 18px; padding: 30px 32px; box-shadow: var(--shadow); }
.op-hero-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.op-logo { height: 30px; filter: brightness(0) invert(1); }
.op-badge { font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan-light); border: 1px solid rgba(79,118,255,.5); padding: 4px 12px; border-radius: 999px; }
.op-tagline { font-size: 27px; font-weight: 800; letter-spacing: -.8px; line-height: 1.15; max-width: 760px; text-wrap: balance; }
.op-desc { color: rgba(255,255,255,.75); font-size: 14.5px; line-height: 1.6; margin-top: 12px; max-width: 720px; }
.op-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 24px; }
.op-metric { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 16px; }
.op-metric .v { font-size: 26px; font-weight: 800; letter-spacing: -1px; color: var(--cyan-light); }
.op-metric .k { font-size: 11px; color: rgba(255,255,255,.6); margin-top: 4px; font-weight: 600; }

.op-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.op-card { display: flex; gap: 12px; align-items: flex-start; background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; box-shadow: var(--shadow); font-size: 14px; line-height: 1.5; }
.op-tick { width: 22px; height: 22px; flex-shrink: 0; border-radius: 999px; background: rgba(16,185,129,.12); color: var(--green); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; }

.op-agents { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.op-agent { background: #fff; border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 12px; padding: 16px; box-shadow: var(--shadow); }
.op-agent-n { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 700; color: var(--cyan); }
.op-agent-name { font-size: 15px; font-weight: 700; margin-top: 6px; }
.op-agent-desc { font-size: 12.5px; color: var(--muted); margin-top: 6px; line-height: 1.5; }

.op-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.op-half { min-width: 0; }
.op-eco { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.op-eco-i { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 16px; box-shadow: var(--shadow); }
.op-eco-i .v { font-size: 24px; font-weight: 800; letter-spacing: -.8px; color: var(--ink); }
.op-eco-i .k { font-size: 12px; color: var(--muted); margin-top: 4px; }
.op-market { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; box-shadow: var(--shadow); }
.op-mkrow { display: flex; align-items: center; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--border); }
.op-mkrow:last-of-type { border-bottom: none; }
.op-mkrow span { font-size: 11px; font-weight: 700; letter-spacing: 1px; color: var(--muted); }
.op-mkrow strong { font-size: 18px; font-weight: 800; letter-spacing: -.5px; }
.op-mkrow.som strong { color: var(--cyan); }
.op-mknote { font-size: 12px; color: var(--muted); margin-top: 10px; line-height: 1.5; }

.op-team { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.op-tcard { background: #fff; border: 1px solid var(--border); border-radius: 12px; padding: 18px; box-shadow: var(--shadow); }
.op-av { width: 44px; height: 44px; border-radius: 999px; background: linear-gradient(135deg, var(--cyan), var(--navy-2)); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; }
.op-tname { font-size: 15px; font-weight: 700; margin-top: 12px; }
.op-trole { font-size: 11px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--cyan); margin-top: 2px; }
.op-tnote { font-size: 12.5px; color: var(--muted); margin-top: 8px; line-height: 1.5; }

.op-ask { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; align-items: center; background: linear-gradient(150deg, var(--navy), var(--navy-2)); color: #fff; border-radius: 16px; padding: 24px 28px; }
.op-ask-amt .v { font-size: 44px; font-weight: 900; letter-spacing: -2px; color: #fff; }
.op-ask-amt .k { font-size: 12px; color: rgba(255,255,255,.65); margin-top: 4px; }
.op-uop-h { font-size: 10px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan-light); margin-bottom: 10px; }
.op-uop-row { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.op-uop-bar { width: 120px; height: 8px; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; flex-shrink: 0; }
.op-uop-fill { height: 100%; background: var(--cyan-light); border-radius: 999px; }
.op-uop-lbl { font-size: 13px; color: rgba(255,255,255,.9); }
.op-foot { font-size: 11px; color: var(--muted); letter-spacing: 1px; text-transform: uppercase; margin-top: 22px; text-align: center; }

@media (max-width: 820px) { .op-metrics, .op-agents, .op-team { grid-template-columns: 1fr 1fr; } .op-grid2, .op-row2, .op-ask { grid-template-columns: 1fr; } }

/* term sheet (investor) */
.ts-wrap { display: grid; grid-template-columns: .9fr 1.4fr; gap: 18px; align-items: start; }
.ts-qual { background: var(--navy); color: #fff; border-radius: 12px; padding: 16px 18px; }
.ts-qual-h { font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cyan-light); margin-bottom: 10px; }
.ts-qrow { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 12.5px; }
.ts-qrow:last-child { border-bottom: none; }
.ts-qrow span { color: rgba(255,255,255,.6); } .ts-qrow strong { text-align: right; }
@media (max-width: 760px) { .ts-wrap { grid-template-columns: 1fr; } }

/* CRM */
.chk-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.crm-layout { display:grid; grid-template-columns:300px 1fr; gap:18px; align-items:start; }
.crm-list { display:flex; flex-direction:column; gap:10px; }
.crm-card { background:#fff; border:1px solid var(--border); border-left:3px solid transparent; border-radius:12px; padding:14px 16px; cursor:pointer; box-shadow:var(--shadow); transition:.12s; }
.crm-card:hover { border-color:var(--cyan); }
.crm-card.on { border-left-color:var(--cyan); background:rgba(26,82,249,.04); }
.crm-card-nm { font-weight:700; font-size:14.5px; }
.crm-card-firm { font-size:12.5px; color:var(--muted); }
.crm-card-meta { font-size:11.5px; color:var(--muted); margin-top:6px; }
.crm-detail { min-height:300px; }
.crm-sec { font-size:11px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--cyan); margin-bottom:8px; }
.crm-tl { display:flex; flex-direction:column; gap:10px; }
.crm-it { border:1px solid var(--border); border-radius:10px; padding:12px 14px; }
.crm-it-h { display:flex; align-items:center; gap:8px; }
.crm-it-s { font-size:13.5px; margin-top:6px; line-height:1.5; white-space:pre-wrap; }
.crm-mat { font-size:13.5px; padding:6px 0; border-bottom:1px solid var(--border); }
@media (max-width:860px){ .crm-layout{grid-template-columns:1fr;} .chk-grid{grid-template-columns:1fr;} }
