.kkb-print-dialog { width: min(520px, calc(100vw - 32px)); box-sizing: border-box; border: 1px solid #ded9cc; border-radius: 16px; padding: 28px; color: #24231f; background: #fffefa; box-shadow: 0 24px 80px #18292130; font: 14px/1.6 Pretendard, "Segoe UI", sans-serif; max-height: calc(100dvh - 32px); overflow: auto; }
.kkb-print-dialog::backdrop { background: #14251c66; backdrop-filter: blur(3px); }
.kkb-print-dialog [hidden] { display: none !important; }
.kkb-print-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.kkb-print-heading h2 { margin: 0; font-size: 22px; letter-spacing: -.5px; }
.kkb-print-dialog button, .kkb-print-dialog select { font: inherit; }
.kkb-print-dialog button { cursor: pointer; border: 1px solid #ded9cc; border-radius: 8px; background: #fff; color: #24231f; padding: 9px 16px; }
.kkb-print-dialog .kkb-print-close { border: 0; padding: 0 8px; background: transparent; font-size: 25px; }
.kkb-print-report { color: #6d6a61; margin: 8px 0 24px; overflow-wrap: anywhere; }
.kkb-print-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0; border: 0; margin: 0 0 20px; }
.kkb-print-modes legend { font-weight: 600; margin-bottom: 8px; }
.kkb-print-modes label { display: flex; align-items: flex-start; gap: 9px; border: 1px solid #ded9cc; border-radius: 10px; padding: 14px 12px; cursor: pointer; }
.kkb-print-modes label:has(input:checked) { border-color: #188c4c; background: #edf7ee; box-shadow: inset 0 0 0 1px #188c4c; }
.kkb-print-modes input { width: 16px; height: 16px; margin: 4px 0 0; accent-color: #168b49; }
.kkb-print-modes strong, .kkb-print-modes small { display: block; }
.kkb-print-modes strong { font-size: 15px; }
.kkb-print-modes small { font-size: 12px; color: #6d6a61; margin-top: 4px; }
.kkb-print-local, .kkb-print-remote { background: #f5f4ee; border-radius: 10px; padding: 16px; }
.kkb-print-dialog p { line-height: 1.65; }
.kkb-print-local p, .kkb-print-remote p { margin: 8px 0 0; color: #6d6a61; font-size: 13px; }
.kkb-print-local p { margin-top: 0; }
.kkb-print-target-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-weight: 600; }
.kkb-print-dialog .kkb-print-refresh { font-size: 12px; padding: 3px 9px; }
.kkb-print-dialog select { width: 100%; box-sizing: border-box; min-height: 42px; border: 1px solid #ded9cc; border-radius: 7px; padding: 8px; background: white; color: #24231f; }
.kkb-print-dialog .kkb-print-status { min-height: 22px; margin: 16px 0; color: #0b733c; font-size: 13px; overflow-wrap: anywhere; }
.kkb-print-dialog .is-error { color: #b22b3b; }
.kkb-print-actions { display: flex; gap: 8px; justify-content: flex-end; }
.kkb-print-dialog .kkb-print-submit { background: #14864a; border-color: #14864a; color: white; font-weight: 600; }
.kkb-print-dialog button:disabled { opacity: .5; cursor: default; }
.kkb-print-dialog :focus-visible, .kkb-print-launch:focus-visible { outline: 3px solid #7bc69b; outline-offset: 3px; }
.kkb-print-fallback { display: inline-block; margin-top: 10px; font-size: 12px; color: #0b733c; text-decoration: underline; }
.kkb-print-launch { cursor: pointer; font: 600 13px Pretendard, "Segoe UI", sans-serif; padding: 9px 16px; border: 1px solid #ded9cc; background: white; border-radius: 7px; color: #0b733c; }
.kkb-print-launch--floating { position: fixed; bottom: 24px; right: 24px; z-index: 10000; box-shadow: 0 4px 20px #14251c22; border-color: #14864a; padding: 12px 24px; }
.kkb-print-frame { position: fixed; top: 0; left: -10000px; width: 800px; height: 1100px; border: 0; }
@media (max-width: 430px) { .kkb-print-dialog { padding: 20px; } .kkb-print-modes { grid-template-columns: 1fr; } }
@media print { .kkb-print-launch, .kkb-print-dialog { display: none !important; } }
