*{box-sizing:border-box}
body{margin:0;font-family:'Book Antiqua','Palatino Linotype',Palatino,serif;background:#e7ebf1;color:#111827}
.topbar{background:#002060;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:14px 24px;box-shadow:0 6px 18px rgba(0,0,0,.15)}
.brand{font-size:22px;font-weight:800}
nav a{color:#fff;text-decoration:none;margin-left:16px;font-weight:700}
.container{padding:22px;max-width:1440px;margin:0 auto}
.card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 26px rgba(15,23,42,.08);margin-bottom:18px}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}
label{display:block;font-weight:700;margin-bottom:6px}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:15px;font-family:inherit} textarea{min-height:90px}
button,.btn{background:#002060;color:#fff;border:none;border-radius:10px;padding:10px 14px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-block}
.secondary,.btn.secondary{background:#475569}.danger,.btn.danger{background:#991b1b}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.notice{background:#eff6ff;border-left:5px solid #002060;padding:12px;border-radius:10px;margin:12px 0}
.table{width:100%;border-collapse:collapse}.table th,.table td{border:1px solid #cbd5e1;padding:10px;text-align:left}.table th{background:#dbe3ee}
.login-box{max-width:420px;margin:60px auto}.search-row{display:grid;grid-template-columns:1fr 160px;gap:10px}
.builder{display:grid;grid-template-columns:540px 1fr;gap:20px;align-items:start}.sidebar{max-height:calc(100vh - 120px);overflow:auto}
.preview-pane{overflow:auto;background:#f8fafc;border-radius:16px;padding:18px}.table-editor{overflow-x:auto}
.edit-table{min-width:760px;width:100%;border-collapse:collapse}.edit-table th,.edit-table td{border:1px solid #94a3b8;padding:7px}.edit-table th{background:#dbe3ee}.edit-table td[contenteditable]{background:#fff}
.page{width:210mm;height:297mm;background:#fff;position:relative;margin:0 auto 16px;box-shadow:0 8px 26px rgba(0,0,0,.15);overflow:hidden}
.page-header{position:absolute;top:8mm;left:14mm;right:14mm;height:26mm;display:flex;align-items:center;justify-content:space-between;background:#fff}
.page-header img{max-width:86px;max-height:75px;object-fit:contain}.company{font-size:26px;font-weight:800;color:#002060;border-bottom:2px solid #002060;display:inline-block;padding-bottom:1px}
.page-body{position:absolute;top:42mm;left:14mm;right:14mm;bottom:28mm;overflow:hidden;background:#fff}.coa-title{text-align:center;font-size:22px;font-weight:800;text-decoration:underline;text-underline-offset:9px;margin:0 0 20px;color:#000}
.info-table,.data-table,.sign-table{width:100%;border-collapse:collapse;table-layout:fixed}.info-table td,.data-table td,.data-table th,.sign-table td,.sign-table th{border:1px solid #000;padding:7px 10px;color:#000;font-size:16px;vertical-align:top}
.info-table td.label{background:#dbe3ee;font-weight:800;width:22%}.data-table th,.sign-table th{background:#dbe3ee;font-weight:800}
.preview-section-title{font-size:19px;font-weight:800;background:#002060;color:#fff;border:1px solid #000;padding:6px 10px;margin:14px 0 8px}
.structure-in-table{height:150px;display:flex;align-items:center;justify-content:center;background:#f8fafc;overflow:hidden}.structure-in-table img{max-width:100%;max-height:140px;object-fit:contain}
.page-footer{position:absolute;left:14mm;right:14mm;bottom:8mm;border-top:1px solid #002060;padding-top:5px;font-size:10.5px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1.7fr;gap:10px}.footer-bottom{display:flex;justify-content:space-between;margin-top:4px;color:#334155}
.coa-stamp{position:absolute;z-index:999;width:130px;right:85px;bottom:110px}.coa-stamp img{width:100%;display:block}
@media print{.topbar,.no-print,.sidebar{display:none!important}.container{padding:0;max-width:none}.builder{display:block}.preview-pane{padding:0;background:#fff}.page{box-shadow:none;margin:0;page-break-after:always}}
