
  :root{ --bg:#1a0033; --card:#2a0a4a; --muted:#c59fd6; --ink:#f7f7f7; --line:#3a2358; --accent:#22c55e; --pill:#1f2937; --chip:#0e1520; --brand:#ffd94a; --pink:#ff7ab6; --bad:#ef4444; }
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:#f7f7f7;font-family:Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
  .wrap{max-width:1100px;margin:24px auto;padding:0 16px}
  header{margin-bottom:14px;background:#2a0a4a;border:1px solid rgba(255,255,255,0.06);border-radius:14px;padding:16px;text-align:center}
  h1{margin:0;font-size:34px;font-weight:900;color:#ffd94a}
  .badge-gold{display:inline-block;margin-left:.5rem;padding:.15rem .45rem;border-radius:999px;background:linear-gradient(90deg,#b8860b,#ffd94a);color:#2d1a00;font-size:.75rem;font-weight:900;letter-spacing:.5px}
  .subtitle{margin-top:4px;color:#ff7ab6;font-weight:700}
  .card{background:#151c24;border:1px solid #233141;border-radius:14px;padding:14px;margin:12px 0; color:#ff7ab6; text-align:center}
  .card h3{ color:#ffd94a; margin:0 0 8px }
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  @media (max-width:900px){ .row2{grid-template-columns:1fr} }
  .row{display:grid;grid-template-columns:1fr 1fr;gap:12px; text-align:left}
  input[type=text], textarea{width:100%;background:#0e1520;color:#e6eefc;border:1px solid #233141;border-radius:10px;padding:10px 12px;font-size:14px;outline:0;text-align:left}
  textarea{min-height:140px;resize:vertical}
  button{padding:10px 14px;border:0;border-radius:10px;font-weight:700;cursor:pointer;color:#ffd94a}
  .btn{background:#1f2937;color:#ffd94a;border:1px solid #233141} .success{background:#22c55e;color:#06260e} .danger{background:#ef4444;color:#fff2c1} .swap{background:#374151;color:#ffd94a}
  .pill{display:inline-block;background:#1f2937;border:1px solid #233141;border-radius:999px;padding:6px 10px;margin-right:6px;font-size:12px;color:inherit}
  .hint{color:#c59fd6;font-size:12px}
  .stat{background:#0e1520;border:1px solid #233141;border-radius:10px;padding:10px;margin:8px 0}
  .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}
  .chip{background:#0e1520;border:1px solid #233141;border-radius:999px;padding:6px 10px;font-size:12px;user-select:none;color:inherit}
  .chip.a{outline:2px solid #86efac} .chip.b{outline:2px solid #93c5fd} .chip.via{opacity:.9}
  .chip.rt{background:#1f2937;border-style:dashed;cursor:pointer}
  .arrow{opacity:.6;margin:0 4px}
  .dropzone{position:relative;display:flex;align-items:center;justify-content:center;min-height:130px;border:2px dashed #3a4a61;border-radius:12px;background:#0e1520;cursor:pointer;text-align:center;padding:12px}
  .dropzone.hover{border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,.25) inset}
  .dz-title{font-weight:800;color:#ffd94a;margin-bottom:6px}
  .progress{height:8px;background:#0b1422;border:1px solid #233141;border-radius:999px;margin-top:10px;overflow:hidden}
  .progress>div{height:100%;width:0;background:#22c55e;transition:width .15s ease}
  .ocr-status{margin-top:8px;color:#c7d2fe;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap}
  .paste-overlay{position:absolute;inset:8px;border-radius:10px;background:rgba(17,24,39,.96);border:2px dashed #60a5fa;display:none;align-items:center;justify-content:center;padding:16px}
  .paste-overlay.active{display:flex}
  .paste-ta{width:100%;min-height:120px;border-radius:8px;background:#0b1220;color:#e6eefc;border:1px solid #233141;padding:10px;font-family:ui-monospace,Consolas,Menlo,monospace}
  .paste-help{position:absolute;top:10px;left:14px;color:#93c5fd;font-size:12px}
  .wp-row{display:flex;gap:8px;align-items:center;margin-top:6px; text-align:left}
  .drag{cursor:grab;font-size:16px;opacity:.8}
  .wp-row.dragging{opacity:.5}
  .invalid{border-color:#ef4444 !important; box-shadow:0 0 0 2px rgba(239,68,68,.2)}
  .valmsg{font-size:11px;color:#ef9a9a;margin-top:4px; text-align:left}
  a{color:#93c5fd}
  .exports{display:flex;gap:8px;flex-wrap:wrap; text-align:left}

/* v1.7.3 tweaks */
#importCard .actions { text-align:center; }
#manualCard .actions { text-align:center; }
.success.parse{ color: var(--brand); }              /* green bg (existing) + yellow text */
.blue{ background:#2563eb; color: var(--brand); }   /* blue bg + yellow text */


/* v1.7.4 center all buttons & pink ROUNDTRIP */
.card .actions{ 
  text-align:center; 
  display:flex; 
  flex-wrap:wrap; 
  gap:8px; 
  justify-content:center; 
}
.exports{ 
  display:flex; 
  justify-content:center; 
  gap:8px; 
  flex-wrap:wrap; 
}
#rtToggleLbl, .rt-pill{
  background: var(--pink) !important;
  border:1px solid #ff9bd0 !important;
  color: var(--brand) !important; /* yellow text */
  border-style: solid !important;
}
.rt-pill input{ margin-right:8px; accent-color: var(--brand); }




  /* ===== Style polish v1.7.2 ===== */
  :root{
    --yellow: #ffd94a;
    --pink: #ff7ab6;
  }
  /* Better placeholder & focus */
  ::placeholder{ color:#9fb0d0; opacity:.9; }
  input[type=text]:focus-visible, textarea:focus-visible{
    outline:2px solid var(--yellow);
    outline-offset:2px;
  }
  button:focus-visible{
    outline:2px solid var(--yellow);
    outline-offset:2px;
  }
  /* Hover / active affordances */
  button:hover{ filter:brightness(1.08); }
  button:active{ transform:translateY(1px); }
  /* Keep action clusters left-aligned for readability */
  .card .actions{ text-align:left; }
  /* Route chips spacing & legibility */
  #routeChips{ justify-content:center; gap:8px; }
  .chip{ letter-spacing:.2px; }
  .chip.rt{ color:var(--yellow); }
  /* Stronger invalid field hint */
  .invalid{ border-color:#ef4444 !important; box-shadow:0 0 0 2px rgba(239,68,68,.25); }
  /* Tweak cards for subtle glow and consistent center text */
  .card{ box-shadow:0 6px 18px rgba(0,0,0,.25) inset, 0 1px 0 rgba(255,255,255,.03); }
  .card h3{ text-align:center; }
  /* Sticky summary bar on tall pages (kept subtle) */
  .wrap > .card:first-of-type{ position:sticky; top:8px; z-index:5; }
  /* Mobile refinements */
  @media (max-width: 700px){
    .card .actions{ display:flex; flex-wrap:wrap; gap:8px; }
    button{ width:100%; }
  }

/* v1.7.3 tweaks */
#importCard .actions { text-align:center; }
#manualCard .actions { text-align:center; }
.success.parse{ color: var(--brand); }              /* green bg (existing) + yellow text */
.blue{ background:#2563eb; color: var(--brand); }   /* blue bg + yellow text */


/* v1.7.4 center all buttons & pink ROUNDTRIP */
.card .actions{ 
  text-align:center; 
  display:flex; 
  flex-wrap:wrap; 
  gap:8px; 
  justify-content:center; 
}
.exports{ 
  display:flex; 
  justify-content:center; 
  gap:8px; 
  flex-wrap:wrap; 
}
#rtToggleLbl, .rt-pill{
  background: var(--pink) !important;
  border:1px solid #ff9bd0 !important;
  color: var(--brand) !important; /* yellow text */
  border-style: solid !important;
}
.rt-pill input{ margin-right:8px; accent-color: var(--brand); }




  html, body, button, input, select, textarea, label, .chip, .card, .card *,
  h1, h2, h3, h4, h5, h6, table, th, td, div, span, p, a, li {
    font-family: 'Trebuchet MS', 'Segoe UI', Tahoma, Arial, sans-serif !important;
  }



  .jojo-floating-cog{
    position: fixed; right: 18px; bottom: 18px; z-index: 9999;
    background:#2b2b66; color:#ffd54a; border:2px solid #ff79c6;
    border-radius: 999px; width:48px; height:48px; display:flex; align-items:center; justify-content:center;
    box-shadow:0 4px 12px rgba(0,0,0,.35); cursor:pointer; font-size:22px; user-select:none;
  }
  .jojo-floating-cog:hover{ transform: translateY(-1px); }
  .jojo-modal{
    position: fixed; inset:0; background: rgba(16,10,30,.65);
    display: none; align-items: center; justify-content: center; z-index: 10000;
  }
  .jojo-modal.show{ display:flex; }
  .jojo-card{
    width: min(560px, 92vw); background:#1b1530; color:#ffd6f9;
    border:1px solid #ff79c6; border-radius:16px; padding:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.45);
    font-family:'Trebuchet MS','Segoe UI',Tahoma,Arial,sans-serif;
  }
  .jojo-card h3{ margin:0 0 12px; font-size:20px; color:#ffd54a; }
  .jojo-row{ display:flex; gap:10px; align-items:center; }
  .jojo-row input[type="text"]{
    flex:1; padding:10px 12px; background:#261c44; color:#fff;
    border:1px solid #ff79c6; border-radius:10px; outline:none; font-size:14px;
  }
  .jojo-actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:12px; }
  .jojo-btn{ padding:9px 14px; border-radius:12px; border:none; cursor:pointer; font-weight:700; }
  .jojo-btn.save{ background:#23d18b; color:#052; }
  .jojo-btn.erase{ background:#ff5c5c; color:#210; }
  .jojo-btn.close{ background:#4a64ff; color:#fff; }
  .jojo-hint{ font-size:12px; opacity:.8; margin-top:8px; line-height:1.3; }
  .jojo-status-chip{
    position: fixed; right: 78px; bottom: 18px; z-index: 9999;
    background:#241a3f; color:#b6ffda; border:1px solid #23d18b;
    border-radius:999px; padding:6px 10px; font-size:12px;
    box-shadow:0 4px 10px rgba(0,0,0,.3); display:none;
  }
  .jojo-status-chip.err{ color:#ffd6d6; border-color:#ff7777; }
  .jojo-status-chip.show{ display:inline-block; }

/* centered layout container */
.container{max-width:1280px;margin:0 auto;padding:0 16px;}
