/*
 * Hospital Management System - brand theme overrides.
 * Loaded AFTER bootstrap.min.css and style.css (the DreamsPOS template),
 * so every rule here intentionally reuses the same selectors as those
 * files to override their hardcoded colors via normal cascade order,
 * without editing the vendor files directly.
 *
 * Palette:
 *   Dark Blue  #020166  - primary brand color (headers, nav, buttons, links)
 *   Green      #2E9402  - success / positive actions / medical accents
 *   Light Yellow #FFE57C - highlights / subtle accents / cautionary badges
 *
 * Font: Maiandra GD, with a safe system-font fallback stack for machines
 * that don't have it installed (it's a proprietary desktop font with no
 * redistributable web version, so it can't be embedded via @font-face).
 */

:root {
    --brand-primary: #020166;
    --brand-primary-rgb: 2, 1, 102;
    --brand-primary-dark: #010040;
    --brand-primary-light: #232180;
    --brand-success: #2E9402;
    --brand-success-rgb: 46, 148, 2;
    --brand-success-dark: #226e01;
    --brand-accent: #FFE57C;
    --brand-accent-rgb: 255, 229, 124;
    --brand-accent-dark: #e8c94f;
    --brand-font: 'Maiandra GD', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* ==========================================================================
   Global font
   ========================================================================== */
html, body {
    font-family: var(--brand-font);
}

.btn, .form-control, .form-select, .form-check-label, .dropdown-menu, .dropdown-item,
table, .card, .modal, .alert, .badge, input, textarea, select, label,
h1, h2, h3, h4, h5, h6, .nav-link, .page-title, .sidebar-menu, .toast {
    font-family: var(--brand-font);
}

/* ==========================================================================
   Links
   ========================================================================== */
a {
    color: var(--brand-primary);
}
a:hover {
    color: var(--brand-success);
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn-primary {
    --bs-btn-bg: var(--brand-primary);
    --bs-btn-border-color: var(--brand-primary);
    --bs-btn-hover-bg: var(--brand-primary-light);
    --bs-btn-hover-border-color: var(--brand-primary-light);
    --bs-btn-active-bg: var(--brand-primary-dark);
    --bs-btn-active-border-color: var(--brand-primary-dark);
    --bs-btn-disabled-bg: var(--brand-primary);
    --bs-btn-disabled-border-color: var(--brand-primary);
    --bs-btn-focus-shadow-rgb: var(--brand-primary-rgb);
}
.btn-outline-primary {
    --bs-btn-color: var(--brand-primary);
    --bs-btn-border-color: var(--brand-primary);
    --bs-btn-hover-bg: var(--brand-primary);
    --bs-btn-hover-border-color: var(--brand-primary);
    --bs-btn-active-bg: var(--brand-primary-dark);
    --bs-btn-active-border-color: var(--brand-primary-dark);
}
.btn-success {
    --bs-btn-bg: var(--brand-success);
    --bs-btn-border-color: var(--brand-success);
    --bs-btn-hover-bg: var(--brand-success-dark);
    --bs-btn-hover-border-color: var(--brand-success-dark);
    --bs-btn-active-bg: var(--brand-success-dark);
    --bs-btn-active-border-color: var(--brand-success-dark);
    --bs-btn-focus-shadow-rgb: var(--brand-success-rgb);
}
.btn-outline-success {
    --bs-btn-color: var(--brand-success);
    --bs-btn-border-color: var(--brand-success);
    --bs-btn-hover-bg: var(--brand-success);
    --bs-btn-hover-border-color: var(--brand-success);
}
.btn-warning {
    --bs-btn-bg: var(--brand-accent);
    --bs-btn-border-color: var(--brand-accent-dark);
    --bs-btn-color: #4a3b00;
    --bs-btn-hover-bg: var(--brand-accent-dark);
    --bs-btn-hover-border-color: var(--brand-accent-dark);
    --bs-btn-hover-color: #4a3b00;
    --bs-btn-active-bg: var(--brand-accent-dark);
    --bs-btn-active-color: #4a3b00;
}

/* ==========================================================================
   Text / background / border utilities
   ========================================================================== */
.text-primary { color: var(--brand-primary) !important; }
.text-success { color: var(--brand-success) !important; }
.bg-primary { background-color: var(--brand-primary) !important; }
.bg-success { background-color: var(--brand-success) !important; }
.border-primary { border-color: var(--brand-primary) !important; }
.border-success { border-color: var(--brand-success) !important; }

.badge.bg-primary { background-color: var(--brand-primary) !important; }
.badge.bg-success { background-color: var(--brand-success) !important; }
.badge.bg-warning { background-color: var(--brand-accent) !important; color: #4a3b00 !important; }

.alert-success { background-color: rgba(var(--brand-success-rgb), 0.12); border-color: rgba(var(--brand-success-rgb), 0.3); color: var(--brand-success-dark); }
.alert-warning { background-color: rgba(var(--brand-accent-rgb), 0.35); border-color: var(--brand-accent-dark); color: #4a3b00; }

/* Form focus ring + checkbox/radio accent, tuned to the brand color instead of default Bootstrap blue */
.form-control:focus, .form-select:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--brand-primary-rgb), 0.15);
}
.form-check-input:checked {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}
.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--brand-primary-rgb), 0.15);
}

/* ==========================================================================
   Top header bar — brand gradient + module title
   ========================================================================== */
.header {
    background: radial-gradient(circle at 30% 30%, var(--brand-success) 0%, var(--brand-accent) 50%, var(--brand-primary) 100%) !important;
}
.header-left {
    background: transparent !important;
}
.header .nav-searchinputs {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
}
.header .top-nav-search {
    min-width: 0;
    width: 100%;
}
.header .top-nav-search h2,
.header .module-title {
    color: #ffffff;
    font-family: var(--brand-font);
    font-weight: 700;
    font-size: 1.15rem;
    margin: 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.header .user-menu .nav-link,
.header .mobile_btn {
    color: #ffffff;
}
.header .bar-icon span {
    background-color: #ffffff;
}

@media (max-width: 767.98px) {
    .header .top-nav-search h2,
    .header .module-title {
        font-size: 0.95rem;
    }
}

/* ==========================================================================
   Sidebar — white surface with a solid yellow "pill" for the active item
   (the app's sidebar links use <i class="ti ..."> icon-font glyphs, not
   <svg>, so icon color comes from the link's own `color` via currentColor —
   no separate icon selector needed).
   ========================================================================== */
.sidebar, .settings-sidebar {
    background-color: #ffffff !important;
    border-right: 1px solid #ECEEF1;
}
.header-left, .header-left.active {
    background-color: #ffffff !important;
}
.header-left .logo i {
    color: var(--brand-primary);
}
.sidebar .sidebar-menu > ul > li > ul > li > a,
.settings-sidebar .sidebar-menu > ul > li > ul > li > a {
    color: var(--brand-primary);
    border-radius: 8px;
    margin: 2px 4px;
}
.sidebar .sidebar-menu > ul > li > ul > li > a:hover {
    background-color: rgba(var(--brand-primary-rgb), 0.06);
    color: var(--brand-primary);
}
/* The app puts the "active" class on the <a> itself, not the <li> */
.sidebar .sidebar-menu > ul > li > ul > li > a.active,
.settings-sidebar .sidebar-menu > ul > li > ul > li > a.active {
    background: var(--brand-accent);
    border-radius: 10px;
    color: var(--brand-primary-dark) !important;
    font-weight: 700;
}
.submenu-hdr {
    color: #8A93A3 !important;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.menu-count {
    margin-left: 4px;
    font-size: 0.8em;
    color: #8A93A3;
    font-weight: 600;
}
li a.active .menu-count {
    color: inherit;
}

/* ==========================================================================
   Page title / headings
   ========================================================================== */
.page-title h4 {
    color: var(--brand-primary);
    font-weight: 700;
}
.card-header h6, .card-header h5 {
    color: var(--brand-primary);
}

/* ==========================================================================
   Tabs / pagination — replace the template's leftover gold accent
   ========================================================================== */
.nav-tabs .nav-link.active {
    border-color: var(--brand-primary) !important;
    color: var(--brand-primary) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.pagination .page-item.active .page-link {
    background: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #ffffff !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(var(--brand-primary-rgb), 0.12) !important;
    color: var(--brand-primary) !important;
}

/* ==========================================================================
   Dashboard KPI cards — a colored "hero" row for the headline metrics and
   a plain white "mini" row for secondary ones, matching the reference
   layout. Every dashboard view fills these with real computed numbers
   (no fabricated metrics) — see DashboardController.
   ========================================================================== */
.dash-welcome h4 { color: var(--brand-primary); font-weight: 700; }
.dash-welcome p { color: #6b7280; }

.stat-hero-card {
    border-radius: 14px;
    padding: 20px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    min-height: 128px;
    box-shadow: 0 6px 16px rgba(2, 1, 102, 0.12);
}
.stat-hero-card .stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 14px;
}
.stat-hero-card .stat-value { font-size: 1.8rem; font-weight: 700; line-height: 1; }
.stat-hero-card .stat-label { font-size: 0.85rem; opacity: 0.92; margin-top: 4px; }
.stat-hero-card .stat-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(255, 255, 255, 0.25);
    border-radius: 20px;
    padding: 2px 10px;
    font-size: 0.72rem;
    font-weight: 600;
}
.stat-hero-navy { background: var(--brand-primary); }
.stat-hero-green { background: var(--brand-success); }
.stat-hero-yellow { background: linear-gradient(135deg, var(--brand-accent) 0%, var(--brand-accent-dark) 100%); color: #4a3b00; }
.stat-hero-yellow .stat-icon { background: rgba(74, 59, 0, 0.15); }
.stat-hero-red { background: #C0392B; }

/* Attention pulse for stat-hero cards that need the doctor's immediate
   notice (e.g. Today's Appointments / Awaiting in Queue). A soft ring
   pulse + gentle icon-dot blink — deliberately subtle so it reads as
   "needs attention" rather than an alarm. Respects reduced-motion. */
.dash-attention { animation: dashAttentionRing 2.2s ease-in-out infinite; }
.dash-attention .stat-icon { position: relative; }
.dash-attention .stat-icon::after {
    content: "";
    position: absolute;
    top: -3px;
    right: -3px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ffffff;
    animation: dashAttentionDot 2.2s ease-in-out infinite;
}
@keyframes dashAttentionRing {
    0%, 100% { box-shadow: 0 6px 16px rgba(2, 1, 102, 0.12), 0 0 0 0 rgba(255, 255, 255, 0.55); }
    50% { box-shadow: 0 6px 16px rgba(2, 1, 102, 0.12), 0 0 0 8px rgba(255, 255, 255, 0); }
}
@keyframes dashAttentionDot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.75); }
}
@media (prefers-reduced-motion: reduce) {
    .dash-attention, .dash-attention .stat-icon::after { animation: none; }
}

.stat-mini-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: 0 2px 10px rgba(2, 1, 102, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
.stat-mini-card .stat-mini-value { font-size: 1.4rem; font-weight: 700; color: var(--brand-primary); }
.stat-mini-card .stat-mini-label { font-size: 0.8rem; color: #6b7280; }
.stat-mini-card .stat-mini-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--brand-primary-rgb), 0.08);
    color: var(--brand-primary);
    font-size: 18px;
    flex-shrink: 0;
}

.panel-card {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(2, 1, 102, 0.06);
    padding: 18px;
    height: 100%;
}
.panel-card h6 { color: var(--brand-primary); font-weight: 700; margin-bottom: 14px; }
.panel-card .list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #F2F3F5;
}
.panel-card .list-item:last-child { border-bottom: none; }
.panel-card a.list-item { cursor: pointer; transition: background-color .15s; border-radius: 8px; }
.panel-card a.list-item:hover { background-color: #F7F8FC; padding-left: 8px; padding-right: 8px; }
.avatar-badge {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(var(--brand-primary-rgb), 0.1);
    color: var(--brand-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8rem;
    margin-right: 10px;
}

/* ==========================================================================
   Login page helpers (see auth/login.php for the full layout)
   ========================================================================== */
.account-page {
    font-family: var(--brand-font);
}

/* ==========================================================================
   Global page loader spinner — retinted from the theme's stock gold accent
   to the brand primary color (full box-shadow ring, colors swapped only).
   ========================================================================== */
div#global-loader .whirly-loader:not(:required) {
  animation: whirly-loader 1.25s linear infinite;
  background: transparent;
  box-shadow: 0 26px 0 6px #020166, 0.90971px 26.05079px 0 5.93333px #020166, 1.82297px 26.06967px 0 5.86667px #020166, 2.73865px 26.05647px 0 5.8px #020166, 3.65561px 26.01104px 0 5.73333px #020166, 4.57274px 25.93327px 0 5.66667px #020166, 5.48887px 25.8231px 0 5.6px #020166, 6.40287px 25.68049px 0 5.53333px #020166, 7.31358px 25.50548px 0 5.46667px #020166, 8.21985px 25.2981px 0 5.4px #020166, 9.12054px 25.05847px 0 5.33333px #020166, 10.01448px 24.78672px 0 5.26667px #020166, 10.90054px 24.48302px 0 5.2px #020166, 11.77757px 24.1476px 0 5.13333px #020166, 12.64443px 23.78072px 0 5.06667px #020166, 13.5px 23.38269px 0 5px #020166, 14.34315px 22.95384px 0 4.93333px #020166, 15.17277px 22.49455px 0 4.86667px #020166, 15.98776px 22.00526px 0 4.8px #020166, 16.78704px 21.48643px 0 4.73333px #020166, 17.56953px 20.93855px 0 4.66667px #020166, 18.33418px 20.36217px 0 4.6px #020166, 19.07995px 19.75787px 0 4.53333px #020166, 19.80582px 19.12626px 0 4.46667px #020166, 20.5108px 18.468px 0 4.4px #020166, 21.1939px 17.78379px 0 4.33333px #020166, 21.85416px 17.07434px 0 4.26667px #020166, 22.49067px 16.34043px 0 4.2px #020166, 23.10251px 15.58284px 0 4.13333px #020166, 23.68881px 14.80241px 0 4.06667px #020166, 24.24871px 14px 0 4px #020166, 24.7814px 13.1765px 0 3.93333px #020166, 25.28607px 12.33284px 0 3.86667px #020166, 25.76198px 11.46997px 0 3.8px #020166, 26.2084px 10.58888px 0 3.73333px #020166, 26.62462px 9.69057px 0 3.66667px #020166, 27.01001px 8.77608px 0 3.6px #020166, 27.36392px 7.84648px 0 3.53333px #020166, 27.68577px 6.90284px 0 3.46667px #020166, 27.97502px 5.94627px 0 3.4px #020166, 28.23116px 4.97791px 0 3.33333px #020166, 28.4537px 3.99891px 0 3.26667px #020166, 28.64223px 3.01042px 0 3.2px #020166, 28.79635px 2.01364px 0 3.13333px #020166, 28.91571px 1.00976px 0 3.06667px #020166, 29px 0 0 3px #020166, 29.04896px -1.01441px 0 2.93333px #020166, 29.06237px -2.03224px 0 2.86667px #020166, 29.04004px -3.05223px 0 2.8px #020166, 28.98185px -4.07313px 0 2.73333px #020166, 28.88769px -5.09368px 0 2.66667px #020166, 28.75754px -6.1126px 0 2.6px #020166, 28.59138px -7.12863px 0 2.53333px #020166, 28.38926px -8.14049px 0 2.46667px #020166, 28.15127px -9.1469px 0 2.4px #020166, 27.87755px -10.1466px 0 2.33333px #020166, 27.56827px -11.1383px 0 2.26667px #020166, 27.22365px -12.12075px 0 2.2px #020166, 26.84398px -13.09268px 0 2.13333px #020166, 26.42956px -14.05285px 0 2.06667px #020166, 25.98076px -15px 0 2px #020166, 25.49798px -15.93291px 0 1.93333px #020166, 24.98167px -16.85035px 0 1.86667px #020166, 24.43231px -17.75111px 0 1.8px #020166, 23.85046px -18.63402px 0 1.73333px #020166, 23.23668px -19.49789px 0 1.66667px #020166, 22.5916px -20.34157px 0 1.6px #020166, 21.91589px -21.16393px 0 1.53333px #020166, 21.21024px -21.96384px 0 1.46667px #020166, 20.4754px -22.74023px 0 1.4px #020166, 19.71215px -23.49203px 0 1.33333px #020166, 18.92133px -24.2182px 0 1.26667px #020166, 18.10379px -24.91772px 0 1.2px #020166, 17.26042px -25.58963px 0 1.13333px #020166, 16.39217px -26.23295px 0 1.06667px #020166, 15.5px -26.84679px 0 1px #020166, 14.58492px -27.43024px 0 0.93333px #020166, 13.64796px -27.98245px 0 0.86667px #020166, 12.69018px -28.50262px 0 0.8px #020166, 11.7127px -28.98995px 0 0.73333px #020166, 10.71663px -29.4437px 0 0.66667px #020166, 9.70313px -29.86317px 0 0.6px #020166, 8.67339px -30.2477px 0 0.53333px #020166, 7.6286px -30.59666px 0 0.46667px #020166, 6.57001px -30.90946px 0 0.4px #020166, 5.49886px -31.18558px 0 0.33333px #020166, 4.41643px -31.42451px 0 0.26667px #020166, 3.32401px -31.6258px 0 0.2px #020166, 2.22291px -31.78904px 0 0.13333px #020166, 1.11446px -31.91388px 0 0.06667px #020166, 0 -32px 0 0 #020166, -1.11911px -32.04713px 0 -0.06667px #020166, -2.24151px -32.05506px 0 -0.13333px #020166, -3.36582px -32.02361px 0 -0.2px #020166, -4.49065px -31.95265px 0 -0.26667px #020166, -5.61462px -31.84212px 0 -0.33333px #020166, -6.73634px -31.69198px 0 -0.4px #020166, -7.8544px -31.50227px 0 -0.46667px #020166, -8.9674px -31.27305px 0 -0.53333px #020166, -10.07395px -31.00444px 0 -0.6px #020166, -11.17266px -30.69663px 0 -0.66667px #020166, -12.26212px -30.34982px 0 -0.73333px #020166, -13.34096px -29.96429px 0 -0.8px #020166, -14.4078px -29.54036px 0 -0.86667px #020166, -15.46126px -29.07841px 0 -0.93333px #020166, -16.5px -28.57884px 0 -1px #020166, -17.52266px -28.04212px 0 -1.06667px #020166, -18.52792px -27.46878px 0 -1.13333px #020166, -19.51447px -26.85936px 0 -1.2px #020166, -20.48101px -26.21449px 0 -1.26667px #020166, -21.42625px -25.53481px 0 -1.33333px #020166, -22.34896px -24.82104px 0 -1.4px #020166, -23.2479px -24.07391px 0 -1.46667px #020166, -24.12186px -23.29421px 0 -1.53333px #020166, -24.96967px -22.48279px 0 -1.6px #020166, -25.79016px -21.64052px 0 -1.66667px #020166, -26.58223px -20.76831px 0 -1.73333px #020166, -27.34477px -19.86714px 0 -1.8px #020166, -28.07674px -18.938px 0 -1.86667px #020166, -28.7771px -17.98193px 0 -1.93333px #020166, -29.44486px -17px 0 -2px #020166, -30.07908px -15.99333px 0 -2.06667px #020166, -30.67884px -14.96307px 0 -2.13333px #020166, -31.24325px -13.91039px 0 -2.2px #020166, -31.7715px -12.83652px 0 -2.26667px #020166, -32.26278px -11.74269px 0 -2.33333px #020166, -32.71634px -10.63018px 0 -2.4px #020166, -33.13149px -9.5003px 0 -2.46667px #020166, -33.50755px -8.35437px 0 -2.53333px #020166, -33.84391px -7.19374px 0 -2.6px #020166, -34.14px -6.0198px 0 -2.66667px #020166, -34.39531px -4.83395px 0 -2.73333px #020166, -34.60936px -3.63759px 0 -2.8px #020166, -34.78173px -2.43218px 0 -2.86667px #020166, -34.91205px -1.21916px 0 -2.93333px #020166, -35px 0 0 -3px #020166, -35.04531px 1.22381px 0 -3.06667px #020166, -35.04775px 2.45078px 0 -3.13333px #020166, -35.00717px 3.6794px 0 -3.2px #020166, -34.92345px 4.90817px 0 -3.26667px #020166, -34.79654px 6.13557px 0 -3.33333px #020166, -34.62643px 7.36007px 0 -3.4px #020166, -34.41316px 8.58016px 0 -3.46667px #020166, -34.15683px 9.79431px 0 -3.53333px #020166, -33.85761px 11.001px 0 -3.6px #020166, -33.5157px 12.19872px 0 -3.66667px #020166, -33.13137px 13.38594px 0 -3.73333px #020166, -32.70493px 14.56117px 0 -3.8px #020166, -32.23675px 15.72291px 0 -3.86667px #020166, -31.72725px 16.86968px 0 -3.93333px #020166, -31.17691px 18px 0 -4px #020166, -30.58627px 19.11242px 0 -4.06667px #020166, -29.95589px 20.2055px 0 -4.13333px #020166, -29.28642px 21.27783px 0 -4.2px #020166, -28.57852px 22.32799px 0 -4.26667px #020166, -27.83295px 23.35462px 0 -4.33333px #020166, -27.05047px 24.35635px 0 -4.4px #020166, -26.23192px 25.33188px 0 -4.46667px #020166, -25.37819px 26.27988px 0 -4.53333px #020166, -24.49018px 27.1991px 0 -4.6px #020166, -23.56888px 28.0883px 0 -4.66667px #020166, -22.6153px 28.94626px 0 -4.73333px #020166, -21.6305px 29.77183px 0 -4.8px #020166, -20.61558px 30.56385px 0 -4.86667px #020166, -19.57168px 31.32124px 0 -4.93333px #020166, -18.5px 32.04294px 0 -5px #020166, -17.40175px 32.72792px 0 -5.06667px #020166, -16.27818px 33.37522px 0 -5.13333px #020166, -15.1306px 33.98389px 0 -5.2px #020166, -13.96034px 34.55305px 0 -5.26667px #020166, -12.76875px 35.08186px 0 -5.33333px #020166, -11.55724px 35.56951px 0 -5.4px #020166, -10.32721px 36.01527px 0 -5.46667px #020166, -9.08014px 36.41843px 0 -5.53333px #020166, -7.81748px 36.77835px 0 -5.6px #020166, -6.54075px 37.09443px 0 -5.66667px #020166, -5.25147px 37.36612px 0 -5.73333px #020166, -3.95118px 37.59293px 0 -5.8px #020166, -2.64145px 37.77443px 0 -5.86667px #020166, -1.32385px 37.91023px 0 -5.93333px #020166;
  display: inline-block;
  height: 8px;
  overflow: hidden;
  position: relative;
  text-indent: -9999px;
  width: 8px;
  transform-origin: 50% 50%;
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  border-radius: 100%;
}

/* ==========================================================================
   Doctor Consultation Form — compact textareas. Scoped to #consultation-form
   only (not a global textarea override) since this was requested for that
   one form, not app-wide.
   ========================================================================== */
#consultation-form textarea.form-control {
    min-height: 70px;
    resize: vertical;
}
