/*
 * Clinician Onboarding — fully standalone stylesheet, scoped under #cob-wrap.
 * Deliberately does NOT rely on cardiac-tool.css's custom properties (even
 * though the plugin also ships that file) — this shortcode needs to work
 * correctly even on a page that only has [clinician_onboarding] and not
 * [cardiac_tool], so every token it needs is redefined locally here.
 * Colors/radii matched directly against the provided screenshots.
 */
#cob-wrap{
  --ink:#222222; --ink-2:#574f4f; --ink-3:#8a8181;
  --red:#FF3333; --red-dk:#D81E1E; --red-12:#FFEDED; --red-04:#FFF7F7;
  --green:#127a59; --green-bg:#e7f4ee; --green-line:#c6e6d7;
  --amber:#8a6d1f; --amber-bg:#FCEFC7; --amber-line:#f0dfa0;
  --line:#efe4e4; --line-2:#E6E6E5; --surf:#fafafa;
  --r-card:10px; --r-field:50px; --r-pill:999px;
  --field-bg:#FBFBF9; --field-line:#E9E8E4; --tile-bg:#F7F7F5; --r-box:3px;
  font-family:'Poppins',system-ui,sans-serif; color:var(--ink); font-size:15px; line-height:1.5;
}
#cob-wrap *{box-sizing:border-box}
#cob-wrap .cob-shell{max-width:1000px; margin:0 auto; padding:24px 16px 60px}

/* ---- overall two-column layout: sidebar nav + content card ----
   overflow:hidden was removed here — it was clipping the calendar popup
   below (.cob-cal-pop), which sits inside this box and needs to be able
   to extend past it when open. What overflow:hidden actually did visually
   was round the sidebar's own grey background into this container's
   rounded corners; that's replicated explicitly on .cob-sidebar below
   instead (the only child whose background actually touches a rounded
   corner — the content column and savedbar are the same white as this
   box, so they never needed clipping in the first place). */
#cob-wrap .cob-layout{background:none; border:none}
#cob-wrap .cob-layout-row{display:grid; grid-template-columns:206px 1fr; gap:22px; align-items:start}
@media (max-width:760px){ #cob-wrap .cob-layout-row{grid-template-columns:1fr; gap:16px} }

/* ---- left sidebar: own card, red active row, red tick on completed rows ---- */
#cob-wrap .cob-sidebar{padding:16px 10px 18px; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-box)}
#cob-wrap .cob-sidebar-label{font-size:10px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin:0 12px 6px}
#cob-wrap .cob-navitem{display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:34px; padding:7px 12px; width:100%; background:none; border:none; border-radius:0; text-align:left; font-family:inherit; cursor:default; margin:0; transition:background .15s}
#cob-wrap .cob-navitem.clickable{cursor:pointer}
#cob-wrap .cob-navitem.clickable:hover{background:var(--tile-bg)}
#cob-wrap .cob-navlabel{font-size:13px; color:#6b6666}
#cob-wrap .cob-navtick{display:inline-flex; color:var(--red); flex-shrink:0}
#cob-wrap .cob-navitem.iscomplete .cob-navlabel{color:var(--red)}
#cob-wrap .cob-navitem.iscurrent, #cob-wrap .cob-navitem.iscurrent.clickable:hover{background:var(--red)}
#cob-wrap .cob-navitem.iscurrent .cob-navlabel, #cob-wrap .cob-navitem.iscurrent .cob-navtick{color:#fff}

/* ---- right content area ---- */
#cob-wrap .cob-content{padding:30px clamp(18px,3vw,28px) 28px; display:flex; flex-direction:column; min-height:420px; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-box); min-width:0}
#cob-wrap .cob-h1{font-size:clamp(20px,2.6vw,23px); font-weight:600; letter-spacing:-.01em; line-height:1.3; margin:0 0 6px}
#cob-wrap .cob-sub{font-size:12.5px; color:var(--ink-3); margin:0 0 22px; max-width:none}
#cob-wrap .cob-body{flex:1}
#cob-wrap .cob-footer{display:flex; justify-content:flex-end; margin-top:28px; gap:12px}
#cob-wrap .cob-mt{margin-top:18px}
#cob-wrap .cob-footer.split{justify-content:space-between; align-items:center}

/* ---- form grid + fields ---- */
#cob-wrap .cob-grid2{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px 16px}
#cob-wrap .cob-grid2 > *, #cob-wrap .cob-grid3 > *, #cob-wrap .cob-field{min-width:0}
@media (max-width:560px){ #cob-wrap .cob-grid2{grid-template-columns:minmax(0,1fr)} }
#cob-wrap .cob-grid3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 20px}
@media (max-width:680px){ #cob-wrap .cob-grid3{grid-template-columns:1fr} }
#cob-wrap .cob-field{margin-bottom:18px}
#cob-wrap .cob-grid2 .cob-field, #cob-wrap .cob-grid3 .cob-field{margin-bottom:0}
/* ---- field-level validation (Account screen, required uploads, and every
   required compliance field across Identity/Registration/Indemnity/
   Governance) ---- */
#cob-wrap .cob-field.has-error input, #cob-wrap .cob-field.has-error select,
#cob-wrap .cob-field.has-error .cob-dob-wrap input{
  border-color:#dc2626 !important;
}
#cob-wrap .cob-field.has-error input:focus, #cob-wrap .cob-field.has-error select:focus{
  box-shadow:0 0 0 4px rgba(220,38,38,.12);
}
#cob-wrap .cob-yn.has-error{border-color:#dc2626 !important}
#cob-wrap .cob-field-error{color:#dc2626; font-size:12.5px; margin:6px 0 0 15px; line-height:1.4}
#cob-wrap .cob-submit-error{color:#dc2626; font-size:13.5px; line-height:1.45; margin:12px 0 0; text-align:right; white-space:pre-line}
#cob-wrap .cob-qblock.has-error .cob-field-error{margin-left:0}
#cob-wrap .cob-label{display:block; font-size:12px; font-weight:500; color:var(--ink); margin-bottom:6px}
#cob-wrap .cob-label .req{color:var(--red); margin-left:6px}
#cob-wrap .cob-hint{font-size:10.5px; color:var(--ink-3); margin:5px 0 0 8px}
/* "Fetch from CQC" sync link + status message under the Provider ID field */
#cob-wrap .cob-cqc-sync{display:inline-block; font-size:12.5px; font-weight:600; color:var(--red); text-decoration:none; margin:6px 0 0 15px; cursor:pointer}
#cob-wrap .cob-cqc-sync:hover{text-decoration:underline}
/* No pointer-events:none, no dimming, and margin matches .cob-field-error's
   own "margin:6px 0 0 15px" exactly, on purpose:
   - pointer-events:none previously blocked the very first click after
     typing (this class can be stale between renders — see the onmousedown
     fix on the link itself in cbt-clinician-onboarding.js for the other,
     bigger half of that same bug).
   - Full opacity/full red in every state, not just when active — kept
     simple on purpose rather than a dimmed "looks disabled" treatment.
   - The 15px left margin is what actually lines this up with "This field
     is required." under the field beside it — .cob-field-error isn't flush
     with the input's left edge either, it has that same 15px inset. */
#cob-wrap .cob-cqc-sync.disabled{cursor:default}
#cob-wrap .cob-cqc-msg{font-size:12px; margin-top:4px}
#cob-wrap .cob-cqc-msg.success{color:var(--green)}
#cob-wrap .cob-cqc-msg.error{color:var(--red)}
#cob-wrap input[type=text], #cob-wrap input[type=email], #cob-wrap input[type=tel],
#cob-wrap input[type=date], #cob-wrap select, #cob-wrap textarea{
  width:100%; font-family:inherit; font-size:13px; color:var(--ink); min-height:42px;
  padding:10px 16px; border:1px solid var(--field-line); border-radius:var(--r-field);
  background:var(--field-bg); transition:border-color .15s, box-shadow .15s; appearance:none; -webkit-appearance:none; -moz-appearance:none; margin:0;
}
#cob-wrap select:disabled{color:var(--ink); opacity:1; cursor:default}
#cob-wrap textarea{resize:vertical; min-height:70px}
#cob-wrap input::placeholder, #cob-wrap textarea::placeholder{color:#9b9898}
#cob-wrap input:focus, #cob-wrap select:focus, #cob-wrap textarea:focus{outline:none; border-color:var(--red); box-shadow:0 0 0 4px var(--red-12)}

/* ---- mobile number: country code chip + number input ---- */
#cob-wrap .cob-phone{display:grid; grid-template-columns:72px 1fr; gap:4px}
#cob-wrap .cob-phone-cc select{padding-left:16px; padding-right:28px}
#cob-wrap .cob-phone-cc svg{right:11px}
#cob-wrap .cob-field.has-error .cob-phone-cc select{border-color:var(--field-line) !important}

/* ---- section header inside a screen (e.g. "Address details") ---- */
#cob-wrap .cob-sectionhdr{font-size:14px; font-weight:600; color:var(--ink); margin:22px 0 14px}
#cob-wrap .cob-sectionhdr-line{display:flex; align-items:center; gap:10px; font-size:16px; margin:26px 0 16px}
#cob-wrap .cob-sectionhdr-line::after{content:''; flex:1; height:1px; background:var(--field-line)}

/* ---- grey notice with red left rule (e.g. GMC warning on Identity) ---- */
#cob-wrap .cob-alert{margin-top:20px; padding:11px 16px; background:var(--tile-bg); border-left:2px solid var(--red); font-size:12px; color:var(--ink-3); line-height:1.5}

/* ---- file upload control ---- */
#cob-wrap .cob-upload{display:flex; align-items:center; justify-content:center; gap:10px; width:100%; max-width:100%; height:72px; min-width:0; overflow:hidden; padding:0 22px; border:1px solid var(--field-line); border-radius:22px; background:var(--field-bg); font-family:inherit; cursor:pointer; text-align:center; margin:0; transition:border-color .15s, background .15s}
#cob-wrap .cob-upload:hover{border-color:#cfcdc7}
#cob-wrap .cob-upload.has-file{border-color:var(--green-line); background:var(--green-bg)}
#cob-wrap .cob-upload.is-uploading{border-color:var(--ink-3); opacity:.7; cursor:wait}
#cob-wrap .cob-upload.has-error{border-color:#dc2626; background:#fef2f2}
#cob-wrap .cob-upload-icon{display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--ink)}
#cob-wrap .cob-upload-icon svg{width:14px; height:14px}
#cob-wrap .cob-upload.has-file .cob-upload-icon{color:var(--green)}
#cob-wrap .cob-upload.has-error .cob-upload-text span{color:#dc2626}
#cob-wrap .cob-upload-text{flex:0 1 auto; min-width:0; max-width:100%; text-align:left; line-height:1.35}
#cob-wrap .cob-upload-text b, #cob-wrap .cob-upload-text span{display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
#cob-wrap .cob-upload-text b{font-size:13px; font-weight:600; color:var(--ink)}
#cob-wrap .cob-upload-text span{font-size:11px; color:var(--ink-3); margin-top:2px}
#cob-wrap .cob-upload input[type=file]{display:none}
#cob-wrap .cob-upload-hint{font-size:10.5px; color:var(--ink-3); margin:6px 0 0 8px; line-height:1.4}

/* ---- badges / pills (status, pending check, complete) ---- */
#cob-wrap .cob-pill{display:inline-flex; align-items:center; font-size:12px; font-weight:600; padding:5px 12px; border-radius:var(--r-pill); white-space:nowrap}
#cob-wrap .cob-pill.gray{background:var(--surf); color:var(--ink-3); border:1px solid var(--line-2)}
#cob-wrap .cob-pill.green{background:var(--green-bg); color:var(--green)}
#cob-wrap .cob-pill.red{background:var(--red-12); color:var(--red-dk)}
#cob-wrap .cob-pill.amber{background:var(--amber-bg); color:var(--amber)}

/* ---- Registration Dashboard: 6-tile status overview ---- */
#cob-wrap .cob-dashgrid{display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-bottom:22px}
@media (max-width:560px){ #cob-wrap .cob-dashgrid{grid-template-columns:1fr} }
#cob-wrap .cob-dashtile{display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:42px; padding:9px 12px; border-radius:var(--r-box); background:var(--tile-bg); font-size:13px; font-weight:400; color:var(--ink)}
#cob-wrap .cob-status{display:inline-flex; align-items:center; font-size:9.5px; font-weight:600; line-height:1; padding:5px 8px; border-radius:2px; border:1px solid transparent; white-space:nowrap}
#cob-wrap .cob-status.is-pending{background:#F1F1EF; color:#8a8787; border-color:#E2E1DD}
#cob-wrap .cob-status.is-progress{background:#fff; color:var(--ink); border-color:#E2E1DD}
#cob-wrap .cob-status.is-complete{background:#fff; color:var(--ink); border-color:#fff}
#cob-wrap .cob-notebox{border:1px solid var(--field-line); border-radius:var(--r-box); padding:13px 16px; margin-bottom:8px}
#cob-wrap .cob-notebox b{font-size:11.5px; font-weight:600; display:block; margin-bottom:3px}
#cob-wrap .cob-notebox p{font-size:11px; color:var(--ink-3); margin:0}
#cob-wrap .cob-notebox-plain{margin-top:20px; padding:12px 16px}
#cob-wrap .cob-notebox-plain p{font-size:12px; line-height:1.7}
#cob-wrap .cob-sub-tight{margin:-4px 0 18px}

/* ---- small square tags (Agreements rows) ---- */
#cob-wrap .cob-tag{display:inline-flex; align-items:center; font-size:10px; font-weight:600; line-height:1; padding:6px 9px; border-radius:2px; border:1px solid transparent; white-space:nowrap; flex-shrink:0}
#cob-wrap .cob-tag.is-version{background:#F1F1EF; color:#6b6666; border-color:#E2E1DD}
#cob-wrap .cob-tag.is-required{background:var(--red-12); color:var(--red-dk)}
#cob-wrap .cob-tag.is-agreed{background:#fff; color:var(--ink); border-color:#E2E1DD}

/* ---- Yes/No radio pairs ---- */
#cob-wrap .cob-yn{display:inline-flex; gap:14px; align-items:center; min-height:38px; padding:6px 16px 6px 12px; border:1px solid var(--field-line); border-radius:var(--r-field); background:var(--field-bg)}
#cob-wrap .cob-yn label{display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--ink); cursor:pointer; margin:0}
#cob-wrap .cob-yn input[type=radio]{appearance:none; -webkit-appearance:none; width:18px; height:18px; border-radius:50%; border:1px solid #DCDAD5; background:#fff; cursor:pointer; margin:0; flex-shrink:0; transition:border-color .15s, box-shadow .15s}
#cob-wrap .cob-yn input[type=radio]:checked{border-color:var(--red); box-shadow:inset 0 0 0 4px #fff; background:var(--red)}
#cob-wrap .cob-yn input[type=radio]:focus-visible{outline:2px solid var(--red-12); outline-offset:2px}
#cob-wrap .cob-qblock{margin-bottom:18px}
#cob-wrap .cob-qblock > .cob-label{margin-bottom:8px}

/* ---- confirmation checkbox block (Privileges screen) ---- */
#cob-wrap .cob-confirmbox{background:#FFF4F4; border:none; border-radius:var(--r-box); padding:14px 16px 16px; margin-bottom:22px}
#cob-wrap .cob-checkrow{display:flex; align-items:center; gap:12px; padding:5px 0; cursor:pointer; margin:0}
#cob-wrap .cob-checkrow input[type=checkbox]{appearance:none; -webkit-appearance:none; width:18px; height:18px; margin:0; border:1px solid #EADADA; border-radius:4px; background:#fff no-repeat center/12px 12px; cursor:pointer; flex-shrink:0; transition:background-color .15s, border-color .15s}
#cob-wrap .cob-checkrow input[type=checkbox]:checked{background-color:var(--red); border-color:var(--red); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}
#cob-wrap .cob-checkrow input[type=checkbox]:focus-visible{outline:2px solid var(--red-12); outline-offset:2px}
#cob-wrap .cob-checkrow span{font-size:13px; color:var(--ink)}
/* Desktop-only nudge — checkbox sits slightly low relative to the label text on
   desktop but already looks correct on mobile/tablet, so this is scoped up here
   rather than changed in the base rule above. */

#cob-wrap .cob-confirmnote{font-size:10.5px; color:var(--ink-3); margin:6px 0 0}

/* ---- Agreements screen: document rows ---- */
#cob-wrap .cob-docrow{display:flex; justify-content:space-between; align-items:center; gap:12px; border:1px solid var(--field-line); border-radius:var(--r-box); padding:13px 14px; margin-bottom:8px}
#cob-wrap .cob-docrow b{font-size:13px; font-weight:600; display:block}
#cob-wrap .cob-docrow a{font-size:11.5px; color:var(--red); text-decoration:none; display:inline-block; margin-top:4px}
#cob-wrap .cob-docrow a:hover{text-decoration:underline}

/* ---- Review screen: 6-tile complete grid ---- */
#cob-wrap .cob-reviewgrid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px}
@media (max-width:560px){ #cob-wrap .cob-reviewgrid{grid-template-columns:1fr} }
#cob-wrap .cob-reviewtile{display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border-radius:10px; background:var(--green-bg)}
#cob-wrap .cob-reviewtile span:first-child{font-size:14.5px; color:var(--ink)}

/* ---- buttons ---- */
#cob-wrap .cob-btn{display:inline-flex; align-items:center; justify-content:center; min-height:46px; font-family:inherit; font-weight:600; font-size:14px; line-height:1; border-radius:var(--r-pill); padding:12px 24px; cursor:pointer; border:1px solid transparent; transition:background .15s, border-color .15s, transform .08s; white-space:nowrap; margin:0}
#cob-wrap .cob-btn:active{transform:translateY(1px)}
#cob-wrap .cob-btn.dark{background:var(--ink); color:#fff}
#cob-wrap .cob-btn.dark:hover{background:#000}
#cob-wrap .cob-btn.dark:disabled{background:var(--line-2); color:#fff; cursor:not-allowed}
#cob-wrap .cob-btn.primary{background:var(--red); color:#fff}
#cob-wrap .cob-btn.primary:hover{background:var(--red-dk)}
#cob-wrap .cob-btn.primary:disabled{background:#FFA6A6; color:#fff; cursor:not-allowed; transform:none}
#cob-wrap .cob-btn.ghost{background:#fff; color:var(--ink); border-color:var(--field-line); min-width:110px}
#cob-wrap .cob-btn.ghost:hover{border-color:#cfcdc7}
@media (max-width:480px){ #cob-wrap .cob-footer.split .cob-btn.primary{flex:1} }

/* ---- auto-saved footer strip (bottom of every in-progress screen) ---- */
/* .cob-savedbar removed — the "Auto-saved" strip is no longer shown */

/* ---- custom dropdown chevron wrapper (replaces native select arrow) ---- */
#cob-wrap .cob-select-wrap{position:relative}
#cob-wrap .cob-select-wrap select{appearance:none; -webkit-appearance:none; -moz-appearance:none; width:100%; padding-right:38px; box-sizing:border-box; background-image:none}
#cob-wrap .cob-select-wrap svg{position:absolute; right:14px; top:50%; transform:translateY(-50%); width:14px; height:14px; color:var(--ink-3); pointer-events:none}

/* ---- custom date-of-birth calendar popup (matches the booking flow's) ---- */
#cob-wrap .cob-dob-wrap{position:relative}
#cob-wrap .cob-dob-wrap input{width:100%; box-sizing:border-box; padding-right:40px; cursor:pointer}
#cob-wrap .cob-dob-wrap svg{position:absolute; right:14px; top:50%; transform:translateY(-50%); width:16px; height:16px; color:var(--ink-3); cursor:pointer}
#cob-wrap .cob-cal-pop{position:absolute; top:calc(100% + 8px); left:0; z-index:30; background:#fff; border:1px solid var(--line-2); border-radius:14px; box-shadow:0 16px 40px rgba(34,34,34,.16); padding:16px; width:280px; cursor:default}
#cob-wrap .cob-cal-hd{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; font-weight:600; font-size:14px}
#cob-wrap .cob-cal-hd button{background:none; border:none; font-size:16px; cursor:pointer; color:var(--ink-2); width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:0; line-height:1}
#cob-wrap .cob-cal-hd button:hover{background:var(--surf)}
#cob-wrap .cob-cal-year{width:100%; margin-bottom:10px; padding:7px 10px; border-radius:8px; border:1px solid var(--line-2); font-size:13px; font-family:inherit}
#cob-wrap .cob-cal-dow{display:grid; grid-template-columns:repeat(7,1fr); text-align:center; font-size:11px; color:var(--ink-3); margin-bottom:4px}
#cob-wrap .cob-cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:2px}
#cob-wrap .cob-cal-grid span{display:flex; align-items:center; justify-content:center; height:30px; font-size:13px; border-radius:50%; cursor:pointer; color:var(--ink)}
#cob-wrap .cob-cal-grid span:empty{cursor:default}
#cob-wrap .cob-cal-grid span:not(:empty):hover{background:var(--surf)}
#cob-wrap .cob-cal-grid span.sel{background:var(--red); color:#fff}

/* ---- final "Application submitted" screen (no sidebar, standalone card) ---- */
#cob-wrap .cob-donewrap{max-width:600px; margin:60px auto; text-align:center}
#cob-wrap .cob-donewrap h1{font-size:clamp(24px,3.5vw,30px); font-weight:600; margin-bottom:8px}
#cob-wrap .cob-donewrap > p{font-size:14.5px; color:var(--ink-3); margin-bottom:28px}
#cob-wrap .cob-donecard{background:#fff; border:1px solid var(--line); border-radius:var(--r-card); padding:28px 30px; text-align:left}
#cob-wrap .cob-donecard .cob-pill{margin-bottom:16px}
#cob-wrap .cob-donecard h3{font-size:18px; font-weight:600; margin-bottom:12px}
#cob-wrap .cob-donecard p{font-size:14px; color:var(--ink-2); line-height:1.6; margin-bottom:10px}
#cob-wrap .cob-donecard .cob-btn{margin-top:14px}

/* ---- agreement document popup (View agreement / View undertaking) ----
   Overlay + centered modal, independent of the cob-cal-pop z-index (30) so
   it always sits above everything else on this screen. Body scrolls; the
   checkbox footer is a separate flex child (not part of the scrolling
   area) so it stays fixed at the bottom of the popup regardless of scroll
   position or document length. */
#cob-wrap .cob-modal-overlay{position:fixed; inset:0; background:rgba(34,20,20,.45); z-index:100; display:flex; align-items:center; justify-content:center; padding:20px}
#cob-wrap .cob-modal{background:#fff; border-radius:var(--r-box); width:100%; max-width:720px; max-height:88vh; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.28)}
#cob-wrap .cob-modal-hd{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 24px 12px; flex-shrink:0}
#cob-wrap .cob-modal-hd h3{font-size:17px; font-weight:600; margin:0}
#cob-wrap .cob-modal-close{background:#fff; border:1px solid var(--field-line); width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink); font-size:16px; line-height:1; padding:0; flex-shrink:0}
#cob-wrap .cob-modal-close:hover{background:var(--tile-bg)}
#cob-wrap .cob-modal-body{padding:4px 24px 16px; overflow-y:auto; flex:1 1 auto; font-size:12.5px; line-height:1.65; color:var(--ink-2)}
#cob-wrap .cob-modal-body h4{font-size:15px; font-weight:600; color:var(--ink); margin:0 0 12px; line-height:1.3}
#cob-wrap .cob-modal-body h5{font-size:12.5px; font-weight:600; color:var(--ink); margin:14px 0 4px}
#cob-wrap .cob-modal-body p{margin:0 0 10px}
#cob-wrap .cob-modal-body ul,#cob-wrap .cob-modal-body ol{margin:0 0 10px; padding-left:22px}
#cob-wrap .cob-modal-body li{margin-bottom:5px}
#cob-wrap .cob-modal-body strong{color:var(--ink)}
#cob-wrap .cob-modal-ft{flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--field-line); padding:14px 24px; background:#fff}
#cob-wrap .cob-modal-ft .cob-checkrow span{font-size:12.5px}
#cob-wrap .cob-modal-ft .cob-btn{min-width:150px}
@media (max-width:560px){
  #cob-wrap .cob-modal-ft{flex-direction:column; align-items:stretch}
  #cob-wrap .cob-modal-ft .cob-btn{width:100%}
}
@media (max-width:600px){
  #cob-wrap .cob-modal{max-height:94vh; border-radius:12px}
  #cob-wrap .cob-modal-body{font-size:13px}
}
#cob-wrap .cob-cal-grid span.disabled{color:#c4c4c4; cursor:not-allowed; pointer-events:auto}
#cob-wrap .cob-cal-grid span.disabled:hover{background:transparent}

/* bordered upload section (Indemnity: Written confirmation of cover) */
#cob-wrap .cob-uploadbox{margin-top:24px; padding:18px 20px 16px; border:1px solid var(--field-line); border-radius:var(--r-box)}