.portal-shell:has(.safety-report-page) .portal-main { padding-top:18px; }
.portal-shell:has(.safety-report-page) .shell-topbar-left { display:flex; align-items:center; gap:14px; }
.shell-topbar-separator { color:#a1adbf; font-size:18px; }
.shell-topbar-suffix { color:#53627c; font-size:16px; white-space:nowrap; }
.safety-report-page { width:min(100%,1234px); }
.rr-hero { padding:12px 0 28px; text-align:center; }
.rr-hero h1 { margin:0; color:var(--sr-ink); font-size:38px; line-height:1.2; }
.rr-hero p { margin:12px 0 0; color:var(--sr-muted); font-size:16px; line-height:1.55; }
.rr-main-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.01fr); gap:31px; }
.rr-main-grid.rr-report-grid { grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); }
.rr-panel { min-width:0; padding:25px 26px; border:1px solid var(--sr-line); border-radius:10px; background:#fff; }
.rr-panel h2 { margin:0 0 17px; color:var(--sr-ink); font-size:21px; }
.rr-report-form,.rr-processing-panel { min-height:603px; }
.rr-field-title { display:block; margin:16px 0 8px; color:#132342; font-size:14px; font-weight:650; }
.rr-field-title em { color:#e43d4d; font-style:normal; }
.rr-category-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; }
.rr-category-grid label { min-width:0; min-height:80px; padding:8px 6px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; border:1px solid #d3ddea; border-radius:8px; color:#172746; cursor:pointer; text-align:center; }
.rr-category-grid label:has(input:checked) { border-color:var(--sr-blue); box-shadow:inset 0 0 0 1px var(--sr-blue); color:var(--sr-blue); }
.rr-category-grid input { position:absolute; opacity:0; }
.rr-category-grid svg { width:28px; height:28px; }
.rr-category-grid span { width:100%; min-width:0; font-size:12px; line-height:1.3; white-space:normal; overflow-wrap:anywhere; word-break:normal; }
.rr-category-grid .rr-category-inaccurate svg { color:#0876f9; }
.rr-category-grid .rr-category-harmful svg { color:#ff7a1a; }
.rr-category-grid .rr-category-illegal svg { color:#ff4d57; }
.rr-category-grid .rr-category-copyright svg { color:#a855f7; }
.rr-category-grid .rr-category-other svg { color:#60708a; }
.rr-input { width:100%; min-height:43px; padding:0 13px; border:1px solid #cfd9e7; border-radius:7px; outline:none; color:#263a57; background:#fff; font-size:13px; }
.rr-input:focus,.rr-textarea textarea:focus { border-color:var(--sr-blue); box-shadow:0 0 0 3px #eef5ff; }
.rr-textarea { position:relative; }
.rr-textarea textarea { width:100%; min-height:80px; padding:12px 13px 25px; resize:none; border:1px solid #cfd9e7; border-radius:7px; outline:none; color:#263a57; font:inherit; font-size:12px; line-height:1.55; }
.rr-textarea.short textarea { min-height:64px; }
.rr-textarea small { position:absolute; right:10px; bottom:8px; color:#8b98ac; font-size:10px; }
.rr-upload { min-height:78px; padding:12px; display:flex; align-items:center; justify-content:center; gap:12px; border:1px dashed #b8c9df; border-radius:7px; color:#61708a; cursor:pointer; text-align:center; }
.rr-upload:hover { border-color:var(--sr-blue); color:var(--sr-blue); }
.rr-upload svg { width:38px; height:38px; flex:0 0 38px; color:#6ea8ff; }
.rr-upload span { display:grid; gap:4px; font-size:13px; }
.rr-upload small { color:#77859a; font-size:11px; }
.rr-primary { width:100%; min-height:49px; margin-top:17px; border:0; border-radius:7px; background:var(--sr-blue); color:#fff; font-size:17px; font-weight:650; cursor:pointer; }
.rr-primary:hover { background:#0866db; }
.rr-status { min-height:18px; margin-top:8px; color:#5d6d87; font-size:12px; text-align:center; }
.rr-status.success { color:#0d8d58; }
.rr-status.error { color:#c8384b; }
.rr-processing-panel>p { margin:-4px 0 25px; color:#5e6c84; font-size:13px; }
.rr-record-box { min-height:295px; padding:32px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; border:1px solid #bed8fd; border-radius:10px; background:linear-gradient(120deg,#fbfdff,#fff); text-align:center; }
.rr-record-box>svg { width:86px; height:86px; padding:18px; border-radius:50%; background:#eaf3ff; color:var(--sr-blue); }
.rr-record-box span { color:#53627c; font-size:14px; }
.rr-record-box a { min-width:204px; min-height:51px; padding:0 24px; display:flex; align-items:center; justify-content:center; border:1px solid var(--sr-blue); border-radius:9px; color:var(--sr-blue); font-size:16px; font-weight:650; }
.rr-appeal-link { min-height:112px; margin-top:22px; padding:21px 26px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; border:1px solid var(--sr-line); border-radius:10px; }
.rr-appeal-link span { display:grid; gap:9px; }
.rr-appeal-link strong { color:var(--sr-blue); font-size:17px; }
.rr-appeal-link small { color:#66758c; font-size:12px; line-height:1.5; }
.rr-appeal-link b { color:var(--sr-blue); font-size:35px; font-weight:300; }
.rr-notice { min-height:61px; margin-top:21px; padding:0 24px; display:flex; align-items:center; gap:7px; border:1px solid #c8ddfa; border-radius:9px; background:linear-gradient(100deg,#f5faff,#fff); color:#5d6d86; font-size:14px; }
.rr-notice svg { width:31px; height:31px; flex:0 0 31px; color:var(--sr-blue); }
.rr-notice.shield { margin-top:35px; }
.rr-original-status { margin:8px 0 20px; color:#6b7890; font-size:13px; }
.rr-original-status strong { margin-left:13px; color:var(--sr-blue); }
.rr-before-panel article { min-height:116px; margin-top:17px; padding:19px 20px; display:grid; grid-template-columns:80px minmax(0,1fr); align-items:center; gap:18px; border:1px solid var(--sr-line); border-radius:9px; }
.rr-before-panel article i { width:72px; height:72px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#eaf3ff; color:var(--sr-blue); }
.rr-before-panel article svg { width:48px; height:48px; }
.rr-before-panel article span { display:grid; gap:9px; }
.rr-before-panel article strong { color:var(--sr-ink); font-size:17px; }
.rr-before-panel article small { color:#62718a; font-size:12px; line-height:1.6; }
.rr-sensitive-note { min-height:55px; margin-top:18px; padding:0 18px; display:flex; align-items:center; gap:12px; border:1px solid #d2e2f8; border-radius:8px; background:#f6faff; color:#5f6e86; font-size:12px; }
.rr-sensitive-note svg { width:28px; height:28px; color:var(--sr-blue); }
.rr-record-button { min-height:49px; margin-top:20px; display:flex; align-items:center; justify-content:center; gap:10px; border:1px solid var(--sr-blue); border-radius:8px; color:var(--sr-blue); font-size:15px; font-weight:650; }
.rr-record-button svg { width:25px; height:25px; }
.rr-records-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:7px; }
.rr-record-list-panel,.rr-record-detail { min-height:550px; }
.rr-record-tabs { display:grid; grid-template-columns:repeat(3,1fr); margin:22px 0; }
.rr-record-tabs button { min-height:45px; border:1px solid #d4deeb; background:#fff; color:#33465f; cursor:pointer; }
.rr-record-tabs button:first-child { border-radius:8px 0 0 8px; }
.rr-record-tabs button:last-child { border-radius:0 8px 8px 0; }
.rr-record-tabs button.active { border-color:var(--sr-blue); color:var(--sr-blue); box-shadow:inset 0 0 0 1px var(--sr-blue); }
.rr-record-list { display:grid; gap:10px; }
.rr-record-list>button { min-height:78px; padding:12px 16px; display:grid; grid-template-columns:48px minmax(0,1fr) auto auto; align-items:center; gap:12px; border:1px solid var(--sr-line); border-radius:8px; background:#fff; color:inherit; cursor:pointer; text-align:left; }
.rr-record-list>button.active { border-color:var(--sr-blue); box-shadow:inset 0 0 0 1px var(--sr-blue); }
.rr-record-list i { width:45px; height:45px; display:flex; align-items:center; justify-content:center; border:1px solid var(--sr-blue); border-radius:50%; color:var(--sr-blue); }
.rr-record-list svg { width:28px; height:28px; }
.rr-record-list span { display:grid; gap:3px; }
.rr-record-list strong { color:var(--sr-ink); font-size:14px; }
.rr-record-list small { color:#8390a4; font-size:11px; }
.rr-record-list em { padding:5px 10px; border-radius:999px; font-size:11px; font-style:normal; white-space:nowrap; }
.rr-record-list em.green { border:1px solid #8bd7b7; background:#effbf6; color:#078255; }
.rr-record-list em.orange { border:1px solid #f4bf72; background:#fff8ed; color:#d67b00; }
.rr-record-list em.blue { border:1px solid #97c5ff; background:#eff6ff; color:#086ee9; }
.rr-record-list b { color:var(--sr-blue); font-size:28px; font-weight:300; }
.rr-record-detail>header { display:flex; align-items:center; gap:15px; margin:25px 0 20px; color:var(--sr-ink); }
.rr-record-detail>header svg { width:34px; height:34px; color:var(--sr-blue); }
.rr-record-detail>header strong { font-size:16px; }
.rr-timeline { margin:0 0 29px 45px; display:grid; gap:20px; }
.rr-timeline>div { min-height:54px; position:relative; display:grid; grid-template-columns:34px minmax(0,1fr); align-items:start; gap:15px; }
.rr-timeline>div:not(:last-child):after { content:""; width:1px; height:45px; position:absolute; left:16px; top:31px; border-left:1px dashed #b5c3d5; }
.rr-timeline>div.done:not(:last-child):after { border-left-style:solid; border-color:var(--sr-blue); }
.rr-timeline i { width:29px; height:29px; display:flex; align-items:center; justify-content:center; border:1.5px solid #8392aa; border-radius:50%; color:#8392aa; font-size:10px; font-style:normal; }
.rr-timeline .done i { border-color:var(--sr-blue); background:var(--sr-blue); color:#fff; }
.rr-timeline .current i { border-color:var(--sr-blue); color:var(--sr-blue); }
.rr-timeline span { display:grid; gap:4px; }
.rr-timeline strong { color:var(--sr-ink); font-size:15px; }
.rr-timeline small { color:#8b98aa; font-size:12px; }
.rr-detail-note { min-height:72px; padding:0 18px; display:flex; align-items:center; gap:13px; border:1px solid #c5dcfb; border-radius:8px; background:#f6faff; color:#5e6d84; font-size:12px; }
.rr-detail-note svg { width:32px; height:32px; color:var(--sr-blue); }
.rr-detail-actions { display:flex; align-items:center; gap:22px; margin-top:24px; }
.rr-detail-actions a { min-width:252px; min-height:54px; display:flex; align-items:center; justify-content:center; border:1px solid var(--sr-blue); border-radius:8px; color:var(--sr-blue); font-size:15px; font-weight:650; }
.rr-detail-actions button { border:0; background:transparent; color:var(--sr-blue); cursor:pointer; font-size:14px; }
.rr-login-required { max-width:720px; margin:50px auto; text-align:center; }
.rr-login-required>svg { width:92px; height:92px; color:var(--sr-blue); }
.rr-login-required h2 { margin-top:20px; }
.rr-login-required p { color:var(--sr-muted); }
.rr-login-required a { min-width:130px; min-height:48px; margin-top:15px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; background:var(--sr-blue); color:#fff; }
.portal-main:has(.safety-report-page)>.fuuvo-ai-disclaimer { display:none; }
@media (max-width:1050px) {
  .rr-main-grid { gap:18px; }
  .rr-category-grid { grid-template-columns:repeat(2,1fr); }
  .rr-records-grid { grid-template-columns:1fr; }
}
@media (max-width:920px) {
  .portal-shell:has(.safety-report-page) .shell-topbar-separator,
  .portal-shell:has(.safety-report-page) .shell-topbar-suffix { display:none; }
  .rr-hero { padding:12px 0 20px; }
  .rr-hero h1 { font-size:29px; }
  .rr-hero p { font-size:14px; }
  .rr-main-grid,
  .rr-main-grid.rr-report-grid { grid-template-columns:1fr; }
  .rr-report-form,.rr-processing-panel { min-height:0; }
  .rr-category-grid { grid-template-columns:repeat(2,1fr); }
  .rr-panel { padding:19px 16px; }
  .rr-record-box { min-height:230px; }
  .rr-before-panel article { grid-template-columns:58px minmax(0,1fr); padding:16px; }
  .rr-before-panel article i { width:54px; height:54px; }
  .rr-before-panel article svg { width:36px; height:36px; }
  .rr-record-list-panel,.rr-record-detail { min-height:0; }
  .rr-detail-actions { align-items:stretch; flex-direction:column; }
  .rr-detail-actions a { width:100%; min-width:0; }
}
@media (max-width:520px) {
  .rr-record-list>button { grid-template-columns:42px minmax(0,1fr) auto; }
  .rr-record-list b { display:none; }
  .rr-record-list i { width:40px; height:40px; }
}
