/*
 * EHIMS site.css
 * Auth page overrides only.
 * Dashboard/sidebar styles come from ehims-style.css (copied from ehims_v2).
 */

/* ── Auth wrapper ────────────────────────────────────────────── */
.auth-wrapper {
    display: flex;
    min-height: 100vh;
}

/* Left panel */
.auth-panel-left {
    width: 380px;
    min-width: 380px;
    background: linear-gradient(135deg, #1F6DB2 0%, #0D7858 100%);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    display: flex;
}

/* Decorative circles */
.auth-panel-decoration { position:absolute; inset:0; z-index:1; pointer-events:none; }
.deco-circle { position:absolute; border-radius:50%;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); }
.deco-circle.c1 { width:300px;height:300px;bottom:-80px;right:-80px; }
.deco-circle.c2 { width:200px;height:200px;top:-50px;right:60px; }
.deco-circle.c3 { width:120px;height:120px;top:40%;right:-30px; }

/* Brand */
.auth-brand { position:relative; z-index:2; margin-bottom:40px; }
.brand-icon { width:72px;height:72px;background:rgba(255,255,255,.15);
    border-radius:20px;display:flex;align-items:center;justify-content:center;
    font-size:2rem;color:#fff;margin-bottom:16px;
    border:2px solid rgba(255,255,255,.2); }
.auth-brand h1 { color:#fff;font-size:2.4rem;font-weight:700;margin:0 0 6px;letter-spacing:2px; }
.auth-brand p  { color:rgba(255,255,255,.75);font-size:.92rem;margin:0;line-height:1.6; }

/* Right panel */
.auth-panel-right {
    flex:1; display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    padding:40px 24px; overflow-y:auto;
    background:#f1f5f9;
}

/* Auth card */
.auth-card {
    background:#fff; border-radius:12px; padding:36px;
    width:100%; max-width:480px;
    box-shadow:0 2px 20px rgba(0,0,0,.07);
    border:1px solid #E2E8F0;
}
.auth-card-header h2 { font-size:1.55rem;font-weight:700;color:#1F6DB2;margin:0 0 6px; }
.auth-card-header p  { color:#64748B;margin:0 0 20px;font-size:.9rem; }

/* Register wider card */
.register-wrapper .auth-panel-right { padding:28px 24px; }
.register-card { max-width:620px; }

/* ── Buttons ─────────────────────────────────────────────────── */
.btn-primary-ehims {
    background:linear-gradient(135deg,#1F6DB2,#0D7858);
    color:#fff;border:none;border-radius:6px;
    padding:11px 20px;font-weight:600;
    transition:all .22s;font-size:.9rem;
}
.btn-primary-ehims:hover {
    background:linear-gradient(135deg,#155a94,#0a5e45);
    color:#fff;box-shadow:0 4px 14px rgba(31,109,178,.3);
    transform:translateY(-1px);
}
.btn-outline-ehims {
    border:1.5px solid #1F6DB2;color:#1F6DB2;
    border-radius:6px;padding:10px 20px;
    font-weight:600;background:transparent;
    transition:all .22s;font-size:.9rem;
}
.btn-outline-ehims:hover { background:rgba(31,109,178,.07);color:#155a94; }

/* ── Form controls ───────────────────────────────────────────── */
.form-control,.form-select {
    border:1.5px solid #CBD5E1; border-radius:6px;
    padding:10px 14px; font-size:.9rem;
    transition:border-color .2s,box-shadow .2s;
}
.form-control:focus,.form-select:focus {
    border-color:#1F6DB2;
    box-shadow:0 0 0 3px rgba(31,109,178,.12);
}
.form-label { font-size:.85rem;font-weight:500;color:#0B0D0E;margin-bottom:5px; }

/* ── Password toggle ─────────────────────────────────────────── */
.password-wrapper { position:relative; }
.btn-toggle-pw {
    position:absolute;right:12px;top:50%;transform:translateY(-50%);
    background:none;border:none;color:#64748B;cursor:pointer;
    padding:0;font-size:.85rem;transition:color .2s;z-index:5;
}
.btn-toggle-pw:hover { color:#1F6DB2; }

/* ── Password requirements ───────────────────────────────────── */
.password-requirements {
    background:#f8fbfe;border:1px solid #CBD5E1;
    border-radius:6px;padding:12px 15px;font-size:.8rem;
}
.req-list { list-style:none;margin:6px 0 0;padding:0;
    display:flex;flex-wrap:wrap;gap:4px 16px; }
.req-list li { color:#888;transition:color .2s; }

/* ── Auth divider ────────────────────────────────────────────── */
.auth-divider { text-align:center;margin:18px 0;position:relative; }
.auth-divider::before { content:'';position:absolute;top:50%;left:0;right:0;
    height:1px;background:#E2E8F0; }
.auth-divider span { position:relative;background:#fff;padding:0 12px;
    color:#64748B;font-size:.8rem; }

/* ── Forgot link ─────────────────────────────────────────────── */
.forgot-link { color:#1F6DB2;font-size:.85rem;font-weight:500;transition:color .2s; }
.forgot-link:hover { color:#155a94; }

/* ── Left panel registration steps ──────────────────────────── */
.register-steps-info { position:relative;z-index:2;width:100%; }
.step-info { display:flex;align-items:flex-start;gap:14px;padding:10px 0; }
.step-info .step-num {
    width:36px;height:36px;min-width:36px;border-radius:50%;
    background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-weight:700;font-size:.9rem;
}
.step-info.active .step-num { background:rgba(255,255,255,.9);color:#1F6DB2;border-color:#fff; }
.step-info.completed .step-num { background:rgba(169,223,179,.3);border-color:#a9dfbf;color:#a9dfbf; }
.step-info strong { color:#fff;display:block;font-size:.9rem; }
.step-info small  { color:rgba(255,255,255,.6);font-size:.78rem; }
.step-connector { width:2px;height:20px;background:rgba(255,255,255,.2);margin:2px 0 2px 17px; }
.step-connector.completed { background:rgba(169,223,179,.5); }

/* ── Left panel hospital badge ───────────────────────────────── */
.left-panel-hospital-badge {
    display:flex;align-items:center;
    background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);
    border-radius:8px;padding:10px 14px;
    color:rgba(255,255,255,.85);font-size:.84rem;font-weight:500;
    position:relative;z-index:2;
}

/* ── Hospital info badge (step 2) ────────────────────────────── */
.hospital-info-badge {
    background:rgba(31,109,178,.06);border:1px solid rgba(31,109,178,.18);
    border-radius:8px;padding:10px 16px;font-size:.85rem;color:#1F6DB2;
}

/* ── Readonly fields ─────────────────────────────────────────── */
.readonly-notice {
    background:#f1f5f9;border:1px solid #CBD5E1;
    border-left:4px solid #1F6DB2;border-radius:8px;
    padding:10px 14px;font-size:.82rem;color:#64748B;
}
.readonly-field { position:relative; }
.readonly-icon {
    position:absolute;right:12px;top:50%;transform:translateY(-50%);
    color:#b0bec5;font-size:.75rem;pointer-events:none;z-index:5;
}
.readonly-input {
    background:#f8fbfe !important;color:#0B0D0E !important;
    border-color:#CBD5E1 !important;cursor:not-allowed;padding-right:36px;
}
.readonly-input:focus { box-shadow:none !important; }

/* ── Terms box ───────────────────────────────────────────────── */
.terms-box {
    background:#f8fbfe;border:1.5px solid #CBD5E1;
    border-radius:8px;padding:14px 16px;transition:border-color .2s;
}
.terms-box .form-check-input {
    width:18px;height:18px;margin-top:2px;cursor:pointer;
    border:2px solid #94A3B8;
}
.terms-box .form-check-input:checked {
    background-color:#09800F;border-color:#09800F;
}
.terms-box .form-check-label {
    font-size:.88rem;color:#0B0D0E;cursor:pointer;padding-left:6px;
}

/* ── Registration success ────────────────────────────────────── */
.success-circle {
    width:90px;height:90px;border-radius:50%;
    background:linear-gradient(135deg,#e9f7ef,#d5f5e3);
    border:3px solid #a9dfbf;display:inline-flex;
    align-items:center;justify-content:center;
    font-size:3rem;color:#09800F;
}
.email-notice-card {
    display:flex;align-items:center;gap:16px;
    background:#f1f5f9;border:1px solid #CBD5E1;
    border-radius:10px;padding:18px 20px;text-align:left;
}
.email-icon {
    width:48px;height:48px;min-width:48px;border-radius:10px;
    background:linear-gradient(135deg,#1F6DB2,#0D7858);
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:1.3rem;
}
.email-address { font-weight:700;color:#1F6DB2;margin:3px 0; }
.checklist { display:flex;flex-direction:column;gap:10px; }
.check-item {
    display:flex;align-items:center;gap:10px;
    font-size:.9rem;padding:8px 14px;
    background:#f8fbfe;border-radius:8px;border:1px solid #E2E8F0;
}
.check-item.pending { opacity:.65; }

/* ── Confirm email pending ───────────────────────────────────── */
.envelope-circle {
    width:96px;height:96px;border-radius:50%;
    background:linear-gradient(135deg,rgba(31,109,178,.08),rgba(31,109,178,.15));
    border:3px solid rgba(31,109,178,.25);
    display:inline-flex;align-items:center;justify-content:center;
    font-size:2.6rem;color:#1F6DB2;
    animation:pulse-ring 2.5s ease-in-out infinite;
}
@keyframes pulse-ring {
    0%,100% { box-shadow:0 0 0 0 rgba(31,109,178,.3); }
    50%      { box-shadow:0 0 0 14px rgba(31,109,178,0); }
}
.email-highlight {
    display:inline-block;background:#f1f5f9;border:1.5px solid #CBD5E1;
    border-radius:8px;padding:10px 22px;font-size:.95rem;
    color:#1F6DB2;word-break:break-all;
}
.pending-steps { display:flex;flex-direction:column;gap:10px;text-align:left; }
.pending-step  {
    display:flex;align-items:center;gap:12px;padding:10px 14px;
    border-radius:8px;font-size:.88rem;border:1px solid #E2E8F0;
}
.pending-step.done    { background:#e8f5e9;border-color:#a5d6a7;color:#2e7d32; }
.pending-step.done i  { color:#2e7d32; }
.pending-step.waiting { background:#f8fbfe;color:#64748B; }
.pending-step.waiting i { color:#FDAF22; }
.alert-info-soft {
    background:#f1f5f9;border:1px solid #CBD5E1;border-radius:8px;
    padding:12px 14px;font-size:.83rem;color:#64748B;text-align:left;
}

/* ── Icon circle ─────────────────────────────────────────────── */
.icon-circle-lg {
    width:80px;height:80px;border-radius:50%;
    background:linear-gradient(135deg,#1F6DB2,#0D7858);
    display:inline-flex;align-items:center;justify-content:center;
    font-size:2rem;color:#fff;box-shadow:0 4px 20px rgba(31,109,178,.25);
}

/* ── Dashboard extras ────────────────────────────────────────── */
.dash-widget-header { display:flex;align-items:center;gap:16px; }
.dash-widget-icon {
    width:52px;height:52px;border-radius:10px;
    display:flex;align-items:center;justify-content:center;font-size:1.5rem;
}
.dash-count { flex:1; }
.dash-title  { font-size:.8rem;font-weight:500;color:#64748B;text-transform:uppercase;letter-spacing:.5px; }
.dash-counts p { font-size:2rem;font-weight:700;margin:4px 0 0;color:#0B0D0E; }

.bg-primary-light  { background:rgba(31,109,178,.12) !important; }
.bg-success-light  { background:rgba(9,128,15,.12) !important; }
.bg-warning-light  { background:rgba(253,175,34,.12) !important; }
.bg-danger-light   { background:rgba(183,28,28,.12) !important; }
.text-primary  { color:#1F6DB2 !important; }
.text-success  { color:#09800F !important; }
.text-warning  { color:#FDAF22 !important; }
.text-danger   { color:#B71C1C !important; }

.badge-primary-light   { background:rgba(31,109,178,.15);color:#1F6DB2;padding:4px 10px;border-radius:20px;font-size:.75rem; }
.badge-success-light   { background:rgba(9,128,15,.15);color:#09800F;padding:4px 10px;border-radius:20px;font-size:.75rem; }
.badge-warning-light   { background:rgba(253,175,34,.15);color:#9a6a00;padding:4px 10px;border-radius:20px;font-size:.75rem; }
.badge-secondary-light { background:#EEF2F7;color:#475569;padding:4px 10px;border-radius:20px;font-size:.75rem; }

.contact-list { list-style:none;padding:0;margin:0; }
.contact-list li { border-bottom:1px solid #f1f5f9;padding:10px 0; }
.contact-list li:last-child { border-bottom:none; }
.contact-cont { display:flex;align-items:flex-start;gap:12px; }
.contact-type {
    width:34px;height:34px;min-width:34px;border-radius:8px;
    background:rgba(31,109,178,.08);display:flex;
    align-items:center;justify-content:center;color:#1F6DB2;font-size:.9rem;
}
.contact-name { display:block;font-size:.88rem;font-weight:600; }
.contact-val  { display:block;font-size:.75rem; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width:991px) {
    .auth-panel-left { display:none !important; }
    .auth-card { max-width:100%; }
}

/* ════════════════════════════════════════════════════
   TEXT + ICON LOGO
   ════════════════════════════════════════════════════ */
.ehims-logo-link {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    padding: 4px 6px;
    border-radius: 8px;
    transition: background .2s;
}
.ehims-logo-link:hover { background: rgba(31,109,178,.06); }
.ehims-logo-icon { flex-shrink: 0; line-height: 1; }
.ehims-logo-text {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0B0D0E;
    letter-spacing: .5px;
    line-height: 1;
}
.logo-e {
    color: #1F6DB2;
    font-style: italic;
}

/* Sidebar logo text */
.ehims-sidebar-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}
.sidebar-logo-text {
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: .5px;
}
.logo-e-sidebar { color: rgba(255,255,255,.7); font-style: italic; }

/* ════════════════════════════════════════════════════
   TOPBAR BADGES (IP / Location / Session)
   ════════════════════════════════════════════════════ */
.topbar-info-badges { display: flex; align-items: center; gap: 6px; }

.topbar-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(31,109,178,.07);
    border: 1px solid rgba(31,109,178,.15);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: .75rem;
    color: #1F6DB2;
    white-space: nowrap;
}
.topbar-badge-warning {
    background: rgba(253,175,34,.1);
    border-color: rgba(253,175,34,.25);
    color: #7a5500;
}
.session-critical {
    background: rgba(183,28,28,.1) !important;
    border-color: rgba(183,28,28,.3) !important;
    color: #B71C1C !important;
    animation: blink-session .8s ease-in-out infinite;
}
@keyframes blink-session {
    0%,100% { opacity: 1; }
    50%      { opacity: .6; }
}

/* ════════════════════════════════════════════════════
   STAT CARDS (Dashboard)
   ════════════════════════════════════════════════════ */
.stat-card-widget {
    border: 1px solid #E2E8F0;
    border-radius: 12px;
    box-shadow: 0 1px 8px rgba(0,0,0,.04);
    transition: transform .2s, box-shadow .2s;
}
.stat-card-widget:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.stat-icon-wrap {
    width: 52px; height: 52px;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.stat-number {
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1.1;
    margin: 4px 0 2px;
}
.stat-label {
    font-size: .78rem;
    font-weight: 600;
    color: #64748B;
    text-transform: uppercase;
    letter-spacing: .6px;
    margin-bottom: 10px;
}
.stat-footer {
    border-top: 1px solid #F1F5F9;
    padding-top: 10px;
    margin-top: 4px;
}

/* ════════════════════════════════════════════════════
   USER AVATAR on Dashboard
   ════════════════════════════════════════════════════ */
.user-avatar-circle {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1F6DB2, #0D7858);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.6rem;
    font-weight: 700;
}

/* ════════════════════════════════════════════════════
   MODULE MINI CARDS
   ════════════════════════════════════════════════════ */
.module-mini-card {
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    transition: all .2s;
}
.module-mini-card:hover {
    border-color: #1F6DB2;
    box-shadow: 0 3px 12px rgba(31,109,178,.1);
    transform: translateY(-2px);
}
.module-mini-icon {
    width: 40px; height: 40px; min-width: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
}

/* ════════════════════════════════════════════════════
   BADGE EXTRAS
   ════════════════════════════════════════════════════ */
.badge-danger-light {
    background: rgba(183,28,28,.12);
    color: #B71C1C;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: .75rem;
}

/* ════════════════════════════════════════════════════
   AUTH BRAND (left panel)
   ════════════════════════════════════════════════════ */
.auth-brand-logo { line-height: 1; }
.auth-brand-title {
    font-size: 2.4rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1.5px;
    margin: 0 0 6px;
}
.brand-e { color: rgba(255,255,255,.7); font-style: italic; }
.auth-brand-sub { color: rgba(255,255,255,.7); font-size: .9rem; margin: 0; line-height: 1.6; }

/* Feature list on login left panel */
.auth-features { position: relative; z-index: 2; }
.feature-item {
    color: rgba(255,255,255,.85);
    font-size: .88rem;
    padding: 8px 0;
    display: flex;
    align-items: center;
}
.text-success-light { color: #a9dfbf !important; }

/* Mobile brand on login */
.auth-mobile-brand { display: flex; align-items: center; }

/* Info box */
.info-box {
    background: #f1f5f9;
    border-radius: 8px;
    padding: 12px 15px;
    font-size: .82rem;
    border: 1px solid #CBD5E1;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

/* ════════════════════════════════════════════════════
   PAGE HEADER (dashboard/users)
   ════════════════════════════════════════════════════ */
.page-title { font-size: 1.45rem; font-weight: 700; color: #0B0D0E; margin: 0 0 4px; }
.breadcrumb  { font-size: .82rem; margin: 0; padding: 0; background: none; }
.breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #94A3B8; }
.breadcrumb-item a { color: #1F6DB2; text-decoration: none; }
.breadcrumb-item.active { color: #64748B; }

/* ═══════════════════════════════════════════════
   TOPBAR — 3-column grid layout
   ═══════════════════════════════════════════════ */
.topbar-center-info {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* ═══════════════════════════════════════════════
   SQUARE PROFILE AVATAR (not circle)
   ═══════════════════════════════════════════════ */
.topbar-avatar-sq {
    width: 34px;
    height: 34px;
    min-width: 34px;
    border-radius: 8px;           /* rounded square */
    background: var(--primary, #1F6DB2);
    color: #fff;
    font-size: .88rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity .2s;
}
.topbar-avatar-sq:hover { opacity: .88; }

/* ═══════════════════════════════════════════════
   SIDEBAR WHITE LOGO
   ═══════════════════════════════════════════════ */
.ehims-sidebar-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
}
.sidebar-logo-icon { flex-shrink: 0; line-height: 1; }
.sidebar-logo-text {
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: .5px;
    line-height: 1;
}
.logo-e-sidebar { color: rgba(255,255,255,.65); font-style: italic; }

/* ═══════════════════════════════════════════════
   MASTER TABLE extras
   ═══════════════════════════════════════════════ */
.badge-warning-light {
    background: rgba(253,175,34,.15);
    color: #7a5500;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: .75rem;
}
.thead-light th {
    background: #f8fbfe;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #64748B;
    border-bottom: 1px solid #E2E8F0 !important;
    padding: 12px 16px;
}
.table td { padding: 12px 16px; vertical-align: middle; font-size: .88rem; }

/* ═══════════════════════════════════════════════════
   SIDEBAR LOGO — matches topbar height exactly
   ═══════════════════════════════════════════════════ */
.ehims-sidebar-logo-wrap {
    height: var(--topbar-height, 56px);   /* match topbar height */
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: 0 18px;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

/* ═══════════════════════════════════════════════════
   HOSPITAL NAME IN TOPBAR (right-aligned)
   ═══════════════════════════════════════════════════ */
.topbar-hospital-name {
    font-size: .82rem;
    font-weight: 700;
    color: #1F6DB2;
    letter-spacing: .3px;
    max-width: 220px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

/* ═══════════════════════════════════════════════════
   BREADCRUMB → PANEL spacing (+8px)
   ═══════════════════════════════════════════════════ */
.page-header {
    margin-bottom: 28px;   /* was 20px → +8px */
}

/* ═══════════════════════════════════════════════════
   REGISTRATION FORMS
   ═══════════════════════════════════════════════════ */
.reg-input::placeholder { font-size: .82rem; color: #adb5bd; }

/* Numeric input right-align */
input[type="number"].text-end { text-align: right; }

/* ═══════════════════════════════════════════════════
   TOPBAR INFO RIGHT — hospital + IP + location + session
   ═══════════════════════════════════════════════════ */
.topbar-info-right {
    flex: 0 0 auto;
    gap: 6px;
}
.topbar-divider {
    color: #CBD5E1;
    font-weight: 300;
    font-size: 1rem;
    margin: 0 2px;
    user-select: none;
}

/* ═══════════════════════════════════════════════════
   SELECT / DROPDOWN — fix text truncation
   All form-select elements get proper overflow handling
   ═══════════════════════════════════════════════════ */
.form-select {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    padding-right: 2rem !important;  /* room for arrow icon */
    min-width: 0;
    width: 100%;
}
/* Ensure selects inside table cells / tight containers don't overflow */
td .form-select,
.reg-input.form-select {
    max-width: 100%;
}

/* ═══════════════════════════════════════════════════
   OPD SECTION HEADERS
   ═══════════════════════════════════════════════════ */
.opd-section-header { border: none; background: transparent; }
.opd-section-header:hover { opacity: .85; }

/* ═══════════════════════════════════════════════════
   FILTER PANEL
   ═══════════════════════════════════════════════════ */
.filter-input:focus {
    border-color: #1F6DB2;
    box-shadow: 0 0 0 2px rgba(31,109,178,.12);
}

/* ═══════════════════════════════════════════════════
   TOPBAR: Hospital badge with label
   ═══════════════════════════════════════════════════ */
.topbar-badge-hospital {
    background: rgba(31,109,178,.08);
    border: 1px solid rgba(31,109,178,.2);
    border-radius: 6px;
    padding: 4px 10px;
    font-size: .75rem;
    color: #1F6DB2;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ═══════════════════════════════════════════════════
   OPD: Fee readonly display
   ═══════════════════════════════════════════════════ */
.fee-readonly {
    background: #f0faf5;
    border: 1.5px solid rgba(13,120,88,.25);
    border-radius: 6px;
    padding: 5px 12px;
    font-size: .92rem;
    font-weight: 700;
    color: #0D7858;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 34px;
    cursor: not-allowed;
    user-select: none;
}

/* ═══════════════════════════════════════════════════
   UPI / POS Payment styles
   ═══════════════════════════════════════════════════ */
.text-purple { color: #673AB7 !important; }

.pay-mode-btn.active {
    border-color: #1F6DB2 !important;
    background: #EBF4FF !important;
    color: #1F6DB2 !important;
}

/* RegistrationFee highlighted in hospital info */
.reg-fee-input {
    border-color: rgba(13,120,88,.3) !important;
    background: #f0faf5 !important;
    font-weight: 700;
    color: #0D7858;
}

/* ═══════════════════════════════════════════════════
   GLOBAL: Increase form control height
   ═══════════════════════════════════════════════════ */
.form-control,
.form-select {
    min-height: 42px;
    font-size: .9rem;
    padding: 8px 12px;
}
input.form-control,
select.form-select { height: 42px; }
textarea.form-control { height: auto; min-height: 80px; }

/* Input group addon heights */
.input-group-text { height: 42px; }

/* Table / Master view controls stay compact */
.fi.form-control, .fi.form-select,
.reg-input.form-control, .reg-input.form-select { height: 34px; min-height: 34px; font-size:.87rem; padding:5px 10px; }

/* ═══════════════════════════════════════════════════
   PROFILE PAGE
   ═══════════════════════════════════════════════════ */
.bg-success-soft { background: rgba(13,120,88,.08) !important; }

/* "Powered by Anvi Technosoft" text on left panel */
.auth-brand-powered {
    color: rgba(255, 255, 255, 0.55);
    font-size: .78rem;
    letter-spacing: .3px;
    margin-bottom: 0;
}

    .auth-brand-powered .powered-name {
        color: rgba(255, 255, 255, 0.85);
        font-weight: 600;
        font-style: italic;
    }
