:root{--cc-blue:#46b4e8;--cc-blue-dark:#087eaf;--cc-navy:#172a36;--cc-text:#25333b;--cc-muted:#647680;--cc-line:#dfe9ee;--cc-bg:#f4f9fb;--cc-white:#fff;--cc-shadow:0 24px 80px rgba(15,37,49,.25)}
.cc-backdrop{position:fixed;inset:0;z-index:9998;background:rgba(11,28,38,.58);backdrop-filter:blur(5px)}
.cc-dialog{position:fixed;inset:0;z-index:9999;display:grid;place-items:end center;padding:24px;overflow:auto}
.cc-dialog[hidden],.cc-backdrop[hidden]{display:none!important}
.cc-panel{position:relative;width:min(100%,920px);max-height:min(88vh,820px);overflow:auto;background:var(--cc-white);border:1px solid rgba(255,255,255,.7);border-radius:22px;box-shadow:var(--cc-shadow);padding:30px;color:var(--cc-text)}
.cc-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#52656f;font-size:30px;line-height:1;cursor:pointer;padding:7px}
.cc-heading{display:flex;align-items:center;gap:16px;padding-right:40px}.cc-icon{display:grid;place-items:center;flex:0 0 50px;height:50px;border-radius:15px;background:linear-gradient(135deg,var(--cc-blue),var(--cc-blue-dark));color:#fff;font-size:24px;font-weight:800}
.cc-kicker{margin:0 0 2px;color:var(--cc-blue-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.cc-heading h2{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.15}
.cc-intro{margin:20px 0 12px;color:var(--cc-muted);font-size:16px;line-height:1.65}
.cc-links{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:23px}
.cc-links a{color:var(--cc-blue-dark);text-decoration:underline;text-underline-offset:3px;font-weight:700;font-size:14px}
.cc-main-actions,.cc-detail-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cc-button{min-height:49px;border-radius:10px;padding:11px 18px;border:1px solid transparent;font:inherit;font-weight:800;cursor:pointer}
.cc-button-primary{background:linear-gradient(135deg,var(--cc-blue),var(--cc-blue-dark));color:#fff}
.cc-button-secondary{background:#fff;color:var(--cc-navy);border-color:#aebfc8}
.cc-button:hover{filter:brightness(.97)}
.cc-button:focus-visible,.cc-close:focus-visible,.cc-reopen:focus-visible,.cc-switch input:focus-visible+span{outline:3px solid rgba(70,180,232,.4);outline-offset:2px}
.cc-details{border-top:1px solid var(--cc-line);margin-top:24px;padding-top:8px}
.cc-category{display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px;padding:18px 2px;border-bottom:1px solid var(--cc-line)}
.cc-category h3{margin:0 0 4px;font-size:17px}.cc-category p{margin:0;color:var(--cc-muted);font-size:14px;line-height:1.5}
.cc-switch{position:relative;display:inline-flex;flex:0 0 auto}
.cc-switch input{position:absolute;opacity:0;pointer-events:none}
.cc-switch span{display:block;width:50px;height:28px;background:#bcc9cf;border-radius:99px;cursor:pointer;transition:.2s}
.cc-switch span:after{content:"";display:block;width:22px;height:22px;margin:3px;background:#fff;border-radius:50%;box-shadow:0 2px 7px rgba(0,0,0,.22);transition:.2s}
.cc-switch input:checked+span{background:var(--cc-blue-dark)}
.cc-switch input:checked+span:after{transform:translateX(22px)}
.cc-switch-locked span{opacity:.65;cursor:not-allowed}
.cc-detail-actions{grid-template-columns:1fr 1fr;margin-top:20px}
.cc-reopen{position:fixed;z-index:9990;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:9px;border:1px solid #d3e2e9;background-color: rgba(255, 255, 255, 0.8);color:var(--cc-navy);border-radius:12px;padding:11px 16px;box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.cc-reopen span{display:grid;place-items:center;width:24px;height:24px;background:var(--cc-blue);color:rgb(245, 245, 245);}
.cc-no-scroll{overflow:hidden}

@media(max-width:680px){.cc-dialog{padding:0;place-items:end stretch}.cc-panel{width:100%;max-height:92vh;border-radius:12px;padding:24px 18px 20px}.cc-main-actions{grid-template-columns:1fr}.cc-main-actions .cc-button-primary{grid-row:1}.cc-detail-actions{grid-template-columns:1fr}.cc-heading{align-items:flex-start}.cc-icon{flex-basis:44px;height:44px}.cc-reopen{right:10px;bottom:10px;padding:10px 15px}.cc-reopen{font-size:0}.cc-reopen span{font-size:14px}}

@media(prefers-reduced-motion:reduce){.cc-switch span,.cc-switch span:after{transition:none}}
