/* Independent styling also supports the printable student guide. */
.kyp-contact-dialog { box-sizing:border-box; width:min(540px,calc(100% - 28px)); max-height:calc(100dvh - 40px); overflow:auto; margin:auto; padding:26px; border:1px solid #d7e4ef; border-top:6px solid #f4b517; border-radius:22px; background:#fff; color:#163f6d; box-shadow:0 24px 80px #06274755; font:16px/1.5 Inter,Arial,sans-serif; text-align:start; }
.kyp-contact-dialog::backdrop { background:#071f3bb3; }
.kyp-contact-dialog * { box-sizing:border-box; }
.kyp-contact-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.kyp-contact-brand { font-size:11px; font-weight:800; letter-spacing:.1em; }
.kyp-contact-dialog h2 { font:800 26px/1.2 Inter,Arial,sans-serif; color:inherit; margin:20px 0 12px; }
.kyp-contact-dialog p { margin:12px 0; color:inherit; }
.kyp-contact-close { border:1px solid #d7e4ef; border-radius:9px; padding:10px; background:#f1f6fb; color:#163f6d; cursor:pointer; font:600 14px/1.4 Inter,Arial,sans-serif; }
.kyp-contact-dialog .kyp-contact-address { font-weight:700; overflow-wrap:anywhere; text-align:start; background:#edf6fc; padding:12px; border-radius:10px; }
.kyp-contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0; }
.kyp-contact-dialog .kyp-contact-action { display:flex; align-items:center; justify-content:center; width:auto; min-height:48px; padding:12px; border:1px solid #cedeea; border-radius:11px; background:#f5f8fc; color:#163f6d; font:700 14px/1.4 Inter,Arial,sans-serif; text-decoration:none; text-align:center; cursor:pointer; }
.kyp-contact-dialog .kyp-contact-primary { background:#163f6d; color:#fff; border-color:#163f6d; }
.kyp-contact-dialog :focus-visible { outline:3px solid #007dce; outline-offset:3px; }
.kyp-contact-dialog .kyp-contact-hint { font-size:13px; }
.kyp-contact-preview { border-top:1px solid #d7e4ef; padding-top:12px; }
.kyp-contact-preview summary { cursor:pointer; font-weight:700; }
.kyp-contact-preview pre { font:14px/1.5 Inter,Arial,sans-serif; white-space:pre-wrap; overflow-wrap:anywhere; max-height:180px; overflow:auto; }
.kyp-contact-status { font-size:14px; }
.kyp-contact-dialog textarea { width:100%; min-height:110px; border:1px solid #9bb3c8; border-radius:8px; padding:10px; font:14px/1.5 Inter,Arial,sans-serif; }
body.dark .kyp-contact-dialog { background:#112d49; color:#f5f9fd; border-color:#345475; border-top-color:#f4b517; }
body.dark .kyp-contact-dialog .kyp-contact-address { background:#1b3e5e; }
@media(max-width:380px) { .kyp-contact-dialog { padding:18px; } .kyp-contact-actions { grid-template-columns:1fr; } }
@media print { .kyp-contact-dialog { display:none !important; } }
