:root {
  --ink: #172033;
  --muted: #697386;
  --faint: #98a1b2;
  --line: #e4e8ef;
  --line-strong: #d5dae4;
  --paper: #ffffff;
  --canvas: #f6f8fb;
  --navy: #17213f;
  --navy-2: #202d55;
  --violet: #7057e8;
  --violet-2: #8b72f4;
  --violet-soft: #f1edff;
  --blue-soft: #edf4ff;
  --green: #0c8b61;
  --green-soft: #e9f8f1;
  --amber: #a96708;
  --amber-soft: #fff5df;
  --red: #b53a4a;
  --red-soft: #fff0f2;
  --shadow-sm: 0 1px 2px rgba(17, 29, 57, .06), 0 1px 8px rgba(17, 29, 57, .04);
  --shadow-md: 0 12px 35px rgba(20, 30, 60, .12);
  --shadow-lg: 0 30px 80px rgba(20, 30, 60, .18);
  --radius-sm: 10px;
  --radius: 15px;
  --radius-lg: 24px;
  --sidebar: 248px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--canvas);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; }
.app-shell, .main, .content, .card, .page-title, .head-actions,
.toolbar-left, .toolbar-right, .decision-cell > div, .activity-copy,
.audit-copy, .evidence-card > div, .action-row > div { min-width: 0; }
.page-title p, .decision-cell strong, .decision-cell small, .activity-copy strong,
.activity-copy span, .audit-copy strong, .audit-copy span, .evidence-card strong,
.evidence-card p, .result-card h3, .result-card p, .team-card p, .meta-item strong,
.source-preview, .tour-copy, .breadcrumbs, .status { overflow-wrap: anywhere; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
a { color: inherit; }

.icon {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  color: #fff;
  background: linear-gradient(145deg, var(--violet), #4d6fe8);
  box-shadow: 0 8px 20px rgba(91, 76, 214, .28);
  font-weight: 800;
}

/* Landing */
.landing {
  min-height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 14%, rgba(125, 100, 237, .17), transparent 28%),
    radial-gradient(circle at 14% 38%, rgba(65, 139, 231, .11), transparent 30%),
    linear-gradient(#fff, #f8f9fc 58%, #f2f5fa);
}
.landing-nav {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 19px;
  font-weight: 760;
  letter-spacing: -.02em;
}
.landing-nav-links { display: flex; align-items: center; gap: 26px; color: #536075; font-size: 14px; font-weight: 600; }
.landing-nav-links a { text-decoration: none; }
.landing-nav-links a:hover { color: var(--ink); }
.pill-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  border: 1px solid rgba(112, 87, 232, .19);
  border-radius: 999px;
  background: rgba(255,255,255,.7);
  color: #5c45c8;
  font-weight: 700;
  font-size: 12px;
  box-shadow: var(--shadow-sm);
}
.pill-dot { width: 7px; height: 7px; border-radius: 50%; background: #7d61eb; box-shadow: 0 0 0 4px rgba(125,97,235,.12); }
.hero {
  max-width: 1180px;
  margin: 0 auto;
  padding: 64px 28px 96px;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(500px, .98fr);
  align-items: center;
  gap: 58px;
}
.hero h1 {
  max-width: 720px;
  margin: 22px 0 20px;
  font-size: clamp(48px, 6vw, 75px);
  line-height: .99;
  letter-spacing: -.055em;
  color: #121a2d;
}
.hero h1 em { color: var(--violet); font-style: normal; }
.hero-copy {
  max-width: 640px;
  margin: 0;
  color: #59657a;
  font-size: 19px;
  line-height: 1.62;
}
.hero-actions { display: flex; gap: 13px; margin-top: 31px; align-items: center; flex-wrap: wrap; }
.btn {
  min-height: 42px;
  border: 0;
  border-radius: 11px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-weight: 700;
  font-size: 14px;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: linear-gradient(135deg, #6f57e8, #5c49ce); box-shadow: 0 10px 24px rgba(91, 72, 202, .25); }
.btn-primary:hover { box-shadow: 0 14px 28px rgba(91, 72, 202, .32); }
.btn-secondary { color: #29344a; background: #fff; border: 1px solid #dce1ea; box-shadow: var(--shadow-sm); }
.btn-ghost { color: #526078; background: transparent; }
.btn-danger { color: var(--red); background: var(--red-soft); }
.btn-success { color: #fff; background: var(--green); }
.btn-sm { min-height: 34px; padding: 0 12px; font-size: 13px; border-radius: 9px; }
.hero-proof { margin-top: 28px; display: flex; align-items: center; gap: 12px; color: #6a7485; font-size: 13px; }
.avatars { display: flex; }
.avatar-mini { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; margin-left: -7px; display: grid; place-items: center; font-size: 10px; color: #fff; font-weight: 750; }
.avatar-mini:first-child { margin-left: 0; }
.a1 { background: #4266cc; } .a2 { background: #bb694d; } .a3 { background: #5c8c65; } .a4 { background: #7e61c8; }
.hero-window {
  position: relative;
  border-radius: 22px;
  padding: 13px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(214,219,230,.85);
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(14px);
  transform: perspective(1200px) rotateY(-3deg) rotateX(1deg);
}
.window-chrome { height: 37px; display: flex; align-items: center; justify-content: space-between; padding: 0 9px; }
.chrome-dots { display: flex; gap: 7px; }
.chrome-dots span { width: 9px; height: 9px; border-radius: 50%; background: #d8dde6; }
.chrome-address { width: 48%; height: 21px; border-radius: 7px; background: #eef1f6; }
.hero-app { overflow: hidden; border-radius: 14px; border: 1px solid #e5e9f0; background: #fff; }
.mini-shell { display: grid; grid-template-columns: 150px 1fr; height: 440px; }
.mini-sidebar { background: #17213f; padding: 18px 13px; color: #d9def0; }
.mini-logo { font-size: 12px; font-weight: 800; color: #fff; display: flex; gap: 8px; align-items: center; margin-bottom: 24px; }
.mini-logo i { width: 20px; height: 20px; display: grid; place-items: center; background: #7057e8; border-radius: 6px; font-style: normal; }
.mini-nav { height: 24px; border-radius: 7px; background: rgba(255,255,255,.08); margin-bottom: 8px; }
.mini-nav.active { background: rgba(139,114,244,.25); }
.mini-content { padding: 22px; background: #f7f8fb; }
.mini-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 17px; }
.mini-title { width: 38%; height: 17px; border-radius: 6px; background: #222d45; }
.mini-button { width: 92px; height: 28px; border-radius: 8px; background: #7057e8; }
.mini-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin-bottom: 12px; }
.mini-stat { height: 72px; border-radius: 11px; background: #fff; border: 1px solid #e8ebf1; }
.mini-card { background: #fff; border: 1px solid #e7eaf0; border-radius: 12px; padding: 14px; margin-top: 10px; }
.mini-row { display: grid; grid-template-columns: 26px 1fr 66px; gap: 9px; align-items: center; padding: 9px 0; border-top: 1px solid #edf0f5; }
.mini-row:first-of-type { border-top: 0; }
.mini-circle { width: 26px; height: 26px; border-radius: 8px; background: #ede9ff; }
.mini-lines b, .mini-lines i { display: block; border-radius: 4px; background: #25304a; height: 7px; width: 80%; }
.mini-lines i { height: 5px; width: 58%; margin-top: 5px; background: #d4d9e3; }
.mini-chip { height: 20px; border-radius: 999px; background: #fff1d4; }
.float-card {
  position: absolute;
  right: -34px;
  bottom: 43px;
  width: 230px;
  padding: 15px;
  border: 1px solid #e2e6ee;
  border-radius: 15px;
  background: #fff;
  box-shadow: var(--shadow-md);
  transform: rotate(2deg);
}
.float-card-top { display: flex; gap: 9px; align-items: center; }
.float-icon { width: 33px; height: 33px; display: grid; place-items: center; color: #5d49d0; background: var(--violet-soft); border-radius: 10px; }
.float-card strong { display: block; font-size: 12px; }
.float-card small { color: #778195; }
.float-line { height: 6px; background: #e8ebf1; border-radius: 5px; margin-top: 10px; }
.float-line.short { width: 67%; }
.landing-strip { max-width: 1180px; margin: -28px auto 74px; padding: 0 28px; }
.value-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.value-item { padding: 23px; background: rgba(255,255,255,.8); border: 1px solid #e1e5ed; border-radius: 16px; box-shadow: var(--shadow-sm); }
.value-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: var(--violet-soft); color: #5f4ad1; margin-bottom: 14px; }
.value-item strong { display:block; margin-bottom: 7px; }
.value-item p { margin:0; color:#687386; font-size:14px; line-height:1.55; }

/* App shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) 1fr; background: var(--canvas); }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar);
  background: linear-gradient(180deg, #17213f 0%, #131b34 100%);
  color: #cbd2e7;
  padding: 19px 14px 16px;
  display: flex;
  flex-direction: column;
  z-index: 20;
}
.sidebar-head { display:flex; align-items:center; justify-content:space-between; padding: 1px 6px 19px; }
.sidebar .brand { color:#fff; font-size:17px; }
.sidebar .brand-mark { width:31px; height:31px; border-radius:9px; font-size:14px; }
.workspace-card { display:flex; gap:10px; align-items:center; padding:10px; margin: 0 2px 17px; border:1px solid rgba(255,255,255,.09); border-radius:11px; background:rgba(255,255,255,.045); }
.workspace-logo { width:32px; height:32px; border-radius:9px; display:grid; place-items:center; background:#eaf1ff; color:#315ca8; font-size:12px; font-weight:800; }
.workspace-card strong { display:block; color:#fff; font-size:13px; }
.workspace-card small { color:#8f9ab8; font-size:11px; }
.sidebar-label { padding: 0 11px; margin: 5px 0 6px; color:#747f9e; font-size:10px; letter-spacing:.09em; text-transform:uppercase; font-weight:800; }
.nav-item {
  width:100%; border:0; color:#b9c1d8; background:transparent; border-radius:10px; padding:10px 11px; display:flex; align-items:center; gap:11px; text-align:left; font-size:13px; font-weight:620; margin:2px 0;
}
.nav-item:hover { color:#fff; background:rgba(255,255,255,.055); transform:none; }
.nav-item.active { color:#fff; background:linear-gradient(135deg, rgba(112,87,232,.4), rgba(112,87,232,.19)); box-shadow: inset 0 0 0 1px rgba(160,142,255,.14); }
.nav-count { margin-left:auto; min-width:21px; padding:2px 6px; border-radius:999px; background:#7057e8; color:#fff; text-align:center; font-size:10px; font-weight:800; }
.sidebar-bottom { margin-top:auto; }
.demo-note { margin: 10px 4px 12px; padding:12px; border-radius:11px; color:#aeb8d0; background:rgba(255,255,255,.05); font-size:11px; line-height:1.45; }
.user-card { display:flex; align-items:center; gap:10px; padding:10px 8px 4px; }
.avatar { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#b9744c,#94513a); font-weight:800; font-size:12px; }
.user-card strong { display:block; color:#fff; font-size:12px; }
.user-card small { color:#7f8ba8; font-size:10px; }
.main { grid-column:2; min-width:0; }
.topbar { height:68px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.9); backdrop-filter:blur(12px); display:flex; align-items:center; justify-content:space-between; padding:0 30px; position:sticky; top:0; z-index:12; }
.breadcrumbs { display:flex; align-items:center; gap:8px; color:#7b8495; font-size:13px; }
.breadcrumbs strong { color:var(--ink); }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.icon-button { width:37px; height:37px; display:grid; place-items:center; border:1px solid var(--line); border-radius:10px; background:#fff; color:#667085; }
.icon-button:hover { background:#f8f9fb; }
.notification-dot { position:relative; }
.notification-dot::after { content:""; position:absolute; width:7px; height:7px; right:7px; top:7px; border-radius:50%; background:#e45064; border:2px solid #fff; }
.content { max-width:1420px; margin:0 auto; padding:29px 30px 90px; }
.page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; margin-bottom:23px; }
.page-title h1 { margin:0 0 7px; font-size:26px; letter-spacing:-.027em; }
.page-title p { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.head-actions { display:flex; gap:9px; }

.grid-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:17px; }
.stat-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px; box-shadow:var(--shadow-sm); }
.stat-top { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:12px; font-weight:680; }
.stat-icon { width:32px; height:32px; display:grid; place-items:center; border-radius:9px; background:var(--violet-soft); color:#604bd1; }
.stat-value { margin-top:16px; font-size:28px; line-height:1; font-weight:780; letter-spacing:-.035em; }
.stat-foot { margin-top:8px; color:#8790a0; font-size:11px; }
.stat-foot .up { color:var(--green); font-weight:750; }

.dashboard-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr); gap:16px; }
.card { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-sm); }
.card-head { display:flex; align-items:center; justify-content:space-between; padding:17px 18px; border-bottom:1px solid #edf0f4; }
.card-head h2 { margin:0; font-size:15px; letter-spacing:-.01em; }
.card-head a, .link-button { color:#6652d5; font-size:12px; font-weight:700; text-decoration:none; border:0; background:transparent; }
.activity-list { padding:4px 18px 9px; }
.activity-row { display:grid; grid-template-columns:38px 1fr auto; gap:11px; align-items:center; padding:13px 0; border-bottom:1px solid #eef0f4; }
.activity-row:last-child { border-bottom:0; }
.activity-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#5c4bc5; background:var(--violet-soft); }
.activity-icon.green { color:var(--green); background:var(--green-soft); }
.activity-icon.amber { color:var(--amber); background:var(--amber-soft); }
.activity-copy strong { display:block; font-size:13px; margin-bottom:3px; }
.activity-copy span { color:var(--muted); font-size:11px; }
.activity-time { color:#959dad; font-size:11px; }
.team-load { padding:15px 18px 19px; }
.load-row { margin-bottom:16px; }
.load-row:last-child { margin-bottom:0; }
.load-label { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; font-size:12px; }
.load-label span:last-child { color:var(--muted); }
.progress { height:7px; border-radius:999px; background:#edf0f5; overflow:hidden; }
.progress > span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#6d55de,#9077f1); }

/* Tables and queue */
.toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.toolbar-left, .toolbar-right { display:flex; gap:8px; align-items:center; }
.search-box { min-width:290px; height:40px; display:flex; align-items:center; gap:9px; padding:0 12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#8490a2; }
.search-box input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:13px; }
.select { height:40px; border:1px solid var(--line); border-radius:10px; background:#fff; color:#4e5a6e; padding:0 30px 0 12px; font-size:12px; font-weight:650; }
.table-card { overflow:hidden; }
.table { width:100%; border-collapse:collapse; }
.table th { padding:11px 15px; text-align:left; color:#7d8799; background:#fafbfc; border-bottom:1px solid var(--line); font-size:10px; text-transform:uppercase; letter-spacing:.055em; }
.table td { padding:14px 15px; border-bottom:1px solid #edf0f4; font-size:12px; vertical-align:middle; }
.table tr:last-child td { border-bottom:0; }
.table tbody tr { transition:background .15s ease; }
.table tbody tr:hover { background:#fbfbfd; }
.table tbody tr.clickable { cursor:pointer; }
.decision-cell { display:flex; align-items:flex-start; gap:11px; }
.source-icon { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; color:#fff; background:#4a154b; font-size:11px; font-weight:850; }
.source-icon.manual { color:#5b48c9; background:var(--violet-soft); }
.decision-cell strong { display:block; margin:1px 0 4px; font-size:13px; line-height:1.35; }
.decision-cell small { color:var(--muted); }
.person { display:flex; align-items:center; gap:8px; }
.avatar-xs { width:27px; height:27px; border-radius:8px; display:grid; place-items:center; color:#fff; font-size:9px; font-weight:800; }
.status { display:inline-flex; align-items:center; gap:6px; min-height:25px; padding:0 9px; border-radius:999px; font-size:10px; font-weight:780; white-space:nowrap; }
.status::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.8; }
.status.pending { color:#9b6308; background:var(--amber-soft); }
.status.current { color:#087652; background:var(--green-soft); }
.status.returned { color:#a34554; background:var(--red-soft); }
.status.superseded { color:#677286; background:#edf0f5; }
.status.draft { color:#5746c4; background:var(--violet-soft); }
.row-actions { display:flex; justify-content:flex-end; gap:5px; }
.row-action { width:31px; height:31px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:#fff; color:#758093; }
.row-action:hover { background:#f7f8fb; }

/* Review */
.review-layout { display:grid; grid-template-columns:minmax(330px,.85fr) minmax(480px,1.15fr); gap:16px; align-items:start; }
.slack-panel { overflow:hidden; position:sticky; top:86px; }
.slack-head { padding:14px 16px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.slack-head-left { display:flex; align-items:center; gap:10px; }
.slack-logo { width:32px; height:32px; display:grid; place-items:center; color:#fff; background:#4a154b; border-radius:9px; font-weight:850; font-size:11px; }
.slack-head strong { display:block; font-size:13px; }
.slack-head small { color:var(--muted); }
.thread { padding:14px 17px 18px; background:#fff; }
.message { display:grid; grid-template-columns:35px 1fr; gap:9px; padding:9px 0; }
.message.highlighted { margin:7px -8px; padding:11px 8px; border-radius:10px; background:#fff8da; box-shadow:inset 3px 0 #e1ab22; }
.message-avatar { width:34px; height:34px; border-radius:9px; display:grid; place-items:center; color:#fff; font-weight:800; font-size:10px; }
.message-meta { display:flex; align-items:baseline; gap:7px; margin-bottom:3px; }
.message-meta strong { font-size:12px; }
.message-meta span { color:#979fae; font-size:10px; }
.message p { margin:0; color:#333b4a; font-size:12px; line-height:1.55; }
.reactions { display:flex; gap:5px; margin-top:6px; }
.reaction { padding:3px 7px; border:1px solid #dce1e9; border-radius:999px; background:#fafbfc; font-size:10px; }
.source-summary { margin:0 17px 17px; padding:12px; border:1px solid #e5e9f0; border-radius:10px; background:#fafbfc; color:#697386; font-size:11px; line-height:1.5; }
.form-card { overflow:hidden; }
.form-section { padding:19px; border-bottom:1px solid #edf0f4; }
.form-section:last-child { border-bottom:0; }
.form-section-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.form-section-title h3 { margin:0; font-size:13px; }
.form-section-title small { color:#8a93a4; }
.field { margin-bottom:14px; }
.field:last-child { margin-bottom:0; }
.field label { display:block; margin-bottom:6px; color:#4c5769; font-size:11px; font-weight:720; }
.input, .textarea { width:100%; border:1px solid var(--line-strong); border-radius:9px; background:#fff; color:var(--ink); padding:10px 11px; outline:0; font-size:12px; line-height:1.45; transition:border .15s, box-shadow .15s; }
.input:focus, .textarea:focus { border-color:#8c78e7; box-shadow:0 0 0 3px rgba(112,87,232,.11); }
.textarea { min-height:82px; resize:vertical; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.team-selects { display:flex; flex-wrap:wrap; gap:8px; }
.check-chip { position:relative; }
.check-chip input { position:absolute; opacity:0; pointer-events:none; }
.check-chip label { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:0 11px; border:1px solid var(--line); border-radius:999px; background:#fff; color:#596579; font-size:11px; font-weight:650; cursor:pointer; }
.check-chip input:checked + label { color:#5843c3; border-color:#b9acf3; background:var(--violet-soft); }
.check-chip label::before { content:""; width:7px; height:7px; border-radius:50%; background:#c3c9d4; }
.check-chip input:checked + label::before { background:#7057e8; }
.action-item { display:grid; grid-template-columns:1fr 152px 32px; gap:8px; margin-bottom:8px; }
.form-footer { display:flex; align-items:center; justify-content:space-between; padding:16px 19px; background:#fafbfc; }
.form-footer-left { display:flex; gap:7px; }

/* Decision detail */
.detail-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr); gap:16px; align-items:start; }
.decision-hero { padding:22px; }
.decision-topline { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.decision-id { color:#8b93a2; font-size:10px; font-weight:760; letter-spacing:.05em; text-transform:uppercase; }
.decision-hero h1 { margin:9px 0 12px; font-size:25px; line-height:1.28; letter-spacing:-.028em; }
.decision-summary { margin:0; color:#5d687b; font-size:14px; line-height:1.65; }
.meta-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:20px; padding-top:18px; border-top:1px solid #edf0f4; }
.meta-item span { display:block; color:#8b93a2; font-size:10px; margin-bottom:5px; }
.meta-item strong { font-size:11px; }
.tabs { display:flex; gap:21px; padding:0 19px; border-bottom:1px solid var(--line); }
.tab { border:0; background:transparent; padding:13px 0 11px; color:#747f91; border-bottom:2px solid transparent; font-size:12px; font-weight:700; }
.tab.active { color:#5b47c8; border-bottom-color:#7057e8; }
.tab-content { padding:19px; }
.section-block { margin-bottom:21px; }
.section-block:last-child { margin-bottom:0; }
.section-block h3 { margin:0 0 9px; font-size:12px; }
.section-block p { margin:0; color:#5e687a; font-size:12px; line-height:1.65; }
.evidence-card { display:flex; align-items:flex-start; gap:11px; padding:13px; border:1px solid var(--line); border-radius:10px; background:#fafbfc; }
.evidence-card .source-icon { width:31px; height:31px; }
.evidence-card strong { display:block; font-size:11px; margin-bottom:4px; }
.evidence-card p { color:#697386; font-size:11px; }
.action-list { border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.action-row { display:grid; grid-template-columns:24px 1fr auto; gap:9px; align-items:center; padding:11px 12px; border-bottom:1px solid #edf0f4; }
.action-row:last-child { border-bottom:0; }
.checkbox-done { width:18px; height:18px; display:grid; place-items:center; border-radius:6px; color:#fff; background:var(--green); }
.action-row strong { display:block; font-size:11px; }
.action-row small { color:#848d9e; font-size:10px; }
.side-card { padding:17px; }
.side-card + .side-card { margin-top:16px; }
.side-card h3 { margin:0 0 13px; font-size:13px; }
.audience-list { display:flex; flex-wrap:wrap; gap:7px; }
.audience-chip { padding:6px 9px; border-radius:999px; color:#5543bd; background:var(--violet-soft); font-size:10px; font-weight:720; }
.timeline { position:relative; padding-left:17px; }
.timeline::before { content:""; position:absolute; left:4px; top:4px; bottom:7px; width:1px; background:#dde2ea; }
.timeline-item { position:relative; margin-bottom:17px; }
.timeline-item:last-child { margin-bottom:0; }
.timeline-item::before { content:""; position:absolute; width:8px; height:8px; left:-17px; top:3px; border-radius:50%; background:#7158e5; box-shadow:0 0 0 3px #eeeaff; }
.timeline-item strong { display:block; font-size:11px; margin-bottom:3px; }
.timeline-item span { color:#858e9e; font-size:10px; line-height:1.4; }

/* Search */
.search-hero { padding:25px; text-align:center; }
.search-hero h2 { margin:0 0 8px; font-size:20px; }
.search-hero p { margin:0 0 18px; color:var(--muted); font-size:13px; }
.big-search { max-width:730px; height:52px; margin:0 auto; display:flex; align-items:center; gap:11px; padding:0 14px; border:1px solid #d8dde6; border-radius:13px; background:#fff; box-shadow:0 10px 24px rgba(25,37,68,.07); }
.big-search input { width:100%; border:0; outline:0; color:var(--ink); font-size:14px; }
.search-hints { margin-top:15px; display:flex; justify-content:center; gap:7px; flex-wrap:wrap; }
.hint { border:1px solid var(--line); border-radius:999px; background:#fff; padding:6px 10px; color:#647085; font-size:10px; }
.hint:hover { color:#5743c2; border-color:#c4b8f4; background:var(--violet-soft); }
.results-head { display:flex; justify-content:space-between; align-items:center; margin:19px 0 10px; }
.results-head strong { font-size:13px; }
.results-head span { color:var(--muted); font-size:11px; }
.result-card { padding:17px; margin-bottom:10px; cursor:pointer; transition:transform .14s, box-shadow .14s; }
.result-card:hover { transform:translateY(-1px); box-shadow:0 9px 24px rgba(20,30,60,.08); }
.result-top { display:flex; justify-content:space-between; gap:14px; }
.result-card h3 { margin:8px 0 7px; font-size:15px; }
.result-card p { margin:0; color:#606b7d; font-size:12px; line-height:1.55; }
.result-card mark { color:#533ec2; background:#eee9ff; border-radius:3px; padding:0 2px; }
.result-meta { display:flex; gap:13px; margin-top:12px; color:#8b94a4; font-size:10px; }

/* Teams */
.teams-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.team-card { padding:17px; }
.team-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.team-symbol { width:40px; height:40px; border-radius:11px; display:grid; place-items:center; font-weight:820; color:#fff; }
.team-card h3 { margin:13px 0 4px; font-size:14px; }
.team-card > p { margin:0; color:var(--muted); font-size:11px; }
.member-stack { display:flex; margin-top:16px; }
.member-stack .avatar-xs { margin-left:-6px; border:2px solid #fff; border-radius:50%; }
.member-stack .avatar-xs:first-child { margin-left:0; }
.team-foot { display:flex; align-items:center; justify-content:space-between; margin-top:15px; padding-top:13px; border-top:1px solid #edf0f4; color:#7b8495; font-size:10px; }
.dm-person { display:flex; align-items:center; gap:8px; }

/* Audit */
.audit-day { margin-bottom:21px; }
.audit-day h3 { margin:0 0 9px; color:#707b8d; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.audit-row { display:grid; grid-template-columns:40px 1fr 115px; gap:12px; padding:14px 15px; border-bottom:1px solid #edf0f4; align-items:center; }
.audit-row:last-child { border-bottom:0; }
.audit-copy strong { display:block; font-size:12px; margin-bottom:4px; }
.audit-copy span { color:var(--muted); font-size:11px; }
.audit-time { color:#8c95a5; font-size:10px; text-align:right; }

/* Slack simulation */
.slack-stage { min-height:calc(100vh - 68px); padding:24px; background:#eceff4; display:grid; place-items:center; }
.slack-window { width:min(1100px,100%); height:720px; display:grid; grid-template-columns:220px 1fr; overflow:hidden; border-radius:17px; background:#fff; box-shadow:var(--shadow-lg); }
.slack-side { background:#3f0e40; color:#d8c6d9; padding:17px 12px; }
.slack-workspace { padding:3px 8px 18px; color:#fff; font-size:17px; font-weight:760; border-bottom:1px solid rgba(255,255,255,.13); margin-bottom:14px; }
.slack-user { display:flex; align-items:center; gap:6px; margin-top:4px; color:#d6c4d7; font-size:11px; font-weight:500; }
.online-dot { width:8px; height:8px; border-radius:50%; background:#3bbd84; border:2px solid #3f0e40; }
.slack-side-label { padding:8px 8px 5px; color:#c7abc9; font-size:11px; }
.slack-channel { display:block; width:100%; border:0; background:transparent; color:#d4bed5; padding:6px 9px; text-align:left; border-radius:5px; font-size:12px; }
.slack-channel.active { color:#fff; background:#1264a3; }
.slack-main { min-width:0; position:relative; display:flex; flex-direction:column; }
.channel-head { height:62px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dddfe4; }
.channel-head strong { display:block; font-size:15px; }
.channel-head small { color:#707783; }
.channel-tools { display:flex; gap:8px; color:#6f7783; }
.slack-messages { flex:1; overflow:auto; padding:15px 20px 84px; }
.slack-message { position:relative; display:grid; grid-template-columns:38px 1fr; gap:10px; padding:9px 4px; border-radius:6px; }
.slack-message:hover { background:#f7f7f8; }
.slack-message .message-avatar { width:38px; height:38px; border-radius:7px; }
.slack-message p { margin:3px 0 0; color:#202124; font-size:13px; line-height:1.45; }
.slack-message .message-meta strong { font-size:13px; }
.message-actions { position:absolute; right:10px; top:-8px; display:none; gap:2px; padding:3px; border:1px solid #d6d8db; border-radius:7px; background:#fff; box-shadow:var(--shadow-sm); }
.slack-message:hover .message-actions, .slack-message.focused .message-actions { display:flex; }
.slack-action { width:28px; height:27px; border:0; border-radius:5px; background:#fff; color:#5f6671; }
.slack-action:hover { background:#f1f2f3; }
.compose { position:absolute; left:20px; right:20px; bottom:17px; height:59px; border:1px solid #8a8d91; border-radius:7px; background:#fff; padding:11px 12px; color:#93979d; font-size:12px; }
.context-menu { position:absolute; z-index:7; width:235px; padding:7px; border:1px solid #d9dce1; border-radius:9px; background:#fff; box-shadow:var(--shadow-md); }
.context-menu button { width:100%; border:0; background:#fff; padding:9px 10px; border-radius:6px; text-align:left; color:#202124; font-size:12px; }
.context-menu button:hover { color:#fff; background:#1264a3; }
.context-sep { height:1px; background:#e7e8ea; margin:5px 0; }
.slack-modal-wrap { position:absolute; inset:0; z-index:20; display:grid; place-items:center; background:rgba(22,27,34,.42); backdrop-filter:blur(1px); }
.slack-modal { width:min(520px,calc(100% - 36px)); border-radius:12px; background:#fff; box-shadow:0 22px 70px rgba(0,0,0,.25); overflow:hidden; }
.slack-modal-head { display:flex; justify-content:space-between; align-items:center; padding:18px 20px; border-bottom:1px solid #e1e3e6; }
.slack-modal-head strong { font-size:17px; }
.modal-close { border:0; background:transparent; color:#6f7680; font-size:23px; line-height:1; }
.slack-modal-body { padding:20px; }
.slack-modal-body .field label { color:#292d32; font-size:12px; }
.source-preview { padding:12px; border:1px solid #dddfe3; border-radius:8px; background:#f8f8f9; font-size:12px; line-height:1.5; margin-bottom:16px; }
.slack-modal-foot { display:flex; justify-content:flex-end; gap:9px; padding:15px 20px; border-top:1px solid #e2e3e5; }
.slack-btn { min-height:36px; padding:0 15px; border-radius:5px; font-size:12px; font-weight:720; }
.slack-btn.cancel { border:1px solid #aeb1b5; background:#fff; }
.slack-btn.submit { border:0; color:#fff; background:#007a5a; }

/* Misc */
.toast-stack { position:fixed; z-index:100; right:21px; bottom:21px; display:flex; flex-direction:column; gap:8px; pointer-events:none; }
.toast { min-width:300px; max-width:390px; display:flex; gap:10px; align-items:flex-start; padding:13px 14px; border:1px solid #dce1e8; border-radius:11px; background:#fff; box-shadow:var(--shadow-md); animation:toast-in .25s ease both; }
.toast-icon { width:27px; height:27px; display:grid; place-items:center; flex:0 0 auto; border-radius:8px; color:var(--green); background:var(--green-soft); }
.toast strong { display:block; font-size:12px; margin-bottom:3px; }
.toast span { color:var(--muted); font-size:11px; line-height:1.4; }
@keyframes toast-in { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
.modal-backdrop { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:20px; background:rgba(16,24,40,.45); backdrop-filter:blur(3px); }
.confirm-modal { width:min(520px,100%); padding:22px; border-radius:16px; background:#fff; box-shadow:var(--shadow-lg); }
.confirm-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:#fff; background:var(--green); margin-bottom:14px; }
.confirm-modal h2 { margin:0 0 8px; font-size:19px; }
.confirm-modal p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.confirm-list { margin:16px 0; padding:13px; border:1px solid var(--line); border-radius:10px; background:#fafbfc; }
.confirm-list div { display:flex; justify-content:space-between; gap:16px; padding:6px 0; color:#687386; font-size:11px; }
.confirm-list strong { color:var(--ink); }
.confirm-actions { display:flex; justify-content:flex-end; gap:8px; }
.tour-bar { position:fixed; z-index:50; left:calc(var(--sidebar) + 24px); right:24px; bottom:18px; min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 12px 10px 17px; border:1px solid rgba(207,213,224,.95); border-radius:14px; background:rgba(255,255,255,.94); box-shadow:0 14px 35px rgba(25,35,65,.14); backdrop-filter:blur(14px); }
.tour-copy { min-width:0; }
.tour-copy strong { display:block; font-size:12px; }
.tour-copy span { display:block; margin-top:3px; color:var(--muted); font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tour-progress { display:flex; gap:5px; }
.tour-progress i { width:20px; height:4px; border-radius:999px; background:#e1e5ec; }
.tour-progress i.done, .tour-progress i.current { background:#7057e8; }
.tour-actions { display:flex; gap:7px; }
.empty { text-align:center; padding:52px 20px; color:var(--muted); }
.empty-icon { width:46px; height:46px; display:grid; place-items:center; margin:0 auto 12px; border-radius:14px; color:#6350ce; background:var(--violet-soft); }
.demo-banner { padding:9px 14px; color:#5d4abf; background:#f0ecff; border-bottom:1px solid #dfd6ff; text-align:center; font-size:11px; font-weight:650; }
.mobile-menu { display:none; }

@media (max-width: 1050px) {
  .hero { grid-template-columns:1fr; padding-top:42px; }
  .hero-window { max-width:700px; }
  .float-card { right:-12px; }
  .grid-stats { grid-template-columns:repeat(2,1fr); }
  .dashboard-grid, .detail-grid, .review-layout { grid-template-columns:1fr; }
  .slack-panel { position:relative; top:auto; }
  .teams-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 780px) {
  :root { --sidebar: 0px; }
  .app-shell { grid-template-columns:minmax(0,1fr); width:100%; }
  .landing-nav-links a:not(.btn) { display:none; }
  .hero { padding:45px 20px 74px; }
  .landing-nav { padding:18px 20px; }
  .hero h1 { font-size:47px; }
  .hero-copy { font-size:16px; }
  .hero-window { transform:none; }
  .float-card { display:none; }
  .value-strip { grid-template-columns:1fr; }
  .mini-shell { grid-template-columns:105px 1fr; height:360px; }
  .sidebar { transform:translateX(-100%); width:248px; transition:transform .2s ease; }
  .sidebar.open { transform:translateX(0); box-shadow:18px 0 50px rgba(10,17,35,.32); }
  .main { grid-column:1; width:100%; min-width:0; }
  .topbar { height:60px; padding:0 12px; gap:8px; }
  .mobile-menu { display:grid; }
  .topbar-actions .btn { display:none; }
  .breadcrumbs { min-width:0; font-size:12px; }
  .breadcrumbs span:first-child, .breadcrumbs span:nth-child(2) { display:none; }
  .content { width:100%; padding:20px 14px 150px; }
  .grid-stats, .teams-grid { grid-template-columns:1fr; }
  .page-head, .toolbar { align-items:stretch; flex-direction:column; }
  .page-head { gap:15px; margin-bottom:18px; }
  .page-title h1 { font-size:22px; }
  .head-actions, .toolbar-left, .toolbar-right { width:100%; flex-direction:column; align-items:stretch; }
  .head-actions .btn, .toolbar-left > *, .toolbar-right > * { width:100%; }
  .search-box { min-width:0; width:100%; }
  .select { width:100%; min-height:44px; }
  .meta-grid { grid-template-columns:repeat(2,1fr); }
  .field-row { grid-template-columns:1fr; }
  .tour-bar { left:10px; right:10px; bottom:10px; min-height:0; align-items:stretch; flex-direction:column; gap:8px; padding:11px; }
  .tour-progress { display:none; }
  .tour-copy span { max-width:none; white-space:normal; line-height:1.35; }
  .tour-actions { width:100%; }
  .tour-actions .btn { flex:1; min-height:42px; }
  .slack-stage { padding:0; }
  .slack-window { width:100%; height:calc(100svh - 89px); min-height:560px; border-radius:0; grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); }
  .slack-side { display:flex; align-items:center; gap:8px; overflow-x:auto; padding:8px 10px; scrollbar-width:none; }
  .slack-side::-webkit-scrollbar { display:none; }
  .slack-workspace { flex:0 0 auto; padding:6px 10px; margin:0; border:0; border-right:1px solid rgba(255,255,255,.15); font-size:13px; }
  .slack-user, .slack-side-label, .slack-channel:not(.active) { display:none; }
  .slack-channel.active { flex:0 0 auto; width:auto; min-height:40px; padding:8px 12px; font-size:13px; }
  .channel-head { height:auto; min-height:58px; padding:10px 12px; gap:8px; }
  .channel-head small { display:block; margin-top:2px; font-size:10px; }
  .slack-messages { padding:12px 10px 78px; }
  .slack-message { grid-template-columns:36px minmax(0,1fr); gap:8px; padding:11px 2px; }
  .slack-message p { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
  .message-actions { position:static; grid-column:2; width:max-content; margin-top:8px; display:flex; }
  .slack-action { width:40px; height:36px; }
  .compose { left:10px; right:10px; bottom:10px; height:50px; }
  .context-menu { position:fixed; left:10px !important; right:10px !important; top:auto !important; bottom:10px; width:auto; max-height:calc(100svh - 20px); overflow-y:auto; z-index:70; }
  .context-menu button { min-height:42px; font-size:13px; }
  .slack-modal-wrap { position:fixed; padding:10px; align-items:end; }
  .slack-modal { width:100%; max-height:calc(100svh - 20px); display:flex; flex-direction:column; border-radius:14px; }
  .slack-modal-head { padding:14px 16px; }
  .slack-modal-head strong { font-size:16px; }
  .modal-close { width:44px; height:44px; }
  .slack-modal-body { min-height:0; overflow-y:auto; padding:14px; }
  .slack-modal-foot { padding:12px 14px; }
  .slack-btn { min-height:44px; }
  .action-item { grid-template-columns:1fr; }
  .action-item .row-action { display:none; }
  .form-section { padding:16px 14px; }
  .form-section-title { align-items:flex-start; flex-direction:column; gap:5px; }
  .input, .textarea { min-height:44px; font-size:16px; }
  .check-chip { flex:1 1 calc(50% - 4px); }
  .check-chip label { width:100%; min-height:44px; justify-content:center; }
  .form-footer { align-items:stretch; flex-direction:column-reverse; gap:10px; padding:14px; }
  .form-footer-left { width:100%; }
  .form-footer .btn { min-height:44px; flex:1; }
  .decision-topline { flex-direction:column-reverse; gap:8px; }
  .decision-hero { padding:17px; }
  .decision-hero h1 { font-size:21px; }
  .tabs { gap:0; padding:0 12px; overflow-x:auto; }
  .tab { flex:0 0 auto; padding:14px 9px 12px; }
  .tab-content { padding:15px; }
  .evidence-card { align-items:flex-start; }
  .action-row { grid-template-columns:22px minmax(0,1fr); }
  .action-row .status { grid-column:2; justify-self:start; }
  .big-search { height:auto; align-items:stretch; flex-direction:column; padding:12px; }
  .big-search input { min-height:44px; font-size:16px; }
  .big-search .btn { width:100%; min-height:44px; }
  .search-hero { padding:18px 14px; text-align:left; }
  .search-hints { justify-content:flex-start; }
  .hint { min-height:40px; text-align:left; }
  .results-head, .result-top, .result-meta, .team-foot, .dm-person { align-items:flex-start; flex-direction:column; }
  .result-meta { gap:5px; }
  .team-foot { gap:10px; }
  .dm-person { gap:3px; }
  .audit-row { grid-template-columns:36px minmax(0,1fr); gap:10px; padding:14px 12px; }
  .audit-time { grid-column:2; text-align:left; }
  .modal-backdrop { align-items:end; padding:10px; }
  .confirm-modal { max-height:calc(100svh - 20px); overflow-y:auto; padding:18px; }
  .confirm-actions { flex-direction:column-reverse; }
  .confirm-actions .btn { width:100%; min-height:44px; }
  .toast-stack { left:10px; right:10px; bottom:10px; }
  .toast { width:100%; min-width:0; max-width:none; }

  .table-card { overflow:visible; border:0; background:transparent; box-shadow:none; }
  .table, .table tbody, .table tr, .table td { display:block; width:100%; }
  .table thead { display:none; }
  .table tr { margin-bottom:12px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow-sm); }
  .table td { display:grid; grid-template-columns:minmax(88px,34%) minmax(0,1fr); gap:10px; align-items:center; padding:10px 13px; border-bottom:1px solid #edf0f4; font-size:13px; overflow-wrap:anywhere; }
  .table td::before { color:#7d8799; font-size:10px; font-weight:760; letter-spacing:.04em; text-transform:uppercase; }
  .table td:first-child { display:block; padding:14px 13px; }
  .table td:first-child::before, .table td:last-child::before { display:none; }
  .table td:nth-child(2)::before { content:"Submitted by"; }
  .table td:nth-child(3)::before { content:"Assigned reviewer"; }
  .table td:nth-child(4)::before { content:"Team"; }
  .table td:nth-child(5)::before { content:"Status"; }
  .table td:last-child { display:block; padding:8px 13px; border-bottom:0; }
  .table .row-action { width:44px; height:40px; }
}

@media (max-width: 360px) {
  .content { padding-left:10px; padding-right:10px; }
  .topbar { padding-left:8px; padding-right:8px; }
  .page-title h1 { font-size:20px; }
  .meta-grid { grid-template-columns:1fr; }
  .check-chip { flex-basis:100%; }
  .form-footer-left { flex-direction:column; }
  .slack-message { grid-template-columns:32px minmax(0,1fr); }
  .slack-message .message-avatar { width:32px; height:32px; }
}
