:root{
  --color-primary:#0066ff;--color-primary-hover:#0052cc;--color-primary-active:#003d99;
  --color-primary-disabled:#b3d4ff;--color-primary-bg:#f0f7ff;--color-success:#10b981;
  --color-warning:#f59e0b;--color-danger:#ef4444;--color-danger-hover:#dc2626;
  --color-text-main:#1e293b;--color-text-secondary:#64748b;--color-border:#e2e8f0;
  --color-bg-page:#f8fafc;--color-bg-surface:#fff;--space-1:4px;--space-2:8px;
  --space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
  --radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);
  --shadow-hover:0 4px 12px rgba(0,102,255,.15);--transition-fast:.15s ease;--transition-base:.25s ease
}
button,.btn,[role=button],input,textarea,select{transition:color var(--transition-fast),background var(--transition-fast),border var(--transition-fast),box-shadow var(--transition-base),transform var(--transition-fast)}
button:focus-visible,.btn:focus-visible,[role=button]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(0,102,255,.35);outline-offset:2px}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.65}
.sl812-toolbar{width:min(794px,100%);margin:0 auto var(--space-4);display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}
.sl812-btn{min-height:44px;padding:0 20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-text-main);font-weight:600;cursor:pointer}
.sl812-btn:hover{border-color:#cbd5e1;background:#f8fafc}.sl812-btn:active{transform:scale(.96)}
.sl812-btn.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}
.sl812-btn.primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-hover);transform:translateY(-1px)}
#logSaveStatus{margin-left:4px!important;max-width:260px;line-height:1.35;white-space:normal}
#sl812LogVoiceButton{margin-left:auto;white-space:nowrap;min-width:156px}
#sl812WeatherSyncButton{white-space:nowrap;min-width:126px}
.sl812-btn.danger{border-color:var(--color-danger);background:var(--color-danger);color:#fff}
.sl812-banner{width:min(794px,100%);margin:0 auto var(--space-4);padding:var(--space-4);border:1px solid #bfdbfe;border-left:4px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-bg);color:var(--color-text-main)}
.sl812-banner[hidden]{display:none}.sl812-banner-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.sl812-banner ul{margin:8px 0 0 20px}
.sl812-modal-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.55);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px}
.sl812-modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:var(--radius-lg);box-shadow:0 24px 70px rgba(0,0,0,.25);padding:var(--space-6)}
.sl812-modal h2{margin:0 0 16px;color:var(--color-text-main)}.sl812-modal label{display:block;margin:12px 0 6px;font-weight:600}
.sl812-modal textarea,.sl812-modal input,.sl812-modal select{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;background:#fff;box-sizing:border-box}
.sl812-modal textarea{min-height:150px;resize:vertical}.sl812-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}
.sl812-voice-fill{width:min(720px,100%);padding:32px}.sl812-voice-fill h2{font-size:25px;letter-spacing:.5px;margin-bottom:22px}.sl812-voice-fill label{font-size:16px;margin-bottom:9px}.sl812-voice-fill textarea{min-height:220px;padding:16px;font-size:16px;line-height:1.75;border-color:#d7e0eb;background:#fbfdff}.sl812-voice-fill textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(0,102,255,.1);outline:0}.sl812-voice-fill .sl812-modal-actions{margin-top:22px;padding-top:18px;border-top:1px solid #edf1f6}.sl812-voice-fill .sl812-btn{min-width:120px}
.sl812-member-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--color-border)}
.sl812-voice-state{padding:8px 12px;border-radius:6px;background:#f8fafc;color:var(--color-text-secondary);margin-top:8px}.sl812-voice-state.recording{background:#fef2f2;color:#b91c1c}
.sl812-loading::after{content:' …';animation:sl812pulse 1s infinite}@keyframes sl812pulse{50%{opacity:.25}}
.mm-folder-count{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.mm-record-row button{min-height:32px}
@media(max-width:768px){
  .sl812-toolbar{padding:0 12px}.sl812-btn{min-width:44px;flex:1}.sl812-modal{padding:18px}
  #logSaveStatus{order:3;width:100%;max-width:none;margin-left:0!important}
  #sl812WeatherSyncButton,#sl812LogVoiceButton{min-width:142px;flex:1 1 auto;margin-left:0}
  #supervision-log>div,#weekly-report>div,#supervision-report>div,#test-ledger>div,#inspection-notice>div{max-width:100%;width:auto}
  #logEditorView,#weekEditorView,#monthly-paper-page,.mm-editor-layout,.mm-paper-column{width:100%;max-width:100%;overflow:visible}
  #logEditorView .w-table-opt,#weekEditorView .w-table-opt{display:block;border:0}
  #logEditorView .w-table-opt tbody,#weekEditorView .w-table-opt tbody,#logEditorView .w-table-opt tr,#weekEditorView .w-table-opt tr{display:block;width:100%}
  #logEditorView .w-table-opt td,#weekEditorView .w-table-opt td{display:block;width:100%;box-sizing:border-box;border-bottom:0}
  #logEditorView textarea,#weekEditorView textarea{min-height:120px}
  .mm-a4-page,.mm-continuation-page,.mm-attachment-page{width:100%;min-height:auto;padding:18px;box-shadow:none}
  .sl812-voice-fill{padding:22px 18px}.sl812-voice-fill h2{font-size:22px;margin-bottom:16px}.sl812-voice-fill textarea{min-height:210px}.sl812-voice-fill .sl812-modal-actions{display:grid;grid-template-columns:1fr 1fr}.sl812-voice-fill .sl812-btn{width:100%;min-width:0}.sl812-voice-fill .sl812-btn.primary{grid-column:1/-1}
  .mm-table,.mm-table tbody,.mm-table tr,.mm-table th,.mm-table td{display:block;width:100%;box-sizing:border-box}
  .mm-table th{border-bottom:0}.mm-content-row td{min-height:420px}.sl-document-toolbar{position:sticky;top:0;overflow-x:auto;white-space:nowrap}
}
@media print{.sl812-toolbar,.sl812-banner,.sl812-modal-backdrop{display:none}.mm-a4-page,.mm-continuation-page,.mm-attachment-page{width:210mm;min-height:297mm;page-break-after:always;box-shadow:none;margin:0}.mm-attachment-page:last-child{page-break-after:auto}}

/* 测试版手机文档最终适配：覆盖旧A4最小宽度，编辑时流式显示，打印仍由print规则恢复A4。 */
@media(max-width:768px){
  body.sl-document-mode .canvas-area{padding:56px 8px 24px!important;overflow-x:hidden!important}
  body.sl-document-mode .m-chat{display:none!important}
  #supervision-log,#weekly-report,#supervision-report{width:100%!important;max-width:100%!important;overflow:hidden!important}
  #logEditorView,#weekEditorView,#monthly-paper-page{width:100%!important;max-width:100%!important;padding:10px!important;margin:0!important;box-sizing:border-box!important;overflow:visible!important}
  #logEditorView .w-table-opt,#weekEditorView .w-table-opt,
  #logEditorView .w-table-opt tbody,#weekEditorView .w-table-opt tbody{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;table-layout:auto!important}
  #logEditorView .w-table-opt tr,#weekEditorView .w-table-opt tr{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}
  #logEditorView .w-table-opt td,#weekEditorView .w-table-opt td{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;white-space:normal!important;writing-mode:horizontal-tb!important;word-break:break-word!important;overflow-wrap:anywhere!important;text-align:left!important}

  /* 日志天气：手机两组一行；正文标题在上、输入区在下。 */
  #logEditorView .w-table-opt tr:first-child{display:grid!important;grid-template-columns:62px minmax(70px,1fr) 62px minmax(70px,1fr)!important}
  #logEditorView .w-table-opt tr:first-child td{display:flex!important;align-items:center!important;min-height:48px!important;padding:7px 8px!important;border:1px solid var(--color-border)!important}
  #logEditorView .w-table-opt tr:first-child td:nth-child(odd){justify-content:center!important;text-align:center!important;font-weight:700!important;background:#f3f7fc!important}
  #logEditorView .w-table-opt tr:not(:first-child){margin-top:10px!important;border:1px solid var(--color-border)!important;border-radius:8px!important;overflow:hidden!important}
  #logEditorView .w-table-opt tr:not(:first-child) td:first-child{display:block!important;padding:10px 12px!important;background:#f3f7fc!important;border:0!important;border-bottom:1px solid var(--color-border)!important;font-weight:700!important;line-height:1.5!important;text-align:left!important}
  #logEditorView .w-table-opt tr:not(:first-child) td:last-child{display:block!important;padding:0!important;border:0!important}
  #logEditorView .w-table-opt input{width:100%!important;min-width:0!important;text-align:left!important}
  #logEditorView .w-table-opt textarea{display:block!important;width:100%!important;min-width:0!important;min-height:150px!important;padding:12px!important;box-sizing:border-box!important}
  #logEditorView>div[style*="text-align:center"]{font-size:24px!important;letter-spacing:4px!important;margin:16px 0!important}
  #logEditorView .log-date-picker{display:grid!important;grid-template-columns:auto minmax(145px,1fr)!important;gap:8px!important;align-items:center!important}
  #logEditorView .log-date-picker #logSaveStatus{grid-column:1/-1!important;order:initial!important;width:auto!important;margin:0!important;font-size:12px!important}
  #logEditorView .log-date-picker #sl812WeatherSyncButton,#logEditorView .log-date-picker #sl812LogVoiceButton{margin:0!important;min-width:0!important;width:100%!important}

  /* 周报：表头与栏目都按单列卡片显示。 */
  #weekEditorView>.a4-page{padding:12px!important;overflow:visible!important}
  #weekEditorView .w-table-opt tr{margin-top:10px!important;border:1px solid var(--color-border)!important;border-radius:8px!important;overflow:hidden!important}
  #weekEditorView .w-table-opt td{display:block!important;border:0!important}
  #weekEditorView .w-table-opt tr td:first-child{padding:10px 12px!important;background:#f3f7fc!important;border-bottom:1px solid var(--color-border)!important;font-weight:700!important;text-align:left!important}
  #weekEditorView .w-table-opt tr td:last-child:not(:first-child){padding:0!important}
  #weekEditorView .w-table-opt textarea{display:block!important;width:100%!important;min-width:0!important;min-height:150px!important;padding:12px!important;box-sizing:border-box!important}
  #weekEditorView .w-table-opt input{width:100%!important;min-width:0!important;padding:10px!important;box-sizing:border-box!important}
  #weekEditorView>div>div[style*="justify-content:space-between"]{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  #weekEditorView>div>div[style*="justify-content:space-between"]>div{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  #weekEditorView label{white-space:normal!important}

  /* 月报：手机为单列流式页面，不保留桌面794px和大留白。 */
  #monthly-dir-page,#monthly-list-page,#monthly-paper-page{width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:10px!important;overflow:visible!important;box-sizing:border-box!important}
  #monthly-paper-page>div{width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;margin:0 0 12px!important;padding:18px 12px!important;box-sizing:border-box!important;overflow:visible!important}
  #monthly-paper-page>div:first-child{padding:0!important}
  #monthly-paper-page h1{font-size:22px!important;letter-spacing:2px!important;margin:10px 0!important}
  #monthly-paper-page h2{font-size:20px!important;letter-spacing:2px!important;margin:10px 0 20px!important}
  #monthly-paper-page p{margin:16px 0!important}
  #monthly-paper-page div[style*="margin-bottom:140px"],#monthly-paper-page p[style*="margin-bottom:140px"],#monthly-paper-page p[style*="margin-top:140px"]{margin:24px 0!important}
  #monthly-paper-page div[style*="display:flex"]{max-width:100%!important;flex-wrap:wrap!important}
  #monthly-paper-page span[style*="width:140px"]{width:108px!important;text-align:left!important}
  #monthlyCatalogContainer{font-size:14px!important;line-height:2!important}
  #monthlyChaptersContainer{width:100%!important;gap:12px!important}
  #monthlyChaptersContainer>div,#monthlyChaptersContainer>section{width:100%!important;min-width:0!important;min-height:180px!important;padding:14px!important;box-sizing:border-box!important;overflow:visible!important}
  #monthlyChaptersContainer [contenteditable]{min-height:130px!important;white-space:pre-wrap!important;overflow-wrap:anywhere!important}
}
