/* Coastal Sage: shared portal theme, loaded after component styles. */
:root{--brand-orange:#E86F56;--brand-lime:#e4fc51;--ink:#234e52;--teal:#234e52;--muted:#536c6b;--lime:#bdd2c1;--paper:#f7f7f2;--line:#d5e1db;--orange:#976342;--sea:#739da8;--mist:#e8f0ee}
body{background:var(--paper)}
h1,h2,h3{font-weight:600}h1{letter-spacing:-1.1px;line-height:1.28}
button,.button{border-radius:999px;padding:12px 22px;font-weight:600;transition:background .18s,border-color .18s;min-height:44px}
button.primary,.button.primary{background:var(--teal);border-color:var(--teal);color:#fff}
button:hover,.button:hover{background:#e8f0ee;border-color:#739da8}button.primary:hover,.button.primary:hover{background:#183d40;color:white}
:focus-visible{outline:3px solid #527f89;outline-offset:4px}
input:not([type=radio]):not([type=checkbox]),select,textarea{border-radius:16px;border-color:#a8bdb4;background:#fff;color:var(--ink)}
.content{padding-top:44px;padding-bottom:80px}.pagehead{margin-bottom:34px}.pagehead h1{font-size:clamp(1.8rem,3vw,2.45rem)}
.panel,.eval-card,.stat,.composition-card{border-radius:24px;border-color:var(--line);box-shadow:0 6px 24px #234e5204}
.banner{background:#eaf0e5;border-color:#cbd9c3;border-radius:16px;color:var(--ink)}
.sidebar,.officer-header{background:linear-gradient(115deg,#234e52,#345e5e);color:#fff}.officer-header{padding-top:22px;padding-bottom:22px}
.officer-header .skills-submenu-motion{background:#234e52;border-radius:20px}
.sidebar nav button.active{background:#bdd2c1;color:#234e52}.sidebar nav button.active .nav-icon{background:#bdd2c1;color:#234e52;border-color:#bdd2c1}
.sidebar nav button:hover{background:#ffffff12}.sidebar nav button.active:hover{background:#cdded0}
.member-avatar{background:#345e5e}.brand span{color:#bdd2c1}
.dashboard-group{margin-bottom:42px}.dashboard-group>h2{font-weight:600}
:is(.dashboard-evaluation,.dashboard-skills) .board-evaluation-cards .participation-three-cards>.eval-card{border-radius:24px;padding:26px;border-width:1px;box-shadow:none}
:is(.dashboard-evaluation,.dashboard-skills) .board-evaluation-cards .participation-three-cards>.eval-card:nth-child(1){background:#edf3ed;border-color:#809f8b;color:var(--ink)}
:is(.dashboard-evaluation,.dashboard-skills) .board-evaluation-cards .participation-three-cards>.eval-card:nth-child(2){background:#f8f2e9;border-color:#baa381;color:var(--ink)}
:is(.dashboard-evaluation,.dashboard-skills) .board-evaluation-cards .participation-three-cards>.eval-card:nth-child(3){background:#f6eeeb;border-color:#ba9690;color:var(--ink)}
:is(.dashboard-evaluation,.dashboard-skills) .board-evaluation-cards .participation-three-cards>.eval-card>button{background:var(--teal);color:#fff;border-color:var(--teal);border-radius:999px}
.participation-member-group .member-avatar{background:#345e5e;border-color:#b6cec2}
.dashboard-evaluation .evaluation-overall-score,.dashboard-evaluation .evaluation-section-chart{background:#e8f0ee;border:1px solid #c3d5cd;border-radius:28px;color:var(--ink);padding-top:32px;padding-bottom:32px}
.dashboard-evaluation .comparison-score-number,.dashboard-evaluation .comparison-score-unit,.dashboard-evaluation .radar-area-label{fill:#234e52}
.dashboard-evaluation .comparison-score-ring circle[stroke="#284b70"]{stroke:#426f65}
.dashboard-evaluation .comparison-score-ring circle[stroke="#e5ebf1"]{stroke:#d1dfd8}
.dashboard-evaluation .comparison-score-ring circle[stroke="#dc8b42"]{stroke:#987052}
.dashboard-evaluation .comparison-score-legend .board-key{background:#426f65}.dashboard-evaluation .comparison-score-legend .sector-key{background:#987052}
.dashboard-evaluation .radar-logo .radar-logo-arm{fill:#426f65}.dashboard-evaluation .radar-area-icon{color:#426f65}
.dashboard-evaluation .evaluation-radar-guides{stroke:#92ada3}
.dashboard-skills .skills-modern-summary .panel,.dashboard-skills .skills-modern-summary .dashboard-skills-highlights>article{background:#edf2f3;border:1px solid #c6d8db;border-radius:28px;color:#234e52;padding:28px}
.dashboard-skills .dashboard-skills-overview h3,.dashboard-skills .skills-modern-summary .dashboard-skills-highlights>article h3,.dashboard-skills .skills-highlight-row strong,.dashboard-skills .skills-highlight-row b{color:#234e52}
.dashboard-skills .skills-highlight-row span,.dashboard-skills .skills-highlight-row small,.skills-radial-note{color:#536c6b}
.dashboard-skills .skills-highlight-track i,.skills-radial-legend i{background:#527f89}
.dashboard-skills .dashboard-skills-highlights>article:last-child .skills-highlight-track i,.skills-radial-legend .sector{background:#987052}
.skills-radial-arm{fill:#527f89}.skills-radial-icon{color:#527f89}.skills-radial-label{fill:#234e52}.skills-radial-unit{fill:#536c6b}.skills-radial-benchmark{stroke:#987052}.skills-radial-guides{stroke:#9ab4ba}
.typeform-journey{max-width:800px;margin-top:40px}.typeform-journey .journey-intro article{border-radius:24px;background:#e8f0ee;border-color:#cbdcd2;padding:30px}
.journey-intro-icon{background:#bdd2c1;color:#234e52;border-radius:50%}
.journey-progress-bar{background:#e8eeE8}.journey-progress-fill{background:#bdd2c1}
#evaluation-questionnaire .journey-agreement .choice{background:#fff;border-color:#b4c7bd;min-height:58px}
#evaluation-questionnaire .journey-agreement .choice:has(input:checked),.choice:has(input:checked){background:linear-gradient(110deg,#d6e4d7,#e0ecec);border-color:#527f89;color:#234e52;box-shadow:0 0 0 1px #527f89}
#evaluation-questionnaire .journey-agreement .choice input{accent-color:#234e52}
.member-introduction{background:linear-gradient(145deg,#f7f7f2,#e8f0ee)}.intro-note{background:#e8f0ee;border-radius:22px}
/* A coastal illustration gives sign-in an unhurried sense of place. */
body:has(.signin-page){background:#e8f0ee url('coastal-landscape.svg') center/cover fixed}
.signin-page{max-width:1200px;padding:40px 40px 28px;display:flex;flex-direction:column;justify-content:center;min-height:100svh}
.signin-page>.brand{align-self:flex-start;margin-bottom:40px;font-size:1.5rem;color:#234e52}.signin-page>.brand span{color:#426f65}
.signin-layout{grid-template-columns:1.1fr 1fr;gap:56px;background:transparent;border:0;box-shadow:none;overflow:visible;min-height:520px;align-items:center}
.signin-intro{background:transparent;color:#234e52;padding:28px 12px;min-height:420px}
.signin-intro .eyebrow{color:#345e5e;letter-spacing:2px;font-size:.75rem;margin-bottom:28px}
.signin-intro h1{font-weight:500;font-size:clamp(2.6rem,4.8vw,4rem);line-height:1.12;letter-spacing:-2px;max-width:460px}
.signin-intro>p{color:#345e5e;font-size:1.1rem;max-width:340px;line-height:1.75}
.signin-intro .signin-reassurance{color:#345e5e;margin-top:30px;font-size:.9rem;padding:0}
.signin-card{background:#fffffff2;border:1px solid #ffffff;border-radius:30px;padding:42px;box-shadow:0 18px 60px #234e5210;backdrop-filter:blur(12px)}
.signin-card h2{font-weight:600;font-size:1.7rem}.signin-card .field input{min-height:54px;border-radius:16px;background:#fbfcf9}
.signin-card form>.primary{min-height:54px;border-radius:999px}.signin-steps{font-size:.8rem;gap:18px}.signin-steps [aria-current] span{background:#d7e5d9;border-color:#d7e5d9}
.signin-invitation{border-color:#739da8}.signin-invitation p{color:#345e5e}.signin-footer{margin-top:38px;color:#345e5e;font-size:.8rem}
@media(max-width:720px){.signin-page{padding:24px 20px;justify-content:flex-start}.signin-page>.brand{margin-bottom:24px}.signin-layout{grid-template-columns:1fr;gap:22px;min-height:0}.signin-intro{min-height:0;padding:12px 8px}.signin-intro>h1,.signin-intro>p{display:block}.signin-intro h1{font-size:2.65rem;max-width:360px}.signin-intro>p{font-size:1rem;margin:14px 0 0}.signin-intro .eyebrow{margin-bottom:16px}.signin-intro .signin-reassurance{display:none}.signin-card{padding:28px 24px;border-radius:26px}.signin-footer{margin-top:24px}.content{padding:28px 18px 50px}.pagehead{align-items:flex-start;flex-wrap:wrap}.officer-header{padding:18px 14px}}
@media(prefers-reduced-motion:reduce){button,.button{transition:none}}

/* Warm brand accent, scoped to the wordmark so chart colours keep their meaning. */
.brand span,.signin-page>.brand span{color:var(--brand-orange)}
.sidebar .brand{color:#f7f7f2}
.brand .brand-symbol .radar-logo-arm{fill:var(--brand-orange);stroke:var(--brand-orange);stroke-width:.9}
.officer-header .brand{font-size:1.45rem}
@media(max-width:1100px){.officer-header .brand{font-size:1.28rem}}
@media(max-width:540px){.officer-header .brand{font-size:1.17rem}}

/* Officer setup shares the quiet member introduction, with room for a roster. */
.officer-introduction .intro-main{max-width:720px}
.officer-add-member{display:grid;gap:16px;text-align:left;margin:24px 0}
.officer-add-member label{display:grid;gap:8px}
.officer-add-member button{justify-self:start}
.officer-intro-roster{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;max-height:260px;overflow:auto}
.officer-intro-roster li{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.7);border:1px solid #bdcfc5;border-radius:16px}
.officer-intro-roster small{display:block;color:#47615c}
#officer-status{color:#963f2b;min-height:1.5em}
@media(max-width:520px){.officer-intro-roster{grid-template-columns:1fr}}
.officer-role-choices{border:0;padding:0;margin:0;min-width:0}.officer-role-choices legend{margin-bottom:12px}.officer-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.officer-role-card{display:flex;border:1px solid #9db8aa;border-radius:18px;background:white;overflow:hidden}.officer-role-card>button:first-child{flex:1;border:0;border-radius:0;text-align:left;padding:16px;white-space:normal}.officer-role-card .role-help{align-self:center;border:1px solid #718f81;border-radius:50%;width:30px;height:30px;min-width:30px;padding:0;margin:10px}.officer-role-choices [aria-pressed="true"]{background:#c5d8c8;color:#163f3f;box-shadow:inset 0 0 0 2px #426f61}.role-unsure{margin-top:12px}.officer-role-choices .intro-note{margin-top:12px}.officer-role-choices [hidden]{display:none}
.tour-highlight{position:fixed;border:3px solid #e7b28e;border-radius:18px;box-shadow:0 0 0 9999px #163c3c66;pointer-events:none;z-index:10000}.officer-tour{position:fixed;margin:0;width:min(390px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-sizing:border-box;border:1px solid #a3c2b1;border-radius:24px;background:#f4f7ef;color:#204d4c;padding:26px;box-shadow:0 18px 55px #173c3c44}.officer-tour::backdrop{background:transparent}.officer-tour h2{font-size:24px;line-height:1.2;margin:12px 0}.officer-tour p{line-height:1.55}.tour-eyebrow{font-size:12px;padding-right:25px}.tour-close{position:absolute;right:14px;top:12px;border:0;padding:4px 10px;font-size:24px}.tour-actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.tour-skip{display:block;margin:16px auto 0;border:0;padding:4px;text-decoration:underline}.officer-tour button:focus-visible{outline:3px solid #b66f52;outline-offset:3px}@media(max-width:520px){.officer-role-grid{grid-template-columns:1fr}}
/* Restore the agreement scale used in the evaluation guide. */
#evaluation-questionnaire .journey-agreement .choice{background:var(--agreement-colour,#fff);color:var(--agreement-ink,#163e3e);border-color:var(--agreement-ink,#8aa79b)}
#evaluation-questionnaire .journey-agreement .choice:has(input:checked){background:var(--agreement-colour,#fff);color:var(--agreement-ink,#163e3e);border-color:var(--agreement-ink,#163e3e);box-shadow:inset 0 0 0 2px var(--agreement-ink,#163e3e);outline:2px solid #163e3e;outline-offset:3px}
#evaluation-questionnaire .journey-agreement .choice input{accent-color:var(--agreement-ink,#163e3e)}
.member-role-option{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center}.member-role-option .intro-role{margin:0}.member-role-option .member-role-help{border-radius:50%;padding:0;width:36px;height:36px;min-height:36px}.member-role-option p{grid-column:1/-1;background:#e5eee7;padding:16px;border-radius:14px;margin:0 0 12px;font-size:15px}.member-role-option [hidden]{display:none}
.member-sidebar-company{font-size:.9rem;line-height:1.4;color:#e3eee6}.member-sidebar-profile #signout{margin-top:8px}
.member-dashboard-shell>.member-content{grid-row:1}.member-dashboard-shell>.member-identity{grid-row:1}
@media(max-width:700px){.member-dashboard-shell>.member-content{grid-row:2}.member-dashboard-shell>.member-identity{grid-row:1}}

.officer-introduction .intro-step{justify-content:flex-end}
.officer-add-member .intro-role{display:flex;gap:15px}

.officer-add-member input[type=text],.officer-add-member input[type=email]{padding:12px;font:inherit;min-height:48px;border-radius:16px}
