/* Appended UI refresh: lighter sidebar, guide styling. Import after portal.css */
.cdp-nav{font-weight:400;}
.cdp-nav.on{font-weight:600;}
/* Task 2: section headers must be BOLD and clearly visible */
.cdp-sec-h span{font-weight:800;letter-spacing:1.4px;color:var(--tx2);}
.cdp-sec-h{color:var(--tx2);}

/* Sidebar de-crowding + bolder, larger section chevrons and clearer headers */
.cdp-sec{margin-bottom:16px;}
.cdp-sec-h{padding:12px 12px 8px !important;gap:10px !important;}
.cdp-sec-h span{font-size:12.5px !important;color:#475467 !important;}
.cdp-sec + .cdp-sec .cdp-sec-h{border-top:1px solid #eef0f3;margin-top:4px;padding-top:14px !important;}
.cdp-sec-chev{width:18px !important;height:18px !important;color:#344054 !important;stroke-width:3.5 !important;}
.cdp-nav.nested{padding-top:6px !important;padding-bottom:6px !important;}
/* Products under "All products": same indent level as the parent, NOT bold */
.cdp-nav.nested{font-size:14px;font-weight:500;color:var(--tx);margin-left:24px;padding-left:16px;border-left:1.5px solid #e4e7ec;border-radius:0 8px 8px 0;}
.cdp-nav.nested:hover{border-left-color:#c4c9d4;}
.cdp-nav.nested.on{color:var(--accent);border-left-color:var(--accent);}
.cdp-nav.nested .cdp-nav-i{width:20px;height:20px;opacity:1;}
.cdp-nav.nested .cdp-nav-label{font-weight:500;}
.cdp-nav.nested.on{color:var(--accent);}
.cdp-nav.nested .cdp-nav-desc{font-weight:400;font-size:11px;}
.cdp-guide ol,.cdp-guide ul{margin:8px 0 8px 20px;line-height:1.7;}
.cdp-guide p{line-height:1.65;margin:8px 0;}
.cdp-guide code{background:rgba(127,127,127,.12);border-radius:5px;padding:1px 6px;font-size:13px;}
.cdp-on{outline:2px solid var(--cd-blue,#1570ef);}
/* Admin-guide sub-headings (used by the expanded SSO guide) */
.cdp-guide h4{font-family:var(--sans);font-size:14px;font-weight:800;color:var(--tx);margin:18px 0 6px;}
.cdp-guide h5{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--tx2);margin:14px 0 4px;}
.cdp-guide hr{border:none;border-top:1px solid var(--bd);margin:18px 0;}
.cdp-guide .cdp-guide-note{background:var(--accentl);border-radius:8px;padding:10px 14px;margin:10px 0;font-size:13px;line-height:1.6;}
.cdp-guide ol ol,.cdp-guide ol ul{margin:4px 0 4px 18px;}
/* Product-config: IdP picker for the Add-a-group section */
.pc-idp-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 10px;}
.pc-idp-pick .cdp-select2{min-width:220px;}
/* Make the note box usable outside .cdp-guide too (e.g. product-config) */
.cdp-guide-note{background:var(--accentl);border-radius:8px;padding:10px 14px;margin:10px 0;font-size:13px;line-height:1.6;color:var(--tx2);}

/* ── Look & Feel: portal-wide font themes (set on <html data-cdfont>) ───────
   Default (no attribute) keeps the original DM Sans. Each theme overrides the
   --sans variable that every page, panel and the left sidebar inherit. */
html[data-cdfont="modern"]    { --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
html[data-cdfont="dmsans"]    { --sans: 'DM Sans', system-ui, sans-serif; }
html[data-cdfont="geometric"] { --sans: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; }
html[data-cdfont="classic"]   { --sans: Georgia, Cambria, 'Times New Roman', serif; }
html[data-cdfont="system"]    { --sans: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; }
/* Look & Feel page font cards */
.lf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:8px 0 4px;}
.lf-card{text-align:left;border:1px solid var(--bd);border-radius:12px;background:var(--bg2);padding:16px 16px 14px;cursor:pointer;transition:border-color .15s, box-shadow .15s;}
.lf-card:hover{border-color:var(--accent);}
.lf-card.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accentl);}
.lf-card-name{font-size:14px;font-weight:700;color:var(--tx);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.lf-card-tag{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent);background:var(--accentl);padding:2px 8px;border-radius:20px;}
.lf-sample{margin-top:10px;font-size:20px;font-weight:700;color:var(--tx);line-height:1.2;}
.lf-sample-sub{font-size:12.5px;color:var(--tx3);margin-top:3px;}
/* SSO — identity-provider radio picker */
.sso-idp-radios{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 2px;}
.sso-idp-radio{display:flex;align-items:center;gap:8px;border:1px solid var(--bd);border-radius:10px;padding:9px 14px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--tx2);background:var(--bg2);transition:border-color .15s,color .15s,background .15s;}
.sso-idp-radio:hover{border-color:var(--accent);}
.sso-idp-radio.on{border-color:var(--accent);color:var(--tx);background:var(--accentl);}
.sso-idp-radio input{accent-color:var(--accent);margin:0;}
/* product-config — launch URL banner + inline group remove */
.pc-launch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--accentl);border:1px solid var(--bd);border-radius:10px;padding:10px 14px;margin:0 0 14px;font-size:13px;}
.pc-launch code{font-family:var(--mono);font-size:12.5px;color:var(--tx);word-break:break-all;}
.pc-name-rm{border:none;background:none;color:var(--tx3);cursor:pointer;font-size:18px;line-height:1;padding:0 4px;border-radius:6px;}
.pc-name-rm:hover{color:#c0392b;background:var(--bg3);}
.pc-name-confirm{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx2);}
.pc-name-confirm button{border:1px solid var(--bd);background:var(--bg2);border-radius:6px;padding:2px 8px;cursor:pointer;font-size:12px;}
.pc-name-confirm button.yes{border-color:#c0392b;color:#c0392b;font-weight:700;}

/* Portal subtitle/helper text — plain, left-aligned, no box. (login.css reuses
   .cdp-sub for subnet diagram boxes; that's now scoped to .cdp-subs.) */
.cdp-sub{display:block;text-align:left;background:none;border:none;border-radius:0;padding:0;flex:initial;font-size:12.5px;line-height:1.6;color:var(--tx3);}
.cdp-sub code{background:none;padding:0;font-family:var(--mono);font-size:12px;color:var(--tx2);word-break:break-all;}
/* inline example line under inputs (left-aligned, no background) */
.cdp-eg{display:block;text-align:left;font-size:12px;color:var(--tx3);margin-top:5px;line-height:1.5;}
.cdp-eg code{background:none;padding:0;font-family:var(--mono);color:var(--tx2);word-break:break-all;}
/* Soften note boxes: a thin accent rule instead of a filled bluish block */
.cdp-guide-note{background:none;border:none;border-left:3px solid var(--accent);border-radius:0;padding:2px 0 2px 12px;margin:10px 0;font-size:13px;line-height:1.6;color:var(--tx2);}
.cdp-guide .cdp-guide-note{background:none;border-left:3px solid var(--accent);padding:2px 0 2px 12px;}

/* Product configuration — product tiles (names) + defaults detail panel */
.pc-prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin-bottom:8px;}
.pc-prod{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px;border:1px solid var(--bd);border-radius:12px;background:#fff;cursor:pointer;transition:.12s;}
.pc-prod:hover{border-color:var(--accent);box-shadow:0 1px 6px rgba(16,24,40,.06);}
.pc-prod.on{border-color:var(--accent);background:var(--accentl);box-shadow:0 0 0 1px var(--accent) inset;}
.pc-prod-nm{font-weight:700;font-size:14px;color:var(--tx);}
.pc-prod-id2{font-family:var(--mono);font-size:11px;color:var(--tx3);}
.pc-prod-rg{font-size:11px;color:var(--tx2);letter-spacing:.02em;}
.pc-prod-detail{margin-top:14px;padding-top:14px;border-top:1px solid var(--bd);}
.pc-defaults{margin-top:10px;display:flex;flex-direction:column;gap:10px;}
.pc-default-row{border:1px solid var(--bd);border-radius:10px;padding:10px 14px;background:#fbfcfe;}
.pc-default-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.pc-default-rg{font-weight:700;font-size:13px;color:var(--tx);}
.pc-default-v{font-family:var(--mono);font-size:11px;color:var(--tx2);background:#eef1f6;padding:1px 7px;border-radius:20px;}
.pc-default-st{margin-left:auto;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;}
.pc-default-st.ok{background:#ecfdf3;color:#067647;}
.pc-default-st.pend{background:#fffaeb;color:#b54708;}
.pc-default-row .pc-launch{margin:0;}

/* Launch URL: inline Open/Copy buttons next to the URL */
.yp-url{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.yp-url-btns{display:inline-flex;gap:6px;}
.cdp-copy{font-size:11.5px;font-weight:700;padding:3px 10px;border:1px solid var(--bd);border-radius:7px;background:#fff;color:var(--tx2);cursor:pointer;text-decoration:none;line-height:1.6;}
.cdp-copy:hover{border-color:var(--accent);color:var(--accent);}

/* Tighten sidebar width + content offset to match the ACRE portal (was 340px → big gap).
   Content itself stays fluid (expands with the window) — no max-width cap. */
.cdp-side { width: 264px; }
@media (min-width: 1080px) { .cdp-body.nav-open .cdp-main { margin-left: 264px; } }
.cdp-main { padding: 26px 30px 60px; }

/* Clickable announcement cards + Live tag */
.ov-card-link { cursor: pointer; text-decoration: none; display: block; transition: transform .12s, box-shadow .12s, border-color .12s; }
.ov-card-link:hover { border-color: var(--accent); box-shadow: 0 4px 16px rgba(16,24,40,.08); transform: translateY(-1px); }
.ov-card-tag.live { background: #ecfdf3; color: #067647; }

/* Support: keep the "Your tickets" list usable when the new-ticket pane is expanded */
.cdp-2col .cdp-tree { min-width: 300px; }
.cdp-detailpane.tk-pane.wide { width: min(760px, 56%); }

/* Your Products — Unsubscribe footer */
.yp-foot { display: flex; justify-content: flex-end; padding: 10px 0 2px; margin-top: 8px; border-top: 1px solid #eef0f3; }
.yp-unsub-btn { background: #fff; color: #b42318; border: 1px solid #fecdca; border-radius: 8px; padding: 7px 14px; font-size: 13px; font-weight: 700; cursor: pointer; }
.yp-unsub-btn:hover { background: #fef3f2; border-color: #fda29b; }
.yp-unsub { width: 100%; background: #fffafa; border: 1px solid #fda29b; border-radius: 10px; padding: 14px 16px; }
.yp-unsub-h { font-weight: 800; color: #b42318; font-size: 14px; }
.yp-unsub-p { font-size: 12.5px; color: #667085; margin: 4px 0 10px; }
.yp-unsub-q { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: #344054; margin: 6px 0; cursor: pointer; }
.yp-unsub-err { color: #b42318; font-size: 12.5px; margin-top: 8px; font-weight: 600; }
.yp-unsub-btns { display: flex; gap: 10px; margin-top: 12px; }

/* Product config — access-not-configured warning */
.pc-warn { background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: 14px 18px; margin-bottom: 16px; }
.pc-warn-h { font-weight: 800; color: #b45309; font-size: 14px; margin-bottom: 4px; }
.pc-warn p { font-size: 13px; color: #7c5e10; line-height: 1.55; margin: 0; }

/* Page header refresh button (right side, all pages) */
.cdp-phead { position: relative; }
.cdp-phead-refresh { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid var(--bd); border-radius: 9px; padding: 8px 13px; font-size: 13px; font-weight: 700; color: var(--tx2); cursor: pointer; }
.cdp-phead-refresh:hover { border-color: var(--accent); color: var(--accent); }
@media (max-width: 640px) { .cdp-phead-refresh span { display: none; } }

/* Support — clickable ticket stat blocks (big number + label) */
.tk-stats { display: flex; flex-wrap: wrap; gap: 12px; margin: 4px 0 18px; }
.tk-stat { flex: 1; min-width: 120px; background: #fff; border: 1px solid var(--bd); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; align-items: center; gap: 4px; cursor: pointer; transition: .12s; }
.tk-stat:hover { border-color: var(--accent); box-shadow: 0 2px 10px rgba(16,24,40,.06); }
.tk-stat.on { border-color: var(--accent); background: #eff6ff; box-shadow: 0 0 0 1px var(--accent) inset; }
.tk-stat-n { font-size: 34px; font-weight: 800; line-height: 1; color: var(--accent); font-family: var(--sans, inherit); }
.tk-stat-l { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--tx3); }
