:root{--line:#111;--ui:#2457d6;--muted:#667085}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif;background:#fff;color:#111}
button,input,select{font:inherit}
button{cursor:pointer}
.app{display:grid;grid-template-columns:360px 1fr;min-height:100vh}
.sidebar{background:#fff;border-right:1px solid #d0d5dd;padding:20px;height:100vh;overflow:auto;position:sticky;top:0}
.sidebar h1{font-size:20px;margin:0}.version{font-size:11px;color:var(--muted)}
.sidebar section{border-top:1px solid #eaecf0;margin-top:16px;padding-top:16px}
.sidebar h2{font-size:14px;margin:0 0 8px}
.sidebar label{display:block;font-size:11px;color:var(--muted);margin:8px 0 4px}
.sidebar input,.sidebar select{width:100%;padding:9px;border:1px solid #d0d5dd;border-radius:8px;background:#fff}
.file-button{display:block;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:10px;text-align:center;cursor:pointer}
.file-button input{display:none}
.secondary,.primary{width:100%;border:0;border-radius:8px;padding:10px;margin-top:8px}
.secondary{background:#fff;border:1px solid #d0d5dd;color:#344054}
.primary{background:var(--ui);color:#fff}
.help,.status{font-size:11px;color:var(--muted)}
.status{text-align:center;min-height:17px;margin-top:7px}
.slot-editor{display:grid;gap:8px}
.slot-card{border:1px solid #d0d5dd;border-radius:9px;padding:9px;background:#fff}
.slot-card-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600}
.slot-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}
.slot-actions label,.slot-actions button{margin:0;border:1px solid #d0d5dd;border-radius:7px;padding:7px;text-align:center;background:#fff;color:#344054;font-size:11px}
.slot-actions input{display:none}
.slot-card input[type="text"]{margin-top:7px}
.slot-card .danger{color:#b42318}
.workspace{padding:26px;overflow:auto;background:#fff}
.pages{display:grid;gap:22px;justify-content:center}
.page-wrap{width:210mm}
.page-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;padding:7px 10px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;font-size:11px}
.page{width:210mm;height:297mm;background:#fff;position:relative;overflow:hidden;box-shadow:0 6px 24px #0002}
.page-frame{position:absolute;left:10mm;top:10mm;right:10mm;bottom:10mm;border:.45mm solid var(--line);background:#fff}
.page-title{display:none}
.image-area{position:absolute;left:14mm;right:14mm;top:14mm;bottom:14mm;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.image-area img{width:100%;height:100%;object-fit:contain;background:#fff;display:block}
.placeholder{color:#98a2b3;text-align:center}
.placeholder strong{display:block;font-size:18pt;margin-bottom:3mm}
.disabled-page{display:none}
.pdf-exporting{box-shadow:none!important;background:#fff!important}
.pdf-exporting *{box-shadow:none!important;text-shadow:none!important;filter:none!important}
@media(max-width:900px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.workspace{padding:12px}}
@media print{body{background:#fff}.sidebar,.page-controls{display:none!important}.app{display:block}.workspace{padding:0}.page{box-shadow:none;margin:0;page-break-after:always}}
.slot-card-head .delete-page{
  border:0;
  border-radius:6px;
  padding:5px 8px;
  background:#fff1f0;
  color:#b42318;
  font-size:11px
}
