*{box-sizing:border-box}

body{margin:0;font-family:"TW-Kai-98_1","KaiTi","DFKai-SB","BiauKai",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;background:#0b0c10;color:#e8e8ea}
.wrap{max-width:1080px;margin:0 auto;padding:24px}
.top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.topLeft{display:flex;flex-direction:column;gap:4px}
.topRight{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.topBtns{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.statusBox{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:13px;opacity:.85;text-align:right;line-height:1.35;min-height:32px}
.statusLine{min-height:18px;max-width:720px}
h1{font-size:22px;margin:0}
.sub{opacity:.75;font-size:13px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.card{background:#14161d;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}
h2{font-size:16px;margin:0 0 10px 0}
.cardTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.cardTop h2{margin:0}
.ta{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0f1117;color:#e8e8ea;padding:12px;resize:vertical;line-height:1.45}
.list{display:flex;flex-direction:column;gap:10px}

.entry{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:#10131a}
.entryMain{flex:1;display:flex;flex-direction:column;gap:8px}
.entryHead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.entryNo{font-size:12px;font-weight:650;letter-spacing:.2px;opacity:.92;padding:4px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0f1117}
#receivers .cols,#senders .cols,#ccs .cols{grid-template-columns:1fr}
#receivers .entry,#senders .entry,#ccs .entry{background:#0b0c10;border-color:rgba(255,255,255,.16)}
#receivers .entryNo,#senders .entryNo,#ccs .entryNo{background:#0b0c10}

.cols{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:start;padding:10px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:#0f1117}
.lab{display:flex;flex-direction:column;gap:6px}
.labt{font-size:12px;opacity:.8}
.inp{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0b0c10;color:#e8e8ea;padding:10px}

.row{display:flex;justify-content:flex-end;margin-top:10px}
.fontTop{margin-bottom:0}
.fontControls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.lab.inline{flex-direction:row;align-items:center;gap:8px}
.lab.inline .labt{white-space:nowrap}
.lab.inline .inp{width:auto;min-width:220px}
.lab.inline .fileInp{min-width:180px;width:200px}

.btn{border:1px solid rgba(255,255,255,.14);background:#0f1117;color:#e8e8ea;border-radius:12px;padding:10px 12px;cursor:pointer}
.btn:hover{border-color:rgba(255,255,255,.24)}
.btn.sm{padding:8px 10px;border-radius:10px;font-size:13px}
.primary{background:#1c3faa;border-color:rgba(255,255,255,.18)}
.primary:hover{filter:brightness(1.05)}
.icon{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#0f1117;color:#e8e8ea;cursor:pointer;flex:0 0 auto}
.icon:hover{border-color:rgba(255,255,255,.24)}

.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap}
.actionsBtns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.msg{font-size:13px;opacity:.85;min-height:18px}
.foot{opacity:.6;font-size:12px;margin-top:14px;display:flex;gap:16px;flex-wrap:wrap}

.tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.toolsLeft{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

.quick{border:1px dashed rgba(255,255,255,.18);border-radius:12px;padding:12px;margin-bottom:10px;background:#10131a}
.hidden{display:none}
.quickHead{font-size:12px;opacity:.8;margin-bottom:8px}
.quickBtns{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}
.modal.hidden{display:none}
.modalBox{width:min(920px,100%);max-height:85vh;overflow:auto;background:#14161d;border:1px solid rgba(255,255,255,.10);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.55)}
.modalTop{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 0 14px}
.modalTitle{font-size:15px;font-weight:650}
.modalBody{padding:14px;display:flex;flex-direction:column;gap:14px}
.modalSection{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:#10131a}
.modalSectionTitle{font-size:12px;opacity:.8;margin-bottom:10px;letter-spacing:.2px}
.historyList{display:flex;flex-direction:column;gap:10px}
.historyItem{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:#0f1117}
.historyMain{flex:1;display:flex;flex-direction:column;gap:8px}
.historyTitleRow{display:flex;flex-direction:column;gap:4px}
.historyTitle{font-size:13px;font-weight:650}
.historyMeta{font-size:12px;opacity:.75}
.historyBtns{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.historyTagRow{display:flex;align-items:center;gap:8px}
.historyTagLabel{font-size:12px;opacity:.8;white-space:nowrap}
.historyTagInput{flex:1;min-width:220px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0b0c10;color:#e8e8ea;padding:8px 10px;font-size:13px}
.historyTagInput::placeholder{opacity:.55}
.empty{font-size:12px;opacity:.6;padding:6px 2px}

.hintBox{width:min(760px,100%)}
.hintText{font-size:13px;line-height:1.6;opacity:.92}
.hintText a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.hintBtns{display:flex;justify-content:flex-end;margin-top:12px}

.localFontsModal{align-items:center;justify-content:center}
.localFontsBox{position:relative;top:auto;left:auto;width:min(560px,calc(100% - 32px));max-height:calc(100vh - 96px);overflow:auto;background:#14161d;border:1px solid rgba(255,255,255,.10);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.55)}
.localFontsPointer{position:fixed;top:12px;left:12px;pointer-events:none;width:120px;height:64px;border-top:2px solid rgba(255,255,255,.55);border-left:2px solid rgba(255,255,255,.55);border-top-left-radius:14px}
.localFontsPointer:after{content:"";position:absolute;top:-8px;left:-8px;width:0;height:0;border:10px solid transparent;border-right-color:rgba(255,255,255,.55);transform:rotate(-45deg)}

@media (max-width:980px){
  .grid{grid-template-columns:1fr}
  .cols{grid-template-columns:1fr}
}
