.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.cp-card{display:flex;flex-direction:column;gap:6px;min-width:0}
.cp-th{all:unset;display:block;cursor:pointer;border:1px solid #E3DFD3;border-radius:8px;overflow:hidden;background:#fff;box-sizing:border-box}
.cp-th:hover{box-shadow:0 2px 10px rgba(4,44,83,.18)}.cp-th:focus-visible{outline:3px solid #1E6B45;outline-offset:2px}
.cp-fit{position:relative;width:100%;overflow:hidden;pointer-events:none;background:#fff;aspect-ratio:1123/794}
.cp-fr{position:absolute;top:0;left:0;border:0;transform-origin:0 0;width:1123px;height:794px}
.cp-t{font-weight:700;font-size:13px;line-height:1.35}.cp-s{font-size:12px;color:#5b6573}.cp-c{font-size:11.5px;color:#7a6a3a;line-height:1.4}.rv{color:#a33}
.cp-card.off{border:1px dashed #C3BFB2;border-radius:8px;padding:10px;background:#FAF8F2}.cp-lock{height:34px;background:repeating-linear-gradient(135deg,#EFECE4 0 8px,#F7F5EE 8px 16px);border-radius:6px}
.cp-ov{position:fixed;inset:0;background:rgba(10,20,40,.66);z-index:9999;display:flex;align-items:center;justify-content:center;padding:12px}
.cp-dlg{background:#fff;border-radius:12px;max-width:1180px;width:100%;max-height:calc(100vh - 24px);overflow:auto;display:flex;flex-direction:column}
.cp-hd{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #EEE}.cp-hd h3{margin:0;font-size:16px}
.cp-x{all:unset;cursor:pointer;width:36px;height:36px;text-align:center;line-height:36px;border-radius:8px}.cp-x:hover,.cp-x:focus-visible{background:#EEE;outline:2px solid #042C53}
.cp-body{padding:10px 14px}.cp-body .cp-fit{border:1px solid #E3DFD3;border-radius:6px}
.cp-ft{padding:8px 14px 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.cp-v{font-size:13px;min-width:0;overflow-wrap:anywhere}.cp-link{color:#042C53}
.cp-ac{display:flex;gap:8px;flex-wrap:wrap}.cp-b{all:unset;cursor:pointer;padding:8px 14px;border:1px solid #042C53;border-radius:8px;font-size:13px;min-height:20px}.cp-b:hover,.cp-b:focus-visible{background:#042C53;color:#fff}.cp-msg{width:100%;font-size:12px;color:#1E6B45}
html.cp-lock-scroll{overflow:hidden}
@media print{.cp-ov{position:static;background:none}}
@media (max-width:560px){.cp-grid{grid-template-columns:repeat(2,1fr)}.cp-ov{padding:0}.cp-dlg{border-radius:0;max-height:100vh;height:100vh}}
