/* HelpDesk 19.7.5 – compact public portal. No change in form logic. */
.public-shell { --hd-primary:#3467a2; --hd-primary-dark:#184a78; --hd-border:#dce5ee; background:linear-gradient(130deg,#eef4fa,#f7fafc 58%,#eff6fa); font-size:15px; }
.public-shell .public-navbar { padding:10px 0; background:#153e60; box-shadow:0 1px 6px rgba(15,40,70,.12); }
.public-shell .public-navbar .navbar-brand { font-size:18px; font-weight:750; }
.public-shell .public-navbar .btn { box-shadow:none; font-size:13px; padding:7px 13px; }
.public-shell .public-navbar .btn-light { background:#fff; color:#174d82; }
.public-shell .public-hero { padding:36px 0 22px; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card { max-width:480px; margin:10px auto; padding:26px 30px; border-radius:14px; background:#fff; border:1px solid #e0e9f2; box-shadow:0 14px 35px rgba(23,53,83,.09); backdrop-filter:none; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card h1 { font-size:25px; line-height:1.25; letter-spacing:-.03em; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card .display-6 { font-size:27px; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card p { font-size:13.5px; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card .mb-4 { margin-bottom:18px!important; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card .form-label { font-size:13px; font-weight:650; margin-bottom:5px; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card .form-control { min-height:40px; border-radius:7px; font-size:14px; padding:9px 11px; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card .btn-primary { background:#3467a2; border:1px solid #3467a2; border-radius:7px; min-height:40px; box-shadow:none; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card .btn-primary:hover { background:#245585; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card .alert { border-radius:7px; padding:10px 12px; font-size:12.5px; }
.public-shell .hero-kicker { background:#e6eefb; color:#235d9c; padding:6px 12px; font-size:12px; }
.public-shell .hero-title { font-size:clamp(30px,3.6vw,52px); line-height:1.1; font-weight:780; letter-spacing:-.038em; }
.public-shell[data-hd-page="index"] .public-hero .lead { font-size:16px; max-width:680px; margin:auto; }
.public-shell[data-hd-page="index"] .public-category-view { --bs-gutter-y:14px; --bs-gutter-x:14px; }
.public-shell .category-card { border-radius:12px; padding:18px; gap:9px; box-shadow:0 5px 16px rgba(24,49,75,.045); transition:border-color .15s ease,box-shadow .15s ease; }
.public-shell .category-card:hover { transform:none; border-color:#8ab6e8; box-shadow:0 10px 24px rgba(24,49,75,.09); }
.public-shell .category-card-icon { width:38px; height:38px; font-size:19px; border-radius:9px; background:#e8f2ff; color:#2466a8; }
.public-shell .category-card-title { font-size:16px; font-weight:760; }
.public-shell .category-card-text { font-size:13px; }
.public-shell .category-card-link { color:#2469ae; font-size:13px; }
.public-shell .btn-primary { background:#3467a2; box-shadow:none; border:1px solid #3467a2; }
.public-shell .btn-primary:hover { background:#245585; }
.public-shell :is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid #1d6fd0; outline-offset:2px; }
@media(max-width:767px){ .public-shell .public-navbar { padding:9px 0; } .public-shell .public-hero { padding:22px 0; } .public-shell:is([data-hd-page="login"],[data-hd-page="client_login"],[data-hd-page="login_mfa"]) .hero-card { padding:20px 18px; margin:0 auto; } .public-shell .hero-title { font-size:clamp(27px,7vw,36px); } .public-shell .category-card { padding:15px; } }

/* 19.7.6: a SINGLE visible focus treatment on both login forms (not border+shadow+outline). */
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"]) .hero-card .form-control:focus-visible {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 2px rgba(37,99,235,.20);
}
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"]) .hd-password-wrap { position:relative; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"]) .hd-password-wrap .form-control { padding-right:51px; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"]) .hd-password-toggle {
    position:absolute; right:5px; top:50%; transform:translateY(-50%);
    display:flex; align-items:center; justify-content:center; width:36px; height:34px;
    border:0; border-radius:6px; background:transparent; color:#536b83; cursor:pointer;
}
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"]) .hd-password-toggle:hover { background:#edf3fa; color:#225c98; }
.public-shell:is([data-hd-page="login"],[data-hd-page="client_login"]) .hd-password-toggle:focus-visible { outline:2px solid #2563eb; outline-offset:1px; }
