.site-dialog { width: min(400px, calc(100vw - 28px)); max-width: none; max-height: calc(100dvh - 32px); padding: 0; border: 1px solid #e2eaff; border-radius: 21px; color: #24374f; background: #fff; box-shadow: 0 22px 70px #0c245438; font-family: "Microsoft JhengHei", "Segoe UI", sans-serif; overflow: auto; overscroll-behavior: contain; }
.site-dialog::backdrop { background: #14244099; backdrop-filter: blur(5px); }
.site-dialog[open] { display: flex; flex-direction: column; }
.site-dialog-head { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; padding: 13px 15px; background: linear-gradient(110deg, #2868ec, #2056d8); color: #fff; }
.site-dialog-head h2 { margin: 0 !important; padding: 0 !important; color: #fff !important; font-size: 17px !important; font-weight: 800; line-height: 1.5; text-align: left !important; }
.site-dialog-icon { display: grid; place-items: center; flex: 0 0 auto; width: 25px; height: 25px; border-radius: 50%; background: #ffffff2e; font-size: 17px; font-weight: 800; }
.site-dialog-head button { margin-left: auto; display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border: 0; border-radius: 10px; color: #fff; background: #ffffff13; font-size: 25px; cursor: pointer; }
.site-dialog-body { overflow-y: auto; padding: 22px; min-height: 0; }
.site-dialog-footer { padding: 14px 22px 19px; display: flex; justify-content: flex-end; border-top: 1px solid #eff3fa; flex: 0 0 auto; background: #fff; }
.site-dialog-done, .site-primary-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 112px; border-radius: 11px; background: #245de0; border: 1px solid #245de0; color: #fff !important; font: 700 16px "Microsoft JhengHei", sans-serif; padding: 11px 20px; cursor: pointer; text-decoration: none; }
.site-dialog button:focus-visible, .site-dialog a:focus-visible { outline: 3px solid #63a4ff; outline-offset: 3px; }
.site-dialog[data-kind="guide"] { width: min(560px, calc(100vw - 28px)); }
.site-notices article + article { border-top: 1px solid #e6edf8; margin-top: 22px; padding-top: 22px; }
.site-notice-label { display: inline-block; padding: 4px 10px; color: #285ac3; background: #edf4ff; font-size: 12px; border-radius: 6px; font-weight: 700; }
.site-notices h3 { margin: 13px 0 12px !important; color: #183657 !important; font-size: 21px !important; line-height: 1.5; text-align: left !important; }
.site-notices p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 16px; font-weight: 500; color: #405772; line-height: 1.95; }
.site-contact, .site-payment { text-align: center; }
.site-contact-symbol { display: grid; place-items: center; margin: 0 auto 16px; width: 64px; height: 64px; border-radius: 20px; color: #2463e5; background: #edf4ff; font-size: 32px; }
.site-contact h3 { margin: 0 0 12px !important; font-size: 23px !important; color: #193553 !important; font-weight: 800 !important; }
.site-contact p { margin: 10px 0; font-size: 18px; font-weight: 700; color: #46607f; line-height: 1.8; }
.site-contact a { display: block; color: #215cd6; font-size: clamp(23px, 7vw, 30px); font-weight: 900; letter-spacing: .01em; text-decoration: none; margin: 12px 0; }
.site-payment img { display: block; width: 216px; height: 216px; max-width: 100%; object-fit: contain; margin: 0 auto 16px; border: 1px solid #e3e9f3; border-radius: 12px; }
.site-payment p { color: #526b88; font-size: 14px; line-height: 1.8; margin: 12px 0; }
.site-payment .site-primary-link { display: flex; width: 100%; }
.guide-copy { color: #29425f; overflow-wrap: anywhere; }
.guide-copy h2 { font-size: 22px !important; margin: 0 0 9px !important; color: #1d3858 !important; text-align: left !important; line-height: 1.5; }
.guide-introduction { margin: 0 0 24px; font-size: 15px; line-height: 1.9; white-space: pre-wrap; }
.guide-steps { list-style: none; padding: 0; margin: 0; }
.guide-steps > li { display: flex; gap: 13px; padding: 0 0 22px; margin: 0 0 20px; border-bottom: 1px solid #e6edf5; }
.guide-steps > li:last-child { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.guide-number { display: grid; place-items: center; width: 29px; height: 29px; flex: 0 0 auto; border-radius: 9px; background: #eaf2ff; color: #245ee0; font-size: 14px; font-weight: 800; }
.guide-steps li > div { min-width: 0; flex: 1; }
.guide-steps h3 { margin: 2px 0 9px !important; font-size: 17px !important; font-weight: 800 !important; color: #223f61 !important; text-align: left !important; line-height: 1.5; }
.guide-steps p { margin: 0; font-size: 15px; line-height: 1.9; white-space: pre-wrap; overflow-wrap: anywhere; }
.guide-steps figure { margin: 14px 0 0; }
.guide-steps img { display: block; max-width: 100%; width: auto; height: auto; max-height: 520px; border-radius: 10px; border: 1px solid #dde6f2; object-fit: contain; }
.guide-steps figcaption { font-size: 12px; line-height: 1.7; color: #607794; margin-top: 6px; white-space: pre-wrap; }
.guide-steps figcaption:empty { display: none; }
/* A compact announcement entry on the administrator dashboard. */
body.admin-v2 .notice-banner .site-admin-notice { display: flex !important; align-items: center; gap: 14px; padding: 15px 18px !important; border: 1px solid #d6e4fc !important; border-left: 4px solid #3376e8 !important; border-radius: 13px !important; background: linear-gradient(110deg, #edf4ff, #fff) !important; box-shadow: 0 4px 14px #24426c06; color: #26476c !important; margin-bottom: 20px; }
.site-admin-notice > span { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: #dceaff; color: #245de0; font-size: 19px; font-weight: 800; }
.site-admin-notice > div { flex: 1; min-width: 0; }
.site-admin-notice strong { display: block; font-size: 15px; color: #254972; }
.site-admin-notice p { margin: 4px 0 0; color: #617893; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.site-admin-notice button { background: #245de0; color: #fff; border: 0; border-radius: 9px; padding: 10px 14px; min-height: 40px; font-weight: 700; cursor: pointer; white-space: nowrap; }
.site-admin-notice .site-notice-dismiss { min-width: 32px; padding: 7px; color: #54749b; background: transparent; font-size: 19px; }
@media(max-width:420px) { .site-dialog-body { padding: 19px 17px; } .site-dialog-footer { padding: 12px 17px 16px; } .guide-steps > li { gap: 10px; } .site-admin-notice { flex-wrap: wrap; } }

.site-notice-period{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 10px;padding:8px 10px;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:12px;font-weight:800}.site-notice-period b{color:#1d4ed8}.site-notice-period span{font-variant-numeric:tabular-nums}
