/* CarriersScore Demo — front-end styles (brand palette) */
.csd-app{--ink:#102A43;--paper:#F8FAFC;--panel:#fff;--line:#DCE7EF;--muted:#62748A;--body:#486581;
  --steel:#0B7285;--teal-deep:#155E75;--mint:#E9FBF7;--amber:#F59F00;--danger:#D9480F;--ink-soft:#243B53;
  font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;color:var(--ink);line-height:1.55;
  background:var(--paper);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative;width:100%;max-width:100%;margin:0;box-sizing:border-box}
.csd-app *{box-sizing:border-box}
.csd-mono{font-family:"IBM Plex Mono",ui-monospace,monospace}
.csd-head{background:var(--ink);color:#D8E7F3;display:flex;align-items:center;gap:.5rem;padding:.42rem .6rem}
.csd-brand{font-family:"Archivo","IBM Plex Sans",sans-serif;font-weight:800;letter-spacing:-.02em;font-size:1.1rem;color:#fff}
.csd-brand span{color:#42C77B}
.csd-role{margin-left:auto;font-family:"IBM Plex Mono";font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  padding:.2rem .55rem;border:1px solid #2b4c68;border-radius:4px;color:#9FB3C8}
.csd-link{background:none;border:0;color:#C7D2DF;cursor:pointer;font:inherit;font-size:.85rem;padding:0}
.csd-link:hover{color:#fff;text-decoration:underline}
.csd-spectrum{height:4px;background:linear-gradient(90deg,#0B7285 0,#0B7285 58%,#42C77B 58%,#42C77B 66%,#82C91E 66%,#82C91E 74%,#C0D733 74%,#C0D733 81%,#FFD43B 81%,#FFD43B 87%,#F59F00 87%,#F59F00 92%,#F08C00 92%,#F08C00 96%,#D9480F 96%,#D9480F 100%)}
.csd-body{padding:1.5rem}
.csd-kicker{font-family:"IBM Plex Mono";font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel)}
.csd-h1{font-family:"Archivo","IBM Plex Sans",sans-serif;font-weight:800;font-size:1.6rem;margin:.25rem 0 .5rem}
.csd-h2{font-family:"Archivo","IBM Plex Sans",sans-serif;font-weight:700;font-size:1.05rem;margin:0 0 .7rem}
.csd-lead{color:var(--body);max-width:56ch}
.csd-trule{height:3px;width:110px;border-radius:2px;margin:.4rem 0 1.1rem;
  background:linear-gradient(90deg,#0B7285,#42C77B,#82C91E,#FFD43B,#F59F00,#D9480F)}
.csd-btn{background:var(--steel);color:#fff;border:0;border-radius:6px;padding:.55rem 1.1rem;font:inherit;font-weight:600;cursor:pointer}
.csd-btn:hover{filter:brightness(1.07)}
.csd-btn.ghost{background:transparent;color:var(--steel);border:1.5px solid var(--line)}
.csd-btn.danger{background:var(--danger)}
.csd-btn.block{display:block;width:100%}
.csd-search{display:flex;gap:.5rem;margin:1rem 0}
.csd-search input{flex:1;font-size:1.05rem;padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:6px;font-family:inherit}
.csd-search input:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(11,114,133,.15)}
.csd-hint{font-size:.8rem;color:var(--muted);margin-top:-.4rem}
.csd-row{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;background:var(--panel);border:1px solid var(--line);border-radius:6px;margin-bottom:.5rem;cursor:pointer;text-align:left;width:100%;font:inherit}
.csd-row:hover{border-color:var(--steel)}
.csd-row .who{flex:1;min-width:0}
.csd-row .nm{font-weight:600}
.csd-row .mt{font-size:.78rem;color:var(--muted);font-family:"IBM Plex Mono"}
.csd-badge{display:inline-flex;border:1px solid var(--bc,#62748A);border-radius:4px;overflow:hidden;flex:none}
.csd-badge b{background:var(--bc,#62748A);color:var(--bt,#fff);font-family:"Archivo",sans-serif;font-weight:800;padding:.2rem .5rem}
.csd-badge i{font-style:normal;font-family:"IBM Plex Mono";font-weight:600;padding:.2rem .55rem;background:#fff;color:var(--ink)}
.csd-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.csd-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1.2rem}
.csd-chead{display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;align-items:flex-start;margin-bottom:1rem}
.csd-facts{font-family:"IBM Plex Mono";font-size:.82rem;color:var(--muted)}
.csd-facts b{color:var(--ink-soft);font-weight:600}
.csd-pill{display:inline-block;font-family:"IBM Plex Mono";font-size:.72rem;padding:.15rem .5rem;border-radius:3px;border:1px solid var(--line);background:var(--mint);color:var(--teal-deep)}
.csd-gauge{width:210px;text-align:center;margin:0 auto}
.csd-gauge svg{width:100%;overflow:visible}
.csd-gtrack{fill:none;stroke:var(--line);stroke-width:13;stroke-linecap:round}
.csd-gval{fill:none;stroke:var(--bc,#0B7285);stroke-width:13;stroke-linecap:round;transition:stroke-dasharray 1s}
.csd-gnum{font-family:"IBM Plex Mono";font-weight:600;font-size:2.4rem}
.csd-gscale{font-family:"IBM Plex Mono";font-size:.7rem;color:var(--muted)}
.csd-gband b{display:inline-block;background:var(--bc);color:var(--bt,#fff);font-family:"Archivo",sans-serif;font-weight:800;padding:.1rem .45rem;border-radius:4px}
.csd-subs{display:flex;flex-direction:column;gap:.55rem}
.csd-sub{display:grid;grid-template-columns:7.5rem 1fr 2.4rem;align-items:center;gap:.5rem}
.csd-sub .lab{font-size:.85rem;font-weight:600;color:var(--ink-soft)}
.csd-sub .track{height:9px;background:var(--line);border-radius:5px;overflow:hidden}
.csd-sub .fill{height:100%;border-radius:5px}
.csd-sub .val{font-family:"IBM Plex Mono";font-size:.8rem;text-align:right;color:var(--muted)}
.csd-reason{display:flex;gap:.6rem;align-items:baseline;padding:.45rem 0;border-bottom:1px dashed var(--line)}
.csd-reason .code{font-family:"IBM Plex Mono";font-weight:600;font-size:.74rem;color:var(--steel);min-width:5rem}
.csd-reason .pts{margin-left:auto;font-family:"IBM Plex Mono";font-size:.78rem}
.csd-reason .pts.dn{color:var(--danger)}.csd-reason .pts.up{color:#2F9E44}
.csd-sig{border:1px solid var(--line);border-left-width:4px;border-radius:6px;padding:.85rem 1rem;margin-bottom:.7rem}
.csd-sig .k{font-family:"IBM Plex Mono";font-size:.75rem;color:var(--muted)}
.csd-sevpill{font-family:"IBM Plex Mono";font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;padding:.12rem .45rem;border-radius:3px;color:#fff;margin-right:.5rem}
.csd-alert{border-left:4px solid var(--amber);background:#FFF6E5;padding:.85rem 1rem;border-radius:0 6px 6px 0;margin:1rem 0}
.csd-alert.risk{border-left-color:var(--danger);background:#FDEFE8}
.csd-gated{position:relative;border:1px dashed var(--line);border-radius:8px;padding:1.4rem;text-align:center;background:#fff}
.csd-gated .lock{font-size:.9rem;color:var(--muted);margin-bottom:.7rem}
.csd-tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.csd-tbl th,.csd-tbl td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.csd-tbl th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.csd-tbl .num{font-family:"IBM Plex Mono";text-align:right}
.csd-avg{background:var(--mint);font-weight:600}
.csd-i{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;
  background:var(--steel);color:#fff;font-size:11px;font-weight:700;cursor:pointer;margin-left:.35rem;vertical-align:middle;font-style:normal;font-family:"IBM Plex Sans",sans-serif}
.csd-i:hover{background:var(--teal-deep)}
.csd-choose{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.2rem}
.csd-choose .card{border:1px solid var(--line);border-radius:8px;padding:1.4rem;text-align:center;background:#fff}
.csd-back{margin-bottom:1rem}
/* overlay + lightbox */
.csd-ov{position:fixed;inset:0;background:rgba(16,42,67,.5);display:flex;align-items:center;justify-content:center;z-index:99999;padding:1rem}
.csd-modal{background:#fff;border-radius:10px;max-width:520px;width:100%;padding:1.6rem;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.csd-modal h3{font-family:"Archivo",sans-serif;font-weight:800;margin:0 0 .6rem}
.csd-modal p{color:var(--body)}
.csd-modal .acts{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.2rem;flex-wrap:wrap}
@media(max-width:720px){.csd-grid,.csd-choose{grid-template-columns:1fr}.csd-chead{flex-direction:column}}
.csd-nav{display:flex;gap:1.1rem;margin-left:.4rem}
.csd-nav .csd-link{font-size:1.06rem}
.csd-nav .csd-link.active{color:#fff;font-weight:600}
@media(max-width:560px){.csd-nav{display:none}}
/* fluid/overflow safety */
.csd-app{max-width:100% !important}
.csd-grid>*,.csd-chead>*{min-width:0;max-width:100%}
.csd-gauge{max-width:210px;width:100%}
.csd-tbl{table-layout:fixed}
.csd-tbl td,.csd-tbl th{overflow-wrap:anywhere}
@media(max-width:640px){.csd-body{padding:1.1rem}.csd-search{flex-wrap:wrap}}
/* company details block */
.csd-contact{margin-bottom:1.1rem}
.csd-dl{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.2rem;font-size:.92rem;align-items:baseline}
.csd-dt{font-weight:600;color:var(--ink-soft);white-space:nowrap}
.csd-dd{color:var(--body);overflow-wrap:anywhere}
.csd-dd a{color:var(--steel)}
@media(max-width:520px){.csd-dl{grid-template-columns:1fr;gap:.15rem}.csd-dt{margin-top:.5rem}}
/* ===== shaded 3-column profile header ===== */
.csd-hero{display:grid;grid-template-columns:minmax(170px,190px) minmax(0,1fr) minmax(300px,40%);gap:1.4rem;align-items:start;
  background:#EDF2F7;border:1px solid var(--line);border-radius:12px;padding:1.4rem 1.5rem;margin-bottom:1.3rem}
.csd-hero-score{background:#fff;border:1px solid var(--line);border-radius:9px;padding:1rem .6rem .8rem;align-self:center}
.csd-hero-score .csd-gauge{margin:0 auto}
.csd-hero-cap{text-align:center;font-size:.78rem;color:var(--muted);margin:.55rem 0 0}
.csd-hero-main{align-self:center;min-width:0}
.csd-hero-main .csd-h1{margin:.15rem 0 .55rem}
.csd-hero-main .csd-pill{display:inline-block;margin-bottom:.55rem}
.csd-hero-main .csd-facts{margin:.35rem 0 0}
.csd-hero-details{min-width:0;border-left:1px solid #D3DEE9;padding-left:1.4rem}
.csd-hero-dh{font-family:"Archivo","IBM Plex Sans",sans-serif;font-weight:700;font-size:.92rem;margin:0 0 .55rem;color:var(--ink)}
.csd-hero .csd-dl{font-size:.85rem;gap:.38rem .9rem}
@media(max-width:880px){
  .csd-hero{grid-template-columns:auto 1fr}
  .csd-hero-details{grid-column:1 / -1;border-left:0;padding-left:0;border-top:1px solid #D3DEE9;padding-top:1rem;margin-top:.2rem}
}
@media(max-width:560px){
  .csd-hero{grid-template-columns:1fr;gap:1.1rem}
  .csd-hero-score{max-width:240px;margin:0 auto}
}
/* watchlist */
.csd-watch-line{margin:.85rem 0 0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.csd-wl-row{cursor:default}
.csd-wl-rm{margin-left:.4rem;padding:.35rem .8rem}
/* disputes / right of reply */
.csd-dispute{border:1px solid var(--line);border-left:4px solid #C7D2DF;border-radius:6px;padding:.7rem .9rem;margin-bottom:.6rem}
.csd-dispute-h{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.csd-dispute-h .code{font-family:"IBM Plex Mono";font-weight:600;font-size:.78rem;color:var(--steel)}
.csd-dispute-date{margin-left:auto;font-family:"IBM Plex Mono";font-size:.75rem;color:var(--muted)}
.csd-dispute-note{margin-top:.4rem;color:var(--body);font-size:.9rem}
/* ===== modal fix: overlays live on <body>, outside .csd-app, so they need
   their own design tokens + font, or var() colors (buttons!) render invisible ===== */
.csd-ov{--ink:#102A43;--paper:#F8FAFC;--panel:#fff;--line:#DCE7EF;--muted:#62748A;--body:#486581;
  --steel:#0B7285;--teal-deep:#155E75;--mint:#E9FBF7;--amber:#F59F00;--danger:#D9480F;--ink-soft:#243B53;
  font-family:"IBM Plex Sans",system-ui,-apple-system,sans-serif;overflow-y:auto}
.csd-ov *{box-sizing:border-box}
.csd-modal{max-height:calc(100vh - 2rem);overflow-y:auto}
.csd-modal .csd-btn{background:var(--steel);color:#fff}
.csd-modal .csd-btn.ghost{background:transparent;color:var(--steel)}
.csd-modal select{background:#fff;border:1px solid #C7D2DF;border-radius:5px;color:var(--ink)}
/* verification tags in the details column */
.csd-vtag{display:inline-block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.6rem;font-weight:600;
  letter-spacing:.02em;color:#fff;padding:.08rem .42rem;border-radius:3px;vertical-align:middle;white-space:nowrap;line-height:1.6}
.csd-hero .csd-dd{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}
/* carrier / driver / equipment spec panels (hard pull) */
.csd-spec{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.3rem;font-size:.9rem;align-items:baseline}
.csd-spec-l{font-weight:600;color:var(--ink-soft);white-space:nowrap}
.csd-spec-v{color:var(--body);overflow-wrap:anywhere}
.csd-spec-n{color:var(--muted);font-size:.8rem;font-family:"IBM Plex Mono",ui-monospace,monospace}
@media(max-width:520px){.csd-spec{grid-template-columns:1fr;gap:.12rem}.csd-spec-l{margin-top:.4rem}}

/* ---- login screen ---- */
.csd-login-wrap{display:flex;justify-content:center;padding:1.6rem 1rem 2.5rem}
.csd-login{max-width:392px;width:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.9rem 1.8rem;box-shadow:0 12px 34px rgba(16,42,67,.09)}
.csd-login-h{font-family:"Archivo",system-ui,sans-serif;font-weight:800;color:var(--ink);font-size:1.42rem;text-align:center;margin:0 0 .2rem;letter-spacing:-.01em}
.csd-login-sub{text-align:center;color:var(--muted);margin:0 0 1.5rem;font-size:.92rem}
.csd-field{display:block;margin-bottom:1.05rem;text-align:left}
.csd-field label{display:block;font-size:.8rem;font-weight:600;color:var(--ink);margin-bottom:.4rem}
.csd-field input{display:block;width:100%;padding:.74rem .85rem;border:1.5px solid var(--line);border-radius:9px;font:inherit;font-size:.95rem;background:#fff;color:var(--ink);box-sizing:border-box;transition:border-color .12s,box-shadow .12s}
.csd-field input:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(11,114,133,.15)}
.csd-login-row{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;margin:.1rem 0 1.25rem}
.csd-remember{color:var(--body);font-weight:400;display:flex;align-items:center;gap:.4rem;cursor:pointer}
.csd-forgot{color:var(--steel);text-decoration:none;cursor:pointer}
.csd-login .csd-btn.block{width:100%;font-size:1rem;padding:.8rem}
.csd-login-note{color:var(--muted);font-size:.8rem;margin:1rem 0 0;text-align:center}

/* ---- broker authority/bond timeline ---- */
.csd-timeline{margin-top:.4rem;border-left:2px solid var(--line);padding-left:1rem}
.csd-tl{position:relative;padding:.35rem 0}
.csd-tl:before{content:"";position:absolute;left:-1.32rem;top:.7rem;width:9px;height:9px;border-radius:50%;background:var(--steel)}
.csd-tl-d{display:inline-block;min-width:6.5rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.82rem;color:var(--muted)}
.csd-tl-e{color:var(--ink)}

/* ---- inspection violations list ---- */
.csd-viol{margin:.4rem 0 0;padding-left:1.1rem}
.csd-viol li{margin:.2rem 0;color:var(--body)}

/* ---- 12-month score-history box (full width, under header) ---- */
.csd-scorebox{margin-top:1.1rem}
.csd-scorebox svg{max-width:100%}

/* ---- shared input (alerts / api forms) ---- */
.csd-inp{display:block;width:100%;padding:.62rem .75rem;border:1.5px solid var(--line);border-radius:8px;font:inherit;font-size:.93rem;background:#fff;color:var(--ink);box-sizing:border-box}
.csd-inp:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(11,114,133,.15)}

/* ---- API request form: two-column field grid ---- */
.csd-form2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
@media(max-width:560px){.csd-form2{grid-template-columns:1fr}}

/* ---- Alerts recipients ---- */
.csd-alert-row{display:flex;gap:1rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.csd-alert-row:last-of-type{border-bottom:0}
.csd-alert-who{flex:1 1 300px;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.csd-alert-who input:first-child{grid-column:1/-1}
.csd-alert-opts{flex:0 0 auto;display:flex;gap:.9rem;align-items:center;padding-top:.4rem}
.csd-alert-opt{display:flex;align-items:center;gap:.3rem;font-size:.85rem;color:var(--body);cursor:pointer;white-space:nowrap}

/* ---- Watchlist row: clickable open area ---- */
.csd-wl-open{flex:1;display:flex;align-items:center;gap:.6rem;background:transparent;border:0;padding:0;margin:0;font:inherit;text-align:left;cursor:pointer;color:inherit}
.csd-wl-open .who{flex:1}

/* ---- association / credential badges ---- */
.csd-badgerow{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}
.csd-assoc{display:inline-flex;align-items:center;gap:.3rem;background:#EDF6F8;color:#0B5566;border:1px solid #B7DDE4;border-radius:999px;padding:.28rem .7rem;font-size:.82rem;font-weight:600}

/* ---- request-to-view dialog ---- */
.csd-reqscope{display:flex;flex-direction:column;gap:.4rem;margin:.4rem 0}
.csd-reqscope label{display:flex;align-items:center;gap:.45rem;font-size:.9rem;color:var(--body)}

/* ---- embeddable badge ---- */
.csd-embed{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.8rem}
.csd-embedcode{flex:1;min-width:200px;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.78rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;padding:.5rem .6rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}

/* ---- real logo in header ---- */
.csd-logo{height:78px;width:auto;display:block;cursor:pointer}
@media(max-width:520px){.csd-logo{height:65px}}

/* ---- demo-only notice above search results ---- */
.csd-demonote{margin:.9rem 0 .2rem;padding:.7rem .9rem;background:#FFF6E5;border:1px solid #FFE3B0;border-left:4px solid #F59F00;border-radius:8px;color:#7A4E00;font-size:.9rem;line-height:1.45}

/* ---- snapshot JSON modal ---- */
.csd-json{background:#0B2537;color:#CDE7ED;border-radius:8px;padding:.8rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.78rem;line-height:1.5;overflow-x:auto;white-space:pre;margin:.3rem 0}

/* ---- panel header row + edit button ---- */
.csd-panelhead{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.csd-editbtn{flex:0 0 auto;background:transparent;border:1px solid var(--line);color:var(--steel);border-radius:7px;padding:.22rem .6rem;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;line-height:1.4}
.csd-editbtn:hover{border-color:var(--steel);background:#EDF6F8}

/* ---- blurred "what a hard pull unlocks" teaser (soft pull) ---- */
.csd-teaser-cap{color:var(--muted);font-size:.86rem;margin:1.1rem 0 .2rem;font-style:italic}
.csd-teaser{position:relative;pointer-events:none}
.csd-teaser .csd-panel > *:not(.csd-h2):not(.csd-panelhead){filter:blur(5px);opacity:.55;user-select:none}
.csd-teaser .csd-alert{filter:blur(5px);opacity:.55}
.csd-teaser .csd-editbtn,.csd-teaser button{pointer-events:none}

/* ---- hard-pull option dialog ---- */
.csd-pullopts{display:flex;flex-direction:column;gap:.6rem;margin:.4rem 0 .2rem}
.csd-pullopts .csd-btn{display:block;width:100%;text-align:left;padding:.75rem .9rem;height:auto;line-height:1.3}
.csd-pullopts .sub{display:block;font-weight:400;font-size:.8rem;opacity:.9;margin-top:.3rem;line-height:1.42}

/* ---- Reviews ---- */
.csd-h3{font-family:"Archivo",system-ui,sans-serif;font-weight:700;color:var(--ink);font-size:1rem;margin:1rem 0 .3rem}
.csd-star{color:#D6DBE2;font-size:.95rem;letter-spacing:-.5px}
.csd-star.on{color:#F59F00}
.csd-rvsummary{display:flex;align-items:center;gap:.5rem;margin:.2rem 0 .8rem;font-size:1.05rem}
.csd-rvcard{border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem;margin-top:.7rem}
.csd-rvcard.pend{background:#FFFaf0;border-color:#FFE3B0}
.csd-rvhead{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;flex-wrap:wrap}
.csd-rvcats{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin:.5rem 0 .2rem}
.csd-rvcat{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--muted)}
.csd-rvcat .csd-star{font-size:.8rem}
.csd-rvcomment{margin:.4rem 0 .3rem;color:var(--body)}
.csd-rvfoot{display:flex;justify-content:space-between;align-items:center;gap:.6rem}
.csd-rvvote{display:flex;gap:.4rem}
.csd-votebtn{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.16rem .55rem;font:inherit;font-size:.82rem;cursor:pointer;color:var(--body)}
.csd-votebtn.on{border-color:var(--steel);background:#EDF6F8;color:#0B5566;font-weight:600}
.csd-rvreply{margin-top:.55rem;padding:.55rem .7rem;background:var(--paper);border-left:3px solid var(--steel);border-radius:0 6px 6px 0;font-size:.9rem}
.csd-rvpending{margin-top:1rem;border-top:1px dashed var(--line);padding-top:.5rem}
.csd-rvform-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}
.csd-rvform-row label{font-weight:600;font-size:.9rem;color:var(--ink)}
.csd-rvform-row select{max-width:110px}

/* ---- SafeAlert ---- */
.csd-pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.csd-safilters{margin:1rem 0}
.csd-fpills{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:.5rem}
.csd-flabel{font-size:.8rem;color:var(--muted);font-weight:600;margin-right:.2rem}
.csd-fpill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.28rem .7rem;font:inherit;font-size:.82rem;cursor:pointer;color:var(--body)}
.csd-fpill.on{border-color:var(--steel);background:var(--ink);color:#fff;font-weight:600}
.csd-salist{margin-top:1rem;display:flex;flex-direction:column;gap:.7rem}
.csd-sacard{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.85rem 1rem;cursor:pointer;font:inherit}
.csd-sacard:hover{border-color:var(--steel);box-shadow:0 2px 10px rgba(16,42,67,.06)}
.csd-sacard-top{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:.4rem}
.csd-satype{font-size:.82rem;color:var(--muted);font-weight:600}
.csd-saflag{background:#FDE8E4;color:#B23410;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.csd-sahead{font-family:"Archivo",system-ui,sans-serif;font-weight:700;color:var(--ink);font-size:1.02rem;margin:.1rem 0 .3rem}
.csd-sameta{font-size:.85rem;color:var(--muted)}

/* ---- Load Compliance ---- */
.csd-compcard{display:block;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;cursor:pointer;font:inherit;margin-bottom:.6rem}
.csd-compcard:hover{border-color:var(--steel);box-shadow:0 2px 10px rgba(16,42,67,.06)}
.csd-compcard-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}
.csd-ctable{width:100%;border-collapse:collapse;margin:.3rem 0 .8rem;font-size:.85rem}
.csd-ctable th{text-align:left;color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;padding:.3rem .5rem;border-bottom:1px solid var(--line)}
.csd-ctable td{padding:.35rem .5rem;border-bottom:1px solid var(--paper)}

/* ---- Account: Users + Billing ---- */
.csd-seatbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin-bottom:1rem}
.csd-utable{width:100%;border-collapse:collapse;font-size:.9rem}
.csd-utable th{text-align:left;color:var(--muted);font-weight:600;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;padding:.4rem .5rem;border-bottom:1px solid var(--line)}
.csd-utable td{padding:.55rem .5rem;border-bottom:1px solid var(--paper);vertical-align:top}
.csd-tiergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;margin:.4rem 0}
.csd-tiercard{border:1px solid var(--line);border-radius:10px;padding:.8rem;text-align:center}
.csd-tiercard.cur{border-color:var(--steel);background:#EDF6F8}
.csd-tiercard h4{margin:0 0 .3rem;color:var(--ink);font-family:"Archivo",sans-serif}
.csd-tierprice{font-size:1.5rem;font-weight:700;color:var(--ink)}
.csd-tiercard p{margin:.3rem 0;font-size:.86rem}
.csd-paytabs{display:flex;gap:.4rem;margin-bottom:.7rem}

/* ---- 2FA one-time-code ---- */
.csd-otp{display:flex;gap:.5rem;justify-content:center;margin:.4rem 0 1rem}
.csd-otpbox{width:44px;height:52px;text-align:center;font-size:1.4rem;font-weight:700;color:var(--ink);border:1.5px solid var(--line);border-radius:8px;font-family:"IBM Plex Mono",monospace}
.csd-otpbox:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(11,114,133,.15)}
@media(max-width:420px){.csd-otpbox{width:38px;height:46px;font-size:1.2rem}}

/* ---- SafeAlert search flags + snapshot banner ---- */
.csd-rowwrap{display:flex;align-items:stretch;gap:.5rem}
.csd-rowwrap .csd-row{flex:1}
.csd-sflag{flex:0 0 auto;align-self:center;border:1.5px solid var(--fc,#2F9E44);color:var(--fc,#2F9E44);background:#fff;border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap}
.csd-sflag-clear{color:#2F9E44;border-color:#B2E0C0}
.csd-sflag:not(.csd-sflag-clear){background:var(--fc);color:#fff;border-color:var(--fc)}
.csd-albadge{display:inline-block;vertical-align:middle;margin-left:.5rem;border:0;border-radius:999px;padding:.28rem .7rem;font:inherit;font-size:.82rem;font-weight:800;letter-spacing:.02em;cursor:pointer;background:var(--fc,#868E96);color:#fff}
.csd-albadge.big{font-size:.95rem;padding:.4rem .9rem}
.csd-albadge.clear{background:#E4F4E9;color:#1B6B37;cursor:default;font-weight:700}
.csd-albadge.pending{background:#868E96}
.csd-sabanner{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:var(--fc,#D9480F);color:#fff;border-radius:8px;padding:.5rem .9rem;margin:.2rem 0 .8rem;font-size:.9rem;box-shadow:0 2px 8px rgba(16,42,67,.15)}
.csd-sabanner-link{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:999px;padding:.2rem .7rem;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap}
.csd-saBig{border:1px solid var(--line);border-left:5px solid var(--fc,#D9480F);border-radius:10px;padding:.9rem 1rem;margin-top:.7rem;background:#fff}

/* ---- Cross / Fraud check boxes ---- */
.csd-ckgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.csd-ckbox{border:1px solid var(--line);border-radius:10px;padding:.85rem .95rem;background:#fff}
.csd-ckbox-empty{background:repeating-linear-gradient(135deg,#fbfcfd,#fbfcfd 8px,#f3f6f9 8px,#f3f6f9 16px);display:flex;flex-direction:column}
.csd-ckhead{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--line);padding-bottom:.4rem}
.csd-ckhead h3{margin:0;font-family:"Archivo",system-ui,sans-serif;font-size:1rem;color:var(--ink)}
.csd-ckver{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.72rem;font-weight:600;color:#0B5566;background:#EDF6F8;border:1px solid #CDE7EC;border-radius:999px;padding:.1rem .45rem}
.csd-ckrow{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.32rem 0;border-bottom:1px solid var(--paper)}
.csd-ckrow:last-child{border-bottom:0}
.csd-cklabel{font-size:.85rem;color:var(--body);display:flex;align-items:center;gap:.25rem;line-height:1.25}
.csd-cknum{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:1rem;font-weight:700;color:var(--steel);background:#EDF6F8;border:1px solid #CDE7EC;border-radius:7px;padding:.12rem .55rem;cursor:pointer;min-width:2.4rem;text-align:center}
.csd-cknum:hover{background:var(--steel);color:#fff}
.csd-ckreserved{color:#9AA7B4;font-size:.82rem;margin:auto 0;text-align:center}
@media(max-width:720px){.csd-ckgrid{grid-template-columns:1fr}.csd-ckbox-empty{display:none}}
