.tlcsdp {
  --ink:#141319; --ivory:#f7f4ef; --cream:#efe7dd; --plum:#623078;
  --lilac:#9b7ca3; --gold:#bb8c4b; --line:#e3dce6;
  color:#222027; background:var(--ivory); font:400 14px/1.55 Montserrat,Arial,sans-serif;
  isolation:isolate; max-width:100%;
}
.tlcsdp *, .tlcsdp *::before, .tlcsdp *::after { box-sizing:border-box; }
.tlcsdp [hidden] { display:none !important; }
.tlcsdp button, .tlcsdp input, .tlcsdp select { font:inherit; }
.tlcsdp button { cursor:pointer; }
.tlcsdp h1, .tlcsdp h2, .tlcsdp h3, .tlcsdp p { margin:0; }
.tlcsdp-hero {
  background-image:linear-gradient(90deg,rgba(8,10,15,.91),rgba(14,12,20,.54) 61%,rgba(12,10,16,.28)),var(--tlcsdp-hero,linear-gradient(120deg,#0b1423,#535a69 60%,#af8562));
  background-position:center; background-size:cover; color:#fff;
}
.tlcsdp-hero-inner { max-width:1220px; margin:auto; min-height:330px; padding:50px 28px 44px; }
.tlcsdp-kicker { font-size:11px; letter-spacing:.19em; font-weight:700; }
.tlcsdp-hero h1 { font:700 clamp(34px,5vw,64px)/1.1 'Playfair Display',Georgia,serif; margin:8px 0; }
.tlcsdp-hero-sub { color:#e4c28b; font:italic clamp(20px,2.5vw,29px)/1.3 'Playfair Display',Georgia,serif; max-width:570px; margin-bottom:14px !important; }
.tlcsdp-hero-inner > p:not(.tlcsdp-kicker):not(.tlcsdp-hero-sub) { max-width:580px; margin-bottom:22px; }
.tlcsdp-shell { max-width:1280px; margin:auto; padding:18px 25px 35px; }
.tlcsdp-input-grid { display:grid; grid-template-columns:1.55fr 1fr; gap:16px; }
.tlcsdp-panel { min-width:0; background:#fff; border:1px solid #e6e1e2; border-radius:4px; padding:19px; box-shadow:0 3px 17px rgba(40,22,39,.035); }
.tlcsdp-title { display:flex; align-items:flex-start; gap:13px; margin-bottom:14px; }
.tlcsdp-title h2, .tlcsdp-block-heading h3 { color:var(--plum); font-weight:800; text-transform:uppercase; letter-spacing:.025em; font-size:15px; line-height:1.25; margin:3px 0 3px; }
.tlcsdp-title p, .tlcsdp-block-heading p { color:#66606c; font-size:12px; }
.tlcsdp-step { flex:0 0 29px; width:29px; height:29px; border-radius:50%; display:grid; place-items:center; background:#612381; color:#fff; font-weight:700; font-size:15px; }
.tlcsdp-tabs { display:flex; width:100%; margin-bottom:15px; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.tlcsdp-tabs button { flex:1; border:0; border-right:1px solid var(--line); background:#fff; color:#1c1625; padding:11px 8px; font-weight:600; font-size:11px; min-height:43px; }
.tlcsdp-tabs button:last-child { border-right:0; }
.tlcsdp-tabs button.is-active { background:#734183; color:#fff; }
.tlcsdp-entry-grid { display:grid; grid-template-columns:1.25fr .85fr; gap:13px; min-height:220px; }
.tlcsdp-drop { border:1px dashed #bca6c6; border-radius:5px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:3px; padding:16px; cursor:pointer; background:#fff; }
.tlcsdp-drop.is-dragging { background:#f0e7f3; border-color:var(--plum); }
.tlcsdp-drop input { position:absolute; width:1px; height:1px; opacity:0; }
.tlcsdp-drop strong { font-size:13px; }
.tlcsdp-drop small { font-size:10px; margin-top:9px; color:#716b75; }
.tlcsdp-upload-icon { color:var(--plum); font-size:34px; line-height:1; }
.tlcsdp-route-facts { background:#f8f8fa; border:1px solid #edebef; border-radius:4px; padding:13px; font-size:11px; }
.tlcsdp-route-facts > strong, .tlcsdp-demo > strong { display:block; color:#282034; font-size:12px; margin-bottom:11px; }
.tlcsdp-route-facts > p { color:#666; }
.tlcsdp-fact { display:flex; justify-content:space-between; gap:10px; padding:5px 0; border-bottom:1px solid #eae4ea; }
.tlcsdp-fact:last-child { border-bottom:0; }
.tlcsdp-fact b { color:var(--plum); white-space:nowrap; }
.tlcsdp-demo { padding:23px 14px; background:#f8f4f0; border:1px solid #e6d8ce; }
.tlcsdp-demo p { margin-bottom:20px; }
.tlcsdp-manual { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.tlcsdp-manual .tlcsdp-help { grid-column:1/-1; margin:0; }
.tlcsdp-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:16px 0; }
.tlcsdp-fields label, .tlcsdp-manual label { display:block; font-size:11px; font-weight:700; color:#302736; }
.tlcsdp-fields label span, .tlcsdp-manual label span { font-weight:400; color:#736c77; }
.tlcsdp-fields input, .tlcsdp-fields select, .tlcsdp-manual input {
  display:block; width:100%; height:40px; margin-top:6px; padding:7px 10px; color:#222;
  background:#fff; border:1px solid #ddd8df; border-radius:3px; outline-offset:2px; box-shadow:0 2px 5px #00000008;
}
.tlcsdp-fields input:focus, .tlcsdp-fields select:focus, .tlcsdp-manual input:focus { outline:2px solid #be9ace; }
.tlcsdp-button { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:12px 20px; text-decoration:none !important; font-weight:700; border-radius:3px; border:1px solid transparent; text-transform:uppercase; letter-spacing:.025em; font-size:11px; transition:filter .15s; }
.tlcsdp-button:hover { filter:brightness(1.08); }
.tlcsdp-gold { background:linear-gradient(120deg,#c99b5e,#ad7939); color:#fff !important; }
.tlcsdp-outline { border-color:#8c699a; background:#fff; color:var(--plum); }
.tlcsdp-wide { display:flex; width:100%; }
.tlcsdp-status { min-height:19px; font-size:11px; color:#176b3f; margin-top:8px !important; }
.tlcsdp-status.is-error { color:#a52e39; }
.tlcsdp-section-title { margin:16px 0 10px; }
.tlcsdp-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; margin-bottom:12px; }
.tlcsdp-metrics > div { position:relative; background:#fff; border:1px solid #e9e4e5; padding:13px 10px 11px 38px; min-height:94px; }
.tlcsdp-metric-icon { position:absolute; top:15px; left:10px; color:var(--plum); font-size:22px; line-height:1; }
.tlcsdp-metrics small { display:block; font-size:10px; font-weight:700; color:#35303d; }
.tlcsdp-metrics strong { display:block; color:#a97638; font:700 18px/1.35 'Playfair Display',Georgia,serif; white-space:nowrap; }
.tlcsdp-metrics em { display:block; font-size:9px; font-style:normal; color:#726d72; }
.tlcsdp-result-grid { display:grid; grid-template-columns:1.15fr .95fr; gap:12px; }
.tlcsdp-right-stack { display:grid; align-content:start; gap:12px; }
.tlcsdp-block-heading { margin:0 0 11px; }
.tlcsdp-block-heading h3 { margin:0 0 3px; }
.tlcsdp-map-panel { position:relative; display:flex; flex-direction:column; }
.tlcsdp-map { flex:1; min-height:465px; z-index:1; background:#e3e1dc; border-radius:4px; }
.tlcsdp-map-toolbar { position:absolute; z-index:450; right:30px; top:75px; display:flex; background:#fff; box-shadow:0 2px 8px #0003; border-radius:3px; overflow:hidden; }
.tlcsdp-map-toolbar button { background:white; border:0; border-right:1px solid #ddd; color:#222; font-size:10px; padding:9px; }
.tlcsdp-map-toolbar button.is-active { font-weight:800; background:#f0e8f2; }
.tlcsdp-map-toolbar button:last-child { border:0; }
.tlcsdp-map-icon { border:0 !important; background:transparent !important; }
.tlcsdp-map-icon i { display:block; width:20px; height:20px; border-radius:50%; background:var(--dot); border:3px solid #fff; box-shadow:0 1px 7px #0009; }
.tlcsdp-map-empty, .tlcsdp-profile-empty { display:grid; place-items:center; text-align:center; min-height:240px; padding:25px; color:#625b68; background:#f2edf3; border:1px dashed #c8b4d0; }
.tlcsdp-map-caption { min-height:16px; margin-top:7px !important; color:#6a5d70; font-size:10px; }
.tlcsdp-legend { display:flex; flex-wrap:wrap; gap:7px 14px; font-size:10px; margin-top:5px; }
.tlcsdp-dot { display:inline-block; width:10px; height:10px; border-radius:50%; vertical-align:middle; margin-right:4px; }
.tlcsdp-dot.green { background:#16874c; } .tlcsdp-dot.red { background:#d5263c; } .tlcsdp-dot.blue { background:#1972c3; }
.tlcsdp-line { display:inline-block; width:17px; border-top:2px solid #72238c; vertical-align:middle; margin-right:4px; }
.tlcsdp-map-panel.is-fullscreen { position:fixed; inset:12px; z-index:999999; background:white; }
.tlcsdp-map-panel.is-fullscreen .tlcsdp-map { min-height:0; }
.tlcsdp-profile-wrap svg { display:block; width:100%; height:auto; min-height:215px; background:#fff; touch-action:pan-y; }
.tlcsdp-axis { font:10px Arial,sans-serif; fill:#766b7b; }
.tlcsdp-cursor-text { font:700 13px Arial,sans-serif; fill:#602b77; }
.tlcsdp-method-note { color:#777; font-size:10px; margin-top:4px !important; }
.tlcsdp-table-scroll { overflow-x:auto; }
.tlcsdp table { width:100%; border-collapse:collapse; font-size:10px; }
.tlcsdp th { background:#f6f4f6; padding:8px 5px; color:#2d2534; text-align:left; white-space:nowrap; }
.tlcsdp td { padding:9px 5px; border-top:1px solid #e8e4e9; vertical-align:top; }
.tlcsdp tr[tabindex] { cursor:pointer; }
.tlcsdp tr[tabindex]:hover, .tlcsdp tr[tabindex]:focus { background:#f4edf8; }
.tlcsdp-section-cell { min-width:125px; font-weight:600; }
.tlcsdp-bottom-grid { display:grid; grid-template-columns:1.55fr 1fr; gap:12px; margin-top:12px; }
.tlcsdp-insights { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.tlcsdp-insights > div { border:1px solid #e8e3e8; padding:11px; min-height:142px; }
.tlcsdp-insights strong { color:#392846; font-size:11px; }
.tlcsdp-insights p { font-size:10px; margin-top:6px; color:#5b5360; }
.tlcsdp-action-row { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:9px; }
.tlcsdp-action-row button { min-height:39px; border:1px solid #e0dbe1; color:#34263e; background:#fff; border-radius:3px; font-size:10px; }
.tlcsdp-help { color:#756b79; font-size:10px; margin-top:9px !important; }
.tlcsdp-method { margin-top:13px; padding:18px; background:#eee6ef; border-left:4px solid var(--plum); font-size:12px; }
.tlcsdp-method h3 { color:var(--plum); font-size:14px; margin-bottom:4px; }
@media(max-width:1100px) {
  .tlcsdp-metrics { grid-template-columns:repeat(3,1fr); }
  .tlcsdp-result-grid { grid-template-columns:1fr; }
  .tlcsdp-map { min-height:420px; }
}
@media(max-width:760px) {
  .tlcsdp-shell { padding:15px 12px 25px; }
  .tlcsdp-hero-inner { padding:45px 18px; min-height:285px; }
  .tlcsdp-input-grid, .tlcsdp-bottom-grid { grid-template-columns:1fr; }
  .tlcsdp-insights { grid-template-columns:repeat(2,1fr); }
  .tlcsdp-map-toolbar { top:85px; right:25px; }
}
@media(max-width:500px) {
  .tlcsdp-panel { padding:13px; }
  .tlcsdp-entry-grid { grid-template-columns:1fr; }
  .tlcsdp-tabs button { font-size:9px; line-height:1.25; padding:8px 3px; }
  .tlcsdp-metrics { grid-template-columns:repeat(2,1fr); }
  .tlcsdp-metrics > div { padding:10px 6px 9px 33px; min-height:82px; }
  .tlcsdp-metrics strong { font-size:15px; }
  .tlcsdp-map { min-height:340px; }
  .tlcsdp-map-toolbar { top:88px; right:18px; }
  .tlcsdp-map-toolbar button { font-size:9px; padding:6px; }
  .tlcsdp-insights { grid-template-columns:1fr 1fr; }
}
@media print {
  @page { size:A4; margin:13mm; }
  body * { visibility:hidden !important; }
  .tlcsdp, .tlcsdp * { visibility:visible !important; }
  .tlcsdp { position:absolute; left:0; top:0; width:100%; background:#fff; color:#111; }
  .tlcsdp-hero, .tlcsdp-input-grid, .tlcsdp-map-toolbar, .tlcsdp-actions, .tlcsdp-map, .tlcsdp-map-empty, .tlcsdp-map-caption, .tlcsdp-legend { display:none !important; }
  .tlcsdp-shell { padding:0; }
  .tlcsdp-result-grid, .tlcsdp-bottom-grid { display:block; }
  .tlcsdp-panel { box-shadow:none; break-inside:avoid; margin-bottom:10px; }
  .tlcsdp-insights { grid-template-columns:repeat(2,1fr); }
  .tlcsdp-map-panel { display:none !important; }
  .tlcsdp-title { margin-top:5px; }
}
