.ap-board { max-width: 1100px; margin: 0 auto; }
.ap-filters input, .ap-filters select { width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px; margin: 8px 0; }
.ap-actions { display:flex; gap:12px; margin: 12px 0; }
.ap-btn { padding: 10px 16px; border-radius: 8px; border: 1px solid #0b2a63; background: #fff; cursor:pointer; }
.ap-btn-primary { background:#0b2a63; color:#fff; }
.ap-table { width:100%; border-collapse: collapse; }
.ap-table th, .ap-table td { border:1px solid #eee; padding: 10px; vertical-align: top; }
.ap-modal { position:fixed; inset:0; background: rgba(0,0,0,.35); display:flex; align-items:center; justify-content:center; z-index:9999; }
.ap-modal-card { width: min(680px, 92vw); background:#fff; border-radius: 12px; padding: 16px; }
.ap-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ap-grid label { display:flex; flex-direction:column; gap:6px; font-size: 14px; }
.ap-modal-actions { display:flex; gap:12px; justify-content:flex-end; margin-top: 12px; }
.ap-print-toolbar { display:flex; gap: 10px; padding: 10px; position: sticky; top: 0; background: #fff; z-index: 999; border-bottom:1px solid #eee; }
.ap-print-host { max-width: 1100px; margin: 0 auto; padding: 12px; }