:root { --sr-blue:#0874f9; --sr-ink:#07173d; --sr-text:#17294b; --sr-muted:#5f6f8d; --sr-line:#d7e1ee; --sr-soft:#f7fbff; }
.portal-shell:has(.safety-redesign-page) .portal-main { width:100%; max-width:none; padding:18px 30px 24px; }
.portal-shell:has(.safety-redesign-page) .portal-topbar-title,
.portal-shell:has(.safety-redesign-page) .portal-top-safety-link,
.portal-shell:has(.safety-redesign-page) .portal-search,
.portal-shell:has(.safety-redesign-page) .portal-safety-link { display:none; }
.portal-shell:has(.safety-redesign-page) .portal-new-chat { min-height:62px; margin:20px 12px 18px; justify-content:center; border:1.5px solid var(--sr-blue); border-radius:17px; background:transparent; color:var(--sr-blue); font-size:18px; box-shadow:none; }
.portal-shell:has(.safety-redesign-page) .portal-nav { gap:10px; }
.portal-shell:has(.safety-redesign-page) .portal-nav a { min-height:58px; padding:0 22px; border-radius:13px; color:#071735; font-size:17px; }
.portal-shell:has(.safety-redesign-page) .portal-recent { margin:6px 12px 0; padding-top:18px; }
.portal-shell:has(.safety-redesign-page) .portal-recent h2 { margin-left:0; color:#73819a; font-size:14px; }
.portal-shell:has(.safety-redesign-page) .portal-recent-list a { min-height:42px; padding-left:0; grid-template-columns:minmax(0,1fr); color:#0e1d3b; font-size:14px; font-weight:600; }
.portal-shell:has(.safety-redesign-page) .portal-recent-icon,
.portal-shell:has(.safety-redesign-page) .portal-recent-time { display:none; }
.portal-shell:has(.safety-redesign-page) .portal-account { min-height:80px; margin:0 -8px -10px; padding:0 28px; border-width:1px 0 0; border-radius:0; background:transparent; }
.portal-shell:has(.safety-redesign-page) .portal-avatar { width:48px; height:48px; flex-basis:48px; border-radius:50%; }
.portal-shell:has(.safety-redesign-page) .portal-account-name { font-size:17px; }
.portal-shell:has(.safety-redesign-page) .portal-settings { margin-left:auto; }
.portal-shell:has(.safety-redesign-page) .portal-subpage-back { font-size:17px; font-weight:500; }
.portal-shell:has(.safety-redesign-page) .portal-topbar { min-height:82px; border-bottom:1px solid #e5ebf2; }
.safety-redesign-page { width:min(100%,1136px); margin:0 auto; color:var(--sr-text); }
.safety-icon-sprite { position:absolute; width:0; height:0; overflow:hidden; }
.safety-redesign-page svg { fill:none; stroke:currentColor; stroke-width:2.8; stroke-linecap:round; stroke-linejoin:round; }
.safety-redesign-page svg circle[fill="currentColor"] { fill:currentColor; stroke:none; }
.sr-hero { padding:19px 0 27px; text-align:center; }
.sr-hero.compact { padding:2px 0 26px; }
.sr-hero h1 { margin:0; color:var(--sr-ink); font-size:40px; line-height:1.18; letter-spacing:.02em; }
.sr-hero.compact h1 { font-size:36px; }
.sr-hero p { margin:12px 0 0; color:var(--sr-muted); font-size:17px; line-height:1.55; }
.sr-breadcrumb { height:34px; display:flex; align-items:center; gap:18px; color:#5b6a86; font-size:14px; }
.sr-breadcrumb a:hover { color:var(--sr-blue); }
.sr-breadcrumb strong { font-weight:500; }
.sr-feature-card { min-height:139px; padding:24px 30px; display:grid; grid-template-columns:74px minmax(0,1fr) auto; align-items:center; gap:20px; border:1px solid #c7dcfa; border-radius:11px; background:linear-gradient(105deg,#f6faff,#fff); }
.sr-feature-card>svg { width:70px; height:70px; color:var(--sr-blue); }
.sr-feature-card span { display:grid; gap:8px; }
.sr-feature-card strong { color:var(--sr-ink); font-size:25px; }
.sr-feature-card small { color:var(--sr-muted); font-size:15px; }
.sr-feature-card>b { color:var(--sr-blue); font-size:16px; font-weight:600; white-space:nowrap; }
.sr-section-title { margin:31px 0 22px; color:var(--sr-ink); font-size:22px; }
.sr-home-grid,.sr-two-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 22px; }
.sr-wide-card { min-height:146px; padding:24px 28px; display:grid; grid-template-columns:66px minmax(0,1fr) auto; align-items:center; gap:20px; border:1px solid var(--sr-line); border-radius:10px; background:#fff; }
.sr-wide-card:hover,.sr-rights-grid>a:hover,.sr-account-grid>a:hover,.sr-action-row>a:hover { border-color:#82b6ff; background:#fbfdff; }
.sr-wide-card>svg { width:62px; height:62px; color:var(--sr-blue); }
.sr-wide-card span { min-width:0; display:grid; gap:8px; }
.sr-wide-card strong { color:var(--sr-ink); font-size:21px; }
.sr-wide-card small { color:var(--sr-muted); font-size:14px; line-height:1.65; }
.sr-wide-card>b { color:var(--sr-blue); font-size:37px; font-weight:300; }
.sr-banner { min-height:137px; margin-bottom:24px; padding:22px 34px; display:flex; align-items:center; gap:30px; border:1px solid #c6dcfa; border-radius:11px; background:linear-gradient(105deg,#f5faff,#fff); }
.sr-banner.slim { min-height:105px; margin-top:17px; }
.sr-banner.training { min-height:153px; }
.sr-banner>svg { width:70px; height:70px; flex:0 0 70px; color:var(--sr-blue); }
.sr-banner.slim>svg { width:60px; height:60px; flex-basis:60px; }
.sr-banner span { min-width:0; display:grid; gap:8px; }
.sr-banner strong { color:var(--sr-ink); font-size:21px; line-height:1.45; }
.sr-banner small { color:var(--sr-muted); font-size:14px; line-height:1.6; }
.sr-action-row { display:grid; gap:22px; margin-top:29px; }
.sr-action-row.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sr-action-row.two { grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,940px); margin-left:auto; margin-right:auto; }
.sr-action-row.narrow { width:min(100%,720px); }
.sr-action-row>a { min-height:70px; padding:0 24px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:14px; border:1px solid #9fc7ff; border-radius:9px; color:var(--sr-blue); font-size:15px; font-weight:600; }
.sr-action-row svg { width:29px; height:29px; }
.sr-action-row b { font-size:28px; font-weight:300; }
.sr-page-foot { margin:36px 0 0; color:#76849a; font-size:14px; text-align:center; }
.sr-page-foot.large { margin-top:39px; font-size:16px; }
.sr-process { min-height:207px; padding:20px 28px; display:grid; grid-template-columns:repeat(7,auto); align-items:center; justify-content:space-between; gap:12px; border:1px solid #c6dcfa; border-radius:11px; background:linear-gradient(105deg,#f5faff,#fff); }
.sr-process>div { width:178px; display:grid; justify-items:center; gap:8px; text-align:center; }
.sr-process svg { width:61px; height:61px; color:var(--sr-blue); }
.sr-process strong { color:var(--sr-ink); font-size:17px; }
.sr-process small { color:var(--sr-muted); font-size:13px; line-height:1.55; }
.sr-process>b { color:var(--sr-blue); font-size:31px; font-weight:300; }
.sr-three-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:25px; }
.sr-three-grid article { min-height:165px; padding:28px 22px; display:grid; grid-template-columns:62px minmax(0,1fr); align-items:start; gap:20px; border:1px solid var(--sr-line); border-radius:10px; }
.sr-three-grid svg { width:58px; height:58px; color:var(--sr-blue); }
.sr-three-grid span { display:grid; gap:8px; }
.sr-three-grid strong { color:var(--sr-ink); font-size:18px; }
.sr-three-grid small { color:var(--sr-muted); font-size:13px; line-height:1.65; }
.sr-rights-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:23px; }
.sr-rights-grid>a { min-height:329px; padding:41px 28px 24px; display:flex; flex-direction:column; align-items:center; border:1px solid var(--sr-line); border-radius:10px; text-align:center; }
.sr-rights-grid svg { width:73px; height:73px; color:var(--sr-blue); }
.sr-rights-grid strong { margin-top:28px; color:var(--sr-ink); font-size:20px; }
.sr-rights-grid small { margin-top:14px; color:var(--sr-muted); font-size:14px; line-height:1.65; }
.sr-rights-grid b { margin-top:auto; color:var(--sr-blue); font-size:34px; font-weight:300; }
.sr-login-banner { min-height:110px; margin-top:34px; padding:20px 34px; display:grid; grid-template-columns:50px minmax(0,1fr) auto; align-items:center; gap:20px; border:1px solid #c6dcfa; border-radius:10px; background:linear-gradient(105deg,#f5faff,#fff); }
.sr-login-banner svg { width:48px; height:48px; color:var(--sr-blue); }
.sr-login-banner span { color:#56657f; font-size:15px; }
.sr-login-banner a { min-width:215px; min-height:55px; padding:0 24px; display:flex; align-items:center; justify-content:center; border:1px solid var(--sr-blue); border-radius:10px; color:var(--sr-blue); font-size:16px; font-weight:600; }
.sr-login-banner a.primary { min-width:105px; border-color:var(--sr-blue); background:var(--sr-blue); color:#fff; }
.sr-training-control { min-height:114px; margin-top:26px; padding:23px 30px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; border:1px solid var(--sr-line); border-radius:10px; }
.sr-training-control>span { display:grid; gap:8px; }
.sr-training-control strong { color:var(--sr-ink); font-size:18px; }
.sr-training-control small { color:var(--sr-muted); font-size:13px; }
.sr-training-control label { display:flex; align-items:center; gap:10px; color:#5c6b85; cursor:pointer; }
.sr-training-control label em { font-style:normal; }
.sr-training-control label b { min-width:30px; font-weight:500; }
.sr-training-control input { position:absolute; opacity:0; pointer-events:none; }
.sr-training-control label i { width:73px; height:38px; position:relative; border:1px solid #9aaac2; border-radius:20px; background:#cfd8e7; transition:.2s; }
.sr-training-control label i:before { content:""; width:30px; height:30px; position:absolute; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(15,23,42,.2); transition:.2s; }
.sr-training-control input:checked+i { border-color:var(--sr-blue); background:var(--sr-blue); }
.sr-training-control input:checked+i:before { transform:translateX(35px); }
.sr-training-control input:disabled+i { opacity:.75; cursor:not-allowed; }
.sr-training-control .portal-status { grid-column:1/-1; margin:0; }
.sr-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sr-content-grid article { min-height:154px; padding:29px 28px; display:grid; grid-template-columns:66px minmax(0,1fr); align-items:start; gap:20px; border:1px solid var(--sr-line); border-radius:10px; }
.sr-content-grid svg { width:60px; height:60px; color:var(--sr-blue); }
.sr-content-grid span { display:grid; gap:8px; }
.sr-content-grid strong { color:var(--sr-ink); font-size:18px; }
.sr-content-grid small { color:var(--sr-muted); font-size:13px; line-height:1.65; }
.sr-banner.caution { min-height:80px; margin:20px 0 0; }
.sr-banner.caution>svg { width:46px; height:46px; flex-basis:46px; }
.sr-banner.caution span { display:block; color:#5f6f89; font-size:14px; }
.sr-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; margin-top:39px; }
.sr-account-grid>a { min-height:148px; padding:25px 30px; display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:center; gap:22px; border:1px solid var(--sr-line); border-radius:10px; }
.sr-account-grid svg { width:68px; height:68px; color:var(--sr-blue); }
.sr-account-grid span { display:grid; gap:9px; }
.sr-account-grid strong { color:var(--sr-ink); font-size:20px; }
.sr-account-grid small { color:var(--sr-muted); font-size:13px; line-height:1.6; }
.sr-account-grid b { color:var(--sr-blue); font-size:34px; font-weight:300; }
.sr-text-links { display:flex; align-items:center; justify-content:center; gap:26px; margin-top:25px; }
.sr-text-links a { color:var(--sr-blue); font-size:15px; }
.sr-text-links i { width:1px; height:22px; background:#c7d0dc; }
.portal-main:has(.safety-redesign-page)>.fuuvo-ai-disclaimer { width:min(100%,1136px); margin:30px auto 0; }
@media (max-width:1200px) {
  .sr-process>div { width:145px; }
  .sr-rights-grid { gap:14px; }
  .sr-rights-grid>a { padding-left:18px; padding-right:18px; }
}
@media (max-width:920px) {
  .portal-shell:has(.safety-redesign-page) .portal-main { padding:16px 14px 24px; }
  .portal-shell:has(.safety-redesign-page) .portal-topbar { min-height:64px; }
  .portal-shell:has(.safety-redesign-page) .portal-subpage-back { max-width:54vw; overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
  .sr-hero,.sr-hero.compact { padding:12px 0 20px; }
  .sr-hero h1,.sr-hero.compact h1 { font-size:29px; }
  .sr-hero p { font-size:14px; }
  .sr-feature-card { min-height:112px; padding:17px; grid-template-columns:52px minmax(0,1fr); }
  .sr-feature-card>svg { width:50px; height:50px; }
  .sr-feature-card strong { font-size:18px; }
  .sr-feature-card small { font-size:12px; }
  .sr-feature-card>b { display:none; }
  .sr-home-grid,.sr-two-grid,.sr-three-grid,.sr-content-grid,.sr-account-grid { grid-template-columns:1fr; }
  .sr-wide-card { min-height:118px; padding:18px; grid-template-columns:52px minmax(0,1fr) auto; gap:14px; }
  .sr-wide-card>svg { width:48px; height:48px; }
  .sr-wide-card strong { font-size:17px; }
  .sr-banner { padding:18px; gap:16px; }
  .sr-banner>svg { width:50px; height:50px; flex-basis:50px; }
  .sr-banner strong { font-size:17px; }
  .sr-action-row.three,.sr-action-row.two { width:100%; grid-template-columns:1fr; }
  .sr-process { grid-template-columns:1fr; justify-content:stretch; }
  .sr-process>div { width:auto; }
  .sr-process>b { transform:rotate(90deg); text-align:center; }
  .sr-three-grid article,.sr-content-grid article { min-height:125px; padding:20px; }
  .sr-rights-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sr-rights-grid>a { min-height:250px; padding:25px 14px 18px; }
  .sr-rights-grid svg { width:56px; height:56px; }
  .sr-rights-grid strong { margin-top:18px; font-size:17px; }
  .sr-login-banner { grid-template-columns:44px minmax(0,1fr); padding:18px; }
  .sr-login-banner a { grid-column:1/-1; width:100%; min-width:0; }
  .sr-training-control { grid-template-columns:1fr; }
  .sr-training-control label { justify-content:space-between; }
}
@media (max-width:520px) {
  .sr-breadcrumb { overflow:hidden; font-size:12px; white-space:nowrap; }
  .sr-rights-grid { grid-template-columns:1fr; }
  .sr-rights-grid>a { min-height:230px; }
  .sr-account-grid>a { min-height:128px; padding:19px; grid-template-columns:54px minmax(0,1fr) auto; gap:14px; }
  .sr-account-grid svg { width:50px; height:50px; }
  .sr-account-grid strong { font-size:17px; }
}
