/* FLOAT HUB · NEXO
   Interface proprietária, responsiva e sem dependências visuais externas. */
:root {
  --purple-975: #03121f;
  --purple-950: #06203a;
  --purple-900: #083057;
  --purple-850: #0b3f71;
  --purple-800: #0d4e8b;
  --purple-700: #1168b8;
  --purple-650: #1577cf;
  --purple-600: #1b8ff0;
  --purple-500: #22a6f4;
  --purple-400: #54c0fb;
  --purple-300: #8ad9ff;
  --purple-200: #bdeaff;
  --purple-100: #def5ff;
  --purple-75: #edfaff;
  --purple-50: #f5fcff;
  --ink-950: #151124;
  --ink-900: #1d192c;
  --ink-800: #2b263c;
  --ink-700: #454052;
  --ink-600: #625d6f;
  --ink-500: #7b7687;
  --ink-400: #9893a3;
  --line: #e9e6ef;
  --line-strong: #ddd8e7;
  --surface: #ffffff;
  --surface-muted: #f7f7fb;
  --surface-warm: #fbfaff;
  --success: #14845f;
  --success-strong: #086b4a;
  --success-soft: #e9f8f2;
  --danger: #cf3755;
  --danger-strong: #aa203d;
  --danger-soft: #fff0f3;
  --warning: #b66a09;
  --warning-soft: #fff7e6;
  --blue: #1577cf;
  --blue-soft: #eef8ff;
  --review: #a66508;
  --review-soft: #fff6df;
  --shadow-xs: 0 1px 2px rgba(6, 32, 58, .05);
  --shadow-sm: 0 8px 24px rgba(8, 48, 87, .08);
  --shadow-md: 0 18px 45px rgba(8, 48, 87, .12);
  --shadow-lg: 0 30px 80px rgba(6, 32, 58, .18);
  --radius-sm: 9px;
  --radius: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --sidebar-width: 276px;
  --topbar-height: 76px;
  --ease: cubic-bezier(.2, .8, .2, 1);
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100%;
  color: var(--ink-900);
  background: var(--surface-muted);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
svg { flex: 0 0 auto; }
code, pre { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }
button { color: inherit; }
::selection { background: var(--purple-200); color: var(--purple-950); }

/* Shell */
.app-body { overflow-x: hidden; }
.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  display: flex;
  width: var(--sidebar-width);
  flex-direction: column;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 10% 8%, rgba(84, 192, 251, .22), transparent 26%),
    radial-gradient(circle at 95% 62%, rgba(27, 143, 240, .18), transparent 35%),
    linear-gradient(162deg, var(--purple-950) 0%, #083057 42%, #03121f 100%);
  box-shadow: 12px 0 40px rgba(6, 32, 58, .16);
}
.sidebar::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 31px 31px;
  mask-image: linear-gradient(to bottom, #000 0, transparent 72%);
}
.sidebar > * { position: relative; z-index: 2; }
.sidebar-orbit { position: absolute; top: -110px; right: -88px; width: 270px; height: 270px; opacity: .55; }
.sidebar-orbit span { position: absolute; inset: 0; border: 1px solid rgba(138, 217, 255, .16); border-radius: 50%; animation: orbit-spin 18s linear infinite; }
.sidebar-orbit span:nth-child(2) { inset: 32px; border-style: dashed; animation-direction: reverse; animation-duration: 26s; }
.sidebar-orbit span:nth-child(3) { inset: 68px; animation-duration: 12s; }
.sidebar-orbit span:nth-child(3)::after { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--purple-300); top:-4px; left:50%; box-shadow: 0 0 18px var(--purple-300); }
@keyframes orbit-spin { to { transform: rotate(360deg); } }

.brand-lockup { display: flex; align-items: center; gap: 12px; min-height: 94px; padding: 21px 24px 17px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-symbol { display: grid; width: 43px; height: 43px; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(255,255,255,.08); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 8px 20px rgba(9,2,25,.2); }
.brand-symbol img { width: 34px; filter: brightness(1.12); animation: logo-float 5.5s ease-in-out infinite; }
@keyframes logo-float { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-3px) rotate(2deg)} }
.brand-copy { display:flex; align-items:baseline; gap:8px; letter-spacing:.02em; }
.brand-copy strong { font-size: 21px; letter-spacing: .19em; }
.brand-copy small { color: var(--purple-300); font-size: 10px; font-weight: 800; letter-spacing: .24em; }
.sidebar-context { display:flex; flex-direction:column; gap:2px; margin: 19px 17px 9px; padding: 13px 14px; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:rgba(255,255,255,.045); }
.sidebar-context .eyebrow { color: rgba(255,255,255,.48); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.sidebar-context strong { max-width: 188px; overflow:hidden; color:#fff; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.context-pill { align-self:flex-start; margin-top:5px; padding:2px 7px; color:var(--purple-200); border:1px solid rgba(192,168,252,.2); border-radius:100px; background:rgba(162,125,249,.1); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.sidebar-nav { flex:1; overflow-y:auto; padding: 8px 14px 20px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.15) transparent; }
.nav-section-label { margin:18px 11px 7px; color:rgba(255,255,255,.36); font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.nav-link { position:relative; display:flex; align-items:center; gap:12px; min-height:43px; margin:3px 0; padding:0 12px; color:rgba(255,255,255,.67); border:1px solid transparent; border-radius:11px; font-size:12.5px; font-weight:650; transition:.22s var(--ease); }
.nav-link .icon { color:rgba(193,170,248,.8); }
.nav-link:hover { color:#fff; background:rgba(255,255,255,.07); transform:translateX(2px); }
.nav-link.active { color:#fff; border-color:rgba(255,255,255,.10); background:linear-gradient(90deg, rgba(21,119,207,.34), rgba(255,255,255,.07)); box-shadow:inset 3px 0 var(--purple-400), 0 8px 16px rgba(3,18,31,.16); }
.nav-link.active .icon { color:#fff; filter:drop-shadow(0 0 7px rgba(192,168,252,.5)); }
.nav-link-feature { color:#fff; background:rgba(21,119,207,.16); }
.nav-pulse { position:absolute; right:13px; width:7px; height:7px; border-radius:50%; background:#8ad9ff; box-shadow:0 0 0 0 rgba(138,217,255,.45); animation:pulse-dot 2s infinite; }
@keyframes pulse-dot { 70%{box-shadow:0 0 0 8px rgba(189,163,255,0)} 100%{box-shadow:0 0 0 0 rgba(189,163,255,0)} }
.sidebar-footer { padding: 14px; border-top:1px solid rgba(255,255,255,.08); background:rgba(9,2,23,.16); }
.sidebar-security { display:flex; align-items:center; gap:8px; margin: 0 7px 10px; color:rgba(255,255,255,.42); font-size:9.5px; }
.sidebar-security .icon { color:var(--purple-300); }
.logout-button { display:flex; width:100%; align-items:center; gap:11px; min-height:40px; padding:0 12px; color:rgba(255,255,255,.64); border:0; border-radius:10px; background:transparent; cursor:pointer; transition:.2s; }
.logout-button:hover { color:#fff; background:rgba(255,255,255,.07); }
.sidebar-backdrop { display:none; }
.app-content { min-height:100vh; margin-left:var(--sidebar-width); }
.topbar { position:sticky; top:0; z-index:35; display:flex; align-items:center; justify-content:space-between; height:var(--topbar-height); padding:0 clamp(22px, 3vw, 46px); border-bottom:1px solid rgba(223,219,231,.8); background:rgba(255,255,255,.88); box-shadow:0 2px 16px rgba(31,18,54,.025); backdrop-filter:blur(16px); }
.topbar-left, .topbar-right { display:flex; align-items:center; gap:14px; }
.page-heading-compact { display:flex; flex-direction:column; line-height:1.2; }
.page-heading-compact span { color:var(--purple-700); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.page-heading-compact strong { max-width:430px; overflow:hidden; color:var(--ink-800); font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.mobile-menu { display:grid !important; }
.tenant-chip { display:flex; align-items:center; gap:7px; padding:7px 11px; color:var(--ink-600); border:1px solid var(--line); border-radius:100px; background:#fff; font-size:10px; font-weight:750; box-shadow:var(--shadow-xs); }
.tenant-dot { width:6px; height:6px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px var(--success-soft); }
.user-chip { display:flex; align-items:center; gap:9px; }
.user-avatar { display:grid; width:35px; height:35px; place-items:center; color:#fff; border-radius:11px; background:linear-gradient(145deg, var(--purple-700), var(--purple-500)); box-shadow:0 7px 14px rgba(17,104,184,.20); font-size:12px; font-weight:800; }
.user-avatar.small { width:29px; height:29px; border-radius:9px; font-size:10px; }
.user-copy { display:flex; flex-direction:column; min-width:0; line-height:1.2; }
.user-copy strong { max-width:155px; overflow:hidden; color:var(--ink-800); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.user-copy small { color:var(--ink-400); font-size:9px; }
.main-content { width:min(1580px, 100%); margin:0 auto; padding:32px clamp(22px,3vw,46px) 60px; }
.page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; min-height:72px; margin-bottom:26px; }
.page-header h1 { margin:3px 0 5px; color:var(--ink-950); font-size:clamp(24px,2.3vw,33px); line-height:1.12; letter-spacing:-.035em; }
.page-header p { max-width:760px; margin:0; color:var(--ink-500); font-size:12.5px; }
.page-kicker, .card-eyebrow { color:var(--purple-650); font-size:9px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.page-actions { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.inline-form { display:inline-flex; margin:0; }

/* Shared */
.card { border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-xs); }
.card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:21px 22px 17px; }
.card-header.compact { padding-bottom:11px; }
.card-header h3 { margin:3px 0 0; color:var(--ink-900); font-size:15px; line-height:1.25; letter-spacing:-.01em; }
.card-header p { margin:5px 0 0; color:var(--ink-500); font-size:11px; }
.card-eyebrow { display:block; }
.table-note { color:var(--ink-400); font-size:9.5px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:0 15px; border:1px solid transparent; border-radius:11px; font-size:11px; font-weight:800; letter-spacing:.005em; cursor:pointer; transition:.22s var(--ease); white-space:nowrap; }
.button:hover { transform:translateY(-1px); }
.button:active { transform:translateY(0); }
.button-primary { color:#fff; border-color:var(--purple-650); background:linear-gradient(135deg, var(--purple-700), var(--purple-500)); box-shadow:0 8px 18px rgba(17,104,184,.22), inset 0 1px rgba(255,255,255,.2); }
.button-primary:hover { box-shadow:0 12px 26px rgba(17,104,184,.29); filter:saturate(1.05); }
.button-secondary { color:var(--purple-750, var(--purple-700)); border-color:var(--purple-200); background:var(--purple-50); }
.button-secondary:hover { color:var(--purple-800); border-color:var(--purple-300); background:var(--purple-75); }
.button-light { color:var(--purple-900); border-color:rgba(255,255,255,.72); background:#fff; box-shadow:0 10px 28px rgba(6,32,58,.16); }
.button-ghost { color:var(--ink-700); border-color:var(--line); background:#fff; }
.button-ghost:hover { color:var(--purple-700); border-color:var(--purple-200); background:var(--purple-50); }
.button-danger-soft { color:var(--danger-strong); border-color:#f5cbd3; background:var(--danger-soft); }
.button-small { min-height:33px; padding:0 11px; border-radius:9px; font-size:9.5px; }
.button-large { min-height:48px; padding:0 22px; border-radius:13px; }
.button-full { width:100%; }
.text-link { display:inline-flex; align-items:center; gap:3px; color:var(--purple-650); font-size:10.5px; font-weight:750; }
.text-link:hover { color:var(--purple-800); }
.text-button { padding:4px 0; color:var(--purple-650); border:0; background:transparent; font-size:9.5px; font-weight:750; cursor:pointer; }
.text-button:hover { color:var(--purple-900); text-decoration:underline; }
.icon-button { display:inline-grid; width:38px; height:38px; place-items:center; padding:0; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; transition:.2s; }
.icon-button:hover { color:var(--purple-700); border-color:var(--purple-200); background:var(--purple-50); }
.icon-button.subtle { width:31px; height:31px; color:var(--ink-500); border-color:transparent; background:var(--surface-muted); }
.locked-indicator { display:inline-flex; color:var(--ink-400); }

.status-badge { display:inline-flex; align-items:center; gap:6px; min-height:23px; padding:0 8px; border-radius:100px; font-size:8.5px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.status-badge > span { width:5px; height:5px; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px currentColor; opacity:.7; }
.status-approved, .status-active { color:var(--success-strong); background:var(--success-soft); }
.status-rejected, .status-suspended, .status-error { color:var(--danger-strong); background:var(--danger-soft); }
.status-review, .status-processing, .status-draft { color:var(--review); background:var(--review-soft); }
.status-archived, .status-inactive, .status-neutral { color:var(--ink-500); background:#f0eef3; }
.role-badge { display:inline-flex; padding:5px 8px; color:var(--purple-700); border:1px solid var(--purple-100); border-radius:7px; background:var(--purple-50); font-size:8.5px; font-weight:800; }
.role-viewer { color:var(--ink-600); border-color:var(--line); background:var(--surface-muted); }
.role-platform_admin { color:#fff; border-color:var(--purple-700); background:var(--purple-700); }
.role-platform_operator { color:var(--purple-900); border-color:var(--purple-200); background:var(--purple-75); }
.plan-pill, .scope-chip, .person-type-pill, .time-chip, .confidence-pill, .priority-chip, .scope-pill { display:inline-flex; align-items:center; justify-content:center; min-height:23px; padding:0 8px; border:1px solid var(--purple-100); border-radius:7px; color:var(--purple-700); background:var(--purple-50); font-size:8.5px; font-weight:800; white-space:nowrap; }
.priority-chip { min-width:34px; color:var(--ink-700); border-color:var(--line); background:var(--surface-muted); }
.outcome-chip { display:inline-flex; padding:4px 7px; border-radius:6px; font-size:8.5px; font-weight:800; }
.outcome-reject { color:var(--danger-strong); background:var(--danger-soft); }
.outcome-review { color:var(--review); background:var(--review-soft); }

.flash-stack { position:fixed; z-index:100; top:88px; right:28px; display:flex; width:min(390px,calc(100vw - 32px)); flex-direction:column; gap:8px; }
.flash { display:flex; align-items:center; gap:10px; padding:12px 13px; border:1px solid var(--line); border-radius:12px; color:var(--ink-700); background:#fff; box-shadow:var(--shadow-md); font-size:11px; animation:flash-enter .35s var(--ease); }
.flash-success { border-color:#c8ebde; background:#fbfffd; }
.flash-success .icon { color:var(--success); }
.flash-error { border-color:#f4c9d2; background:#fffafb; }
.flash-error .icon { color:var(--danger); }
.flash button { display:grid; width:24px; height:24px; margin-left:auto; place-items:center; color:var(--ink-400); border:0; background:transparent; cursor:pointer; }
@keyframes flash-enter { from{opacity:0;transform:translateY(-8px) scale(.98)} }

/* Forms */
.app-form, .auth-form { display:flex; flex-direction:column; gap:15px; }
.app-form.compact, .auth-form.compact { gap:12px; }
.field { display:flex; flex-direction:column; gap:6px; min-width:0; color:var(--ink-700); }
.field > span { font-size:10px; font-weight:750; }
.field > span em { color:var(--ink-400); font-size:9px; font-style:normal; font-weight:500; }
.field > small { color:var(--ink-400); font-size:8.8px; line-height:1.45; }
.input-shell, .select-shell, .subdomain-input { display:flex; align-items:center; min-height:43px; color:var(--ink-400); border:1px solid var(--line-strong); border-radius:10px; background:#fff; transition:.2s; }
.input-shell:focus-within, .select-shell:focus-within, .subdomain-input:focus-within { color:var(--purple-650); border-color:var(--purple-400); box-shadow:0 0 0 4px rgba(21,119,207,.10); }
.input-shell.large { min-height:50px; border-radius:12px; }
.input-shell > .icon { margin-left:13px; }
.input-shell input, .select-shell select, .subdomain-input input { width:100%; min-width:0; height:41px; padding:0 13px; color:var(--ink-900); border:0; outline:0; background:transparent; font-size:11.5px; }
.input-shell.large input { height:48px; font-size:13px; }
.input-shell input::placeholder { color:#aaa5b3; }
.select-shell { position:relative; }
.select-shell::after { content:""; width:6px; height:6px; margin-right:14px; border-right:1.5px solid var(--ink-400); border-bottom:1.5px solid var(--ink-400); transform:rotate(45deg) translateY(-2px); pointer-events:none; }
.select-shell select { appearance:none; cursor:pointer; }
.currency-prefix { margin-left:13px; color:var(--ink-500); font-size:10px; font-weight:800; }
.input-hint { margin-right:12px; padding:3px 6px; border-radius:6px; color:var(--purple-700); background:var(--purple-75); font-size:8px !important; white-space:nowrap; }
.password-toggle { display:grid; width:42px; height:41px; place-items:center; color:var(--ink-400); border:0; background:transparent; cursor:pointer; }
.form-grid { display:grid; gap:13px; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.form-section { display:flex; flex-direction:column; gap:13px; padding:18px 0; border-top:1px solid var(--line); }
.form-section:first-of-type { padding-top:3px; border-top:0; }
.form-section-title { display:flex; align-items:center; gap:9px; color:var(--ink-800); font-size:11px; font-weight:850; }
.form-section-title i { display:grid; width:23px; height:23px; place-items:center; border-radius:8px; color:var(--purple-700); background:var(--purple-75); font-size:8px; font-style:normal; }
.form-error { display:flex; align-items:flex-start; gap:9px; padding:11px 12px; color:var(--danger-strong); border:1px solid #f3ccd4; border-radius:10px; background:var(--danger-soft); font-size:10px; }
.form-footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-top:14px; border-top:1px solid var(--line); }
.form-hint { color:var(--ink-400); font-size:9px; }
.form-hint code { color:var(--purple-700); }
.subdomain-input input { flex:1; }
.subdomain-input > span { margin-right:12px; color:var(--ink-400); font-size:9.5px; }
.inline-adjust-form { display:flex; align-items:center; gap:4px; }
.inline-adjust-form input { width:52px; height:31px; padding:0 7px; border:1px solid var(--line); border-radius:8px; outline:0; }
.period-filter label { display:flex; align-items:center; gap:9px; }
.period-filter span { color:var(--ink-400); font-size:9px; font-weight:750; text-transform:uppercase; }
.period-filter input { height:39px; padding:0 11px; color:var(--ink-700); border:1px solid var(--line); border-radius:10px; background:#fff; outline:0; }

/* Tables */
.table-card { overflow:hidden; }
.table-responsive { width:100%; overflow-x:auto; }
.data-table { width:100%; border-collapse:collapse; font-size:10.5px; }
.data-table th { padding:10px 14px; color:var(--ink-400); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#faf9fc; font-size:8px; font-weight:850; letter-spacing:.075em; text-align:left; text-transform:uppercase; white-space:nowrap; }
.data-table td { padding:13px 14px; color:var(--ink-600); border-bottom:1px solid #efedf3; vertical-align:middle; }
.data-table tbody tr:last-child td { border-bottom:0; }
.data-table tbody tr { transition:.16s; }
.data-table tbody tr:hover { background:#fcfbff; }
.data-table td > strong, .data-table td > span:not(.status-badge):not(.role-badge):not(.score-mini):not(.plan-pill):not(.outcome-chip):not(.scope-chip) { color:var(--ink-800); }
.data-table td small { display:block; margin-top:2px; color:var(--ink-400); font-size:8.5px; }
.data-table tfoot td { padding:13px 14px; border-top:1px solid var(--line-strong); background:var(--surface-muted); }
.table-primary { color:var(--ink-900); font-weight:800; }
.table-primary:hover { color:var(--purple-650); }
.table-empty { padding:28px; color:var(--ink-400); text-align:center; }
.muted-row { opacity:.58; }
.score-mini { display:inline-flex; align-items:center; gap:7px; color:var(--ink-800); font-weight:750; }
.score-mini i { width:25px; height:4px; overflow:hidden; border-radius:10px; background:linear-gradient(90deg, var(--danger) 0 35%, #e5ad39 35% 65%, var(--success) 65%); }
.user-table-cell, .tenant-table-cell { display:flex; align-items:center; gap:9px; }
.tenant-monogram { display:grid; width:36px; height:36px; place-items:center; flex:0 0 auto; color:#fff; border-radius:11px; background:linear-gradient(145deg,var(--purple-700),var(--purple-400)); font-weight:850; box-shadow:0 6px 14px rgba(17,104,184,.16); }
.tenant-monogram.small { width:29px; height:29px; border-radius:9px; font-size:10px; }
.inline-progress { display:flex; align-items:center; gap:8px; min-width:105px; }
.inline-progress > span { width:70px; height:5px; overflow:hidden; border-radius:100px; background:#ece9f1; }
.inline-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--purple-600),var(--purple-400)); }
.inline-progress small { margin:0 !important; }

/* Metrics / dashboard */
.metrics-grid { display:grid; gap:15px; margin-bottom:18px; }
.metrics-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.metrics-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.metric-card { position:relative; display:flex; min-height:123px; align-items:flex-start; gap:12px; padding:18px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-xs); }
.metric-card::after { content:""; position:absolute; right:-27px; bottom:-38px; width:85px; height:85px; border:1px solid var(--purple-100); border-radius:50%; opacity:.45; }
.metric-icon { display:grid; width:38px; height:38px; place-items:center; flex:0 0 auto; border-radius:12px; }
.metric-icon.success { color:var(--success); background:var(--success-soft); }
.metric-icon.purple { color:var(--purple-700); background:var(--purple-75); }
.metric-icon.warning { color:var(--warning); background:var(--warning-soft); }
.metric-icon.blue { color:var(--blue); background:var(--blue-soft); }
.metric-copy { display:flex; min-width:0; flex-direction:column; }
.metric-copy > span { color:var(--ink-500); font-size:9.5px; font-weight:650; }
.metric-copy > strong { margin-top:3px; color:var(--ink-950); font-size:23px; line-height:1.15; letter-spacing:-.035em; }
.metric-copy > strong small { color:var(--ink-400); font-size:12px; }
.metric-copy > small { margin-top:5px; color:var(--ink-400); font-size:8.8px; }
.metric-trend, .metric-link { position:absolute; right:14px; bottom:13px; padding:3px 6px; border-radius:6px; font-size:8px; font-weight:750; }
.metric-trend.positive { color:var(--success-strong); background:var(--success-soft); }
.metric-trend.negative { color:var(--danger-strong); background:var(--danger-soft); }
.metric-trend.neutral { color:var(--ink-500); background:var(--surface-muted); }
.metric-link { display:flex; align-items:center; color:var(--purple-650); }
.compact-metrics .metric-card { min-height:105px; }
.dashboard-grid { display:grid; gap:18px; margin-bottom:18px; }
.dashboard-grid.primary { grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr); }
.dashboard-grid.secondary { grid-template-columns:repeat(2,minmax(0,1fr)); }
.span-2 { grid-column:span 2; }
.chart-card, .decision-card, .reason-card, .usage-card { min-height:330px; }
.chart-wrap { height:245px; padding:4px 19px 18px; }
.chart-wrap canvas { width:100%; height:100%; }
.chart-legend { display:flex; gap:12px; color:var(--ink-500); font-size:8.5px; }
.chart-legend span { display:flex; align-items:center; gap:5px; }
.chart-legend i { width:7px; height:7px; border-radius:50%; }
.legend-approved { background:var(--purple-600); }
.legend-rejected { background:#d9d4e1; }
.donut-layout { display:flex; align-items:center; gap:23px; padding:21px 24px 28px; }
.donut-wrap { position:relative; width:145px; height:145px; flex:0 0 auto; }
.donut-wrap canvas { width:100%; height:100%; }
.donut-center { position:absolute; inset:0; display:grid; place-content:center; text-align:center; pointer-events:none; }
.donut-center strong { color:var(--ink-950); font-size:25px; line-height:1; }
.donut-center span { margin-top:3px; color:var(--ink-400); font-size:8px; }
.donut-stats { display:flex; flex:1; flex-direction:column; gap:12px; }
.donut-stats > div { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:7px; }
.donut-stats small { color:var(--ink-500); font-size:8.5px; }
.donut-stats strong { color:var(--ink-800); font-size:12px; }
.dot { width:7px; height:7px; border-radius:50%; }
.dot.approved { background:var(--purple-600); }
.dot.rejected { background:var(--danger); }
.dot.review { background:#e2a433; }
.reason-list { display:flex; flex-direction:column; gap:14px; padding:9px 22px 24px; }
.reason-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:5px; }
.reason-meta span { color:var(--ink-600); font-size:9.5px; }
.reason-meta strong { color:var(--ink-800); font-size:10px; }
.progress-track { height:6px; overflow:hidden; border-radius:100px; background:#eeebf2; }
.progress-track > span { display:block; height:100%; min-width:1px; border-radius:inherit; background:linear-gradient(90deg,var(--purple-700),var(--purple-400)); transition:width .7s var(--ease); }
.progress-track.large { height:8px; }
.usage-number { display:flex; align-items:baseline; gap:6px; padding:17px 22px 10px; }
.usage-number strong { color:var(--ink-950); font-size:34px; letter-spacing:-.045em; }
.usage-number span { color:var(--ink-400); font-size:10px; }
.usage-card > .progress-track { margin:0 22px; }
.usage-foot { display:flex; justify-content:space-between; padding:8px 22px 0; color:var(--ink-400); font-size:8px; }
.billing-callout { display:flex; align-items:center; gap:10px; margin:23px 22px 0; padding:11px; color:var(--purple-700); border:1px solid var(--purple-100); border-radius:11px; background:var(--purple-50); }
.billing-callout div { display:flex; flex-direction:column; }
.billing-callout small { color:var(--ink-500); font-size:8px; }
.billing-callout strong { font-size:10px; }
.empty-compact { display:flex; min-height:160px; align-items:center; justify-content:center; gap:9px; color:var(--ink-400); font-size:10px; }

/* Product hero */
.product-hero { position:relative; display:grid; align-items:center; grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr); min-height:315px; margin-bottom:18px; overflow:hidden; border-radius:var(--radius-xl); color:#fff; background:
  radial-gradient(circle at 79% 18%, rgba(84,192,251,.30), transparent 24%),
  radial-gradient(circle at 9% 98%, rgba(21,119,207,.24), transparent 38%),
  linear-gradient(126deg, #06203a 2%, #0b3f71 54%, #1168b8 100%);
  box-shadow:0 24px 55px rgba(8,48,87,.20);
}
.product-hero::before { content:""; position:absolute; inset:0; opacity:.25; background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(90deg,#000,transparent 75%); }
.product-hero-content { position:relative; z-index:2; padding:45px clamp(34px,4vw,64px); }
.product-label { display:inline-flex; align-items:center; gap:7px; color:var(--purple-200); font-size:9px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.product-label i { width:6px; height:6px; border-radius:50%; background:var(--purple-300); box-shadow:0 0 0 5px rgba(138,217,255,.15),0 0 16px rgba(138,217,255,.5); }
.product-hero h2 { margin:15px 0 11px; font-size:clamp(29px,3.1vw,45px); line-height:1.04; letter-spacing:-.055em; }
.product-hero h2 em { color:var(--purple-300); font-style:normal; font-weight:500; }
.product-hero p { max-width:570px; margin:0; color:rgba(255,255,255,.76); font-size:12px; line-height:1.65; }
.product-hero-actions { display:flex; align-items:center; gap:17px; margin-top:25px; }
.product-hero .text-link { color:rgba(255,255,255,.72); }
.product-visual { position:relative; display:flex; align-items:center; justify-content:center; min-height:300px; padding:22px 28px 22px 0; }
.visual-ring { position:absolute; top:50%; left:50%; border:1px solid rgba(189,234,255,.20); border-radius:50%; transform:translate(-50%,-50%); }
.ring-1 { width:255px; height:255px; animation:orbit-spin 34s linear infinite; }
.ring-2 { width:184px; height:184px; border-style:dashed; animation:orbit-spin 24s linear infinite reverse; }
.ring-3 { width:118px; height:118px; box-shadow:0 0 55px rgba(84,192,251,.18); }
.visual-logo { position:absolute; top:50%; left:50%; display:grid; width:91px; height:91px; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.22); border-radius:29px; background:rgba(255,255,255,.11); box-shadow:inset 0 1px rgba(255,255,255,.15),0 22px 50px rgba(6,32,58,.24); backdrop-filter:blur(8px); transform:translate(-50%,-50%); }
.visual-logo img { width:74px; animation:logo-float 5s ease-in-out infinite; }
.visual-node { position:absolute; width:9px; height:9px; border:2px solid var(--purple-300); border-radius:50%; background:var(--purple-900); box-shadow:0 0 16px var(--purple-300); }
.node-1 { top:19%; left:33%; animation:node-float 4s ease-in-out infinite; }
.node-2 { right:21%; top:47%; animation:node-float 5s .4s ease-in-out infinite; }
.node-3 { bottom:18%; left:38%; animation:node-float 4.6s .8s ease-in-out infinite; }
@keyframes node-float { 50%{transform:translateY(-7px);opacity:.65} }
.visual-tag { position:absolute; padding:5px 9px; color:rgba(255,255,255,.82); border:1px solid rgba(255,255,255,.14); border-radius:8px; background:rgba(6,32,58,.34); backdrop-filter:blur(7px); font-size:8px; font-weight:750; }
.tag-a { top:24%; right:12%; }
.tag-b { left:13%; bottom:27%; }
.tag-c { right:17%; bottom:16%; }

/* Analysis entry */
.analysis-entry-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:18px; align-items:start; }
.form-card { padding:0 24px 24px; }
.form-card-head { display:flex; align-items:flex-start; gap:13px; padding:23px 0 20px; }
.form-card-head.compact { padding:0 0 17px; }
.form-card-head h2 { margin:3px 0 4px; color:var(--ink-950); font-size:18px; letter-spacing:-.02em; }
.form-card-head p { margin:0; color:var(--ink-500); font-size:10px; }
.form-card-icon { display:grid; width:43px; height:43px; place-items:center; flex:0 0 auto; color:var(--purple-700); border:1px solid var(--purple-100); border-radius:13px; background:var(--purple-50); }
.analysis-side { display:flex; flex-direction:column; gap:15px; }
.pipeline-card { padding:20px; color:#fff; border-color:transparent; background:linear-gradient(154deg,var(--purple-950),var(--purple-800)); box-shadow:var(--shadow-md); }
.pipeline-card .card-eyebrow { color:var(--purple-300); }
.pipeline-card h3 { margin:4px 0 17px; color:#fff; font-size:15px; }
.pipeline-list { display:flex; flex-direction:column; }
.pipeline-list > div { position:relative; display:flex; align-items:center; gap:11px; min-height:57px; }
.pipeline-list > div:not(:last-child)::after { content:""; position:absolute; left:16px; top:40px; width:1px; height:26px; background:rgba(255,255,255,.13); }
.pipeline-index { display:grid; width:33px; height:33px; place-items:center; flex:0 0 auto; color:var(--purple-200); border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.07); font-size:8px; font-weight:850; }
.pipeline-list strong, .pipeline-list small { display:block; }
.pipeline-list strong { font-size:10px; }
.pipeline-list small { margin-top:2px; color:rgba(255,255,255,.48); font-size:8px; }
.privacy-note, .analysis-consent, .info-banner { display:flex; align-items:flex-start; gap:10px; padding:12px; color:var(--ink-600); border:1px solid var(--line); border-radius:11px; background:var(--surface-muted); }
.privacy-note .icon, .analysis-consent .icon, .info-banner .icon { color:var(--purple-650); }
.privacy-note p, .analysis-consent p, .info-banner p { margin:0; font-size:9px; line-height:1.55; }
.demo-guide { overflow:hidden; }
.demo-guide-head { display:flex; align-items:center; justify-content:space-between; padding:15px 17px; cursor:pointer; }
.demo-guide-head span { display:flex; align-items:center; gap:8px; color:var(--purple-700); font-size:10px; font-weight:800; }
.demo-scenarios { display:grid; gap:7px; padding:0 17px 16px; }
.demo-scenarios button { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:8px 9px; color:var(--ink-600); border:1px solid var(--line); border-radius:8px; background:#fff; font-size:8.5px; cursor:pointer; }
.demo-scenarios button:hover { color:var(--purple-700); border-color:var(--purple-200); background:var(--purple-50); }
.analysis-consent { margin-top:1px; border-color:var(--purple-100); background:var(--purple-50); }

/* Loading overlay */
.processing-overlay { position:fixed; z-index:200; inset:0; display:none; place-items:center; padding:20px; background:rgba(18,7,39,.76); backdrop-filter:blur(12px); }
.processing-overlay.active { display:grid; }
.processing-panel { width:min(500px,100%); padding:36px; color:#fff; border:1px solid rgba(255,255,255,.15); border-radius:25px; background:linear-gradient(155deg,rgba(35,12,77,.98),rgba(70,24,152,.97)); box-shadow:0 30px 100px rgba(7,1,20,.45); text-align:center; }
.processing-logo { position:relative; display:grid; width:86px; height:86px; margin:0 auto 18px; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(255,255,255,.08); }
.processing-logo img { width:68px; animation:logo-float 2.6s ease-in-out infinite; }
.processing-logo::before, .processing-logo::after { content:""; position:absolute; inset:-13px; border:1px solid rgba(199,176,255,.25); border-radius:50%; animation:orbit-spin 4s linear infinite; }
.processing-logo::after { inset:-27px; border-style:dashed; animation-duration:7s; animation-direction:reverse; }
.processing-panel h3 { margin:0; font-size:22px; letter-spacing:-.025em; }
.processing-panel > p { margin:6px 0 22px; color:rgba(255,255,255,.6); font-size:10px; }
.processing-steps { display:grid; gap:7px; text-align:left; }
.processing-steps span { display:flex; align-items:center; gap:8px; padding:8px 10px; color:rgba(255,255,255,.45); border-radius:8px; font-size:9px; transition:.25s; }
.processing-steps span::before { content:""; width:6px; height:6px; border:1px solid rgba(255,255,255,.35); border-radius:50%; }
.processing-steps span.active { color:#fff; background:rgba(255,255,255,.08); }
.processing-steps span.active::before { border-color:var(--purple-200); background:var(--purple-300); box-shadow:0 0 12px var(--purple-300); }
.processing-bar { height:4px; margin-top:21px; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.10); }
.processing-bar i { display:block; width:8%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--purple-300),#fff); transition:width .8s var(--ease); }
.processing-label { display:block; margin-top:8px; color:rgba(255,255,255,.5); font-size:8px; }

/* Analysis list */
.filter-card { margin-bottom:17px; padding:15px; }
.filter-form { display:grid; grid-template-columns:minmax(220px,1fr) 165px 150px auto; gap:10px; align-items:end; }
.filter-search .input-shell { min-width:220px; }

/* Analysis detail */
.decision-banner { position:relative; display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:17px; padding:23px 25px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; }
.decision-banner::after { content:""; position:absolute; right:-45px; top:-70px; width:190px; height:190px; border:1px solid currentColor; border-radius:50%; opacity:.08; }
.decision-banner.approved { color:var(--success-strong); border-color:#c9eadf; background:linear-gradient(120deg,#fbfffd,#f0fbf7); }
.decision-banner.rejected { color:var(--danger-strong); border-color:#f2cad2; background:linear-gradient(120deg,#fffdfd,#fff2f4); }
.decision-banner.review { color:var(--review); border-color:#f0dfb8; background:linear-gradient(120deg,#fffefa,#fff8e8); }
.decision-banner-main { display:flex; align-items:center; gap:15px; }
.decision-icon { display:grid; width:50px; height:50px; place-items:center; flex:0 0 auto; border:1px solid currentColor; border-radius:16px; background:rgba(255,255,255,.66); }
.decision-eyebrow { color:var(--ink-500); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.decision-banner h2 { margin:2px 0; color:currentColor; font-size:21px; }
.decision-banner p { margin:0; color:var(--ink-500); font-size:9.5px; }
.decision-banner-meta { display:flex; gap:9px; }
.decision-banner-meta span { display:flex; flex-direction:column; min-width:95px; padding:9px 11px; border:1px solid rgba(89,68,112,.10); border-radius:10px; background:rgba(255,255,255,.68); }
.decision-banner-meta small { color:var(--ink-400); font-size:7.5px; text-transform:uppercase; }
.decision-banner-meta strong { color:var(--ink-800); font-size:9.5px; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.7fr); gap:17px; align-items:start; }
.detail-main, .detail-side { display:flex; flex-direction:column; gap:17px; }
.identity-card { display:flex; align-items:center; gap:17px; padding:21px; }
.identity-avatar { display:grid; width:54px; height:54px; place-items:center; flex:0 0 auto; color:#fff; border-radius:17px; background:linear-gradient(145deg,var(--purple-800),var(--purple-500)); font-size:18px; font-weight:850; box-shadow:0 10px 22px rgba(17,104,184,.18); }
.identity-data { display:grid; flex:1; grid-template-columns:1.5fr repeat(3,1fr); gap:14px; }
.identity-data span { display:flex; min-width:0; flex-direction:column; }
.identity-data small { color:var(--ink-400); font-size:7.5px; text-transform:uppercase; }
.identity-data strong { overflow:hidden; margin-top:3px; color:var(--ink-800); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.reasons-detail-list { display:grid; gap:9px; padding:0 20px 20px; }
.reason-detail { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--line); border-radius:10px; }
.reason-detail-icon { display:grid; width:31px; height:31px; place-items:center; flex:0 0 auto; border-radius:9px; }
.reason-detail.rejected .reason-detail-icon { color:var(--danger); background:var(--danger-soft); }
.reason-detail.review .reason-detail-icon { color:var(--review); background:var(--review-soft); }
.reason-detail > div { display:flex; flex:1; flex-direction:column; }
.reason-detail strong { color:var(--ink-800); font-size:10px; }
.reason-detail span { margin-top:2px; color:var(--ink-500); font-size:9px; }
.reason-detail code { margin-top:5px; color:var(--ink-400); font-size:7.5px; }
.legal-coverage-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0 20px 12px; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-muted); }
.legal-coverage-strip span { display:flex; min-width:0; flex-direction:column; }
.legal-coverage-strip small { color:var(--ink-400); font-size:7px; text-transform:uppercase; }
.legal-coverage-strip strong { margin-top:2px; overflow:hidden; color:var(--ink-700); font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.legal-coverage-strip .coverage-ok { color:var(--success-strong); }
.legal-coverage-strip .coverage-review { color:var(--warning); }
.legal-findings { display:grid; gap:10px; padding:0 20px 20px; }
.legal-finding { padding:13px; border:1px solid var(--line); border-radius:11px; background:var(--surface-warm); }
.legal-finding-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.legal-finding-top strong { color:var(--ink-800); font-size:9.5px; }
.legal-finding p { margin:7px 0; color:var(--ink-600); font-size:9px; }
.legal-finding-meta, .finding-flags { display:flex; flex-wrap:wrap; gap:5px; }
.legal-finding-meta span, .finding-flags span { padding:3px 6px; border-radius:5px; color:var(--ink-500); background:#efedf3; font-size:7.5px; }
.finding-flags span.positive { color:var(--success-strong); background:var(--success-soft); }
.normalized-card { padding-bottom:18px; }
.signal-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 20px; }
.signal-list > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid var(--line); border-radius:9px; }
.signal-list span { color:var(--ink-500); font-size:8.5px; }
.signal-list strong { color:var(--ink-800); font-size:9px; }
.approval-evidence, .audit-proof-card, .legal-policy-card { padding:19px; }
.approval-evidence-icon, .audit-proof-icon, .legal-policy-icon { display:grid; width:42px; height:42px; margin-bottom:12px; place-items:center; color:var(--purple-700); border-radius:13px; background:var(--purple-75); }
.approval-evidence h3, .audit-proof-card h3, .legal-policy-card h3 { margin:3px 0 7px; font-size:13px; }
.approval-evidence p, .audit-proof-card p, .legal-policy-card p { margin:0; color:var(--ink-500); font-size:9px; line-height:1.55; }
.approval-evidence dl, .audit-proof-card dl { margin:14px 0 0; }
.approval-evidence dl > div, .audit-proof-card dl > div { display:flex; justify-content:space-between; gap:9px; padding:7px 0; border-top:1px solid var(--line); }
.approval-evidence dt, .audit-proof-card dt { color:var(--ink-400); font-size:8px; }
.approval-evidence dd, .audit-proof-card dd { margin:0; color:var(--ink-700); font-size:8px; font-weight:750; text-align:right; }
.decision-timeline { padding-bottom:17px; }
.timeline-item { display:grid; grid-template-columns:30px 1fr auto; gap:9px; padding:8px 18px; }
.timeline-marker { position:relative; display:grid; width:23px; height:23px; place-items:center; border-radius:7px; color:var(--purple-700); background:var(--purple-75); }
.timeline-content strong, .timeline-content small { display:block; }
.timeline-content strong { color:var(--ink-700); font-size:8.5px; }
.timeline-content small { color:var(--ink-400); font-size:7.5px; }
.timeline-item > small { color:var(--ink-400); font-size:7px; }

/* Reports */
.reports-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr); gap:17px; margin-bottom:17px; }
.reports-secondary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-bottom:17px; }
.reason-ranking { padding:4px 20px 22px; }
.ranking-list { display:flex; flex-direction:column; gap:11px; }
.ranking-list > div { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:10px; }
.ranking-position { display:grid; width:28px; height:28px; place-items:center; color:var(--purple-700); border-radius:9px; background:var(--purple-75); font-size:8px; font-weight:850; }
.ranking-list strong { color:var(--ink-700); font-size:9px; }
.ranking-list small { color:var(--ink-400); font-size:8px; }
.ranking-count { min-width:28px; color:var(--ink-800); font-size:12px; font-weight:850; text-align:right; }
.stage-breakdown { display:grid; gap:11px; padding:8px 20px 22px; }
.stage-breakdown > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border:1px solid var(--line); border-radius:10px; }
.stage-breakdown strong { color:var(--ink-700); font-size:9px; }
.stage-breakdown span { color:var(--ink-400); font-size:8px; }
.stage-breakdown b { color:var(--purple-700); font-size:15px; }
.insight-card { display:flex; align-items:flex-start; gap:13px; padding:20px; }
.insight-icon { display:grid; width:39px; height:39px; place-items:center; flex:0 0 auto; color:var(--purple-700); border-radius:12px; background:var(--purple-75); }
.insight-card h3 { margin:1px 0 5px; font-size:12px; }
.insight-card p { margin:0; color:var(--ink-500); font-size:9px; }

/* Policy readonly */
.policy-header-card { display:flex; align-items:center; gap:17px; margin-bottom:17px; padding:22px; }
.policy-header-icon { display:grid; width:49px; height:49px; place-items:center; color:var(--purple-700); border:1px solid var(--purple-100); border-radius:15px; background:var(--purple-50); }
.policy-header-card h2 { margin:3px 0 4px; font-size:18px; }
.policy-header-card p { margin:0; color:var(--ink-500); font-size:9.5px; }
.policy-version { margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; }
.policy-version strong { color:var(--purple-700); font-size:22px; }
.policy-version small { color:var(--ink-400); font-size:8px; }
.policy-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:17px; }
.policy-summary-grid > div { display:flex; flex-direction:column; padding:16px; border:1px solid var(--line); border-radius:13px; background:#fff; }
.policy-summary-grid span { color:var(--ink-400); font-size:8px; }
.policy-summary-grid strong { margin-top:3px; color:var(--ink-800); font-size:11px; }
.rules-readonly { padding:20px; }
.rule-cards { display:grid; gap:9px; }
.rule-card { display:grid; grid-template-columns:34px minmax(180px,1fr) minmax(180px,1fr) auto; align-items:center; gap:12px; padding:12px; border:1px solid var(--line); border-radius:11px; }
.rule-priority { display:grid; width:31px; height:31px; place-items:center; color:var(--purple-700); border-radius:9px; background:var(--purple-75); font-size:8px; font-weight:850; }
.rule-main strong { display:block; color:var(--ink-800); font-size:9.5px; }
.rule-code { color:var(--ink-400); font-size:7.5px; }
.rule-logic { color:var(--ink-600); border-radius:7px; background:var(--surface-muted); font-size:8px; padding:6px 8px; }
.rule-outcome { font-size:8px; font-weight:800; }
.rule-outcome.rejected { color:var(--danger); }
.rule-outcome.review { color:var(--review); }

/* Admin dashboard */
.admin-hero { position:relative; display:flex; align-items:center; justify-content:space-between; min-height:210px; margin-bottom:18px; padding:34px 37px; overflow:hidden; color:#fff; border:0; background:linear-gradient(128deg,var(--purple-950),var(--purple-800)); box-shadow:var(--shadow-md); }
.admin-hero::before { content:""; position:absolute; inset:0; opacity:.23; background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.18) 1px,transparent 0); background-size:24px 24px; mask-image:linear-gradient(90deg,#000,transparent); }
.admin-hero > * { position:relative; z-index:2; }
.admin-hero h2 { margin:8px 0 7px; font-size:29px; letter-spacing:-.04em; }
.admin-hero p { max-width:590px; margin:0; color:rgba(255,255,255,.58); font-size:10.5px; }
.live-pill, .audit-live-chip { display:inline-flex; align-items:center; gap:7px; padding:5px 9px; color:var(--success-strong); border:1px solid #c8eadf; border-radius:100px; background:var(--success-soft); font-size:8px; font-weight:850; text-transform:uppercase; }
.admin-hero .live-pill { color:#d6fff0; border-color:rgba(165,255,216,.16); background:rgba(22,152,105,.15); }
.live-pill span, .audit-live-chip span, .environment-chip span { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(35,180,125,.12); }
.admin-hero-actions { display:flex; gap:9px; margin-top:20px; }
.admin-hero-visual { position:relative; width:280px; height:170px; flex:0 0 auto; }
.network-core { position:absolute; top:50%; left:50%; display:grid; width:72px; height:72px; place-items:center; border:1px solid rgba(255,255,255,.18); border-radius:23px; background:rgba(255,255,255,.08); box-shadow:0 0 50px rgba(169,129,255,.17); transform:translate(-50%,-50%); }
.network-core img { width:58px; }
.network-core::before, .network-core::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.10); border-radius:50%; inset:-36px; animation:orbit-spin 16s linear infinite; }
.network-core::after { inset:-69px; border-style:dashed; animation-duration:26s; animation-direction:reverse; }
.network-node { position:absolute; display:grid; width:34px; height:34px; place-items:center; color:var(--purple-200); border:1px solid rgba(255,255,255,.13); border-radius:11px; background:rgba(255,255,255,.07); }
.network-node.n1 { top:10px; left:28px; }
.network-node.n2 { top:16px; right:22px; }
.network-node.n3 { bottom:6px; left:44px; }
.network-node.n4 { right:37px; bottom:2px; }
.admin-overview-card { margin-bottom:18px; overflow:hidden; }
.admin-overview-card .card-header p { margin-top:4px; color:var(--ink-500); font-size:8.5px; }
.admin-overview-list { padding:0 22px 7px; }
.admin-overview-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:13px; padding:12px 0; border-top:1px solid var(--line); }
.admin-overview-row:first-child { border-top:0; }
.admin-overview-icon { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; }
.admin-overview-icon.purple { color:var(--purple-700); background:var(--purple-75); }
.admin-overview-icon.blue { color:var(--blue); background:var(--blue-soft); }
.admin-overview-icon.success { color:var(--success); background:var(--success-soft); }
.admin-overview-icon.warning { color:var(--warning); background:var(--warning-soft); }
.admin-overview-row > div { display:flex; min-width:0; flex-direction:column; }
.admin-overview-row > div strong { color:var(--ink-800); font-size:9.5px; }
.admin-overview-row > div small { margin-top:3px; color:var(--ink-400); font-size:8px; }
.admin-overview-value { min-width:78px; color:var(--ink-950); font-size:16px; letter-spacing:-.025em; text-align:right; }
.admin-overview-value-link { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.admin-overview-value-link a { display:flex; align-items:center; gap:2px; color:var(--purple-650); font-size:7.5px; font-weight:750; }
.admin-overview-value-link a:hover { color:var(--purple-800); }
.admin-quick-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:17px; }
.quick-admin-card { display:flex; align-items:center; gap:12px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow-xs); transition:.2s var(--ease); }
.quick-admin-card:hover { border-color:var(--purple-200); box-shadow:var(--shadow-sm); transform:translateY(-2px); }
.quick-admin-card > span { display:grid; width:38px; height:38px; place-items:center; color:var(--purple-700); border-radius:11px; background:var(--purple-75); }
.quick-admin-card > div { flex:1; }
.quick-admin-card strong, .quick-admin-card small { display:block; }
.quick-admin-card strong { color:var(--ink-800); font-size:10px; }
.quick-admin-card small { margin-top:2px; color:var(--ink-400); font-size:8px; }
.quick-admin-card > .icon { color:var(--ink-400); }

/* Tenant administration */
.admin-split { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr); gap:18px; align-items:start; }
.admin-list-panel { min-height:620px; }
.create-tenant-card { padding:0 22px 22px; }
.tenant-list { padding:0 13px 14px; }
.tenant-list-item { display:flex; align-items:center; gap:13px; padding:14px 12px; border-top:1px solid var(--line); border-radius:10px; transition:.18s; }
.tenant-list-item:hover { background:var(--purple-50); }
.tenant-logo, .tenant-admin-logo { display:grid; width:44px; height:44px; place-items:center; flex:0 0 auto; color:#fff; border-radius:14px; background:linear-gradient(145deg,var(--purple-800),var(--purple-500)); font-size:15px; font-weight:850; box-shadow:0 8px 16px rgba(17,104,184,.18); }
.tenant-list-main { flex:1; min-width:0; }
.tenant-list-main > div { display:flex; align-items:center; gap:8px; }
.tenant-list-main strong { color:var(--ink-800); font-size:10.5px; }
.tenant-list-main > span { color:var(--ink-500); font-size:8.5px; }
.tenant-list-meta { display:flex; flex-wrap:wrap; gap:10px !important; margin-top:5px; }
.tenant-list-meta small { color:var(--ink-400); font-size:7.5px; }
.tenant-admin-header { display:flex; align-items:center; gap:18px; margin-bottom:16px; padding:22px; }
.tenant-admin-logo { width:58px; height:58px; border-radius:18px; font-size:19px; }
.tenant-admin-main { flex:1; }
.tenant-admin-main > div { display:flex; align-items:center; gap:8px; }
.tenant-admin-main h2 { margin:3px 0 2px; font-size:19px; }
.tenant-admin-main p { margin:0; color:var(--ink-500); font-size:9px; }
.tenant-admin-config { display:flex; gap:8px; }
.tenant-admin-config > span { display:flex; min-width:104px; flex-direction:column; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-muted); }
.tenant-admin-config small { color:var(--ink-400); font-size:7px; }
.tenant-admin-config strong { margin-top:2px; color:var(--ink-800); font-size:9px; }
.generated-token-callout { display:flex; align-items:center; gap:15px; margin-bottom:16px; padding:16px 18px; color:#fff; border-radius:15px; background:linear-gradient(120deg,var(--purple-800),var(--purple-600)); box-shadow:var(--shadow-md); }
.generated-token-icon { display:grid; width:42px; height:42px; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.18); border-radius:13px; background:rgba(255,255,255,.09); }
.generated-token-callout > div:nth-child(2) { display:flex; min-width:0; flex:1; flex-direction:column; }
.generated-token-callout span { color:var(--purple-200); font-size:8px; font-weight:800; text-transform:uppercase; }
.generated-token-callout strong { margin:2px 0; overflow:hidden; font-family:monospace; font-size:13px; text-overflow:ellipsis; }
.generated-token-callout small { color:rgba(255,255,255,.52); font-size:8px; }
.section-tabs { position:sticky; top:calc(var(--topbar-height) + 9px); z-index:20; display:flex; gap:2px; margin:0 0 16px; padding:5px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.9); box-shadow:var(--shadow-sm); backdrop-filter:blur(12px); }
.section-tabs a { padding:7px 12px; color:var(--ink-500); border-radius:8px; font-size:8.5px; font-weight:750; }
.section-tabs a:hover, .section-tabs a.active { color:var(--purple-700); background:var(--purple-75); }
.admin-detail-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.5fr); gap:16px; margin-bottom:16px; align-items:start; }
.token-create-card { padding:20px; }
.token-usage { min-width:100px; }
.token-usage strong { font-size:9px; }
.token-usage .progress-track { margin:4px 0; }
.section-anchor { scroll-margin-top:150px; margin-bottom:16px; }
.tenant-config-summary { padding-bottom:19px; }
.config-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0 21px; }
.config-grid > div { display:flex; flex-direction:column; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-muted); }
.config-grid span { color:var(--ink-400); font-size:8px; }
.config-grid code, .config-grid strong, .config-grid a { margin-top:3px; overflow:hidden; color:var(--ink-700); font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.config-grid a { color:var(--purple-650); }

/* Rule workspace */
.policy-workspace { display:grid; grid-template-columns:280px minmax(0,1fr); gap:18px; align-items:start; }
.policy-sidebar { position:sticky; top:calc(var(--topbar-height) + 18px); overflow:hidden; }
.policy-client-form { padding:0 17px 15px; }
.policy-tenant-card { display:flex; align-items:center; gap:10px; margin:0 12px 14px; padding:11px; border:1px solid var(--purple-100); border-radius:11px; background:var(--purple-50); }
.policy-tenant-card .tenant-monogram { width:33px; height:33px; border-radius:10px; font-size:10px; }
.policy-tenant-card div { display:flex; min-width:0; flex-direction:column; }
.policy-tenant-card small { color:var(--ink-400); font-size:7px; }
.policy-tenant-card strong { overflow:hidden; color:var(--ink-800); font-size:9.5px; text-overflow:ellipsis; white-space:nowrap; }
.policy-tenant-card div span { color:var(--purple-650); font-size:7.5px; }
.version-list { display:flex; flex-direction:column; padding:0 10px 13px; }
.version-list-title { padding:7px 7px; color:var(--ink-400); font-size:7.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.version-item { display:grid; grid-template-columns:31px 1fr auto; align-items:center; gap:8px; padding:9px 7px; border-radius:9px; transition:.18s; }
.version-item:hover, .version-item.active { background:var(--purple-50); }
.version-number { display:grid; width:29px; height:29px; place-items:center; color:var(--purple-700); border-radius:8px; background:var(--purple-75); font-size:8px; font-weight:850; }
.version-copy { display:flex; min-width:0; flex-direction:column; }
.version-copy strong { overflow:hidden; color:var(--ink-700); font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.version-copy small { color:var(--ink-400); font-size:7px; }
.version-item .status-badge { min-height:18px; padding:0 5px; font-size:6.5px; }
.policy-safety-note { display:flex; align-items:flex-start; gap:8px; padding:13px 15px; color:var(--purple-700); border-top:1px solid var(--line); background:var(--purple-50); }
.policy-safety-note span { display:flex; flex-direction:column; }
.policy-safety-note strong { font-size:8.5px; }
.policy-safety-note small { margin-top:2px; color:var(--ink-500); font-size:7px; line-height:1.45; }
.policy-main { display:flex; min-width:0; flex-direction:column; gap:16px; }
.policy-hero { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:21px 22px; }
.policy-hero-copy { flex:1; }
.policy-title-row { display:flex; align-items:center; gap:9px; }
.policy-title-row h2 { margin:4px 0 3px; font-size:19px; }
.policy-hero-copy p { margin:0; color:var(--ink-500); font-size:9px; }
.policy-stats { display:flex; gap:8px; }
.policy-stats span { display:flex; min-width:91px; flex-direction:column; padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:var(--surface-muted); }
.policy-stats small { color:var(--ink-400); font-size:7px; }
.policy-stats strong { margin-top:2px; color:var(--ink-800); font-size:9px; }
.rule-table .condition-code { display:inline-block; max-width:300px; padding:5px 7px; overflow:hidden; color:var(--purple-700); border-radius:6px; background:var(--purple-50); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.legal-gate-card { display:flex; align-items:center; gap:16px; padding:19px 21px; color:#fff; border-radius:16px; background:linear-gradient(125deg,var(--purple-950),var(--purple-800)); box-shadow:var(--shadow-sm); }
.legal-gate-symbol { position:relative; display:grid; width:49px; height:49px; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.16); border-radius:15px; background:rgba(255,255,255,.08); }
.legal-gate-symbol span { position:absolute; inset:-5px; border:1px solid rgba(190,163,255,.18); border-radius:18px; }
.legal-gate-card .card-eyebrow { color:var(--purple-300); }
.legal-gate-card h3 { margin:3px 0 3px; font-size:13px; }
.legal-gate-card p { max-width:650px; margin:0; color:rgba(255,255,255,.53); font-size:8.5px; line-height:1.5; }
.gate-flow { display:flex; align-items:center; gap:6px; margin-left:auto; padding:9px 10px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.05); color:rgba(255,255,255,.5); font-size:7px; white-space:nowrap; }
.gate-flow strong { color:#fff; }
.rule-builder-card { padding-bottom:20px; }
.rule-builder-card .app-form { padding:0 21px; }
.locked-policy-callout { display:flex; align-items:center; gap:11px; padding:14px 16px; color:var(--ink-600); border:1px solid var(--line); border-radius:12px; background:#fff; }
.locked-policy-callout .icon { color:var(--purple-650); }
.locked-policy-callout div { display:flex; flex-direction:column; }
.locked-policy-callout strong { color:var(--ink-800); font-size:9.5px; }
.locked-policy-callout span { color:var(--ink-400); font-size:8px; }

/* Billing */
.billing-hero { display:flex; align-items:center; gap:17px; margin-bottom:16px; padding:23px; }
.billing-hero-icon { position:relative; display:grid; width:53px; height:53px; place-items:center; flex:0 0 auto; color:var(--purple-700); border-radius:16px; background:var(--purple-75); }
.billing-hero-icon span { position:absolute; inset:-5px; border:1px solid var(--purple-100); border-radius:20px; }
.billing-hero-copy { flex:1; }
.billing-hero h2 { margin:3px 0 4px; font-size:18px; }
.billing-hero p { margin:0; color:var(--ink-500); font-size:9px; }
.billing-total { display:flex; min-width:185px; flex-direction:column; padding:13px 15px; border:1px solid var(--purple-100); border-radius:12px; background:var(--purple-50); }
.billing-total span { color:var(--ink-400); font-size:8px; }
.billing-total strong { margin-top:2px; color:var(--purple-800); font-size:21px; letter-spacing:-.025em; }
.billing-total small { color:var(--ink-500); font-size:8px; }
.billing-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.5fr); gap:16px; align-items:start; }
.billing-integrity-card { padding:22px; }
.integrity-seal { position:relative; display:grid; width:53px; height:53px; margin-bottom:14px; place-items:center; color:var(--purple-700); border-radius:17px; background:var(--purple-75); }
.integrity-seal span { position:absolute; inset:-5px; border:1px dashed var(--purple-200); border-radius:20px; animation:orbit-spin 18s linear infinite; }
.billing-integrity-card h3 { margin:3px 0 14px; font-size:15px; }
.integrity-list { display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none; }
.integrity-list li { display:flex; align-items:flex-start; gap:9px; }
.integrity-list li > span { display:grid; width:27px; height:27px; place-items:center; flex:0 0 auto; color:var(--purple-700); border-radius:8px; background:var(--purple-75); font-size:7px; font-weight:850; }
.integrity-list div { display:flex; flex-direction:column; }
.integrity-list strong { color:var(--ink-700); font-size:8.5px; }
.integrity-list small { margin-top:2px; color:var(--ink-400); font-size:7.5px; line-height:1.4; }
.billing-quantity { display:inline-grid; min-width:31px; height:28px; place-items:center; color:var(--purple-700) !important; border-radius:8px; background:var(--purple-75); }

/* Audit */
.audit-summary { display:flex; align-items:center; gap:15px; margin-bottom:16px; padding:20px; }
.audit-summary-mark { display:grid; width:48px; height:48px; place-items:center; flex:0 0 auto; color:var(--purple-700); border-radius:15px; background:var(--purple-75); }
.audit-summary h2 { margin:3px 0 3px; font-size:17px; }
.audit-summary p { margin:0; color:var(--ink-500); font-size:9px; }
.audit-controls { margin-left:auto; }
.compact-search { min-width:230px; min-height:37px; }
.compact-search input { height:35px; }
.audit-table-card { margin-bottom:16px; }
.audit-action { padding:4px 6px; color:var(--purple-700); border-radius:6px; background:var(--purple-50); font-size:7.5px; }
.audit-details { position:relative; }
.audit-details summary { display:inline-flex; align-items:center; gap:4px; color:var(--purple-650); font-size:8px; font-weight:750; cursor:pointer; list-style:none; }
.audit-details pre { position:absolute; z-index:5; right:0; width:320px; max-height:260px; margin:6px 0 0; padding:12px; overflow:auto; color:#e8deff; border-radius:10px; background:var(--purple-950); box-shadow:var(--shadow-md); font-size:7.5px; white-space:pre-wrap; }
.audit-principles-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.principle-card { display:flex; align-items:flex-start; gap:10px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.principle-card .icon { color:var(--purple-650); }
.principle-card div { display:flex; flex-direction:column; }
.principle-card strong { color:var(--ink-700); font-size:9px; }
.principle-card span { margin-top:2px; color:var(--ink-400); font-size:7.5px; }

/* Integrations */
.integration-overview { display:flex; align-items:center; gap:18px; margin-bottom:16px; padding:22px; overflow:hidden; }
.integration-overview-symbol { display:grid; width:58px; height:58px; place-items:center; flex:0 0 auto; border:1px solid var(--purple-100); border-radius:18px; background:var(--purple-50); }
.integration-overview-symbol img { width:47px; }
.integration-overview h2 { margin:3px 0 4px; font-size:18px; }
.integration-overview p { margin:0; color:var(--ink-500); font-size:9px; }
.environment-chip { display:inline-flex; align-items:center; gap:7px; margin-left:auto; padding:7px 10px; color:var(--success-strong); border:1px solid #c8eadf; border-radius:100px; background:var(--success-soft); font-size:8px; font-weight:850; }
.integration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.integration-card { padding:21px; }
.integration-card-top { display:flex; align-items:center; gap:11px; }
.integration-icon { display:grid; width:44px; height:44px; place-items:center; flex:0 0 auto; border-radius:13px; }
.integration-icon.credit { color:var(--purple-700); background:var(--purple-75); }
.integration-icon.legal { color:var(--blue); background:var(--blue-soft); }
.integration-card h3 { margin:2px 0 0; font-size:14px; }
.health-badge { display:inline-flex; align-items:center; gap:5px; margin-left:auto; padding:4px 7px; border-radius:100px; font-size:7px; font-weight:850; }
.health-badge span { width:5px; height:5px; border-radius:50%; background:currentColor; }
.health-ok { color:var(--success-strong); background:var(--success-soft); }
.health-warning { color:var(--warning); background:var(--warning-soft); }
.integration-card > p { min-height:44px; margin:14px 0; color:var(--ink-500); font-size:9px; line-height:1.6; }
.integration-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.integration-facts > div { display:flex; flex-direction:column; padding:10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-muted); }
.integration-facts span { color:var(--ink-400); font-size:7px; }
.integration-facts strong { margin-top:2px; overflow:hidden; color:var(--ink-700); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.integration-flow { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; padding:9px; color:var(--ink-400); border:1px solid var(--line); border-radius:9px; background:#fff; font-size:7.5px; }
.integration-flow strong { color:var(--purple-700); }
.config-reference-card { margin-bottom:16px; padding-bottom:21px; }
.config-reference-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:0 21px; }
.config-reference-grid > div { display:flex; align-items:center; gap:12px; padding:11px; border:1px solid var(--line); border-radius:10px; }
.config-reference-grid code { min-width:185px; color:var(--purple-700); font-size:7.5px; font-weight:750; }
.config-reference-grid span { display:flex; flex-direction:column; }
.config-reference-grid strong { color:var(--ink-700); font-size:8.5px; }
.config-reference-grid small { color:var(--ink-400); font-size:7.5px; }
.deployment-readiness { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.deployment-readiness article { display:flex; align-items:center; gap:10px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.readiness-number { display:grid; width:30px; height:30px; place-items:center; color:var(--purple-700); border-radius:9px; background:var(--purple-75); font-size:7px; font-weight:850; }
.deployment-readiness article div { flex:1; }
.deployment-readiness strong, .deployment-readiness small { display:block; }
.deployment-readiness strong { color:var(--ink-700); font-size:8.5px; }
.deployment-readiness small { margin-top:2px; color:var(--ink-400); font-size:7px; }
.deployment-readiness article > .icon { color:var(--success); }

/* Auth */
.auth-body { min-height:100vh; overflow-x:hidden; background:var(--purple-950); }
.auth-background { position:fixed; inset:0; overflow:hidden; pointer-events:none; }
.auth-background::before { content:""; position:absolute; inset:0; opacity:.26; 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:42px 42px; mask-image:linear-gradient(90deg,#000,transparent 72%); }
.auth-orbit { position:absolute; border:1px solid rgba(199,178,255,.10); border-radius:50%; animation:orbit-spin 45s linear infinite; }
.orbit-a { width:650px; height:650px; left:-280px; top:-300px; }
.orbit-b { width:480px; height:480px; left:29%; bottom:-350px; border-style:dashed; animation-direction:reverse; }
.auth-particle { position:absolute; width:8px; height:8px; border-radius:50%; background:var(--purple-300); box-shadow:0 0 20px var(--purple-300); animation:auth-particle 6s ease-in-out infinite; }
.auth-particle.p1 { top:19%; left:37%; }
.auth-particle.p2 { left:8%; bottom:19%; animation-delay:1.2s; }
.auth-particle.p3 { top:65%; left:44%; animation-delay:2s; }
@keyframes auth-particle { 50%{transform:translateY(-16px);opacity:.35} }
.auth-shell { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr); min-height:100vh; }
.auth-story { position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:40px clamp(40px,7vw,110px); color:#fff; background:
  radial-gradient(circle at 78% 29%, rgba(133,83,246,.25), transparent 30%),
  linear-gradient(142deg,rgba(20,6,47,.4),rgba(49,15,110,.38));
}
.auth-brand { display:flex; align-items:center; gap:11px; width:max-content; }
.auth-brand-symbol { display:grid; width:45px; height:45px; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.07); }
.auth-brand-symbol img { width:36px; }
.auth-brand > span:last-child { display:flex; align-items:baseline; gap:7px; }
.auth-brand strong { font-size:20px; letter-spacing:.19em; }
.auth-brand small { color:var(--purple-300); font-size:9px; font-weight:850; letter-spacing:.21em; }
.auth-story-content { max-width:620px; padding:50px 0; }
.product-chip { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; color:var(--purple-200); border:1px solid rgba(192,168,252,.16); border-radius:100px; background:rgba(128,72,236,.1); font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.product-chip span { width:6px; height:6px; border-radius:50%; background:var(--purple-300); box-shadow:0 0 12px var(--purple-300); }
.auth-story h1 { margin:21px 0 14px; font-size:clamp(39px,4.7vw,66px); line-height:.98; letter-spacing:-.065em; }
.auth-story h1 em { color:var(--purple-300); font-style:normal; font-weight:480; }
.auth-story-content > p { max-width:560px; margin:0; color:rgba(255,255,255,.58); font-size:13px; line-height:1.7; }
.auth-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:35px; }
.auth-feature-grid > div { display:flex; gap:9px; min-height:93px; padding:13px; border:1px solid rgba(255,255,255,.09); border-radius:13px; background:rgba(255,255,255,.04); backdrop-filter:blur(5px); }
.auth-feature-grid .icon { color:var(--purple-300); }
.auth-feature-grid span { display:flex; flex-direction:column; }
.auth-feature-grid strong { font-size:8.5px; }
.auth-feature-grid small { margin-top:3px; color:rgba(255,255,255,.42); font-size:7.5px; line-height:1.4; }
.auth-trust { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.35); font-size:8px; }
.trust-dot { width:6px; height:6px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px rgba(20,132,95,.13); }
.auth-panel { display:grid; min-height:100vh; place-items:center; padding:35px; background:#fff; box-shadow:-30px 0 80px rgba(10,2,27,.12); }
.auth-panel-inner { width:min(490px,100%); }
.auth-panel .flash { margin-bottom:14px; box-shadow:none; }
.auth-form-header { margin-bottom:23px; }
.eyebrow { color:var(--purple-650); font-size:8px; font-weight:850; letter-spacing:.15em; text-transform:uppercase; }
.auth-form-header h2 { margin:5px 0 5px; color:var(--ink-950); font-size:28px; letter-spacing:-.04em; }
.auth-form-header p { margin:0; color:var(--ink-500); font-size:10.5px; }
.login-tenant-card { display:flex; align-items:center; gap:10px; margin-bottom:16px; padding:10px; color:var(--purple-700); border:1px solid var(--purple-100); border-radius:11px; background:var(--purple-50); }
.login-tenant-card > span:nth-child(2) { display:flex; flex:1; flex-direction:column; }
.login-tenant-card small { color:var(--ink-400); font-size:7px; }
.login-tenant-card strong { color:var(--ink-700); font-size:9px; }
.auth-divider { display:flex; align-items:center; gap:10px; margin:18px 0; color:var(--ink-400); font-size:8px; }
.auth-divider::before, .auth-divider::after { content:""; height:1px; flex:1; background:var(--line); }
.demo-credentials { margin-top:17px; overflow:hidden; border:1px solid var(--line); border-radius:11px; }
.demo-credentials-toggle { display:flex; width:100%; align-items:center; gap:8px; padding:10px 11px; color:var(--ink-600); border:0; background:var(--surface-muted); font-size:8.5px; font-weight:750; cursor:pointer; }
.demo-credentials-toggle .icon:last-child { margin-left:auto; transition:.2s; }
.demo-credentials-toggle.open .icon:last-child { transform:rotate(90deg); }
.demo-credentials-body { display:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px; }
.demo-credentials-body.open { display:grid; }
.demo-credentials-body > div { display:flex; flex-direction:column; padding:8px; border:1px solid var(--line); border-radius:8px; }
.demo-credentials-body small { color:var(--ink-400); font-size:7px; }
.demo-credentials-body code { margin-top:2px; color:var(--ink-700); font-size:7.5px; }
.auth-legal, .auth-switch { margin:16px 0 0; color:var(--ink-400); font-size:8px; text-align:center; }
.auth-switch a { color:var(--purple-650); font-weight:750; }
.password-requirements { display:flex; align-items:flex-start; gap:8px; padding:9px 10px; color:var(--ink-500); border-radius:9px; background:var(--surface-muted); }
.password-requirements span { color:var(--purple-650); }
.password-requirements p { margin:0; font-size:8px; }
.demo-token-box { display:flex; align-items:center; gap:8px; margin-top:15px; padding:9px 10px; border:1px dashed var(--purple-200); border-radius:9px; background:var(--purple-50); }
.demo-token-box small { color:var(--ink-500); font-size:7px; }
.demo-token-box code { flex:1; color:var(--purple-700); font-size:8px; }
.demo-token-box button { display:flex; align-items:center; gap:4px; color:var(--purple-650); border:0; background:transparent; font-size:7.5px; font-weight:750; cursor:pointer; }

/* Empty / errors */
.empty-state { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:360px; padding:35px; text-align:center; }
.empty-state.large { min-height:500px; }
.empty-state h2 { margin:12px 0 5px; font-size:20px; }
.empty-state p { max-width:440px; margin:0 0 18px; color:var(--ink-500); font-size:10px; }
.empty-orbit, .error-orbit { position:relative; display:grid; width:67px; height:67px; place-items:center; color:var(--purple-700); border-radius:22px; background:var(--purple-75); }
.empty-orbit::after, .error-orbit::after { content:""; position:absolute; inset:-10px; border:1px dashed var(--purple-200); border-radius:50%; animation:orbit-spin 16s linear infinite; }
.error-state { display:flex; min-height:calc(100vh - 210px); flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.error-code { margin-top:17px; color:var(--purple-700); font-size:54px; font-weight:900; letter-spacing:-.06em; }
.error-state h1 { margin:3px 0 5px; }
.error-state p { max-width:480px; margin:0 0 18px; color:var(--ink-500); }

/* Utility and animations */
[data-collapsible-content] { transition:.2s; }
[hidden] { display:none !important; }
.fade-out { opacity:0; transform:translateY(-5px); transition:.22s; }
.inline-copy { display:inline-flex; align-items:center; gap:5px; }
.positive { color:var(--success); }
.warning { color:var(--warning); }
.blue { color:var(--blue); }
.purple { color:var(--purple-700); }
.success { color:var(--success); }


@media (min-width: 1051px) {
  .sidebar, .app-content { transition: width .24s var(--ease), margin-left .24s var(--ease); }
  .app-body.sidebar-collapsed .sidebar { width:82px; }
  .app-body.sidebar-collapsed .app-content { margin-left:82px; }
  .app-body.sidebar-collapsed .brand-lockup { justify-content:center; padding-left:12px; padding-right:12px; }
  .app-body.sidebar-collapsed .brand-copy,
  .app-body.sidebar-collapsed .sidebar-context,
  .app-body.sidebar-collapsed .nav-section-label,
  .app-body.sidebar-collapsed .sidebar-security span,
  .app-body.sidebar-collapsed .logout-button span,
  .app-body.sidebar-collapsed .nav-link > span:not(.nav-pulse) { display:none; }
  .app-body.sidebar-collapsed .sidebar-nav { padding-left:12px; padding-right:12px; }
  .app-body.sidebar-collapsed .nav-link,
  .app-body.sidebar-collapsed .logout-button { justify-content:center; gap:0; padding-left:0; padding-right:0; }
  .app-body.sidebar-collapsed .nav-pulse { right:7px; top:7px; }
  .app-body.sidebar-collapsed .nav-link:hover { transform:none; }
}

/* Responsive */
@media (max-width: 1240px) {
  :root { --sidebar-width: 252px; }
  .metrics-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-grid.primary, .reports-grid { grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr); }
  .product-hero { grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); }
  .tenant-admin-config > span { min-width:90px; }
  .rule-table .condition-code { max-width:210px; }
}
@media (max-width: 1050px) {
  .sidebar { transform:translateX(-101%); transition:transform .28s var(--ease); }
  .sidebar.open { transform:translateX(0); }
  .sidebar-backdrop { position:fixed; z-index:45; inset:0; display:block; visibility:hidden; opacity:0; background:rgba(18,7,39,.5); backdrop-filter:blur(3px); transition:.25s; }
  .sidebar-backdrop.open { visibility:visible; opacity:1; }
  .app-content { margin-left:0; }
  .mobile-menu { display:grid !important; }
  .auth-shell { grid-template-columns:minmax(0,1fr) minmax(460px,.85fr); }
  .auth-feature-grid { grid-template-columns:1fr; max-width:350px; }
  .auth-feature-grid > div { min-height:auto; }
  .admin-detail-grid, .billing-layout { grid-template-columns:1fr; }
  .admin-detail-grid > .span-2, .billing-layout > .span-2 { grid-column:auto; }
  .token-create-card, .billing-integrity-card { max-width:none; }
  .policy-workspace { grid-template-columns:235px minmax(0,1fr); }
  .policy-stats { display:none; }
  .gate-flow { display:none; }
}
@media (max-width: 820px) {
  .main-content { padding:24px 17px 45px; }
  .topbar { padding:0 17px; }
  .tenant-chip, .user-copy { display:none; }
  .page-header { align-items:flex-start; flex-direction:column; min-height:auto; }
  .page-actions { width:100%; }
  .page-actions .button { flex:1; }
  .product-hero { grid-template-columns:1fr; min-height:auto; }
  .product-visual { display:none; }
  .product-hero-content { padding:36px 28px; }
  .dashboard-grid.primary, .dashboard-grid.secondary, .reports-grid, .reports-secondary, .analysis-entry-grid, .admin-split { grid-template-columns:1fr; }
  .dashboard-grid .span-2 { grid-column:auto; }
  .chart-card, .decision-card, .reason-card, .usage-card { min-height:auto; }
  .analysis-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analysis-side .pipeline-card { grid-row:span 2; }
  .filter-form { grid-template-columns:1fr 1fr; }
  .filter-search { grid-column:span 2; }
  .detail-grid { grid-template-columns:1fr; }
  .identity-data { grid-template-columns:repeat(2,1fr); }
  .decision-banner { align-items:flex-start; flex-direction:column; }
  .decision-banner-meta { width:100%; }
  .decision-banner-meta span { flex:1; }
  .policy-workspace { grid-template-columns:1fr; }
  .policy-sidebar { position:static; }
  .version-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .policy-safety-note { display:none; }
  .rule-table { min-width:850px; }
  .billing-hero { align-items:flex-start; flex-wrap:wrap; }
  .billing-total { width:100%; }
  .audit-principles-grid, .deployment-readiness { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .integration-grid { grid-template-columns:1fr; }
  .config-reference-grid { grid-template-columns:1fr; }
  .auth-shell { grid-template-columns:1fr; }
  .auth-story { min-height:450px; padding:30px; }
  .auth-story-content { padding:55px 0 20px; }
  .auth-story h1 { font-size:48px; }
  .auth-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; }
  .auth-panel { min-height:auto; padding:55px 24px; }
  .tenant-admin-header { align-items:flex-start; flex-wrap:wrap; }
  .tenant-admin-config { width:100%; }
  .tenant-admin-config > span { flex:1; }
  .section-tabs { overflow-x:auto; }
}
@media (max-width: 600px) {
  .metrics-grid.four, .metrics-grid.three, .policy-summary-grid, .auth-feature-grid, .analysis-side, .audit-principles-grid, .deployment-readiness { grid-template-columns:1fr; }
  .metric-card { min-height:105px; }
  .page-header h1 { font-size:25px; }
  .product-hero h2 { font-size:32px; }
  .product-hero-actions { align-items:flex-start; flex-direction:column; }
  .donut-layout { justify-content:center; flex-wrap:wrap; }
  .donut-stats { width:100%; flex-basis:100%; }
  .form-grid.two, .form-grid.three { grid-template-columns:1fr; }
  .form-card { padding:0 17px 18px; }
  .filter-form { grid-template-columns:1fr; }
  .filter-search { grid-column:auto; }
  .filter-form .button { width:100%; }
  .identity-card { align-items:flex-start; }
  .identity-data { grid-template-columns:1fr; }
  .decision-banner-meta { flex-direction:column; }
  .signal-list { grid-template-columns:1fr; }
  .rule-card { grid-template-columns:32px 1fr; }
  .rule-logic, .rule-outcome { grid-column:2; }
  .admin-hero { padding:28px 23px; }
  .admin-hero-visual { display:none; }
  .admin-overview-list { padding-right:17px; padding-left:17px; }
  .admin-quick-grid { grid-template-columns:1fr; }
  .tenant-admin-config { flex-direction:column; }
  .generated-token-callout { align-items:flex-start; flex-wrap:wrap; }
  .generated-token-callout .button { width:100%; }
  .config-grid { grid-template-columns:1fr; }
  .version-list { grid-template-columns:1fr; }
  .policy-hero { align-items:flex-start; }
  .legal-gate-card { align-items:flex-start; }
  .audit-summary { align-items:flex-start; flex-wrap:wrap; }
  .audit-controls { width:100%; margin-left:0; }
  .compact-search { min-width:0; width:100%; }
  .config-reference-grid code { min-width:0; }
  .config-reference-grid > div { align-items:flex-start; flex-direction:column; }
  .integration-facts { grid-template-columns:1fr; }
  .auth-story { min-height:390px; }
  .auth-story h1 { font-size:39px; }
  .auth-story-content > p, .auth-feature-grid { display:none; }
  .auth-panel { padding:40px 18px; }
  .auth-form-header h2 { font-size:25px; }
  .demo-credentials-body { grid-template-columns:1fr; }
  .topbar-right { gap:8px; }
  .flash-stack { right:16px; top:84px; }
  .section-tabs a { white-space:nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* ========================================================================== 
   NEXO 0.1.4 · Correções de apresentação, responsividade e nitidez
   ========================================================================== */
.large-select { min-height:50px; border-radius:12px; }
.large-select select { height:48px; font-size:13px; font-weight:750; }

/* Formulário e coluna explicativa */
.analysis-entry-grid { grid-template-columns:minmax(0,1.55fr) minmax(330px,.55fr); gap:22px; }
.form-card { padding:0 28px 28px; }
.form-card-head { padding:27px 0 23px; }
.form-card-head h2 { font-size:20px; }
.form-card-head p { font-size:11px; }
.pipeline-list { display:flex; flex-direction:column; gap:0; margin:0; padding:0; list-style:none; }
.pipeline-list > li { position:relative; display:grid; grid-template-columns:34px 34px minmax(0,1fr); align-items:start; gap:10px; min-height:74px; padding:7px 0 12px; }
.pipeline-list > li:not(:last-child)::after { content:""; position:absolute; left:50px; top:44px; bottom:-3px; width:1px; background:linear-gradient(rgba(255,255,255,.22),rgba(255,255,255,.06)); }
.pipeline-icon { display:grid; width:34px; height:34px; place-items:center; color:var(--purple-200); border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(255,255,255,.07); }
.pipeline-list li > div { min-width:0; padding-top:1px; }
.pipeline-list strong { display:block; font-size:10.5px; }
.pipeline-list p { margin:3px 0 0; color:rgba(255,255,255,.52); font-size:8.8px; line-height:1.5; }
.demo-guide { padding-bottom:14px; }
.demo-guide-head { justify-content:flex-start; gap:10px; }
.demo-guide-head > .icon { color:var(--purple-650); }
.demo-guide-head > div { display:flex; flex-direction:column; }
.demo-guide-head strong { color:var(--ink-800); font-size:10px; }
.demo-guide-head small { color:var(--ink-400); font-size:8px; }
.demo-scenarios { grid-template-columns:repeat(2,minmax(0,1fr)); }
.demo-scenarios > span { display:flex; align-items:center; gap:7px; padding:8px 9px; color:var(--ink-600); border:1px solid var(--line); border-radius:8px; background:#fff; font-size:8.5px; }
.demo-scenarios code { color:var(--purple-700); font-weight:850; }
.demo-guide > p { margin:0; padding:0 17px; color:var(--ink-500); font-size:8.5px; }

/* Detalhe da decisão */
.decision-banner { min-height:126px; padding:25px 27px; }
.decision-banner-main { min-width:0; flex:1; }
.decision-banner-main > div { min-width:0; }
.decision-banner h2 { font-size:25px; line-height:1.08; }
.decision-banner p { max-width:680px; font-size:11px; line-height:1.5; }
.decision-banner-meta { flex:0 0 auto; }
.decision-banner-meta span { min-width:112px; padding:11px 12px; }
.decision-banner-meta small { font-size:8px; }
.decision-banner-meta strong { max-width:170px; overflow:hidden; font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }
.analysis-metrics { gap:17px; }
.analysis-metrics .metric-card { min-height:116px; align-items:center; padding:19px; }
.analysis-metrics .metric-copy > span { font-size:10px; }
.analysis-metrics .metric-copy > strong { font-size:24px; }
.analysis-metrics .metric-copy > small { font-size:9px; }
.detail-grid { grid-template-columns:minmax(0,1.58fr) minmax(350px,.72fr); gap:18px; }
.detail-main, .detail-side { gap:18px; min-width:0; }
.reasons-detail-list { gap:10px; padding:0 22px 22px; }
.reason-detail { padding:14px; }
.reason-detail-icon { width:35px; height:35px; }
.reason-detail > div { min-width:0; }
.reason-detail strong { margin-top:2px; font-size:11px; line-height:1.45; }
.reason-detail span { font-size:9px; }
.reason-detail small { margin-top:5px; color:var(--ink-400); font-size:8px; }
.reason-detail.severity-critical .reason-detail-icon,
.reason-detail.severity-high .reason-detail-icon { color:var(--danger); background:var(--danger-soft); }
.reason-detail.severity-medium .reason-detail-icon { color:var(--review); background:var(--review-soft); }
.reason-detail.severity-technical .reason-detail-icon { color:var(--blue); background:var(--blue-soft); }

/* Identificação: deixa de tentar colocar todos os blocos na mesma linha. */
.identity-card { display:flex; align-items:stretch; flex-direction:column; gap:0; padding:0 22px 22px; }
.identity-card .card-header { margin:0 -22px; }
.identity-summary { display:flex; align-items:center; gap:14px; padding:2px 0 18px; }
.identity-copy { min-width:0; }
.identity-copy h4 { margin:0; overflow:hidden; color:var(--ink-900); font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.identity-copy p { margin:3px 0 0; color:var(--ink-600); font-size:11px; font-variant-numeric:tabular-nums; }
.identity-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
.identity-data span { min-width:0; padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface-muted); }
.identity-data small { font-size:7.5px; }
.identity-data strong { margin-top:3px; font-size:9.5px; }
.identity-card .privacy-note { width:100%; margin-top:12px; }
.identity-card .privacy-note span { font-size:8.5px; line-height:1.5; }

/* Trilha: rail e conteúdo em duas colunas estáveis. */
.decision-timeline { padding:0 22px 22px; }
.timeline-item { display:grid; grid-template-columns:32px minmax(0,1fr); gap:12px; padding:0; }
.timeline-item + .timeline-item { margin-top:4px; }
.timeline-rail { position:relative; display:flex; align-items:center; flex-direction:column; }
.timeline-marker { z-index:2; width:27px; height:27px; border-radius:8px; font-size:9px; font-weight:850; }
.timeline-line { width:1px; min-height:74px; flex:1; margin:4px 0; background:linear-gradient(var(--purple-200),var(--line)); }
.timeline-content { min-width:0; padding:1px 0 20px; }
.timeline-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.timeline-heading > div { display:flex; min-width:0; flex-direction:column; }
.timeline-stage { color:var(--ink-400); font-size:8px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.timeline-status { margin-top:2px; color:var(--ink-800); font-size:11.5px; }
.timeline-duration { flex:0 0 auto; padding:3px 6px; color:var(--ink-500); border-radius:6px; background:var(--surface-muted); font-size:8px; font-weight:750; }
.timeline-content p { margin:7px 0 0; color:var(--ink-600); font-size:10.5px; line-height:1.55; }
.timeline-content > small { display:block; margin-top:6px; color:var(--ink-400); font-size:8px; }
.timeline-approved .timeline-marker, .timeline-completed .timeline-marker { color:var(--success-strong); background:var(--success-soft); }
.timeline-rejected .timeline-marker, .timeline-error .timeline-marker { color:var(--danger-strong); background:var(--danger-soft); }
.timeline-review .timeline-marker { color:var(--review); background:var(--review-soft); }
.timeline-skipped .timeline-marker { color:var(--ink-500); background:#f0eef3; }

.signal-list { gap:9px; padding:0 22px; }
.signal-list > div { min-height:42px; padding:10px 11px; }
.signal-list span { font-size:8.8px; }
.signal-list strong { display:flex; align-items:center; gap:4px; font-size:9px; }
.signal-yes { color:var(--success-strong) !important; }
.signal-no { color:var(--danger-strong) !important; }
.audit-proof-card { display:flex; align-items:flex-start; gap:13px; }
.audit-proof-card .audit-proof-icon { flex:0 0 auto; margin:0; }

.legal-finding { padding:15px; }
.legal-finding.blocking { border-color:#f1c5cf; background:#fff8fa; }
.legal-finding h4 { margin:10px 0; color:var(--ink-800); font-size:11px; }
.legal-finding-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.legal-finding-meta span { display:flex; min-width:0; flex-direction:column; padding:8px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.legal-finding-meta small { color:var(--ink-400); font-size:7px; text-transform:uppercase; }
.legal-finding-meta strong { overflow:hidden; margin-top:2px; color:var(--ink-700); font-size:8.5px; text-overflow:ellipsis; white-space:nowrap; }
.finding-flags { margin-top:10px; }
.finding-flags span { display:inline-flex; align-items:center; gap:4px; }
.finding-flags .yes { color:var(--success-strong); background:var(--success-soft); }
.finding-flags .no { color:var(--ink-500); background:#efedf3; }

/* Canvas em alta densidade. A rasterização real é configurada no app.js. */
.chart-wrap canvas, .donut-wrap canvas { display:block; width:100%; height:100%; image-rendering:auto; }
.chart-wrap { position:relative; overflow:hidden; }

@media (max-width: 1320px) {
  .detail-grid { grid-template-columns:minmax(0,1.4fr) minmax(330px,.75fr); }
  .analysis-metrics .metric-copy > strong { font-size:21px; }
}
@media (max-width: 1120px) {
  .analysis-entry-grid, .detail-grid { grid-template-columns:1fr; }
  .analysis-side { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); }
  .detail-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
  .detail-side .normalized-card { grid-row:span 2; }
  .analysis-metrics.metrics-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .analysis-side, .detail-side { grid-template-columns:1fr; }
  .analysis-metrics.metrics-grid.four { grid-template-columns:1fr; }
  .decision-banner { align-items:stretch; }
  .decision-banner-meta { display:grid; grid-template-columns:1fr; width:100%; }
  .decision-banner-meta span { min-width:0; }
  .legal-finding-meta, .identity-data { grid-template-columns:1fr; }
  .demo-scenarios { grid-template-columns:1fr; }
  .timeline-heading { gap:8px; }
}

/* ========================================================================== 
   NEXO 0.2.0 · UAT PF/PJ e Processos Civis sandbox
   Mantém o menu lateral existente sem alterações estruturais.
   ========================================================================== */
.analytics-filter-card { margin-bottom:16px; padding:16px; }
.analytics-filter-form { display:grid; grid-template-columns:repeat(7,minmax(112px,1fr)) minmax(220px,1.45fr) auto; gap:10px; align-items:end; }
.analytics-filter-form label { display:flex; min-width:0; flex-direction:column; gap:5px; }
.analytics-filter-form label > span { color:var(--ink-400); font-size:8px; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.analytics-filter-form input,
.analytics-filter-form select { width:100%; height:38px; padding:0 10px; color:var(--ink-800); border:1px solid var(--line); border-radius:10px; background:#fff; outline:0; font-size:10px; font-weight:650; transition:.18s var(--ease); }
.analytics-filter-form input:focus,
.analytics-filter-form select:focus { border-color:var(--purple-400); box-shadow:0 0 0 3px rgba(113,56,237,.10); }
.analytics-filter-search { position:relative; justify-content:flex-end; }
.analytics-filter-search .icon { position:absolute; left:11px; bottom:10px; color:var(--ink-400); }
.analytics-filter-search input { padding-left:35px; }
.analytics-filter-actions { display:flex; align-items:center; gap:8px; min-height:38px; }
.analytics-filter-actions .button { min-height:38px; white-space:nowrap; }
.analytics-period-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin-bottom:16px; }
.analytics-period-strip > div { padding:15px 17px; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(180deg,#fff,#fbfaff); box-shadow:var(--shadow-xs); }
.analytics-period-strip strong { display:block; margin-top:2px; color:var(--ink-900); font-size:13px; }
.analytics-period-strip small { display:block; margin-top:3px; color:var(--ink-400); font-size:8.5px; }
.analytics-metrics .metric-card { min-height:118px; }
.analytics-primary-grid { grid-template-columns:minmax(0,1.6fr) minmax(310px,.72fr); }
.analytics-secondary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.analytics-table-grid { grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); }
.analytics-chart-card { overflow:hidden; border-color:#e6e0f2; background:linear-gradient(180deg,#fff 0%,#fdfbff 100%); box-shadow:0 12px 38px rgba(41,20,78,.055); }
.analytics-chart-card .card-header { min-height:72px; }
.analytics-chart-wrap { height:310px; padding:6px 22px 18px; }
.chart-wrap.horizontal { height:315px; padding:8px 20px 22px; }
.analytics-donut-card { min-height:390px; }
.analytics-donut-card .donut-layout { min-height:292px; align-items:center; justify-content:center; }
.chart-actions { display:flex; align-items:center; gap:11px; flex-wrap:wrap; justify-content:flex-end; }
.chart-legend.interactive { display:flex; align-items:center; gap:7px; }
.chart-legend.interactive button { display:flex; align-items:center; gap:5px; min-height:29px; padding:0 9px; color:var(--ink-600); border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; font-size:8.5px; font-weight:750; transition:.18s; }
.chart-legend.interactive button:hover { color:var(--purple-700); border-color:var(--purple-200); background:var(--purple-50); }
.chart-legend.interactive button.muted { opacity:.42; filter:grayscale(.35); }
.chart-legend i,
.chart-legend.interactive i { display:block; width:8px; height:8px; border-radius:50%; }
.legend-danger { background:var(--danger); }
.legend-review { background:var(--warning); }
.chart-tooltip { position:fixed; z-index:300; display:none; min-width:190px; max-width:260px; padding:11px 12px; color:#fff; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(23,8,51,.94); box-shadow:0 16px 44px rgba(20,7,48,.26); pointer-events:none; backdrop-filter:blur(12px); }
.chart-tooltip.active { display:block; }
.chart-tooltip strong { display:block; margin-bottom:8px; font-size:10.5px; }
.chart-tooltip span { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:4px 0; border-top:1px solid rgba(255,255,255,.08); }
.chart-tooltip small { color:rgba(255,255,255,.58); font-size:8px; }
.chart-tooltip b { color:#fff; font-size:9px; font-weight:850; text-align:right; }
.stage-breakdown.premium { padding:4px 22px 24px; }
.stage-breakdown.premium > div { display:grid; grid-template-columns:minmax(100px,1fr) 42px minmax(110px,1.2fr) 42px; align-items:center; gap:10px; padding:12px; background:#fff; }
.stage-breakdown.premium span { color:var(--ink-600); font-size:9.5px; font-weight:700; }
.stage-breakdown.premium strong { color:var(--ink-900); font-size:14px; text-align:right; }
.stage-breakdown.premium small { color:var(--ink-400); font-size:8px; text-align:right; }
.stage-breakdown.premium .progress-track { height:7px; }
.progress-track > i { display:block; height:100%; min-width:1px; border-radius:inherit; background:linear-gradient(90deg,var(--purple-700),var(--purple-300)); }
.analytics-ranking { min-height:360px; }
.ranking-list.rich { padding-bottom:2px; }
.ranking-list.rich > div { grid-template-columns:34px minmax(0,1fr) minmax(70px,auto); padding:9px 0; border-bottom:1px solid #f1eef5; }
.ranking-list.rich > div:last-child { border-bottom:0; }
.ranking-list.rich strong { display:block; overflow:hidden; color:var(--ink-800); font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }
.ranking-list.rich small { font-size:8px; }
.ranking-count { display:flex; align-items:flex-end; flex-direction:column; gap:1px; }
.ranking-count b { color:var(--ink-900); font-size:13px; }
.ranking-count small { font-size:8px; }
.segment-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:7px 0 2px; }
.segment-list > div { padding:13px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.segment-list span { display:block; color:var(--ink-500); font-size:8px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.segment-list strong { display:block; margin-top:5px; color:var(--ink-900); font-size:24px; letter-spacing:-.04em; }
.segment-list small { display:block; margin-top:2px; color:var(--ink-400); font-size:8.5px; }
.analytics-export-table .card-header { gap:16px; }
.table-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.table-actions input { min-width:220px; height:34px; padding:0 11px; color:var(--ink-700); border:1px solid var(--line); border-radius:9px; background:#fff; outline:0; font-size:9px; }
.table-actions input:focus { border-color:var(--purple-400); box-shadow:0 0 0 3px rgba(113,56,237,.09); }
.analytics-insight { margin-top:2px; }
.analytics-insight h3 { font-size:14px; }
.analytics-insight p { font-size:10px; line-height:1.6; }

@media (max-width: 1440px) {
  .analytics-filter-form { grid-template-columns:repeat(4,minmax(120px,1fr)); }
  .analytics-filter-actions { justify-content:flex-end; }
}
@media (max-width: 1180px) {
  .analytics-primary-grid,
  .analytics-secondary-grid,
  .analytics-table-grid,
  .analytics-period-strip { grid-template-columns:1fr; }
  .analytics-donut-card .donut-layout { justify-content:flex-start; }
}
@media (max-width: 780px) {
  .analytics-filter-form { grid-template-columns:1fr; }
  .analytics-period-strip { gap:9px; }
  .chart-actions { align-items:flex-start; flex-direction:column; }
  .stage-breakdown.premium > div { grid-template-columns:1fr auto; }
  .stage-breakdown.premium .progress-track { grid-column:1 / -1; }
  .segment-list { grid-template-columns:1fr; }
  .table-actions { justify-content:stretch; }
  .table-actions input,
  .table-actions .button { flex:1; min-width:0; }
}

/* V0.2.0 — UAT PF/PJ e Processos Civis sandbox */
.integration-test-form { display:flex; align-items:center; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.integration-test-form small { color:var(--ink-400); font-size:7.5px; line-height:1.45; }
.integration-test-form .button { flex:0 0 auto; }
.legal-probe-form { align-items:flex-end; flex-wrap:wrap; }
.integration-probe-field { display:flex; min-width:210px; flex:1 1 230px; flex-direction:column; gap:5px; }
.integration-probe-field > span { color:var(--ink-500); font-size:7.5px; font-weight:750; }
.integration-probe-field input { width:100%; height:38px; padding:0 11px; color:var(--ink-800); border:1px solid var(--line); border-radius:9px; outline:none; background:#fff; font:inherit; font-size:8.5px; }
.integration-probe-field input:focus { border-color:var(--purple-400); box-shadow:0 0 0 3px rgba(124,76,222,.10); }
.legal-probe-form > small { flex:1 0 100%; }
@media (max-width: 760px) {
  .integration-test-form { align-items:stretch; flex-direction:column; }
  .integration-test-form .button { width:100%; }
}
.integration-proof-card { padding:18px; }
.integration-proof-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.integration-proof-grid span { display:flex; min-width:0; flex-direction:column; padding:9px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface-muted); }
.integration-proof-grid small { color:var(--ink-400); font-size:7px; }
.integration-proof-grid strong { margin-top:2px; overflow:hidden; color:var(--ink-700); font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width: 520px) { .integration-proof-grid { grid-template-columns:1fr; } }

@media (max-width: 720px) { .legal-coverage-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* --------------------------------------------------------------------------
   NEXO Orienta V1 RC1
   Camada incremental: preserva o shell aprovado e adiciona apenas os padrões
   funcionais necessários ao catálogo, casos, billing, suporte e onboarding.
   -------------------------------------------------------------------------- */
.v1-section-space { margin-top:18px; }
.v1-card-body { padding:0 22px 22px; }
.v1-two-column { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:18px; align-items:start; }
.v1-notice, .v1-legal-disclaimer { display:flex; align-items:flex-start; gap:14px; margin-bottom:18px; padding:16px 18px; border:1px solid var(--purple-200); border-radius:var(--radius-lg); background:linear-gradient(135deg,var(--purple-50),#fff); box-shadow:var(--shadow-xs); }
.v1-notice-icon { display:grid; width:42px; height:42px; place-items:center; flex:0 0 auto; color:var(--purple-700); border-radius:13px; background:var(--purple-100); }
.v1-notice strong, .v1-legal-disclaimer strong { color:var(--ink-900); font-size:12px; }
.v1-notice p, .v1-legal-disclaimer p { margin:4px 0 0; color:var(--ink-500); font-size:10.5px; }
.v1-product-selector { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; padding:0 22px 22px; }
.v1-product-option { position:relative; display:flex; min-height:235px; flex-direction:column; gap:10px; padding:17px; border:1px solid var(--line); border-radius:16px; background:#fff; cursor:pointer; transition:.22s var(--ease); }
.v1-product-option:hover { border-color:var(--purple-300); transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.v1-product-option:has(input:checked) { border-color:var(--purple-500); background:linear-gradient(150deg,#fff,var(--purple-50)); box-shadow:0 0 0 3px rgba(27,143,240,.10),var(--shadow-sm); }
.v1-product-option > input { position:absolute; opacity:0; pointer-events:none; }
.v1-product-check { position:absolute; top:14px; right:14px; display:grid; width:25px; height:25px; place-items:center; color:#fff; border:1px solid var(--line); border-radius:50%; background:#fff; opacity:0; transform:scale(.82); transition:.2s; }
.v1-product-option:has(input:checked) .v1-product-check { border-color:var(--purple-650); background:var(--purple-650); opacity:1; transform:scale(1); }
.v1-product-heading { display:flex; align-items:center; gap:8px; padding-right:28px; }
.v1-product-heading strong { color:var(--ink-950); font-size:17px; }
.v1-product-heading em { padding:2px 6px; color:var(--purple-700); border-radius:6px; background:var(--purple-75); font-size:8px; font-style:normal; font-weight:800; }
.v1-product-description { min-height:47px; color:var(--ink-500); font-size:10px; line-height:1.55; }
.v1-product-price { color:var(--purple-800); font-size:20px; font-weight:900; letter-spacing:-.03em; }
.v1-product-price small { display:block; margin-top:2px; color:var(--ink-400); font-size:8.5px; font-weight:650; letter-spacing:0; }
.v1-source-tags, .v1-source-line { display:flex; flex-wrap:wrap; gap:5px; margin-top:auto; }
.v1-source-tags i, .v1-source-line span { display:inline-flex; padding:4px 7px; color:var(--blue); border:1px solid #cfeaff; border-radius:7px; background:var(--blue-soft); font-size:8px; font-style:normal; font-weight:750; }
.v1-source-tags i.disabled, .v1-source-line span.disabled { color:var(--ink-400); border-color:var(--line); background:var(--surface-muted); text-decoration:line-through; }
.v1-quote-card { position:sticky; top:calc(var(--topbar-height) + 20px); }
.v1-quote-price { display:flex; flex-direction:column; gap:2px; padding:14px; border:1px solid var(--purple-100); border-radius:12px; background:var(--purple-50); }
.v1-quote-price span { color:var(--ink-500); font-size:9px; font-weight:750; }
.v1-quote-price strong { color:var(--purple-800); font-size:24px; letter-spacing:-.04em; }
.v1-quote-price small { color:var(--ink-400); font-size:8.5px; }
.v1-quote-section { padding-top:14px; }
.v1-quote-section > strong { display:block; margin-bottom:7px; color:var(--ink-800); font-size:9.5px; }
.v1-quote-section > div { display:flex; flex-wrap:wrap; gap:5px; }
.v1-quote-section > div span { padding:4px 7px; color:var(--blue); border-radius:7px; background:var(--blue-soft); font-size:8px; font-weight:750; }
.v1-quote-section > div span.disabled { color:var(--ink-400); background:var(--surface-muted); }
.v1-quote-section ul { display:flex; flex-direction:column; gap:5px; margin:0; padding:0; list-style:none; }
.v1-quote-section li { position:relative; padding-left:13px; color:var(--ink-500); font-size:8.8px; }
.v1-quote-section li::before { content:""; position:absolute; top:6px; left:1px; width:4px; height:4px; border-radius:50%; background:var(--success); }
.v1-quote-section.warning li::before { background:var(--warning); }
.v1-sla { margin:14px 0 0; padding-top:10px; color:var(--ink-400); border-top:1px solid var(--line); font-size:8.5px; }
.v1-participant-list { display:flex; flex-direction:column; gap:9px; padding:0 22px 22px; }
.v1-participant-row { display:grid; grid-template-columns:28px 1.05fr 1.45fr .8fr .85fr 32px; gap:9px; align-items:end; padding:13px; border:1px solid var(--line); border-radius:13px; background:var(--surface-muted); }
.v1-participant-row.hidden { display:none; }
.v1-participant-number { display:grid; width:27px; height:27px; margin-bottom:8px; place-items:center; color:#fff; border-radius:9px; background:linear-gradient(145deg,var(--purple-700),var(--purple-400)); font-size:9px; font-weight:850; }
.v1-remove-participant { margin-bottom:5px; color:var(--danger); }
.v1-confirm-card { border-color:var(--purple-200); }
.v1-confirm-check { display:flex; align-items:center; gap:9px; cursor:pointer; }
.v1-confirm-check > input { position:absolute; opacity:0; }
.v1-confirm-check > span { display:grid; width:21px; height:21px; place-items:center; flex:0 0 auto; color:transparent; border:1px solid var(--line-strong); border-radius:7px; background:#fff; transition:.18s; }
.v1-confirm-check > input:checked + span { color:#fff; border-color:var(--purple-650); background:var(--purple-650); }
.v1-confirm-check strong { color:var(--ink-800); font-size:10.5px; }
.v1-confirm-check.compact strong { font-size:9px; }
.v1-confirm-card p { margin:9px 0 0 30px; color:var(--ink-500); font-size:9px; }
.v1-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:12px; align-items:end; }
.v1-disclaimer-mini { color:var(--ink-400); font-size:8.5px; }
.v1-band { display:inline-flex; align-items:center; min-height:25px; padding:0 8px; border-radius:7px; font-size:8.5px; font-weight:850; white-space:nowrap; }
.v1-band-favoravel { color:var(--success-strong); background:var(--success-soft); }
.v1-band-favoravel_com_atencao { color:#467a3c; background:#eef8ea; }
.v1-band-requer_revisao { color:var(--review); background:var(--review-soft); }
.v1-band-restrito { color:#a24d13; background:#fff0e7; }
.v1-band-desfavoravel { color:var(--danger-strong); background:var(--danger-soft); }
.v1-case-hero, .v1-onboarding-hero, .v1-api-hero { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:18px; padding:24px 26px; color:#fff; border-radius:var(--radius-xl); background:radial-gradient(circle at 90% 5%,rgba(84,192,251,.28),transparent 30%),linear-gradient(145deg,var(--purple-950),var(--purple-800)); box-shadow:var(--shadow-md); }
.v1-case-hero h2, .v1-onboarding-hero h2, .v1-api-hero h2 { margin:3px 0 4px; font-size:22px; }
.v1-case-hero p, .v1-onboarding-hero p, .v1-api-hero p { max-width:620px; margin:0; color:rgba(255,255,255,.72); font-size:10px; }
.v1-case-hero .card-eyebrow, .v1-onboarding-hero .card-eyebrow, .v1-api-hero .card-eyebrow { color:var(--purple-300); }
.v1-case-hero-meta { display:grid; grid-template-columns:repeat(3,auto); gap:7px; }
.v1-case-hero-meta span { display:flex; min-width:86px; flex-direction:column; padding:9px 11px; border:1px solid rgba(255,255,255,.13); border-radius:10px; background:rgba(255,255,255,.06); color:rgba(255,255,255,.62); font-size:7.5px; text-transform:uppercase; }
.v1-case-hero-meta strong { margin-top:2px; color:#fff; font-size:10px; text-transform:none; }
.v1-result-card { display:grid; grid-template-columns:260px 1fr; overflow:hidden; margin-bottom:18px; }
.v1-result-band { display:flex; min-height:190px; flex-direction:column; justify-content:center; padding:25px; color:#fff; }
.v1-band-bg-favoravel { background:linear-gradient(145deg,#086b4a,#19a573); }
.v1-band-bg-favoravel_com_atencao { background:linear-gradient(145deg,#487a3f,#77a868); }
.v1-band-bg-requer_revisao { background:linear-gradient(145deg,#8c570a,#c47a0c); }
.v1-band-bg-restrito { background:linear-gradient(145deg,#904417,#cf702c); }
.v1-band-bg-desfavoravel { background:linear-gradient(145deg,#8d1831,#cf3755); }
.v1-result-band span { font-size:9px; font-weight:750; text-transform:uppercase; }
.v1-result-band strong { margin-top:7px; font-size:25px; line-height:1.08; }
.v1-result-band small { margin-top:10px; color:rgba(255,255,255,.72); font-size:8px; }
.v1-result-copy { padding:24px; }
.v1-result-copy h3 { margin:0; color:var(--ink-900); font-size:17px; }
.v1-result-copy > p { color:var(--ink-500); font-size:10px; }
.v1-caveat { display:flex; align-items:flex-start; gap:7px; margin-top:7px; padding:8px 10px; color:var(--warning); border-radius:9px; background:var(--warning-soft); font-size:8.8px; }
.v1-processing-state { display:flex; align-items:center; gap:13px; margin-bottom:18px; padding:20px; }
.v1-processing-state h3 { margin:0; font-size:14px; }
.v1-processing-state p { margin:4px 0 0; color:var(--ink-500); font-size:9.5px; }
.v1-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.v1-key-value { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.v1-key-value:last-child { border-bottom:0; }
.v1-key-value span { color:var(--ink-500); font-size:9px; }
.v1-key-value strong { color:var(--ink-800); font-size:9.5px; text-align:right; }
.v1-reprocess-timer { display:flex; flex-direction:column; align-items:center; padding:15px; margin-bottom:10px; border-radius:12px; background:var(--surface-muted); }
.v1-reprocess-timer strong { color:var(--purple-800); font-size:25px; letter-spacing:.02em; }
.v1-reprocess-timer span { color:var(--ink-400); font-size:8.5px; }
.v1-orientation-list { display:flex; flex-direction:column; gap:13px; padding:0 22px 22px; }
.v1-orientation-item { padding:17px; border:1px solid var(--line); border-radius:14px; background:var(--surface-warm); }
.v1-orientation-item > header { display:flex; align-items:flex-start; justify-content:space-between; gap:13px; }
.v1-orientation-item > header > div { display:grid; grid-template-columns:auto 1fr; gap:2px 8px; align-items:center; }
.v1-orientation-item > header strong { color:var(--ink-900); font-size:11px; }
.v1-orientation-item > header small { grid-column:2; color:var(--ink-400); font-size:8.5px; }
.v1-orientation-item > p { color:var(--ink-500); font-size:9.5px; }
.v1-factor-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.v1-factor { min-height:105px; padding:11px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.v1-factor > span { display:block; color:var(--ink-400); font-size:7.5px; font-weight:750; text-transform:uppercase; }
.v1-factor > strong { display:block; margin-top:4px; color:var(--ink-800); font-size:9.5px; }
.v1-factor > p { margin:4px 0; color:var(--ink-500); font-size:8px; }
.v1-factor > small { color:var(--warning); font-size:7.5px; }
.v1-factor-positive { border-left:3px solid var(--success); }
.v1-factor-neutral { border-left:3px solid var(--ink-300,#b8b3c0); }
.v1-factor-negative { border-left:3px solid var(--danger); }
.v1-legal-disclaimer { margin-top:18px; margin-bottom:0; border-color:var(--line); background:#fff; }
.v1-products-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.v1-product-card { overflow:hidden; }
.v1-product-card > header { min-height:215px; padding:22px; color:#fff; background:radial-gradient(circle at 90% 12%,rgba(84,192,251,.25),transparent 28%),linear-gradient(145deg,var(--purple-950),var(--purple-800)); }
.v1-product-card > header .card-eyebrow { color:var(--purple-300); }
.v1-product-card > header > div { display:flex; align-items:center; gap:9px; }
.v1-product-card h2 { margin:4px 0; font-size:23px; }
.v1-product-card > header > div span { padding:3px 6px; border-radius:6px; background:rgba(255,255,255,.12); font-size:8px; }
.v1-product-card > header p { min-height:56px; color:rgba(255,255,255,.7); font-size:9.5px; }
.v1-product-card-price { display:block; margin-top:15px; font-size:22px; }
.v1-product-card-price small { display:block; color:rgba(255,255,255,.62); font-size:8px; }
.v1-product-card h3 { margin:0 0 8px; color:var(--ink-800); font-size:10px; }
.v1-source-matrix-row { margin-bottom:8px; padding:10px; border:1px solid var(--line); border-radius:10px; }
.v1-source-matrix-row > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.v1-source-matrix-row strong { color:var(--ink-800); font-size:9.5px; }
.v1-source-matrix-row small { display:block; color:var(--ink-400); font-size:7.5px; }
.v1-source-matrix-row > span { float:right; margin-top:-23px; color:var(--success); font-size:7.5px; font-weight:800; }
.v1-source-matrix-row > p { margin:6px 0 0; color:var(--ink-500); font-size:7.8px; }
.v1-source-matrix-row > em { display:block; margin-top:4px; color:var(--warning); font-size:7.3px; font-style:normal; }
.v1-source-matrix-row.disabled { opacity:.62; background:var(--surface-muted); }
.v1-product-columns { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px; }
.v1-product-columns ul { display:flex; flex-direction:column; gap:6px; margin:0; padding:0; list-style:none; }
.v1-product-columns li { display:flex; gap:5px; color:var(--ink-500); font-size:8px; }
.v1-product-columns li svg { color:var(--success); }
.v1-product-columns > div:last-child li svg { color:var(--warning); }
.v1-billing-layout, .v1-support-layout { grid-template-columns:1fr 1fr; }
.v1-textarea { width:100%; resize:vertical; padding:12px; color:var(--ink-900); border:1px solid var(--line-strong); border-radius:10px; outline:0; background:#fff; font-size:11px; }
.v1-textarea:focus { border-color:var(--purple-400); box-shadow:0 0 0 4px rgba(21,119,207,.10); }
.v1-ticket-list, .v1-admin-ticket-list { display:flex; max-height:690px; flex-direction:column; gap:10px; overflow:auto; padding:0 22px 22px; }
.v1-ticket-list article, .v1-admin-ticket-list article { padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--surface-muted); }
.v1-ticket-list header, .v1-admin-ticket-list header > div { display:flex; align-items:center; gap:8px; }
.v1-ticket-list header small, .v1-admin-ticket-list header small { margin-left:auto; color:var(--ink-400); font-size:8px; }
.v1-ticket-list h4, .v1-admin-ticket-list h4 { margin:9px 0 3px; color:var(--ink-800); font-size:10.5px; }
.v1-ticket-list p, .v1-admin-ticket-list p { margin:0; color:var(--ink-500); font-size:8.8px; white-space:pre-wrap; }
.v1-ticket-list footer, .v1-admin-ticket-list footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:9px; padding-top:8px; color:var(--ink-400); border-top:1px solid var(--line); font-size:7.8px; }
.v1-admin-ticket-list footer form { display:flex; gap:5px; align-items:center; }
.v1-admin-ticket-list footer select, .v1-admin-ticket-list footer input { height:31px; padding:0 7px; border:1px solid var(--line); border-radius:7px; background:#fff; font-size:8px; }
.v1-admin-ticket-list footer input { width:240px; }
.v1-progress-ring { --value:calc(var(--progress) * 1%); display:grid; width:105px; height:105px; place-items:center; flex:0 0 auto; border-radius:50%; background:radial-gradient(closest-side,var(--purple-950) 72%,transparent 73% 99%),conic-gradient(var(--purple-300) var(--value),rgba(255,255,255,.16) 0); }
.v1-progress-ring strong { font-size:21px; }
.v1-progress-ring span { margin-top:-30px; color:rgba(255,255,255,.65); font-size:7.5px; }
.v1-onboarding-steps { display:flex; flex-direction:column; gap:8px; padding:0 22px 22px; }
.v1-onboarding-steps article { display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; padding:12px; border:1px solid var(--line); border-radius:11px; background:var(--surface-muted); }
.v1-onboarding-steps article.complete { border-color:#c8ebde; background:var(--success-soft); }
.v1-step-number { display:grid; width:30px; height:30px; place-items:center; color:var(--purple-700); border-radius:9px; background:var(--purple-100); font-size:9px; font-weight:850; }
.v1-onboarding-steps article.complete .v1-step-number { color:#fff; background:var(--success); }
.v1-onboarding-steps strong { color:var(--ink-800); font-size:9.5px; }
.v1-onboarding-steps small { display:block; color:var(--ink-400); font-size:7.8px; }
.v1-onboarding-steps form { display:flex; gap:6px; }
.v1-onboarding-steps form input { width:230px; height:33px; padding:0 8px; border:1px solid var(--line); border-radius:8px; font-size:8px; }
.v1-step-done { display:flex; align-items:center; gap:4px; color:var(--success-strong); font-size:8px; font-weight:800; }
.v1-api-hero .status-badge { color:#fff; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.12); }
.v1-code { overflow:auto; margin:0; padding:14px; color:#d9f2ff; border-radius:11px; background:#04192c; font-size:8.5px; line-height:1.65; }
.v1-code-note { margin:9px 0 0; color:var(--ink-500); font-size:8.5px; }
.v1-api-products { display:flex; flex-wrap:wrap; gap:9px; }
.v1-api-products > span { display:flex; min-width:180px; flex:1; flex-direction:column; padding:11px; border:1px solid var(--line); border-radius:10px; background:var(--surface-muted); }
.v1-api-products strong { color:var(--ink-800); font-size:9.5px; }
.v1-api-products small { color:var(--ink-400); font-size:7.8px; }
.v1-secret-callout { margin-bottom:18px; padding:18px; color:#fff; border-radius:var(--radius-lg); background:linear-gradient(145deg,var(--purple-950),var(--purple-700)); box-shadow:var(--shadow-md); }
.v1-secret-callout > div { display:flex; align-items:center; gap:10px; }
.v1-secret-callout p { margin:2px 0 0; color:rgba(255,255,255,.7); font-size:8.5px; }
.v1-secret-callout label { display:grid; grid-template-columns:110px 1fr auto; gap:7px; align-items:center; margin-top:10px; font-size:8px; }
.v1-secret-callout code { overflow:auto; padding:8px; border-radius:8px; background:rgba(0,0,0,.22); white-space:nowrap; }
.v1-secret-callout button { padding:7px 9px; color:var(--purple-950); border:0; border-radius:7px; background:#fff; font-size:8px; font-weight:800; cursor:pointer; }
.v1-secret-callout > small { display:block; margin-top:8px; color:rgba(255,255,255,.6); font-size:7.5px; }
.v1-admin-product-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 22px 22px; }
.v1-admin-product-list > form { padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--surface-muted); }
.v1-admin-product-list header, .v1-admin-product-list footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.v1-admin-product-list header { margin-bottom:11px; }
.v1-admin-product-list header strong { color:var(--ink-800); font-size:11px; }
.v1-admin-product-list header small { display:block; color:var(--ink-400); font-size:7.5px; }
.v1-admin-product-list footer { margin-top:11px; padding-top:9px; border-top:1px solid var(--line); }
.v1-switch { display:flex; align-items:center; gap:5px; color:var(--ink-500); font-size:8px; cursor:pointer; }
.v1-switch input { position:absolute; opacity:0; }
.v1-switch span { position:relative; width:30px; height:17px; border-radius:20px; background:#d7d3dc; transition:.18s; }
.v1-switch span::after { content:""; position:absolute; top:3px; left:3px; width:11px; height:11px; border-radius:50%; background:#fff; transition:.18s; }
.v1-switch input:checked + span { background:var(--success); }
.v1-switch input:checked + span::after { transform:translateX(13px); }
.v1-checkbox-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; padding:9px; border:1px solid var(--line); border-radius:9px; }
.v1-checkbox-grid > strong { grid-column:1/-1; color:var(--ink-700); font-size:8.5px; }
.v1-checkbox-grid label { display:flex; align-items:center; gap:5px; color:var(--ink-500); font-size:7.8px; }

@media (max-width:1180px) {
  .v1-product-selector, .v1-products-grid, .v1-admin-product-list { grid-template-columns:1fr 1fr; }
  .v1-participant-row { grid-template-columns:28px 1fr 1.2fr; }
  .v1-participant-row .field:nth-of-type(3), .v1-participant-row .field:nth-of-type(4) { grid-column:auto; }
  .v1-remove-participant { align-self:center; }
  .v1-summary-grid { grid-template-columns:1fr 1fr; }
  .v1-factor-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:860px) {
  .v1-two-column, .v1-billing-layout, .v1-support-layout { grid-template-columns:1fr; }
  .v1-quote-card { position:static; }
  .v1-product-selector, .v1-products-grid, .v1-admin-product-list { grid-template-columns:1fr; }
  .v1-product-option { min-height:auto; }
  .v1-summary-grid { grid-template-columns:1fr; }
  .v1-result-card { grid-template-columns:1fr; }
  .v1-result-band { min-height:150px; }
  .v1-case-hero, .v1-onboarding-hero, .v1-api-hero { align-items:flex-start; flex-direction:column; }
  .v1-case-hero-meta { width:100%; grid-template-columns:repeat(3,1fr); }
  .v1-factor-grid { grid-template-columns:1fr; }
  .v1-filter-grid { grid-template-columns:1fr 1fr; }
  .v1-onboarding-steps article { grid-template-columns:34px 1fr; }
  .v1-onboarding-steps article form, .v1-step-done { grid-column:2; }
  .v1-admin-ticket-list footer { align-items:flex-start; flex-direction:column; }
  .v1-admin-ticket-list footer form { width:100%; flex-wrap:wrap; }
  .v1-admin-ticket-list footer input { flex:1; width:auto; }
}
@media (max-width:620px) {
  .v1-card-body { padding-right:15px; padding-left:15px; }
  .v1-product-selector, .v1-participant-list, .v1-orientation-list, .v1-onboarding-steps, .v1-ticket-list, .v1-admin-ticket-list, .v1-admin-product-list { padding-right:15px; padding-left:15px; }
  .v1-participant-row { grid-template-columns:28px 1fr; }
  .v1-participant-row .field { grid-column:2; }
  .v1-remove-participant { grid-column:1; grid-row:2; align-self:start; }
  .v1-filter-grid { grid-template-columns:1fr; }
  .v1-case-hero-meta { grid-template-columns:1fr; }
  .v1-product-columns { grid-template-columns:1fr; }
  .v1-confirm-card .form-footer { align-items:stretch; flex-direction:column; }
  .v1-secret-callout label { grid-template-columns:1fr; }
  .v1-onboarding-steps form { align-items:stretch; flex-direction:column; }
  .v1-onboarding-steps form input { width:100%; }
  .v1-admin-product-list .form-grid.three { grid-template-columns:1fr; }
}

/* NEXO RC2 — dashboard personalizável sem hero/logo duplicado */
.v1-dashboard-builder{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:18px;align-items:start;margin:18px 0}
.v1-chart-builder-card{position:sticky;top:calc(var(--topbar-height) + 18px)}
.v1-custom-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v1-custom-chart-card{min-width:0;overflow:hidden}
.v1-custom-chart-body{min-height:260px;padding:8px 18px 4px}
.v1-custom-chart-body canvas{display:block;width:100%;height:250px}
.v1-custom-chart-footer{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 18px 15px;color:var(--ink-400);font-size:8px;border-top:1px solid var(--line)}
.v1-chart-empty{display:grid;min-height:235px;place-items:center;align-content:center;text-align:center;padding:28px;color:var(--ink-500)}
.v1-chart-empty>div{display:grid;width:54px;height:54px;place-items:center;margin-bottom:10px;color:var(--purple-700);border-radius:16px;background:var(--purple-75)}
.v1-chart-empty strong{color:var(--ink-800);font-size:13px}.v1-chart-empty p{max-width:380px;margin:7px 0 0;font-size:9px;line-height:1.55}
.v1-dashboard-shortcuts{display:grid;gap:10px;padding:16px}
.v1-dashboard-shortcuts a{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;color:var(--ink-700);background:#fff;transition:.18s}
.v1-dashboard-shortcuts a:hover{border-color:var(--purple-200);background:var(--purple-50);transform:translateY(-1px)}
.v1-dashboard-shortcuts a>svg{color:var(--purple-650);flex:0 0 auto}.v1-dashboard-shortcuts span{display:flex;flex-direction:column}.v1-dashboard-shortcuts strong{font-size:10px}.v1-dashboard-shortcuts small{margin-top:2px;color:var(--ink-400);font-size:8px}
@media (max-width:1100px){.v1-dashboard-builder{grid-template-columns:1fr}.v1-chart-builder-card{position:static}.v1-custom-charts-grid{grid-template-columns:1fr}}
@media (max-width:680px){.v1-custom-chart-body{min-height:225px;padding-inline:10px}.v1-custom-chart-body canvas{height:215px}}
.v1-onboarding-steps article.current{border-color:var(--purple-200);background:var(--purple-50)}
.v1-step-note{margin:5px 0 0;color:var(--ink-500);font-size:8px;line-height:1.45}
.v1-onboarding-response{display:grid;min-width:260px;gap:7px}.v1-onboarding-response>input{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}.v1-onboarding-response>div{display:flex;gap:7px;justify-content:flex-end}
.v1-step-readonly{color:var(--ink-400);font-size:8px;font-weight:700}
@media(max-width:760px){.v1-onboarding-response{min-width:100%;grid-column:1/-1}.v1-onboarding-response>div{justify-content:flex-start;flex-wrap:wrap}}
.v1-admin-invoice-list{display:grid;gap:7px;padding:0 18px 18px}.v1-admin-invoice-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink-700)}.v1-admin-invoice-list a span{display:flex;flex-direction:column}.v1-admin-invoice-list small{color:var(--ink-400);font-size:8px}.v1-admin-invoice-list b{font-size:9px}
.v1-admin-onboarding-list{display:grid;gap:10px;padding:0 18px 18px}.v1-admin-onboarding-list>form{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.v1-admin-step-head{display:flex;align-items:center;gap:10px;margin-bottom:11px}.v1-admin-step-head>span:first-child{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--purple-75);color:var(--purple-700);font-weight:850}.v1-admin-step-head>div{display:flex;min-width:0;flex:1;flex-direction:column}.v1-admin-step-head strong{font-size:10px}.v1-admin-step-head small{color:var(--ink-400);font-size:7.5px}.v1-admin-onboarding-list footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
@media(max-width:680px){.v1-admin-onboarding-list footer{align-items:flex-start;flex-direction:column}}

/* RC3 · governança administrativa e componentes operacionais */
.v1-invoice-admin-row{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.v1-invoice-admin-row>a{flex:1;border:0!important;padding:6px 8px!important;min-width:0}
.v1-invoice-admin-row form{margin:0;flex:0 0 auto}
.v1-admin-engine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px}
.v1-engine-admin-card{padding:16px;display:grid;gap:14px}
.v1-engine-admin-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.v1-engine-admin-card>header>div{display:grid;gap:4px;min-width:0}
.v1-engine-admin-card textarea{min-height:260px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45}
.v1-engine-admin-card footer{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media(max-width:900px){.v1-admin-engine-grid{grid-template-columns:1fr}.v1-invoice-admin-row{align-items:stretch;flex-direction:column}.v1-invoice-admin-row form,.v1-invoice-admin-row form button{width:100%}}

/* NEXO RC5 · catálogo legível de retornos/capacidades por operação */
.v1-operation-returns{display:grid;gap:8px;margin:12px 0 4px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-muted)}
.v1-operation-returns>.help-text{margin:0;color:var(--ink-600)}
.v1-capability-tags{display:flex;flex-wrap:wrap;gap:7px}
.v1-capability-tag{display:inline-flex;max-width:100%;flex-direction:column;gap:2px;padding:7px 9px;border:1px solid var(--purple-150);border-radius:9px;background:#fff;color:var(--ink-700)}
.v1-capability-tag b{font-size:8px;line-height:1.25}
.v1-capability-tag small{overflow:hidden;max-width:260px;color:var(--ink-400);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:6.8px;text-overflow:ellipsis;white-space:nowrap}
.v1-operation-restrictions{display:grid;gap:4px;margin:0;padding-left:17px;color:var(--warning-700,#8a4b08);font-size:7.5px;line-height:1.45}
@media(max-width:620px){.v1-capability-tag{width:100%}.v1-capability-tag small{max-width:100%;white-space:normal;overflow-wrap:anywhere}}

/* FLOAT NEXO RC6 — layout objetivo, governança e acessibilidade */
.rc6-list-summary,.rc6-brand-strip,.rc6-onboarding-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 20px;padding:22px 24px;border:1px solid var(--border,#dfe7ef);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f7f8ff 100%);box-shadow:0 12px 35px rgba(7,30,54,.06)}
.rc6-list-summary h2,.rc6-brand-strip h2,.rc6-onboarding-summary h2{margin:4px 0 6px}.rc6-list-summary p,.rc6-brand-strip p,.rc6-onboarding-summary p{margin:0;color:var(--muted,#617184)}
.rc6-brand-strip{border-left:5px solid #5b2fca}.rc6-brand-mark{display:grid;place-items:center;min-width:80px;min-height:80px;border-radius:20px;background:#eef1ff;color:#5023bd;font-weight:800;font-size:28px}
.rc6-document-links{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.rc6-document-links a{font-weight:700;color:#4b1bb7}
.rc6-overview-list,.rc6-list-stack,.rc6-expand-list,.rc6-contract-list{display:grid;gap:10px}.rc6-overview-list>article,.rc6-list-stack>article,.rc6-contract-list>article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(130px,auto);gap:16px;align-items:center;padding:15px 17px;border:1px solid #e4e9f0;border-radius:14px;background:#fff}.rc6-overview-list strong,.rc6-list-stack strong{font-size:1.03rem}.rc6-overview-list small,.rc6-list-stack small{display:block;margin-top:4px;color:#6d7a8a}
.rc6-overview-list-card{padding:0;overflow:hidden}.rc6-overview-list-card>.card-header{margin:0;padding:20px}.rc6-overview-list-card .rc6-overview-list{padding:0 20px 20px}
.rc6-two-column-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.rc6-form-stack{display:grid;gap:15px}.rc6-fieldset{margin:0;padding:15px;border:1px solid #e1e7ef;border-radius:14px}.rc6-fieldset legend{padding:0 7px;font-weight:800;color:#25364a}.rc6-check-list{display:grid;gap:8px;max-height:260px;overflow:auto}.rc6-check-list.compact{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.rc6-check-list label,.rc6-share-list label{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #e7eaf1;border-radius:11px;cursor:pointer;background:#fff}.rc6-check-list label:hover,.rc6-share-list label:hover{border-color:#9d84dc;background:#faf9ff}.rc6-check-list input,.rc6-share-list input{margin-top:3px}.rc6-check-list small,.rc6-share-list small{display:block;color:#6b7686;margin-top:2px}
.rc6-confirm-line{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;background:#f8f6ff;border:1px solid #e2dafa;font-size:.9rem}.rc6-secret-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rc6-secret-grid label{display:grid;gap:5px}.rc6-secret-grid code{word-break:break-all}.rc6-api-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}.rc6-api-flow article{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid #e2e7ef;border-radius:14px;background:#fff}.rc6-api-flow article>span{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#4b1bb7;color:#fff;font-weight:800}.rc6-api-flow small{display:block;color:#6d7988;margin-top:3px}.rc6-doc-stack{display:grid;gap:18px}.rc6-plain-list{display:grid;gap:7px;margin:0;padding-left:20px;color:#526174}.rc6-chip-wrap,.rc6-action-row{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.rc6-action-column{display:flex;flex-direction:column;gap:7px;align-items:stretch}.rc6-action-column form{margin:0}.rc6-action-column button{width:100%}
.rc6-event-list,.rc6-timeline{display:grid;gap:0;padding:4px 20px 20px}.rc6-event-list article,.rc6-timeline>article{position:relative;display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #edf0f4}.rc6-event-dot,.rc6-timeline-dot{width:11px;height:11px;margin-top:6px;border-radius:50%;background:#5b2fca;box-shadow:0 0 0 5px #ede8ff;flex:0 0 auto}.rc6-event-list small{display:block;color:#778392;margin-top:3px}.rc6-event-list p{margin:6px 0 0}
.rc6-progress-orb{--progress:0;position:relative;display:grid;place-items:center;width:126px;height:126px;border-radius:50%;background:conic-gradient(#5b2fca calc(var(--progress)*1%),#e8e8f2 0);flex:0 0 auto}.rc6-progress-orb:before{content:"";position:absolute;inset:10px;background:#fff;border-radius:50%}.rc6-progress-orb strong,.rc6-progress-orb span{position:relative;z-index:1}.rc6-progress-orb strong{font-size:1.8rem;color:#321284}.rc6-progress-orb span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#6f7886}.rc6-onboarding-summary{justify-content:center;text-align:left}.rc6-onboarding-steps{margin-top:0}.rc6-empty-state{text-align:center;padding:50px 24px}.rc6-empty-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 14px;border-radius:22px;background:#f0ecff;color:#4b1bb7}.rc6-empty-state h2{margin:0 0 8px}.rc6-empty-state p{max-width:520px;margin:0 auto 15px;color:#697688}
.rc6-filter-panel,.rc6-search-panel,.rc6-network-panel,.rc6-structural-review{margin-bottom:20px}.rc6-active-filters{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.rc6-active-filters span{padding:6px 9px;border-radius:999px;background:#eef1f6;font-size:.8rem}.rc6-inline-search,.rc6-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.rc6-inline-search input,.rc6-inline-form input,.rc6-inline-form select{min-width:160px}.rc6-billing-filter{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.rc6-reconciliation{padding:14px;border-radius:12px;background:#f2faf6;border:1px solid #cce8d8}.rc6-case-row-detail{padding:16px;background:#f9fafc;border-top:1px solid #e5eaf0}.rc6-kv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rc6-kv-grid>div{padding:12px;border-radius:11px;background:#f6f8fb}.rc6-kv-grid span{display:block;font-size:.76rem;color:#708094;text-transform:uppercase;letter-spacing:.04em}.rc6-kv-grid strong{display:block;margin-top:4px}
.rc6-product-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.rc6-product-column{position:relative;padding:22px;border:1px solid #dfe5ec;border-radius:18px;background:#fff}.rc6-product-column.disabled{background:#f2f3f5;color:#8b929b;filter:grayscale(.75)}.rc6-product-column.disabled .rc6-product-capabilities li{text-decoration:line-through}.rc6-product-column.disabled:after{content:"Indisponível";position:absolute;top:14px;right:14px;padding:5px 9px;border-radius:999px;background:#dfe2e6;color:#6d747c;font-size:.72rem;font-weight:800;text-transform:uppercase}.rc6-product-intro{min-height:120px}.rc6-product-price{font-size:1.6rem;font-weight:900;color:#361189}.disabled .rc6-product-price{color:#8b929b}.rc6-price-hidden{font-size:.85rem;color:#788493}.rc6-product-capabilities{display:grid;gap:7px;padding:0;margin:16px 0 0;list-style:none}.rc6-product-capabilities li:before{content:"✓";color:#269060;font-weight:900;margin-right:8px}.disabled .rc6-product-capabilities li:before{content:"—";color:#8b929b}
.rc6-expense-total{display:flex;flex-direction:column;justify-content:center;padding:13px 15px;border-radius:13px;background:#f4f0ff;border:1px solid #dcd1fb}.rc6-expense-total strong{font-size:1.3rem;color:#40159b}.rc6-expense-total small{color:#6c7584}.rc6-share-list{display:grid;gap:8px;max-height:320px;overflow:auto}.rc6-share-list label{align-items:center}
.rc6-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(4,14,25,.62);backdrop-filter:blur(4px)}.rc6-modal.open{display:flex}.rc6-modal-card{width:min(720px,100%);max-height:90vh;overflow:auto;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.3);padding:22px}.rc6-modal-card>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid #e8ebef;padding-bottom:14px;margin-bottom:18px}.rc6-modal-card>footer,.rc6-modal-card form>footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.rc6-modal-open{overflow:hidden}
.rc6-bi-mode{overflow:hidden}.rc6-bi-fullscreen{position:fixed!important;z-index:1900;inset:18px 250px 18px 18px;margin:0!important;max-width:none!important;max-height:none!important;overflow:auto;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.35);border-radius:18px;padding:20px}.rc6-bi-fullscreen .chart-wrap,.rc6-bi-fullscreen .v1-custom-chart-body{min-height:calc(100vh - 170px)}.rc6-bi-side-nav{position:fixed;z-index:1950;top:18px;right:18px;bottom:18px;width:214px;display:flex;flex-direction:column;gap:7px;padding:12px;border-radius:16px;background:#071e36;box-shadow:0 22px 70px rgba(0,0,0,.35);overflow:auto}.rc6-bi-side-nav button{border:0;border-radius:9px;padding:10px;text-align:left;background:transparent;color:#dce8f5;cursor:pointer}.rc6-bi-side-nav button.active{background:#5b2fca;color:#fff}.rc6-bi-side-nav .rc6-bi-close{background:#fff;color:#071e36;font-weight:800;margin-bottom:8px}.rc6-card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.rc6-provider-pings{display:grid;gap:9px}.rc6-provider-pings form{display:grid;grid-template-columns:minmax(130px,1fr) 100px auto;gap:8px;align-items:end}.rc6-audit-case{display:grid;gap:18px}.rc6-audit-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.rc6-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rc6-check-grid>div{padding:12px;border:1px solid #e5eaf0;border-radius:11px}.rc6-inline-form{justify-content:flex-end}.muted-text{color:#7a8795}.rc6-action-row form{margin:0}
@media(max-width:1050px){.rc6-two-column-equal,.rc6-product-comparison{grid-template-columns:1fr}.rc6-bi-fullscreen{inset:12px}.rc6-bi-side-nav{display:none}.rc6-billing-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.rc6-list-summary,.rc6-brand-strip,.rc6-onboarding-summary{align-items:flex-start;flex-direction:column}.rc6-document-links{align-items:flex-start}.rc6-secret-grid,.rc6-api-flow,.rc6-kv-grid,.rc6-audit-details,.rc6-check-grid{grid-template-columns:1fr}.rc6-check-list.compact{grid-template-columns:1fr}.rc6-billing-filter{grid-template-columns:1fr}.rc6-inline-form{align-items:stretch;flex-direction:column}.rc6-inline-form input,.rc6-inline-form select,.rc6-inline-form button{width:100%}.rc6-progress-orb{margin:auto}}

/* ========================================================================== 
   RC7 · VISUAL CONSISTENCY / FLAT LIST SYSTEM
   Target: one semantic container + separated rows, readable typography,
   compact controls, no card-per-row proliferation.
   ========================================================================== */

:root {
  --rc7-row-icon: 44px;
  --rc7-row-gap: 16px;
  --rc7-row-pad-y: 15px;
  --rc7-row-title: 12.5px;
  --rc7-row-copy: 10.25px;
  --rc7-row-value: 18px;
  --rc7-panel-pad: 22px;
  --rc7-soft-blue: var(--purple-75);
  --rc7-soft-neutral: #f8fafc;
}

/* Core readability */
.card-header h3 { font-size: 16px; }
.card-header p { font-size: 11.5px; line-height: 1.55; }
.card-eyebrow, .page-kicker { font-size: 9.5px; }
.field > span { font-size: 10.5px; }
.field > small, .form-hint { font-size: 9.5px; line-height: 1.5; }
.status-badge { min-height: 24px; padding: 0 9px; font-size: 8.75px; }
.status-pending, .status-awaiting_client, .status-awaiting { color: var(--review); background: var(--review-soft); }
.status-triage, .status-in_progress, .status-waiting_customer { color: var(--blue); background: var(--blue-soft); }
.status-resolved, .status-completed, .status-published { color: var(--success-strong); background: var(--success-soft); }
.status-closed { color: var(--ink-500); background: #f0f3f6; }

.data-table { font-size: 11.5px; }
.data-table th { padding: 11px 14px; font-size: 8.75px; }
.data-table td { padding: 14px; }
.data-table td small { margin-top: 3px; font-size: 9.25px; line-height: 1.45; }
.data-table code { font-size: 9.5px; }
.table-total td { background: #f8fafc; font-weight: 750; }

/* Shared utilities that were referenced but not visually defined in RC6 */
.button-row, .page-action-bar, .rc7-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.page-action-bar { justify-content: flex-end; margin-bottom: 16px; }
.grow { flex: 1 1 auto; min-width: 0; }
.restricted-note { margin: 10px 0 0; padding: 10px 12px; color: var(--ink-500); border-left: 3px solid var(--line-strong); background: #fafbfc; font-size: 9.75px; }
.sticky-tabs { position: sticky; top: calc(var(--topbar-height) + 8px); z-index: 24; }
.section-tabs.sticky-tabs { background: rgba(247,247,251,.95); backdrop-filter: blur(12px); }
.v1-standalone-header { padding: 0 0 15px; }
.v1-standalone-header h3 { font-size: 17px; }
.inline-details, .capability-table-details, .governance-events { border-top: 1px solid var(--line); }
.inline-details > summary, .capability-table-details > summary, .governance-events > summary { cursor: pointer; list-style: none; padding: 12px 0; color: var(--purple-700); font-size: 10.5px; font-weight: 800; }
.inline-details > summary::-webkit-details-marker, .capability-table-details > summary::-webkit-details-marker, .governance-events > summary::-webkit-details-marker { display: none; }

/* Context headers: compact, no duplicated oversized brand block */
.rc7-context-header, .admin-list-hero, .tenant-config-hero, .finance-command-bar, .rc6-list-summary, .rc6-onboarding-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding: 22px 24px;
}
.rc7-context-header h2, .admin-list-hero h2, .tenant-config-hero h2, .finance-command-bar h2, .rc6-list-summary h2, .rc6-onboarding-summary h2 {
  margin: 4px 0 5px;
  color: var(--ink-950);
  font-size: 19px;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.rc7-context-header p, .admin-list-hero p, .tenant-config-hero p, .finance-command-bar p, .rc6-list-summary p, .rc6-onboarding-summary p {
  max-width: 820px;
  margin: 0;
  color: var(--ink-500);
  font-size: 11px;
}
.tenant-config-badges { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }

/* Canonical flat list rows — aligned with provided visual reference */
.admin-overview-list,
.operation-status-list,
.rc6-overview-list,
.finance-summary-list,
.v1-ticket-list,
.v1-admin-ticket-list,
.v1-onboarding-steps,
.rc6-contract-list,
.rc6-list-stack,
.rc6-provider-pings,
.operation-config-list,
.onboarding-admin-list,
.timeline-list {
  display: block;
}

.admin-overview-row,
.operation-status-row,
.rc6-overview-list > a,
.rc6-overview-list > div,
.finance-summary-list > article,
.rc6-contract-list > article,
.rc6-contract-list > div,
.rc6-list-stack > article,
.rc6-list-stack > div {
  display: grid;
  grid-template-columns: var(--rc7-row-icon) minmax(0,1fr) auto;
  align-items: center;
  gap: var(--rc7-row-gap);
  min-height: 72px;
  padding: var(--rc7-row-pad-y) 0;
  color: inherit;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  transition: background .16s var(--ease), padding .16s var(--ease);
}
.admin-overview-row:first-child,
.operation-status-row:first-child,
.rc6-overview-list > :first-child,
.finance-summary-list > article:first-child,
.rc6-contract-list > :first-child,
.rc6-list-stack > :first-child { border-top: 0; }

.operation-status-row:hover,
.rc6-overview-list > a:hover,
.admin-overview-row-linked:hover { background: var(--purple-50); padding-left: 8px; padding-right: 8px; }

.admin-overview-icon,
.operation-status-icon,
.finance-summary-list > article > span:first-child,
.operation-config-icon {
  display: grid;
  width: var(--rc7-row-icon);
  height: var(--rc7-row-icon);
  place-items: center;
  border-radius: 13px;
  color: var(--purple-650);
  background: var(--purple-75);
}
.operation-status-icon.warning { color: var(--warning); background: var(--warning-soft); }
.operation-status-icon.blue { color: var(--blue); background: var(--blue-soft); }
.operation-status-icon.danger { color: var(--danger); background: var(--danger-soft); }

.admin-overview-row > div,
.operation-status-row > div,
.rc6-overview-list > a > div,
.rc6-overview-list > div > div,
.finance-summary-list > article > div,
.rc6-contract-list > :is(article,div) > div,
.rc6-list-stack > :is(article,div) > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.admin-overview-row > div strong,
.operation-status-row > div strong,
.rc6-overview-list > a > div strong,
.rc6-overview-list > div > div strong,
.finance-summary-list > article > div strong,
.rc6-contract-list > :is(article,div) strong,
.rc6-list-stack > :is(article,div) strong {
  color: var(--ink-900);
  font-size: var(--rc7-row-title);
  line-height: 1.35;
}
.admin-overview-row > div small,
.operation-status-row > div small,
.rc6-overview-list > a > div small,
.rc6-overview-list > div > div small,
.finance-summary-list > article > div small,
.rc6-contract-list > :is(article,div) small,
.rc6-list-stack > :is(article,div) small {
  display: block;
  margin-top: 3px;
  color: var(--ink-500);
  font-size: var(--rc7-row-copy);
  line-height: 1.45;
}
.admin-overview-value,
.operation-status-row > b,
.rc6-overview-list > a > b,
.rc6-overview-list > div > b,
.finance-summary-list > article > b {
  min-width: 92px;
  color: var(--ink-950);
  font-size: var(--rc7-row-value);
  line-height: 1.15;
  letter-spacing: -.025em;
  text-align: right;
  white-space: nowrap;
}
.admin-overview-value-link { min-width: 100px; }
.admin-overview-value-link a { font-size: 9px; }

/* List containers — one card, not one card per row */
.admin-overview-list, .operation-status-list, .rc6-overview-list { padding: 0 var(--rc7-panel-pad) 8px; }
.operation-overview { overflow: hidden; }
.rc6-overview-list-card { overflow: hidden; }
.rc6-overview-list-card > .card-header { padding: 20px 22px 13px; }
.rc6-overview-list-card .rc6-overview-list { padding: 0 22px 8px; }
.rc6-overview-list.compact > :is(div,a) { min-height: 67px; }

/* Finance: command + one consolidated summary list */
.finance-command-bar { margin-bottom: 18px; }
.finance-command-bar .period-filter { display: flex; align-items: flex-end; gap: 8px; }
.finance-summary-list {
  margin-bottom: 18px;
  padding: 0 22px 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-xs);
}
.finance-summary-list > article.positive-row > b { color: var(--success-strong); }
.finance-summary-list > article.negative-row > b { color: var(--danger-strong); }
.finance-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }

/* Tickets: row list inside one panel */
.v1-ticket-list, .v1-admin-ticket-list { max-height: 720px; overflow: auto; padding: 0 22px 8px; }
.v1-ticket-list article, .v1-admin-ticket-list article {
  padding: 16px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.v1-ticket-list article:first-child, .v1-admin-ticket-list article:first-child { border-top: 0; }
.v1-ticket-list header, .v1-admin-ticket-list header > div { min-height: 26px; gap: 9px; }
.v1-ticket-list header strong, .v1-admin-ticket-list header strong { color: var(--ink-900); font-size: 11.5px; }
.v1-ticket-list header small, .v1-admin-ticket-list header small { font-size: 9px; }
.v1-ticket-list h4, .v1-admin-ticket-list h4 { margin: 8px 0 3px; font-size: 12px; }
.v1-ticket-list p, .v1-admin-ticket-list p { color: var(--ink-500); font-size: 10px; line-height: 1.55; }
.v1-ticket-list footer, .v1-admin-ticket-list footer { margin-top: 10px; padding-top: 10px; font-size: 9px; }
.v1-admin-ticket-list footer { align-items: flex-end; }
.v1-admin-ticket-list .rc6-inline-form { flex: 1 1 620px; justify-content: flex-end; }
.v1-admin-ticket-list .rc6-inline-form input { flex: 1 1 280px; }

/* Client onboarding: no individual rounded cards */
.v1-onboarding-steps { gap: 0; padding: 0 22px 8px; }
.v1-onboarding-steps article {
  grid-template-columns: 40px minmax(0,1fr) auto;
  gap: 13px;
  min-height: 68px;
  padding: 14px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.v1-onboarding-steps article:first-child { border-top: 0; }
.v1-onboarding-steps article.complete { border-color: var(--line); background: transparent; }
.v1-onboarding-steps article.current { margin: 0 -10px; padding-left: 10px; padding-right: 10px; border-color: var(--line); border-radius: 10px; background: var(--purple-50); }
.v1-onboarding-steps strong { font-size: 11.5px; }
.v1-onboarding-steps small { margin-top: 2px; font-size: 9px; }
.v1-onboarding-steps .v1-step-note { margin: 5px 0 0; color: var(--ink-500); font-size: 9.5px; }
.v1-onboarding-response { min-width: 280px; }
.rc6-onboarding-summary { justify-content: flex-start; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); }
.rc6-progress-orb { width: 104px; height: 104px; background: conic-gradient(var(--purple-650) calc(var(--progress)*1%),#e8eef4 0); }
.rc6-progress-orb:before { inset: 9px; }
.rc6-progress-orb strong { color: var(--purple-800); font-size: 1.55rem; }

/* Expandable lists: invoices and case history */
.rc6-expand-list { overflow: hidden; }
.rc6-expand-list > details { border-top: 1px solid var(--line); }
.rc6-expand-list > .card-header + details { border-top: 0; }
.rc6-expand-list > details > summary {
  display: grid;
  grid-template-columns: minmax(220px,1.5fr) minmax(120px,.7fr) auto minmax(105px,auto);
  align-items: center;
  gap: 14px;
  min-height: 66px;
  padding: 13px 22px;
  cursor: pointer;
  list-style: none;
  transition: background .16s;
}
.rc6-expand-list > details > summary::-webkit-details-marker { display: none; }
.rc6-expand-list > details > summary:hover { background: var(--purple-50); }
.rc6-expand-list > details > summary strong { color: var(--ink-900); font-size: 11.5px; }
.rc6-expand-list > details > summary small { display: block; margin-top: 2px; color: var(--ink-500); font-size: 9px; }
.rc6-expand-list > details > summary > b { color: var(--ink-950); font-size: 14px; text-align: right; }
.rc6-case-row-detail { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)) auto; gap: 12px; align-items: end; padding: 16px 22px; background: #f8fafc; border-top: 1px solid var(--line); }
.rc6-case-row-detail > div { min-width: 0; }
.rc6-case-row-detail > div span { display: block; color: var(--ink-400); font-size: 8.5px; font-weight: 800; text-transform: uppercase; }
.rc6-case-row-detail > div strong { display: block; margin-top: 4px; color: var(--ink-800); font-size: 10.5px; }

/* Product configuration: three products, rendered as a single structured list */
.product-admin-grid { display: block; padding: 0 22px 8px; }
.product-admin-panel {
  display: grid;
  gap: 14px;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
}
.product-admin-panel:first-child { border-top: 0; }
.product-admin-panel > header, .product-admin-panel > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.product-admin-panel > header > div:first-child { display: grid; grid-template-columns: 34px minmax(0,1fr); column-gap: 12px; align-items: center; }
.product-admin-panel > header strong { font-size: 12.5px; }
.product-admin-panel > header small { grid-column: 2; color: var(--ink-500); font-size: 9.5px; }
.product-order { display: grid; grid-row: 1 / span 2; width: 32px; height: 32px; place-items: center; color: var(--purple-700); border-radius: 10px; background: var(--purple-75); font-size: 9.5px; font-weight: 900; }
.switch-stack { display: flex; align-items: center; gap: 10px; }

/* Product/API matrices are collapsed panels; operations are flat expandable rows */
.v1-admin-api-matrix { overflow: hidden; margin-top: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.v1-admin-api-matrix > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding: 13px 16px;
  cursor: pointer;
  list-style: none;
  background: #fbfcfd;
}
.v1-admin-api-matrix > summary::-webkit-details-marker { display: none; }
.v1-admin-api-matrix > summary strong { display: block; color: var(--ink-900); font-size: 12px; }
.v1-admin-api-matrix > summary small { display: block; margin-top: 3px; color: var(--ink-500); font-size: 9.5px; }
.v1-admin-api-matrix[open] > summary { border-bottom: 1px solid var(--line); background: var(--purple-50); }
.v1-admin-api-matrix > .v1-card-body { padding: 16px; }

.operation-config-list { margin-top: 14px; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
.operation-config-row { margin: 0; border-top: 1px solid var(--line); background: #fff; }
.operation-config-row:first-child { border-top: 0; }
.operation-config-row > summary {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto 20px;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 11px 14px;
  cursor: pointer;
  list-style: none;
  transition: background .16s;
}
.operation-config-row > summary::-webkit-details-marker { display: none; }
.operation-config-row > summary:hover { background: var(--purple-50); }
.operation-config-row[open] > summary { background: #f7fbff; }
.operation-config-icon { width: 38px; height: 38px; border-radius: 11px; }
.operation-config-summary { min-width: 0; }
.operation-config-summary strong { display: block; color: var(--ink-900); font-size: 11.25px; }
.operation-config-summary small { display: block; margin-top: 2px; overflow: hidden; color: var(--ink-500); font-size: 8.75px; text-overflow: ellipsis; white-space: nowrap; }
.operation-config-row > summary > svg { color: var(--ink-400); transition: transform .2s; }
.operation-config-row[open] > summary > svg { transform: rotate(180deg); }
.operation-config-form { display: grid; gap: 13px; padding: 16px; border-top: 1px solid var(--line); background: #fbfcfd; }
.operation-config-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.operation-config-form > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 11px; border-top: 1px solid var(--line); }
.operation-config-form > footer .form-hint { margin: 0; }
.capability-table-details { margin-top: 14px; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.capability-table-details > summary { padding: 13px 14px; background: #fbfcfd; }
.inline-capability-form { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.inline-capability-form label { display: inline-flex; align-items: center; gap: 5px; font-size: 9.5px; }

/* Admin onboarding — collapsed row editor */
.onboarding-admin-list { padding: 0 22px 8px; }
.onboarding-admin-step { border-top: 1px solid var(--line); }
.onboarding-admin-step:first-child { border-top: 0; }
.onboarding-admin-step > summary {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) auto 20px;
  align-items: center;
  gap: 12px;
  min-height: 67px;
  padding: 12px 0;
  cursor: pointer;
  list-style: none;
}
.onboarding-admin-step > summary::-webkit-details-marker { display: none; }
.onboarding-admin-step > summary > svg { color: var(--ink-400); transition: transform .2s; }
.onboarding-admin-step[open] > summary > svg { transform: rotate(180deg); }
.onboarding-step-number { display: grid; width: 36px; height: 36px; place-items: center; color: var(--purple-700); border-radius: 11px; background: var(--purple-75); font-size: 10px; font-weight: 900; }
.onboarding-step-summary strong { display: block; color: var(--ink-900); font-size: 11.5px; }
.onboarding-step-summary small { display: block; margin-top: 3px; max-width: 760px; overflow: hidden; color: var(--ink-500); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-admin-form { display: grid; gap: 13px; margin: 0 -8px 10px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f9fbfd; }
.onboarding-admin-form > footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 10px; border-top: 1px solid var(--line); }

/* Tenant setup / governance */
.admin-client-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(290px,360px); gap: 18px; align-items: start; }
.tenant-create-panel { position: sticky; top: calc(var(--topbar-height) + 18px); }
.api-governance-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: 18px; padding: 0 22px 20px; }
.api-create-panel, .api-scope-reference { display: grid; gap: 13px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfd; }
.api-create-panel h4, .api-scope-reference h4 { margin: 0; color: var(--ink-900); font-size: 12px; }
.api-scope-item { display: grid; grid-template-columns: minmax(130px,.6fr) minmax(0,1fr); gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); }
.api-scope-item code { color: var(--purple-700); font-size: 9px; }
.api-scope-item span { color: var(--ink-500); font-size: 9.5px; }
.sandbox-notice { display: flex; gap: 11px; align-items: flex-start; margin-top: 4px; padding: 12px; color: var(--purple-900); border: 1px solid var(--purple-200); border-radius: 11px; background: var(--purple-50); }
.sandbox-notice p { margin: 3px 0 0; color: var(--ink-500); font-size: 9.5px; }
.governance-events { margin: 0 22px 20px; border: 1px solid var(--line); border-radius: 12px; }
.governance-events > summary { padding: 12px 14px; }
.timeline-list { padding: 0 14px 8px; }
.timeline-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 11px 0; border-top: 1px solid var(--line); }
.timeline-list > div strong { color: var(--ink-800); font-size: 10px; }
.timeline-list > div span { color: var(--ink-500); font-size: 9px; }

/* Invoice admin workflow */
.invoice-workflow-grid { display: grid; grid-template-columns: minmax(300px,.85fr) minmax(0,1.15fr); gap: 18px; padding: 0 22px 20px; }
.invoice-create-panel, .invoice-list-panel { padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fbfcfd; }
.invoice-workflow-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.invoice-workflow-row:first-child { border-top: 0; }
.invoice-workflow-row > div strong { display: block; color: var(--ink-900); font-size: 10.5px; }
.invoice-workflow-row > div small { display: block; color: var(--ink-500); font-size: 9px; }

/* Provider ping — one flat list, compact */
.rc6-provider-pings { padding: 0 22px 8px; }
.rc6-provider-pings form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 13px 0; border-top: 1px solid var(--line); }
.rc6-provider-pings form:first-child { border-top: 0; }
.rc6-provider-pings form > :first-child { min-width: 0; }

/* Billing conditions and general key/value lists */
.v1-key-value { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 10px 0; border-top: 1px solid var(--line); }
.v1-key-value:first-child { border-top: 0; }
.v1-key-value span { color: var(--ink-500); font-size: 9.5px; }
.v1-key-value strong { color: var(--ink-800); font-size: 10.5px; text-align: right; }
.rc6-reconciliation { display: flex; justify-content: flex-end; gap: 24px; padding: 13px 16px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: #f8fafc; }

/* Filters and forms */
.rc6-filter-panel { overflow: hidden; }
.rc6-filter-panel > form, .rc6-billing-filter { padding: 0 22px 20px; }
.rc6-billing-filter { display: grid; grid-template-columns: repeat(2,minmax(180px,1fr)) auto auto; align-items: end; gap: 12px; }
.v1-checkbox-grid { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.v1-checkbox-grid > strong { flex: 1 0 100%; color: var(--ink-700); font-size: 10px; }
.v1-checkbox-grid label { display: inline-flex; align-items: center; gap: 6px; color: var(--ink-600); font-size: 9.5px; }

/* Audit pages — clean evidence hierarchy */
.audit-case-hero { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px; }
.audit-case-state { display: flex; align-items: center; gap: 8px; }
.audit-context-grid, .audit-snapshot-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 0 22px 20px; }
.audit-context-grid > div, .audit-snapshot-grid > div { padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: #fbfcfd; }
.audit-context-grid span, .audit-snapshot-grid span { display: block; color: var(--ink-400); font-size: 8.5px; font-weight: 800; text-transform: uppercase; }
.audit-context-grid strong, .audit-snapshot-grid strong { display: block; margin-top: 4px; color: var(--ink-800); font-size: 10.5px; }
.audit-e2e-list { display: block; padding: 0 22px 8px; }
.audit-e2e-row { padding: 14px 0; border-top: 1px solid var(--line); }
.audit-e2e-row:first-child { border-top: 0; }
.audit-table { width: 100%; border-collapse: collapse; }

/* Keep table/function cards visually subordinate to list headers */
.table-card, .v1-custom-chart-card, .v1-chart-builder-card { box-shadow: var(--shadow-xs); }

/* Responsive */
@media (max-width: 1180px) {
  .finance-layout, .api-governance-grid, .invoice-workflow-grid, .admin-client-layout { grid-template-columns: 1fr; }
  .tenant-create-panel { position: static; }
  .rc6-case-row-detail { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  :root { --rc7-row-icon: 40px; --rc7-row-gap: 12px; }
  .rc7-context-header, .admin-list-hero, .tenant-config-hero, .finance-command-bar, .rc6-list-summary, .rc6-onboarding-summary { align-items: flex-start; flex-direction: column; padding: 18px; }
  .finance-command-bar .period-filter { width: 100%; flex-wrap: wrap; }
  .admin-overview-list, .operation-status-list, .rc6-overview-list, .finance-summary-list { padding-left: 16px; padding-right: 16px; }
  .admin-overview-row, .operation-status-row, .rc6-overview-list > a, .rc6-overview-list > div, .finance-summary-list > article { grid-template-columns: var(--rc7-row-icon) minmax(0,1fr); }
  .admin-overview-value, .operation-status-row > b, .rc6-overview-list > a > b, .rc6-overview-list > div > b, .finance-summary-list > article > b { grid-column: 2; min-width: 0; font-size: 15px; text-align: left; }
  .rc6-expand-list > details > summary { grid-template-columns: minmax(0,1fr) auto; padding: 13px 16px; }
  .rc6-expand-list > details > summary > span:not(.status-badge) { display: none; }
  .rc6-expand-list > details > summary > b { grid-column: 2; grid-row: 1; }
  .rc6-expand-list > details > summary > .status-badge { grid-column: 1; }
  .rc6-case-row-detail { grid-template-columns: 1fr 1fr; padding: 14px 16px; }
  .operation-config-row > summary { grid-template-columns: 38px minmax(0,1fr) 18px; }
  .operation-config-row > summary .status-badge { display: none; }
  .operation-config-form > footer, .onboarding-admin-form > footer { align-items: stretch; flex-direction: column; }
  .onboarding-admin-step > summary { grid-template-columns: 36px minmax(0,1fr) 18px; }
  .onboarding-admin-step > summary .status-badge { display: none; }
  .audit-context-grid, .audit-snapshot-grid { grid-template-columns: 1fr; }
  .rc6-billing-filter { grid-template-columns: 1fr; }
}

/* RC7 auxiliary components discovered during full template audit */
.rc6-brand-strip { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:18px; padding:22px 24px; border:1px solid var(--line); border-left:4px solid var(--purple-650); border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-xs); }
.rc6-brand-strip h2 { margin:4px 0 5px; font-size:19px; }
.rc6-brand-strip p { margin:0; color:var(--ink-500); font-size:11px; }
.rc6-document-links a { color:var(--purple-700); }
.rc6-secret-once { margin-bottom:18px; }
.filter-strip { display:flex; align-items:end; flex-wrap:wrap; gap:10px; padding:0 22px 20px; }
.indicator-pair { display:flex; align-items:center; gap:8px; }
.indicator-pair > span { min-width:54px; padding:6px 8px; border-radius:8px; background:#f6f8fb; }
.indicator-pair small { display:block; margin:0; color:var(--ink-400); font-size:7.75px; text-transform:uppercase; }
.indicator-pair strong { display:block; color:var(--ink-800); font-size:10.5px; }
.reason-preview { max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.data-table.spacious td { padding-top:15px; padding-bottom:15px; }
.token-input { gap:8px; }
.legal-card, .reasons-detail-card, .timeline-card { overflow:hidden; }
.audit-e2e-timeline { position:relative; display:block; padding:0 22px 8px; }
.audit-e2e-item { display:grid; grid-template-columns:16px 118px minmax(0,1fr); gap:12px; padding:15px 0; border-top:1px solid var(--line); }
.audit-e2e-item:first-child { border-top:0; }
.audit-e2e-dot { width:10px; height:10px; margin-top:5px; border-radius:50%; background:var(--purple-650); box-shadow:0 0 0 4px var(--purple-100); }
.audit-e2e-time { color:var(--ink-500); font-size:9px; }
.audit-e2e-body header { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.audit-e2e-body strong { color:var(--ink-900); font-size:10.75px; }
.audit-e2e-body > small { display:block; margin-top:3px; color:var(--ink-500); font-size:9px; }
.audit-e2e-body details { margin-top:8px; }
.audit-e2e-body details > summary { cursor:pointer; color:var(--purple-700); font-size:9px; font-weight:800; }
@media(max-width:760px){.rc6-brand-strip{align-items:flex-start;flex-direction:column}.audit-e2e-item{grid-template-columns:14px minmax(0,1fr)}.audit-e2e-time{grid-column:2}.audit-e2e-body{grid-column:2}}


/* ==========================================================================
   RC8 · VISUAL RECOVERY / SCREEN-BASED BI
   ========================================================================== */

.rc8-page-intro {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin-bottom:18px; padding:22px 24px; border:1px solid var(--line);
  border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-xs);
}
.rc8-page-intro h2 { margin:4px 0 5px; color:var(--ink-950); font-size:20px; letter-spacing:-.025em; }
.rc8-page-intro p { max-width:760px; margin:0; color:var(--ink-500); font-size:11px; line-height:1.55; }
.rc8-page-intro .card-eyebrow { color:var(--purple-700); }

.rc8-audit-search { margin-bottom:18px; padding:18px 22px; }
.rc8-audit-search .rc6-inline-search { grid-template-columns:minmax(260px,1fr) auto auto; align-items:end; margin:0; }
.rc8-network-panel { margin-bottom:18px; }
.rc8-network-panel > .card-header { padding-bottom:14px; }

.rc8-configure-panel { overflow:hidden; }
.rc8-configure-list { padding:0 22px 8px; }
.rc8-configure-row {
  display:grid; grid-template-columns:44px minmax(0,1fr) auto auto; align-items:center;
  gap:16px; min-height:76px; padding:15px 0; border-top:1px solid var(--line);
  transition:background .16s var(--ease), padding .16s var(--ease);
}
.rc8-configure-row:first-child { border-top:0; }
.rc8-configure-row:hover { margin:0 -8px; padding-left:8px; padding-right:8px; background:var(--purple-50); }
.rc8-configure-row > div { min-width:0; }
.rc8-configure-row strong { display:block; color:var(--ink-900); font-size:12.5px; }
.rc8-configure-row small { display:block; margin-top:3px; color:var(--ink-500); font-size:9.75px; }
.rc8-row-action { display:flex; align-items:center; gap:5px; color:var(--purple-700); font-size:10px; font-weight:800; white-space:nowrap; }

.rc8-finance-modal { max-width:660px; }
.rc8-finance-modal form footer { display:flex; justify-content:flex-end; gap:8px; margin-top:8px; }

.rc8-bi-deck {
  overflow:hidden; margin-top:18px; border:1px solid var(--line);
  background:#fff; box-shadow:var(--shadow-sm);
}
.rc8-bi-deck-header {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  min-height:84px; padding:18px 22px; border-bottom:1px solid var(--line);
}
.rc8-bi-deck-header h3 { margin:3px 0 3px; font-size:17px; }
.rc8-bi-deck-header p { margin:0; color:var(--ink-500); font-size:10px; }
.rc8-bi-navigation { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.rc8-bi-navigation > span { display:flex; align-items:baseline; gap:5px; min-width:56px; justify-content:center; color:var(--ink-500); }
.rc8-bi-navigation strong { color:var(--ink-950); font-size:16px; }
.rc8-bi-navigation b, .rc8-bi-navigation small { font-size:10px; }
.rc8-bi-arrow { width:38px; height:38px; border:1px solid var(--line-strong); background:#fff; color:var(--purple-800); }
.rc8-bi-arrow:hover { border-color:var(--purple-300); background:var(--purple-50); }
.rc8-bi-prev .icon { transform:rotate(180deg); }

.rc8-bi-stage { position:relative; min-height:520px; background:linear-gradient(180deg,#fff 0%,#fbfdff 100%); }
.rc8-bi-screen { min-height:520px; padding:22px; animation:rc8-screen-in .2s var(--ease); }
.rc8-bi-screen[hidden] { display:none !important; }
@keyframes rc8-screen-in { from { opacity:.25; transform:translateX(8px); } to { opacity:1; transform:none; } }
.rc8-bi-screen-head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  min-height:60px; margin-bottom:12px;
}
.rc8-bi-screen-head h3 { margin:3px 0 2px; font-size:16px; }
.rc8-bi-screen-head p { margin:0; color:var(--ink-500); font-size:10px; }
.rc8-bi-chart { height:390px; min-height:390px; max-height:390px; }
.rc8-bi-chart canvas { width:100% !important; height:100% !important; }
.rc8-decision-screen {
  display:grid; grid-template-columns:minmax(260px,.72fr) minmax(300px,1fr);
  gap:36px; align-items:center; min-height:390px; max-width:900px; margin:0 auto;
}
.rc8-decision-screen .donut-wrap { width:260px; height:260px; margin:auto; }
.rc8-decision-screen .donut-stats { align-content:center; }
.rc8-stage-screen { max-width:920px; margin:34px auto 0; }
.rc8-bi-footer {
  display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px;
  padding:10px 22px; border-top:1px solid var(--line); color:var(--ink-500);
  background:#fbfcfe; font-size:9.5px;
}
.rc8-bi-footer > span { color:var(--ink-800); font-weight:800; }
.rc8-bi-footer a { color:var(--purple-700); font-weight:800; }
.rc8-dashboard-deck .rc8-bi-stage, .rc8-dashboard-deck .rc8-bi-screen { min-height:470px; }
.rc8-dashboard-deck .rc8-bi-chart { height:340px; min-height:340px; max-height:340px; }

.rc8-onboarding-summary {
  display:grid; grid-template-columns:minmax(260px,1fr) auto; align-items:center; gap:28px;
  margin-bottom:18px; padding:24px 28px; border:1px solid var(--line);
  border-radius:var(--radius-lg); background:#fff; box-shadow:var(--shadow-xs);
}
.rc8-onboarding-progress { display:grid; place-items:center; width:min(520px,100%); margin:0 auto; text-align:center; }
.rc8-onboarding-progress > strong { margin-top:1px; color:var(--ink-950); font-size:36px; line-height:1; letter-spacing:-.045em; }
.rc8-onboarding-progress > small { margin-top:4px; color:var(--ink-500); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.rc8-progress-track { width:100%; height:7px; margin-top:14px; overflow:hidden; border-radius:999px; background:#e8eef4; }
.rc8-progress-track i { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--purple-700),var(--purple-400)); transition:width .12s linear; }
.rc8-onboarding-state { display:grid; min-width:160px; gap:3px; padding-left:24px; border-left:1px solid var(--line); }
.rc8-onboarding-state span { color:var(--ink-400); font-size:8.5px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.rc8-onboarding-state strong { color:var(--ink-800); font-size:11px; }

@media (max-width:900px) {
  .rc8-page-intro, .rc8-bi-deck-header { align-items:flex-start; flex-direction:column; }
  .rc8-audit-search .rc6-inline-search { grid-template-columns:1fr; }
  .rc8-configure-row { grid-template-columns:40px minmax(0,1fr) auto; gap:12px; }
  .rc8-configure-row .rc8-row-action { grid-column:2 / -1; justify-self:start; }
  .rc8-bi-stage, .rc8-bi-screen { min-height:470px; }
  .rc8-bi-chart { height:330px; min-height:330px; max-height:330px; }
  .rc8-decision-screen { grid-template-columns:1fr; gap:16px; }
  .rc8-decision-screen .donut-wrap { width:210px; height:210px; }
  .rc8-onboarding-summary { grid-template-columns:1fr; }
  .rc8-onboarding-state { min-width:0; padding:14px 0 0; border-left:0; border-top:1px solid var(--line); text-align:center; }
}
@media (max-width:620px) {
  .rc8-page-intro { padding:18px; }
  .rc8-bi-screen { padding:16px; }
  .rc8-bi-screen-head { flex-direction:column; }
  .rc8-bi-stage, .rc8-bi-screen { min-height:430px; }
  .rc8-bi-chart { height:300px; min-height:300px; max-height:300px; }
  .rc8-bi-navigation { width:100%; justify-content:space-between; }
  .rc8-configure-row { grid-template-columns:40px minmax(0,1fr); }
  .rc8-configure-row > .status-badge, .rc8-configure-row .rc8-row-action { grid-column:2; }
  .rc8-onboarding-summary { padding:20px 18px; }
}


/* ========================================================================
   RC9 · MOTOR NEXO RC3 / PRO VISUAL
   ======================================================================== */
.rc9-motor-pro {
  display:grid;
  grid-template-columns:220px minmax(360px,1fr) minmax(260px,.72fr);
  gap:22px;
  align-items:stretch;
  margin:20px 0;
  padding:22px;
  overflow:hidden;
  border-color:#dbe9f5;
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 100%);
}
.rc9-motor-score {
  display:grid;
  place-content:center;
  text-align:center;
  min-height:245px;
  color:#fff;
  border-radius:20px;
  background:linear-gradient(155deg,var(--purple-900),var(--purple-650));
  box-shadow:0 18px 42px rgba(8,48,87,.20);
}
.rc9-motor-score > span { font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; opacity:.68; }
.rc9-motor-score > strong { margin-top:4px; font-size:54px; line-height:.95; letter-spacing:-.05em; }
.rc9-motor-score > small { margin-top:5px; font-size:11px; opacity:.65; }
.rc9-decision { margin:18px auto 0; padding:6px 12px; border-radius:999px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; background:rgba(255,255,255,.13); }
.rc9-decision-aprovado { color:#d9fff1; border:1px solid rgba(138,255,205,.28); }
.rc9-decision-reprovado { color:#ffe3e8; border:1px solid rgba(255,147,166,.30); }
.rc9-motor-chart { min-width:0; padding:2px 0; }
.rc9-motor-chart canvas { width:100% !important; height:185px !important; }
.rc9-income-card { display:flex; flex-direction:column; gap:10px; padding:19px; border:1px solid var(--line); border-radius:17px; background:#fff; }
.rc9-income-card > strong { color:var(--purple-900); font-size:24px; letter-spacing:-.03em; }
.rc9-income-card > div { display:flex; justify-content:space-between; gap:12px; padding-top:9px; border-top:1px solid var(--line); font-size:10px; }
.rc9-income-card > div span { color:var(--ink-500); }
.rc9-income-card > div b { color:var(--ink-800); text-align:right; }
.v1-participant-row .field small { max-width:280px; }
@media (max-width:1100px) {
  .rc9-motor-pro { grid-template-columns:190px 1fr; }
  .rc9-income-card { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rc9-income-card > .card-eyebrow, .rc9-income-card > strong { grid-column:1/-1; }
}
@media (max-width:700px) {
  .rc9-motor-pro { grid-template-columns:1fr; padding:16px; }
  .rc9-motor-score { min-height:190px; }
  .rc9-income-card { grid-column:auto; grid-template-columns:1fr; }
  .rc9-income-card > .card-eyebrow, .rc9-income-card > strong { grid-column:auto; }
}


/* ========================================================================== 
   RC10 · ADMIN PRO / OPERAÇÃO — SANDBOX, FINANCEIRO, AUDITORIA, INTEGRAÇÕES
   ========================================================================== */
.rc10-page-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-xs)}
.rc10-page-intro h2{margin:4px 0;color:var(--ink-950);font-size:20px;letter-spacing:-.025em}.rc10-page-intro p{max-width:800px;margin:0;color:var(--ink-500);font-size:11px;line-height:1.55}
.rc10-state{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.rc10-state i,.rc10-light-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 4px rgba(100,116,139,.12)}
.rc10-state-working{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.rc10-state-working i,.rc10-provider-light-working .rc10-light-dot{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.14)}
.rc10-state-pending{color:#92400e;background:#fffbeb;border-color:#fde68a}.rc10-state-pending i,.rc10-provider-light-pending .rc10-light-dot{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.14)}
.rc10-state-offline{color:#991b1b;background:#fef2f2;border-color:#fecaca}.rc10-state-offline i,.rc10-provider-light-offline .rc10-light-dot{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.14)}

.rc10-sandbox-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:18px;margin-bottom:18px}.rc10-sandbox-runtime,.rc10-sandbox-summary{padding:22px}.rc10-sandbox-runtime header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.rc10-sandbox-runtime h3{margin:4px 0 0}.rc10-sandbox-runtime header>strong{color:var(--purple-700);font-size:12px}.rc10-check-list{display:grid;gap:8px}.rc10-check-list>div{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.rc10-check-list>div>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px}.rc10-check-list .is-ok>span{color:#166534;background:#dcfce7}.rc10-check-list .is-fail>span{color:#991b1b;background:#fee2e2}.rc10-check-list strong{display:block;font-size:10.5px}.rc10-check-list small{display:block;margin-top:2px;color:var(--ink-500);font-size:8.5px}.rc10-sandbox-summary{display:grid;grid-template-columns:repeat(3,1fr);align-content:start;gap:10px}.rc10-sandbox-summary>.card-eyebrow,.rc10-sandbox-summary>p{grid-column:1/-1}.rc10-sandbox-summary>div{padding:14px;border-radius:12px;background:var(--purple-50);text-align:center}.rc10-sandbox-summary strong{display:block;color:var(--ink-950);font-size:22px}.rc10-sandbox-summary small{color:var(--ink-500);font-size:8px}.rc10-sandbox-summary p{margin:4px 0 0;color:var(--ink-500);font-size:9px;line-height:1.5}
.rc10-configure-panel{overflow:hidden}.rc10-configure-list{padding:0 22px 10px}.rc10-configure-row{display:grid;grid-template-columns:minmax(280px,1fr) minmax(250px,.72fr) auto auto;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.rc10-configure-row:first-child{border-top:0}.rc10-configure-main{display:flex;align-items:center;gap:13px;min-width:0}.rc10-configure-main>span:last-child{min-width:0}.rc10-configure-main strong{display:block;color:var(--ink-900);font-size:12px}.rc10-configure-main small{display:block;margin-top:3px;color:var(--ink-500);font-size:9px}.rc10-sandbox-meta{display:grid;gap:4px;color:var(--ink-500);font-size:8.5px}.rc10-sandbox-meta strong{color:var(--ink-800)}.rc10-row-action{display:flex;align-items:center;gap:5px;color:var(--purple-700);font-size:9px;font-weight:900}.rc10-tenant-issues{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;padding-left:57px}.rc10-tenant-issues span{padding:5px 8px;border-radius:8px;background:#fffbeb;color:#92400e;font-size:8px}.rc10-tenant-issues span.blocked{background:#fef2f2;color:#991b1b}

.rc10-support-counts{display:flex;gap:8px}.rc10-support-counts span{padding:9px 11px;border:1px solid var(--line);border-radius:10px;color:var(--ink-500);font-size:8.5px}.rc10-support-counts strong{color:var(--ink-900);font-size:13px}.rc10-support-filter{margin-bottom:18px;padding:18px 22px}.rc10-support-filter form{display:grid;grid-template-columns:minmax(280px,1fr) 190px auto auto auto;align-items:end;gap:10px}.rc10-switch{display:flex;align-items:center;gap:8px;min-height:39px;padding:0 10px;border:1px solid var(--line);border-radius:10px}.rc10-switch input{position:absolute;opacity:0}.rc10-switch>span{width:28px;height:16px;border-radius:999px;background:#cbd5e1;position:relative}.rc10-switch>span:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:.2s}.rc10-switch input:checked+span{background:var(--purple-600)}.rc10-switch input:checked+span:after{transform:translateX(12px)}.rc10-switch strong{font-size:8.5px}.rc10-ticket-panel{overflow:hidden}.rc10-ticket-list{padding:0 22px 10px}.rc10-ticket-row{padding:17px 0;border-top:1px solid var(--line)}.rc10-ticket-row:first-child{border-top:0}.rc10-ticket-row header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.rc10-ticket-row header strong{display:block;margin-top:6px;font-size:11.5px}.rc10-ticket-row header small,.rc10-ticket-body small{display:block;margin-top:3px;color:var(--ink-500);font-size:8.5px}.rc10-ticket-body h4{margin:12px 0 4px;font-size:12px}.rc10-ticket-body p{margin:0;color:var(--ink-600);font-size:9.5px;line-height:1.55}.rc10-priority{padding:6px 8px;border-radius:8px;background:#f1f5f9;color:var(--ink-600);font-size:8px;font-weight:900}.rc10-priority-high,.rc10-priority-critical{background:#fee2e2;color:#991b1b}.rc10-ticket-update{margin-top:12px}.rc10-ticket-update>summary{color:var(--purple-700);font-size:9px;font-weight:900;cursor:pointer}.rc10-ticket-update form{margin-top:10px}

.rc10-finance-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.rc10-finance-tabs a{display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.rc10-finance-tabs a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f1f5f9;color:var(--ink-500)}.rc10-finance-tabs a strong{display:block;color:var(--ink-800);font-size:11px}.rc10-finance-tabs a small{display:block;margin-top:2px;color:var(--ink-500);font-size:8px}.rc10-finance-tabs a.active{border-color:var(--purple-300);background:var(--purple-50)}.rc10-finance-tabs a.active>span{background:var(--purple-700);color:#fff}.rc10-finance-module{overflow:hidden}.rc10-float-costs{padding:0;overflow:hidden}.rc10-cost-list{padding:0 22px 16px}.rc10-cost-list>div{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line);font-size:9.5px}.rc10-cost-list>div:first-child{border-top:0}.rc10-cost-list strong{color:var(--ink-900);font-size:12px}.rc10-cost-list .total{font-weight:900}.rc10-cost-list .margin{color:var(--purple-700)}.rc10-client-finance-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px;margin-bottom:18px}.rc10-billing-profile,.rc10-generate-client-invoice{padding:0}.rc10-kv-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:0 22px 18px}.rc10-kv-list>div{padding:11px 0;border-top:1px solid var(--line)}.rc10-kv-list span{display:block;color:var(--ink-500);font-size:8px}.rc10-kv-list strong{display:block;margin-top:3px;color:var(--ink-900);font-size:10px}.rc10-generate-client-invoice form{padding:0 22px 20px}.rc10-invoice-list{padding:0 22px 12px}.rc10-invoice-list>article{padding:16px 0;border-top:1px solid var(--line)}.rc10-invoice-list>article:first-child{border-top:0}.rc10-invoice-list header,.rc10-invoice-list footer,.rc10-invoice-values{display:flex;align-items:center;justify-content:space-between;gap:12px}.rc10-invoice-list header strong{display:block}.rc10-invoice-list header small{display:block;color:var(--ink-500);font-size:8.5px}.rc10-invoice-values{justify-content:flex-start;margin:12px 0}.rc10-invoice-values span{padding:8px 10px;border-radius:9px;background:#f8fafc;color:var(--ink-500);font-size:8px}.rc10-invoice-values strong{display:block;margin-top:2px;color:var(--ink-900);font-size:10px}.rc10-invoice-list footer{justify-content:flex-end}.rc10-invoice-list footer form{display:flex;align-items:center;gap:8px}.rc10-invoice-list footer input{min-width:220px}

.rc10-audit-command{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:18px;padding:18px 22px}.rc10-audit-command form{display:flex;align-items:end;gap:9px}.rc10-audit-command .field{flex:1}.rc10-audit-metrics{display:flex;gap:7px}.rc10-audit-metrics span{padding:9px;border-radius:9px;background:#f8fafc;color:var(--ink-500);font-size:8px}.rc10-audit-metrics strong{color:var(--ink-900);font-size:12px}.rc10-error-detail{margin-bottom:18px;padding:22px}.rc10-error-detail header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.rc10-error-detail h3{margin:4px 0}.rc10-error-detail details{margin-top:14px}.rc10-error-detail pre{white-space:pre-wrap}.rc10-runtime-errors{margin-top:18px;overflow:hidden}.rc10-error-list{padding:0 22px 10px}.rc10-error-list>a{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.rc10-error-list>a:first-child{border-top:0}.rc10-error-code{font-family:var(--font-mono);font-size:9px;color:#991b1b}.rc10-error-list strong{display:block;font-size:10px}.rc10-error-list small{display:block;margin-top:3px;color:var(--ink-500);font-size:8px}.rc10-error-reference{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:14px 0;padding:12px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2}.rc10-error-reference span,.rc10-error-reference small{font-size:8px;color:#991b1b}.rc10-error-reference small{grid-column:1/-1}.rc10-error-reference strong{font-family:var(--font-mono);color:#7f1d1d}

.rc10-integration-monitor{margin-bottom:18px;overflow:hidden}.rc10-provider-lights{padding:0 22px 10px}.rc10-provider-light{display:grid;grid-template-columns:20px minmax(0,1fr) auto 150px;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.rc10-provider-light:first-child{border-top:0}.rc10-provider-light strong{display:block;font-size:11px}.rc10-provider-light small{display:block;margin-top:2px;color:var(--ink-500);font-size:8px}.rc10-provider-light b{font-size:9px;text-transform:uppercase}.rc10-provider-light-working b{color:#166534}.rc10-provider-light-pending b{color:#92400e}.rc10-provider-light-offline b{color:#991b1b}.rc10-provider-light time{color:var(--ink-500);font-size:8px;text-align:right}.rc10-integration-monitor>footer{display:flex;justify-content:space-between;padding:10px 22px;border-top:1px solid var(--line);background:#f8fafc;color:var(--ink-500);font-size:8px}

.rc10-engine-health{margin-bottom:18px;overflow:hidden}.rc10-engine-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 22px 12px}.rc10-engine-health-grid>div{padding:12px;border-left:1px solid var(--line)}.rc10-engine-health-grid>div:first-child{border-left:0}.rc10-engine-health-grid span{display:block;color:var(--ink-500);font-size:8px}.rc10-engine-health-grid strong{display:block;margin-top:3px;color:var(--ink-900);font-size:10px}.rc10-engine-checks{grid-template-columns:repeat(5,minmax(0,1fr));padding:0 22px 14px}.rc10-engine-checks>div{justify-content:center;text-align:center}.rc10-engine-health>.help-text{padding:0 22px 18px}

.rc10-demo-access{margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.rc10-demo-access header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.rc10-demo-access header strong{display:block;font-size:10px}.rc10-demo-access header small{color:var(--ink-500);font-size:8px}.rc10-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.rc10-demo-grid button{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.rc10-demo-grid button:hover{border-color:var(--purple-300);background:var(--purple-50)}.rc10-demo-grid span{display:block;color:var(--ink-700);font-size:8.5px;font-weight:900}.rc10-demo-grid code{display:block;margin-top:3px;color:var(--purple-700);font-size:7.5px}

@media(max-width:1000px){.rc10-sandbox-grid,.rc10-client-finance-grid{grid-template-columns:1fr}.rc10-configure-row{grid-template-columns:minmax(240px,1fr) auto}.rc10-sandbox-meta{grid-column:1}.rc10-tenant-issues{padding-left:0}.rc10-support-filter form{grid-template-columns:1fr 180px}.rc10-support-filter .button,.rc10-switch{align-self:end}.rc10-engine-health-grid{grid-template-columns:repeat(2,1fr)}.rc10-engine-checks{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.rc10-page-intro,.rc10-ticket-row header,.rc10-invoice-list header,.rc10-invoice-list footer{align-items:flex-start;flex-direction:column}.rc10-support-filter form,.rc10-audit-command{grid-template-columns:1fr}.rc10-support-filter form{display:grid}.rc10-finance-tabs{grid-template-columns:1fr}.rc10-kv-list{grid-template-columns:1fr}.rc10-provider-light{grid-template-columns:18px minmax(0,1fr) auto}.rc10-provider-light time{grid-column:2/-1;text-align:left}.rc10-engine-health-grid,.rc10-engine-checks{grid-template-columns:1fr}.rc10-demo-grid{grid-template-columns:1fr}.rc10-configure-row{grid-template-columns:1fr}.rc10-audit-command form{flex-wrap:wrap}.rc10-audit-metrics{flex-wrap:wrap}.rc10-error-list>a{grid-template-columns:1fr}.rc10-invoice-list footer form{align-items:stretch;flex-direction:column;width:100%}.rc10-invoice-list footer input{min-width:0;width:100%}}

.rc10-error-resolution{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.rc10-resolved-note{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px 14px;border-radius:12px;background:#ecfdf3;color:#166534;font-size:10px;font-weight:800}
@media(max-width:720px){.rc10-error-resolution{grid-template-columns:1fr}}

/* RC11 · CLIENT PORTAL */
.rc11-product-inactive{opacity:.56;filter:grayscale(.35);cursor:not-allowed}.rc11-inactive-badge{display:inline-flex;margin-left:8px;padding:3px 7px;border:1px solid #cbd5e1;border-radius:999px;color:#64748b;background:#f8fafc;font-size:8px;font-weight:900;text-transform:uppercase}.rc11-products-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 24px}.rc11-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rc11-product-card{display:flex;flex-direction:column;padding:20px}.rc11-product-header{display:grid;grid-template-columns:1fr auto;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.rc11-product-header p{grid-column:1/-1;color:var(--ink-500);font-size:10px}.rc11-product-conditions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:15px 0;border-bottom:1px solid var(--line)}.rc11-product-conditions span{display:block;color:var(--ink-400);font-size:8px;font-weight:800;text-transform:uppercase}.rc11-product-conditions strong{font-size:10px}.rc11-product-price{min-height:54px;padding:14px 0}.rc11-product-capabilities{flex:1;padding-bottom:16px}.rc11-feature-matrix-card{margin-top:20px;overflow:hidden}.rc11-feature-matrix-head{padding:22px 24px 15px;border-bottom:1px solid var(--line)}.rc11-feature-matrix-scroll{overflow-x:auto}.rc11-feature-matrix{width:100%;min-width:700px;border-collapse:collapse}.rc11-feature-matrix th,.rc11-feature-matrix td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:center;font-size:10px}.rc11-feature-matrix th:first-child{width:48%;text-align:left}.rc11-feature-yes,.rc11-feature-no{display:inline-grid;place-items:center;width:25px;height:25px;border-radius:50%;font-weight:900}.rc11-feature-yes{background:#dcfce7;color:#166534}.rc11-feature-no{background:#f1f5f9;color:#94a3b8}.rc11-chart-clickable{cursor:zoom-in}.rc11-chart-modal-card{max-width:760px}.rc11-chart-detail-table{max-height:58vh;overflow:auto;margin:0 22px 18px}.rc11-seat-meter{display:grid;text-align:right;gap:2px}.rc11-seat-meter span,.rc11-seat-meter small{font-size:9px;color:var(--ink-500)}.rc11-user-create-form{padding:0 22px 20px}@media(max-width:1000px){.rc11-product-grid{grid-template-columns:1fr}}@media(max-width:700px){.rc11-products-intro{flex-direction:column;align-items:flex-start}.rc11-product-conditions{grid-template-columns:1fr}}

/* RC13 - cliente final */
.rc13-product-feature-list{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.rc13-product-feature-list h4{font-size:10px;margin:0 0 8px;color:var(--ink-800)}
.rc13-product-feature-list div,.rc11-product-capabilities div{display:flex;gap:8px;align-items:flex-start;padding:5px 0;font-size:10px;color:var(--ink-600)}
.rc13-product-feature-list .unavailable,.rc11-product-capabilities .unavailable{opacity:.48}
.rc13-insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rc13-insight-grid div{padding:10px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.rc13-insight-grid span{display:block;font-size:8px;font-weight:900;text-transform:uppercase;color:var(--ink-400);margin-bottom:4px}
.rc13-insight-grid strong{font-size:11px;color:var(--ink-800)}
@media(max-width:700px){.rc13-insight-grid{grid-template-columns:1fr}}
