﻿/* ============================================================
   DICIP IDENTITY PAGES
   Login, Register, Forgot Password, Privacy Policy.
   Layout: IdentityLayout centres everything via .center-container.
   ============================================================ */

/* ── Centering shell ─────────────────────────────────────── */

.ak-MainLyoutlogingresiter {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 90vh;
}

.center-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}

/* ── Card container ──────────────────────────────────────── */

.login-panel-cont {
    display: flex;
    flex-direction: column;
    width: 400px;
    padding: 12px 28px 24px;
    text-align: center;
    background-color: var(--dicip-bg-card);
    border: 1px solid var(--dicip-border);
    border-radius: var(--dicip-radius-xl);
    box-shadow: var(--dicip-shadow-md);
    color: var(--dicip-text-primary);
}
    .login-panel-cont .mud-typography-h2 {
        font-size: 1.75rem !important;
        font-weight: 700;
        line-height: 1.3;
        margin-bottom: 16px;
    }

.register-panel-cont-w {
    width: 540px !important;
}

@media (max-width: 600px) {
    .login-panel-cont,
    .register-panel-cont-w {
        width: 100% !important;
        padding: 12px 16px 20px;
        border-radius: var(--dicip-radius-lg);
        box-shadow: none;
    }
}

/* ── Card header (logo area) ─────────────────────────────── */

.login-panel-cont .mud-card-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 0 4px;
    max-height: 72px;
}

.register-panel-cont-w .mud-card-header {
    max-height: 72px;
}

.login-panel-cont .login-logo-box {
    background-color: transparent;
    width: auto;
    height: 48px;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .login-panel-cont .login-logo-box img {
        filter: invert(1) brightness(0); /* white SVG → black */
        height: 40px;
        width: auto;
        object-fit: contain;
    }
 

/* ── Card content ────────────────────────────────────────── */

.login-panel-cont .mud-card-content {
    width: 100%;
    padding: 0;
}

/* ── Form field spacing ──────────────────────────────────── */

.vertical-grid {
    width: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

.login-panel-cont .input-inline-c {
    padding-left: 0;
    padding-top: 14px;
    margin-bottom: 10px;
}

.login-panel-cont .input-inline-c-space {
    padding-top: 14px;
    margin-bottom: 10px;
}
/* Collapse MudGrid's default row gap inside the identity card */
.login-panel-cont .mud-grid {
    row-gap: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.login-panel-cont .mud-grid-item {
    padding-top: 8px !important;
    padding-bottom: 0 !important;
}

/* Collapse MudCardContent padding */
.login-panel-cont .mud-card-content {
    padding-top: 0 !important;
    padding-bottom: 8px !important;
}

/* Tighten spacing inside register specifically */
.register-panel-cont-w .input-inline-c,
.register-panel-cont-w .input-inline-c-space {
    padding-top: 8px !important;
    margin-bottom: 4px !important;
}

.register-panel-cont-w.login-panel-cont {
    padding: 8px 24px 16px;
}
 
.register-panel-cont-w .mrg-lr-auto {
    margin-top: 2px;
}
 
 
/* Fix browser autofill yellow background on input fields */
.login-panel-cont input:-webkit-autofill,
.login-panel-cont input:-webkit-autofill:hover,
.login-panel-cont input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--dicip-bg-card) inset !important;
    -webkit-text-fill-color: var(--dicip-text-primary) !important;
    caret-color: var(--dicip-text-primary);
}
/* Remove CardHeaderAvatar wrapper padding */
.login-panel-cont .mud-card-header-avatar {
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Collapse card header completely */
.login-panel-cont .mud-card-header {
    padding: 16px 0 8px !important;
    min-height: unset !important;
}

/* Remove MudCardActions extra padding at bottom */
.login-panel-cont .mud-card-actions {
    padding: 0 0 12px !important;
}

/* Remove MudStack mb-4 bottom margin on button row */
.login-panel-cont .mrg-lr-auto.mb-4 {
    margin-bottom: 8px !important;
}

/* Remove vertical-grid top margin MudBlazor adds */
.login-panel-cont .vertical-grid {
    margin-top: 0 !important;
}

/* White background on text inputs inside register */
.register-panel-cont-w .mud-input-control > .mud-input-control-input-container {
    background: #fff;
    border-radius: var(--dicip-radius-md);
}

/* ── Submit button row ───────────────────────────────────── */

.login-panel-cont .log-btn {
    gap: 0;
}

.login-panel-cont .mrg-lr-auto {
    margin-left: auto;
    margin-right: auto;
    margin-top: 4px;
    gap: 5px;
}

/* ── Alerts ──────────────────────────────────────────────── */

.login-panel-cont .mud-alert {
    margin-top: 8px;
    margin-bottom: 8px;
    text-align: left;
    border-radius: var(--dicip-radius-md);
}

.register-panel-cont-w .mud-card-content .mud-alert {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

/* ── Privacy checkbox row ────────────────────────────────── */

.P-check-inline {
    display: inline-flex;
    align-items: center;
    padding-left: 0 !important;
    padding-top: 0 !important;
    height: 42px;
    margin-bottom: 10px;
    border-radius: var(--dicip-radius-sm);
}

.register-panel-cont-w .P-check-inline .mud-input-control > .mud-input-control-input-container {
    background: transparent;
}

.Btn-txt-link {
    line-height: 2.8em;
    margin-left: 10px;
    color: var(--dicip-primary);
}

/* ── Privacy policy dialog ───────────────────────────────── */

.PrivacyP-dialogpage {
    padding: 15px;
    background: transparent;
    box-shadow: none;
}

.PrivacyPolicyPage {
    margin-top: 4px;
}

.Pp-subtpage {
    padding: 12px;
    background-color: var(--dicip-bg-card);
    margin-top: 10px;
    gap: 2px;
}

.PrivacyDialog .Pp-subtpage {
    padding: 0;
    background-color: unset;
    margin-top: 0;
    border-top: 1px solid var(--dicip-border-soft);
    border-radius: 0;
    padding-top: 8px;
}

.PrivacyDialog .PrivacyPolicyPage .mud-typography-h3 {
    font-size: 1.25rem !important;
    line-height: 2.5rem;
}

.PrivacyDialog.mud-dialog:not(.mud-message-box) {
    position: fixed;
    top: 10%;
    left: 2%;
    width: 500px !important;
    min-height: 510px;
    max-height: 80vh !important;
}

@media (max-width: 600px) {
    .PrivacyDialog.mud-dialog:not(.mud-message-box) {
        width: 100% !important;
        left: 0;
        top: 0;
    }
}

/* ── 404 page ────────────────────────────────────────────── */

.my-notfound-layout {
    padding: 2rem;
    border-radius: var(--dicip-radius-lg);
    max-width: 420px;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.logo-wrapper404 {
    text-align: center;
    margin-top: 50px;
}

.simple-404 {
    text-align: center;
    margin-top: 15px;
}

    .simple-404 h1 {
        font-size: 122px !important;
        color: #a5a5a580;
        margin-bottom: 4px;
        font-weight: 700 !important;
    }

    .simple-404 p {
        font-size: 20px;
        color: var(--dicip-text-secondary);
    }

.not-found-alert {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}

/* ── Page loader overlay ─────────────────────────────────── */

div.P2-loader,
.Ref-overlay-loader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.27);
    backdrop-filter: blur(3px);
}

.mud-dialog div.P2-loader {
    background: transparent !important;
    backdrop-filter: none !important;
}

/* ── Disabled input treatment ────────────────────────────── */

.mud-input.mud-input-outlined.mud-disabled .mud-input-outlined-border {
    background: #9ea4b357 !important;
    pointer-events: all;
    cursor: not-allowed;
    user-select: none;
}

/* ── Responsive: tablets (768–834px) ────────────────────── */

@media only screen and (max-width: 834px) and (min-width: 428px) {
    .ak-MainLyoutlogingresiter {
        align-items: flex-start;
        padding-top: 0;
    }

    .register-panel-cont-w {
        width: 540px !important;
        margin-bottom: 30vh;
    }
}

/* ── Responsive: mobile (300–427px) ─────────────────────── */

@media only screen and (max-width: 427px) and (min-width: 300px) {
    .ak-MainLyoutlogingresiter {
        align-items: flex-start;
        padding-top: 0;
    }

    .login-panel-cont {
        width: 300px !important;
        max-width: 300px;
        min-width: 300px;
        padding: 10px !important;
        margin: 0;
        overflow: hidden;
    }

    .register-panel-cont-w {
        width: 300px !important;
        margin-bottom: 30vh;
    }

        .register-panel-cont-w .P-check-inline p {
            padding-top: 1px;
            font-size: 9px;
            height: 30px;
            word-break: break-all;
            width: 105px;
            text-align: left;
        }

    .Btn-txt-link {
        line-height: 2.8em;
        margin-left: 10px;
        height: 30px;
        display: block;
        font-size: 11px;
        margin-top: 5px;
    }
}
