.reports-page .main { min-height:100dvh; background:#f6f7f9; }
.reports-page .topbar { height:80px; padding:24px 32px 0; }
.reports-page .nav-item[href="#reports"] { color:var(--red); background:#fff0f1; }
.reports-page .nav-item[href="#home"] { color:inherit; background:transparent; }
.weekly-workspace { padding:12px 32px 40px; max-width:1680px; margin:auto; color:#333; }
.weekly-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:26px; }
.weekly-header span { color:#9a9da5; font-size:12px; }
.weekly-header h1 { font:600 28px/1.4 SourceHan,'PingFang SC',sans-serif; margin:6px 0 7px; }
.weekly-header p { color:#969aa3; font-size:12px; }
.weekly-workspace button { border:1px solid #e7e8ed; border-radius:7px; padding:8px 11px; color:#656a74; background:#fff; cursor:pointer; font-size:12px; white-space:nowrap; }
.weekly-workspace button:hover { background:#f6f6f8; }
.weekly-workspace button:disabled { opacity:.5; cursor:not-allowed; }
.weekly-workspace button:focus-visible,.weekly-workspace input:focus-visible,.weekly-workspace select:focus-visible,.weekly-workspace textarea:focus-visible { outline:2px solid #e88890; outline-offset:2px; }
.weekly-workspace .weekly-primary { background:var(--red); color:#fff; border-color:var(--red); }
.weekly-workspace .weekly-primary:hover { background:#c81d2a; }
.weekly-workspace .weekly-danger { color:var(--red); }
.weekly-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:22px; align-items:start; }
.weekly-history { background:#fff; border:1px solid #ebedf1; border-radius:14px; padding:15px; position:sticky; top:20px; }
.weekly-workspace input,.weekly-workspace select,.weekly-inputs textarea { border:1px solid #e7e9ef; background:#fcfcfd; border-radius:7px; padding:9px 10px; font:inherit; font-size:12px; color:#555; min-width:0; }
.weekly-search { width:100%; }
.weekly-filter-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:14px 0; }
.weekly-count { font-size:11px; color:#a0a4ac; }
.weekly-filter-row select { padding:5px 8px; }
.weekly-list { max-height:calc(100dvh - 330px); min-height:160px; overflow:auto; scrollbar-width:thin; }
.weekly-report-link { display:flex; flex-direction:column; gap:8px; padding:13px 10px; border-radius:8px; border:1px solid transparent; margin-bottom:7px; }
.weekly-report-link:hover { background:#f8f8fa; }
.weekly-report-link[aria-current="page"] { border-color:#f2cbd0; background:#fff5f6; }
.weekly-report-link strong { font-size:12px; font-weight:500; overflow-wrap:anywhere; }
.weekly-report-link span { font-size:10px; color:#9297a1; }
.weekly-report-link small { font-size:10px; color:#ad9297; }
.weekly-report-link .is-complete { color:#408970; }
.weekly-no-reports { font-size:12px; color:#a3a7af; text-align:center; padding:30px 0; }
.weekly-workspace .weekly-restore { border:0; padding:8px 0; font-size:11px; color:var(--red); }
.weekly-main { min-width:0; }
.weekly-empty { border:1px solid #ebedf1; border-radius:16px; background:#fff; padding:85px 24px; text-align:center; }
.weekly-empty > span { display:inline-flex; align-items:center; justify-content:center; width:62px; height:62px; background:#fff0f2; color:var(--red); border-radius:19px; font-size:28px; margin-bottom:18px; }
.weekly-empty h2 { font-size:20px; margin-bottom:12px; }
.weekly-empty p { color:#969aa3; font-size:12px; line-height:1.9; }
.weekly-empty button { margin-top:24px; }
.weekly-document { background:#fff; border:1px solid #ebedf1; border-radius:16px; padding:24px; }
.weekly-document-header { padding-bottom:20px; border-bottom:1px solid #f0f0f2; }
.weekly-document .weekly-title { width:100%; background:transparent; border:0; border-radius:0; padding:0 0 14px; font-size:22px; color:#333; font-weight:600; }
.weekly-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px 15px; font-size:11px; color:#9398a2; }
.weekly-meta label { display:flex; align-items:center; gap:7px; }
.weekly-meta input { padding:6px 8px; }
.weekly-author { width:100px; }
.weekly-period { color:#999; font-size:10px; }
.weekly-save { font-size:10px; color:#999; margin-left:auto; }
.weekly-materials { background:#fafafb; border:1px solid #eeeff3; border-radius:10px; padding:14px; margin:20px 0; }
.weekly-materials summary { cursor:pointer; font-size:12px; color:#777e89; }
.weekly-inputs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:17px; }
.weekly-inputs label { display:flex; flex-direction:column; gap:8px; color:#777; font-size:11px; }
.weekly-inputs textarea { width:100%; background:#fff; line-height:1.85; min-height:130px; resize:vertical; }
.weekly-inputs textarea::placeholder { color:#b3b6be; }
.weekly-ai-controls { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:14px; }
.weekly-ai-controls label { display:flex; align-items:center; gap:7px; color:#9297a1; font-size:11px; }
.weekly-ai-controls > span { color:#a1a5ae; font-size:10px; flex:1; }
.weekly-ai-status { color:var(--red); font-size:12px; line-height:1.8; margin-top:12px; overflow-wrap:anywhere; }
.weekly-candidate { margin:18px 0; border:1px solid #efd6da; background:#fffbfc; padding:16px; border-radius:10px; }
.weekly-candidate > div:first-child { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:14px; }
.weekly-candidate strong { font-size:12px; margin-right:auto; color:#a5525b; }
.weekly-candidate-preview { max-height:420px; overflow:auto; }
.weekly-editor-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; margin:18px 0 12px; }
.weekly-editor-heading strong { font-size:13px; }
.weekly-editor-heading > div { display:flex; gap:5px; flex-wrap:wrap; }
.weekly-editor-heading button { font-size:10px; padding:6px 8px; }
.weekly-editor-host { min-height:390px; }
.weekly-body { min-height:350px; padding:14px; }
.weekly-document .CodeMirror { font:13px/1.9 SourceHan,'PingFang SC',sans-serif; border-color:#e9eaf0; color:#414651; border-radius:0 0 8px 8px; }
.weekly-document .editor-toolbar { border-color:#e9eaf0; border-radius:8px 8px 0 0; background:#fbfbfc; padding:7px; }
.weekly-document .editor-toolbar button { width:auto; min-width:30px; height:29px; line-height:1; padding:5px 7px; border:0; margin:0 2px; }
.weekly-document .editor-toolbar button span { font:12px/1.2 SourceHan,sans-serif; }
.weekly-document .editor-toolbar button.active { background:#fde9ec; color:var(--red); }
.weekly-document .editor-preview,.weekly-candidate-preview { font-size:13px; line-height:1.9; background:#fff; color:#444; overflow-wrap:anywhere; }
.weekly-document .editor-preview { padding:20px; }
.weekly-document .editor-preview p,.weekly-candidate-preview p { margin:8px 0; }
.weekly-document .editor-preview h1,.weekly-document .editor-preview h2,.weekly-document .editor-preview h3,.weekly-candidate-preview h1,.weekly-candidate-preview h2,.weekly-candidate-preview h3 { font:600 18px/1.5 SourceHan,sans-serif; margin:18px 0 9px; }
.weekly-document .editor-preview ul,.weekly-document .editor-preview ol,.weekly-candidate-preview ul,.weekly-candidate-preview ol { padding-left:24px; }
.weekly-document .editor-preview table,.weekly-candidate-preview table { width:100%; border-collapse:collapse; margin:12px 0; }
.weekly-document .editor-preview th,.weekly-document .editor-preview td,.weekly-candidate-preview th,.weekly-candidate-preview td { padding:7px; border:1px solid #e8e8ed; }
.weekly-document .editor-preview a,.weekly-candidate-preview a { color:var(--red); text-decoration:underline; }
.weekly-document .editor-preview pre,.weekly-candidate-preview pre { white-space:pre-wrap; background:#f6f6f8; padding:10px; }
.weekly-generating .editor-toolbar { pointer-events:none; opacity:.55; }
.weekly-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:10px; color:#a8adb6; margin-top:14px; }
@media(max-width:1250px) {
  .weekly-workspace { padding:10px 20px 30px; }
  .weekly-layout { grid-template-columns:190px minmax(0,1fr); gap:14px; }
  .weekly-document { padding:18px; }
  .weekly-inputs { grid-template-columns:1fr; }
  .weekly-inputs textarea { min-height:90px; }
}
@media(max-width:760px) {
  .reports-page .topbar { height:65px; padding:18px 20px 0; }
  .weekly-workspace { padding:8px 16px 25px; }
  .weekly-header h1 { font-size:24px; max-width:none; }
  .weekly-layout { grid-template-columns:1fr; }
  .weekly-history { position:static; }
  .weekly-list { max-height:190px; min-height:0; }
  .weekly-document { padding:16px; }
  .weekly-meta { align-items:flex-start; }
  .weekly-save { margin-left:0; }
  .weekly-editor-heading > div { gap:6px; }
}
