/* =====================================================================
   NewDayChat – site.css
   Custom overrides on top of Bootstrap 5.
   ===================================================================== */

/* ── Full-height shell ──────────────────────────────────────────────── */
html, body { height: 100%; overflow: hidden; }

/* The Blazor component root must fill the full viewport height */
#blazor-error-ui { display: none; }

/* ── Brand / logo font ──────────────────────────────────────────────── */
.ndc-brand {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-weight: 800;
    letter-spacing: -.02em;
}

/* ── Auth pages background ──────────────────────────────────────────── */
.ndc-auth-bg {
    background: linear-gradient(135deg, #e0e7ff 0%, #f0fdf4 100%);
}

.ndc-login-card {
    width: 100%;
    max-width: 380px;
}

/* ── Page shell & messages scroll ──────────────────────────────────── */

/* Without min-height:0, flex items default to min-height:auto and refuse
   to shrink — the content overflows instead of the div scrolling. */
.ndc-page-shell {
    min-height: 0;
}

.ndc-messages-scroll {
    min-height: 0;
}

/* ── Message card header ────────────────────────────────────────────── */
.ndc-message-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

/* ── Message body (pre) ─────────────────────────────────────────────── */
.ndc-message-body {
    font-family: ui-monospace, "Cascadia Code", "Fira Code", Consolas, monospace;
    font-size: .8375rem;
    line-height: 1.65;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-x: auto;
    color: #212529;
}

/* ── Compose bar ────────────────────────────────────────────────────── */
.ndc-compose-bar {
    box-shadow: 0 2px 8px rgba(0,0,0,.07);
}

.ndc-toolbar {
    background-color: #f8f9fa;
}

.ndc-textarea {
    font-family: ui-monospace, "Cascadia Code", "Fira Code", Consolas, monospace;
    font-size: .875rem;
    resize: none;
}
.ndc-textarea:focus {
    border-color: #86b7fe;
    box-shadow: 0 0 0 .25rem rgba(13,110,253,.15);
}

/* ── Delete button ──────────────────────────────────────────────────── */
.ndc-btn-delete {
    text-decoration: none;
    line-height: 1;
    opacity: .4;
    transition: opacity .15s, color .15s;
}
.ndc-btn-delete:hover {
    color: #dc3545 !important;
    opacity: 1;
}

/* ── Confirm overlay ────────────────────────────────────────────────── */
.ndc-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    padding: 1rem;
    animation: ndcFadeIn .12s ease;
}

.ndc-dialog {
    background: #fff;
    max-width: 420px;
    width: 100%;
    animation: ndcSlideUp .15s ease;
}

@keyframes ndcFadeIn  { from { opacity: 0 } to { opacity: 1 } }
@keyframes ndcSlideUp {
    from { transform: translateY(16px); opacity: 0 }
    to   { transform: translateY(0);    opacity: 1 }
}

/* ── Blazor reconnect UI ────────────────────────────────────────────── */
#blazor-error-ui {
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: .5rem;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    display: none;
    padding: .75rem 1.25rem;
    position: fixed;
    z-index: 1100;
}
#blazor-error-ui.visible { display: block; }
