/* Idrak AI Agent Studio styles extracted from AgenticAI.html in V3. */
:root{
    --bg:#111111;
    --bg2:#171717;
    --bg3:#1d1d1d;
    --ink:#FFFFFF;
    --muted:#9A9A9A;
    --faint:#6a6a6a;
    --line:#2A2A2A;
    --line2:#383838;
    --accent:#05B7A5;
    --accent-dim:rgba(5,183,165,.12);
    --teal-line:rgba(5,183,165,.5);
    --teal-soft:rgba(5,183,165,.3);
    --sans:'Plus Jakarta Sans',system-ui,sans-serif;
    --mono:'JetBrains Mono',ui-monospace,monospace;
    --radius:14px;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden}
  ::selection{background:var(--ink);color:var(--bg)}
  canvas#lattice{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.6}
  .wrap{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 28px}
  @media(max-width:560px){.wrap{padding:0 20px}}

  /* header */
  header.bar{position:sticky;top:0;z-index:30;background:rgba(17,17,17,.72);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
  .bar-in{display:flex;align-items:center;justify-content:space-between;height:70px}
  .brand{display:flex;align-items:center;gap:13px;cursor:pointer;text-decoration:none;color:inherit}
  .brand .logoSvg{height:26px;width:auto;display:block}
  .brand .wm{font-weight:800;font-size:19px;letter-spacing:-.01em}
  .brand .wm span{color:var(--muted);font-weight:500}
  .brand .div{width:1px;height:20px;background:var(--line2)}
  .brand .sub{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
  .live{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;cursor:pointer}
  .live .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2.4s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(5,183,165,.5)}70%{box-shadow:0 0 0 7px rgba(5,183,165,0)}100%{box-shadow:0 0 0 0 rgba(5,183,165,0)}}
  @media(max-width:620px){.brand .sub,.brand .div{display:none}.live .txt{display:none}}

  /* hero */
  .hero{padding:96px 0 40px}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;margin-bottom:28px}
  .eyebrow::before{content:"";width:30px;height:1px;background:var(--line2)}
  .hero h1{font-size:clamp(38px,6.6vw,80px);line-height:.98;letter-spacing:-.025em;font-weight:800;text-transform:uppercase;margin:0 0 26px;max-width:14ch}
  .hero h1 .l2{color:var(--muted)}
  .hero p{font-size:clamp(16px,2vw,19px);color:var(--muted);max-width:600px;margin:0}
  .pillars{display:flex;flex-wrap:wrap;gap:0;margin-top:38px;border-top:1px solid var(--line)}
  .pillar{flex:1;min-width:180px;padding:18px 0 0;border-right:1px solid var(--line);padding-right:22px;margin-right:22px}
  .pillar:last-child{border-right:none;margin-right:0}
  .pillar .n{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}
  .pillar .t{font-weight:700;font-size:15px;margin-top:6px}
  @media(max-width:620px){.pillar{min-width:100%;border-right:none;margin-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:14px}.pillar:last-child{border-bottom:none}}

  /* section head */
  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:78px 0 26px;flex-wrap:wrap}
  .sec-head .l{max-width:640px}
  .sec-head h2{font-size:clamp(24px,3.4vw,34px);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 8px;line-height:1.05}
  .sec-head p{color:var(--muted);font-size:15px;margin:0}
  .sec-head .count{font-family:var(--mono);font-size:13px;color:var(--muted);white-space:nowrap}

  /* grid */
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  @media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.grid{grid-template-columns:1fr}}
  .card{position:relative;background:var(--bg);border:1px solid var(--accent);border-radius:14px;padding:26px 24px 56px;cursor:pointer;transition:background .25s,box-shadow .25s,transform .25s}
  .card:hover{background:var(--bg2);box-shadow:0 14px 34px -20px var(--accent);transform:translateY(-3px)}
  .card .idx{font-family:var(--mono);font-size:12px;color:var(--faint);letter-spacing:.08em}
  .card .ico{width:44px;height:44px;border:1px solid var(--teal-soft);border-radius:11px;display:grid;place-items:center;margin:20px 0 18px;transition:border-color .25s,background .25s}
  .card:hover .ico{border-color:var(--accent)}
  .card .ico i{width:21px;height:21px;color:var(--ink)}
  .card .ico svg{width:22px;height:22px;color:var(--accent)}
  .card h3{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 10px;line-height:1.2;color:var(--accent)}
  .card p{font-size:13.5px;color:var(--muted);margin:0;line-height:1.55}
  .card .tag{position:absolute;left:24px;bottom:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
  .card .go{position:absolute;right:22px;bottom:20px;color:var(--ink);opacity:0;transform:translateX(-6px);transition:.25s}
  .card:hover .go{opacity:1;transform:translateX(0)}
  .card .go i{width:18px;height:18px}

  /* footer */
  footer{border-top:1px solid var(--line);margin-top:90px;padding:40px 0 56px}
  .fin-top{display:flex;align-items:center;gap:14px;margin-bottom:22px}
  .fin-top .logoSvg{height:30px;width:auto;display:block}
  .fin-top .ln{font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
  .fin-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13px}
  .fin-note{color:var(--faint);font-size:12px;margin-top:18px;max-width:680px;line-height:1.6}

  /* workspace */
  .ws{position:fixed;top:70px;right:0;bottom:0;left:0;z-index:20;background:var(--bg);overflow-y:auto;display:none}
  .ws.open{display:block;animation:fade .3s ease}
  @keyframes fade{from{opacity:0}to{opacity:1}}
  .ws-bar{position:sticky;top:0;z-index:5;background:rgba(17,17,17,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--teal-soft)}
  .ws-bar-in{max-width:1200px;margin:0 auto;padding:0 28px;height:70px;display:flex;align-items:center;gap:18px}
  .back{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--teal-line);background:transparent;color:var(--ink);font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-radius:100px;padding:9px 16px;cursor:pointer;transition:.2s}
  .back:hover{background:var(--accent);color:#04231f;border-color:var(--accent)}
  .back i{width:14px;height:14px}
  .ws-title{display:flex;align-items:center;gap:11px;font-weight:700;font-size:14px}
  .ws-title .ico{width:30px;height:30px;border:1px solid var(--teal-soft);border-radius:8px;display:grid;place-items:center}
  .ws-title .ico i{width:16px;height:16px;color:var(--ink)}
  .ws-title .ico svg{width:16px;height:16px;color:var(--ink)}
  @media(max-width:560px){.ws-title span:last-child{display:none}}

  .ws-body{max-width:1200px;margin:0 auto;padding:40px 28px 100px}
  .ws-lead{max-width:720px;margin-bottom:30px}
  .ws-lead h1{font-size:clamp(26px,4.2vw,42px);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 14px;font-weight:800;line-height:1.02}
  .ws-lead p{color:var(--muted);font-size:16px;margin:0}

  .tabs{display:inline-flex;gap:0;border:1px solid var(--accent);border-radius:100px;padding:4px;margin-bottom:26px}
  .tab{border:none;background:transparent;color:var(--accent);font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:10px 18px;border-radius:100px;cursor:pointer;transition:.2s;white-space:nowrap}
  .tab.active{background:var(--accent);color:#04231f}

  .panes{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--teal-soft);border:1px solid var(--accent);border-radius:var(--radius);overflow:hidden}
  @media(max-width:880px){.panes{grid-template-columns:1fr}}
  .pane{background:var(--bg);padding:24px}
  .pane h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500;margin:0 0 18px;display:flex;align-items:center;gap:9px}
  .pane h4 i{width:14px;height:14px;color:var(--ink)}

  .drop{border:1px dashed var(--teal-line);border-radius:12px;padding:26px 18px;text-align:center;color:var(--muted);cursor:pointer;transition:.2s;margin-bottom:14px}
  .drop:hover,.drop.drag{border-color:var(--accent);color:var(--ink);background:var(--bg2)}
  .drop i{width:24px;height:24px;color:var(--ink);margin-bottom:8px}
  .drop .t{font-weight:600;font-size:14px;color:var(--ink)}
  .drop .s{font-size:12px;margin-top:4px}
  .files{list-style:none;padding:0;margin:0 0 14px}
  .files li{display:flex;align-items:flex-start;gap:10px;font-size:13px;background:var(--bg2);border:1px solid var(--teal-soft);border-radius:9px;padding:9px 12px;margin-bottom:7px;min-width:0}
  .files li i.doc{width:15px;height:15px;color:var(--ink);flex:none}
  .files li .nm{flex:1;min-width:0;overflow-wrap:anywhere;word-break:break-word;white-space:normal;line-height:1.38}
  .files li .rm{cursor:pointer;color:var(--muted);flex:none;border:1px solid var(--teal-soft);background:transparent;border-radius:999px;padding:5px 8px;display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
  .files li .rm:hover{color:var(--ink);border-color:var(--accent)}
  .files li .rm i{width:13px;height:13px}

  .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:18px 0 9px;display:block}
  .lbl .opt{text-transform:none;letter-spacing:0;color:var(--faint)}
  textarea{width:100%;background:var(--bg2);border:1px solid var(--teal-line);border-radius:11px;color:var(--ink);font-family:var(--sans);font-size:14px;padding:13px 14px;resize:vertical;min-height:92px;line-height:1.55}
  textarea:focus{outline:none;border-color:var(--accent)}
  textarea::placeholder{color:var(--faint)}
  .src-box{min-height:150px}

  .run{margin-top:18px;width:100%;border:none;background:var(--accent);color:#04231f;font-family:var(--mono);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:13px;border-radius:11px;padding:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;transition:.2s}
  .run:hover{background:#07d6c1;color:#04231f}
  .run:disabled{opacity:.5;cursor:not-allowed}
  .run i{width:16px;height:16px}

  .out{min-height:300px;min-width:0;overflow-wrap:anywhere}
  .out-empty{color:var(--faint);font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center;gap:13px}
  .out-empty i{width:32px;height:32px;color:var(--line2)}
  .grounded-banner{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--teal-soft);border-left:2px solid var(--accent);border-radius:8px;padding:12px 14px;margin-bottom:18px;font-size:12.5px;color:var(--muted)}
  .grounded-banner i{width:16px;height:16px;color:var(--accent);flex:none;margin-top:1px}
  .grounded-banner b{color:var(--ink);font-weight:700}
  .answer{font-size:14.5px;line-height:1.68;color:#e9e9e9}
  .answer h1,.answer h2,.answer h3{font-size:15px;text-transform:uppercase;letter-spacing:.02em;margin:20px 0 9px;color:var(--ink);font-weight:700}
  .answer p{margin:0 0 12px}
  .answer ul,.answer ol{margin:0 0 13px;padding-left:20px}
  .answer li{margin-bottom:6px}
  .answer table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13px}
  .answer th,.answer td{border:1px solid var(--line2);padding:8px 11px;text-align:left}
  .answer th{background:var(--bg2);color:var(--ink);font-weight:600;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
  .answer code{font-family:var(--mono);background:var(--bg2);padding:1px 6px;border-radius:5px;font-size:12.5px;color:var(--accent)}
  .answer strong{color:var(--ink)}
  .answer blockquote{border-left:2px solid var(--line2);margin:0 0 12px;padding:3px 0 3px 14px;color:var(--muted)}
  /* Compact source citations: visible as a small tag, full quote shown on hover/focus. */
  .cite{
    position:relative;
    font-family:var(--mono);
    font-size:10px;
    line-height:1.2;
    color:var(--accent);
    border:1px solid rgba(5,183,165,.34);
    background:rgba(5,183,165,.08);
    border-radius:999px;
    padding:2px 7px;
    display:inline-flex;
    align-items:center;
    gap:3px;
    margin:0 0 0 5px;
    vertical-align:baseline;
    cursor:help;
    white-space:nowrap;
  }
  .cite:hover,.cite:focus{outline:none;border-color:rgba(5,183,165,.72);background:rgba(5,183,165,.14);color:#d9fffb}
  .cite:hover::after,.cite:focus::after{
    content:attr(data-cite);
    position:absolute;
    left:0;
    bottom:calc(100% + 8px);
    z-index:50;
    width:min(360px,70vw);
    white-space:normal;
    color:#f4f4f4;
    background:#131313;
    border:1px solid rgba(5,183,165,.42);
    box-shadow:0 18px 45px rgba(0,0,0,.42);
    border-radius:10px;
    padding:9px 11px;
    font-family:var(--body);
    font-size:12px;
    line-height:1.45;
    text-transform:none;
    letter-spacing:0;
  }

  .loader{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:18px;color:var(--muted)}
  .spin{width:30px;height:30px;border:2px solid var(--line2);border-top-color:var(--accent);border-radius:50%;animation:sp 1s linear infinite}
  @keyframes sp{to{transform:rotate(360deg)}}
  .loader .step{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}

  .err{border:1px solid var(--teal-soft);border-left:2px solid var(--accent);border-radius:8px;padding:15px;color:var(--muted);font-size:13.5px;line-height:1.6}
  .err b{color:var(--ink)}
  .err code{font-family:var(--mono);background:var(--bg2);padding:1px 6px;border-radius:5px;color:var(--accent);font-size:12px}

  .demo-note{font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:14px;display:flex;gap:9px;align-items:flex-start}
  .demo-note i{width:14px;height:14px;color:var(--accent);flex:none;margin-top:2px}
  .demo-note b{color:var(--ink)}

  .chunk-progress{border:1px solid var(--teal-soft);border-radius:10px;padding:13px 14px;background:var(--bg2);font-size:13px;color:var(--muted);margin-bottom:14px}
  .chunk-progress b{color:var(--ink)}
  .chunk-progress .bar{height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:10px}
  .chunk-progress .bar span{display:block;height:100%;background:var(--accent);width:0%;transition:width .25s ease}

  /* V4 Step 6 — server-side RAG upload status */
  .files li .nm b{display:block;font-weight:600;color:var(--ink);overflow-wrap:anywhere;word-break:break-word;white-space:normal}
  .files li .nm small{display:block;margin-top:3px;color:var(--faint);font-size:11.5px;line-height:1.35;overflow-wrap:anywhere}
  .files li.file-indexed{border-color:rgba(7,214,193,.35)}
  .files li.file-error{border-color:rgba(255,150,120,.38)}
  .files li .rm span{display:inline-block}
  @media(max-width:520px){.files li{gap:8px;padding:9px}.files li .rm span{display:none}.files li .rm{padding:6px}}


/* V4_STEP_6_7_OUTPUT_TABLE_CONTRAST_FIX */
.answer table{
  color:var(--ink) !important;
  background:rgba(255,255,255,.012);
  border:1px solid var(--line2);
  border-radius:8px;
  overflow:hidden;
}
.answer table,
.answer table *{
  opacity:1 !important;
}
.answer th,
.answer td{
  color:#e9e9e9 !important;
  background:transparent !important;
  border-color:rgba(255,255,255,.18) !important;
  vertical-align:top;
}
.answer th{
  color:#ffffff !important;
  background:rgba(255,255,255,.055) !important;
  font-weight:700;
}
.answer td strong,
.answer td b,
.answer th strong,
.answer th b{
  color:#ffffff !important;
}
.answer tr:nth-child(even) td{
  background:rgba(255,255,255,.025) !important;
}
.answer a{
  color:var(--accent) !important;
}


/* V4_STEP9_LAYOUT_CONTAINMENT_FIX
   Keeps Agent Studio readable when answers include wide tables, long filenames, long citations, or large financial tables. */
@media (min-width: 881px){
  .ws-body,
  .ws-bar-in{
    max-width:1280px;
  }
  .panes{
    grid-template-columns:minmax(320px, 360px) minmax(0, 1fr);
    align-items:stretch;
  }
  .panes .pane:first-child{
    min-width:320px;
    max-width:360px;
  }
}

.panes,
.pane,
.out,
.answer{
  min-width:0;
  max-width:100%;
}

.pane{
  overflow:hidden;
}

.panes .pane:nth-child(2){
  overflow:hidden;
}

.out{
  overflow:hidden;
}

.answer{
  overflow-wrap:break-word;
  word-break:normal;
}

.answer p,
.answer li,
.answer blockquote,
.answer h1,
.answer h2,
.answer h3{
  max-width:82ch;
}

.answer img,
.answer svg{
  max-width:100%;
  height:auto;
}

.table-scroll{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  margin:14px 0 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(255,255,255,.018);
  -webkit-overflow-scrolling:touch;
}

.table-scroll table{
  margin:0 !important;
  width:max-content !important;
  min-width:720px;
  max-width:none !important;
  border:none !important;
  border-radius:0 !important;
}

.table-scroll table th,
.table-scroll table td{
  min-width:110px;
  max-width:260px;
  overflow-wrap:break-word;
  word-break:normal;
  white-space:normal;
}

.table-scroll table th:first-child,
.table-scroll table td:first-child{
  min-width:150px;
}

.pre-scroll{
  max-width:100%;
  overflow-x:auto;
  margin:12px 0 16px;
  border-radius:8px;
  -webkit-overflow-scrolling:touch;
}

.pre-scroll pre{
  margin:0 !important;
  min-width:max-content;
}

.answer pre,
.answer code{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.files li{
  align-items:center;
  overflow:hidden;
}

.files li .nm,
.files li .nm b,
.files li .nm small{
  min-width:0;
  max-width:100%;
}

.files li .nm b{
  display:block;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.files li .nm small{
  display:block;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.files li .rm{
  max-width:92px;
}

.grounded-banner{
  max-width:100%;
  overflow-wrap:break-word;
}

@media (max-width: 880px){
  .panes{
    grid-template-columns:1fr;
  }
  .pane{
    overflow:hidden;
  }
  .table-scroll table{
    min-width:640px;
  }
}

@media (max-width: 560px){
  .ws-body{
    padding-left:18px;
    padding-right:18px;
  }
  .pane{
    padding:18px;
  }
  .table-scroll table{
    min-width:560px;
  }
}

/* V4_STEP10_OUTPUT_FORMATS
   Visual treatment for agent-specific card outputs and smaller focused tables. */
.answer h2{
  margin-top:24px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.14);
}
.answer h2:first-child{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.answer-card{
  border:1px solid rgba(5,183,165,.28);
  border-left:3px solid rgba(5,183,165,.76);
  border-radius:12px;
  background:linear-gradient(180deg, rgba(5,183,165,.045), rgba(255,255,255,.014));
  padding:14px 16px 12px;
  margin:14px 0;
  max-width:82ch;
}
.answer-card-priority{
  border-color:rgba(5,183,165,.42);
  box-shadow:0 14px 32px -28px rgba(5,183,165,.75);
}
.answer-card h3{
  margin-top:0 !important;
  margin-bottom:10px !important;
  color:#ffffff !important;
  font-size:14px !important;
  display:flex;
  align-items:center;
  gap:8px;
}
.answer-card h3::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--accent);
  flex:none;
}
.answer-card p:last-child,
.answer-card ul:last-child,
.answer-card ol:last-child,
.answer-card table:last-child,
.answer-card .table-scroll:last-child{
  margin-bottom:0 !important;
}
.answer-card ul,
.answer-card ol{
  padding-left:18px;
}
.answer-card li{
  margin-bottom:5px;
}

.answer-card p{
  margin-bottom:8px;
}
.answer-card p strong:first-child,
.answer-card li strong:first-child{
  color:#ffffff;
  font-weight:700;
}
.answer-card .cite{
  margin-left:6px;
}
.answer .table-scroll::before{
  content:"Scroll table horizontally if needed";
  display:block;
  padding:7px 10px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--faint);
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.025);
}
.answer .table-scroll table th,
.answer .table-scroll table td{
  max-width:220px;
}
.answer .table-scroll table th:nth-child(n+5),
.answer .table-scroll table td:nth-child(n+5){
  max-width:180px;
}
.answer > ul:first-child,
.answer > ol:first-child{
  border:1px solid rgba(255,255,255,.12);
  border-left:3px solid var(--accent);
  border-radius:10px;
  background:rgba(255,255,255,.022);
  padding:12px 16px 12px 32px;
  max-width:82ch;
}
@media (max-width: 560px){
  .answer-card{padding:12px 13px;}
  .answer .table-scroll::before{font-size:9px;}
}


/* V4_STEP16_CONVERSATION_OUTPUT
   Keeps previous Agent Studio answers visible while new follow-up questions append below. */
.out-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}
.out-head h4{
  margin:0 !important;
}
.out-clear{
  border:1px solid var(--teal-soft);
  background:transparent;
  color:var(--muted);
  border-radius:999px;
  padding:7px 10px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  gap:6px;
  cursor:pointer;
  flex:none;
}
.out-clear:hover{color:var(--ink);border-color:var(--accent);background:rgba(5,183,165,.08)}
.out-clear i{width:13px;height:13px}
.conversation-list{display:flex;flex-direction:column;gap:14px;min-width:0;max-width:100%}
.conv-turn{
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  background:rgba(255,255,255,.018);
  overflow:hidden;
  min-width:0;
}
.conv-turn.open{
  border-color:rgba(5,183,165,.36);
  box-shadow:0 16px 38px -34px rgba(5,183,165,.6);
}
.conv-turn.pending{border-color:rgba(5,183,165,.48)}
.conv-toggle{
  width:100%;
  border:none;
  background:rgba(255,255,255,.025);
  color:var(--ink);
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  text-align:left;
  min-width:0;
}
.conv-toggle:hover{background:rgba(5,183,165,.055)}
.conv-q{display:flex;align-items:center;gap:10px;min-width:0;font-weight:650;font-size:13.5px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conv-num{font-family:var(--mono);font-size:10px;color:#04231f;background:var(--accent);border-radius:999px;padding:3px 7px;letter-spacing:.05em;flex:none}
.conv-meta{display:inline-flex;align-items:center;gap:8px;color:var(--faint);font-family:var(--mono);font-size:10px;letter-spacing:.06em;white-space:nowrap;flex:none}
.conv-meta i{width:15px;height:15px;transition:transform .2s ease;color:var(--muted)}
.conv-turn.open .conv-meta i{transform:rotate(180deg);color:var(--accent)}
.conv-body{display:none;padding:14px 16px 16px;min-width:0;max-width:100%}
.conv-turn.open .conv-body{display:block}
.conv-question{
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.018);
  border-radius:10px;
  padding:10px 12px;
  color:var(--muted);
  font-size:12.5px;
  margin-bottom:14px;
  overflow-wrap:break-word;
}
.conv-question b{color:var(--ink)}
.conv-answer{min-width:0;max-width:100%}
.conv-answer .loader{height:220px}
.conv-notice .conv-body{padding:14px}
.conv-notice .conv-answer .err{margin:0}
@media(max-width:560px){
  .out-head{align-items:flex-start}
  .conv-toggle{padding:11px 12px}
  .conv-body{padding:12px}
  .conv-q{font-size:13px}
  .conv-time{display:none}
}

/* V4_STEP16_1_CONVERSATION_READABILITY
   Hardens conversation collapse behavior and improves answer card readability. */
.conv-turn.collapsed .conv-body{display:none!important}
.conv-turn.open .conv-body{display:block!important}
.conv-turn.collapsed{background:rgba(255,255,255,.012);border-color:rgba(255,255,255,.08);box-shadow:none;}
.conv-turn.collapsed .conv-toggle{background:rgba(255,255,255,.018)}
.conv-turn.collapsed .conv-q{color:rgba(236,245,243,.72);font-weight:560}
.conv-turn.collapsed .conv-num{background:rgba(5,183,165,.22);color:var(--accent);border:1px solid rgba(5,183,165,.35)}
.conv-turn.collapsed .conv-meta i{transform:none!important;color:var(--faint)}
.conv-title{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:2px;}
.conv-num{margin-right:2px;}
.conv-toggle{min-height:48px;}
.conv-question{margin-top:2px;margin-bottom:16px;background:rgba(5,183,165,.035);border-color:rgba(5,183,165,.16);}

/* Larger, cleaner cards with labelled-field rows. */
.answer-card{
  max-width:100%;
  border:1px solid rgba(255,255,255,.105);
  border-left:4px solid rgba(5,183,165,.82);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  box-shadow:0 18px 38px -36px rgba(0,0,0,.75);
  padding:0;
  overflow:hidden;
  margin:16px 0;
}
.answer-card-priority{border-color:rgba(5,183,165,.34);box-shadow:0 18px 38px -34px rgba(5,183,165,.55)}
.answer-card h3{
  margin:0!important;
  padding:12px 16px!important;
  background:rgba(5,183,165,.075);
  border-bottom:1px solid rgba(255,255,255,.095);
  color:#fff!important;
  font-size:15px!important;
  line-height:1.35!important;
}
.answer-card h3::before{width:8px;height:8px;box-shadow:0 0 0 4px rgba(5,183,165,.12)}
.answer-card > p,
.answer-card > ul,
.answer-card > ol,
.answer-card > .table-scroll,
.answer-card > blockquote,
.answer-card > pre,
.answer-card > div:not(.table-scroll):not(.pre-scroll){
  margin-left:16px!important;
  margin-right:16px!important;
}
.answer-card > p:first-of-type,
.answer-card > ul:first-of-type,
.answer-card > ol:first-of-type{margin-top:14px!important}
.answer-card > p:last-child,
.answer-card > ul:last-child,
.answer-card > ol:last-child,
.answer-card > .table-scroll:last-child{margin-bottom:14px!important}
.answer-card p,
.answer-card li{font-size:14px;line-height:1.65;color:rgba(236,245,243,.88)}
.answer-card ul,.answer-card ol{padding-left:22px}
.field-label{
  display:inline-block;
  min-width:112px;
  margin-top:5px;
  color:var(--accent);
  font-weight:750;
  font-size:12px;
  letter-spacing:.015em;
}
.answer-card .cite{
  display:inline-flex;
  vertical-align:baseline;
  margin-left:5px;
  transform:translateY(-1px);
}
.answer .cite{
  font-size:10px;
  color:var(--accent);
  background:rgba(5,183,165,.09);
  border-color:rgba(5,183,165,.28);
}
.answer h2{font-size:17px;letter-spacing:-.01em;margin-top:26px;margin-bottom:12px;color:#fff}
.answer p{line-height:1.65}
.answer .table-scroll{border-radius:12px;border-color:rgba(255,255,255,.12);}
.answer .table-scroll::before{content:"Table scrolls horizontally when needed";}
@media(max-width:560px){
  .answer-card h3{padding:11px 13px!important;font-size:14px!important}
  .answer-card > p,.answer-card > ul,.answer-card > ol,.answer-card > .table-scroll,.answer-card > blockquote,.answer-card > pre,.answer-card > div:not(.table-scroll):not(.pre-scroll){margin-left:13px!important;margin-right:13px!important}
  .field-label{display:block;min-width:0;margin-bottom:1px}
}

/* V4_STEP16_2_FINDING_CARDS
   Business-dashboard finding cards: clearer headers, status badges, labelled fields, compact citations. */
.answer-card{
  margin:18px 0!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:18px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022))!important;
  box-shadow:0 20px 50px -42px rgba(0,0,0,.9)!important;
  overflow:hidden!important;
  border-left:0!important;
}
.answer-card-priority{
  border-color:rgba(5,183,165,.28)!important;
  box-shadow:0 20px 54px -44px rgba(5,183,165,.6)!important;
}
.answer-card h3{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:48px!important;
  margin:0!important;
  padding:14px 18px!important;
  background:
    linear-gradient(90deg, rgba(5,183,165,.14), rgba(5,183,165,.035))!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  font-size:15.5px!important;
  font-weight:760!important;
  letter-spacing:.005em!important;
  line-height:1.28!important;
}
.answer-card h3::before{display:none!important;content:none!important}
.finding-card-title{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.status-badge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:rgba(236,245,243,.9);
  font-family:var(--mono);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.status-fixed{background:rgba(5,183,165,.14);border-color:rgba(5,183,165,.42);color:#98fff1}
.status-tba,.status-partial{background:rgba(245,181,73,.13);border-color:rgba(245,181,73,.42);color:#ffd58d}
.status-missing,.status-high-risk{background:rgba(255,104,104,.13);border-color:rgba(255,104,104,.42);color:#ffaaaa}
.status-conflicting{background:rgba(164,116,255,.13);border-color:rgba(164,116,255,.42);color:#d7c2ff}
.finding-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:0!important;
  padding:2px 18px 16px;
}
.finding-field{
  padding:14px 14px 13px;
  border-bottom:1px solid rgba(255,255,255,.075);
  min-width:0;
}
.finding-field:nth-child(odd){border-right:1px solid rgba(255,255,255,.06)}
.finding-field-status,
.finding-field-evidence,
.finding-field-risk-boundary,
.finding-field-protection-missing-protection,
.finding-field-recommendation{
  grid-column:1 / -1;
  border-right:0!important;
}
.finding-label{
  margin:0 0 6px;
  color:rgba(5,183,165,.92);
  font-family:var(--mono);
  font-size:10.5px;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.finding-value{
  color:rgba(236,245,243,.92);
  font-size:14px;
  line-height:1.58;
  overflow-wrap:anywhere;
}
.finding-field-status .finding-value{
  font-weight:740;
  color:#fff;
}
.finding-field-risk-boundary .finding-value,
.finding-field-protection-missing-protection .finding-value{
  color:rgba(236,245,243,.86);
}
.finding-field-evidence .finding-value{
  color:rgba(236,245,243,.62);
  font-size:12px;
}
.answer-card > p,
.answer-card > ul,
.answer-card > ol,
.answer-card > .table-scroll,
.answer-card > blockquote,
.answer-card > pre,
.answer-card > div:not(.table-scroll):not(.pre-scroll):not(.finding-fields){
  margin-left:18px!important;
  margin-right:18px!important;
}
.answer-card > p:first-of-type,
.answer-card > ul:first-of-type,
.answer-card > ol:first-of-type{margin-top:16px!important}
.answer-card > p:last-child,
.answer-card > ul:last-child,
.answer-card > ol:last-child,
.answer-card > .table-scroll:last-child,
.answer-card > div:last-child{margin-bottom:16px!important}
.answer-card p,
.answer-card li{font-size:14.2px!important;line-height:1.68!important;color:rgba(236,245,243,.88)!important}
.answer-card ul,.answer-card ol{padding-left:22px!important}
.answer .cite{
  display:inline-flex!important;
  align-items:center!important;
  gap:4px!important;
  margin-left:6px!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  color:rgba(5,183,165,.98)!important;
  background:rgba(5,183,165,.105)!important;
  border:1px solid rgba(5,183,165,.28)!important;
  font-family:var(--mono)!important;
  font-size:9.5px!important;
  font-weight:760!important;
  letter-spacing:.05em!important;
  cursor:help!important;
  position:relative!important;
  white-space:nowrap!important;
}
.answer .cite::after{
  content:attr(data-cite);
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  z-index:50;
  width:max-content;
  max-width:min(420px,70vw);
  padding:10px 12px;
  border-radius:12px;
  background:rgba(9,20,22,.98);
  border:1px solid rgba(5,183,165,.35);
  box-shadow:0 18px 45px -22px rgba(0,0,0,.95);
  color:rgba(236,245,243,.92);
  font-family:var(--sans);
  font-size:12px;
  font-weight:520;
  line-height:1.45;
  letter-spacing:0;
  white-space:normal;
  opacity:0;
  pointer-events:none;
  transform:translateY(4px);
  transition:opacity .16s ease, transform .16s ease;
}
.answer .cite:hover::after,
.answer .cite:focus::after{opacity:1;transform:translateY(0)}
.answer h2{
  margin-top:30px!important;
  margin-bottom:14px!important;
  padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:#fff!important;
  font-size:18px!important;
}
@media(max-width:760px){
  .finding-fields{grid-template-columns:1fr;padding:2px 14px 14px}
  .finding-field{border-right:0!important;padding:13px 0}
  .answer-card h3{padding:13px 14px!important;align-items:flex-start!important;flex-direction:column!important;gap:8px!important}
  .finding-card-title{white-space:normal}
}


/* V4_STEP16_3_REPORT_CARDS
   Moves source-grounded notice to one top banner and exposes FDD headline sections. */
.source-policy-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border:1px solid rgba(5,183,165,.28);
  border-radius:16px;
  background:
    radial-gradient(circle at top left, rgba(5,183,165,.13), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.016));
  padding:16px 18px;
  margin:0 0 18px;
  box-shadow:0 16px 42px -38px rgba(5,183,165,.8);
}
.source-policy-main{min-width:0}
.source-policy-kicker{
  display:block;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:6px;
}
.source-policy-main strong{
  display:block;
  color:#fff;
  font-size:15px;
  font-weight:780;
  letter-spacing:-.01em;
  margin-bottom:4px;
}
.source-policy-main p{
  margin:0;
  color:rgba(236,245,243,.66);
  font-size:12.5px;
  line-height:1.55;
  max-width:76ch;
}
.source-policy-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.source-policy-tags span{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(5,183,165,.24);
  background:rgba(5,183,165,.07);
  color:rgba(236,245,243,.72);
  border-radius:999px;
  padding:6px 9px;
  font-family:var(--mono);
  font-size:9.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
}
.document-intel-banner{
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(5,183,165,.04);
}
.answer-special-section{
  max-width:100%;
  margin:18px 0 22px;
}
.answer-special-section h2,
.answer-special-section h3{
  border-top:0!important;
  padding-top:0!important;
}
.decision-snapshot-card{
  position:relative;
  border:1px solid rgba(5,183,165,.34);
  border-radius:20px;
  background:
    radial-gradient(circle at 18px 18px, rgba(5,183,165,.16), transparent 36%),
    linear-gradient(180deg, rgba(5,183,165,.075), rgba(255,255,255,.02));
  padding:22px 24px 20px;
  box-shadow:0 24px 70px -52px rgba(5,183,165,.85);
  overflow:hidden;
}
.decision-snapshot-card::before{
  content:"Decision-critical summary";
  display:inline-flex;
  margin-bottom:10px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
}
.decision-snapshot-card h2,
.decision-snapshot-card h3{
  margin:0 0 14px!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:820!important;
  line-height:1.2!important;
  letter-spacing:-.035em!important;
  text-transform:none!important;
}
.decision-snapshot-card ul,
.decision-snapshot-card ol{
  margin:0!important;
  padding-left:0!important;
  list-style:none!important;
  display:grid;
  gap:10px;
}
.decision-snapshot-card li{
  position:relative;
  margin:0!important;
  padding:12px 14px 12px 38px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(0,0,0,.16);
  color:rgba(236,245,243,.9)!important;
  font-size:14.5px!important;
  line-height:1.55!important;
}
.decision-snapshot-card li::before{
  content:"";
  position:absolute;
  left:15px;
  top:20px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 5px rgba(5,183,165,.13);
}
.financial-table-hero{
  border:1px solid rgba(5,183,165,.42);
  border-radius:20px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow:0 24px 70px -54px rgba(5,183,165,.8);
  padding:0;
  overflow:hidden;
}
.financial-table-hero h2,
.financial-table-hero h3{
  margin:0!important;
  padding:18px 22px 16px!important;
  background:linear-gradient(90deg, rgba(5,183,165,.17), rgba(5,183,165,.035));
  border-bottom:1px solid rgba(5,183,165,.22)!important;
  color:#fff!important;
  font-size:21px!important;
  font-weight:820!important;
  letter-spacing:-.03em!important;
  text-transform:none!important;
}
.financial-table-hero h2::after,
.financial-table-hero h3::after{
  content:"Main financial view";
  display:block;
  margin-top:6px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:650;
}
.financial-table-hero .table-scroll{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(0,0,0,.08);
}
.financial-table-hero .table-scroll::before{
  content:"Headline financial metrics"!important;
  padding:11px 16px!important;
  background:rgba(0,0,0,.18)!important;
  color:rgba(236,245,243,.68)!important;
  border-bottom:1px solid rgba(255,255,255,.1)!important;
}
.financial-table-hero table{
  margin:0!important;
  font-size:13.5px!important;
}
.financial-table-hero th{
  background:rgba(255,255,255,.075)!important;
  color:#fff!important;
}
.financial-table-hero td,
.financial-table-hero th{
  padding:12px 14px!important;
}
/* Clearer vertical finding cards: less dense than the previous two-column card grid. */
.answer-card{
  border:1px solid rgba(255,255,255,.16)!important;
  border-left:4px solid rgba(5,183,165,.78)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018))!important;
  box-shadow:0 18px 46px -40px rgba(0,0,0,.88)!important;
}
.answer-card h3{
  min-height:0!important;
  padding:15px 18px!important;
  background:rgba(255,255,255,.04)!important;
}
.finding-fields{
  display:block!important;
  padding:12px 18px 18px!important;
}
.finding-field{
  border:1px solid rgba(255,255,255,.09)!important;
  border-radius:12px!important;
  background:rgba(0,0,0,.12)!important;
  padding:12px 14px!important;
  margin:0 0 10px!important;
}
.finding-field:last-child{margin-bottom:0!important}
.finding-label{
  margin-bottom:6px!important;
  color:rgba(5,183,165,.96)!important;
  font-size:10px!important;
}
.finding-value{
  font-size:14.5px!important;
  line-height:1.58!important;
  color:rgba(236,245,243,.91)!important;
}
.finding-field-status{
  border-color:rgba(5,183,165,.22)!important;
  background:rgba(5,183,165,.055)!important;
}
.finding-field-evidence .finding-value{
  font-size:12.5px!important;
  color:rgba(236,245,243,.68)!important;
}
@media(max-width:760px){
  .source-policy-banner{grid-template-columns:1fr}
  .source-policy-tags{justify-content:flex-start}
  .decision-snapshot-card{padding:18px}
  .decision-snapshot-card h2,.decision-snapshot-card h3,
  .financial-table-hero h2,.financial-table-hero h3{font-size:18px!important}
}

/* V4 Step 16.4 — report card polish */
.answer-special-section{
  width:100%;
  box-sizing:border-box;
}
.decision-snapshot-card{
  border:1px solid rgba(5,183,165,.36)!important;
  border-left:1px solid rgba(5,183,165,.36)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg, rgba(5,183,165,.09), rgba(255,255,255,.025))!important;
  padding:0!important;
  box-shadow:0 20px 60px -52px rgba(5,183,165,.75)!important;
}
.decision-snapshot-card::before{display:none!important;content:none!important}
.decision-snapshot-card h2,
.decision-snapshot-card h3,
.decision-snapshot-card p:first-child{
  margin:0!important;
  padding:17px 20px 14px!important;
  border-bottom:1px solid rgba(5,183,165,.22)!important;
  background:linear-gradient(90deg, rgba(5,183,165,.20), rgba(5,183,165,.055))!important;
  color:#fff!important;
  font-size:21px!important;
  font-weight:830!important;
  line-height:1.2!important;
  letter-spacing:-.035em!important;
}
.decision-snapshot-card h2::after,
.decision-snapshot-card h3::after,
.decision-snapshot-card p:first-child::after{
  content:"Decision-critical summary";
  display:block;
  margin-top:6px;
  font-family:var(--mono);
  font-size:10px;
  line-height:1.25;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(5,183,165,.95);
  font-weight:650;
}
.decision-snapshot-card ul,
.decision-snapshot-card ol{
  padding:16px 20px 18px!important;
  margin:0!important;
  display:grid!important;
  gap:10px!important;
}
.decision-snapshot-card li{
  padding:12px 14px 12px 38px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  background:rgba(0,0,0,.15)!important;
  border-radius:13px!important;
  font-size:14.25px!important;
  line-height:1.55!important;
}
.financial-table-hero{
  border:1px solid rgba(5,183,165,.40)!important;
  border-left:1px solid rgba(5,183,165,.40)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg, rgba(5,183,165,.075), rgba(255,255,255,.02))!important;
  overflow:hidden!important;
  box-shadow:0 20px 60px -50px rgba(5,183,165,.75)!important;
}
.financial-table-hero h2,
.financial-table-hero h3,
.financial-table-hero p:first-child{
  margin:0!important;
  padding:18px 20px 15px!important;
  background:linear-gradient(90deg, rgba(5,183,165,.22), rgba(5,183,165,.06))!important;
  border-bottom:1px solid rgba(5,183,165,.24)!important;
  color:#fff!important;
  font-size:22px!important;
  font-weight:840!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
.financial-table-hero h2::after,
.financial-table-hero h3::after,
.financial-table-hero p:first-child::after{
  content:"Main financial view";
  display:block;
  margin-top:6px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(5,183,165,.95);
  font-weight:650;
}
.financial-table-hero .table-scroll{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  overflow-x:auto!important;
  background:rgba(0,0,0,.10)!important;
}
.financial-table-hero .table-scroll::before{
  content:"Headline financial metrics"!important;
  display:block!important;
  padding:11px 16px!important;
  background:rgba(0,0,0,.18)!important;
  color:rgba(236,245,243,.68)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
.financial-table-hero table{
  width:100%!important;
  min-width:100%!important;
  table-layout:fixed!important;
  margin:0!important;
  border-collapse:collapse!important;
}
.financial-table-hero th,
.financial-table-hero td{
  box-sizing:border-box!important;
  overflow-wrap:anywhere!important;
}
.answer-card{
  border:1px solid rgba(255,255,255,.15)!important;
  border-left:1px solid rgba(255,255,255,.15)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018))!important;
  box-shadow:0 18px 46px -42px rgba(0,0,0,.9)!important;
  overflow:hidden!important;
}
.answer-card.answer-card-priority{
  border-color:rgba(5,183,165,.22)!important;
  border-left-color:rgba(5,183,165,.22)!important;
}
.answer-card h3{
  margin:0!important;
  padding:14px 17px!important;
  background:linear-gradient(90deg, rgba(5,183,165,.16), rgba(5,183,165,.045))!important;
  border-bottom:1px solid rgba(5,183,165,.16)!important;
  color:#fff!important;
}
.answer-card h3 .finding-card-title{
  color:#fff!important;
}
.finding-fields{
  padding:14px 17px 17px!important;
}
.finding-field{
  border:1px solid rgba(255,255,255,.09)!important;
  background:rgba(0,0,0,.115)!important;
  border-radius:12px!important;
}
.finding-label{
  color:rgba(5,183,165,.96)!important;
}
@media(max-width:760px){
  .decision-snapshot-card h2,.decision-snapshot-card h3,.decision-snapshot-card p:first-child,
  .financial-table-hero h2,.financial-table-hero h3,.financial-table-hero p:first-child{font-size:18px!important}
  .financial-table-hero table{table-layout:auto!important;min-width:680px!important}
}


/* V4 Step 16.5 — table label alignment and section-boundary polish */
.answer .table-scroll::before,
.financial-table-hero .table-scroll::before{
  display:none!important;
  content:none!important;
}
.table-scroll{
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.table-scroll-inner{
  display:inline-block!important;
  vertical-align:top!important;
  min-width:max-content!important;
  max-width:none!important;
}
.table-scroll-label{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  padding:9px 12px!important;
  font-family:var(--mono)!important;
  font-size:10px!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  color:rgba(236,245,243,.56)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  background:rgba(255,255,255,.026)!important;
  white-space:nowrap!important;
}
.table-scroll-inner > table{
  display:table!important;
}
.financial-table-hero .table-scroll-inner{
  display:block!important;
  min-width:100%!important;
}
.financial-table-hero .table-scroll-label{
  background:rgba(0,0,0,.18)!important;
  color:rgba(236,245,243,.68)!important;
  padding:11px 16px!important;
}
.financial-table-hero table{
  width:100%!important;
  min-width:100%!important;
}
.answer-special-section + .answer-special-section,
.answer-special-section + h2,
.answer-special-section + h3,
.answer-special-section + p{
  margin-top:22px!important;
}
.decision-snapshot-card{
  margin-bottom:26px!important;
}
.decision-snapshot-card ul,
.decision-snapshot-card ol{
  padding-bottom:20px!important;
}


/* V4 Step 16.6 — section dividers and anti-overlap spacing */
.answer-section-divider{
  display:block!important;
  clear:both!important;
  height:1px!important;
  margin:30px 0 18px!important;
  background:linear-gradient(90deg, rgba(5,183,165,.02), rgba(5,183,165,.42), rgba(255,255,255,.08))!important;
  border:0!important;
  flex:0 0 100%!important;
}
.answer-section-heading{
  display:block!important;
  clear:both!important;
  margin-top:0!important;
  margin-bottom:14px!important;
  padding-top:0!important;
}
.answer h2.answer-section-heading,
.answer h3.answer-section-heading,
.answer h4.answer-section-heading,
.answer p.answer-section-heading,
.answer div.answer-section-heading{
  color:#fff!important;
  font-weight:830!important;
  letter-spacing:-.025em!important;
}
.answer h2.answer-section-heading,
.answer h3.answer-section-heading{
  font-size:19px!important;
}
.answer p.answer-section-heading,
.answer div.answer-section-heading{
  font-size:18px!important;
  line-height:1.3!important;
}
.answer .table-scroll{
  clear:both!important;
  margin-bottom:24px!important;
}
.answer .table-scroll + .answer-section-divider,
.answer-special-section + .answer-section-divider,
.answer-card + .answer-section-divider{
  margin-top:34px!important;
}
.answer-section-divider + .answer-section-heading{
  margin-top:0!important;
}
@media(max-width:760px){
  .answer-section-divider{margin:24px 0 15px!important;}
  .answer h2.answer-section-heading,.answer h3.answer-section-heading{font-size:17px!important;}
}


/* V4 Step 16.7 — stronger section boundary handling after tables/cards */
.answer .table-scroll,
.answer .answer-card,
.answer .answer-special-section{
  position:relative!important;
  display:block!important;
  clear:both!important;
}
.answer .table-scroll::after,
.answer .answer-card::after,
.answer .answer-special-section::after{
  content:""!important;
  display:block!important;
  clear:both!important;
  height:0!important;
}
.answer .table-scroll + .answer-section-divider,
.answer .answer-card + .answer-section-divider,
.answer .answer-special-section + .answer-section-divider{
  clear:both!important;
  margin-top:36px!important;
}
.answer-section-heading{
  position:relative!important;
  z-index:1!important;
}
.answer-section-divider + .answer-section-heading{
  margin-bottom:18px!important;
}

/* V4 Step 16.8 — universal report-card presentation for all Agent Studio agents */
.answer-special-section.decision-snapshot-card,
.answer-special-section.financial-table-hero{
  clear:both!important;
  display:block!important;
  margin:22px 0 26px!important;
}
.answer-special-section.decision-snapshot-card h2,
.answer-special-section.decision-snapshot-card h3,
.answer-special-section.decision-snapshot-card p:first-child,
.answer-special-section.financial-table-hero h2,
.answer-special-section.financial-table-hero h3,
.answer-special-section.financial-table-hero p:first-child{
  background:linear-gradient(90deg, rgba(5,183,165,.20), rgba(5,183,165,.055))!important;
  border-bottom:1px solid rgba(5,183,165,.20)!important;
}
.answer-special-section.financial-table-hero .table-scroll-label{
  text-transform:uppercase!important;
}
.answer-card{
  margin:18px 0 20px!important;
}
.answer-card h3{
  background:linear-gradient(90deg, rgba(5,183,165,.17), rgba(5,183,165,.05))!important;
}
.answer-card:not(.answer-card-priority){
  border-color:rgba(255,255,255,.14)!important;
  border-left-color:rgba(255,255,255,.14)!important;
}
.answer-card.answer-card-priority h3{
  background:linear-gradient(90deg, rgba(5,183,165,.22), rgba(5,183,165,.06))!important;
}
.answer .answer-section-divider{
  clear:both!important;
  height:1px!important;
  margin:34px 0 19px!important;
  background:linear-gradient(90deg, rgba(5,183,165,.04), rgba(5,183,165,.45), rgba(255,255,255,.10))!important;
}
.answer .answer-section-heading{
  clear:both!important;
}
.answer .table-scroll + .answer-section-divider,
.answer .answer-card + .answer-section-divider,
.answer .answer-special-section + .answer-section-divider{
  margin-top:38px!important;
}


/* V4 Step 16.9 — table boundary cleanup + single section divider
   Applies to every Agent Studio agent output. */

/* Only the inner table unit should draw the border. The outer scroller must not
   create a full-width top/bottom line beyond the last table column. */
.answer .table-scroll,
.answer-card .table-scroll,
.answer-special-section .table-scroll,
.financial-table-hero .table-scroll{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  border:0!important;
  border-top:0!important;
  border-bottom:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  margin:14px 0 24px!important;
  -webkit-overflow-scrolling:touch!important;
}

/* The bordered unit is the label + table together. Its width is controlled by
   the table width, so the label background and all borders stop at the final
   column and scroll together when necessary. */
.answer .table-scroll-inner,
.answer-card .table-scroll-inner,
.answer-special-section .table-scroll-inner{
  display:inline-block!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  vertical-align:top!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:12px!important;
  background:rgba(255,255,255,.018)!important;
  overflow:hidden!important;
  box-shadow:none!important;
}

.answer .table-scroll-label,
.answer-card .table-scroll-label,
.answer-special-section .table-scroll-label{
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  box-sizing:border-box!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.028)!important;
  white-space:nowrap!important;
}

.answer .table-scroll-inner > table,
.answer-card .table-scroll-inner > table,
.answer-special-section .table-scroll-inner > table{
  display:table!important;
  width:max-content!important;
  min-width:720px!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

/* Hero/headline tables should still fill the visible report card when they fit,
   while keeping the same inner-only border behavior. */
.answer-special-section.financial-table-hero .table-scroll-inner,
.financial-table-hero .table-scroll-inner{
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  border-color:rgba(5,183,165,.26)!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  background:rgba(0,0,0,.08)!important;
}
.answer-special-section.financial-table-hero .table-scroll-label,
.financial-table-hero .table-scroll-label{
  width:100%!important;
  min-width:100%!important;
  border-color:rgba(5,183,165,.18)!important;
}
.answer-special-section.financial-table-hero .table-scroll-inner > table,
.financial-table-hero .table-scroll-inner > table{
  width:100%!important;
  min-width:100%!important;
}

/* Remove duplicate heading lines. The single .answer-section-divider is the only
   section separator; headings like Insight Cards, Clause Cards, Metric Cards,
   and Next Actions should not add their own top/bottom borders. */
.answer h1.answer-section-heading,
.answer h2.answer-section-heading,
.answer h3.answer-section-heading,
.answer h4.answer-section-heading,
.answer p.answer-section-heading,
.answer div.answer-section-heading{
  border-top:0!important;
  border-bottom:0!important;
  border-left:0!important;
  border-right:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
.answer h1.answer-section-heading::before,
.answer h1.answer-section-heading::after,
.answer h2.answer-section-heading::before,
.answer h2.answer-section-heading::after,
.answer h3.answer-section-heading::before,
.answer h3.answer-section-heading::after,
.answer h4.answer-section-heading::before,
.answer h4.answer-section-heading::after,
.answer p.answer-section-heading::before,
.answer p.answer-section-heading::after,
.answer div.answer-section-heading::before,
.answer div.answer-section-heading::after{
  display:none!important;
  content:none!important;
}
.answer-section-divider + .answer-section-heading{
  margin-top:0!important;
}
.answer-section-heading + .answer-section-divider,
.answer-section-divider + .answer-section-divider{
  display:none!important;
}

/* Keep section starts clean and consistent across all agents. */
.answer .answer-section-divider{
  height:1px!important;
  margin:36px 0 18px!important;
  background:linear-gradient(90deg, rgba(5,183,165,.04), rgba(5,183,165,.45), rgba(255,255,255,.10))!important;
  border:0!important;
}
.answer .table-scroll + .answer-section-divider,
.answer .answer-card + .answer-section-divider,
.answer .answer-special-section + .answer-section-divider{
  margin-top:38px!important;
}


/* V4 Step 16.10 — restore inner spacing for tables inside cards.
   Step 16.9 correctly moved the table border to the inner table unit, but it
   also removed the visual inset between the card border and the table. Keep
   the border cleanup, while preserving the same left/right breathing room that
   other card content has. */
.answer-card > .table-scroll,
.answer-special-section > .table-scroll,
.decision-snapshot-card > .table-scroll,
.financial-table-hero > .table-scroll{
  width:auto!important;
  max-width:calc(100% - 34px)!important;
  margin:14px 17px 24px!important;
  padding:0!important;
}

/* On small screens, keep the inset but reduce it slightly so scrolling still
   has enough room. */
@media(max-width:760px){
  .answer-card > .table-scroll,
  .answer-special-section > .table-scroll,
  .decision-snapshot-card > .table-scroll,
  .financial-table-hero > .table-scroll{
    max-width:calc(100% - 26px)!important;
    margin-left:13px!important;
    margin-right:13px!important;
  }
}

/* The table label and table borders still belong only to the inner unit, so no
   extra top/bottom line can extend into the restored card inset. */
.answer-card > .table-scroll,
.answer-special-section > .table-scroll{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
