:root{--cassiopeia-color-primary:#0b1727;--cassiopeia-color-link:#087f87;--cassiopeia-color-hover:#04646b;--body-bg:#0b1220;--body-color:#e5edf8;--pulse-accent:#4ce3d0}
body{background:#0b1220;color:#e5edf8;font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.6}
.container-header{background:#111f33;border-bottom:3px solid #4ce3d0;box-shadow:none;padding:1rem 0}.container-header .navbar-brand{font-size:1.6rem;letter-spacing:.06em;font-weight:800}.container-header .navbar-brand:before{content:'◉ ';color:#4ce3d0}
.site-grid{max-width:1200px;margin:auto;padding:1.5rem}.container-component,.sidebar-right .card{background:#132238;border:1px solid #294059;border-radius:14px;padding:1.8rem;box-shadow:0 12px 30px #0002}
h1,h2,h3{color:#f3f7fc;font-weight:750}h1{font-size:2rem}a{color:#65dfd2}a:hover{color:#b5fff4}.mod-breadcrumbs{color:#9cacc2}.breadcrumb{background:transparent}.breadcrumb-item.active{color:#9cacc2}
label{display:block;margin:.6rem 0 .3rem}input:not([type=checkbox]):not([type=radio]),textarea,select,.form-control,.form-select{background:#091524;color:#f0f6ff;border:1px solid #3c5672;border-radius:8px;padding:.7rem;max-width:100%;color-scheme:dark}input:focus,textarea:focus,select:focus{outline:2px solid #4ce3d0;outline-offset:2px}
button,.btn,.btn-primary{background:#4ce3d0;color:#071825;border:0;border-radius:8px;padding:.65rem 1.1rem;font-weight:700;margin:.5rem .4rem .5rem 0}button:hover,.btn-primary:hover{background:#84f1e2;color:#071825}button:disabled{opacity:.5}
form{max-width:680px}table{width:100%;border-collapse:collapse}th,td{padding:.75rem;border-bottom:1px solid #294059;text-align:left}.card,.card-header,.card-body{background:#132238;color:#e5edf8;border-color:#294059}.alert{border-radius:10px}.footer{background:#0b1727}.mod-login__submit .btn{width:100%}.container-footer:before{content:'PULSE TIMING · Development services';display:block;color:#9cacc2;padding:1rem}.pulse-environment{color:#9cacc2;font-size:.9rem}

input::placeholder,textarea::placeholder{color:#a6b7cc;opacity:1}.input-group-text{background:#21364f;color:#dceaf8;border-color:#3c5672}.input-group>.form-control{min-width:0}.container-header .site-description{color:#a6b7cc}

/* Pulse management portal; scoped additions to the retained Joomla theme. */
.container-header .navbar-brand:before{content:none}.container-header .navbar-brand img{width:240px;max-width:80vw;height:auto}.container-header .site-description{font-size:.8rem;letter-spacing:.08em;margin-top:.35rem}.pulse-kicker{color:#60edcf;font-size:.7rem;letter-spacing:.15em;font-weight:750;margin:0 0 .6rem}.pulse-account-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #294059;padding-bottom:25px;margin-bottom:30px}.pulse-account-heading h1,.pulse-welcome h1{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.05em;margin:.2rem 0 .8rem}.pulse-account-heading p:last-child,.pulse-downloads>p,.pulse-release-history>p,.pulse-welcome>p{color:#a0b2c5}.pulse-account-name,.pulse-count{border:1px solid #355064;border-radius:999px;padding:8px 14px;font-size:.8rem;white-space:nowrap;color:#d5e6ef}.pulse-section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.pulse-section-heading h2,.pulse-release-history h2{font-size:1.55rem;margin:0}.pulse-download-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin:24px 0}.pulse-download-card{background:linear-gradient(130deg,#183047,#0b1a2b);border:1px solid #35556b;border-radius:12px;padding:25px;min-width:0}.pulse-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.pulse-channel{color:#60edcf;font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.pulse-release-status{font-size:.68rem;color:#9cacc2}.pulse-download-card h3{font-size:1.9rem;letter-spacing:-.04em;margin:23px 0 10px}.pulse-release-meta{color:#a0b2c5;font-size:.85rem;line-height:1.8}.pulse-download-button{display:flex;justify-content:space-between;align-items:center;width:100%;margin:20px 0}.pulse-download-card details,.pulse-update-guide{border-top:1px solid #294059;padding:15px 0 0;margin-top:14px}.pulse-download-card summary,.pulse-update-guide summary,.pulse-history-item summary,.pulse-device-access summary{cursor:pointer;font-weight:600;font-size:.87rem}.pulse-notes summary{color:#dbe9f3}.pulse-note-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#a0b2c5;font-size:.85rem;padding:16px 0 4px}.pulse-verification{font-size:.75rem}.pulse-verification code{display:block;overflow-wrap:anywhere;color:#a0b2c5}.pulse-update-guide{color:#a0b2c5;margin:25px 0 40px}.pulse-update-guide summary{color:#dbe9f3}.pulse-update-guide ol{font-size:.85rem;line-height:1.9;margin-top:15px}.pulse-update-guide code{white-space:normal;overflow-wrap:anywhere}.pulse-release-history{margin-top:40px}.pulse-channel-history{margin-top:28px}.pulse-channel-history h3{font-size:1rem;color:#60edcf}.pulse-history-item{border-top:1px solid #294059;padding:15px 0}.pulse-history-item summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px}.pulse-history-item summary:before{content:'+';color:#60edcf;font-size:1rem}.pulse-history-item[open] summary:before{content:'−'}.pulse-history-item summary span{color:#91a8bc;font-weight:400;font-size:.8rem}.pulse-history-label{margin-left:auto}.pulse-device-access{margin-top:40px;padding:22px 25px;border:1px solid #294059;border-radius:10px;background:#0c1b2c}.pulse-device-access p{font-size:.85rem;color:#a0b2c5}.pulse-device-access form{max-width:420px}.pulse-welcome{padding:25px 0}.pulse-welcome>p{max-width:580px;line-height:1.8}.pulse-small{font-size:.85rem;margin-top:20px}summary:focus-visible{outline:2px solid #60edcf;outline-offset:5px}.pulse-unavailable{color:#ffc987;font-size:.85rem}
@media(max-width:650px){.pulse-account-heading{align-items:flex-start;flex-direction:column}.pulse-account-name{font-size:.75rem}.pulse-download-card{padding:20px}.pulse-history-label{display:none}.pulse-device-access{padding:20px}.container-header .navbar-brand img{width:215px}}
/* Explicit message surfaces: prevent pale inherited text on Joomla's white alert. */
#system-message-container joomla-alert,#system-message-container .alert{color:#102f44!important;background:#e9f5ff!important;border-color:#6892b0!important;line-height:1.6;overflow-wrap:anywhere}
#system-message-container joomla-alert[type=success],#system-message-container .alert-success{color:#123f30!important;background:#e5f7ed!important;border-color:#508a6d!important}
#system-message-container joomla-alert[type=warning],#system-message-container .alert-warning{color:#51350b!important;background:#fff2d6!important;border-color:#aa7a2a!important}
#system-message-container joomla-alert[type=danger],#system-message-container joomla-alert[type=error],#system-message-container .alert-danger{color:#651c29!important;background:#ffebee!important;border-color:#bd6375!important}
#system-message-container joomla-alert p,#system-message-container joomla-alert div,#system-message-container joomla-alert strong,#system-message-container .alert p,#system-message-container .alert strong{color:inherit!important}
#system-message-container joomla-alert a,#system-message-container .alert a{color:inherit!important;text-decoration:underline;font-weight:700}
#system-message-container joomla-alert .joomla-alert--close,#system-message-container .alert .btn-close{color:#102f44!important;opacity:1}
