html {
  font-size: 14px;
  --champ-font-family: "Ubuntu", "Segoe UI", Arial, sans-serif;
  --bs-body-font-family: var(--champ-font-family);
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  min-height: 100vh;
  background: var(--champ-surface);
  color: var(--champ-ink);
  font-family: var(--champ-font-family);
}

button,
input,
select,
textarea {
  font-family: inherit;
}

/* Keep an action button clear of a field immediately above it. */
.business-unit-row > form { display: grid; gap: 12px; }

:root { --champ-cobalt: #0047AB; --champ-cobalt-deep: #003580; --champ-cobalt-navbar: #003399; --champ-cobalt-light: #6495ED; --champ-teal: #00a99d; --champ-ink: #17253a; --champ-muted: #687489; --champ-line: #dce3eb; --champ-surface: #f4f7fb; }
.champ-navbar { position: fixed; z-index: 10; top: 0; right: 0; left: 0; height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 36px; background: #fff; box-shadow: 0 2px 14px rgba(16,41,75,.1); }.champ-brand { display: inline-flex; align-items: center; gap: 11px; color: var(--champ-cobalt); text-decoration: none; }.champ-logo-mark { width: 34px; height: 34px; object-fit: contain; }.champ-brand-copy { display: flex; flex-direction: column; line-height: 1.05; }.champ-brand-copy strong { font-size: 20px; letter-spacing: .2px; }.champ-brand-copy small { margin-top: 3px; color: #728096; font-size: 9px; font-weight: 600; letter-spacing: .1px; }.champ-hamburger { display: grid; width: 36px; height: 36px; padding: 9px; border: 1px solid #d9e1eb; border-radius: 7px; background: white; cursor: pointer; gap: 4px; }.champ-hamburger span { display: block; height: 2px; width: 17px; background: var(--champ-cobalt); border-radius: 2px; }.champ-page { padding-top: 64px; }
.champ-navbar-actions { display: flex; align-items: center; gap: 10px; }.champ-navbar-actions form { margin: 0; }.champ-logout { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--champ-cobalt); cursor: pointer; }.champ-logout svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.champ-logout:hover,.champ-logout:focus { color: var(--champ-cobalt-deep); background: #eaf2ff; }.champ-bell { display: grid; width: 36px; height: 36px; place-items: center; padding: 0; border: 0; background: transparent; color: var(--champ-cobalt); cursor: pointer; }.champ-bell svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }.champ-bell:hover,.champ-bell:focus { color: var(--champ-cobalt-deep); background: #eaf2ff; }
.champ-user-summary { display: flex; align-items: center; gap: 8px; min-width: 0; }.champ-user-photo { width: 34px; height: 34px; flex: 0 0 34px; border: 1px solid #b9c9df; box-shadow: 0 1px 4px rgba(6,63,131,.2); object-fit: cover; }.champ-user-initials { display: grid; place-items: center; background: #eaf2ff; color: var(--champ-cobalt); font-size: 12px; font-weight: 800; }.champ-user-copy { display: flex; min-width: 0; flex-direction: column; line-height: 1.12; }.champ-user-copy strong { overflow: hidden; max-width: 145px; color: var(--champ-cobalt); font-size: 12px; font-weight: 800; letter-spacing: .2px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }.champ-user-copy small { overflow: hidden; max-width: 145px; margin-top: 3px; color: var(--champ-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.activation-shell { display: grid; grid-template-columns: minmax(280px,.85fr) minmax(450px,1.15fr); min-height: calc(100vh - 64px); max-width: 1210px; margin: 0 auto; padding: 72px 36px; gap: 88px; align-items: center; }.activation-introduction { max-width: 400px; }.eyebrow,.step-label { margin: 0 0 12px; color: var(--champ-cobalt); font-size: 11px; font-weight: 800; letter-spacing: 1.5px; }.activation-introduction h1 { margin: 0; color: var(--champ-cobalt); font-size: clamp(34px,4vw,49px); font-weight: 700; line-height: 1.1; letter-spacing: -.7px; }.activation-lead { margin: 23px 0 30px; color: var(--champ-muted); font-size: 17px; line-height: 1.65; }.activation-note { display: flex; gap: 10px; align-items: flex-start; padding: 14px 16px; border-left: 3px solid var(--champ-cobalt); background: #eaf2ff; color: var(--champ-cobalt-deep); font-size: 13px; line-height: 1.45; }.activation-note-icon { font-weight: 800; }
.champ-page.activation-page { padding-top: 0; }.activation-shell { min-height: 100vh; }.activation-brand { display:inline-flex; align-items:center; gap:14px; margin:0 0 26px; }.activation-brand .champ-logo-mark { width:52px; height:52px; }.activation-brand .champ-brand-copy strong { font-size:28px; }.activation-brand .champ-brand-copy small { font-size:11px; }
.activation-card { padding: 37px 40px 40px; border: 1px solid #e0e7f0; border-radius: 12px; background: #fff; box-shadow: 0 10px 32px rgba(29,57,91,.08); }.activation-card-heading { margin-bottom: 28px; }.activation-card-heading h2 { margin: 0 0 7px; color: var(--champ-cobalt-deep); font-size: 27px; }.activation-card-heading p:not(.step-label) { margin: 0; color: var(--champ-muted); font-size: 14px; }.activation-card fieldset { margin: 0; padding: 0; border: 0; }.activation-card fieldset + fieldset { margin-top: 29px; padding-top: 27px; border-top: 1px solid var(--champ-line); }.activation-card legend { margin-bottom: 17px; color: var(--champ-cobalt); font-size: 14px; font-weight: 700; }.field-help { margin: -10px 0 17px; color: var(--champ-muted); font-size: 12px; }.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }.form-field-wide { grid-column: 1 / -1; }.form-field label { display: block; margin-bottom: 7px; color: #405069; font-size: 12px; font-weight: 700; }.form-control { min-height: 42px; border: 1px solid #cfd9e5; border-radius: 6px; color: var(--champ-ink); font-size: 14px; box-shadow: none !important; } textarea.form-control { min-height: auto; resize: vertical; }.form-control:focus { border-color: var(--champ-cobalt); box-shadow: 0 0 0 3px rgba(6,63,131,.12) !important; }.form-field span,.validation-summary { color: #b42318; font-size: 12px; }.form-field span:empty,.validation-summary:empty { display: none; }.validation-summary ul { margin: 0 0 18px; padding: 10px 15px 10px 27px; border-radius: 6px; background: #fff2f1; }.activation-submit { width: 100%; margin-top: 31px; padding: 12px 18px; border: 0; border-radius: 6px; background: var(--champ-cobalt); color: #fff; font-size: 14px; font-weight: 700; }.activation-submit:hover,.activation-submit:focus { background: var(--champ-cobalt-deep); color: #fff; }.activation-submit span { margin-left: 8px; font-size: 18px; vertical-align: -1px; }
@media (max-width:850px) { .activation-shell { grid-template-columns: 1fr; gap: 36px; padding: 48px 24px; }.activation-introduction { max-width: 620px; } } @media (max-width:540px) { .champ-navbar { height: 60px; padding: 0 18px; }.champ-page { padding-top: 60px; }.champ-logo-mark { width: 30px; height: 30px; }.champ-brand-copy small { max-width: 205px; font-size: 8px; }.activation-shell { min-height: calc(100vh - 60px); padding: 34px 15px; }.activation-card { padding: 28px 22px; }.field-grid { grid-template-columns: 1fr; }.form-field-wide { grid-column: auto; } }

/* CHAMP uses a square-edged interface. */
.champ-hamburger,
.activation-card,
.form-control,
.validation-summary ul,
.activation-submit {
  border-radius: 0;
}

.account-shell { display: grid; min-height: calc(100vh - 64px); place-items: center; padding: 48px 18px; }.account-card { width: min(100%, 460px); padding: 38px 40px; border: 1px solid #dce3eb; background: #fff; box-shadow: 0 10px 32px rgba(29,57,91,.08); }.account-card h1,.profile-heading h1,.profile-card h2 { margin: 0; color: var(--champ-cobalt); }.account-card h1 { font-size: 28px; }.account-intro { margin: 8px 0 28px; color: var(--champ-muted); font-size: 14px; }.login-password { margin-top: 17px; }.remember-me { display: flex; gap: 8px; align-items: center; margin-top: 18px; color: #405069; font-size: 13px; }.remember-me input { width: 15px; height: 15px; accent-color: var(--champ-cobalt); }
.profile-shell { width: 90%; max-width: none; margin: 0 auto; padding: 56px 28px; }.profile-heading p:not(.step-label) { margin: 10px 0 27px; color: var(--champ-muted); }.profile-steps { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 26px; border: 1px solid var(--champ-line); }.profile-steps a { padding: 13px 15px; border-right: 1px solid var(--champ-line); color: var(--champ-muted); font-size: 13px; font-weight: 700; text-decoration: none; }.profile-steps a:last-child { border-right: 0; }.profile-steps a.active { background: var(--champ-cobalt); color: #fff; }.profile-card { padding: 34px; border: 1px solid #dce3eb; background: #fff; box-shadow: 0 10px 32px rgba(29,57,91,.08); }.profile-card h2 { font-size: 23px; }.profile-card p { margin: 12px 0 25px; color: var(--champ-muted); line-height: 1.6; }.profile-next-note { padding: 14px 16px; border-left: 3px solid var(--champ-cobalt); background: #eaf2ff; color: var(--champ-cobalt-deep); font-size: 13px; }
.profile-photo-area { display: flex; align-items: center; gap: 22px; margin-bottom: 30px; padding-bottom: 28px; border-bottom: 1px solid var(--champ-line); }.profile-photo,.profile-photo-placeholder { width: 96px; height: 96px; flex: 0 0 96px; object-fit: cover; border: 1px solid var(--champ-line); }.profile-photo-placeholder { display: grid; place-items: center; background: #eaf2ff; color: var(--champ-cobalt); font-size: 12px; font-weight: 700; }.profile-photo-area .form-field { width: min(100%,420px); }.profile-photo-area .field-help { margin: 6px 0 0; }.profile-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }.profile-form-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 34px; }.profile-form-actions .activation-submit { width: auto; min-width: 200px; margin-top: 0; }
.profile-field-wide { grid-column: 1 / -1; }.profile-section-heading { margin: 34px 0 18px !important; padding-top: 28px; border-top: 1px solid var(--champ-line); }
.login-success-message { margin: 0 0 20px; padding: 12px 14px; border-left: 3px solid var(--champ-cobalt); background: #eaf2ff; color: var(--champ-cobalt-deep); font-size: 13px; }.home-action { display: inline-block; width: auto; margin-top: 0; text-decoration: none; }.business-unit-list { margin-top: 28px; }.business-unit-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; border-top: 1px solid var(--champ-line); }.business-unit-row:first-of-type { border-top: 0; }.business-unit-row h3 { margin: 0 0 7px; color: var(--champ-cobalt); font-size: 17px; }.business-unit-row p { margin: 4px 0; font-size: 13px; }.development-link { min-width: 360px; }.development-link span { display: block; margin-bottom: 6px; color: var(--champ-cobalt); font-size: 11px; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }.development-link input { width: 100%; min-height: 36px; border: 1px solid var(--champ-line); background: #f7f9fc; color: var(--champ-muted); font-size: 11px; padding: 7px; }.manager-details { display: grid; gap: 4px; margin: 0 0 24px; padding: 14px; border-left: 3px solid var(--champ-cobalt); background: #eaf2ff; color: var(--champ-cobalt-deep); font-size: 13px; }.manager-details span { color: var(--champ-muted); }
.method-edit-icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border: 2px solid var(--champ-cobalt); color: var(--champ-cobalt); background: #fff; text-decoration: none; }.method-edit-icon:hover { background: #eaf2ff; color: var(--champ-cobalt-deep); }.method-edit-icon svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.home-owner-card { margin-top: 28px; }
.objective-unit-list { margin-top: 20px; }.objective-unit-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 0; border-top: 1px solid var(--champ-line); }.objective-unit-row strong { color: var(--champ-cobalt); }.objective-unit-row span { color: var(--champ-muted); font-size: 13px; }
.objective-message { margin-top: 24px; }.objective-owner-state { color: var(--champ-muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.objective-actions { display: grid; min-width: 190px; gap: 9px; }.objective-actions form { margin: 0; }.objective-actions .activation-submit { width: 100%; min-height: 46px; margin: 0; }.workflow-selected { color: var(--champ-cobalt); font-size: 12px; font-weight: 800; text-transform: uppercase; }.workflow-pending { width: 100%; border: 3px solid var(--champ-cobalt); border-radius: 0; background: #fff; color: var(--champ-cobalt-deep); cursor: pointer; }.workflow-pending:hover,.workflow-pending:focus { border-color: var(--champ-cobalt); background: #eef6ff; color: var(--champ-cobalt-deep); }
.field-action-link { display: inline-block; margin-top: 8px; color: var(--champ-cobalt); font-size: 12px; font-weight: 700; text-decoration: none; }.field-action-link:hover { color: var(--champ-cobalt-deep); text-decoration: underline; }
.team-availability-message { margin:8px 0 0; color:#b42318; font-size:12px; font-weight:700; }
.champ-menu-backdrop { position: fixed; z-index: 19; inset: 64px 0 0; background: rgba(12,27,49,.35); }.champ-menu { position: fixed; z-index: 20; top: 64px; right: 0; bottom: 0; width: min(390px,92vw); overflow-y: auto; padding: 20px 26px 34px; border-left: 1px solid var(--champ-line); background: #fff; box-shadow: -8px 0 24px rgba(18,42,73,.14); transform: translateX(102%); transition: transform .18s ease; }.champ-menu.is-open { transform: translateX(0); }.champ-menu-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:16px; border-bottom:1px solid var(--champ-line); color:var(--champ-cobalt); font-size:12px; letter-spacing:1px; }.champ-menu-heading button { border:0; background:none; color:var(--champ-cobalt); font-size:28px; line-height:1; }.champ-menu-group { padding:19px 0; border-bottom:1px solid var(--champ-line); }.champ-menu-group h2 { margin:0 0 13px; color:var(--champ-cobalt); font-size:15px; }.champ-menu-parent { margin:0 0 8px; color:var(--champ-ink); font-size:13px; font-weight:800; }.champ-menu-group a,.champ-menu-group span { display:block; padding:7px 0 7px 15px; color:#405069; font-size:13px; text-decoration:none; }.champ-menu-group a:hover { color:var(--champ-cobalt); background:#eef4ff; }.champ-menu-group span { color:var(--champ-muted); }.champ-menu-group em { margin-left:6px; color:#9aa5b5; font-size:10px; font-style:normal; text-transform:uppercase; }
.champ-menu,
.champ-menu button,
.champ-menu summary,
.champ-menu a,
.champ-menu span {
  font-family: "Ubuntu", "Segoe UI", Arial, sans-serif;
}
@media (max-width:760px) { .profile-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } } @media (max-width:540px) { .account-shell { min-height: calc(100vh - 60px); padding: 28px 15px; }.account-card { padding: 28px 22px; }.profile-shell { width: 100%; padding: 35px 15px; }.profile-steps { grid-template-columns: 1fr; }.profile-steps a { border-right: 0; border-bottom: 1px solid var(--champ-line); }.profile-steps a:last-child { border-bottom: 0; }.profile-card { padding: 25px 22px; }.profile-photo-area { align-items: flex-start; flex-direction: column; }.profile-form-grid { grid-template-columns: 1fr; }.profile-form-actions { display: block; }.profile-form-actions .activation-submit { width: 100%; } }
.champ-menu { padding:0 20px 30px; }.champ-menu-heading { padding:20px 6px 16px; }.champ-menu-user { display:flex; align-items:center; gap:11px; margin:18px 0; padding:14px; background:#f4f8ff; border-left:3px solid var(--champ-cobalt); }.champ-menu-avatar { display:grid; width:35px; height:35px; place-items:center; background:var(--champ-cobalt); color:#fff; font-size:13px; font-weight:800; }.champ-menu-user strong,.champ-menu-user small { display:block; }.champ-menu-user strong { color:var(--champ-cobalt); font-size:12px; text-transform:uppercase; }.champ-menu-user small { margin-top:3px; color:var(--champ-muted); font-size:10px; }.champ-menu-group { padding:0; }.champ-menu-group summary { display:flex; align-items:center; gap:10px; padding:16px 6px; color:var(--champ-cobalt); font-size:14px; font-weight:800; cursor:pointer; list-style:none; }.champ-menu-group summary::-webkit-details-marker { display:none; }.champ-menu-group summary b { margin-left:auto; font-size:14px; transition:transform .15s; }.champ-menu-group[open] summary b { transform:rotate(180deg); }.champ-menu-children { padding:0 0 13px; }.champ-menu-children p { margin:9px 0 3px; padding-left:16px; color:#405069; font-size:12px; font-weight:800; }.champ-menu-children a,.champ-menu-children span { padding:8px 12px 8px 28px; border-left:2px solid transparent; }.champ-menu-children a:hover { border-left-color:var(--champ-cobalt); background:#eef4ff; }
.champ-menu-backdrop { display:none !important; }.champ-menu { top:58px; right:96px; bottom:auto; width:320px; max-height:min(480px,70vh); padding:10px; border:1px solid rgba(100,149,237,.45); box-shadow:0 14px 34px rgba(15,45,90,.2); transform:translateY(-8px); opacity:0; visibility:hidden; transition:opacity .18s ease,transform .18s ease,visibility .18s; }.champ-menu.is-open { transform:translateY(0); opacity:1; visibility:visible; }.champ-menu-heading,.champ-menu-user { display:none; }.champ-menu-group { margin:0 0 7px; border:0; }.champ-menu-group summary { position:relative; min-height:48px; padding:14px 12px 14px 52px; color:var(--champ-cobalt); background:#fff; border:1px solid var(--champ-cobalt-light); box-shadow:0 2px 6px rgba(0,0,0,.2); }.champ-menu-group summary > span { position:absolute; top:0; left:0; display:grid; width:40px; height:100%; place-items:center; background:#fff; color:var(--champ-cobalt); font-size:16px; }.champ-menu-group summary:hover,.champ-menu-group[open] summary { background:linear-gradient(90deg,var(--champ-cobalt-deep),var(--champ-cobalt)); color:#fff; }.champ-menu-children { margin:6px 0 0 10px; padding:0 0 0 10px; border-left:2px solid rgba(100,149,237,.4); }.champ-menu-children a,.champ-menu-children span { margin:0 0 6px; padding:9px 12px; border:1px solid var(--champ-cobalt-light); background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.17); color:var(--champ-cobalt); }.champ-menu-children a:hover { transform:translateX(2px); border-left:1px solid var(--champ-cobalt); background:linear-gradient(90deg,var(--champ-cobalt-deep),var(--champ-cobalt)); color:#fff; }
.champ-menu { width:310px; padding:12px; border-color:rgba(0,71,171,.22); box-shadow:0 12px 28px rgba(15,45,90,.14); }.champ-menu-group { margin-bottom:9px; }.champ-menu-group summary { min-height:46px; padding-top:13px; padding-bottom:13px; border-color:rgba(0,71,171,.28); box-shadow:0 1px 3px rgba(15,45,90,.1); }.champ-menu-group summary > span { width:42px; color:var(--champ-cobalt-deep); }.champ-menu-group summary:hover,.champ-menu-group[open] summary { background:linear-gradient(90deg,#003b91,#0056c8); }.champ-menu-children { margin-top:5px; border-left-color:rgba(0,71,171,.22); }.champ-menu-children a,.champ-menu-children span { margin-bottom:5px; padding:8px 12px; border-color:rgba(0,71,171,.2); box-shadow:0 1px 3px rgba(15,45,90,.09); }.champ-menu-children a:hover { transform:translateX(1px); background:linear-gradient(90deg,#003b91,#0056c8); }
.champ-menu { padding:7px; }.champ-menu-group { margin-bottom:5px; }.champ-menu-group summary { min-height:38px; padding-top:9px; padding-bottom:9px; font-size:12px; font-weight:800; }.champ-menu-group summary > span { width:36px; font-size:14px; }.champ-menu-children { margin:3px 0 0 8px; padding-left:8px; }.champ-menu-children p { margin:5px 0 2px; font-size:11px; }.champ-menu-children a,.champ-menu-children span { margin-bottom:3px; padding:6px 9px; font-size:12px; }.champ-menu-group summary:hover,.champ-menu-group[open] summary { background:linear-gradient(90deg,var(--champ-cobalt-deep),var(--champ-cobalt)); }.champ-menu-children a:hover { background:linear-gradient(90deg,var(--champ-cobalt-deep),var(--champ-cobalt)); }
.champ-menu { right:0; width:auto; min-width:310px; }
.champ-menu-group summary > .champ-menu-icon { overflow:hidden; padding:2px; }
.champ-menu-group summary > .champ-menu-icon img { display:block; width:32px; height:32px; object-fit:contain; }
.activation-card { padding:28px 32px 30px; }.activation-card-heading { margin-bottom:20px; }.activation-card fieldset + fieldset { margin-top:21px; padding-top:20px; border-top:1px solid var(--champ-line); }.activation-card legend { margin-bottom:12px; }.activation-card .field-help { margin:-6px 0 12px; }.activation-card .activation-submit { margin-top:23px; }
/* Keep Initial Activation within one normal desktop screen; smaller screens retain a comfortable scrolling form. */
@media (min-width:851px) {
  .activation-shell { padding:20px 36px; gap:56px; }
  .activation-introduction h1 { font-size:clamp(30px,3.2vw,42px); }
  .activation-lead { margin:15px 0 18px; line-height:1.45; }
  .activation-note { padding:10px 12px; }
  .activation-card { padding:22px 28px; }
  .activation-card-heading { margin-bottom:14px; }
  .activation-card fieldset + fieldset { margin-top:15px; padding-top:14px; }
  .activation-card legend { margin-bottom:9px; }
  .activation-card .field-help { margin:-4px 0 8px; }
  .activation-card .field-grid { gap:10px 14px; }
  .activation-card .form-field label { margin-bottom:4px; }
  .activation-card .form-control { min-height:38px; }
  .activation-card textarea.form-control { min-height:50px; }
  .activation-card .activation-submit { min-height:40px; margin-top:15px; padding:8px 16px; }
}
/* Narrow screens use two compact navbar rows: brand and notifications above, user actions below. */
@media (max-width:850px) {
  .champ-navbar {
    display:block;
    height:108px;
    padding:8px 14px;
  }
  .champ-page { padding-top:108px; }
  .champ-brand { min-height:32px; gap:8px; }
  .champ-logo-mark { width:28px; height:28px; }
  .champ-brand-copy strong { font-size:18px; }
  .champ-brand-copy small { max-width:260px; font-size:8px; }
  .champ-navbar-actions {
    position:absolute;
    right:14px;
    bottom:8px;
    left:14px;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 36px;
    align-items:center;
    gap:8px;
    height:36px;
  }
  .champ-bell { position:absolute !important; top:8px; right:14px; }
  .champ-hamburger { grid-column:1; grid-row:1; }
  .champ-user-summary { grid-column:2; grid-row:1; min-width:0; }
  .champ-user-copy strong,.champ-user-copy small { max-width:calc(100vw - 150px); }
  .champ-navbar-actions form { display:contents; }
  .champ-logout { grid-column:3; grid-row:1; }
  .champ-menu {
    top:108px;
    padding:16px 10px 12px;
  }
  .champ-menu-group:first-of-type { margin-top:5px; }
  .activation-navbar { height:60px; padding:0 18px; }
  .activation-page { padding-top:60px; }
}
.champ-menu-subgroup { margin:0 0 5px; }.champ-menu-subgroup summary { padding:7px 9px 7px 18px; color:var(--champ-cobalt); font-size:12px; font-weight:800; cursor:pointer; list-style:none; }.champ-menu-subgroup summary::-webkit-details-marker { display:none; }.champ-menu-subgroup summary b { float:right; }.champ-menu-subchildren { padding-left:9px; border-left:1px solid rgba(0,71,171,.2); }.champ-menu-subchildren a { font-size:11px; }.champ-menu-subchildren small { color:var(--champ-muted); font-size:10px; }
.champ-menu-group > summary { font-size:14px; }
.champ-menu-group > .champ-menu-children > a,
.champ-menu-group > .champ-menu-children > span { font-size:13px; }
.champ-menu-subgroup > summary { font-size:13px; }
.champ-menu-subchildren a { font-size:12px; }
.profile-view-grid p { margin:0; padding:10px 0; color:var(--champ-ink); font-size:13px; }.profile-view-grid strong { display:block; margin-bottom:4px; color:var(--champ-cobalt); font-size:11px; text-transform:uppercase; }
.champ-bell { position:relative; text-decoration:none; }.champ-notification-count { position:absolute; top:1px; right:0; min-width:16px; height:16px; padding:0 4px; display:grid; place-items:center; border:1px solid #fff; border-radius:50%; background:#d92d20; color:#fff; font-size:9px; font-weight:800; line-height:1; }.notification-row { align-items:center; }.notification-time { margin-top:7px !important; color:var(--champ-muted); font-size:11px; }.notification-open { width:auto; min-width:90px; margin:0; text-align:center; }
.key-result-card > h2 { margin:0 0 20px; color:var(--champ-cobalt); font-size:18px; }.key-result-source { margin:0 0 24px; padding:14px 16px; border-left:3px solid var(--champ-cobalt); border-bottom:1px solid var(--champ-line); background:#f4f8ff; }.key-result-source .step-label { margin-bottom:6px; }.key-result-source h3 { margin:0; color:var(--champ-ink); font-size:14px; font-weight:600; line-height:1.45; }.key-result-card .profile-form-actions { margin-top:0; }.key-result-card .field-action-button { border:0; background:transparent; padding:0; cursor:pointer; }
.unit-objectives { margin-top:22px; padding-top:18px; border-top:1px solid var(--champ-line); }.unit-objectives > h3 { margin:0 0 8px; color:var(--champ-cobalt); font-size:14px; }.unit-objectives > p { color:var(--champ-muted); font-size:13px; }.unit-objective-row { padding:13px 0; }.unit-objective-view { width:92px; height:38px; margin:0; padding:0; text-align:center; display:inline-flex; align-items:center; justify-content:center; }.objective-statement { margin:0 0 19px; color:var(--champ-ink); font-size:14px; line-height:1.55; }.objective-hierarchy-row { align-items:center; }.objective-performance { min-width:145px; padding:11px 13px; border-left:3px solid var(--champ-cobalt); background:#f4f8ff; }.objective-performance strong,.objective-performance span { display:block; }.objective-performance strong { color:var(--champ-cobalt); font-size:11px; text-transform:uppercase; }.objective-performance span { margin-top:5px; color:var(--champ-muted); font-size:12px; }.objective-breakdown-list { display:grid; }.objective-breakdown-node + .objective-breakdown-node { border-top:1px solid var(--champ-line); }.objective-breakdown-node > .objective-hierarchy-row { border-top:0; }.objective-drawer { margin-left:auto; }.objective-drawer summary { cursor:pointer; list-style:none; }.objective-drawer summary::-webkit-details-marker { display:none; }.objective-drawer-button { display:inline-flex; }.objective-breakdown-node.is-expanded > .objective-hierarchy-row .objective-drawer > summary { display:none; }.objective-drawer-content { display:none; margin:0 0 4px 30px; padding:0 0 0 18px; border-left:3px solid var(--champ-cobalt); }.objective-breakdown-node.is-expanded > .objective-drawer-content { display:block; }.objective-drawer-content > .objective-breakdown-node:first-child > .objective-hierarchy-row { padding-top:16px; }.objective-drawer-empty { margin:14px 0; color:var(--champ-muted); font-size:13px; }
.objective-method-progress { margin:16px 0 18px; padding:16px; border-bottom:1px solid var(--champ-line); background:#f4f8ff; }.objective-method-progress .step-label { margin-bottom:6px; }.objective-method-progress h3 { margin:0 0 14px; color:var(--champ-cobalt); font-size:15px; }.objective-method-progress-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 18px; }.objective-method-progress-grid p { margin:0; color:var(--champ-ink); font-size:13px; }.objective-method-progress-grid strong { display:block; margin-bottom:4px; color:var(--champ-cobalt); font-size:10px; letter-spacing:.5px; text-transform:uppercase; }.objective-method-progress .profile-form-actions { justify-content:flex-start; margin-top:16px; }
@media (max-width:540px) { .objective-method-progress-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* One consistent action-button size across CHAMP. Navigation icons and text links are intentionally excluded. */
.activation-submit,
.home-action.activation-submit,
.profile-form-actions .activation-submit,
.objective-actions .activation-submit,
.unit-objective-view {
    box-sizing: border-box;
    width: 230px !important;
    min-width: 230px !important;
    height: 40px;
    min-height: 40px !important;
    margin-top: 0;
    padding: 0 12px;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.activation-submit span { display: none; }
.champ-page.activation-page { padding-top:0; }

/* Keep every standard action clear of the content immediately above it. */
.activation-submit,
.profile-form-actions .activation-submit,
.objective-actions .activation-submit,
.business-unit-row .activation-submit,
.unit-objective-view {
  margin-top: 8px;
}
.objective-actions { min-width: 230px; }

.team-tree-list { display:grid; }
.team-tree-node + .team-tree-node { border-top:1px solid var(--champ-line); }
.team-tree-node > .team-tree-row { border-top:0; }
.team-tree-actions { display:grid; gap:8px; justify-items:end; }
.team-drawer { margin-left:auto; }
.team-drawer summary { cursor:pointer; list-style:none; }
.team-drawer summary::-webkit-details-marker { display:none; }
.team-tree-node.is-expanded > .team-tree-row .team-drawer > summary { display:none; }
.team-drawer-content { display:none; margin:0 0 4px 30px; padding:0 0 0 18px; border-left:3px solid var(--champ-cobalt); }
.team-tree-node.is-expanded > .team-drawer-content { display:block; }
.team-drawer-content > .team-tree-node:first-child > .team-tree-row { padding-top:16px; }
.team-drawer-empty { margin:14px 0; color:var(--champ-muted); font-size:13px; }
.master-record-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 22px; flex:1; }.master-record-grid p { margin:0; }.form-check-field label + label { margin-top:10px; }
.method-readiness { margin-top:28px; padding-top:24px; border-top:1px solid var(--champ-line); }.readiness-list { margin:12px 0 0; padding:14px 18px 14px 34px; border-left:3px solid var(--champ-cobalt); background:#f4f8ff; color:var(--champ-ink); }.readiness-list li + li { margin-top:7px; }
.method-design-steps { grid-template-columns:repeat(4,1fr); }
.operational-entry-shell { max-width:1100px; }.operational-entry-banner { display:grid; gap:4px; margin:0 0 24px; padding:16px; border-left:4px solid var(--champ-cobalt); background:#f4f8ff; }.operational-entry-banner span { color:var(--champ-cobalt); font-size:11px; font-weight:800; letter-spacing:.8px; }.operational-entry-banner strong { color:var(--champ-ink); font-size:17px; }.operational-entry-banner small { color:var(--champ-muted); font-size:12px; }.operational-field-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }.operational-field label { font-size:14px; }.operational-field .form-control { min-height:48px; font-size:16px; }.operational-field textarea.form-control { min-height:96px; }.operational-field .operational-unit { display:block; margin-top:5px; color:var(--champ-muted); font-size:12px; }.operational-entry-actions { justify-content:flex-start; }.operational-entry-actions .activation-submit { min-width:180px !important; width:180px !important; }@media (max-width:540px) { .operational-entry-shell { padding:24px 12px; }.operational-entry-card { padding:22px 16px; }.operational-field-grid { grid-template-columns:1fr; gap:18px; }.operational-entry-actions { display:grid; grid-template-columns:1fr; gap:10px; }.operational-entry-actions .activation-submit { width:100% !important; min-width:0 !important; height:48px; }.operational-entry-banner { margin-bottom:20px; } }

/* The bell has its own navbar region so it can never overlap Logout. */
.champ-navbar-notification { display:flex; align-items:center; margin-left:auto; }
.champ-navbar-notification + .champ-navbar-actions { margin-left:10px; }
@media (max-width:850px) {
  .champ-navbar {
    display:grid;
    grid-template-columns:minmax(0,1fr) 36px;
    grid-template-rows:36px 36px;
    align-content:center;
    gap:6px 8px;
    height:100px;
    padding:7px 14px;
  }
  .champ-page { padding-top:100px; }
  .champ-brand { grid-column:1; grid-row:1; min-width:0; }
  .champ-navbar-notification { grid-column:2; grid-row:1; justify-self:end; margin:0; }
  .champ-navbar-notification .champ-bell { position:relative !important; top:auto; right:auto; }
  .champ-navbar-actions {
    position:static;
    display:grid;
    grid-column:1 / -1;
    grid-row:2;
    grid-template-columns:36px minmax(0,1fr) 36px;
    align-items:center;
    gap:8px;
    height:36px;
    margin:0 !important;
  }
  .champ-navbar-actions .champ-hamburger { grid-column:1; grid-row:1; }
  .champ-navbar-actions .champ-user-summary { grid-column:2; grid-row:1; min-width:0; }
  .champ-navbar-actions form { display:contents; }
  .champ-navbar-actions .champ-logout { grid-column:3; grid-row:1; }
  .champ-menu { top:100px; }
  .activation-navbar { display:flex; height:60px; padding:0 18px; }
  .activation-page { padding-top:60px; }
}
.entry-design-intro { margin-bottom:20px; padding-bottom:18px; border-bottom:1px solid var(--champ-line); }
.entry-design-intro h2 { margin:0 0 6px; }
.entry-design-intro p { margin:0; }
.entry-design-flow { display:flex; flex-direction:column; gap:12px; }
.entry-design-step { border:1px solid var(--champ-line); background:#fff; }
.entry-design-step[data-entry-step="channel"] { order:1; }
.entry-design-step[data-entry-step="fields"] { order:2; }
.entry-design-step[data-entry-step="connector"] { order:3; }
.entry-design-step[data-entry-step="action"] { order:4; }
.entry-design-step[data-entry-step="link"] { order:5; }
#action-reviewer-field[hidden] { display:none; }
.entry-design-step > summary { display:flex; align-items:center; gap:14px; padding:15px 18px; list-style:none; cursor:pointer; color:var(--champ-cobalt); }
.entry-design-step > summary::-webkit-details-marker { display:none; }
.entry-design-step > summary::after { content:"+"; margin-left:auto; font-size:22px; font-weight:400; }
.entry-design-step[open] > summary::after { content:"−"; }
.entry-design-step > summary strong,.entry-design-step > summary small { display:block; }
.entry-design-step > summary strong { font-size:15px; }
.entry-design-step > summary small { margin-top:3px; color:var(--champ-muted); font-size:12px; font-weight:400; }
.entry-design-step[open] > summary { border-bottom:1px solid var(--champ-line); background:#f4f8ff; }
.entry-design-number { display:grid; flex:0 0 30px; width:30px; height:30px; place-items:center; background:var(--champ-cobalt); color:#fff; font-weight:700; font-size:13px; }
.entry-design-body { padding:22px 20px 24px; }
.entry-design-subsection { margin-top:24px; padding:20px; border-left:4px solid var(--champ-cobalt); background:#f4f8ff; }
.entry-design-subsection > .step-label { margin:0 0 5px; }
.entry-design-subsection > h3 { margin:0 0 7px; color:var(--champ-cobalt); font-size:18px; }
.entry-design-subsection > p:not(.step-label) { margin:0 0 18px; color:var(--champ-muted); }
.recipient-select-field { margin-top:20px; }
.recipient-select-field > label { display:block; margin-bottom:7px; color:var(--champ-cobalt-deep); font-weight:700; }
.recipient-select-field > small { display:block; margin-top:7px; color:var(--champ-muted); }
.recipient-empty-state { margin:0; }
.attachment-verification-panel { margin-top:4px; padding:18px; border-left:4px solid var(--champ-cobalt); background:#f4f8ff; }
.attachment-verification-panel > .step-label { margin:0 0 14px; }
.verification-value-list { display:grid; border:1px solid var(--champ-line); background:#fff; }
.verification-value-list label { display:flex; align-items:center; gap:10px; margin:0; padding:10px 12px; color:var(--champ-ink); cursor:pointer; }
.verification-value-list label + label { border-top:1px solid var(--champ-line); }
.verification-value-list label:hover { background:#eef5ff; }
.verification-value-list input { width:17px; height:17px; margin:0; accent-color:var(--champ-cobalt); }
.profile-card h2.entry-design-subheading { margin:38px 0 22px; }
.activity-attachment-label { margin-top:14px; }
.activity-document-validation { margin-top:8px; padding:9px 11px; border-left:3px solid #0b4fb3; background:#eef5ff; color:#17365d; font-size:.92rem; }
.activity-document-validation:empty { display:none; }
.activity-document-validation.is-checking { border-left-color:#6b778c; background:#f4f6f8; color:#566274; }
.activity-document-validation.is-matched { border-left-color:#16834a; background:#edf8f1; color:#145c37; }
.activity-document-validation.is-review { border-left-color:#b36b00; background:#fff7e8; color:#704600; }
.entry-design-body > .key-result-source { margin-top:0; }
.entry-design-next { display:flex; justify-content:flex-end; margin-top:24px; }
.entry-design-next button { min-width:200px; }
.entry-design-finish { order:6; margin-top:12px; padding:20px; border:1px solid var(--champ-line); background:#f4f8ff; }
.entry-design-finish .step-label { margin:0 0 6px; }
.entry-design-finish h2 { font-size:19px; }
.entry-design-finish p:not(.step-label) { margin:8px 0 0; }
@media (max-width:540px) { .entry-design-step > summary { padding:13px 12px; }.entry-design-body,.entry-design-finish { padding:16px 12px; }.entry-design-subsection { padding:16px 12px; }.entry-design-next button { width:100%; } }
.entry-design-shell { padding-bottom:125px; }
.entry-design-flow.is-guided .entry-design-step:not([open]) { display:none; }
.entry-design-flow.is-guided .entry-design-step > summary { cursor:default; }
.entry-design-finish[hidden] { display:none; }
.entry-design-progress { position:fixed; z-index:1050; right:0; bottom:0; left:0; padding:8px max(18px,5vw) 10px; border-top:2px solid var(--champ-cobalt); background:#fff; box-shadow:0 -6px 24px rgba(29,57,91,.12); }
.entry-design-progress-caption { display:block; margin-bottom:5px; color:var(--champ-cobalt); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.4px; }
.entry-design-progress-list { display:flex; gap:5px; overflow-x:auto; scrollbar-width:thin; }
.entry-design-progress-step { flex:1 0 max-content; min-width:110px; padding:8px 10px; border:1px solid var(--champ-line); background:#fff; color:var(--champ-cobalt); font-size:12px; font-weight:600; text-align:center; cursor:pointer; }
.entry-design-progress-step.is-current { border-color:var(--champ-cobalt); background:var(--champ-cobalt); color:#fff; }
.entry-design-progress-step:hover:not(.is-current) { background:#f4f8ff; }
@media (max-width:540px) { .entry-design-shell { padding-bottom:145px; }.entry-design-progress { padding:7px 12px 9px; }.entry-design-progress-step { flex:0 0 auto; min-width:100px; } }
.page-tools { position:fixed; z-index:18; top:82px; right:16px; display:flex; flex-direction:column; align-items:flex-end; gap:7px; font-family:"Ubuntu","Segoe UI",Arial,sans-serif; }
.page-tools-toggle,.page-tools-actions button { display:flex; min-height:38px; align-items:center; justify-content:center; gap:8px; border:2px solid var(--champ-cobalt); border-radius:0; background:#fff; color:var(--champ-cobalt-deep); font-size:12px; font-weight:700; box-shadow:0 3px 10px rgba(15,45,90,.13); }
.page-tools-toggle { min-width:42px; padding:7px 10px; background:var(--champ-cobalt); color:#fff; }
.page-tools-toggle svg,.page-tools-actions svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.page-tools-actions { display:grid; gap:5px; }
.page-tools-actions[hidden] { display:none; }
.page-tools-actions button { width:106px; padding:6px 9px; justify-content:flex-start; cursor:pointer; }
.page-tools-actions button:hover,.page-tools-actions button:focus { background:#eef5ff; }
.page-tools-help { position:absolute; top:0; right:118px; width:min(430px,calc(100vw - 155px)); max-height:calc(100vh - 105px); overflow-y:auto; padding:18px; border:1px solid var(--champ-line); border-left:4px solid var(--champ-cobalt); background:#fff; box-shadow:0 10px 28px rgba(15,45,90,.18); }
.page-tools-help[hidden],.page-tools-status[hidden] { display:none; }
.page-tools-help > div { display:flex; align-items:center; justify-content:space-between; color:var(--champ-cobalt); font-size:12px; letter-spacing:.5px; text-transform:uppercase; }
.page-tools-help > div button { border:0; background:transparent; color:var(--champ-cobalt); font-size:24px; line-height:1; }
.page-tools-help h2 { margin:15px 0 8px; color:var(--champ-cobalt); font-size:19px; }
.page-tools-help h3 { margin:18px 0 6px; color:var(--champ-cobalt-deep); font-size:14px; }
.page-tools-help p { margin:0; color:var(--champ-muted); font-size:13px; line-height:1.55; }
.page-tools-help ol,.page-tools-help ul { margin:7px 0 0; padding-left:21px; color:var(--champ-muted); font-size:13px; line-height:1.5; }
.page-tools-help li + li { margin-top:5px; }
.page-tools-help .page-tools-help-note { margin-top:13px; padding-top:12px; border-top:1px solid var(--champ-line); }
.page-tools-status { position:absolute; top:0; right:118px; width:290px; padding:10px 12px; border-left:3px solid var(--champ-cobalt); background:#eef5ff; color:var(--champ-cobalt-deep); font-size:12px; box-shadow:0 4px 14px rgba(15,45,90,.12); }
@media (max-width:850px) { .page-tools { top:116px; right:10px; }.page-tools-toggle span { display:none; }.page-tools-help { right:50px; width:min(330px,calc(100vw - 75px)); }.page-tools-status { right:50px; width:min(290px,calc(100vw - 75px)); } }
@media print { .champ-navbar,.champ-menu,.champ-menu-backdrop,.page-tools,.entry-design-progress { display:none !important; }.champ-page { padding-top:0 !important; }.profile-shell { width:100%; padding:12px 0; }.profile-card { box-shadow:none; break-inside:avoid; } }
.method-queue-heading { width:100%; margin:18px 0 2px; padding:16px 18px; border-left:4px solid var(--champ-cobalt); background:#f5f8fd; }
.method-queue-heading h3 { margin:3px 0 0; color:var(--champ-cobalt-deep); }
.method-queue-heading p { margin:5px 0 0; }
.method-queue-heading-pending { margin-top:28px; background:#eaf2ff; }
