@charset "UTF-8";

/* Shared components aligned with REG Core Design Kit. */
#reg-alert-root{position:fixed;z-index:99999;top:16px;right:16px;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 24px));pointer-events:none}
.reg-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;box-sizing:border-box;padding:12px 14px;border-radius:10px;border:1px solid var(--reg-border,#c9d2cb);background:var(--reg-surface,#fff);color:var(--reg-text,#1f2a24);box-shadow:var(--reg-dialog-shadow,0 10px 28px rgba(16,40,28,.16));font:14px/1.45 "Sarabun",Tahoma,sans-serif;opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}
.reg-toast.is-show{opacity:1;transform:translateY(0)}
.reg-toast-icon{flex:0 0 auto;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--reg-info-fg,#2f6f9f);color:#fff;font-size:13px;font-weight:700;line-height:22px;text-align:center}
.reg-toast-body{flex:1 1 auto;word-break:break-word;white-space:pre-line}
.reg-toast-close{flex:0 0 auto;min-height:22px!important;width:22px;padding:0!important;border:0!important;background:transparent!important;color:var(--reg-text-muted,#66756c)!important;font-size:18px;line-height:1;box-shadow:none!important}
.reg-toast-success{border-color:var(--reg-ok-border,#b7e0c5);background:var(--reg-ok-bg,#e6f6ec)}.reg-toast-success .reg-toast-icon{background:var(--reg-ok-fg,#0b5c2e)}
.reg-toast-error{border-color:#e3b6b0;background:#fff5f4}.reg-toast-error .reg-toast-icon{background:var(--reg-danger,#a33b18)}
.reg-toast-warn{border-color:var(--reg-warn-border,#f0d7a3);background:var(--reg-warn-bg,#fff7e8)}.reg-toast-warn .reg-toast-icon{background:var(--reg-warn-fg,#9a6b00)}
.reg-toast-info{border-color:var(--reg-border,#c9d2cb);background:var(--reg-surface,#fff)}

.reg-confirm-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,35,25,.36);animation:reg-overlay-in .15s ease}
.reg-confirm-box{width:min(420px,100%);box-sizing:border-box;padding:18px 18px 14px;border-radius:12px;background:var(--reg-surface,#fff);border:1px solid var(--reg-panel-border,#d5ddd7);box-shadow:var(--reg-dialog-shadow,0 18px 40px rgba(16,40,28,.22));color:var(--reg-text,#1f2a24);font-family:"Sarabun",Tahoma,sans-serif;animation:reg-dialog-in .18s ease}
.reg-confirm-title{margin:0 0 8px;font-size:16px;font-weight:700;color:var(--reg-brand,#0f6b3d)}
.reg-confirm-msg{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--reg-text,#1f2a24);white-space:pre-wrap}
.reg-confirm-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.reg-confirm-btn{min-height:36px;padding:7px 14px;border-radius:8px;border:1px solid var(--reg-border,#c9d2cb);background:#fff;color:var(--reg-brand,#0f6b3d);font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:none}
.reg-confirm-btn-cancel:hover{background:var(--reg-row-hover,#eef6e4)}
.reg-confirm-btn-ok{background:var(--reg-primary,#0a7a4b)!important;border-color:var(--reg-primary,#0a7a4b)!important;color:#fff!important}.reg-confirm-btn-ok:hover{background:var(--reg-primary-hover,#08653e)!important;border-color:var(--reg-primary-hover,#08653e)!important}
.reg-confirm-btn-danger{background:#b42318!important;border-color:#b42318!important;color:#fff!important}.reg-confirm-btn-danger:hover{background:#912018!important;border-color:#912018!important}

.reg-form{display:grid;gap:12px}.reg-dialog-field{display:grid;gap:5px}.reg-dialog-field>label{margin:0;font-size:13px;font-weight:700;color:var(--reg-brand,#0b5c2e)}
.reg-dialog-field input,.reg-dialog-field select,.reg-dialog-field textarea{width:100%;box-sizing:border-box;min-height:40px;padding:7px 11px;border:1px solid var(--reg-border,#c9d2cb);border-radius:10px;background:var(--reg-surface,#fff);color:var(--reg-text,#1f2a24);font:inherit}
.reg-dialog-field textarea{resize:vertical;line-height:1.5}.reg-dialog-field input:focus,.reg-dialog-field select:focus,.reg-dialog-field textarea:focus{outline:0;border-color:var(--reg-primary,#0a7a4b);box-shadow:0 0 0 3px var(--reg-focus-ring,rgba(10,122,75,.18))}
.reg-field-hint{font-size:12px;line-height:1.45;color:var(--reg-text-muted,#5a6b5e)}.reg-form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:6px}

.reg-btn,.reg-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--reg-border,#c9d2cb);background:#fff;color:var(--reg-brand,#0f6b3d)!important;font-family:inherit;font-size:15px;font-weight:700;line-height:1.2;text-decoration:none!important;cursor:pointer;white-space:nowrap}
.reg-btn:hover,.reg-btn-secondary:hover{background:var(--reg-row-hover,#eef6e4)}
.reg-btn-primary{background:var(--reg-primary,#0a7a4b)!important;border-color:var(--reg-primary,#0a7a4b)!important;color:#fff!important}.reg-btn-primary:hover{background:var(--reg-primary-hover,#08653e)!important;border-color:var(--reg-primary-hover,#08653e)!important}
.reg-btn-danger{background:#fff5f4!important;border-color:#e08a82!important;color:var(--reg-danger,#a33b18)!important}.reg-btn-danger:hover{background:#ffe8e5!important}

.reg-flash{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid;border-radius:8px;margin:14px 0;line-height:1.5}.reg-flash:before{font-weight:900}.reg-flash-success{background:var(--reg-ok-bg,#e6f6ec);color:var(--reg-ok-fg,#0a5c34);border-color:var(--reg-ok-border,#b7e0c5)}.reg-flash-success:before{content:"✓"}
.reg-flash-error{background:#fff5f4;color:var(--reg-danger,#9f1d12);border-color:#e8b8b3}.reg-flash-error:before{content:"!"}
.reg-flash-warning{background:var(--reg-warn-bg,#fff7e8);color:var(--reg-warn-fg,#8a5a00);border-color:var(--reg-warn-border,#f0d7a3)}.reg-flash-warning:before{content:"!"}
.reg-flash-info{background:var(--reg-info-bg,#e8f1ff);color:var(--reg-info-fg,#1d4f91);border-color:var(--reg-info-border,#b8cdf5)}.reg-flash-info:before{content:"i"}

.reg-busy-overlay{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,35,25,.28)}.reg-busy-box{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:12px;background:var(--reg-surface,#fff);border:1px solid var(--reg-panel-border,#d5ddd7);box-shadow:var(--reg-dialog-shadow);color:var(--reg-text,#1f2a24);font-weight:700}.reg-busy-spinner{width:22px;height:22px;border:3px solid var(--reg-divider,#e2e8e4);border-top-color:var(--reg-primary,#0a7a4b);border-radius:50%;animation:reg-spin .7s linear infinite}
@keyframes reg-spin{to{transform:rotate(360deg)}}@keyframes reg-overlay-in{from{opacity:0}}@keyframes reg-dialog-in{from{opacity:0;transform:translateY(8px) scale(.98)}}
@media(max-width:600px){#reg-alert-root{top:10px;right:10px;width:calc(100vw - 20px)}.reg-confirm-actions>*{flex:1}.reg-form-actions>*{flex:1}}
@media(prefers-reduced-motion:reduce){.reg-toast,.reg-confirm-overlay,.reg-confirm-box,.reg-busy-spinner{animation:none;transition:none}}

.session-countdown{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid rgba(255,255,255,.34);border-radius:8px;background:rgba(255,255,255,.1);color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.session-countdown__dot{width:7px;height:7px;border-radius:50%;background:#75e5a5;box-shadow:0 0 0 3px rgba(117,229,165,.15)}
.session-countdown__label{font-size:11px;color:#d7e8dd}.session-countdown strong{display:flex;align-items:baseline;gap:2px;font-size:13px;letter-spacing:.02em}.session-countdown small{font-size:9px;font-weight:600;color:#d7e8dd;margin-right:2px}
.session-countdown.is-warning{border-color:#f0d7a3;background:rgba(138,90,0,.34)}.session-countdown.is-warning .session-countdown__dot{background:#ffd166;box-shadow:0 0 0 3px rgba(255,209,102,.15)}
.session-countdown.is-expired{border-color:#e8b8b3;background:rgba(159,29,18,.45)}.session-countdown.is-expired .session-countdown__dot{background:#ff9c93}
.header-actions>.docs-link,.header-actions>.service-name,.header-actions>.session-countdown{box-sizing:border-box;height:38px;min-height:38px;padding-top:0;padding-bottom:0;border-radius:10px;justify-content:center}
.auth-redirect-card{text-align:center}.auth-redirect-actions{display:flex;align-items:center;justify-content:center;width:100%;margin:18px 0 4px}.auth-redirect-actions .reg-btn{width:min(100%,180px);min-height:42px;margin:0}
@media(max-width:720px){.session-countdown__label{display:none}.session-countdown{padding:5px 8px}.session-countdown strong{font-size:12px}}
