/* ====== 23 会议通知生成器 · 公文红 + 宣纸米 ====== */
.tsk.mng{
  --tsk-bg:#f7f3ea;
  --tsk-bg-2:#efe9dc;
  --tsk-card:#fffdf8;
  --tsk-card-2:#faf5e9;
  --tsk-ink:#2a2119;
  --tsk-sub:#635648;
  --tsk-faint:#948672;
  --tsk-line:#e2d8c4;
  --tsk-line-2:#efe8d8;
  --tsk-brand:#9b2c22;
  --tsk-brand-2:#bb4a35;
  --tsk-brand-soft:#f7e7e2;
  --tsk-brand-ink:#8a241b;
  --tsk-red:#a3271f;
  --tsk-gold:#a8853f;
  --tsk-serif:"Songti SC","STSong","Noto Serif SC","SimSun",Georgia,serif;
  background:
    radial-gradient(660px 340px at 98% -10%, rgba(163,39,31,.08), transparent 62%),
    radial-gradient(520px 240px at -6% 8%, rgba(168,133,63,.08), transparent 58%),
    var(--tsk-bg);
}
:root[data-theme="dark"] .tsk.mng{
  --tsk-bg:#171310;
  --tsk-bg-2:#1d1814;
  --tsk-card:#241e18;
  --tsk-card-2:#2b241d;
  --tsk-ink:#f3ede0;
  --tsk-sub:#c0b3a2;
  --tsk-faint:#8e8171;
  --tsk-line:#3b3128;
  --tsk-line-2:#302821;
  --tsk-brand:#e58c78;
  --tsk-brand-2:#f0ab98;
  --tsk-brand-soft:rgba(229,140,120,.13);
  --tsk-brand-ink:#efa896;
  --tsk-red:#e0766a;
  --tsk-gold:#d4b273;
}

.mng-hero{display:grid;grid-template-columns:minmax(0,1fr) 394px;gap:30px;padding:30px 0 24px;align-items:stretch;}
.mng-hero-l{display:flex;flex-direction:column;}
.mng-hero-l>.tsk-hs{flex:1 1 auto;}
.mng-hero-l .tsk-h1 b{color:var(--tsk-brand-ink);border-bottom:4px solid var(--tsk-brand-soft);}
.mng-hero-r{display:flex;}

/* 表单 */
.mng-form{width:100%;align-self:start;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:6px;box-shadow:var(--tsk-shadow);overflow:hidden;position:relative;}
.mng-form::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--tsk-red);}
.mng-form-hd{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 10px;border-bottom:1px dashed var(--tsk-line);}
.mng-form-hd b{font:700 14px/1 var(--tsk-serif);color:var(--tsk-ink);letter-spacing:.05em;}
.mng-form-hd small{font-size:10.5px;color:var(--tsk-faint);}
.mng-form-body{padding:4px 18px 16px;}
.mng-form .tsk-label{font-size:11.5px;}
.mng-form .tsk-label em{font-style:normal;color:var(--tsk-red);}
.mng-form .tsk-input,.mng-form .tsk-textarea{padding:7px 10px;font-size:12.5px;border-radius:5px;border-color:var(--tsk-line);background:var(--tsk-card-2);}
.mng-form .tsk-input:focus,.mng-form .tsk-textarea:focus{border-color:var(--tsk-brand);box-shadow:0 0 0 3px var(--tsk-brand-soft);}
.mng-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mng-err{display:none;margin-top:3px;font-size:10.5px;color:var(--tsk-bad);}
.mng-err.show{display:block;}
.mng-acts{display:flex;gap:8px;margin-top:14px;}
.mng-acts .tsk-btn-main{flex:1 1 auto;background:var(--tsk-red);color:#fff;border-color:var(--tsk-red);border-radius:5px;}
.mng-acts .tsk-btn{padding:9px 12px;font-size:12px;border-radius:5px;}

/* 预览 */
.mng-stage{margin:4px 0 30px;}
.mng-stage-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.mng-stage-sub{margin-top:3px;font-size:12px;color:var(--tsk-faint);}
.mng-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.mng-tabs{background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:6px;padding:3px;}
.mng-tabs button{padding:5px 11px;font-size:11.5px;border-radius:4px;}
.mng-tabs button.on{background:var(--tsk-red);border-color:var(--tsk-red);color:#fff;}
.mng-tools .tsk-btn{padding:6px 11px;font-size:12px;border-radius:4px;}

.mng-paper{background:var(--tsk-card);border:1px solid var(--tsk-line);box-shadow:var(--tsk-shadow);border-radius:3px;padding:34px 42px 40px;position:relative;}
.mng-paper::after{content:"";position:absolute;right:14px;bottom:14px;width:56px;height:56px;border:1px dashed rgba(163,39,31,.18);border-radius:50%;}
.mng-doc{max-width:760px;margin:0 auto;position:relative;}
.mng-redhead{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:10px;border-bottom:2.5px solid var(--tsk-red);}
.mng-redhead span{font:800 20px/1.2 var(--tsk-serif);color:var(--tsk-red);letter-spacing:.08em;}
.mng-redhead i{font-style:normal;font:700 9px/1 var(--tsk-num);letter-spacing:.2em;color:var(--tsk-faint);}
.mng-doc-title{margin:26px 0 6px;text-align:center;font:800 22px/1.6 var(--tsk-serif);color:var(--tsk-ink);letter-spacing:.04em;}
.mng-doc-meta{margin:0 auto 18px;text-align:center;font-size:11.5px;color:var(--tsk-faint);letter-spacing:.05em;}
.mng-doc-body{font:400 14px/2.1 var(--tsk-serif);color:var(--tsk-ink);}
.mng-doc-body .mng-sec{margin:0 0 10px;text-indent:2em;}
.mng-doc-body .mng-ag{margin:10px 0;padding:12px 16px;background:var(--tsk-card-2);border-left:3px solid var(--tsk-red);list-style:none;}
.mng-doc-body .mng-ag li{font-size:13px;line-height:1.9;color:var(--tsk-sub);display:flex;justify-content:space-between;gap:14px;}
.mng-doc-body .mng-ag li b{font-weight:600;color:var(--tsk-ink);}
.mng-doc-body .mng-req{margin-top:10px;text-indent:2em;}
.mng-doc-sign{margin-top:28px;text-align:right;font:400 13px/2 var(--tsk-serif);color:var(--tsk-ink);}
.mng-stamp{position:absolute;right:38px;bottom:16px;width:96px;height:96px;border:3px solid rgba(163,39,31,.55);border-radius:50%;color:rgba(163,39,31,.6);font:700 12px/1.4 var(--tsk-serif);display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-13deg);opacity:.8;pointer-events:none;}

.mng-alt{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.mng-mail,.mng-short{background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:6px;overflow:hidden;}
.mng-alt-hd{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;background:var(--tsk-card-2);border-bottom:1px solid var(--tsk-line);font-size:11.5px;font-weight:800;color:var(--tsk-brand-ink);}
.mng-alt-hd em{font-style:normal;font-weight:500;font-size:10px;color:var(--tsk-faint);}
.mng-mail pre,.mng-short pre{margin:0;padding:14px 16px;font-family:var(--tsk-font);font-size:12.5px;line-height:1.9;color:var(--tsk-sub);white-space:pre-wrap;word-break:break-word;}
.mng-note{margin-top:9px;font-size:10.5px;color:var(--tsk-faint);}

/* 议程 */
.mng-agenda{background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:6px;padding:6px 20px;box-shadow:var(--tsk-shadow-sm);}
.mng-agenda-row{display:grid;grid-template-columns:74px 200px 1fr;gap:14px;align-items:baseline;padding:12px 0;border-bottom:1px dashed var(--tsk-line-2);}
.mng-agenda-row:last-child{border-bottom:0;}
.mng-agenda-time{font:800 11.5px/1 var(--tsk-num);color:var(--tsk-red);}
.mng-agenda-row b{font:700 13px/1.5 var(--tsk-serif);color:var(--tsk-ink);}
.mng-agenda-row p{font-size:12px;line-height:1.7;color:var(--tsk-sub);}

/* 清单 */
.mng-check{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.mng-check-item{display:grid;grid-template-columns:28px 1fr;gap:10px;background:var(--tsk-card);border:1px solid var(--tsk-line);border-radius:5px;padding:13px 15px;box-shadow:var(--tsk-shadow-sm);}
.mng-check-item span{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--tsk-red);color:var(--tsk-red);font:800 11px/25px var(--tsk-num);text-align:center;}
.mng-check-item b{font:700 12.5px/1.5 var(--tsk-serif);color:var(--tsk-ink);}
.mng-check-item p{margin-top:3px;font-size:11.5px;line-height:1.7;color:var(--tsk-sub);}

/* 表格 */
.mng-table-wrap{overflow-x:auto;border:1px solid var(--tsk-line);border-radius:5px;}
.mng-table{width:100%;min-width:640px;border-collapse:collapse;background:var(--tsk-card);}
.mng-table th,.mng-table td{padding:10px 14px;font-size:12.5px;line-height:1.7;text-align:left;border-bottom:1px solid var(--tsk-line-2);}
.mng-table thead th{background:var(--tsk-card-2);font-size:11px;font-weight:800;color:var(--tsk-brand-ink);letter-spacing:.04em;}
.mng-table tbody tr:last-child td{border-bottom:0;}
.mng-good{font-family:var(--tsk-serif);color:var(--tsk-ink);}
.mng-bad{color:var(--tsk-faint);}
.mng-tag{display:inline-block;padding:1px 8px;border:1px solid var(--tsk-line);border-radius:3px;font-size:11px;color:var(--tsk-brand-ink);}

@media (max-width:900px){
  .mng-hero{grid-template-columns:1fr;gap:22px;}
  .mng-paper{padding:22px 18px 30px;}
  .mng-alt{grid-template-columns:1fr;}
  .mng-agenda-row{grid-template-columns:64px 1fr;}
  .mng-agenda-row p{grid-column:2;}
  .mng-check{grid-template-columns:1fr;}
  .mng-stamp{width:74px;height:74px;font-size:10px;right:14px;bottom:10px;}
}
@media (max-width:560px){
  .mng-row2{grid-template-columns:1fr;}
  .mng-redhead span{font-size:16px;}
  .mng-doc-title{font-size:18px;}
  .mng-acts{flex-wrap:wrap;}
  .mng-acts .tsk-btn-main{flex:1 1 100%;}
}

@media print{
  @page{size:A4;margin:16mm 14mm;}
  .mng .tsk-crumb-bar,.mng .mng-hero,.mng .mng-stage-hd,.mng .tsk-sec,.mng .tskb,.mng .tsk-foot{display:none !important;}
  .tsk.mng{background:#fff !important;}
  .mng-paper{border:0;box-shadow:none;padding:0;}
  .mng-alt,.mng-note{display:none !important;}
  .mng-stamp{-webkit-print-color-adjust:exact;print-color-adjust:exact;}
}

/* ====== 细节层：表单状态 / 交互 / 版式 ====== */
.mng-form .tsk-field{margin-top:10px;}
.mng-form .tsk-field:first-child{margin-top:2px;}
.mng-form .tsk-input:hover,.mng-form .tsk-textarea:hover{border-color:var(--tsk-brand-2);}
.mng-form .tsk-input.bad,.mng-form .tsk-textarea.bad{border-color:var(--tsk-bad);background:var(--tsk-bad-soft);}
.mng-form .tsk-input::placeholder,.mng-form .tsk-textarea::placeholder{color:var(--tsk-faint);}
.mng-form .tsk-input[type=date],.mng-form .tsk-input[type=datetime-local]{font-family:var(--tsk-num);letter-spacing:.01em;}
.mng-form-hd b::before{content:"";display:inline-block;width:4px;height:12px;margin-right:7px;background:var(--tsk-red);vertical-align:-1px;}

.mng-acts .tsk-btn,.mng-tools .tsk-btn,.mng-tabs button{transition:background .15s,color .15s,border-color .15s,transform .12s;}
.mng-acts .tsk-btn:hover{border-color:var(--tsk-brand);color:var(--tsk-brand-ink);}
.mng-acts .tsk-btn-main:hover{background:var(--tsk-brand);border-color:var(--tsk-brand);color:#fff;filter:brightness(1.05);}
.mng-tools .tsk-btn:hover{border-color:var(--tsk-red);color:var(--tsk-red);}
.mng-tabs button:hover{color:var(--tsk-red);}
.mng-tabs button.on:hover{color:#fff;}
.mng-acts .tsk-btn:active,.mng-tools .tsk-btn:active,.mng-tabs button:active{transform:translateY(1px);}
.mng-acts .tsk-btn:focus-visible,.mng-tools .tsk-btn:focus-visible,.mng-tabs button:focus-visible,.mng-form .tsk-input:focus-visible{outline:2px solid var(--tsk-red);outline-offset:2px;}

/* 公文纸张细节 */
.mng-paper{border-top:3px solid var(--tsk-red);}
.mng-paper::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:repeating-linear-gradient(90deg,var(--tsk-red) 0 14px,transparent 14px 26px);opacity:.16;}
.mng-redhead{padding-top:6px;}
.mng-redhead span{text-shadow:0 1px 0 rgba(0,0,0,.04);}
.mng-doc-meta::before,.mng-doc-meta::after{content:"—";margin:0 10px;color:var(--tsk-line);}
.mng-doc-body .mng-sec:first-child{margin-top:0;}
.mng-doc-body .mng-sec b,.mng-doc-body .mng-sec strong{font-weight:800;color:var(--tsk-brand-ink);}
.mng-doc-body .mng-ag li:hover{background:rgba(0,0,0,.02);}
.mng-doc-body .mng-ag li span{font-family:var(--tsk-num);color:var(--tsk-red);}
.mng-doc-sign i{display:block;font-style:normal;font-size:11px;color:var(--tsk-faint);}
.mng-stamp{box-shadow:inset 0 0 0 1px rgba(163,39,31,.18);}

/* 备用版本 */
.mng-alt-hd span{letter-spacing:.03em;}
.mng-mail pre,.mng-short pre{transition:background .15s;}
.mng-mail pre:hover,.mng-short pre:hover{background:var(--tsk-card-2);}
.mng-mail,.mng-short{transition:border-color .16s,box-shadow .16s;}
.mng-mail:hover,.mng-short:hover{border-color:var(--tsk-brand-2);box-shadow:var(--tsk-shadow-sm);}

/* 议程 / 清单 */
.mng-agenda-row{transition:background .14s;}
.mng-agenda-row:hover{background:var(--tsk-card-2);}
.mng-agenda-row:last-child{padding-bottom:14px;}
.mng-agenda-time{letter-spacing:.04em;}
.mng-check-item{transition:border-color .15s,transform .15s;}
.mng-check-item:hover{border-color:var(--tsk-red);transform:translateY(-1px);}
.mng-check-item span{background:var(--tsk-brand-soft);}

/* 表格 */
.mng-table tbody tr:nth-child(even) td{background:rgba(0,0,0,.015);}
.mng-table tbody tr:hover td{background:var(--tsk-brand-soft);}
.mng-bad{font-size:11.5px;line-height:1.6;}

/* 深色微调 */
:root[data-theme="dark"] .mng-paper::before{opacity:.2;}
:root[data-theme="dark"] .mng-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.02);}
:root[data-theme="dark"] .mng-doc-body .mng-ag li:hover{background:rgba(255,255,255,.03);}
:root[data-theme="dark"] .mng-stamp{opacity:.65;}
:root[data-theme="dark"] .mng-check-item span{background:rgba(229,140,120,.14);}

@media (max-width:1180px){
  .mng-paper{padding:28px 30px 34px;}
  .mng-doc{max-width:none;}
  .mng-doc-title{font-size:20px;}
}
@media (max-width:760px){
  .mng-tools{width:100%;}
  .mng-tabs{order:2;}
  .mng-tools .tsk-btn{flex:1 1 auto;}
  .mng-agenda-row{grid-template-columns:58px 1fr;gap:6px 10px;padding:10px 0;}
  .mng-doc-body{font-size:13.5px;line-height:1.95;}
  .mng-stamp{width:66px;height:66px;font-size:9px;border-width:2px;}
}
@media (max-width:480px){
  .mng-form-body,.mng-form-hd{padding-left:14px;padding-right:14px;}
  .mng-paper{padding:18px 14px 24px;}
  .mng-doc-meta::before,.mng-doc-meta::after{display:none;}
  .mng-doc-sign{font-size:12px;}
}

@media (prefers-reduced-motion:reduce){
  .mng-acts .tsk-btn,.mng-tools .tsk-btn,.mng-tabs button,.mng-check-item,.mng-agenda-row{transition:none;}
  .mng-check-item:hover{transform:none;}
}

@media print{
  .mng-redhead span{color:#a3271f !important;}
  .mng-doc-body .mng-sec,.mng-doc-body .mng-ag,.mng-doc-body .mng-req{page-break-inside:avoid;}
  .mng-doc-title{page-break-after:avoid;}
  .mng-doc-body{color:#111;}
  .mng-doc-body .mng-ag{background:#faf5e9 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .mng-agenda-row:hover{background:transparent !important;}
}

/* 生成结果与工具栏 */
.mng-doc-sign span{display:inline-block;min-width:180px;}
.mng-form-body{margin-top:2px;}
.mng-form .tsk-field .mng-row2{gap:10px;}
.mng-stage .tsk-btn-sm{padding:6px 12px;border-radius:4px;}
.mng-tools .tsk-btn.is-copied{border-color:var(--tsk-ok);color:var(--tsk-ok);}
.mng-mail pre,.mng-short pre{tab-size:2;}
.mng-doc-body .mng-req:empty{display:none;}
.mng-note::before{content:"※ ";color:var(--tsk-red);}
