.hcl-admin-auth-modal[hidden] { display: none !important; }
.hcl-admin-auth-modal, .hcl-admin-auth-modal * { box-sizing: border-box; }
.hcl-admin-auth-modal {
    position: fixed; inset: 0; z-index: 100010; display: flex; align-items: center;
    justify-content: center; padding: 18px; color: #1e293b; font-family: inherit;
}
.hcl-admin-auth-backdrop {
    position: absolute; inset: 0; background: rgba(15, 23, 42, .66); backdrop-filter: blur(5px);
}
.hcl-admin-auth-dialog {
    position: relative; z-index: 1; overflow: hidden; width: min(448px, 100%);
    border-radius: 22px; background: #fff; box-shadow: 0 28px 70px rgba(0, 0, 0, .34); outline: 0;
}
.hcl-admin-auth-header {
    position: relative; min-height: 115px; padding: 24px 94px 20px 20px;
    background: #0d172d; color: #fff;
}
.hcl-admin-auth-badge {
    display: inline-flex; align-items: center; min-height: 22px; margin-bottom: 7px; padding: 0 11px;
    border: 1px solid rgba(251, 113, 133, .55); border-radius: 999px;
    background: rgba(225, 29, 72, .18); color: #fda4af; font-size: 10px; font-weight: 900;
    letter-spacing: .025em; line-height: 1; text-transform: uppercase;
}
.hcl-admin-auth-header h2 {
    margin: 0 0 3px; color: #fff; font-size: 18px; font-weight: 900;
    letter-spacing: -.025em; line-height: 1.15;
}
.hcl-admin-auth-header p {
    margin: 0; color: #d6deec; font-size: 11px; font-weight: 600; line-height: 1.4;
}
.hcl-admin-auth-art {
    position: absolute; right: 29px; bottom: 6px; width: 82px; height: 92px;
    color: rgba(148, 163, 184, .18);
}
.hcl-admin-auth-close {
    appearance: none; position: absolute; top: 39px; right: 18px; display: inline-flex;
    align-items: center; justify-content: center; width: 36px; height: 36px; min-height: 0;
    margin: 0 !important; padding: 0; border: 0; border-radius: 999px;
    background: rgba(71, 85, 105, .62); color: #e2e8f0; box-shadow: none;
}
.hcl-admin-auth-close:hover { background: rgba(100, 116, 139, .82); color: #fff; }
.hcl-admin-auth-close svg { width: 21px; height: 21px; }
.hcl-admin-auth-content { padding: 24px; }
.hcl-admin-auth-message {
    margin: 0 0 14px; padding: 11px 12px; border: 1px solid #fecaca; border-radius: 10px;
    background: #fef2f2; color: #b91c1c; font-size: 11px; font-weight: 700; line-height: 1.45;
}
.hcl-admin-auth-message.is-success { border-color: #bbf7d0; background: #f0fdf4; color: #166534; }
.hcl-admin-auth-field { display: block; margin: 0 0 14px !important; }
.hcl-admin-auth-field > span:first-child {
    display: block; margin: 0 0 6px; color: #263349; font-size: 11px; font-weight: 850; line-height: 1.3;
}
.hcl-admin-auth-input-wrap {
    display: flex !important; align-items: center; gap: 9px; height: 40px; padding: 0 12px;
    border: 1px solid #cbd8e7; border-radius: 11px; background: #fff;
    transition: border-color 150ms ease, box-shadow 150ms ease;
}
.hcl-admin-auth-input-wrap:focus-within {
    border-color: #e11d48; box-shadow: 0 0 0 3px rgba(225, 29, 72, .09);
}
.hcl-admin-auth-input-wrap svg { width: 16px; height: 16px; flex: 0 0 16px; color: #94a3b8; }
.hcl-admin-auth-input-wrap input {
    width: 100%; height: 38px; min-width: 0; margin: 0 !important; padding: 0 !important;
    border: 0 !important; background: transparent !important; box-shadow: none !important;
    color: #1e293b; font-size: 11px; font-weight: 650;
}
.hcl-admin-auth-input-wrap input::placeholder { color: #94a3b8; opacity: 1; }
.hcl-admin-auth-submit {
    appearance: none; width: 100%; height: 44px; min-height: 0; margin: 2px 0 0 !important;
    padding: 0 15px; border: 0; border-radius: 11px;
    background: linear-gradient(105deg, #00ad43 0%, #e7a925 55%, #ef0014 100%);
    color: #fff; box-shadow: 0 5px 12px rgba(225, 29, 72, .2); font-size: 13px;
    font-weight: 900; line-height: 1; text-transform: none;
}
.hcl-admin-auth-submit:hover { color: #fff; filter: brightness(.96); }
.hcl-admin-auth-submit:disabled { cursor: wait; opacity: .62; }
.hcl-admin-auth-footnote {
    margin: 22px 0 -1px; color: #8290a6; font-size: 10px; line-height: 1.4; text-align: center;
}
body.hcl-admin-auth-open { overflow: hidden; }

@media only screen and (max-width: 520px) {
    .hcl-admin-auth-modal { align-items: flex-end; padding: 8px; }
    .hcl-admin-auth-dialog { border-radius: 20px; }
    .hcl-admin-auth-header { min-height: 108px; padding: 20px 78px 17px 17px; }
    .hcl-admin-auth-header h2 { font-size: 16px; }
    .hcl-admin-auth-art { right: 22px; width: 72px; height: 82px; }
    .hcl-admin-auth-close { top: 34px; right: 13px; width: 34px; height: 34px; }
    .hcl-admin-auth-content { padding: 20px 16px; }
}
