.rcs-scope{
    --bg:#F3F4FC;
    --surface:#FFFFFF;
    --ink:#181A33;
    --ink-soft:#5E6180;
    --ink-faint:#9497B5;
    --line:#E4E5F5;
    --grad1:#155EEF;
    --grad2:#0EA5E9;
    --grad3:#22D3EE;
    --violet:#155EEF;
    --violet-soft:#E8EFFE;
    --teal:#0FA394;
    --teal-soft:#E0F7F3;
    --amber:#E8912A;
    --amber-soft:#FFF0DA;
    --rose:#E4406B;
    --rose-soft:#FDE2EA;
    --radius-lg:20px;
    --radius:14px;
    --radius-sm:9px;
    --shadow:0 10px 30px -12px rgba(45,42,120,.18);
    --shadow-sm:0 4px 14px -6px rgba(45,42,120,.14);
    --mono:'IBM Plex Mono', monospace;
    --sans:'Inter', sans-serif;
    --display:'Sora', sans-serif;
  }.rcs-scope *{box-sizing:border-box;}.rcs-scope{
    margin:0; background:
      radial-gradient(1100px 500px at 85% -10%, rgba(14,165,233,.14), transparent 60%),
      radial-gradient(900px 500px at -10% 0%, rgba(21,94,239,.12), transparent 55%),
      var(--bg);
    color:var(--ink); font-family:var(--sans); min-height:100vh;
  }.rcs-scope .wrap{max-width:1320px;margin:0 auto; padding:40px 28px 80px;}.rcs-scope .report-actions-top{
    display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
    flex-wrap:wrap; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid var(--line);
  }.rcs-scope .report-actions-top .btnrow{ flex:none; }.rcs-scope .hero{
    background:linear-gradient(120deg,var(--grad1),var(--grad2) 65%,var(--grad3));
    border-radius:24px; padding:42px 40px; color:#fff; position:relative; overflow:hidden;
    box-shadow:var(--shadow); margin-bottom:28px;
  }.rcs-scope .hero::after{
    content:''; position:absolute; right:-60px; top:-60px; width:260px; height:260px;
    background:radial-gradient(circle, rgba(255,255,255,.22), transparent 70%);
  }.rcs-scope .hero .eyebrow{
    font-family:var(--mono); font-size:12.5px; letter-spacing:.14em; text-transform:uppercase;
    opacity:.85; margin-bottom:12px;
  }.rcs-scope .hero h1{font-family:var(--display); font-size:36px; margin:0 0 10px; font-weight:800; letter-spacing:-.01em;}.rcs-scope .hero p{margin:0; font-size:16px; max-width:620px; opacity:.92; line-height:1.6;}.rcs-scope .tabs{
    display:flex; gap:8px; background:var(--surface); border:1px solid var(--line);
    border-radius:16px; padding:6px; margin-bottom:22px; box-shadow:var(--shadow-sm);
    position:sticky; top:14px; z-index:10;
  }.rcs-scope .tab-btn{
    flex:1; display:flex; align-items:center; justify-content:center; gap:9px;
    border:none; background:transparent; padding:12px 14px; border-radius:12px;
    font-family:var(--sans); font-weight:700; font-size:13.5px; color:var(--ink-faint); cursor:pointer;
    transition:all .18s ease;
  }.rcs-scope .tab-btn .dot{
    width:22px;height:22px;border-radius:50%; background:var(--bg); color:var(--ink-faint);
    display:flex;align-items:center;justify-content:center; font-family:var(--mono); font-size:11.5px;
    transition:all .18s ease; flex:none;
  }.rcs-scope .tab-btn.active{ background:var(--violet-soft); color:var(--violet); }.rcs-scope .tab-btn.active .dot{ background:linear-gradient(120deg,var(--grad1),var(--grad2)); color:#fff; }.rcs-scope .tab-btn.done .dot{ background:var(--teal); color:#fff; }.rcs-scope .tab-btn:disabled{ cursor:not-allowed; opacity:.5; }.rcs-scope .tab-btn:not(:disabled):hover{ color:var(--violet); }.rcs-scope .panel{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg);
    padding:32px 36px; box-shadow:var(--shadow-sm);
  }.rcs-scope .panel h2{
    font-family:var(--display); font-size:21px; margin:0 0 6px; font-weight:700; color:var(--ink);
  }.rcs-scope .panel .sub{color:var(--ink-soft); font-size:14.5px; margin:0 0 22px; line-height:1.5;}.rcs-scope .grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px;}.rcs-scope label{font-size:11.5px; font-weight:700; color:var(--ink-soft); display:block; margin-bottom:6px; text-transform:uppercase; letter-spacing:.04em;}.rcs-scope input[type=text], .rcs-scope input[type=number], .rcs-scope select{
    width:100%; padding:11px 13px; border:1.5px solid var(--line); border-radius:var(--radius-sm);
    font-family:var(--sans); font-size:14px; background:#FAFAFF; color:var(--ink); transition:border-color .15s, background .15s;
  }.rcs-scope input:focus, .rcs-scope select:focus{ outline:none; border-color:var(--violet); background:#fff; }.rcs-scope .dropzone{
    border:2px dashed #C9C7F5; border-radius:var(--radius); background:linear-gradient(180deg,#FBFAFF,#F5F3FF);
    padding:30px 20px; text-align:center; cursor:pointer; transition:border-color .15s, background .15s;
  }.rcs-scope .dropzone:hover{ border-color:var(--violet); }.rcs-scope .dropzone .icon{
    width:44px;height:44px;border-radius:50%;margin:0 auto 10px; background:var(--violet-soft); color:var(--violet);
    display:flex;align-items:center;justify-content:center; font-size:20px;
  }.rcs-scope .dropzone .fname{font-family:var(--mono); font-size:12.5px; color:var(--violet); margin-top:8px;}.rcs-scope input[type=file]{ display:none; }.rcs-scope .btn{
    background:linear-gradient(120deg,var(--grad1),var(--grad2)); color:#fff; border:none;
    padding:13px 22px; border-radius:12px; font-family:var(--sans); font-weight:700; font-size:13.5px;
    cursor:pointer; transition:transform .12s, box-shadow .12s; box-shadow:0 8px 20px -8px rgba(21,94,239,.6);
    display:inline-flex; align-items:center; gap:8px;
  }.rcs-scope .btn:hover{ transform:translateY(-1px); box-shadow:0 12px 24px -8px rgba(21,94,239,.7); }.rcs-scope .btn.secondary{
    background:#fff; color:var(--teal); border:1.5px solid var(--teal); box-shadow:none;
  }.rcs-scope .btn.secondary:hover{ background:var(--teal-soft); transform:translateY(-1px); }.rcs-scope .btn.pdf{ background:linear-gradient(120deg,#E4406B,#E8912A); box-shadow:0 8px 20px -8px rgba(228,64,107,.55); }.rcs-scope .btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; box-shadow:none; }.rcs-scope .btnrow{display:flex; gap:12px; margin-top:20px; flex-wrap:wrap;}.rcs-scope .hint{font-size:12.5px; color:var(--ink-soft); margin-top:8px; line-height:1.55; background:var(--violet-soft); border-radius:var(--radius-sm); padding:10px 13px;}.rcs-scope .map-table{width:100%; border-collapse:separate; border-spacing:0 8px; margin-top:8px;}.rcs-scope .map-table th{
    text-align:left; font-size:11px; text-transform:uppercase; color:var(--ink-faint);
    padding:0 12px 6px; font-weight:700; letter-spacing:.04em;
  }.rcs-scope .map-table td{padding:10px 12px; background:#FAFAFF; font-size:13.5px; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}.rcs-scope .map-table tr td:first-child{ border-left:1px solid var(--line); border-radius:10px 0 0 10px; font-weight:600; }.rcs-scope .map-table tr td:last-child{ border-right:1px solid var(--line); border-radius:0 10px 10px 0; }.rcs-scope .map-table select{font-size:12.5px; padding:8px 10px;}.rcs-scope .sample{font-family:var(--mono); font-size:11.5px; color:var(--ink-soft); background:var(--bg); padding:4px 8px; border-radius:6px;}.rcs-scope .checkline{display:flex;align-items:center;gap:9px;font-size:13.5px;margin-bottom:16px; color:var(--ink-soft); font-weight:600;}.rcs-scope .checkline input{width:16px;height:16px;accent-color:var(--violet);}.rcs-scope .legend{display:flex; gap:20px; flex-wrap:wrap; margin:0 0 18px; font-size:12.5px; color:var(--ink-soft); font-weight:600;}.rcs-scope .legend span{display:inline-flex; align-items:center; gap:7px;}.rcs-scope .swatch{width:14px;height:14px;border-radius:5px; display:inline-block; border:1px solid rgba(0,0,0,.08);}.rcs-scope .summary-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:22px;}.rcs-scope .card{border:1px solid var(--line); border-radius:var(--radius); padding:16px 18px; background:linear-gradient(180deg,#fff,#FBFBFF);}.rcs-scope .card .num{font-family:var(--display); font-size:26px; font-weight:800;}.rcs-scope .card .lbl{font-size:11.5px; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-soft); margin-top:4px; font-weight:600;}.rcs-scope .card.warn .num{color:var(--amber);}.rcs-scope .card.warn{background:linear-gradient(180deg,#fff,var(--amber-soft));}.rcs-scope .card.bad .num{color:var(--rose);}.rcs-scope .card.bad{background:linear-gradient(180deg,#fff,var(--rose-soft));}.rcs-scope .card.ok .num{color:var(--teal);}.rcs-scope .card.ok{background:linear-gradient(180deg,#fff,var(--teal-soft));}.rcs-scope .card.neutral .num{color:var(--violet);}.rcs-scope .card.neutral{background:linear-gradient(180deg,#fff,var(--violet-soft));}.rcs-scope .report{ border-radius:var(--radius); border:1px solid var(--line); overflow:hidden; }.rcs-scope .report-scroll{ overflow-x:auto; }.rcs-scope table.report-table{border-collapse:collapse; width:100%; min-width:1150px; font-family:var(--mono); font-size:12px;}.rcs-scope .report-head-block{ text-align:center; background:linear-gradient(120deg,var(--grad1),var(--grad2)); color:#fff; padding:14px; }.rcs-scope .report-head-block .title{font-family:var(--display); font-weight:800; font-size:16px; letter-spacing:.06em;}.rcs-scope .report-meta{padding:10px 16px; font-family:var(--sans); font-size:12.5px; background:var(--violet-soft); display:flex; gap:26px; flex-wrap:wrap;}.rcs-scope .report-meta b{color:var(--violet); font-weight:700; margin-right:6px;}.rcs-scope table.report-table thead th{
    background:var(--ink); color:#fff; font-family:var(--sans); font-weight:600; font-size:11px;
    padding:10px 7px; white-space:nowrap; position:sticky; top:0;
  }.rcs-scope table.report-table tbody td{ padding:8px 8px; border-bottom:1px solid var(--line); white-space:nowrap; }.rcs-scope table.report-table tbody td.num{text-align:right;}.rcs-scope table.report-table tbody td.name{white-space:normal; max-width:260px; font-family:var(--sans); font-size:12px;}.rcs-scope tr.row-normal{background:#fff;}.rcs-scope tr.row-bancarizacion{background:var(--amber-soft);}.rcs-scope tr.row-credito{background:var(--rose-soft);}.rcs-scope tr.row-credito td{color:var(--rose);}.rcs-scope tr.totrow td{font-weight:800; background:var(--violet-soft); color:var(--violet); border-top:2px solid var(--violet);}.rcs-scope .badge{
    display:inline-block; font-family:var(--sans); font-size:10px; font-weight:800; padding:3px 8px;
    border-radius:20px; letter-spacing:.02em; margin-left:6px;
  }.rcs-scope .badge.b-amber{background:var(--amber); color:#fff;}.rcs-scope .badge.b-red{background:var(--rose); color:#fff;}.rcs-scope .status{font-size:13px; padding:12px 14px; border-radius:var(--radius-sm); margin-top:14px; font-weight:600;}.rcs-scope .status.err{background:var(--rose-soft); color:var(--rose);}.rcs-scope .status.ok2{background:var(--teal-soft); color:var(--teal);}.rcs-scope footer.note{font-size:11.5px; color:var(--ink-soft); line-height:1.6; margin-top:16px;}.rcs-scope .note-inline{font-size:11.5px; color:var(--ink-soft); line-height:1.6; margin:0 0 14px;}.rcs-scope .tabpanel{ display:none; animation:fade .25s ease; }.rcs-scope .tabpanel.active{ display:block; }
  @keyframes fade{ from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;} }

  /* ---- Responsive: Tablet ---- */
  @media (max-width: 900px){.rcs-scope .wrap{ padding:26px 18px 60px; }.rcs-scope .hero{ padding:30px 26px; }.rcs-scope .hero h1{ font-size:28px; }.rcs-scope .hero p{ font-size:14.5px; }.rcs-scope .panel{ padding:24px 22px; }.rcs-scope .tabs{ top:10px; }.rcs-scope .report-actions-top{ flex-direction:column; align-items:stretch; }.rcs-scope .report-actions-top .btnrow{ width:100%; }.rcs-scope .report-actions-top .btnrow .btn{ flex:1; justify-content:center; }
  }

  /* ---- Responsive: Móvil ---- */
  @media (max-width: 600px){.rcs-scope .wrap{ padding:18px 12px 50px; }.rcs-scope .hero{ padding:24px 20px; border-radius:18px; }.rcs-scope .hero h1{ font-size:23px; }.rcs-scope .hero p{ font-size:13.5px; }.rcs-scope .hero .eyebrow{ font-size:10.5px; }.rcs-scope .tabs{ flex-wrap:wrap; gap:6px; padding:5px; border-radius:14px; }.rcs-scope .tab-btn{ flex:1 1 100%; font-size:12.5px; padding:10px 10px; justify-content:flex-start; }.rcs-scope .panel{ padding:18px 16px; border-radius:16px; }.rcs-scope .panel h2{ font-size:18px; }.rcs-scope .grid{ grid-template-columns:1fr; }.rcs-scope .summary-cards{ grid-template-columns:repeat(2,1fr); }.rcs-scope .btnrow{ flex-direction:column; }.rcs-scope .btnrow .btn{ width:100%; justify-content:center; }.rcs-scope table.report-table{ font-size:11px; min-width:900px; }.rcs-scope .map-table td{ font-size:12.5px; }
  }
