/* Shared chrome uses the same tokens and components as the main App console. */
.companion-page .site-shell { grid-template-rows: auto 1fr auto; }
.companion-page .shell-header { width:100%; margin:0; display:flex; flex-wrap:nowrap; }
.companion-page .shell-header h2 { margin:0; font-size:1.15rem; letter-spacing:-.025em; }
.companion-page .shell-header .section-kicker { margin:0 0 5px; }
.companion-page .shell-header .subscriber-page-identity { min-width:160px; }
.companion-page .shell-context { max-width:250px; padding:10px 14px; border:1px solid var(--line); border-radius:8px; font-size:.85rem; font-weight:700; overflow-wrap:anywhere; }
.companion-page .shell-account { box-sizing:border-box; width:38px; height:38px; min-width:38px; flex:0 0 38px; display:grid; place-items:center; padding:0; line-height:1; text-align:center; border:1px solid var(--line); border-radius:50%; color:var(--mint-deep); background:var(--mint-soft); }
.companion-page .shell-account svg { width:17px; height:17px; fill:currentColor; }
.companion-page .shell-account { font-size:.8rem; font-weight:750; text-decoration:none; }
.companion-page .header-end > :is(.notification-wrap,.account-menu-wrap) {flex:0 0 auto;align-self:center;}
.companion-page .shell-account {background:#e2f4ef;color:#00695f;}
.companion-page .shell-header .subscriber-page-identity h2 {font-size:1.35rem;}
@media(max-width:1180px) {
 .companion-page .shell-header {flex-wrap:wrap;}
 body.has-session.companion-page .shell-header .header-end {display:flex;flex-wrap:wrap;width:100%;flex:1 1 100%;}
 body.companion-page.has-session #page-context {display:flex;flex:1 1 100%;order:5;justify-content:flex-start;min-width:0;}
 body.companion-page.has-session #page-context > :is(.context-field,.context-link,.context-switch) {display:block;}
 body.companion-page.has-session #page-context .context-field {flex:1 1 0;min-width:0;max-width:none;}
 body.companion-page.has-session #page-context select {min-width:0;max-width:100%;}
}
.companion-page .subscriber-nav-item svg.shell-outline,.companion-page .shell-account svg.shell-outline { fill:none; }
.companion-page .sidebar-brand span { color:var(--muted); }
.companion-page .subscriber-sidebar { overflow-y:auto; }
.companion-page .sidebar-brand img { max-height:none; }
.companion-page .sidebar-collapse { background:var(--paper); color:var(--muted); padding:0; }
.companion-page .sidebar-theme select { margin:0; }
.companion-page .subscriber-nav-item { text-decoration:none; }
.companion-page .companion-main { width:100%; max-width:1580px; min-width:0; margin:0 auto; padding:clamp(28px,4vw,54px); color:var(--ink); font-size:1rem; line-height:1.58; }
.companion-main h1 { margin:0 0 16px; font-size:var(--portal-type-page-title); line-height:1.18; letter-spacing:-.035em; }
.companion-main h2 { font-size:var(--portal-type-section-title); line-height:1.25; letter-spacing:-.025em; }
.companion-main h3 { font-size:1.1rem; }
.companion-main > p { margin:0 0 22px; }
.companion-main .heading { align-items:flex-start; margin-bottom:24px; flex-wrap:wrap; }
.companion-main .panel { background:var(--paper); border:1px solid var(--line); border-radius:2px; box-shadow:var(--portal-panel-shadow); padding:clamp(20px,2.3vw,30px); margin-bottom:24px; min-width:0; }
.companion-main .card { background:var(--paper); border-color:var(--line); border-radius:4px; min-width:0; overflow-wrap:anywhere; }
.companion-main .cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); }
.companion-main :is(input,select,textarea) { color:var(--ink); background:var(--paper); border:1px solid var(--portal-line-strong); border-radius:6px; padding:11px 12px; font:inherit; }
.companion-main input[type=checkbox],.companion-main input[type=radio] { width:auto; accent-color:var(--mint-deep); }
.companion-main :is(button,.button) { color:#fff; background:var(--portal-control-fill); border:1px solid transparent; border-radius:5px; padding:11px 16px; font:inherit; font-weight:700; line-height:1.4; }
.companion-main :is(button,.button):hover { background:var(--portal-control-fill-hover); }
.companion-main a:not(.button):not(.payment-primary) { color:var(--mint-deep); text-underline-offset:3px; }
.companion-main details { border-color:var(--line); }
.companion-main .notice { background:var(--mint-soft); border-color:var(--mint-deep); color:var(--ink); }
.companion-main :is(.meta,.eyebrow) { color:var(--muted); }
.companion-main .eyebrow { color:var(--mint-deep); font-family:Consolas,monospace; letter-spacing:.13em; }
.companion-main .tabs { flex-wrap:wrap; }
.companion-page .shell-footer { background:var(--night); color:#c5d9d7; padding:30px clamp(28px,4vw,54px); font-size:.8rem; min-height:0; text-align:left; }
.companion-page .shell-footer nav { display:flex; flex-wrap:wrap; gap:20px; }
.companion-page .shell-footer a { color:inherit; font-weight:700; }
.companion-page .shell-footer p { margin:20px 0 0; max-width:none; text-align:left; }
.companion-page .shell-menu { display:none; }
.companion-page .shell-scrim { position:fixed; inset:0; border:0; border-radius:0; background:#0006; z-index:39; }
@media(max-width:1100px) { .companion-page .shell-context { display:none; } }
@media(max-width:760px) {
  .companion-page .site-shell { padding-left:0; }
  .companion-page .shell-header { min-height:76px; padding:12px 16px; gap:12px; }
  .companion-page .shell-header .subscriber-page-identity { min-width:0; flex:1; }
  .companion-page .shell-header .header-end { width:auto; flex:0 0 auto; }
  .companion-page .shell-header .subscriber-utility-nav { display:none; }
  .companion-page .shell-header h2 { font-size:1rem; }
  .companion-page .shell-menu { display:grid; place-items:center; width:36px; height:40px; padding:6px; background:transparent; color:var(--ink); border:1px solid var(--line); }
  .companion-page .shell-menu svg { width:22px; height:22px; fill:currentColor; }
  .companion-page .subscriber-sidebar { transform:translateX(-100%); visibility:hidden; width:248px; max-width:85vw; }
  .companion-page .subscriber-sidebar.is-open { transform:none; visibility:visible; }
  .companion-page .sidebar-collapse { display:none; }
  .companion-page .companion-main { padding:26px 18px; }
  .companion-main .panel { padding:18px; }
  .companion-main .form-grid { grid-template-columns:1fr; }
}

/* Discovery sections are one tab strip, visually joined to the active panel. */
.companion-main .tabs[role=tablist] { display:flex; flex-wrap:nowrap; gap:0; margin:24px 0 0; padding:0; border-bottom:1px solid var(--line); overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; }
.companion-main .tabs button[role=tab] { flex:0 0 auto; min-height:48px; margin:0; padding:13px 17px; color:var(--muted); background:transparent; border:1px solid transparent; border-bottom:3px solid transparent; border-radius:6px 6px 0 0; font-size:.9rem; font-weight:650; white-space:nowrap; }
.companion-main .tabs button[role=tab]:hover { color:var(--ink); background:var(--portal-hover); }
.companion-main .tabs button[role=tab][aria-selected=true] { color:var(--mint-deep); background:transparent; border-color:transparent; border-bottom-color:var(--mint-deep); }
.companion-main .tabs button[role=tab]:focus-visible { outline:2px solid var(--focus); outline-offset:-5px; }
.companion-main #workspace > .panel[role=tabpanel] { margin-top:0; border-top:0; border-radius:0 0 2px 2px; }
@media(max-width:760px) {
  .companion-main .tabs button[role=tab] { padding-inline:14px; }
}

.companion-main .badge {background:var(--mint-soft);color:var(--ink);border:1px solid var(--line);}
.companion-main #message,.companion-main #profile-version {color:var(--muted);}
.companion-main #message.error {color:var(--ink);font-weight:700;}
.companion-main .notice strong {display:block;}
.shell-switcher {display:flex;align-items:end;gap:7px;max-width:520px;min-width:0;}
.shell-switcher label {margin:0;min-width:0;font:700 10px Consolas,monospace;letter-spacing:.08em;color:var(--mint-deep);}
.shell-switcher select {margin:4px 0 0;width:100%;max-width:230px;background:var(--paper);color:var(--ink);border:1px solid var(--line);font:600 12px Arial,sans-serif;padding:9px;}
.shell-switcher button {font-size:12px;padding:10px;background:var(--portal-control-fill);}
.companion-page .shell-header {flex-wrap:wrap;}
.companion-page .shell-header .header-end {flex-wrap:wrap;min-width:0;}
.account-sections {display:flex;flex-wrap:wrap;gap:18px;margin:20px 0;}
.account-details {display:grid;grid-template-columns:minmax(100px,180px) 1fr;gap:12px;}
.account-details dd {margin:0;overflow-wrap:anywhere;}
.account-details dt {color:var(--muted);}
#enrollment-list {display:grid;gap:16px;}
.companion-main section[id] {scroll-margin-top:180px;}
@media(max-width:1100px){.companion-page .subscriber-utility-nav {display:none;}}
@media(max-width:760px){.companion-page .shell-header .header-end {flex-basis:100%;justify-content:space-between;}.shell-switcher{flex:1;}.shell-switcher label{flex:1;}.shell-switcher select{max-width:100%;}.account-menu{max-width:calc(100vw - 32px);}}
@media(max-width:760px){
  .companion-page .site-shell {grid-template-columns:minmax(0,1fr);}
  body.companion-page .brand-header.shell-header {flex-wrap:wrap!important;width:100%;min-width:0;}
  .companion-page .shell-header .header-end {width:100%;gap:8px;}
  .shell-switcher {gap:4px;max-width:calc(100% - 46px);}
  .shell-switcher select {padding:8px 3px;font-size:11px;}
  .shell-switcher button {padding:8px 5px;}
}


body:is([data-page-title="Organization services"],[data-page-title="Members & access"]) main > .services-page-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; }
.services-page-heading h1 { margin:0; }
.services-page-heading #services-organization-filter { margin:0; width:100%; min-width:0; }
.services-page-heading #services-organization { width:100%; }
@media(max-width:1000px){body:is([data-page-title="Organization services"],[data-page-title="Members & access"]) main > .services-page-heading {grid-template-columns:minmax(0,1fr);gap:20px;} .services-page-heading #services-organization-filter {max-width:540px;justify-self:center;}}

body:is([data-page-title="Organization services"],[data-page-title="Members & access"]) main > .services-page-heading { align-items:end; }
.services-page-heading #services-organization-filter {
  box-sizing:border-box; padding:5px 10px 5px 12px; min-height:52px;
  display:grid; border:1px solid var(--line); border-radius:8px; background:var(--surface);
}
.services-page-heading #services-organization-filter[hidden] { display:none; }
.services-page-heading #services-organization-filter > label {
  display:block; margin:0; color:var(--muted); font:700 11px ui-monospace,monospace;
  letter-spacing:.08em; text-transform:uppercase;
}
.services-page-heading #services-organization-filter > select {
  width:100%; min-height:0; height:auto; margin:0; padding:0 20px 0 0;
  border:0; border-radius:0; box-shadow:none; background:transparent;
  color:var(--text, var(--ink)); font-size:14px; font-weight:750; line-height:1.5;
}
.services-page-heading #services-organization-filter:focus-within { outline:2px solid var(--aqua, var(--accent)); outline-offset:2px; }
.services-page-heading #services-organization-filter > select:focus-visible { outline:none; }
.services-page-heading #services-organization option { background:var(--surface); color:var(--text, var(--ink)); }

/* Organization services follows the enrollment page hierarchy. */
body:is([data-page-title="Organization services"],[data-page-title="Members & access"]) main > .services-page-heading {grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;}
.services-page-heading h1 {font-size:32px;line-height:1.2;}
.services-page-heading #services-organization-filter {grid-column:2;justify-self:end;}
body:is([data-page-title="Organization services"],[data-page-title="Members & access"]) .services-intro {margin:20px 0 40px;}
.services-guidance {padding:22px 26px;background:var(--surface-2);border-left:3px solid var(--line);margin-bottom:28px;}
.services-guidance h2 {font-size:17px;margin:0 0 10px;}
.services-guidance p {margin:0;}
.services-toolbar {display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;}
.services-toolbar p {margin:0;}
.services-section {margin:0;padding:0;border:0;background:transparent;box-shadow:none;}
.services-section .cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.services-section .card {padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);}
.services-section .card > h3 {font-size:28px;line-height:1.2;margin:0 0 20px;}
@media(max-width:1100px){body:is([data-page-title="Organization services"],[data-page-title="Members & access"]) main > .services-page-heading {grid-template-columns:minmax(0,1fr);}.services-page-heading #services-organization-filter {grid-column:1;width:min(100%,380px);}.services-section .cards {grid-template-columns:minmax(0,1fr);}}
@media(max-width:600px){.services-toolbar {align-items:flex-start;flex-direction:column;}}
.services-toolbar #services-refresh .button {background:var(--control-fill, #087f70);border-color:var(--control-fill, #087f70);color:var(--on-accent, #fff);font-weight:750;}
.services-toolbar #services-refresh .button:hover {filter:brightness(.92);}

.subscription-activation-notice{margin:18px 0;padding:18px 20px;border:1px solid var(--accent);border-left-width:4px;border-radius:6px;background:var(--surface-2);color:var(--ink)}
.subscription-activation-notice strong{display:block;font-size:1rem;margin-bottom:8px}
.subscription-activation-notice p{margin:0;line-height:1.6}

.service-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--line);margin-top:20px;padding:0 0 1px}
.services-section .service-tabs button{flex:0 0 auto;background:transparent;color:var(--ink);border:0;border-bottom:3px solid transparent;border-radius:0;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer}
.services-section .service-tabs button:hover{background:var(--surface-2)}
.services-section .service-tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface-2)}
.services-section .service-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
.services-section .cards.service-tab-panels{display:block;margin-top:18px}
.service-tab-panels>[hidden]{display:none!important}

/* Raised service tabs connect directly to the selected content panel. */
.services-section .service-tabs{gap:8px;overflow:visible;border-bottom:1px solid var(--line);padding:0;margin-top:20px}
.services-section .service-tabs button{display:flex;align-items:center;justify-content:center;gap:10px;position:relative;margin-bottom:-1px;padding:17px 23px;border:1px solid transparent;border-radius:0;color:var(--muted);background:transparent}
.services-section .service-tabs button svg{width:22px;height:22px;flex:none}
.services-section .service-tabs button[aria-selected="true"]{border-color:var(--line);border-bottom-color:var(--surface);background:var(--surface);color:var(--accent);z-index:1}
.services-section .cards.service-tab-panels{margin-top:0}
.services-section .service-tab-panels>.card{border-top:0;border-radius:0;padding:32px}
@media(max-width:600px){.services-section .service-tabs{flex-wrap:wrap}.services-section .service-tabs button{padding:14px 16px}.services-section .service-tab-panels>.card{padding:20px}}

.basket-availability-notice{background:var(--surface-2);color:var(--ink);border-left:4px solid var(--accent);padding:18px 22px;margin:20px 0;line-height:1.6}.basket-availability-notice strong{display:block;font-size:1.05rem}.basket-availability-notice p{margin:8px 0}


.service-suspension-notice { border:2px solid currentColor; border-left-width:6px; padding:20px 24px; margin-bottom:28px; background:var(--surface, #fff); color:var(--text, #242424); }
.service-suspension-notice[hidden] { display:none; }
.service-suspension-notice h2 { margin:0 0 12px; font-size:1.35rem; }
.service-suspension-notice p { margin:10px 0; }
.service-suspension-notice a { font-weight:700; text-decoration:underline; }

.organization-name-editor form > button[type=submit] { width:fit-content; max-width:100%; justify-self:start; align-self:start; }

body:is([data-page-title="Organization services"],[data-page-title="Members & access"]) main > .services-page-heading { display:block; }

/* Readable pilot terms across enrollment and timed-pilot activation. */
.pilot-terms-content { max-width: 78ch; padding: 12px 8px 8px; line-height: 1.7; }
.pilot-terms-content .pilot-terms-title { font-weight: 700; margin: 0 0 24px; }
.pilot-terms-content section { margin: 0 0 24px; padding: 0; border: 0; background: transparent; }
.pilot-terms-content h4 { font-size: 1rem; line-height: 1.4; margin: 0 0 8px; }
.pilot-terms-content p { margin: 0 0 12px; font-size: 1rem; line-height: 1.7; }
.pilot-terms-content section:last-child, .pilot-terms-content section p:last-child { margin-bottom: 0; }

.invitation-batch { margin-top: 28px; max-width: 850px; }
.invitation-batch textarea { display: block; width: 100%; box-sizing: border-box; min-height: 120px; resize: vertical; }
.invitation-batch-results { display: grid; gap: 12px; margin-top: 20px; overflow-wrap: anywhere; }
.invitation-batch .service-link-action { display: flex; flex-wrap: wrap; gap: 8px; }

.discovery-activation-options{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--shade)}
.discovery-paid-activation{margin:20px 0;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.discovery-paid-activation label{display:block;margin:16px 0}.discovery-paid-activation input[type=number]{max-width:220px}
.discovery-paid-activation button{margin:8px 8px 8px 0}

.subscription-benefits{margin:24px 0;padding:20px 24px;border:1px solid var(--line);border-inline-start:4px solid var(--accent,var(--mint-deep));border-radius:6px;background:var(--shade);max-width:80ch}
.subscription-benefits h5{margin:0 0 14px;font-size:1.1rem}.subscription-benefits ul{padding-inline-start:22px;margin:0}.subscription-benefits li{margin:10px 0;line-height:1.6}.subscription-benefits p{line-height:1.6;margin:16px 0 0}

/* Show both activation routes together, stacking on narrow screens. */
.discovery-activation-routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.discovery-activation-routes>section{min-width:0;margin:0;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.discovery-activation-routes>section>h4:first-child{margin-top:0}
.discovery-pilot-activation label{display:block;margin:24px 0}
.discovery-pilot-activation details{margin:24px 0}
.activation-guidance{margin:20px 0;padding:20px;border:2px solid var(--accent,var(--mint-deep));border-inline-start-width:6px;border-radius:6px;background:var(--paper);line-height:1.6}
.activation-guidance strong{display:block}
.activation-guidance p{margin:12px 0}
.pilot-seat-limit{font-weight:600}
.discovery-activation-routes .subscription-benefits{padding:16px;margin:20px 0}
@media(max-width:1000px){.discovery-activation-routes{grid-template-columns:1fr}}

.discovery-activation-routes>section:only-child{grid-column:1/-1}

/* Separate tender cards and the pricing action. */
body[data-page-title="Tender basket"] #items{display:grid;gap:16px;margin-bottom:16px;}

.opportunity-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:16px 0}.opportunity-controls label{min-width:180px}.opportunity-controls button{white-space:normal}
