:root {
    --cppf-primary: #0F2D59;
    --cppf-accent: #0ea5c6;
    --cppf-teal: #13b889;
    --cppf-orange: #f18b16;
    --cppf-purple: #7c3aed;
    --cppf-red: #f43f5e;
    --cppf-secondary: #FAF6EE;
    --cppf-text: #252525;
    --cppf-muted: #6b7280;
    --cppf-bg: #FEFEFF;
    --cppf-soft: #F4F5F9;
    --cppf-border: #E5E5E7;
    --cppf-dark: #010813;
    --cppf-radius: 18px
}

.cppf-services-grid,.cppf-doctors-grid,.cppf-grid {
    display: grid;
    gap: 22px
}

.cppf-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr))
}

.cppf-cols-3,.cppf-doctors-grid {
    grid-template-columns: repeat(3,minmax(0,1fr))
}

.cppf-cols-4 {
    grid-template-columns: repeat(4,minmax(0,1fr))
}

.cppf-service-card,.cppf-doctor-card,.cppf-detail,.cppf-booking-wrap,.cppf-portal,.cppf-mini-card,.cppf-smart-card,.cppf-simple-form,.cppf-table-card,.cppf-chart-card {
    background: var(--cppf-bg);
    border: 1px solid var(--cppf-border);
    border-radius: var(--cppf-radius);
    box-shadow: 0 12px 34px rgba(15,45,89,.08);
    padding: 24px;
    color: var(--cppf-text);
    font-family: Manrope,Inter,Arial,sans-serif
}

.cppf-service-card {
    overflow: hidden;
    padding: 0
}

.cppf-service-card img,.cppf-detail>img,.cppf-doctor-card img {
    width: 100%;
    height: 210px;
    object-fit: cover;
    display: block;
    background: linear-gradient(135deg,#e5f6ff,#fff)
}

.cppf-service-card.cppf-no-image::before {
    content: '+';
    display: flex;
    align-items: center;
    justify-content: center;
    height: 120px;
    background: linear-gradient(135deg,#e6f7ff,#fff3d8);
    font-size: 48px;
    color: var(--cppf-primary);
    font-weight: 800
}

.cppf-card-body {
    padding: 24px
}

.cppf-price {
    font-weight: 900;
    color: var(--cppf-primary);
    font-size: 22px;
    margin: 12px 0
}

.cppf-meta {
    display: flex;
    gap: 12px;
    color: var(--cppf-muted);
    font-size: 13px;
    flex-wrap: wrap
}

.cppf-btn,.cppf-signin {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 999px;
    background: var(--cppf-primary);
    color: #fff!important;
    text-decoration: none!important;
    font-weight: 800;
    padding: 13px 24px;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(15,45,89,.22);
    transition: .2s
}

.cppf-btn:hover,.cppf-signin:hover {
    transform: translateY(-1px);
    filter: brightness(1.05)
}

.cppf-btn.small {
    padding: 8px 14px;
    font-size: 13px
}

.cppf-btn-teal {
    background: var(--cppf-teal)
}

.cppf-btn-dark {
    background: #6b7280
}

.cppf-link {
    color: #2563eb;
    text-decoration: underline;
    font-weight: 700
}

.cppf-alert {
    border-radius: 12px;
    padding: 14px 16px;
    background: #eef6ff;
    color: var(--cppf-primary);
    margin: 12px 0
}

.cppf-success {
    background: #e8fff6;
    color: #06724f
}

.cppf-error {
    background: #fff0f2;
    color: #b42340
}

/* Login */
.cppf-login-page {
    min-height: 760px;
    margin: 0;
    padding: 80px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 0 0,rgba(68,176,255,.35),transparent 24%),radial-gradient(circle at 100% 40%,rgba(15,45,89,.08),transparent 28%),linear-gradient(110deg,rgba(225,242,255,.92),rgba(255,255,255,.92));
    position: relative;
    overflow: hidden
}

.cppf-login-page:before {
    content: 'Your Health\A Our Priority';
    white-space: pre;
    position: absolute;
    left: 70px;
    top: 180px;
    font-size: 36px;
    font-weight: 900;
    color: rgba(15,45,89,.28);
    line-height: 1.15
}

.cppf-login-page:after {
    content: '+';
    position: absolute;
    right: 15%;
    top: 32%;
    font-size: 170px;
    font-weight: 900;
    color: rgba(68,176,255,.10)
}

.cppf-login-card {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 520px;
    background: #fff;
    border: 1px solid rgba(15,45,89,.12);
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(15,45,89,.12);
    padding: 48px 54px;
    text-align: center
}

.cppf-login-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 18px
}

.cppf-logo-mark svg {
    width: 72px;
    height: 72px;
    display: block
}

.cppf-login-card h2 {
    font-size: 22px;
    font-weight: 900;
    margin: 4px 0 10px;
    color: #121212
}

.cppf-login-sub {
    color: #444;
    margin: 0 0 28px
}

.cppf-login-form {
    text-align: left
}

.cppf-login-form label {
    display: block;
    margin: 0 0 20px
}

.cppf-login-form label span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 9px
}

.cppf-login-form em {
    color: #f43f5e;
    font-style: normal
}

.cppf-login-form label span a {
    font-weight: 700;
    color: #2563eb;
    text-decoration: none
}

.cppf-login-form input[type=text],.cppf-login-form input[type=password],.cppf-auth input,.cppf-auth textarea {
    width: 100%;
    height: 48px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #eef4ff;
    padding: 0 13px;
    box-sizing: border-box;
    font-size: 15px;
    outline: none
}

.cppf-login-form input:focus {
    border-color: #1d5eff;
    box-shadow: 0 0 0 3px rgba(29,94,255,.15)
}

.cppf-remember {
    display: flex!important;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: #374151
}

.cppf-remember input {
    width: 20px!important;
    height: 20px!important
}

.cppf-role-tabs {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
    margin: 16px 0 24px
}

.cppf-role-tabs button {
    border: 0;
    border-radius: 8px;
    padding: 13px 10px;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    background: #6b7280
}

.cppf-role-tabs button[data-role=admin] {
    background: #a64bef
}

.cppf-role-tabs button[data-role=doctor] {
    background: #12b886
}

.cppf-role-tabs button[data-role=patient] {
    background: #6b7280
}

.cppf-role-tabs button.active {
    outline: 3px solid rgba(37,99,235,.2);
    box-shadow: 0 8px 20px rgba(15,45,89,.16)
}

.cppf-signin {
    width: 100%;
    border-radius: 8px;
    background: #2161f3;
    font-size: 15px
}

.cppf-login-bottom {
    text-align: center;
    color: #333;
    margin: 24px 0 0
}
button.cppf-slot.is-available.is-selected {
    border: 4px solid #05a09c29 !important;
}
.cppf-login-bottom a {
    color: #175cff;
    font-weight: 700
}

.cppf-demo-logins {
    margin-top: 18px;
    padding: 12px;
    border-radius: 12px;
    background: #f8fafc;
    color: #64748b;
    font-size: 12px;
    line-height: 1.6;
    text-align: left;
    border: 1px dashed #dbe3ef
}

.cppf-auth {
    max-width: 560px;
    margin: 30px auto
}

.cppf-auth-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap
}

.cppf-auth form label {
    display: block;
    margin-bottom: 14px
}

.cppf-auth button {
    margin-top: 10px
}

/* Booking */
.cppf-booking-wrap {
    max-width: 1100px;
    margin: 30px auto;
    padding: 0;
    overflow: hidden;
    display: grid;
    grid-template-columns: 360px 1fr;
    background: #fff
}

.cppf-booking-wrap:before {
    content: 'BOOK AN APPOINTMENT\A A smoother way to book your care visit.\A\A Choose a doctor\A Browse specialists for your appointment.\A\A See live slots\A Pick available time and avoid back-and-forth.\A\A Confirm payment\A Finish booking with your preferred method.';
    white-space: pre-line;
    background: linear-gradient(180deg,#0f2d59,#174a88);
    color: #fff;
    font-weight: 800;
    font-size: 18px;
    line-height: 1.45;
    padding: 45px 36px;
    border-radius: 18px;
    margin: 0
}

.cppf-booking-form {
    padding: 34px 38px
}

.cppf-booking-form h2 {
    margin-top: 0;
    color: #05045c;
    font-weight: 900
}

.cppf-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px
}

.cppf-booking-form label,.cppf-simple-form label {
    display: block;
    font-weight: 800;
    color: #4b5563
}

.cppf-booking-form label span,.cppf-simple-form label span {
    display: block;
    margin-bottom: 8px
}

.cppf-booking-form input,.cppf-booking-form select,.cppf-booking-form textarea,.cppf-simple-form input,.cppf-simple-form textarea,.cppf-simple-form select {
    width: 100%;
    min-height: 52px;
    border: 1px solid #dfe8f3;
    border-radius: 14px;
    padding: 10px 16px;
    background: #fff;
    box-sizing: border-box;
    font-size: 15px
}

.cppf-booking-form input:focus,.cppf-booking-form select:focus {
    border-color: #0ea5c6;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(14,165,198,.1)
}

.cppf-locked-service {
    background: #f1fbff;
    border: 1px solid #bdefff;
    border-radius: 14px;
    padding: 14px;
    font-weight: 900;
    color: var(--cppf-primary)
}

.cppf-slots {
    min-height: 96px;
    border: 1px solid #dfe8f3;
    border-radius: 16px;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
    max-height: 280px;
    overflow: auto;
    background: #fbfdff
}

.cppf-slot {
    border: none;
    border-radius: 999px;
    background: #12a76f;
    color: #fff;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer
}

.cppf-slot.is-selected {
    outline: 3px solid rgba(18,167,111,.22);
    filter: brightness(.93)
}

.cppf-slot.is-booked {
    background: #f43f5e;
    opacity: .7;
    cursor: not-allowed
}

.cppf-no-slots {
    grid-column: 1/-1;
    text-align: center;
    color: var(--cppf-muted);
    font-weight: 800
}

.cppf-payable {
    font-weight: 900;
    text-align: center;
    color: #05045c;
    margin: 22px 0
}

/* App shell */
.cppf-app-shell {
    display: grid;
    grid-template-columns: 235px 1fr;
    min-height: 760px;
    background: #fafafa;
    border: 1px solid #edf0f5;
    border-radius: 20px;
    overflow: hidden;
    font-family: Manrope,Inter,Arial,sans-serif;
    color: #111827
}

.cppf-app-sidebar {
    background: #fff;
    border-right: 1px solid #e8edf3;
    padding: 18px
}

.cppf-app-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    color: var(--cppf-primary);
    margin-bottom: 28px
}

.cppf-app-logo svg {
    width: 44px;
    height: 44px
}

.cppf-app-sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cppf-app-sidebar nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #505868;
    padding: 13px 12px;
    border-radius: 10px;
    font-weight: 700
}

.cppf-app-sidebar nav a.active,.cppf-app-sidebar nav a:hover {
    background: #f2f5ff;
    color: #1d5eff
}

.cppf-app-main {
    padding: 32px;
    overflow: auto
}

.cppf-app-topbar {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 28px
}

.cppf-app-topbar h2 {
    font-size: 30px;
    font-weight: 900;
    margin: 0;
    color: #0a0a0a
}

.cppf-app-topbar p {
    margin: 8px 0 0;
    color: #5b6472
}

.cppf-app-user {
    display: flex;
    gap: 14px;
    align-items: center;
    color: #111
}

.cppf-app-user span {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    padding: 8px 14px;
    font-weight: 800
}

.cppf-app-user a {
    color: #2563eb;
    font-weight: 800;
    text-decoration: none
}

.cppf-app-stats,.cppf-dashboard-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 20px;
    margin-bottom: 24px
}

.cppf-dash-stat {
    border-radius: 16px;
    padding: 24px 26px;
    border: 1px solid;
    min-height: 94px
}

.cppf-dash-stat span {
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 10px
}

.cppf-dash-stat strong {
    font-size: 30px;
    line-height: 1;
    font-weight: 900
}

.cppf-dash-stat.green {
    background: linear-gradient(135deg,#e7fbf4,#e4fff7);
    border-color: #b6f0db;
    color: #00a36a
}

.cppf-dash-stat.orange {
    background: linear-gradient(135deg,#fff6e9,#fff1db);
    border-color: #ffd9a7;
    color: #e87900
}

.cppf-dash-stat.blue {
    background: linear-gradient(135deg,#eef4ff,#dfe9ff);
    border-color: #c5d8ff;
    color: #3869e8
}

.cppf-dash-stat.purple {
    background: linear-gradient(135deg,#f5eeff,#eee3ff);
    border-color: #dfc8ff;
    color: #7c3aed
}

.cppf-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-bottom: 24px
}

.cppf-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px
}

.cppf-chart-head,.cppf-card-tabs {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #edf0f5;
    padding-bottom: 14px;
    margin-bottom: 16px
}

.cppf-chart-card h2,.cppf-table-card h2 {
    font-size: 18px;
    margin: 0;
    font-weight: 900;
    color: #111
}

.cppf-chart-svg {
    width: 100%;
    height: 240px
}

.cppf-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff
}

.cppf-table th,.cppf-table td {
    padding: 14px 12px;
    border-bottom: 1px solid #edf0f5;
    text-align: left
}

.cppf-table th {
    font-weight: 900;
    color: #111
}

.cppf-table small {
    color: #6b7280
}

.cppf-status {
    display: inline-flex;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 900;
    background: #eef2ff;
    color: #2563eb
}

.cppf-status-paid,.cppf-status-confirmed,.cppf-status-completed,.cppf-status-active {
    background: #dcfce7;
    color: #15803d
}

.cppf-status-pending {
    background: #fff7ed;
    color: #c2410c
}

.cppf-status-failed,.cppf-status-cancelled,.cppf-status-no_show {
    background: #ffe4e6;
    color: #be123c
}

.cppf-mini-card {
    box-shadow: none;
    margin: 12px 0;
    padding: 16px
}

.cppf-empty-state {
    min-height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #111;
    gap: 10px;
    font-size: 28px
}

.cppf-empty-state strong {
    font-size: 15px
}

.cppf-card-tabs span {
    color: #a0a5b2;
    margin-left: auto;
    margin-right: 20px
}

.cppf-card-tabs strong {
    border-bottom: 2px solid #1d5eff;
    padding-bottom: 8px;
    color: #111;
    margin-right: 20px
}

.cppf-smart-card {
    max-width: 760px;
    margin: 30px auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg,#fff,#eef7ff)
}

.cppf-subscribe {
    display: flex;
    gap: 10px;
    align-items: center
}

.cppf-subscribe input {
    flex: 1;
    min-height: 48px;
    border: 1px solid var(--cppf-border);
    border-radius: 999px;
    padding: 0 18px
}

@media(max-width: 980px) {
    .cppf-cols-3,.cppf-doctors-grid,.cppf-form-grid,.cppf-dashboard-grid,.cppf-two-col,.cppf-booking-wrap {
        grid-template-columns:1fr
    }

    .cppf-booking-wrap:before {
        border-radius: 18px 18px 0 0
    }

    .cppf-app-shell {
        grid-template-columns: 1fr
    }

    .cppf-app-sidebar {
        border-right: 0;
        border-bottom: 1px solid #e8edf3
    }

    .cppf-app-sidebar nav {
        display: grid;
        grid-template-columns: repeat(2,1fr)
    }

    .cppf-app-stats {
        grid-template-columns: repeat(2,1fr)
    }
}

@media(max-width: 620px) {
    .cppf-login-card {
        padding:34px 24px
    }

    .cppf-app-main {
        padding: 20px
    }

    .cppf-app-stats {
        grid-template-columns: 1fr
    }

    .cppf-slots {
        grid-template-columns: 1fr
    }

    .cppf-role-tabs {
        gap: 8px
    }

    .cppf-booking-form {
        padding: 24px
    }
}

/* Doctor portal InfyCare-style screens */
.cppf-doctor-portal {
    min-height: 900px;
    background: #fafafa;
    font-family: Manrope,Inter,Arial,sans-serif;
    color: #111827;
    border: 1px solid #edf0f5;
    overflow: hidden
}

.cppf-doctor-topbar {
    height: 64px;
    background: #fff;
    border-bottom: 1px solid #e8edf3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
    box-sizing: border-box
}

.cppf-doctor-brand {
    display: flex;
    align-items: center;
    gap: 10px
}

.cppf-doctor-brand .cppf-logo-mark svg {
    width: 46px;
    height: 46px
}

.cppf-back {
    font-size: 30px;
    text-decoration: none;
    color: #6b7280;
    line-height: 1
}

.cppf-doctor-topright {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #111
}

.cppf-doctor-topright>span {
    color: #4b5563
}

.cppf-doctor-topright strong {
    font-size: 16px
}

.cppf-bell {
    position: relative;
    border: 1px solid #1d5eff;
    background: #fff;
    color: #1d5eff;
    border-radius: 10px;
    width: 46px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center
}

.cppf-bell b {
    position: absolute;
    right: -10px;
    top: -12px;
    font-size: 13px;
    color: #1d5eff;
    font-weight: 800
}

.cppf-flag {
    font-size: 24px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 9px;
    padding: 4px 6px;
    line-height: 1
}

.cppf-avatar,.cppf-table-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #243047;
    color: #fff;
    font-weight: 900;
    flex: 0 0 auto
}

.cppf-avatar {
    width: 34px;
    height: 34px;
    font-size: 12px
}

.cppf-table-avatar {
    width: 42px;
    height: 42px;
    font-size: 12px
}

.cppf-doctor-layout {
    display: grid;
    grid-template-columns: 260px 1fr
}

.cppf-doctor-sidebar {
    background: #fafafa;
    padding: 28px 18px 24px;
    border-right: 0
}

.cppf-doctor-search {
    height: 42px;
    border: 1px solid #dfe5ef;
    border-radius: 9px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    margin-bottom: 26px;
    box-sizing: border-box;
    max-width: 220px
}

.cppf-doctor-search input {
    border: 0;
    outline: 0;
    width: 100%;
    font-size: 14px;
    background: transparent
}

.cppf-doctor-search .dashicons {
    color: #9aa3b2
}

.cppf-doctor-sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.cppf-doctor-sidebar nav a {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: #464b57;
    padding: 12px 12px;
    border-radius: 9px;
    font-weight: 700;
    font-size: 15px
}

.cppf-doctor-sidebar nav a .dashicons {
    color: #9ca3af
}

.cppf-doctor-sidebar nav a.active,.cppf-doctor-sidebar nav a:hover {
    background: #f2f4f8;
    color: #0b57ff
}

.cppf-doctor-sidebar nav a.active .dashicons,.cppf-doctor-sidebar nav a:hover .dashicons {
    color: #0b57ff
}

.cppf-doctor-main {
    padding: 34px 32px 48px;
    position: relative;
    min-width: 0
}

.cppf-doctor-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 28px
}

.cppf-doctor-title-row h1 {
    font-size: 32px;
    line-height: 1.15;
    margin: 0;
    color: #070707;
    font-weight: 900
}

.cppf-doctor-title-row p {
    margin: 8px 0 0;
    color: #4b5563;
    font-size: 16px
}

.cppf-doctor-stats {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 24px
}

.cppf-dash-stat.pink {
    background: linear-gradient(135deg,#fff2f8,#fde8f3);
    border-color: #f8c7df;
    color: #b51754
}

.cppf-dash-stat.cyan {
    background: linear-gradient(135deg,#e8fbff,#dff7fb);
    border-color: #bdeaf2;
    color: #0796b6
}

.cppf-doctor-card-wide {
    margin-top: 8px
}

.cppf-doctor-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff
}

.cppf-doctor-table th {
    font-weight: 900;
    color: #050505;
    padding: 14px 22px;
    border-bottom: 1px solid #e9edf3;
    text-align: left;
    white-space: nowrap
}

.cppf-doctor-table td {
    padding: 14px 22px;
    border-bottom: 1px solid #e9edf3;
    vertical-align: middle
}

.cppf-patient-cell {
    display: flex;
    align-items: center;
    gap: 12px
}

.cppf-patient-cell a {
    display: block;
    color: #1d5eff;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px
}

.cppf-patient-cell small {
    display: block;
    color: #6b7280;
    margin-top: 3px
}

.cppf-list-card {
    padding: 0;
    overflow: hidden
}

.cppf-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 26px;
    border-bottom: 1px solid #e9edf3;
    min-height: 60px
}

.cppf-inline-search {
    height: 40px;
    border: 1px solid #dfe5ef;
    border-radius: 9px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    min-width: 240px;
    box-sizing: border-box
}

.cppf-inline-search input {
    border: 0;
    outline: 0;
    background: transparent;
    width: 100%;
    font-size: 14px
}

.cppf-active-filters {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 26px;
    border-bottom: 1px solid #e9edf3;
    color: #344054
}

.cppf-active-filters b {
    font-size: 12px;
    color: #0b57ff;
    background: #eef5ff;
    border: 1px solid #cfe1ff;
    border-radius: 6px;
    padding: 4px 8px
}

.cppf-active-filters em {
    margin-left: auto;
    font-style: normal;
    color: #64748b
}

.cppf-date-pill {
    display: inline-block;
    background: #eff6ff;
    color: #0b57ff;
    border: 1px solid #d6e7ff;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center
}

.cppf-doctor-table select,.cppf-list-footer select {
    min-height: 42px;
    border: 1px solid #dfe5ef;
    border-radius: 9px;
    background: #fff;
    padding: 0 38px 0 14px;
    font-weight: 600;
    color: #111827
}

.cppf-action-icons {
    display: flex;
    align-items: center;
    gap: 14px
}

.cppf-action-icons a {
    color: #0b57ff;
    text-decoration: none;
    font-weight: 900
}

.cppf-action-icons a.red,.cppf-red-icon {
    color: #ef233c
}

.cppf-view-actions {
    position: absolute;
    right: 32px;
    top: 34px;
    display: flex;
    align-items: center;
    gap: 12px
}

.cppf-rect-btn {
    border-radius: 8px!important;
    padding: 11px 18px!important;
    box-shadow: none!important;
    background: #1d5eff!important
}

.cppf-icon-btn {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: #1d5eff;
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center
}

.cppf-list-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 26px
}

.cppf-list-footer label {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #64748b
}

.cppf-pages {
    display: flex;
    align-items: center
}

.cppf-pages span,.cppf-pages b,.cppf-pages em {
    min-width: 34px;
    height: 34px;
    border: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    font-style: normal
}

.cppf-pages b {
    color: #0b57ff;
    background: #f8fbff
}

.cppf-schedule-form .cppf-table-card {
    margin-bottom: 20px
}

.cppf-schedule-settings {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 24px
}

.cppf-schedule-settings label span,.cppf-google-card label span,.cppf-inline-form label span {
    display: block;
    font-weight: 800;
    margin-bottom: 8px
}

.cppf-schedule-settings select,.cppf-day-card input,.cppf-inline-form input,.cppf-google-card input {
    width: 100%;
    min-height: 42px;
    border: 1px solid #dfe5ef;
    border-radius: 9px;
    background: #fff;
    padding: 0 12px;
    box-sizing: border-box
}

.cppf-timeslots {
    padding: 0
}

.cppf-timeslots h2 {
    padding: 20px 22px;
    border-bottom: 1px solid #e9edf3
}

.cppf-days-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 28px 22px;
    padding: 22px
}

.cppf-day-head {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 800;
    margin-bottom: 8px
}

.cppf-day-head .dashicons {
    margin-left: auto;
    color: #a0a6b2
}

.cppf-time-row {
    display: grid;
    grid-template-columns: 1fr 1fr 42px;
    border: 1px solid #e9edf3;
    border-radius: 10px;
    overflow: hidden;
    background: #fff
}

.cppf-time-row label {
    padding: 9px 12px;
    border-right: 1px solid #e9edf3
}

.cppf-time-row b {
    display: block;
    font-size: 13px;
    margin-bottom: 6px
}

.cppf-time-row input {
    border: 0;
    min-height: 30px;
    padding: 0
}

.cppf-red-icon {
    border: 0;
    background: #fff;
    font-size: 16px
}

.cppf-add-slot {
    display: block;
    margin: 10px auto 0;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #fff;
    padding: 8px 14px
}

.cppf-doctor-form-card {
    margin-top: 22px
}

.cppf-inline-form {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr)) auto;
    gap: 14px;
    align-items: end
}

.cppf-google-card {
    min-height: 260px
}

.cppf-google-card hr {
    border: 0;
    border-top: 1px solid #eef0f4;
    margin: 24px 0
}

.cppf-drop-zone {
    height: 68px;
    border: 1px solid #dfe5ef;
    border-radius: 9px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280
}

.cppf-drop-zone a {
    color: #0b57ff;
    text-decoration: none;
    font-weight: 800
}

.cppf-card-tab-switch {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    margin: -6px 0 28px
}

.cppf-card-tab-switch span {
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 8px;
    padding: 11px 16px;
    color: #6b7280;
    font-weight: 800
}

.cppf-card-tab-switch .active {
    color: #0b57ff;
    background: #fbfdff
}

.cppf-color-chip {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    vertical-align: middle;
    margin-right: 8px;
    border: 1px solid rgba(0,0,0,.18)
}

.cppf-switch {
    display: inline-flex;
    align-items: center;
    width: 42px;
    height: 24px;
    border-radius: 999px;
    background: #2d7ff9;
    padding: 2px;
    box-sizing: border-box
}

.cppf-switch i {
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    margin-left: auto
}

.cppf-btn-teal {
    background: #10b981!important
}

.cppf-status-check_in {
    background: #dcfce7;
    color: #15803d
}

.cppf-chart-card,.cppf-table-card {
    box-shadow: 0 1px 4px rgba(16,24,40,.06)
}

@media(max-width: 1100px) {
    .cppf-doctor-layout {
        grid-template-columns:1fr
    }

    .cppf-doctor-sidebar nav {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    .cppf-doctor-stats,.cppf-dashboard-grid,.cppf-days-grid,.cppf-schedule-settings,.cppf-inline-form {
        grid-template-columns: 1fr
    }

    .cppf-view-actions {
        position: static;
        justify-content: flex-end;
        margin: -12px 0 18px
    }

    .cppf-doctor-topbar {
        height: auto;
        align-items: flex-start;
        gap: 14px;
        flex-direction: column;
        padding: 16px
    }

    .cppf-doctor-main {
        padding: 24px 18px
    }

    .cppf-doctor-sidebar {
        padding: 18px
    }

    .cppf-doctor-search {
        max-width: none
    }

    .cppf-doctor-table {
        min-width: 850px
    }

    .cppf-list-card {
        overflow: auto
    }
}

@media(max-width: 640px) {
    .cppf-doctor-sidebar nav {
        grid-template-columns:1fr
    }

    .cppf-doctor-stats {
        grid-template-columns: 1fr
    }

    .cppf-doctor-title-row h1 {
        font-size: 26px
    }

    .cppf-doctor-topright {
        flex-wrap: wrap
    }

    .cppf-inline-search {
        min-width: 0;
        width: 100%
    }

    .cppf-list-toolbar,.cppf-active-filters,.cppf-list-footer {
        padding-left: 16px;
        padding-right: 16px;
        flex-wrap: wrap
    }
}

/* Patient portal InfyCare-style extensions */
.cppf-patient-portal .cppf-doctor-main {
    padding-top: 34px
}

.cppf-patient-portal .cppf-doctor-title-row {
    margin-bottom: 28px
}

.cppf-card-top-icon b {
    display: none
}

.cppf-doctor-avatar-light,.cppf-review-avatar {
    background: #eef2f7!important;
    color: #111827!important;
    border: 1px solid #e5e7eb
}

.cppf-patient-wide-chart {
    margin-bottom: 24px
}

.cppf-patient-wide-chart .cppf-chart-svg {
    height: 310px
}

.cppf-patient-dashboard-tables .cppf-table-card {
    padding: 0;
    overflow: hidden
}

.cppf-patient-dashboard-tables .cppf-table-card h2 {
    padding: 18px 22px;
    border-bottom: 1px solid #e9edf3
}

.cppf-inline-stars {
    color: #ffb400;
    font-size: 15px;
    letter-spacing: 2px;
    white-space: nowrap
}

.cppf-status-finished {
    background: #dcfce7;
    color: #15803d
}

.cppf-status-awaited {
    background: #ffedd5;
    color: #c2410c
}

.cppf-status-check-in,.cppf-status-check_in {
    background: #dcfce7;
    color: #15803d
}

.cppf-review-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px
}

.cppf-review-card {
    position: relative;
    background: #fff;
    border: 1px solid #e9edf3;
    border-radius: 12px;
    min-height: 220px;
    padding: 26px 18px 22px;
    text-align: center;
    box-shadow: 0 1px 4px rgba(16,24,40,.06);
    overflow: hidden
}

.cppf-review-card .cppf-corner-rating {
    position: absolute;
    right: 12px;
    top: 0;
    background: #5b63ff;
    color: #ffdd31;
    border-radius: 0 0 0 8px;
    padding: 5px 10px;
    font-size: 13px;
    letter-spacing: 1px
}

.cppf-review-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    margin-bottom: 12px
}

.cppf-review-card h3 {
    margin: 0 0 6px;
    color: #0a0a0a;
    font-size: 16px;
    font-weight: 900
}

.cppf-review-card p {
    min-height: 34px;
    margin: 0 auto 14px;
    color: #9aa3b2;
    font-size: 11px;
    line-height: 1.35;
    max-width: 260px
}

.cppf-review-card strong {
    display: block;
    margin: 0 auto 10px;
    color: #111827;
    font-size: 12px;
    line-height: 1.4;
    min-height: 18px
}

.cppf-big-stars {
    color: #ffb400;
    font-size: 18px;
    letter-spacing: 3px;
    margin-bottom: 10px
}

.cppf-review-btn {
    font-size: 12px!important;
    padding: 8px 12px!important
}

.cppf-patient-portal .cppf-list-card a {
    color: #0b57ff;
    text-decoration: none
}

.cppf-patient-portal .cppf-doctor-table th,.cppf-patient-portal .cppf-doctor-table td {
    font-size: 14px
}

.cppf-patient-portal .cppf-empty-state {
    min-height: 150px
}

.cppf-patient-portal .cppf-action-icons {
    justify-content: flex-end
}

.cppf-patient-portal .cppf-doctor-table th:last-child,.cppf-patient-portal .cppf-doctor-table td:last-child {
    text-align: right
}

.cppf-patient-portal .cppf-dash-stat {
    min-height: 86px
}

.cppf-patient-portal .cppf-dash-stat strong {
    font-size: 30px
}

.cppf-patient-portal .cppf-chart-card {
    padding: 0
}

.cppf-patient-portal .cppf-chart-card .cppf-chart-head {
    padding: 18px 24px;
    margin: 0
}

.cppf-patient-portal .cppf-chart-card .cppf-chart-svg {
    padding: 18px 24px 26px;
    box-sizing: border-box
}

@media(max-width: 1100px) {
    .cppf-review-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .cppf-doctor-layout {
        grid-template-columns: 220px 1fr
    }

    .cppf-doctor-stats,.cppf-app-stats {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 760px) {
    .cppf-review-grid,.cppf-two-col,.cppf-patient-dashboard-tables {
        grid-template-columns:1fr
    }

    .cppf-doctor-layout {
        display: block
    }

    .cppf-doctor-sidebar {
        border-bottom: 1px solid #e9edf3
    }

    .cppf-doctor-topbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }

    .cppf-doctor-topright {
        flex-wrap: wrap
    }

    .cppf-view-actions {
        position: static;
        margin: -12px 0 20px
    }

    .cppf-doctor-main {
        padding: 22px 16px
    }

    .cppf-doctor-table {
        display: block;
        overflow-x: auto
    }
}

/* Frontend Admin Portal */
.cppf-admin-portal {
    background: #fbfbfc;
    border: 0
}

.cppf-admin-portal .cppf-doctor-main {
    padding-top: 34px
}

.cppf-admin-portal .cppf-doctor-sidebar {
    background: #fafafa
}

.cppf-admin-portal .cppf-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
    margin-bottom: 24px
}

.cppf-admin-portal .cppf-dashboard-grid.bottom {
    align-items: stretch
}

.cppf-admin-portal .cppf-chart-card {
    padding: 0;
    overflow: hidden
}

.cppf-admin-portal .cppf-chart-head {
    padding: 18px 24px;
    margin: 0
}

.cppf-admin-portal .cppf-chart-svg {
    padding: 18px 24px 26px;
    box-sizing: border-box
}

.cppf-admin-portal .cppf-table-card {
    padding: 0;
    overflow: hidden;
    margin-bottom: 24px
}

.cppf-admin-portal .cppf-table-card h2 {
    padding: 18px 22px;
    border-bottom: 1px solid #e9edf3;
    margin: 0
}

.cppf-admin-portal .cppf-card-tabs {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 22px;
    border-bottom: 1px solid #e9edf3
}

.cppf-admin-portal .cppf-card-tabs h2 {
    padding: 0;
    border: 0;
    margin-right: auto
}

.cppf-admin-portal .cppf-card-tabs span {
    color: #9aa3b2
}

.cppf-admin-portal .cppf-card-tabs strong {
    color: #0b57ff;
    border-bottom: 2px solid #0b57ff;
    padding-bottom: 8px
}

.cppf-admin-portal .cppf-table-card .cppf-doctor-table {
    min-width: 980px
}

.cppf-admin-portal .cppf-list-card {
    overflow: auto
}

.cppf-admin-portal .cppf-action-icons {
    justify-content: flex-end
}

.cppf-admin-portal .cppf-doctor-table th:last-child,.cppf-admin-portal .cppf-doctor-table td:last-child {
    text-align: right
}

.cppf-impersonate {
    border: 1px solid #0b57ff;
    border-radius: 8px;
    padding: 8px 13px;
    text-decoration: none!important;
    color: #0b57ff!important
}

.cppf-settings-card {
    padding: 24px!important
}

.cppf-settings-card h2 {
    padding: 0 0 14px!important
}

.cppf-settings-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px
}

.cppf-settings-grid p {
    background: #f8fafc;
    border: 1px solid #e9edf3;
    border-radius: 12px;
    padding: 14px
}

.cppf-front-cms-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px
}

.cppf-cms-editor {
    padding: 24px!important
}

.cppf-cms-content {
    max-height: 520px;
    overflow: auto;
    border-top: 1px solid #eef0f4;
    padding-top: 16px
}

.cppf-admin-portal .cppf-status-read {
    background: #dcfce7;
    color: #15803d
}

.cppf-admin-portal .cppf-doctor-main .cppf-view-actions+.cppf-list-toolbar {
    margin-top: 52px
}

@media(max-width: 1100px) {
    .cppf-admin-portal .cppf-dashboard-grid,.cppf-settings-grid {
        grid-template-columns:1fr
    }

    .cppf-admin-portal .cppf-doctor-layout {
        grid-template-columns: 220px 1fr
    }
}

@media(max-width: 760px) {
    .cppf-admin-portal .cppf-doctor-layout {
        display:block
    }

    .cppf-admin-portal .cppf-doctor-main .cppf-view-actions+.cppf-list-toolbar {
        margin-top: 0
    }
}

/* v2.1.5 frontend wiring helpers */
.cppf-front-form {
    padding: 24px!important;
    margin-bottom: 24px!important
}

.cppf-front-form form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px;
    align-items: end
}

.cppf-front-form label {
    display: block;
    font-weight: 800;
    color: #344054
}

.cppf-front-form label strong,.cppf-front-form label span {
    display: block;
    margin-bottom: 7px
}

.cppf-front-form input,.cppf-front-form select,.cppf-front-form textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid #dfe5ef;
    border-radius: 10px;
    background: #fff;
    padding: 9px 12px;
    box-sizing: border-box
}

.cppf-front-form textarea {
    min-height: 100px
}

.cppf-front-form .cppf-btn,.cppf-front-form button {
    justify-self: start
}

.cppf-click-switch {
    text-decoration: none!important
}

.cppf-click-switch:not(.is-on) {
    background: #e5e7eb
}

.cppf-click-switch:not(.is-on) i {
    margin-left: 0
}

.cppf-inline-status {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start
}

.cppf-inline-status select {
    min-height: 42px;
    border: 1px solid #dfe5ef;
    border-radius: 10px;
    background: #fff;
    padding: 0 12px;
    min-width: 118px
}

.cppf-small-save {
    border: 1px solid #0b57ff;
    background: #0b57ff;
    color: #fff;
    border-radius: 8px;
    padding: 8px 11px;
    cursor: pointer;
    font-weight: 800
}

.cppf-mini-action {
    display: inline
}

.cppf-mini-action button {
    border: 0;
    background: transparent;
    color: #ff1f3d;
    cursor: pointer;
    font-size: 15px;
    padding: 0
}

.cppf-action-icons form {
    display: inline-flex
}

.cppf-admin-portal .cppf-action-icons a.red,.cppf-patient-portal .cppf-action-icons .red {
    color: #ff1f3d!important
}

.cppf-admin-portal .cppf-view-actions {
    position: static;
    justify-content: flex-end;
    margin-bottom: 18px
}

@media(max-width: 760px) {
    .cppf-front-form form {
        grid-template-columns:1fr
    }

    .cppf-inline-status {
        flex-wrap: wrap
    }

    .cppf-inline-status select {
        min-width: 100%
    }
}

.cppf-seed-actions {
    gap: 10px;
    align-items: center
}

.cppf-seed-actions form {
    display: inline-flex;
    margin: 0
}

.cppf-seed-actions .cppf-btn {
    border: 0
}

/* v2.1.7 Complete Frontend Software UI */
.cppf-public-page {
    --soft-blue: #eef6ff;
    --panel: #ffffff;
    --line: #e7edf5;
    --ink: #07111f;
    --muted: #687385;
    width: min(1240px,100%);
    margin: 28px auto;
    padding: 0 18px;
    box-sizing: border-box;
    font-family: Manrope,Inter,Arial,sans-serif;
    color: var(--ink)
}

.cppf-public-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: stretch;
    margin: 0 0 22px;
    padding: 28px;
    border: 1px solid #dbe8f7;
    border-radius: 24px;
    background: radial-gradient(circle at 8% 0,rgba(14,165,198,.20),transparent 34%),linear-gradient(135deg,#f9fcff 0%,#eef6ff 54%,#fff8ec 100%);
    box-shadow: 0 18px 48px rgba(15,45,89,.10)
}

.cppf-public-hero:after {
    content: '';
    position: absolute;
    right: -52px;
    top: -52px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: linear-gradient(135deg,rgba(15,45,89,.08),rgba(14,165,198,.05));
    pointer-events: none
}

.cppf-public-hero.compact {
    padding: 24px 26px
}

.cppf-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dbe8f7;
    color: #0b57ff;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em
}

.cppf-kicker:before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #13b889;
    box-shadow: 0 0 0 4px rgba(19,184,137,.12)
}

.cppf-public-hero h1 {
    margin: 0 0 10px;
    font-size: clamp(28px,4vw,46px);
    line-height: 1.03;
    font-weight: 950;
    color: #07111f;
    letter-spacing: -.04em
}

.cppf-public-hero p {
    max-width: 640px;
    margin: 0;
    color: #5b6678;
    font-size: 16px;
    line-height: 1.7
}

.cppf-hero-metrics {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    min-width: 290px;
    position: relative;
    z-index: 2
}

.cppf-hero-metrics span {
    display: block;
    min-width: 118px;
    background: rgba(255,255,255,.82);
    border: 1px solid #e2ebf5;
    border-radius: 18px;
    padding: 16px 18px;
    text-align: center;
    box-shadow: 0 10px 28px rgba(15,45,89,.08);
    color: #64748b;
    font-weight: 800
}

.cppf-hero-metrics strong {
    display: block;
    color: #0b57ff;
    font-size: 25px;
    line-height: 1;
    font-weight: 950;
    margin-bottom: 6px
}

.cppf-public-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 18px;
    padding: 18px 20px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(16,24,40,.05)
}

.cppf-public-toolbar strong {
    display: block;
    font-size: 17px;
    font-weight: 950
}

.cppf-public-toolbar small {
    display: block;
    color: #7a8493;
    margin-top: 4px
}

.cppf-rect-btn {
    border-radius: 12px!important;
    box-shadow: 0 10px 24px rgba(11,87,255,.18)!important;
    background: #0b57ff!important
}

.cppf-public-page .cppf-services-grid,.cppf-public-page .cppf-doctors-grid {
    gap: 20px
}

.cppf-software-card {
    position: relative;
    border: 1px solid #e6edf5!important;
    border-radius: 20px!important;
    background: #fff!important;
    box-shadow: 0 10px 32px rgba(16,24,40,.07)!important;
    overflow: hidden;
    transition: .22s ease
}

.cppf-software-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 46px rgba(15,45,89,.13)!important;
    border-color: #cddcf0!important
}

.cppf-service-card.cppf-software-card {
    padding: 0!important
}

.cppf-service-media {
    height: 150px;
    background: linear-gradient(135deg,#e8f6ff,#fff3db);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

.cppf-service-media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.cppf-service-media span {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: #fff;
    color: #0b57ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    font-weight: 950;
    box-shadow: 0 14px 30px rgba(15,45,89,.12)
}

.cppf-service-body {
    padding: 22px!important
}

.cppf-service-body h3,.cppf-doctor-card h3 {
    font-size: 20px;
    font-weight: 950;
    color: #07111f;
    margin: 8px 0 8px;
    letter-spacing: -.02em
}

.cppf-service-body p,.cppf-doctor-special,.cppf-doctor-bio {
    color: #677386;
    line-height: 1.62
}

.cppf-card-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #eef6ff;
    color: #0b57ff;
    border: 1px solid #d7e7ff;
    font-size: 11px;
    font-weight: 950;
    padding: 6px 10px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.cppf-public-page .cppf-meta {
    justify-content: space-between;
    align-items: center;
    margin: 16px 0 20px;
    padding: 12px;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    background: #fbfdff
}

.cppf-public-page .cppf-meta span {
    display: inline-flex;
    align-items: center;
    color: #667085;
    font-weight: 850
}

.cppf-public-page .cppf-meta strong {
    font-size: 18px;
    color: #0b57ff;
    font-weight: 950
}

.cppf-public-page .cppf-btn {
    width: 100%;
    min-height: 44px
}

.cppf-doctor-card.cppf-software-card {
    padding: 26px!important;
    text-align: center
}

.cppf-doctor-avatar-card {
    width: 86px;
    height: 86px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: #eef2f7;
    border: 1px solid #e6edf5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 14px 30px rgba(16,24,40,.08)
}

.cppf-doctor-avatar-card img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.cppf-doctor-avatar-card span {
    font-size: 36px;
    font-weight: 950;
    color: #0b57ff
}

.cppf-doctor-bio {
    min-height: 70px;
    font-size: 13px
}

.cppf-detail-software {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 28px;
    align-items: stretch;
    padding: 0!important;
    overflow: hidden;
    border-radius: 22px!important
}

.cppf-detail-software>img {
    height: 100%!important;
    min-height: 360px
}

.cppf-detail-software>div {
    padding: 32px
}

.cppf-detail-software h2 {
    font-size: 34px;
    font-weight: 950;
    margin: 0 0 12px;
    letter-spacing: -.03em;
    color: #07111f
}

.cppf-booking-page .cppf-booking-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    grid-template-columns: 385px 1fr;
    border: 1px solid #e6edf5;
    border-radius: 24px;
    box-shadow: 0 18px 50px rgba(15,45,89,.10)
}

.cppf-booking-page .cppf-booking-wrap:before {
    border-radius: 0;
    background: linear-gradient(180deg,#0f2d59,#174a88);
    font-size: 17px;
    padding: 42px 34px
}

.cppf-booking-page .cppf-booking-form {
    background: linear-gradient(180deg,#fff,#fbfdff);
    padding: 36px
}

.cppf-booking-page .cppf-booking-form:before {
    content: 'Booking Workflow';
    display: block;
    font-size: 26px;
    font-weight: 950;
    color: #05045c;
    margin-bottom: 22px
}

.cppf-booking-page .cppf-form-grid {
    gap: 18px
}

.cppf-booking-page label span,.cppf-auth-software label span,.cppf-simple-form label span {
    font-weight: 900;
    color: #344054
}

.cppf-booking-page input,.cppf-booking-page select,.cppf-booking-page textarea,.cppf-auth-software input,.cppf-simple-form input,.cppf-simple-form select,.cppf-simple-form textarea {
    border: 1px solid #dbe5ef!important;
    border-radius: 14px!important;
    background: #fff!important;
    box-shadow: 0 2px 0 rgba(16,24,40,.02);
    transition: .18s ease
}

.cppf-booking-page input:focus,.cppf-booking-page select:focus,.cppf-booking-page textarea:focus,.cppf-auth-software input:focus,.cppf-simple-form input:focus,.cppf-simple-form textarea:focus {
    outline: 0;
    border-color: #0b57ff!important;
    box-shadow: 0 0 0 4px rgba(11,87,255,.10)!important
}

.cppf-booking-page .cppf-slots {
    display: block;
    border-radius: 18px;
    background: #f8fbff;
    margin: 20px 0;
    max-height: 330px
}

.cppf-booking-page .cppf-slots h3 {
    font-size: 15px;
    margin: 0 0 12px;
    color: #344054
}

.cppf-booking-page .cppf-slots-list {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 10px
}

.cppf-booking-page .cppf-submit {
    width: auto;
    min-width: 210px;
    border-radius: 999px!important;
    display: flex;
    margin: 8px auto 0
}

.cppf-auth-software,.cppf-simple-form,.cppf-subscribe,.cppf-auth-logged {
    max-width: 720px;
    margin: 0 auto 24px!important;
    border: 1px solid #e6edf5!important;
    border-radius: 22px!important;
    background: #fff!important;
    box-shadow: 0 18px 50px rgba(15,45,89,.10)!important
}

.cppf-auth-software h2 {
    font-size: 28px;
    font-weight: 950;
    color: #07111f;
    margin-top: 0
}

.cppf-auth-software form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.cppf-auth-software form label {
    margin: 0!important
}

.cppf-auth-software form button {
    grid-column: 1/-1
}

.cppf-simple-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding: 26px!important
}

.cppf-simple-form label.cppf-field-wide,.cppf-simple-form button {
    grid-column: 1/-1
}

.cppf-subscribe {
    display: flex;
    gap: 12px;
    padding: 18px!important;
    align-items: center
}

.cppf-subscribe input {
    flex: 1;
    min-height: 48px;
    border: 1px solid #dbe5ef;
    border-radius: 14px;
    padding: 0 16px
}

.cppf-smart-card {
    max-width: 860px;
    margin: 28px auto!important;
    background: linear-gradient(135deg,#0f2d59,#0b57ff)!important;
    color: #fff!important;
    border: 0!important;
    border-radius: 26px!important;
    box-shadow: 0 24px 64px rgba(15,45,89,.25)!important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px
}

.cppf-smart-card h2 {
    color: #fff!important;
    font-size: 34px;
    font-weight: 950
}

.cppf-smart-card p {
    color: rgba(255,255,255,.86)
}

.cppf-smart-card img {
    background: #fff;
    padding: 12px;
    border-radius: 18px
}

.cppf-login-page {
    border-radius: 0
}

.cppf-login-card {
    border-radius: 22px!important;
    box-shadow: 0 24px 70px rgba(15,45,89,.18)!important
}

.cppf-login-form input[type=text],.cppf-login-form input[type=password] {
    height: 52px!important;
    border-radius: 13px!important
}

.cppf-role-tabs button,.cppf-signin {
    border-radius: 12px!important
}

.cppf-demo-logins {
    border-radius: 16px!important;
    background: linear-gradient(135deg,#f8fafc,#eef6ff)!important
}

@media(max-width: 1040px) {
    .cppf-public-hero {
        flex-direction:column
    }

    .cppf-hero-metrics {
        justify-content: flex-start;
        min-width: 0
    }

    .cppf-cols-3,.cppf-doctors-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    .cppf-booking-page .cppf-booking-wrap {
        grid-template-columns: 1fr
    }

    .cppf-booking-page .cppf-booking-wrap:before {
        display: none
    }

    .cppf-detail-software {
        grid-template-columns: 1fr
    }

    .cppf-detail-software>img {
        min-height: 260px
    }

    .cppf-auth-software form,.cppf-simple-form {
        grid-template-columns: 1fr
    }
}

@media(max-width: 640px) {
    .cppf-public-page {
        padding:0 12px;
        margin: 18px auto
    }

    .cppf-public-hero {
        padding: 22px 18px;
        border-radius: 18px
    }

    .cppf-hero-metrics span {
        min-width: calc(50% - 8px)
    }

    .cppf-cols-2,.cppf-cols-3,.cppf-cols-4,.cppf-doctors-grid {
        grid-template-columns: 1fr!important
    }

    .cppf-public-toolbar {
        flex-direction: column;
        align-items: flex-start
    }

    .cppf-booking-page .cppf-booking-form {
        padding: 24px 18px
    }

    .cppf-booking-page .cppf-form-grid,.cppf-booking-page .cppf-slots-list {
        grid-template-columns: 1fr
    }

    .cppf-subscribe {
        flex-direction: column;
        align-items: stretch
    }

    .cppf-smart-card {
        flex-direction: column;
        text-align: center
    }
}

/* ======================================================================
   v2.1.8 Professional Medical Frontend UI Polish
   Scope: all public shortcodes + frontend Admin / Doctor / Patient portals
   ====================================================================== */
body .cppf-public-page, body .cppf-login-page, body .cppf-app-shell, body .cppf-smart-card, body .cppf-simple-form, body .cppf-subscribe, body .cppf-auth, body .cppf-table-card, body .cppf-chart-card, body .cppf-mini-card, body .cppf-detail, body .cppf-booking-wrap {
    --cppf-primary: #0F2D59;
    --cppf-primary-2: #174A88;
    --cppf-medical: #0B72E7;
    --cppf-cyan: #10B7D5;
    --cppf-teal: #13B889;
    --cppf-green: #10A37F;
    --cppf-orange: #F28A18;
    --cppf-purple: #7C3AED;
    --cppf-danger: #F04438;
    --cppf-warning: #F59E0B;
    --cppf-ink: #101828;
    --cppf-body: #344054;
    --cppf-muted: #667085;
    --cppf-soft: #F5F8FC;
    --cppf-panel: #FFFFFF;
    --cppf-line: #E4EAF3;
    --cppf-line-strong: #CBD5E1;
    --cppf-shadow: 0 18px 50px rgba(15,45,89,.10);
    --cppf-shadow-soft: 0 10px 28px rgba(16,24,40,.06);
    --cppf-focus: 0 0 0 4px rgba(11,114,231,.12);
    --cppf-radius-lg: 24px;
    --cppf-radius: 16px;
    --cppf-radius-sm: 11px;
    font-family: 'Manrope';
    color: var(--cppf-ink);
    line-height: 1.55;
}

body .cppf-public-page *, body .cppf-login-page *, body .cppf-app-shell *, body .cppf-smart-card *, body .cppf-simple-form *, body .cppf-subscribe *, body .cppf-auth *, body .cppf-table-card *, body .cppf-chart-card *, body .cppf-mini-card *, body .cppf-detail *, body .cppf-booking-wrap * {
    box-sizing: border-box
}

body .cppf-public-page :where(h1,h2,h3,h4,p,ul,ol), body .cppf-app-shell :where(h1,h2,h3,h4,p,ul,ol), body .cppf-auth :where(h1,h2,h3,h4,p), body .cppf-simple-form :where(h1,h2,h3,h4,p) {
    margin-top: 0
}

body .cppf-public-page, body .cppf-register-page, body .cppf-booking-page, body .cppf-detail-page, body .cppf-public-services, body .cppf-public-doctors {
    width: min(1360px,calc(100vw - 40px));
    max-width: none;
    margin: 34px auto;
    padding: 0;
    position: relative;
    isolation: isolate;
}

body .cppf-public-page:before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: -24px -20px auto -20px;
    height: 320px;
    border-radius: 34px;
    background: radial-gradient(circle at 8% 10%,rgba(16,183,213,.16),transparent 34%), radial-gradient(circle at 82% 2%,rgba(15,45,89,.10),transparent 32%), linear-gradient(135deg,#F9FCFF,#F3F8FF 52%,#FFFBF4);
    pointer-events: none;
}

/* Global medical buttons and interactive states */
body .cppf-btn, body .cppf-signin, body .cppf-rect-btn, body .cppf-app-shell button, body .cppf-app-shell input[type=submit], body .cppf-simple-form button, body .cppf-auth button, body .cppf-subscribe button {
    border: 0;
    border-radius: 13px!important;
    background: linear-gradient(135deg,#0B72E7,#155EEF)!important;
    color: #fff!important;
    min-height: 44px;
    padding: 12px 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 900;
    letter-spacing: -.01em;
    text-decoration: none!important;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(11,114,231,.24)!important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
}

body .cppf-btn:hover, body .cppf-signin:hover, body .cppf-rect-btn:hover, body .cppf-app-shell button:hover, body .cppf-simple-form button:hover, body .cppf-auth button:hover, body .cppf-subscribe button:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(11,114,231,.30)!important;
    filter: saturate(1.08);
}

body .cppf-btn:focus-visible, body .cppf-signin:focus-visible, body .cppf-app-shell button:focus-visible, body .cppf-app-shell a:focus-visible {
    outline: 0;
    box-shadow: var(--cppf-focus),0 12px 28px rgba(11,114,231,.24)!important
}

body .cppf-btn.small {
    min-height: 34px;
    padding: 7px 12px;
    font-size: 12px;
    border-radius: 10px!important
}

body .cppf-btn-teal {
    background: linear-gradient(135deg,#12B886,#0DA271)!important;
    box-shadow: 0 12px 28px rgba(18,184,134,.22)!important
}

body .cppf-btn-dark {
    background: linear-gradient(135deg,#475467,#344054)!important;
    box-shadow: 0 12px 28px rgba(52,64,84,.18)!important
}

body .cppf-link {
    color: #0B72E7!important;
    font-weight: 850;
    text-decoration: none!important;
    border-bottom: 1px solid rgba(11,114,231,.25)
}

/* Medical alerts */
body .cppf-alert {
    border: 1px solid #B9E6FE;
    border-left: 5px solid var(--cppf-medical);
    background: linear-gradient(135deg,#F0F9FF,#F8FBFF);
    color: #0B4A6F;
    border-radius: 16px;
    padding: 14px 18px;
    box-shadow: var(--cppf-shadow-soft);
    font-weight: 750;
}

body .cppf-success {
    border-color: #ABEFC6;
    border-left-color: #17B26A;
    background: linear-gradient(135deg,#ECFDF3,#F8FFFB);
    color: #067647
}

body .cppf-error {
    border-color: #FECDCA;
    border-left-color: #F04438;
    background: linear-gradient(135deg,#FEF3F2,#FFFBFA);
    color: #B42318
}

/* Public hero - professional medical marketing console */
body .cppf-public-hero {
    min-height: 220px;
    border: 1px solid #D9E8F8;
    border-radius: 30px;
    padding: 34px;
    background: radial-gradient(circle at 5% 0,rgba(16,183,213,.23),transparent 30%), radial-gradient(circle at 92% 18%,rgba(19,184,137,.14),transparent 26%), linear-gradient(135deg,#FFFFFF 0%,#F3F9FF 56%,#FFF7EA 100%);
    box-shadow: 0 24px 68px rgba(15,45,89,.11);
    overflow: hidden;
    position: relative;
}

body .cppf-public-hero:before {
    content: '+';
    position: absolute;
    right: 190px;
    top: 20px;
    color: rgba(11,114,231,.08);
    font-size: 110px;
    line-height: 1;
    font-weight: 950;
    pointer-events: none;
}

body .cppf-public-hero:after {
    width: 260px;
    height: 260px;
    right: -72px;
    top: -72px;
    border: 28px solid rgba(11,114,231,.05);
    background: transparent;
}

body .cppf-public-hero.compact {
    min-height: 170px;
    padding: 30px 32px
}

body .cppf-kicker {
    background: rgba(255,255,255,.82);
    border: 1px solid #D9E8F8;
    color: #0B72E7;
    box-shadow: 0 8px 24px rgba(15,45,89,.06);
}

body .cppf-public-hero h1 {
    color: #081120;
    font-weight: 950;
    letter-spacing: -.055em;
    line-height: 1.02;
    max-width: 760px;
}

body .cppf-public-hero p {
    color: #516173;
    font-weight: 650;
    max-width: 720px
}

body .cppf-hero-metrics span {
    background: rgba(255,255,255,.90);
    backdrop-filter: blur(10px);
    border: 1px solid #E3EDF8;
    border-radius: 20px;
    box-shadow: 0 15px 38px rgba(15,45,89,.09);
}

body .cppf-hero-metrics strong {
    color: #0B72E7;
    font-size: 28px
}

body .cppf-public-toolbar {
    border: 1px solid #E3EAF3;
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 14px 40px rgba(16,24,40,.06);
    backdrop-filter: blur(10px);
    padding: 20px 22px;
}

body .cppf-public-toolbar strong {
    font-size: 19px;
    color: #101828
}

body .cppf-public-toolbar small {
    color: #667085;
    font-weight: 650
}

/* Medical cards: services, doctors and detail */
body .cppf-service-card, body .cppf-doctor-card, body .cppf-software-card, body .cppf-detail, body .cppf-table-card, body .cppf-chart-card, body .cppf-mini-card {
    border: 1px solid #E3EAF3!important;
    border-radius: 24px!important;
    background: #fff!important;
    box-shadow: 0 14px 42px rgba(16,24,40,.075)!important;
}

body .cppf-service-card.cppf-software-card, body .cppf-doctor-card.cppf-software-card {
    overflow: hidden
}

body .cppf-software-card:hover {
    transform: translateY(-5px);
    border-color: #C7DCF4!important;
    box-shadow: 0 24px 64px rgba(15,45,89,.15)!important;
}

body .cppf-service-media {
    height: 176px;
    background: linear-gradient(135deg,rgba(11,114,231,.12),rgba(16,183,213,.12)), radial-gradient(circle at 82% 0,rgba(19,184,137,.16),transparent 34%),#F5FAFF;
}

body .cppf-service-media span {
    width: 74px;
    height: 74px;
    border-radius: 22px;
    color: #0B72E7;
    border: 1px solid #E3EDF8;
    box-shadow: 0 18px 44px rgba(15,45,89,.14);
}

body .cppf-card-chip {
    color: #0B72E7;
    background: #EEF6FF;
    border: 1px solid #D5E8FF;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

body .cppf-service-body h3, body .cppf-doctor-card h3 {
    font-size: 21px;
    color: #101828;
    margin-bottom: 10px
}

body .cppf-service-body p, body .cppf-doctor-bio {
    color: #5E6B7D;
    font-weight: 600
}

body .cppf-public-page .cppf-meta {
    border: 1px solid #E7EEF7;
    border-radius: 16px;
    background: linear-gradient(135deg,#F8FBFF,#FFFFFF);
    padding: 13px 14px;
}

body .cppf-public-page .cppf-meta strong {
    color: #0B72E7;
    font-weight: 950
}

body .cppf-doctor-card.cppf-software-card {
    padding: 30px 26px!important
}

body .cppf-doctor-avatar-card {
    width: 96px;
    height: 96px;
    border: 4px solid #fff;
    outline: 1px solid #DDE9F6;
    background: linear-gradient(135deg,#EEF6FF,#F7FAFC);
    box-shadow: 0 16px 38px rgba(15,45,89,.13);
}

body .cppf-doctor-card h3:after {
    display: block;
    color: #FDB022;
    font-size: 13px;
    letter-spacing: 2px;
    margin-top: 7px;
}

body .cppf-doctor-special {
    color: #0B72E7!important;
    font-weight: 850;
    font-size: 13px;
}

body .cppf-detail-software {
    border-radius: 28px!important;
    overflow: hidden;
    box-shadow: 0 24px 66px rgba(15,45,89,.12)!important;
}

body .cppf-detail-software>div {
    background: linear-gradient(180deg,#fff,#F9FCFF)
}

body .cppf-detail-software h2 {
    color: #101828
}

/* Booking console - medical intake form */
body .cppf-booking-page .cppf-booking-wrap, body .cppf-booking-wrap {
    border: 1px solid #D9E7F6!important;
    border-radius: 30px!important;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15,45,89,.14)!important;
    overflow: hidden;
}

body .cppf-booking-page .cppf-booking-wrap:before, body .cppf-booking-wrap:before {
    background: radial-gradient(circle at 88% 14%,rgba(255,255,255,.18),transparent 24%), linear-gradient(180deg,#0F2D59 0%,#174A88 100%)!important;
    color: #fff;
    font-weight: 900;
    letter-spacing: -.02em;
}

body .cppf-booking-page .cppf-booking-form, body .cppf-booking-form {
    padding: 42px!important;
    background: radial-gradient(circle at 100% 0,rgba(11,114,231,.06),transparent 24%), linear-gradient(180deg,#FFFFFF,#FBFDFF)!important;
}

body .cppf-booking-page .cppf-booking-form:before {
    color: #05045C;
    letter-spacing: -.04em;
}

body .cppf-booking-form h2 {
    color: #05045C;
    font-size: 30px;
    letter-spacing: -.04em
}

body .cppf-booking-form label, body .cppf-simple-form label, body .cppf-auth label {
    color: #344054;
    font-weight: 900;
}

body .cppf-booking-form label span:after, body .cppf-simple-form label span:after {
    color: #F04438
}

body .cppf-booking-form input, body .cppf-booking-form select, body .cppf-booking-form textarea, body .cppf-simple-form input, body .cppf-simple-form textarea, body .cppf-simple-form select, body .cppf-auth input, body .cppf-auth textarea, body .cppf-auth select, body .cppf-subscribe input, body .cppf-app-shell input, body .cppf-app-shell select, body .cppf-app-shell textarea {
    width: 100%;
    border: 1px solid #D8E3F0!important;
    border-radius: 15px!important;
    background: #fff!important;
    color: #101828;
    min-height: 52px;
    padding: 11px 16px;
    box-shadow: 0 2px 0 rgba(16,24,40,.02);
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

body .cppf-booking-form input:focus, body .cppf-booking-form select:focus, body .cppf-booking-form textarea:focus, body .cppf-simple-form input:focus, body .cppf-simple-form textarea:focus, body .cppf-simple-form select:focus, body .cppf-auth input:focus, body .cppf-auth textarea:focus, body .cppf-app-shell input:focus, body .cppf-app-shell select:focus, body .cppf-app-shell textarea:focus {
    outline: 0;
    border-color: #0B72E7!important;
    box-shadow: var(--cppf-focus)!important;
}

body .cppf-locked-service {
    border: 1px solid #BAE6FD;
    background: linear-gradient(135deg,#F0F9FF,#F8FCFF);
    color: #0B4A6F;
    border-radius: 16px;
    padding: 15px 16px;
}

body .cppf-slots {
    border: 1px solid #DDE8F4;
    border-radius: 20px;
    background: #F8FBFF;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

body .cppf-slot {
    background: linear-gradient(135deg,#13B889,#0EA66F)!important;
    color: #fff;
    border-radius: 999px!important;
    min-height: 38px;
    box-shadow: 0 8px 18px rgba(18,184,134,.20);
}

body .cppf-slot:hover {
    filter: brightness(1.04);
    transform: translateY(-1px)
}

body .cppf-slot.is-selected {
    outline: 4px solid rgba(19,184,137,.18);
    box-shadow: 0 10px 24px rgba(18,184,134,.28)
}

body .cppf-slot.is-booked {
    background: linear-gradient(135deg,#F04438,#E31B54)!important;
    box-shadow: none;
    opacity: .72
}

body .cppf-payable {
    color: #05045C;
    background: #F8FBFF;
    border: 1px solid #E3EAF3;
    border-radius: 16px;
    padding: 13px;
}

/* Login: polished medical auth screen */
body .cppf-login-page {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    min-height: 100vh;
    padding: 80px 20px;
    background: radial-gradient(circle at 2% 10%,rgba(11,114,231,.22),transparent 28%), radial-gradient(circle at 98% 35%,rgba(16,183,213,.18),transparent 30%), linear-gradient(120deg,rgba(239,249,255,.96),rgba(255,255,255,.97) 52%,rgba(245,250,255,.96));
}

body .cppf-login-page:before {
    color: rgba(15,45,89,.20);
    text-shadow: 0 2px 0 rgba(255,255,255,.6);
}

body .cppf-login-page:after {
    content: '';
    width: 430px;
    height: 430px;
    right: 10%;
    top: 20%;
    border-radius: 50%;
    border: 44px solid rgba(11,114,231,.055);
    background: transparent;
}

body .cppf-login-card {
    max-width: 540px;
    border: 1px solid rgba(15,45,89,.12)!important;
    border-radius: 26px!important;
    padding: 50px 56px!important;
    box-shadow: 0 28px 84px rgba(15,45,89,.20)!important;
}

body .cppf-login-card h2 {
    font-size: 24px;
    color: #101828;
    letter-spacing: -.03em
}

body .cppf-login-sub {
    color: #5B6678;
    font-weight: 600
}

body .cppf-role-tabs button {
    min-height: 46px;
    border-radius: 13px!important;
    box-shadow: 0 10px 24px rgba(16,24,40,.12)
}

body .cppf-role-tabs button[data-role=admin] {
    background: linear-gradient(135deg,#B15CF3,#8B3CF6)!important
}

body .cppf-role-tabs button[data-role=doctor] {
    background: linear-gradient(135deg,#13B889,#0AA978)!important
}

body .cppf-role-tabs button[data-role=patient] {
    background: linear-gradient(135deg,#667085,#475467)!important
}

body .cppf-demo-logins {
    font-size: 12px;
    border-color: #D9E7F6!important;
    color: #667085!important
}

/* Auth / enquiry / subscribe / smart card */
body .cppf-auth-software, body .cppf-simple-form, body .cppf-subscribe, body .cppf-auth-logged {
    border: 1px solid #E3EAF3!important;
    border-radius: 26px!important;
    background: #FFFFFF!important;
    box-shadow: 0 20px 62px rgba(15,45,89,.11)!important;
}

body .cppf-auth-software {
    padding: 30px!important
}

body .cppf-auth-software h2 {
    letter-spacing: -.04em;
    color: #101828
}

body .cppf-simple-form {
    position: relative;
    overflow: hidden
}

body .cppf-simple-form:before {
    content: 'Clinic Contact';
    grid-column: 1/-1;
    font-size: 26px;
    font-weight: 950;
    color: #101828;
    letter-spacing: -.04em;
}

body .cppf-subscribe {
    border-radius: 18px!important;
    background: linear-gradient(135deg,#FFFFFF,#F5FAFF)!important
}

body .cppf-smart-card {
    border-radius: 30px!important;
    background: radial-gradient(circle at 92% 0,rgba(16,183,213,.32),transparent 30%), linear-gradient(135deg,#0F2D59,#0B72E7 72%)!important;
    box-shadow: 0 30px 90px rgba(15,45,89,.30)!important;
}

body .cppf-smart-card h2 {
    letter-spacing: -.04em
}

body .cppf-smart-card img {
    box-shadow: 0 14px 34px rgba(0,0,0,.16)
}

/* Frontend portal shell - admin, doctor, patient */
body .cppf-app-shell {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    min-height: 100vh;
    border: 0;
    border-radius: 0;
    background: #F7F8FA;
    display: grid;
    grid-template-columns: 266px minmax(0,1fr);
    box-shadow: none;
    overflow: hidden;
}

body .cppf-app-sidebar {
    background: #FFFFFF;
    border-right: 1px solid #E6EAF0;
    padding: 18px 18px 28px;
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: auto;
}

body .cppf-app-logo {
    min-height: 58px;
    padding: 2px 6px 20px;
    margin: 0 0 12px;
    border-bottom: 1px solid #EEF2F6;
    color: #0F2D59;
}

body .cppf-app-logo span {
    font-size: 15px;
    letter-spacing: -.02em
}

body .cppf-app-logo svg {
    width: 48px;
    height: 48px;
    filter: drop-shadow(0 8px 18px rgba(15,45,89,.10))
}

body .cppf-app-sidebar nav {
    gap: 7px
}

body .cppf-app-sidebar nav a {
    position: relative;
    padding: 12px 13px;
    border-radius: 12px;
    color: #4B5565;
    font-size: 14px;
    font-weight: 800;
    transition: background .16s ease,color .16s ease,transform .16s ease;
}

body .cppf-app-sidebar nav a:before {
    content: '';
    width: 4px;
    height: 0;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background: #0B72E7;
    border-radius: 999px;
    transition: height .16s ease;
}

body .cppf-app-sidebar nav a:hover {
    background: #F4F7FB;
    color: #0B72E7;
    transform: translateX(2px)
}

body .cppf-app-sidebar nav a.active {
    background: #F1F5FF;
    color: #0B57FF;
    box-shadow: inset 0 0 0 1px rgba(11,87,255,.02);
}

body .cppf-app-sidebar nav a.active:before {
    height: 22px
}

body .cppf-app-main {
    padding: 34px 40px 46px;
    min-width: 0;
    background: radial-gradient(circle at 96% 0,rgba(11,114,231,.06),transparent 28%), linear-gradient(180deg,#FAFBFC,#F7F8FA);
}

body .cppf-app-topbar {
    min-height: 72px;
    align-items: center;
    padding: 0 0 26px;
    margin: 0 0 0;
}

body .cppf-app-topbar h2 {
    font-size: 34px;
    line-height: 1;
    letter-spacing: -.055em;
    color: #080B12;
}

body .cppf-app-topbar p {
    font-size: 16px;
    color: #5B6678;
    font-weight: 650
}

body .cppf-app-user {
    align-items: center;
    gap: 10px
}

body .cppf-app-user span {
    border: 1px solid #DDE7F3;
    background: #fff;
    color: #0F2D59;
    border-radius: 12px;
    padding: 9px 14px;
    box-shadow: 0 8px 22px rgba(15,45,89,.06);
}

body .cppf-app-user a {
    border: 1px solid #DDE7F3;
    background: #fff;
    color: #0B72E7;
    border-radius: 12px;
    padding: 9px 14px;
    box-shadow: 0 8px 22px rgba(15,45,89,.06);
}

/* Dashboard stat cards */
body .cppf-app-stats, body .cppf-dashboard-stats, body .cppf-doctor-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 22px;
    margin: 0 0 26px;
}

body .cppf-dash-stat {
    min-height: 116px;
    border-radius: 22px;
    padding: 24px 26px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 16px 44px rgba(16,24,40,.065);
}

body .cppf-dash-stat:after {
    content: '';
    position: absolute;
    right: -34px;
    bottom: -46px;
    width: 130px;
    height: 130px;
    border-radius: 50%;
    background: rgba(255,255,255,.42);
}

body .cppf-dash-stat span {
    font-weight: 900;
    font-size: 13px;
    letter-spacing: .01em
}

body .cppf-dash-stat strong {
    font-size: 34px;
    font-weight: 950;
    letter-spacing: -.04em
}

body .cppf-dash-stat.green {
    background: linear-gradient(135deg,#EAFBF5,#DFF8EF);
    border-color: #B8EFD9;
    color: #009C69
}

body .cppf-dash-stat.orange {
    background: linear-gradient(135deg,#FFF6E7,#FFF0D7);
    border-color: #FFD79E;
    color: #E87900
}

body .cppf-dash-stat.blue {
    background: linear-gradient(135deg,#EEF4FF,#DDE9FF);
    border-color: #C8D9FF;
    color: #3869E8
}

body .cppf-dash-stat.purple {
    background: linear-gradient(135deg,#F5EEFF,#EEE2FF);
    border-color: #DFC8FF;
    color: #7C3AED
}

body .cppf-dash-stat.pink {
    background: linear-gradient(135deg,#FFF0F7,#FFE7F1);
    border-color: #FCCEEE;
    color: #C11574
}

body .cppf-dash-stat.cyan {
    background: linear-gradient(135deg,#E8FAFF,#DBF5FB);
    border-color: #B6EAF4;
    color: #0E8FB0
}

/* Portal charts, cards and panels */
body .cppf-chart-card, body .cppf-table-card, body .cppf-mini-card {
    border-radius: 22px!important;
    border: 1px solid #E3EAF3!important;
    background: #FFFFFF!important;
    box-shadow: 0 14px 40px rgba(16,24,40,.055)!important;
    overflow: hidden;
}

body .cppf-chart-card h3, body .cppf-table-card h3, body .cppf-table-card h2 {
    padding: 18px 22px;
    margin: 0;
    border-bottom: 1px solid #E7ECF2;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: -.025em;
    color: #101828;
}

body .cppf-chart-card .cppf-chart, body .cppf-chart-card svg {
    margin: 18px 20px 24px
}

/* Tables - professional software layout */
body .cppf-app-shell table, body .cppf-table-card table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    font-size: 14px;
}

body .cppf-app-shell thead th, body .cppf-table-card thead th {
    background: #FBFCFE;
    color: #111827;
    font-weight: 950;
    text-align: left;
    border-bottom: 1px solid #E5EAF1;
    padding: 15px 18px;
    white-space: nowrap;
}

body .cppf-app-shell tbody td, body .cppf-table-card tbody td {
    border-bottom: 1px solid #E8EDF3;
    padding: 15px 18px;
    vertical-align: middle;
    color: #273142;
}

body .cppf-app-shell tbody tr:hover, body .cppf-table-card tbody tr:hover {
    background: #FBFDFF
}

body .cppf-app-shell tbody tr:last-child td, body .cppf-table-card tbody tr:last-child td {
    border-bottom: 0
}

body .cppf-app-shell td a:not(.cppf-btn), body .cppf-table-card td a:not(.cppf-btn) {
    color: #0B57FF;
    font-weight: 850;
    text-decoration: none
}

body .cppf-app-shell .cppf-avatar, body .cppf-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    background: #EEF2F7;
    border: 1px solid #E2E8F0;
    box-shadow: 0 8px 18px rgba(16,24,40,.07);
}

/* Status badges, date pills and action icons */
body .cppf-badge, body .cppf-status, body .cppf-pill, body .cppf-date-pill, body .cppf-app-shell .badge, body .cppf-app-shell .status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    border: 1px solid #DDE7F3;
    background: #EEF6FF;
    color: #0B57FF;
}

body .cppf-date-pill, body .cppf-app-shell td small, body .cppf-app-shell .cppf-date {
    background: #EEF6FF;
    color: #0B57FF;
    border: 1px solid #D7E7FF;
    border-radius: 8px;
    padding: 4px 8px;
    font-weight: 850;
}

body .cppf-paid, body .cppf-status-paid, body .cppf-status-check_in, body .cppf-status-confirmed, body .cppf-status-completed, body .cppf-status-finished, body .cppf-status-read {
    background: #EAFBF3!important;
    color: #067647!important;
    border-color: #ABEFC6!important;
}

body .cppf-status-pending, body .cppf-status-booked, body .cppf-status-awaited {
    background: #FFF6E7!important;
    color: #B54708!important;
    border-color: #FEDF89!important;
}

body .cppf-status-cancelled, body .cppf-status-failed, body .cppf-status-unpaid {
    background: #FEF3F2!important;
    color: #B42318!important;
    border-color: #FECDCA!important;
}

body .cppf-actions, body .cppf-action-row {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: flex-end
}

body .cppf-actions a, body .cppf-actions button, body .cppf-action-row a, body .cppf-action-row button, body .cppf-icon-action {
    width: 34px!important;
    height: 34px!important;
    min-height: 34px!important;
    padding: 0!important;
    border-radius: 10px!important;
    background: #F8FBFF!important;
    color: #0B57FF!important;
    border: 1px solid #D9E7F6!important;
    box-shadow: none!important;
}

body .cppf-actions a:hover, body .cppf-actions button:hover, body .cppf-icon-action:hover {
    background: #EEF6FF!important;
    transform: translateY(-1px)
}

body .cppf-actions .danger, body .cppf-icon-action.danger {
    color: #F04438!important;
    border-color: #FECDCA!important;
    background: #FFFBFA!important
}

/* Portal forms, cards, tabs, switches, filters */
body .cppf-app-shell form:not(.cppf-inline-form), body .cppf-panel-form {
    border: 1px solid #E3EAF3;
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 14px 40px rgba(16,24,40,.055);
    padding: 24px;
}

body .cppf-form-row, body .cppf-form-grid {
    gap: 16px
}

body .cppf-tabs, body .cppf-admin-tabs, body .cppf-filterbar, body .cppf-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    border: 1px solid #E3EAF3;
    background: #FFFFFF;
    border-radius: 18px;
    padding: 10px;
    box-shadow: 0 10px 28px rgba(16,24,40,.045);
}

body .cppf-tabs a, body .cppf-admin-tabs a, body .cppf-tabs button, body .cppf-admin-tabs button {
    color: #667085!important;
    background: transparent!important;
    border: 0!important;
    box-shadow: none!important;
    border-radius: 12px!important;
    padding: 10px 14px!important;
    min-height: 40px;
    font-weight: 900;
    text-decoration: none!important;
}

body .cppf-tabs a.active, body .cppf-admin-tabs a.active, body .cppf-tabs button.active, body .cppf-admin-tabs button.active {
    color: #0B57FF!important;
    background: #F1F5FF!important;
}

body .cppf-switch, body .cppf-toggle, body input[type=checkbox].cppf-switch {
    appearance: none;
    width: 46px!important;
    height: 26px!important;
    border-radius: 999px!important;
    background: #E5E7EB!important;
    border: 0!important;
    position: relative;
    cursor: pointer;
    transition: .18s ease;
}

body .cppf-switch:before, body .cppf-toggle:before, body input[type=checkbox].cppf-switch:before {
    content: '';
    position: absolute;
    left: 3px;
    top: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 8px rgba(16,24,40,.18);
    transition: .18s ease;
}

body .cppf-switch:checked, body .cppf-toggle:checked, body input[type=checkbox].cppf-switch:checked {
    background: #2E90FA!important
}

body .cppf-switch:checked:before, body .cppf-toggle:checked:before, body input[type=checkbox].cppf-switch:checked:before {
    left: 23px
}

/* Empty states */
body .cppf-empty, body .cppf-empty-state, body .cppf-no-slots {
    color: #475467;
    font-weight: 900;
    text-align: center;
    padding: 34px 18px;
}

body .cppf-empty:before, body .cppf-empty-state:before, body .cppf-no-slots:before {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: #F2F4F7;
    color: #98A2B3;
    font-size: 23px;
    content: "\1F4C5";
}

/* Pagination */
body .cppf-pagination, body .cppf-pager, body .cppf-app-shell .pagination {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
    margin: 16px 0 0;
}

body .cppf-pagination a, body .cppf-pagination span, body .cppf-pager a, body .cppf-pager span, body .cppf-app-shell .pagination a, body .cppf-app-shell .pagination span {
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E3EAF3;
    background: #fff;
    color: #344054;
    border-radius: 10px;
    font-weight: 850;
    text-decoration: none;
}

body .cppf-pagination .current, body .cppf-pager .current, body .cppf-app-shell .pagination .current {
    background: #EEF6FF;
    color: #0B57FF;
    border-color: #B9D9FF
}

/* WP theme conflict protection */
body .entry-content .cppf-public-page a, body .entry-content .cppf-app-shell a, body .wp-site-blocks .cppf-public-page a, body .wp-site-blocks .cppf-app-shell a {
    text-decoration: none
}

body .entry-content .cppf-public-page button, body .entry-content .cppf-app-shell button {
    font-family: inherit
}

body .entry-content .cppf-public-page table, body .entry-content .cppf-app-shell table {
    margin: 0;
    border: 0
}

body .entry-content .cppf-public-page th, body .entry-content .cppf-public-page td, body .entry-content .cppf-app-shell th, body .entry-content .cppf-app-shell td {
    border-left: 0;
    border-right: 0
}

/* Responsive polish */
@media(max-width: 1180px) {
    body .cppf-app-shell {
        grid-template-columns:230px minmax(0,1fr)
    }

    body .cppf-app-main {
        padding: 28px 24px 40px
    }

    body .cppf-app-stats,body .cppf-dashboard-stats,body .cppf-doctor-stats {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 1040px) {
    body .cppf-public-page {
        width:min(100%,calc(100vw - 24px));
        margin: 24px auto
    }

    body .cppf-booking-page .cppf-booking-wrap,body .cppf-booking-wrap {
        grid-template-columns: 1fr!important
    }

    body .cppf-booking-page .cppf-booking-wrap:before,body .cppf-booking-wrap:before {
        display: none!important
    }
}

@media(max-width: 860px) {
    body .cppf-app-shell {
        display:block;
        width: 100%;
        margin-left: 0;
        min-height: auto;
        border-radius: 18px;
        overflow: visible
    }

    body .cppf-app-sidebar {
        position: relative;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid #E6EAF0;
        overflow: visible
    }

    body .cppf-app-sidebar nav {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr))
    }

    body .cppf-app-main {
        padding: 22px 16px
    }

    body .cppf-app-topbar {
        display: block
    }

    body .cppf-app-user {
        margin-top: 14px;
        flex-wrap: wrap
    }

    body .cppf-app-topbar h2 {
        font-size: 28px
    }
}

@media(max-width: 640px) {
    body .cppf-public-page:before {
        display:none
    }

    body .cppf-public-hero {
        border-radius: 22px;
        padding: 24px 18px;
        min-height: 0
    }

    body .cppf-public-hero h1 {
        font-size: 30px
    }

    body .cppf-hero-metrics span {
        min-width: 100%
    }

    body .cppf-booking-form {
        padding: 24px 18px!important
    }

    body .cppf-login-card {
        padding: 34px 22px!important
    }

    body .cppf-login-page:before,body .cppf-login-page:after {
        display: none
    }

    body .cppf-role-tabs {
        gap: 8px
    }

    body .cppf-app-sidebar nav {
        grid-template-columns: 1fr
    }

    body .cppf-app-stats,body .cppf-dashboard-stats,body .cppf-doctor-stats {
        grid-template-columns: 1fr
    }

    body .cppf-table-card {
        overflow: auto
    }

    body .cppf-app-shell table,body .cppf-table-card table {
        min-width: 720px
    }

    body .cppf-simple-form {
        grid-template-columns: 1fr!important
    }
}

/* ======================================================================
   v2.1.9 Frontend Compact UI Fix
   Fix: oversized typography + table layout polish on frontend portals/pages
   ====================================================================== */
body .cppf-public-page, body .cppf-app-shell, body .cppf-login-page, body .cppf-booking-wrap, body .cppf-detail, body .cppf-simple-form, body .cppf-auth, body .cppf-smart-card, body .cppf-table-card, body .cppf-chart-card, body .cppf-mini-card {
    font-size: 14px!important;
    line-height: 1.45!important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* Keep headings professional, not oversized */
body .cppf-public-page h1 {
    font-size: clamp(28px,3vw,40px)!important;
    line-height: 1.12!important;
    letter-spacing: -.035em!important;
    margin-bottom: 12px!important
}

body .cppf-public-page h2, body .cppf-app-shell h2, body .cppf-login-card h2, body .cppf-auth h2 {
    font-size: clamp(20px,2vw,26px)!important;
    line-height: 1.22!important;
    letter-spacing: -.025em!important
}

body .cppf-public-page h3, body .cppf-app-shell h3, body .cppf-table-card h3 {
    font-size: 16px!important;
    line-height: 1.3!important
}

body .cppf-public-page p, body .cppf-app-shell p, body .cppf-card-body p {
    font-size: 14px!important;
    line-height: 1.55!important;
    color: #475467
}

/* Portal shell compact spacing */
body .cppf-app-shell {
    max-width: 1280px!important;
    margin: 24px auto!important;
    border-radius: 18px!important;
    grid-template-columns: 220px minmax(0,1fr)!important
}

body .cppf-app-sidebar {
    padding: 14px!important
}

body .cppf-app-logo {
    margin-bottom: 18px!important;
    font-size: 15px!important
}

body .cppf-app-logo svg {
    width: 38px!important;
    height: 38px!important
}

body .cppf-app-sidebar nav {
    gap: 5px!important
}

body .cppf-app-sidebar nav a {
    padding: 10px 11px!important;
    font-size: 13px!important;
    border-radius: 9px!important;
    line-height: 1.25!important
}

body .cppf-app-main, body .cppf-doctor-main {
    padding: 24px!important;
    min-width: 0!important
}

body .cppf-app-topbar {
    margin-bottom: 20px!important;
    align-items: center!important
}

body .cppf-app-topbar h2, body .cppf-doctor-title-row h2 {
    font-size: 24px!important;
    line-height: 1.2!important;
    margin: 0!important
}

body .cppf-app-topbar p, body .cppf-doctor-title-row p {
    font-size: 13px!important;
    margin-top: 5px!important;
    color: #667085!important
}

body .cppf-app-user span {
    padding: 6px 11px!important;
    font-size: 12px!important
}

/* Dashboard stats compact */
body .cppf-app-stats, body .cppf-dashboard-stats, body .cppf-doctor-stats {
    gap: 14px!important;
    margin-bottom: 18px!important
}

body .cppf-dash-stat {
    min-height: 86px!important;
    padding: 16px 18px!important;
    border-radius: 16px!important
}

body .cppf-dash-stat span {
    font-size: 11.5px!important;
    margin-bottom: 7px!important;
    line-height: 1.25!important
}

body .cppf-dash-stat strong {
    font-size: 26px!important;
    line-height: 1!important;
    letter-spacing: -.03em!important
}

/* Cards and panels compact */
body .cppf-service-card, body .cppf-doctor-card, body .cppf-detail, body .cppf-booking-wrap, body .cppf-mini-card, body .cppf-simple-form, body .cppf-table-card, body .cppf-chart-card {
    border-radius: 18px!important;
    box-shadow: 0 10px 28px rgba(16,24,40,.055)!important
}

body .cppf-card-body {
    padding: 18px!important
}

body .cppf-price {
    font-size: 18px!important;
    margin: 8px 0!important
}

body .cppf-meta {
    font-size: 12px!important;
    gap: 8px!important
}

body .cppf-btn, body .cppf-signin, body .cppf-rect-btn {
    min-height: 38px!important;
    padding: 9px 16px!important;
    font-size: 13px!important;
    border-radius: 10px!important;
    box-shadow: 0 8px 18px rgba(11,114,231,.18)!important
}

body .cppf-btn.small {
    min-height: 30px!important;
    padding: 6px 10px!important;
    font-size: 11.5px!important
}

/* Forms compact */
body .cppf-booking-form input, body .cppf-booking-form select, body .cppf-booking-form textarea, body .cppf-simple-form input, body .cppf-simple-form select, body .cppf-simple-form textarea, body .cppf-auth input, body .cppf-auth textarea, body .cppf-login-form input[type=text], body .cppf-login-form input[type=password] {
    min-height: 42px!important;
    height: auto!important;
    font-size: 13px!important;
    border-radius: 10px!important;
    padding: 9px 12px!important
}

body .cppf-booking-form label, body .cppf-simple-form label, body .cppf-auth label {
    font-size: 13px!important;
    line-height: 1.3!important
}

body .cppf-booking-form label span, body .cppf-simple-form label span {
    margin-bottom: 6px!important;
    font-size: 12.5px!important
}

body .cppf-form-grid {
    gap: 14px!important
}

body .cppf-booking-form {
    padding: 26px!important
}

body .cppf-booking-wrap:before {
    font-size: 14px!important;
    padding: 30px 26px!important;
    line-height: 1.45!important
}

/* Table UI reset/polish - frontend portals */
body .cppf-table-card, body .cppf-list-card {
    overflow-x: auto!important;
    overflow-y: hidden!important;
    background: #fff!important;
    border: 1px solid #E6EAF0!important
}

body .cppf-table-card h2, body .cppf-table-card h3, body .cppf-card-tabs {
    padding: 14px 16px!important;
    font-size: 16px!important;
    min-height: auto!important
}

body .cppf-table-card table, body .cppf-app-shell table, body table.cppf-doctor-table, body table.cppf-table {
    width: 100%!important;
    border-collapse: separate!important;
    border-spacing: 0!important;
    margin: 0!important;
    background: #fff!important;
    font-size: 13px!important;
    line-height: 1.35!important;
    table-layout: auto!important;
}

body table.cppf-doctor-table {
    min-width: 760px!important
}

body .cppf-admin-portal .cppf-table-card .cppf-doctor-table {
    min-width: 820px!important
}

body .cppf-table-card th, body .cppf-table-card td, body .cppf-app-shell table th, body .cppf-app-shell table td, body table.cppf-doctor-table th, body table.cppf-doctor-table td, body table.cppf-table th, body table.cppf-table td {
    padding: 10px 12px!important;
    border-left: 0!important;
    border-right: 0!important;
    border-top: 0!important;
    vertical-align: middle!important;
    font-size: 13px!important;
    line-height: 1.35!important;
    text-align: left!important;
    white-space: normal!important;
}

body .cppf-table-card th, body .cppf-app-shell table th, body table.cppf-doctor-table th, body table.cppf-table th {
    background: #F8FAFC!important;
    color: #344054!important;
    font-size: 12px!important;
    font-weight: 800!important;
    text-transform: none!important;
    letter-spacing: 0!important;
    border-bottom: 1px solid #E6EAF0!important;
    white-space: nowrap!important;
}

body .cppf-table-card td, body .cppf-app-shell table td, body table.cppf-doctor-table td, body table.cppf-table td {
    color: #475467!important;
    border-bottom: 1px solid #EEF2F6!important
}

body .cppf-table-card td strong, body .cppf-app-shell table td strong {
    font-size: 13px!important;
    color: #101828!important;
    font-weight: 800!important
}

body .cppf-table-card td small, body .cppf-app-shell table td small {
    font-size: 11.5px!important;
    color: #667085!important
}

body .cppf-table-card tr:hover td, body .cppf-app-shell table tr:hover td {
    background: #FBFDFF!important
}

/* Status, pills, icons should stay compact */
body .cppf-status, body .cppf-badge, body .cppf-pill, body .cppf-date-pill {
    min-height: 22px!important;
    padding: 4px 8px!important;
    font-size: 11px!important;
    line-height: 1!important;
    border-radius: 999px!important;
    white-space: nowrap!important
}

body .cppf-action-icons {
    gap: 8px!important;
    justify-content: flex-start!important
}

body .cppf-action-icons a {
    font-size: 12px!important;
    line-height: 1!important
}

body .cppf-list-toolbar {
    padding: 12px 16px!important;
    gap: 12px!important
}

body .cppf-inline-search {
    height: 38px!important;
    min-width: 220px!important;
    border-radius: 10px!important
}

body .cppf-inline-search input {
    font-size: 13px!important;
    height: 36px!important
}

body .cppf-list-footer {
    padding: 12px 16px!important;
    font-size: 12px!important
}

body .cppf-pages span, body .cppf-pages b, body .cppf-pages em {
    min-width: 30px!important;
    height: 30px!important;
    font-size: 12px!important
}

/* Public service/doctor cards do not overpower Elementor pages */
body .cppf-public-hero {
    min-height: 170px!important;
    padding: 26px!important;
    border-radius: 22px!important
}

body .cppf-public-hero .cppf-eyebrow {
    font-size: 11px!important
}

body .cppf-hero-metrics span {
    padding: 11px 13px!important;
    font-size: 12px!important;
    min-width: 120px!important
}

body .cppf-service-card img, body .cppf-detail>img, body .cppf-doctor-card img {
    height: 180px!important
}

@media(max-width: 1180px) {
    body .cppf-app-shell {
        grid-template-columns:205px minmax(0,1fr)!important
    }

    body .cppf-app-stats,body .cppf-dashboard-stats,body .cppf-doctor-stats {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
}

@media(max-width: 860px) {
    body .cppf-app-shell {
        display:block!important;
        width: calc(100vw - 18px)!important;
        margin: 14px auto!important
    }

    body .cppf-app-main,body .cppf-doctor-main {
        padding: 16px!important
    }

    body .cppf-app-sidebar nav {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    body table.cppf-doctor-table,body .cppf-table-card table,body .cppf-app-shell table {
        min-width: 680px!important
    }
}

@media(max-width: 640px) {
    body .cppf-public-page {
        width:calc(100vw - 18px)!important;
        margin: 14px auto!important
    }

    body .cppf-public-page h1 {
        font-size: 26px!important
    }

    body .cppf-app-sidebar nav {
        grid-template-columns: 1fr!important
    }

    body .cppf-app-stats,body .cppf-dashboard-stats,body .cppf-doctor-stats {
        grid-template-columns: 1fr!important
    }

    body .cppf-table-card {
        max-width: 100%!important
    }
}

/* ======================================================================
   v2.2.0 Production Frontend Redesign
   Independent plugin CSS system: compact typography, professional medical UI,
   dynamic-data friendly layouts, no visible hardcoded demo panels.
   ====================================================================== */
body :where(.cppf-public-page,.cppf-login-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-smart-card,.cppf-simple-form,.cppf-subscribe,.cppf-auth) {
    --cppf-ui-primary: #0757C2;
    --cppf-ui-primary-dark: #063A83;
    --cppf-ui-primary-soft: #EAF3FF;
    --cppf-ui-cyan: #06A6D7;
    --cppf-ui-teal: #0EA978;
    --cppf-ui-amber: #F59E0B;
    --cppf-ui-rose: #E11D48;
    --cppf-ui-ink: #111827;
    --cppf-ui-text: #344054;
    --cppf-ui-muted: #667085;
    --cppf-ui-line: #E5EAF2;
    --cppf-ui-line-2: #D5DEE9;
    --cppf-ui-bg: #F6F9FC;
    --cppf-ui-panel: #FFFFFF;
    --cppf-ui-radius: 16px;
    --cppf-ui-radius-sm: 10px;
    --cppf-ui-shadow: 0 14px 38px rgba(16,24,40,.08);
    --cppf-ui-shadow-sm: 0 8px 20px rgba(16,24,40,.06);
    font-family: Inter,Roboto,"Segoe UI",Arial,sans-serif!important;
    color: var(--cppf-ui-text)!important;
    font-size: 14px!important;
    line-height: 1.5!important;
    letter-spacing: 0!important;
}

body :where(.cppf-public-page,.cppf-login-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-smart-card,.cppf-simple-form,.cppf-subscribe,.cppf-auth) *, body :where(.cppf-public-page,.cppf-login-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-smart-card,.cppf-simple-form,.cppf-subscribe,.cppf-auth) *:before, body :where(.cppf-public-page,.cppf-login-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-smart-card,.cppf-simple-form,.cppf-subscribe,.cppf-auth) *:after {
    box-sizing: border-box!important
}

/* Hide older static decorative text panels from previous theme CSS */
body .cppf-login-page:before, body .cppf-login-page:after, body .cppf-booking-wrap:before {
    content: none!important;
    display: none!important
}

body .cppf-demo-logins {
    display: none!important
}

/* Compact typography scale */
body :where(.cppf-public-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-auth,.cppf-simple-form) h1, body .cppf-public-hero h1, body .cppf-doctor-title-row h1 {
    font-size: clamp(24px,2.15vw,34px)!important;
    line-height: 1.15!important;
    font-weight: 800!important;
    letter-spacing: -.025em!important;
    color: var(--cppf-ui-ink)!important;
    margin: 0 0 8px!important
}

body :where(.cppf-public-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-auth,.cppf-simple-form) h2 {
    font-size: 18px!important;
    line-height: 1.25!important;
    font-weight: 800!important;
    color: var(--cppf-ui-ink)!important;
    margin: 0 0 14px!important
}

body :where(.cppf-public-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-auth,.cppf-simple-form) h3 {
    font-size: 16px!important;
    line-height: 1.3!important;
    font-weight: 800!important;
    color: var(--cppf-ui-ink)!important;
    margin: 0 0 8px!important
}

body :where(.cppf-public-page,.cppf-doctor-portal,.cppf-app-shell,.cppf-auth,.cppf-simple-form) p {
    font-size: 14px!important;
    line-height: 1.6!important;
    color: var(--cppf-ui-muted)!important;
    margin: 0 0 12px!important
}

body .cppf-public-hero p {
    max-width: 680px!important;
    font-size: 14.5px!important;
    font-weight: 500!important;
    color: #53657A!important
}

/* Public page frame */
body .cppf-public-page, body .cppf-register-page, body .cppf-booking-page, body .cppf-detail-page, body .cppf-public-services, body .cppf-public-doctors {
    width: min(1220px,calc(100vw - 32px))!important;
    margin: 28px auto!important;
    padding: 0!important;
    background: transparent!important
}

body .cppf-public-page:before {
    display: none!important;
    content: none!important
}

body .cppf-public-hero {
    min-height: auto!important;
    padding: 19px 28px!important;
    border-radius: 22px!important;
    border: 1px solid #D8E7F7!important;
    background: linear-gradient(135deg,#FFFFFF 0%,#F2F8FF 64%,#F8FCFF 100%)!important;
    box-shadow: var(--cppf-ui-shadow)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 22px!important
}

body .cppf-public-hero:before, body .cppf-public-hero:after {
    display: none!important;
    content: none!important
}

body .cppf-public-hero.compact {
    padding: 24px 26px!important;
    border-radius: 20px!important
}

body .cppf-kicker {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    font-size: 11px!important;
    line-height: 1!important;
    font-weight: 800!important;
    text-transform: uppercase!important;
    letter-spacing: .06em!important;
    color: var(--cppf-ui-primary)!important;
    background: var(--cppf-ui-primary-soft)!important;
    border: 1px solid #C7DEFF!important;
    border-radius: 999px!important;
    padding: 8px 11px!important;
    margin: 0 0 12px!important;
    box-shadow: none!important
}

body .cppf-hero-metrics {
    display: flex!important;
    gap: 12px!important;
    flex-wrap: wrap!important;
    justify-content: flex-end!important;
    min-width: 260px!important
}

body .cppf-hero-metrics span {
    background: #fff!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 14px!important;
    padding: 12px 14px!important;
    box-shadow: var(--cppf-ui-shadow-sm)!important;
    min-width: 118px!important;
    font-size: 12px!important;
    color: var(--cppf-ui-muted)!important;
    font-weight: 700!important
}

body .cppf-hero-metrics strong {
    display: block!important;
    font-size: 22px!important;
    line-height: 1!important;
    font-weight: 850!important;
    color: var(--cppf-ui-primary)!important;
    margin-bottom: 4px!important
}

body .cppf-public-toolbar {
    margin: 18px 0!important;
    padding: 14px 16px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 16px!important;
    background: #fff!important;
    box-shadow: var(--cppf-ui-shadow-sm)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important
}

body .cppf-public-toolbar strong {
    font-size: 15px!important;
    color: var(--cppf-ui-ink)!important;
    font-weight: 800!important;
    display: block!important
}

body .cppf-public-toolbar small {
    font-size: 12.5px!important;
    color: var(--cppf-ui-muted)!important;
    display: block!important;
    margin-top: 2px!important
}

/* Buttons */
body .cppf-btn, body .cppf-signin, body .cppf-rect-btn, body .cppf-simple-form button, body .cppf-auth button, body .cppf-subscribe button, body .cppf-doctor-portal button:not(.cppf-bell):not(.cppf-red-icon) {
    min-height: 38px!important;
    padding: 9px 16px!important;
    border-radius: 10px!important;
    background: linear-gradient(135deg, var(--cppf-ui-primary), #0f2d59) !important;
    color: #fff!important;
    font-size: 13px!important;
    font-weight: 800!important;
    box-shadow: 0 10px 22px rgba(7,87,194,.18)!important;
    letter-spacing: 0!important;
    text-decoration: none!important;
    border: 0!important
}

body .cppf-btn:hover, body .cppf-signin:hover, body .cppf-rect-btn:hover {
    transform: translateY(-1px)!important;
    box-shadow: 0 14px 28px rgba(7,87,194,.24)!important
}

body .cppf-btn.small {
    min-height: 30px!important;
    padding: 6px 10px!important;
    font-size: 12px!important;
    border-radius: 8px!important
}

body .cppf-btn-teal {
    background: linear-gradient(135deg,#0EA978,#0A8F66)!important;
    box-shadow: 0 10px 22px rgba(14,169,120,.18)!important
}

body .cppf-btn-dark {
    background: linear-gradient(135deg,#475467,#344054)!important;
    box-shadow: 0 10px 22px rgba(52,64,84,.14)!important
}

/* Cards and grids */
body .cppf-services-grid, body .cppf-doctors-grid, body .cppf-grid {
    gap: 18px!important
}

body .cppf-service-card, body .cppf-doctor-card, body .cppf-detail, body .cppf-booking-wrap, body .cppf-smart-card, body .cppf-simple-form, body .cppf-table-card, body .cppf-chart-card, body .cppf-mini-card, body .cppf-auth {
    background: #fff!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 18px!important;
    box-shadow: var(--cppf-ui-shadow)!important;
    color: var(--cppf-ui-text)!important
}

body .cppf-service-card, body .cppf-doctor-card {
    overflow: hidden!important;
    padding: 0!important;
    transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease!important
}

body .cppf-service-card:hover, body .cppf-doctor-card:hover {
    transform: translateY(-3px)!important;
    border-color: #B9D5FF!important;
    box-shadow: 0 20px 46px rgba(7,87,194,.13)!important
}

body .cppf-service-media {
    height: 152px!important;
    background: linear-gradient(135deg,#EAF3FF,#F6FBFF)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    border-bottom: 1px solid var(--cppf-ui-line)!important
}

body .cppf-service-media img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important;
    display: block!important
}

body .cppf-service-media span {
    width: 46px!important;
    height: 46px!important;
    border-radius: 14px!important;
    background: #fff!important;
    color: var(--cppf-ui-primary)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 26px!important;
    font-weight: 800!important;
    box-shadow: 0 10px 24px rgba(7,87,194,.13)!important
}

body .cppf-service-body {
    padding: 18px!important
}

body .cppf-card-chip {
    font-size: 11px!important;
    font-weight: 800!important;
    color: var(--cppf-ui-teal)!important;
    background: #E8FAF3!important;
    border: 1px solid #C8F2DF!important;
    border-radius: 999px!important;
    display: inline-flex!important;
    padding: 5px 9px!important;
    margin-bottom: 10px!important;
    text-transform: uppercase!important;
    letter-spacing: .04em!important
}

body .cppf-service-body h3, body .cppf-doctor-card h3 {
    font-size: 17px!important;
    margin-bottom: 8px!important
}

body .cppf-service-body p, body .cppf-doctor-bio {
    font-size: 13.5px!important;
    color: var(--cppf-ui-muted)!important;
    line-height: 1.55!important;
    min-height: auto!important
}

body .cppf-meta {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    flex-wrap: wrap!important;
    margin: 14px 0!important;
    font-size: 12.5px!important;
    color: var(--cppf-ui-muted)!important
}

body .cppf-meta span, body .cppf-meta strong {
    border-radius: 999px!important;
    padding: 6px 9px!important;
    background: #F3F7FB!important;
    border: 1px solid var(--cppf-ui-line)!important;
    color: var(--cppf-ui-text)!important;
    font-size: 12.5px!important;
    font-weight: 800!important
}

body .cppf-meta strong {
    background: #ECFDF3!important;
    color: #067647!important;
    border-color: #B7EBD0!important
}

body .cppf-doctor-avatar-card {
    height: 91px!important;
    background: linear-gradient(135deg,#EAF3FF,#F8FCFF)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    border-bottom: 1px solid var(--cppf-ui-line)!important;
    margin: 0px 0px 18px!important;
}

body .cppf-doctor-avatar-card img {
    width: 86px!important;
    height: 86px!important;
    object-fit: cover!important;
    border-radius: 50%!important;
    border: 4px solid #fff!important;
    box-shadow: 0 10px 22px rgba(16,24,40,.12)!important
}

body .cppf-doctor-avatar-card span {
    width: 78px!important;
    height: 78px!important;
    border-radius: 50%!important;
    background: #fff!important;
    color: var(--cppf-ui-primary)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 24px!important;
    font-weight: 900!important;
    box-shadow: 0 10px 22px rgba(16,24,40,.10)!important
}

body .cppf-doctor-card {
    padding-bottom: 18px!important;
    text-align: left!important
}

body .cppf-doctor-card h3, body .cppf-doctor-card .cppf-doctor-special, body .cppf-doctor-card .cppf-doctor-bio, body .cppf-doctor-card .cppf-btn {
    margin-left: 18px!important;
    margin-right: 18px!important
}

/* Forms / booking */
body .cppf-booking-wrap {
    max-width: 1050px!important;
    display: block!important;
    margin: 22px auto!important;
    padding: 0!important;
    overflow: hidden!important;
    background: #fff!important
}

body .cppf-booking-form {
    padding: 24px!important
}

body .cppf-booking-form h2 {
    font-size: 20px!important;
    color: var(--cppf-ui-ink)!important
}

body .cppf-form-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important
}

body .cppf-booking-form label, body .cppf-simple-form label, body .cppf-auth label {
    font-size: 13px!important;
    font-weight: 750!important;
    color: var(--cppf-ui-text)!important;
    margin: 0!important
}

body .cppf-booking-form label span, body .cppf-simple-form label span, body .cppf-auth label span {
    display: block!important;
    font-size: 12.5px!important;
    color: var(--cppf-ui-text)!important;
    font-weight: 600 !important;
    margin: 0 0 6px!important
}

body .cppf-booking-form input, body .cppf-booking-form select, body .cppf-booking-form textarea, body .cppf-simple-form input, body .cppf-simple-form textarea, body .cppf-simple-form select, body .cppf-auth input, body .cppf-auth textarea, body .cppf-auth select, body .cppf-subscribe input {
    min-height: 42px!important;
    height: auto!important;
    border: 1px solid var(--cppf-ui-line-2)!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: var(--cppf-ui-ink)!important;
    padding: 9px 12px!important;
    font-size: 13.5px!important;
    box-shadow: none!important;
    outline: none!important
}

body .cppf-booking-form input:focus, body .cppf-booking-form select:focus, body .cppf-simple-form input:focus, body .cppf-simple-form textarea:focus, body .cppf-auth input:focus {
    border-color: #8BBEFF!important;
    box-shadow: 0 0 0 4px rgba(7,87,194,.10)!important
}

body .cppf-locked-service {
    background: #F0F7FF!important;
    border: 1px solid #C6DEFF!important;
    border-radius: 12px!important;
    padding: 12px!important;
    color: var(--cppf-ui-primary-dark)!important;
    font-size: 13.5px!important
}

body .cppf-slots {
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 14px!important;
    background: #F8FBFF!important;
    padding: 12px!important;
    gap: 8px!important;
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    max-height: 240px!important
}

body .cppf-slot {
    min-height: 34px!important;
    padding: 8px 9px!important;
    border-radius: 10px!important;
    font-size: 12px!important;
    font-weight: 800!important;
    background: #0EA978!important;
    color: #fff!important;
    box-shadow: none!important
}

body .cppf-slot.is-selected {
    background: #0757C2!important;
    outline: 3px solid rgba(7,87,194,.15)!important
}

body .cppf-slot.is-booked {
    background: #E11D48!important;
    opacity: .72!important
}

body .cppf-payable {
    font-size: 15px!important;
    color: var(--cppf-ui-primary-dark)!important;
    margin: 16px 0!important
}

/* Login redesign */
body .cppf-login-page {
    min-height: 680px!important;
    padding: 54px 16px!important;
    background: linear-gradient(135deg,#F4F9FF,#FFFFFF 50%,#F7FBFF)!important
}

body .cppf-login-card {
    max-width: 430px!important;
    border-radius: 20px!important;
    padding: 30px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    box-shadow: 0 22px 58px rgba(7,87,194,.12)!important;
    text-align: center!important
}

body .cppf-logo-mark svg {
    width: 58px!important;
    height: 58px!important
}

body .cppf-login-card h2 {
    font-size: 22px!important;
    margin: 8px 0 6px!important;
    color: var(--cppf-ui-ink)!important
}

body .cppf-login-sub {
    font-size: 13.5px!important;
    color: var(--cppf-ui-muted)!important;
    margin-bottom: 20px!important
}

body .cppf-login-form label {
    margin-bottom: 14px!important
}

body .cppf-login-form input[type=text], body .cppf-login-form input[type=password] {
    height: 42px!important;
    border-radius: 10px!important;
    font-size: 13.5px!important;
    background: #fff!important
}

body .cppf-role-tabs {
    grid-template-columns: repeat(3,1fr)!important;
    gap: 8px!important;
    margin: 12px 0 18px!important
}

body .cppf-role-tabs button {
    min-height: 36px!important;
    border-radius: 10px!important;
    font-size: 12.5px!important;
    padding: 8px 10px!important;
    box-shadow: none!important
}

body .cppf-remember {
    font-size: 13px!important;
    gap: 8px!important
}

body .cppf-login-bottom {
    font-size: 13px!important;
    margin-top: 16px!important
}

/* Portal shell */
body .cppf-doctor-portal {
    background: #F6F9FC!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 22px!important;
    overflow: hidden!important;
    min-height: 760px!important;
    box-shadow: 0 18px 54px rgba(16,24,40,.08)!important;
    font-size: 13.5px!important
}

body .cppf-doctor-topbar {
    height: 68px!important;
    background: #fff!important;
    border-bottom: 1px solid var(--cppf-ui-line)!important;
    padding: 0 18px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important
}

body .cppf-doctor-brand {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important
}

body .cppf-back {
    width: 34px!important;
    height: 34px!important;
    border-radius: 10px!important;
    background: #F2F6FB!important;
    border: 1px solid var(--cppf-ui-line)!important;
    color: var(--cppf-ui-primary)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-decoration: none!important;
    font-size: 22px!important;
    font-weight: 800!important
}

body .cppf-doctor-topright {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    color: var(--cppf-ui-text)!important;
    font-size: 12.5px!important
}

body .cppf-doctor-topright strong {
    font-size: 13.5px!important;
    color: var(--cppf-ui-ink)!important;
    font-weight: 800!important
}

body .cppf-doctor-topright span {
    font-size: 12.5px!important;
    color: var(--cppf-ui-muted)!important
}

body .cppf-bell {
    position: relative!important;
    width: 34px!important;
    height: 34px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: var(--cppf-ui-text)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 0!important;
    box-shadow: none!important
}

body .cppf-bell b {
    position: absolute!important;
    right: -6px!important;
    top: -6px!important;
    min-width: 18px!important;
    height: 18px!important;
    border-radius: 999px!important;
    background: #E11D48!important;
    color: #fff!important;
    font-size: 10px!important;
    line-height: 18px!important;
    text-align: center!important;
    padding: 0 4px!important;
    font-weight: 800!important
}

body .cppf-flag {
    min-width: 34px!important;
    height: 34px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: var(--cppf-ui-text)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 800!important
}

body .cppf-avatar {
    width: 36px!important;
    height: 36px!important;
    border-radius: 50%!important;
    background: linear-gradient(135deg,#0757C2,#06A6D7)!important;
    color: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 12px!important;
    font-weight: 850!important
}

body .cppf-doctor-layout {
    display: grid!important;
    grid-template-columns: 230px minmax(0,1fr)!important;
    min-height: calc(760px - 68px)!important
}

body .cppf-doctor-sidebar {
    background: #fff!important;
    border-right: 1px solid var(--cppf-ui-line)!important;
    padding: 16px 12px!important;
    overflow: auto!important
}

body .cppf-doctor-search {
    height: 38px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 12px!important;
    background: #F8FAFC!important;
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    padding: 0 10px!important;
    margin-bottom: 14px!important
}

body .cppf-doctor-search input {
    height: 34px!important;
    border: 0!important;
    background: transparent!important;
    font-size: 13px!important;
    outline: 0!important;
    box-shadow: none!important;
    padding: 0!important;
    width: 100%!important
}

body .cppf-doctor-sidebar nav {
    display: flex!important;
    flex-direction: column!important;
    gap: 5px!important
}

body .cppf-doctor-sidebar nav a {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    text-decoration: none!important;
    border-radius: 10px!important;
    padding: 10px 10px!important;
    color: #475467!important;
    font-size: 13px!important;
    font-weight: 700!important;
    border: 1px solid transparent!important;
    line-height: 1.25!important
}

body .cppf-doctor-sidebar nav a .dashicons {
    width: 17px!important;
    height: 17px!important;
    font-size: 17px!important;
    color: #98A2B3!important
}

body .cppf-doctor-sidebar nav a.active, body .cppf-doctor-sidebar nav a:hover {
    background: #EEF6FF!important;
    color: var(--cppf-ui-primary)!important;
    border-color: #D4E8FF!important
}

body .cppf-doctor-sidebar nav a.active .dashicons, body .cppf-doctor-sidebar nav a:hover .dashicons {
    color: var(--cppf-ui-primary)!important
}

body .cppf-doctor-main {
    padding: 22px!important;
    overflow: auto!important;
    background: #F6F9FC!important
}

body .cppf-doctor-title-row {
    display: flex!important;
    align-items: flex-start!important;
    justify-content: space-between!important;
    gap: 14px!important;
    margin-bottom: 18px!important
}

body .cppf-doctor-title-row p {
    font-size: 13.5px!important;
    color: var(--cppf-ui-muted)!important;
    margin: 4px 0 0!important
}

/* Stats and charts */
body .cppf-app-stats, body .cppf-doctor-stats, body .cppf-dashboard-stats {
    display: grid!important;
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 14px!important;
    margin: 0 0 18px!important
}

body .cppf-dash-stat {
    min-height: 92px!important;
    border-radius: 16px!important;
    padding: 16px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    background: #fff!important;
    box-shadow: var(--cppf-ui-shadow-sm)!important;
    color: var(--cppf-ui-ink)!important;
    position: relative!important;
    overflow: hidden!important
}

body .cppf-dash-stat:after {
    content: ''!important;
    position: absolute!important;
    right: -24px!important;
    top: -24px!important;
    width: 88px!important;
    height: 88px!important;
    border-radius: 50%!important;
    background: rgba(7,87,194,.08)!important
}

body .cppf-dash-stat span {
    display: block!important;
    font-size: 12px!important;
    font-weight: 750!important;
    color: var(--cppf-ui-muted)!important;
    margin: 0 0 12px!important;
    position: relative!important;
    z-index: 1!important
}

body .cppf-dash-stat strong {
    font-size: 26px!important;
    line-height: 1!important;
    font-weight: 850!important;
    color: var(--cppf-ui-ink)!important;
    position: relative!important;
    z-index: 1!important
}

body .cppf-dash-stat.green {
    border-color: #BFEBD7!important;
    background: linear-gradient(135deg,#fff,#ECFDF3)!important
}

body .cppf-dash-stat.orange {
    border-color: #FEDF89!important;
    background: linear-gradient(135deg,#fff,#FFFAEB)!important
}

body .cppf-dash-stat.blue, body .cppf-dash-stat.cyan {
    border-color: #B9E6FE!important;
    background: linear-gradient(135deg,#fff,#F0F9FF)!important
}

body .cppf-dash-stat.purple, body .cppf-dash-stat.pink {
    border-color: #E9D7FE!important;
    background: linear-gradient(135deg,#fff,#F9F5FF)!important
}

body .cppf-dashboard-grid, body .cppf-two-col {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 16px!important;
    margin-bottom: 18px!important
}

body .cppf-chart-card {
    padding: 18px!important;
    min-height: auto!important
}

body .cppf-chart-head {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    margin-bottom: 10px!important
}

body .cppf-chart-head h2 {
    font-size: 16px!important;
    margin: 0!important
}

body .cppf-chart-svg {
    width: 100%!important;
    height: 190px!important;
    display: block!important
}

/* Professional table UI */
body .cppf-table-card, body .cppf-list-card {
    padding: 0!important;
    overflow: auto!important;
    border-radius: 16px!important;
    background: #fff!important;
    border: 1px solid var(--cppf-ui-line)!important;
    box-shadow: var(--cppf-ui-shadow-sm)!important
}

body .cppf-table-card > h2, body .cppf-list-card > h2, body .cppf-card-tabs, body .cppf-list-toolbar, body .cppf-active-filters, body .cppf-table-card .cppf-chart-head {
    padding: 14px 16px!important;
    margin: 0!important;
    border-bottom: 1px solid var(--cppf-ui-line)!important;
    background: #fff!important
}

body .cppf-card-tabs {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    justify-content: space-between!important
}

body .cppf-card-tabs h2 {
    margin: 0!important;
    font-size: 16px!important;
    flex: 1!important
}

body .cppf-card-tabs span, body .cppf-card-tabs strong {
    font-size: 12px!important;
    border-radius: 999px!important;
    padding: 6px 9px!important;
    color: var(--cppf-ui-muted)!important;
    background: #F8FAFC!important;
    border: 1px solid var(--cppf-ui-line)!important
}

body .cppf-card-tabs strong {
    background: #EEF6FF!important;
    color: var(--cppf-ui-primary)!important;
    border-color: #CFE5FF!important
}

body .cppf-list-toolbar {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    justify-content: space-between!important;
    min-height: 58px!important
}

body .cppf-inline-search {
    margin-left: auto!important;
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    width: min(260px,100%)!important;
    border: 1px solid var(--cppf-ui-line)!important;
    background: #F8FAFC!important;
    border-radius: 10px!important;
    padding: 0 10px!important;
    height: 36px!important
}

body .cppf-inline-search input {
    border: 0!important;
    background: transparent!important;
    box-shadow: none!important;
    outline: 0!important;
    height: 34px!important;
    font-size: 13px!important;
    padding: 0!important;
    width: 100%!important
}

body .cppf-active-filters {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    background: #F8FBFF!important;
    font-size: 12px!important;
    color: var(--cppf-ui-muted)!important;
    overflow: hidden!important
}

body .cppf-active-filters b {
    font-weight: 750!important;
    color: var(--cppf-ui-primary)!important;
    background: #EEF6FF!important;
    border: 1px solid #D4E8FF!important;
    border-radius: 999px!important;
    padding: 5px 9px!important;
    white-space: nowrap!important
}

body .cppf-doctor-table, body table.cppf-doctor-table, body table.cppf-clean-table {
    width: 100%!important;
    min-width: 760px!important;
    border-collapse: separate!important;
    border-spacing: 0!important;
    background: #fff!important;
    font-size: 13px!important;
    line-height: 1.4!important;
    margin: 0!important;
    border: 0!important
}

body .cppf-doctor-table thead th, body table.cppf-clean-table thead th {
    background: #F8FAFC!important;
    color: #475467!important;
    font-size: 11.5px!important;
    line-height: 1.25!important;
    font-weight: 800!important;
    text-transform: uppercase!important;
    letter-spacing: .035em!important;
    border: 0!important;
    border-bottom: 1px solid var(--cppf-ui-line)!important;
    padding: 11px 14px!important;
    white-space: nowrap!important;
    text-align: left!important
}

body .cppf-doctor-table tbody td, body table.cppf-clean-table tbody td {
    font-size: 13px!important;
    line-height: 1.45!important;
    color: var(--cppf-ui-text)!important;
    padding: 12px 14px!important;
    border: 0!important;
    border-bottom: 1px solid #F0F3F7!important;
    vertical-align: middle!important;
    background: #fff!important;
    white-space: normal!important
}

body .cppf-doctor-table tbody tr:hover td, body table.cppf-clean-table tbody tr:hover td {
    background: #F8FBFF!important
}

body .cppf-patient-cell {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    min-width: 180px!important
}

body .cppf-patient-cell a {
    display: block!important;
    color: var(--cppf-ui-ink)!important;
    font-size: 13px!important;
    font-weight: 800!important;
    text-decoration: none!important;
    line-height: 1.25!important
}

body .cppf-patient-cell small {
    display: block!important;
    color: var(--cppf-ui-muted)!important;
    font-size: 11.5px!important;
    font-weight: 500!important;
    margin-top: 2px!important;
    max-width: 210px!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important
}

body .cppf-table-avatar {
    width: 34px!important;
    height: 34px!important;
    min-width: 34px!important;
    border-radius: 50%!important;
    background: #EEF6FF!important;
    color: var(--cppf-ui-primary)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11.5px!important;
    font-weight: 850!important;
    border: 1px solid #CFE5FF!important
}

body .cppf-date-pill {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    border-radius: 999px!important;
    background: #F3F7FB!important;
    border: 1px solid var(--cppf-ui-line)!important;
    color: #475467!important;
    padding: 5px 8px!important;
    font-size: 11.5px!important;
    font-weight: 750!important;
    line-height: 1.25!important;
    white-space: nowrap!important
}

body .cppf-status, body .cppf-status-badge {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-height: 24px!important;
    padding: 4px 8px!important;
    border-radius: 999px!important;
    font-size: 11.5px!important;
    font-weight: 800!important;
    line-height: 1!important;
    border: 1px solid transparent!important;
    white-space: nowrap!important;
    text-transform: capitalize!important
}

body .cppf-action-icons {
    display: flex!important;
    align-items: center!important;
    gap: 6px!important;
    white-space: nowrap!important
}

body .cppf-action-icons a, body .cppf-action-icons button {
    width: 28px!important;
    height: 28px!important;
    border-radius: 8px!important;
    background: #F3F7FB!important;
    border: 1px solid var(--cppf-ui-line)!important;
    color: var(--cppf-ui-primary)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-decoration: none!important;
    font-size: 12px!important;
    padding: 0!important;
    box-shadow: none!important;
    min-height: 28px!important
}

body .cppf-action-icons a.red, body .cppf-action-icons button.red {
    color: #E11D48!important;
    background: #FFF1F3!important;
    border-color: #FFD0D9!important
}

body .cppf-inline-status {
    display: flex!important;
    align-items: center!important;
    gap: 6px!important;
    flex-wrap: wrap!important;
    margin: 0!important
}

body .cppf-inline-status select {
    min-height: 32px!important;
    height: 32px!important;
    padding: 4px 28px 4px 8px!important;
    border-radius: 8px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    background: #fff!important;
    font-size: 12px!important
}

body .cppf-small-save {
    min-height: 30px!important;
    height: 30px!important;
    padding: 5px 9px!important;
    font-size: 12px!important;
    border-radius: 8px!important
}

body .cppf-empty-state {
    min-height: 90px!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    text-align: center!important;
    color: var(--cppf-ui-muted)!important;
    font-size: 13px!important;
    gap: 6px!important
}

body .cppf-empty-state strong {
    font-size: 13px!important;
    color: var(--cppf-ui-text)!important
}

body .cppf-list-footer {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    padding: 12px 16px!important;
    border-top: 1px solid var(--cppf-ui-line)!important;
    background: #fff!important;
    font-size: 12px!important;
    color: var(--cppf-ui-muted)!important;
    min-width: 760px!important
}

body .cppf-list-footer select {
    height: 30px!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 8px!important;
    font-size: 12px!important;
    padding: 3px 22px 3px 8px!important;
    background: #fff!important
}

body .cppf-pages {
    display: flex!important;
    gap: 4px!important;
    align-items: center!important
}

body .cppf-pages span, body .cppf-pages b, body .cppf-pages em {
    min-width: 28px!important;
    height: 28px!important;
    border-radius: 8px!important;
    background: #F8FAFC!important;
    border: 1px solid var(--cppf-ui-line)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 12px!important;
    font-style: normal!important;
    color: var(--cppf-ui-muted)!important
}

body .cppf-pages b {
    background: var(--cppf-ui-primary)!important;
    color: #fff!important;
    border-color: var(--cppf-ui-primary)!important
}

/* Smart card and simple forms */
body .cppf-smart-card {
    max-width: 760px!important;
    margin: 24px auto!important;
    padding: 24px!important;
    background: linear-gradient(135deg,#063A83,#0757C2)!important;
    color: #fff!important;
    border: 0!important;
    border-radius: 20px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 20px!important
}

body .cppf-smart-card h2 {
    font-size: 24px!important;
    color: #fff!important;
    margin: 0 0 10px!important
}

body .cppf-smart-card p {
    font-size: 13px!important;
    color: rgba(255,255,255,.86)!important;
    margin: 0 0 6px!important
}

body .cppf-smart-card img {
    width: 132px!important;
    height: 132px!important;
    background: #fff!important;
    padding: 10px!important;
    border-radius: 14px!important
}

body .cppf-simple-form {
    max-width: 760px!important;
    margin: 24px auto!important;
    padding: 22px!important;
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important
}

body .cppf-simple-form label.cppf-field-wide, body .cppf-simple-form button {
    grid-column: 1/-1!important
}

body .cppf-subscribe {
    max-width: 620px!important;
    margin: 24px auto!important;
    padding: 14px!important;
    display: flex!important;
    gap: 10px!important;
    align-items: center!important
}

@media(max-width: 1080px) {
    body .cppf-doctor-layout {
        grid-template-columns:210px minmax(0,1fr)!important
    }

    body .cppf-app-stats,body .cppf-doctor-stats,body .cppf-dashboard-stats {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    body .cppf-dashboard-grid,body .cppf-two-col {
        grid-template-columns: 1fr!important
    }

    body .cppf-cols-3,body .cppf-doctors-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
}

@media(max-width: 760px) {
    body .cppf-public-page,body .cppf-register-page,body .cppf-booking-page,body .cppf-detail-page,body .cppf-public-services,body .cppf-public-doctors {
        width:min(100% - 20px,1220px)!important;
        margin: 18px auto!important
    }

    body .cppf-public-hero {
        padding: 20px!important;
        display: block!important
    }

    body .cppf-hero-metrics {
        justify-content: flex-start!important;
        margin-top: 14px!important;
        min-width: 0!important
    }

    body .cppf-cols-2,body .cppf-cols-3,body .cppf-cols-4,body .cppf-doctors-grid {
        grid-template-columns: 1fr!important
    }

    body .cppf-form-grid,body .cppf-simple-form {
        grid-template-columns: 1fr!important
    }

    body .cppf-slots {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    body .cppf-doctor-topbar {
        height: auto!important;
        min-height: 64px!important;
        align-items: flex-start!important;
        padding: 12px!important;
        gap: 10px!important;
        flex-direction: column!important
    }

    body .cppf-doctor-topright {
        flex-wrap: wrap!important
    }

    body .cppf-doctor-layout {
        grid-template-columns: 1fr!important
    }

    body .cppf-doctor-sidebar {
        border-right: 0!important;
        border-bottom: 1px solid var(--cppf-ui-line)!important;
        max-height: 240px!important
    }

    body .cppf-doctor-main {
        padding: 16px!important
    }

    body .cppf-app-stats,body .cppf-doctor-stats,body .cppf-dashboard-stats {
        grid-template-columns: 1fr!important
    }

    body .cppf-table-card,body .cppf-list-card {
        overflow-x: auto!important
    }

    body .cppf-smart-card {
        flex-direction: column!important;
        text-align: center!important
    }

    body .cppf-subscribe {
        flex-direction: column!important;
        align-items: stretch!important
    }
}

/* ======================================================================
   v2.2.1 Booking UX Polish: professional slots, checkbox account mode,
   compact medical notices, and controlled font sizing
   ====================================================================== */
body .cppf-booking-page, body .cppf-booking-page * {
    font-family: 'Manrope';
}

body .cppf-booking-page .cppf-booking-form:before {
    font-size: 22px!important;
    line-height: 1.2!important;
    margin-bottom: 16px!important;
}

body .cppf-booking-page .cppf-form-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    align-items: start!important;
}

body .cppf-booking-page label span, body .cppf-booking-page .cppf-slots-head h3 {
    font-size: 13px!important;
    line-height: 1.35!important;
    letter-spacing: .01em!important;
    color: #27364a!important;
}

body .cppf-booking-page label span em {
    color: #f04438;
    font-style: normal;
    margin-left: 2px
}

body .cppf-booking-page input, body .cppf-booking-page select, body .cppf-booking-page textarea {
    min-height: 46px!important;
    height: auto!important;
    padding: 11px 14px!important;
    font-size: 14px!important;
    line-height: 1.35!important;
    color: #111827!important;
    border: 1px solid #d8e3ef!important;
    border-radius: 12px!important;
}

body .cppf-booking-page textarea {
    min-height: 88px!important;
    resize: vertical!important
}

body .cppf-account-toggle {
    grid-column: 1/-1;
    margin: 0 0 18px;
}

body .cppf-checkbox-card {
    display: flex!important;
    align-items: center!important;
    gap: 12px!important;
    width: 100%!important;
    border: 1px solid #dbe7f5!important;
    background: linear-gradient(135deg,#f8fbff,#ffffff)!important;
    border-radius: 16px!important;
    padding: 14px 16px!important;
    cursor: pointer!important;
    margin: 0!important;
    box-shadow: 0 8px 20px rgba(16,24,40,.04)!important;
}

body .cppf-checkbox-card input {
    position: absolute!important;
    opacity: 0!important;
    pointer-events: none!important
}

body .cppf-checkbox-card .cppf-checkmark {
    width: 22px!important;
    height: 22px!important;
    min-width: 22px!important;
    border: 1.8px solid #b8c7dc!important;
    border-radius: 7px!important;
    background: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    transition: .18s ease!important;
}

body .cppf-checkbox-card input:checked + .cppf-checkmark {
    border-color: #0b72e7!important;
    background: #0b72e7!important;
    box-shadow: 0 0 0 4px rgba(11,114,231,.12)!important;
}

body .cppf-checkbox-card input:checked + .cppf-checkmark:after {
    content: 'ÃƒÂ¢Ã…â€œÃ¢â‚¬Å“';
    color: #fff!important;
    font-size: 14px!important;
    font-weight: 900!important;
}

body .cppf-checkbox-card strong {
    display: block!important;
    font-size: 14px!important;
    line-height: 1.2!important;
    color: #111827!important;
    margin-bottom: 3px!important;
}

body .cppf-checkbox-card small {
    display: block!important;
    font-size: 12px!important;
    color: #667085!important;
    line-height: 1.4!important;
}

body .cppf-existing-patient-only {
    display: none!important
}

body .cppf-existing-patient-only.is-visible {
    display: block!important
}

body .cppf-new-patient-fields {
    display: contents!important
}

body .cppf-new-patient-fields.is-hidden {
    display: none!important
}

body .cppf-notes-field {
    display: block!important;
    margin-top: 14px!important
}

body .cppf-form-notice {
    display: flex!important;
    gap: 12px!important;
    align-items: flex-start!important;
    margin: 0 0 18px!important;
    padding: 14px 16px!important;
    border-radius: 16px!important;
    border: 1px solid #dbeafe!important;
    background: #f8fbff!important;
    box-shadow: 0 10px 26px rgba(16,24,40,.06)!important;
}

body .cppf-form-notice .dashicons {
    width: 28px!important;
    height: 28px!important;
    min-width: 28px!important;
    border-radius: 50%!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 16px!important;
    margin-top: 1px!important;
}

body .cppf-form-notice strong {
    display: block!important;
    font-size: 13px!important;
    line-height: 1.2!important;
    margin: 0 0 3px!important;
    color: #111827!important
}

body .cppf-form-notice p {
    font-size: 13px!important;
    line-height: 1.45!important;
    margin: 0!important;
    color: #475467!important
}

body .cppf-form-notice-success {
    border-color: #abefc6!important;
    background: linear-gradient(135deg,#ecfdf3,#f7fffb)!important
}

body .cppf-form-notice-success .dashicons {
    background: #17b26a!important;
    color: #fff!important
}

body .cppf-form-notice-error {
    border-color: #fecaca!important;
    background: linear-gradient(135deg,#fff5f5,#fffafa)!important
}

body .cppf-form-notice-error .dashicons {
    background: #f04438!important;
    color: #fff!important
}

body .cppf-booking-page .cppf-slots {
    border: 1px solid #dbe7f5!important;
    border-radius: 18px!important;
    background: linear-gradient(180deg,#ffffff,#f8fbff)!important;
    padding: 16px!important;
    max-height: 360px!important;
    overflow: auto!important;
    box-shadow: inset 0 1px 0 #fff,0 8px 24px rgba(16,24,40,.04)!important;
}

body .cppf-booking-page .cppf-slots::-webkit-scrollbar {
    width: 10px;
    height: 10px
}

body .cppf-booking-page .cppf-slots::-webkit-scrollbar-track {
    background: #edf3fa;
    border-radius: 99px
}

body .cppf-booking-page .cppf-slots::-webkit-scrollbar-thumb {
    background: #9aa8bc;
    border-radius: 99px;
    border: 2px solid #edf3fa
}

body .cppf-slots-head {
    display: flex!important;
    justify-content: space-between!important;
    align-items: center!important;
    gap: 14px!important;
    margin-bottom: 12px!important;
}

body .cppf-slots-head h3 {
    margin: 0!important;
    font-weight: 900!important
}

body .cppf-slot-legend {
    display: flex!important;
    gap: 8px!important;
    flex-wrap: wrap!important;
    align-items: center!important;
}

body .cppf-slot-legend span {
    position: relative!important;
    padding-left: 15px!important;
    font-size: 11px!important;
    line-height: 1!important;
    color: #667085!important;
    font-weight: 800!important;
}

body .cppf-slot-legend span:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #12b76a;
}

body .cppf-slot-legend .booked:before {
    background: #f04438
}

body .cppf-slot-legend .holiday:before {
    background: #f79009
}

body .cppf-slot-summary {
    margin: 0 0 10px!important;
    padding: 9px 12px!important;
    border: 1px solid #bfdbfe!important;
    background: #eff6ff!important;
    color: #1d4ed8!important;
    border-radius: 12px!important;
    font-size: 12px!important;
    font-weight: 850!important;
}

body .cppf-slot-grid {
    display: grid!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 10px!important;
}

body .cppf-slot {
    position: relative!important;
    width: 100%!important;
    min-height: 48px!important;
    border: 1px solid #a7f3d0!important;
    border-radius: 12px!important;
    background: linear-gradient(135deg,#12b76a,#039855)!important;
    color: #fff!important;
    padding: 8px 12px!important;
    font-size: 13px!important;
    line-height: 1.2!important;
    font-weight: 900!important;
    letter-spacing: 0!important;
    box-shadow: 0 8px 18px rgba(18,183,106,.20)!important;
    cursor: pointer!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 3px!important;
    text-align: center!important;
    transition: transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

body .cppf-slot span {
    font-size: 13px!important;
    font-weight: 900!important;
    color: inherit!important;
    line-height: 1.1!important
}

body .cppf-slot em {
    font-style: normal!important;
    font-size: 10px!important;
    line-height: 1!important;
    text-transform: uppercase!important;
    letter-spacing: .06em!important;
    opacity: .86!important;
    color: inherit!important
}

body .cppf-slot:hover {
    transform: translateY(-2px)!important;
    box-shadow: 0 12px 24px rgba(18,183,106,.28)!important
}

body .cppf-slot.is-selected {
    outline: 3px solid rgba(11,114,231,.22)!important;
    border-color: #0b72e7!important;
    background: linear-gradient(135deg,#0b72e7,#155eef)!important;
    box-shadow: 0 12px 28px rgba(11,114,231,.28)!important;
}

body .cppf-slot.is-booked, body .cppf-slot.is-disabled.is-booked {
    border-color: #fecdd3!important;
    background: linear-gradient(135deg,#f43f5e,#e11d48)!important;
    box-shadow: none!important;
    cursor: not-allowed!important;
    opacity: .86!important;
}

body .cppf-slot.is-past, body .cppf-slot.is-disabled.is-past {
    border-color: #e5e7eb!important;
    background: linear-gradient(135deg,#98a2b3,#667085)!important;
    color: #fff!important;
    box-shadow: none!important;
    cursor: not-allowed!important;
    opacity: .72!important;
}

body .cppf-slot-message {
    min-height: 118px!important;
    border: 1px dashed #cbd5e1!important;
    border-radius: 16px!important;
    background: #f8fafc!important;
    color: #475467!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    text-align: center!important;
    padding: 20px!important;
    gap: 8px!important;
}

body .cppf-slot-message .dashicons {
    width: 38px!important;
    height: 38px!important;
    border-radius: 50%!important;
    background: #eef4ff!important;
    color: #0b72e7!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 19px!important;
}

body .cppf-slot-message strong {
    font-size: 14px!important;
    line-height: 1.25!important;
    color: #111827!important;
    font-weight: 950!important
}

body .cppf-slot-message small {
    font-size: 12px!important;
    line-height: 1.45!important;
    color: #667085!important;
    max-width: 440px!important
}

body .cppf-slot-message-holiday {
    border-color: #fedf89!important;
    background: #fffbeb!important
}

body .cppf-slot-message-holiday .dashicons {
    background: #f79009!important;
    color: #fff!important
}

body .cppf-slot-message-closed {
    border-color: #d0d5dd!important;
    background: #f8fafc!important
}

body .cppf-slot-message-error {
    border-color: #fecaca!important;
    background: #fff5f5!important
}

body .cppf-slot-message-error .dashicons {
    background: #f04438!important;
    color: #fff!important
}

body .cppf-slot-message-loading .dashicons {
    animation: cppfSpin 1s linear infinite
}

@keyframes cppfSpin {
    to {
        transform: rotate(360deg)
    }
}

@media(max-width: 900px) {
    body .cppf-booking-page .cppf-form-grid {
        grid-template-columns:1fr!important
    }

    body .cppf-slot-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    body .cppf-slots-head {
        align-items: flex-start!important;
        flex-direction: column!important
    }
}

@media(max-width: 560px) {
    body .cppf-slot-grid {
        grid-template-columns:1fr!important
    }

    body .cppf-checkbox-card {
        align-items: flex-start!important
    }
}

/* ======================================================================
   v2.2.2 Booking Slots Layout Fix
   Prevents summary/card grid overlap caused by inherited grid styling.
   ====================================================================== */
body .cppf-booking-page .cppf-slots {
    display: block!important;
    width: 100%!important;
    box-sizing: border-box!important;
    overflow-y: auto!important;
    overflow-x: hidden!important;
}

body .cppf-booking-page .cppf-slots-list, body .cppf-booking-page #cppf_slots_container {
    display: block!important;
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    box-sizing: border-box!important;
    overflow: visible!important;
}

body .cppf-booking-page .cppf-slot-summary {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    width: 100%!important;
    box-sizing: border-box!important;
    margin: 0 0 12px!important;
    white-space: normal!important;
}

body .cppf-booking-page .cppf-slot-summary:before {
    content: 'i';
    width: 18px!important;
    height: 18px!important;
    min-width: 18px!important;
    border-radius: 50%!important;
    background: #0b72e7!important;
    color: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 900!important;
    font-family: Inter,Manrope,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
}

body .cppf-booking-page .cppf-slot-grid {
    display: grid!important;
    grid-template-columns: repeat(auto-fit,minmax(170px,1fr))!important;
    gap: 10px!important;
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    box-sizing: border-box!important;
}

body .cppf-booking-page .cppf-slot {
    min-width: 0!important;
    max-width: 100%!important;
    overflow: hidden!important;
    box-sizing: border-box!important;
}

body .cppf-booking-page .cppf-slot span {
    display: block!important;
    width: 100%!important;
    max-width: 100%!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
}

body .cppf-booking-page .cppf-slot em {
    display: block!important;
    width: 100%!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
}

body .cppf-booking-page .cppf-slot.is-available {
    border-color: #a7f3d0!important;
    background: linear-gradient(135deg,#12b76a,#039855)!important;
    box-shadow: 0 8px 18px rgba(18,183,106,.20)!important;
}

body .cppf-booking-page .cppf-slot.is-booked {
    border-color: #fecdd3!important;
    background: linear-gradient(135deg,#f43f5e,#e11d48)!important;
    color: #fff!important;
}

body .cppf-booking-page .cppf-slot.is-past, body .cppf-booking-page .cppf-slot.is-closed, body .cppf-booking-page .cppf-slot.is-holiday {
    border-color: #e5e7eb!important;
    background: linear-gradient(135deg,#98a2b3,#667085)!important;
    color: #fff!important;
    box-shadow: none!important;
}

@media(max-width: 760px) {
    body .cppf-booking-page .cppf-slot-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
}

@media(max-width: 480px) {
    body .cppf-booking-page .cppf-slot-grid {
        grid-template-columns:1fr!important
    }
}

/* v2.2.3 Professional medical UI refinement: independent plugin design, compact typography, functional controls */
.cppf-public-page,.cppf-doctor-portal,.cppf-admin-portal,.cppf-login-page,.cppf-auth {
    --cppf-primary: #0b5ed7;
    --cppf-navy: #0b2545;
    --cppf-teal: #12b886;
    --cppf-bg: #f4f8fc;
    --cppf-card: #fff;
    --cppf-border: #dce6f2;
    --cppf-text: #142033;
    --cppf-muted: #667085;
    --cppf-danger: #ef4444;
    --cppf-warning: #f59e0b;
    font-family: 'Manrope';
    color: var(--cppf-text)!important;
    font-size: 14px!important;
    line-height: 1.45!important
}

.cppf-doctor-portal,.cppf-admin-portal {
    background: #f4f8fc!important;
    min-height: 100vh!important
}

.cppf-doctor-main {
    background: #f4f8fc!important;
    padding: 28px 32px!important
}

.cppf-doctor-title-row h1 {
    font-size: 26px!important;
    line-height: 1.2!important;
    font-weight: 800!important;
    letter-spacing: -.03em!important;
    margin: 0 0 6px!important
}

.cppf-doctor-title-row p {
    font-size: 13px!important;
    color: #64748b!important;
    margin: 0!important
}

.cppf-doctor-sidebar {
    width: 230px!important;
    background: #fff!important;
    border-right: 1px solid #dce6f2!important;
    padding: 18px 14px!important
}

.cppf-doctor-sidebar nav a {
    font-size: 13px!important;
    font-weight: 700!important;
    color: #344054!important;
    border-radius: 10px!important;
    padding: 11px 12px!important;
    margin: 2px 0!important
}

.cppf-doctor-sidebar nav a.active {
    background: #eaf3ff!important;
    color: #0b5ed7!important
}

.cppf-doctor-search input,.cppf-inline-search input {
    height: 38px!important;
    border: 1px solid #dce6f2!important;
    border-radius: 10px!important;
    font-size: 13px!important;
    background: #fff!important
}

.cppf-doctor-topbar {
    height: 58px!important;
    background: #fff!important;
    border-bottom: 1px solid #dce6f2!important;
    box-shadow: 0 1px 0 rgba(15,23,42,.03)!important
}

.cppf-doctor-topright {
    gap: 10px!important
}

.cppf-doctor-topright strong {
    font-size: 14px!important
}

.cppf-doctor-topright>span {
    font-size: 12px!important;
    color: #667085!important
}

.cppf-logo-mark.cppf-logo-text,.cppf-brand-mark.cppf-brand-text {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    width: 36px!important;
    height: 36px!important;
    border-radius: 12px!important;
    background: linear-gradient(135deg,#0b5ed7,#12b886)!important;
    color: #fff!important;
    font-weight: 900!important;
    font-size: 13px!important;
    letter-spacing: -.03em!important;
    border: 0!important
}

.cppf-login-logo .cppf-logo-text {
    width: 54px!important;
    height: 54px!important;
    border-radius: 18px!important;
    font-size: 18px!important;
    margin: 0 auto!important
}

.cppf-doctor-brand .cppf-logo-text {
    width: 34px!important;
    height: 34px!important;
    border-radius: 11px!important
}

.cppf-back {
    font-size: 22px!important;
    text-decoration: none!important;
    color: #64748b!important;
    margin-right: 4px!important
}

.cppf-bell,.cppf-card-top-icon {
    width: 38px!important;
    height: 38px!important;
    border-radius: 10px!important;
    border: 1px solid #bfdbfe!important;
    background: #fff!important;
    color: #0b5ed7!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    position: relative!important;
    text-decoration: none!important
}

.cppf-bell b {
    position: absolute!important;
    top: -8px!important;
    right: -6px!important;
    min-width: 18px!important;
    height: 18px!important;
    border-radius: 10px!important;
    background: #0b5ed7!important;
    color: #fff!important;
    font-size: 10px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 0 4px!important
}

.cppf-flag,.cppf-avatar {
    width: 34px!important;
    height: 34px!important;
    border-radius: 50%!important;
    background: #eff6ff!important;
    color: #0b5ed7!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 800!important;
    border: 1px solid #dbeafe!important
}

.cppf-notification-wrap {
    position: relative!important;
    display: inline-flex!important
}

.cppf-notification-menu {
    display: none!important;
    position: absolute!important;
    right: 0!important;
    top: 46px!important;
    width: 340px!important;
    background: #fff!important;
    border: 1px solid #dce6f2!important;
    border-radius: 16px!important;
    box-shadow: 0 20px 60px rgba(15,23,42,.14)!important;
    z-index: 99999!important;
    overflow: hidden!important
}

.cppf-notification-wrap.is-open .cppf-notification-menu {
    display: block!important
}

.cppf-notification-head {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    padding: 14px 16px!important;
    border-bottom: 1px solid #eef2f7!important
}

.cppf-notification-head strong {
    font-size: 14px!important
}

.cppf-notification-head small {
    font-size: 12px!important;
    color: #64748b!important
}

.cppf-notification-item {
    display: grid!important;
    grid-template-columns: 10px 1fr auto!important;
    gap: 10px!important;
    align-items: center!important;
    padding: 12px 16px!important;
    border-bottom: 1px solid #f1f5f9!important
}

.cppf-notification-dot {
    width: 8px!important;
    height: 8px!important;
    border-radius: 50%!important;
    background: #0b5ed7!important
}

.cppf-notification-item strong {
    display: block!important;
    font-size: 13px!important
}

.cppf-notification-item small {
    display: block!important;
    font-size: 12px!important;
    color: #667085!important
}

.cppf-notification-empty {
    padding: 20px!important;
    text-align: center!important;
    color: #64748b!important;
    font-size: 13px!important
}

.cppf-table-card,.cppf-list-card,.cppf-google-card,.cppf-doctor-form-card {
    background: #fff!important;
    border: 1px solid #dce6f2!important;
    border-radius: 16px!important;
    box-shadow: 0 12px 36px rgba(15,23,42,.05)!important;
    overflow: hidden!important
}

.cppf-doctor-table {
    width: 100%!important;
    border-collapse: collapse!important;
    table-layout: auto!important;
    background: #fff!important
}

.cppf-doctor-table th {
    background: #f8fafc!important;
    color: #334155!important;
    font-size: 12px!important;
    text-transform: none!important;
    font-weight: 800!important;
    padding: 12px 14px!important;
    border-bottom: 1px solid #dce6f2!important;
    white-space: nowrap!important
}

.cppf-doctor-table td {
    font-size: 13px!important;
    color: #142033!important;
    padding: 11px 14px!important;
    border-bottom: 1px solid #eef2f7!important;
    vertical-align: middle!important
}

.cppf-doctor-table td small {
    display: block!important;
    font-size: 12px!important;
    color: #667085!important;
    margin-top: 2px!important
}

.cppf-doctor-table tr:hover td {
    background: #fbfdff!important
}

.cppf-list-toolbar {
    padding: 12px 14px!important;
    border-bottom: 1px solid #eef2f7!important;
    background: #fff!important
}

.cppf-list-footer {
    font-size: 13px!important;
    padding: 12px 14px!important;
    border-top: 1px solid #eef2f7!important;
    background: #fff!important
}

.cppf-date-pill {
    font-size: 12px!important;
    line-height: 1.25!important;
    font-weight: 700!important;
    color: #0b5ed7!important;
    background: #eff6ff!important;
    border: 1px solid #bfdbfe!important;
    padding: 4px 8px!important;
    border-radius: 8px!important;
    display: inline-block!important
}

.cppf-status {
    font-size: 11px!important;
    font-weight: 800!important;
    line-height: 1!important;
    padding: 6px 10px!important;
    border-radius: 999px!important;
    border: 1px solid transparent!important;
    text-transform: capitalize!important
}

.cppf-status-paid,.cppf-status-active,.cppf-status-confirmed,.cppf-status-completed,.cppf-status-finished,.cppf-status-read {
    background: #ecfdf5!important;
    color: #047857!important;
    border-color: #bbf7d0!important
}

.cppf-status-pending,.cppf-status-booked,.cppf-status-awaited {
    background: #fff7ed!important;
    color: #c2410c!important;
    border-color: #fed7aa!important
}

.cppf-status-cancelled,.cppf-status-failed,.cppf-status-inactive {
    background: #fef2f2!important;
    color: #dc2626!important;
    border-color: #fecaca!important
}

.cppf-action-icons {
    display: flex!important;
    align-items: center!important;
    gap: 7px!important;
    flex-wrap: wrap!important
}

.cppf-action-icons a,.cppf-mini-action button {
    min-width: 28px!important;
    height: 28px!important;
    border-radius: 8px!important;
    border: 1px solid #dbeafe!important;
    background: #fff!important;
    color: #0b5ed7!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 12px!important;
    font-weight: 800!important;
    text-decoration: none!important;
    padding: 0 8px!important
}

.cppf-action-icons .red,.cppf-mini-action button.red {
    border-color: #fecaca!important;
    color: #ef4444!important;
    background: #fff!important
}

.cppf-mini-action {
    display: inline-flex!important;
    margin: 0!important
}

.cppf-compact-status-form {
    display: grid!important;
    grid-template-columns: minmax(120px,1fr) minmax(130px,1fr) auto!important;
    gap: 8px!important;
    align-items: end!important;
    max-width: 420px!important
}

.cppf-compact-status-form label {
    margin: 0!important
}

.cppf-compact-status-form label small {
    display: block!important;
    font-size: 10px!important;
    text-transform: uppercase!important;
    letter-spacing: .04em!important;
    color: #64748b!important;
    margin: 0 0 4px!important
}

.cppf-compact-status-form select {
    height: 34px!important;
    border-radius: 9px!important;
    border: 1px solid #d6e2f0!important;
    font-size: 12px!important;
    font-weight: 700!important;
    padding: 0 28px 0 10px!important;
    background: #fff!important
}

.cppf-small-save {
    height: 34px!important;
    border: 0!important;
    border-radius: 9px!important;
    background: #0b5ed7!important;
    color: #fff!important;
    font-size: 12px!important;
    font-weight: 800!important;
    padding: 0 12px!important;
    box-shadow: 0 8px 18px rgba(11,94,215,.18)!important
}

.cppf-card-tab-switch,.cppf-real-tabs {
    display: flex!important;
    gap: 8px!important;
    align-items: center!important;
    justify-content: center!important;
    flex-wrap: wrap!important;
    margin: 0 auto 20px!important;
    background: transparent!important;
    border: 0!important
}

.cppf-card-tab-switch span,.cppf-card-tab-switch a {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    padding: 12px 18px!important;
    border: 1px solid #dce6f2!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: #475467!important;
    font-size: 13px!important;
    font-weight: 800!important;
    text-decoration: none!important;
    box-shadow: 0 6px 16px rgba(15,23,42,.03)!important
}

.cppf-card-tab-switch .active,.cppf-card-tab-switch a.active {
    background: #eff6ff!important;
    border-color: #bfdbfe!important;
    color: #0b5ed7!important
}

.cppf-login-page {
    min-height: calc(100vh - 40px)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    background: linear-gradient(135deg,#eff6ff,#f8fafc)!important;
    padding: 34px 16px!important
}

.cppf-login-card {
    width: min(100%,460px)!important;
    background: #fff!important;
    border: 1px solid #dce6f2!important;
    border-radius: 20px!important;
    box-shadow: 0 20px 60px rgba(15,23,42,.10)!important;
    padding: 34px 32px!important
}

.cppf-login-card h2 {
    font-size: 23px!important;
    text-align: center!important;
    font-weight: 900!important;
    margin: 16px 0 6px!important
}

.cppf-login-sub {
    text-align: center!important;
    color: #64748b!important;
    font-size: 13px!important;
    margin: 0 0 24px!important
}

.cppf-login-form label span {
    display: flex!important;
    justify-content: space-between!important;
    gap: 8px!important;
    align-items: center!important;
    font-size: 13px!important;
    font-weight: 800!important;
    color: #142033!important
}

.cppf-login-form input[type=text],.cppf-login-form input[type=password] {
    height: 44px!important;
    border-radius: 12px!important;
    border: 1px solid #d6e2f0!important;
    font-size: 14px!important;
    padding: 0 14px!important
}

.cppf-role-tabs {
    display: grid!important;
    grid-template-columns: repeat(3,1fr)!important;
    gap: 10px!important;
    margin: 16px 0!important
}

.cppf-role-tabs button {
    height: 44px!important;
    border-radius: 12px!important;
    border: 0!important;
    color: #fff!important;
    font-size: 13px!important;
    font-weight: 900!important;
    box-shadow: 0 8px 20px rgba(15,23,42,.10)!important
}

.cppf-signin {
    width: 100%!important;
    height: 45px!important;
    border-radius: 12px!important;
    background: #0b5ed7!important;
    color: #fff!important;
    border: 0!important;
    font-weight: 900!important;
    font-size: 14px!important
}

.cppf-login-bottom {
    text-align: center!important;
    font-size: 13px!important;
    margin: 18px 0 0!important
}

.cppf-remember {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    font-size: 13px!important;
    font-weight: 700!important
}

.cppf-remember input {
    width: 18px!important;
    height: 18px!important
}

.cppf-booking-form {
    font-size: 13px!important
}

.cppf-form-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 16px!important
}

.cppf-form-grid label,.cppf-notes-field {
    display: block!important
}

.cppf-form-grid label span,.cppf-notes-field span {
    font-size: 12px!important;
    font-weight: 900!important;
    color: #344054!important;
    margin-bottom: 7px!important;
    display: block!important
}

.cppf-form-grid input,.cppf-form-grid select,.cppf-notes-field textarea,.cppf-inline-form input,.cppf-inline-form select {
    width: 100%!important;
    height: 42px!important;
    border-radius: 11px!important;
    border: 1px solid #d6e2f0!important;
    background: #fff!important;
    padding: 0 12px!important;
    font-size: 13px!important;
    color: #142033!important
}

.cppf-notes-field textarea {
    height: auto!important;
    padding: 11px 12px!important
}

.cppf-new-patient-fields {
    display: contents!important
}

.cppf-new-patient-fields.is-hidden {
    display: none!important
}

.cppf-existing-patient-only {
    display: none!important
}

.cppf-existing-patient-only.is-visible {
    display: block!important
}

.cppf-checkbox-card {
    display: flex!important;
    gap: 12px!important;
    align-items: flex-start!important;
    background: #f8fbff!important;
    border: 1px solid #d6e9ff!important;
    border-radius: 14px!important;
    padding: 13px!important;
    margin-bottom: 16px!important
}

.cppf-checkmark {
    width: 18px!important;
    height: 18px!important;
    border: 1px solid #bfd3ea!important;
    border-radius: 5px!important;
    position: relative!important;
    flex: 0 0 18px!important
}

.cppf-checkbox-card input {
    position: absolute!important;
    opacity: 0!important
}

.cppf-checkbox-card input:checked + .cppf-checkmark {
    background: #0b5ed7!important;
    border-color: #0b5ed7!important
}

.cppf-checkbox-card input:checked + .cppf-checkmark:after {
    content: 'ÃƒÂ¢Ã…â€œÃ¢â‚¬Å“'!important;
    color: #fff!important;
    font-size: 12px!important;
    position: absolute!important;
    left: 3px!important;
    top: -1px!important
}

.cppf-checkbox-card strong {
    display: block!important;
    font-size: 13px!important
}

.cppf-checkbox-card small {
    font-size: 12px!important;
    color: #64748b!important
}

.cppf-patient-account-status {
    display: block!important;
    margin-top: 6px!important;
    font-size: 12px!important;
    font-weight: 800!important
}

.cppf-patient-account-status.ok {
    color: #047857!important
}

.cppf-patient-account-status.error {
    color: #dc2626!important
}

.cppf-patient-account-status.loading {
    color: #0b5ed7!important
}

.cppf-slots {
    margin-top: 18px!important;
    border: 1px solid #dce6f2!important;
    border-radius: 16px!important;
    background: #fff!important;
    overflow: hidden!important
}

.cppf-slots-head {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    padding: 14px 16px!important;
    border-bottom: 1px solid #eef2f7!important;
    background: #fbfdff!important
}

.cppf-slots-head h3 {
    font-size: 15px!important;
    margin: 0!important
}

.cppf-slot-legend span {
    font-size: 12px!important;
    font-weight: 800!important;
    margin-left: 12px!important
}

.cppf-slot-legend span:before {
    content: ''!important;
    width: 8px!important;
    height: 8px!important;
    border-radius: 50%!important;
    display: inline-block!important;
    margin-right: 6px!important
}

.cppf-slot-legend .available:before {
    background: #12b886!important
}

.cppf-slot-legend .booked:before {
    background: #ef4444!important
}

.cppf-slot-legend .holiday:before {
    background: #f59e0b!important
}

.cppf-slots-list {
    max-height: 310px!important;
    overflow: auto!important;
    padding: 14px!important;
    background: #fff!important
}

.cppf-slot-summary {
    display: block!important;
    width: 100%!important;
    background: #eff6ff!important;
    border: 1px solid #bfdbfe!important;
    border-radius: 12px!important;
    color: #0b5ed7!important;
    font-size: 13px!important;
    font-weight: 900!important;
    padding: 11px 14px!important;
    margin: 0 0 12px!important
}

.cppf-slot-grid {
    display: grid!important;
    grid-template-columns: repeat(auto-fill,minmax(150px,1fr))!important;
    gap: 10px!important;
    width: 100%!important
}

.cppf-slot {
    min-height: 52px!important;
    border: 0!important;
    border-radius: 12px!important;
    padding: 8px 9px!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    text-align: center!important;
    white-space: normal!important;
    overflow: hidden!important;
    box-shadow: 0 8px 18px rgba(15,23,42,.07)!important
}

.cppf-slot span {
    font-size: 12px!important;
    font-weight: 900!important;
    line-height: 1.15!important;
    color: #fff!important;
    max-width: 100%!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important
}

.cppf-slot em {
    font-size: 10px!important;
    font-style: normal!important;
    line-height: 1!important;
    font-weight: 900!important;
    text-transform: uppercase!important;
    color: rgba(255,255,255,.88)!important;
    margin-top: 5px!important
}

.cppf-slot.is-available {
    background: #12b886!important
}

.cppf-slot.is-booked {
    background: #ef4444!important;
    opacity: .72!important
}

.cppf-slot.is-past,.cppf-slot.is-closed {
    background: #94a3b8!important;
    opacity: .70!important
}

.cppf-slot.is-selected {
    background: #0b5ed7!important;
    box-shadow: 0 0 0 3px rgba(11,94,215,.18),0 12px 26px rgba(11,94,215,.24)!important
}

.cppf-slot-message {
    border-radius: 14px!important;
    padding: 18px!important;
    text-align: center!important;
    border: 1px solid #dce6f2!important;
    background: #f8fafc!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    gap: 6px!important
}

.cppf-slot-message strong {
    font-size: 14px!important
}

.cppf-slot-message small {
    font-size: 12px!important;
    color: #64748b!important
}

.cppf-google-card {
    padding: 0!important
}

.cppf-google-hero {
    display: flex!important;
    justify-content: space-between!important;
    gap: 20px!important;
    align-items: center!important;
    padding: 22px!important;
    border-bottom: 1px solid #eef2f7!important;
    background: linear-gradient(135deg,#eff6ff,#fff)!important
}

.cppf-google-hero h2 {
    font-size: 20px!important;
    margin: 0 0 6px!important
}

.cppf-google-hero p {
    margin: 0!important;
    color: #64748b!important;
    font-size: 13px!important
}

.cppf-google-card form {
    padding: 22px!important
}

.cppf-google-card .cppf-wide-field {
    grid-column: 1/-1!important
}

.cppf-google-card input[type=file] {
    height: auto!important;
    padding: 14px!important;
    border-style: dashed!important;
    background: #f8fafc!important
}

.cppf-enhanced-form h2 {
    font-size: 18px!important;
    margin: 0 0 16px!important
}

.cppf-inline-form {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important;
    padding: 18px!important
}

.cppf-wide-field {
    grid-column: 1/-1!important
}

.cppf-inline-form button {
    align-self: end!important;
    width: max-content!important
}

.cppf-smart-card-grid {
    display: grid!important;
    grid-template-columns: repeat(auto-fill,minmax(280px,1fr))!important;
    gap: 16px!important
}

.cppf-generated-card {
    background: #fff!important;
    border: 1px solid #dce6f2!important;
    border-radius: 16px!important;
    padding: 16px!important;
    display: flex!important;
    justify-content: space-between!important;
    gap: 14px!important;
    box-shadow: 0 10px 30px rgba(15,23,42,.05)!important
}

.cppf-generated-card strong {
    font-size: 15px!important
}

.cppf-generated-card small {
    display: block!important;
    color: #64748b!important;
    font-size: 12px!important;
    margin-top: 4px!important
}

.cppf-generated-card img {
    width: 96px!important;
    height: 96px!important;
    border-radius: 10px!important;
    border: 1px solid #e5edf6!important
}

.cppf-smart-card {
    max-width: 720px!important;
    margin: 30px auto!important;
    background: #fff!important;
    border: 1px solid #dce6f2!important;
    border-radius: 22px!important;
    box-shadow: 0 18px 60px rgba(15,23,42,.10)!important;
    padding: 26px!important;
    display: flex!important;
    gap: 22px!important;
    justify-content: space-between!important
}

.cppf-smart-card h2 {
    font-size: 24px!important;
    margin: 0 0 12px!important
}

.cppf-smart-card p {
    font-size: 13px!important;
    margin: 6px 0!important;
    color: #344054!important
}

.cppf-smart-card img {
    width: 150px!important;
    height: 150px!important
}

@media(max-width: 900px) {
    .cppf-form-grid,.cppf-inline-form {
        grid-template-columns:1fr!important
    }

    .cppf-doctor-layout {
        display: block!important
    }

    .cppf-doctor-sidebar {
        width: 100%!important;
        border-right: 0!important;
        border-bottom: 1px solid #dce6f2!important
    }

    .cppf-doctor-main {
        padding: 18px!important
    }

    .cppf-compact-status-form {
        grid-template-columns: 1fr!important
    }

    .cppf-notification-menu {
        right: auto!important;
        left: -240px!important;
        width: 300px!important
    }

    .cppf-slots-head {
        align-items: flex-start!important;
        flex-direction: column!important
    }

    .cppf-slot-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
}

@media(max-width: 520px) {
    .cppf-slot-grid {
        grid-template-columns:1fr!important
    }

    .cppf-login-card {
        padding: 26px 18px!important
    }

    .cppf-role-tabs {
        grid-template-columns: 1fr!important
    }

    .cppf-smart-card {
        display: block!important;
        text-align: center!important
    }

    .cppf-smart-card img {
        margin-top: 16px!important
    }
}

/* v2.2.5 - table action UI fix */
body .cppf-doctor-table th:last-child, body .cppf-doctor-table td:last-child, body .cppf-table-card table th:last-child, body .cppf-table-card table td:last-child {
    width: 120px!important;
    min-width: 120px!important;
    text-align: center!important;
    white-space: nowrap!important;
}

body .cppf-doctor-table td, body .cppf-table-card td {
    vertical-align: middle!important;
}

body .cppf-action-icons {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    width: auto!important;
    min-width: 0!important;
    flex-wrap: nowrap!important;
}

body .cppf-action-icons form, body form.cppf-mini-action, body .cppf-mini-action {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    margin: 0!important;
    padding: 0!important;
    width: auto!important;
    min-width: 0!important;
    line-height: 1!important;
}

body .cppf-action-icons a, body .cppf-action-icons button, body .cppf-mini-action button, body .cppf-action-button {
    box-sizing: border-box!important;
    width: 32px!important;
    min-width: 32px!important;
    max-width: 32px!important;
    height: 32px!important;
    min-height: 32px!important;
    max-height: 32px!important;
    padding: 0!important;
    border-radius: 10px!important;
    border: 1px solid #D9E6FB!important;
    background: #F8FBFF!important;
    color: #0B5ED7!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-align: center!important;
    text-indent: 0!important;
    font-size: 0!important;
    line-height: 1!important;
    box-shadow: none!important;
    white-space: nowrap!important;
    overflow: hidden!important;
}

body .cppf-action-icons a .dashicons, body .cppf-action-icons button .dashicons, body .cppf-mini-action button .dashicons, body .cppf-action-button .dashicons {
    width: 16px!important;
    height: 16px!important;
    font-size: 16px!important;
    line-height: 16px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
}

body .cppf-action-icons a.red, body .cppf-action-icons button.red, body .cppf-mini-action button.red, body .cppf-action-delete {
    border-color: #FFD3DA!important;
    background: #FFF5F6!important;
    color: #E11D48!important;
}

body .cppf-action-icons a:hover, body .cppf-action-icons button:hover, body .cppf-mini-action button:hover, body .cppf-action-button:hover {
    transform: translateY(-1px)!important;
    box-shadow: 0 8px 18px rgba(15,23,42,.08)!important;
}

body .cppf-list-card, body .cppf-table-card {
    max-width: 100%!important;
    overflow-x: auto!important;
}

body .cppf-list-footer, body .cppf-table-card .cppf-list-footer {
    align-items: center!important;
    min-height: 56px!important;
}

body .cppf-list-footer label {
    white-space: nowrap!important;
}

@media(max-width: 900px) {
    body .cppf-doctor-table th:last-child, body .cppf-doctor-table td:last-child, body .cppf-table-card table th:last-child, body .cppf-table-card table td:last-child {
        width:96px!important;
        min-width: 96px!important;
    }
}

/* v2.2.6 Smart Patient Cards - functional generator UI */
.cppf-smart-generate {
    padding: 24px!important
}

.cppf-smart-generate h2 {
    font-size: 18px!important;
    margin: 0 0 8px!important;
    color: #0f172a!important
}

.cppf-smart-generate .cppf-muted {
    font-size: 13px!important;
    color: #64748b!important;
    margin: 0 0 18px!important
}

.cppf-radio-row {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    margin: 12px 0 16px!important
}

.cppf-radio-row label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #dbe6f3;
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
    cursor: pointer
}

.cppf-patient-select-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
    gap: 10px;
    max-height: 360px;
    overflow: auto;
    padding: 10px;
    background: #f8fbff;
    border: 1px solid #dbe6f3;
    border-radius: 16px;
    margin: 12px 0
}

.cppf-patient-select-grid label {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 11px 12px;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(15,45,89,.04)
}

.cppf-patient-select-grid label:hover {
    border-color: #0b63ce;
    box-shadow: 0 10px 24px rgba(11,99,206,.08)
}

.cppf-patient-select-grid strong {
    display: block;
    font-size: 13px;
    color: #0f172a;
    line-height: 1.25
}

.cppf-patient-select-grid small {
    display: block;
    font-size: 11px;
    color: #64748b;
    margin-top: 3px;
    line-height: 1.35
}

.cppf-check-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin: 14px 0
}

.cppf-check-grid label {
    font-size: 13px;
    font-weight: 700;
    color: #334155;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 10px
}

.cppf-color-dot {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 6px;
    margin-right: 7px;
    vertical-align: middle;
    border: 1px solid rgba(15,23,42,.18)
}

.cppf-qr-thumb {
    width: 58px;
    height: 58px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #fff;
    padding: 4px;
    display: block
}

.cppf-icon-action {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    width: 32px!important;
    height: 32px!important;
    border: 1px solid #e2e8f0!important;
    border-radius: 10px!important;
    background: #fff!important;
    cursor: pointer!important;
    padding: 0!important;
    line-height: 1!important;
    box-shadow: none!important
}

.cppf-icon-action .dashicons {
    font-size: 15px!important;
    width: 15px!important;
    height: 15px!important;
    line-height: 15px!important
}

.cppf-icon-action.cppf-danger {
    color: #ef4444!important;
    background: #fff5f5!important;
    border-color: #fecaca!important
}

.cppf-icon-action.cppf-danger:hover {
    background: #fee2e2!important;
    border-color: #fca5a5!important
}

.cppf-smart-card-wrap {
    max-width: 880px;
    margin: 30px auto;
    padding: 0 15px
}

.cppf-smart-card-pro {
    background: #fff;
    border: 1px solid #dbe6f3;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(15,45,89,.14);
    color: var(--cppf-card-text,#0f172a);
    font-family: Inter,Manrope,system-ui,-apple-system,Segoe UI,sans-serif
}

.cppf-smart-card-pro-head {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    align-items: center;
    background: linear-gradient(135deg,var(--cppf-card-head,#0f2d59),#123f7a);
    color: #fff;
    padding: 26px 30px
}

.cppf-smart-card-pro-head span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .82;
    margin-bottom: 6px
}

.cppf-smart-card-pro-head h2 {
    font-size: 28px!important;
    line-height: 1.1!important;
    margin: 0!important;
    color: #fff!important;
    font-weight: 900!important
}

.cppf-smart-card-pro-head strong {
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 14px;
    padding: 10px 13px;
    font-size: 13px;
    white-space: nowrap
}

.cppf-smart-card-pro-body {
    display: grid;
    grid-template-columns: minmax(0,1fr) 220px;
    gap: 24px;
    padding: 28px 30px;
    background: radial-gradient(circle at 90% 10%,rgba(18,181,203,.12),transparent 28%),#fff
}

.cppf-smart-card-info {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px
}

.cppf-smart-card-info p {
    margin: 0;
    background: #f8fbff;
    border: 1px solid #e1ecf8;
    border-radius: 16px;
    padding: 13px 14px;
    min-height: 64px
}

.cppf-smart-card-info p.wide {
    grid-column: 1/-1
}

.cppf-smart-card-info span {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    font-weight: 900;
    margin-bottom: 5px
}

.cppf-smart-card-info strong {
    display: block;
    font-size: 14px;
    line-height: 1.35;
    color: #0f172a;
    font-weight: 800;
    word-break: break-word
}

.cppf-smart-card-qr {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px dashed var(--cppf-card-accent,#12b5cb);
    background: #f0fbff;
    border-radius: 20px;
    padding: 18px;
    min-height: 210px
}

.cppf-smart-card-qr img {
    width: 160px;
    height: 160px;
    border-radius: 14px;
    background: #fff;
    padding: 8px;
    border: 1px solid #dbe6f3
}

.cppf-smart-card-qr small {
    margin-top: 10px;
    font-size: 12px;
    color: #0f2d59;
    font-weight: 800
}

.cppf-smart-card-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-top: 1px solid #e5eef8;
    background: #f8fbff;
    padding: 16px 30px;
    color: #64748b;
    font-size: 12px;
    font-weight: 700
}

.cppf-smart-card-foot button {
    border: 0!important;
    border-radius: 12px!important;
    background: var(--cppf-card-head,#0f2d59)!important;
    color: #fff!important;
    font-weight: 800!important;
    padding: 10px 16px!important;
    cursor: pointer!important
}

@media(max-width: 760px) {
    .cppf-smart-card-pro-body {
        grid-template-columns:1fr
    }

    .cppf-smart-card-info {
        grid-template-columns: 1fr
    }

    .cppf-smart-card-pro-head,.cppf-smart-card-foot {
        flex-direction: column;
        align-items: flex-start
    }

    .cppf-patient-select-grid {
        grid-template-columns: 1fr
    }

    .cppf-check-grid {
        grid-template-columns: 1fr
    }
}

@media print {
    body * {
        visibility: hidden!important
    }

    .cppf-smart-card-wrap,.cppf-smart-card-wrap * {
        visibility: visible!important
    }

    .cppf-smart-card-wrap {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        max-width: 100%;
        padding: 20px
    }

    .cppf-smart-card-foot button {
        display: none!important
    }
}

/* v2.2.7 Smart card tabs clickability and portal tab polish */
body .cppf-card-tab-switch.cppf-real-tabs, body .cppf-clickable-tabs {
    position: relative!important;
    z-index: 50!important;
    pointer-events: auto!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 10px!important;
    flex-wrap: wrap!important;
}

body .cppf-card-tab-switch.cppf-real-tabs a, body .cppf-clickable-tabs a, body .cppf-card-tab-switch a[role="tab"] {
    pointer-events: auto!important;
    cursor: pointer!important;
    position: relative!important;
    z-index: 60!important;
    user-select: none!important;
    text-decoration: none!important;
}

body .cppf-card-tab-switch.cppf-real-tabs a:hover, body .cppf-clickable-tabs a:hover {
    border-color: #0b5ed7!important;
    color: #0b5ed7!important;
    background: #f4f8ff!important;
    transform: translateY(-1px)!important;
}

body .cppf-switch.is-off {
    background: #e5e7eb!important
}

body .cppf-switch.is-off i {
    margin-left: 0!important
}

body .cppf-smart-generate .cppf-patient-select-grid label {
    cursor: pointer!important;
    transition: .18s ease!important
}

body .cppf-smart-generate .cppf-patient-select-grid label:hover {
    border-color: #0b5ed7!important;
    background: #f8fbff!important
}

/* v2.2.8 verified professional portal UI and dynamic-data cleanup */
:root {
    --cppf-ui-bg: #f4f7fb;
    --cppf-ui-card: #ffffff;
    --cppf-ui-border: #d9e4f2;
    --cppf-ui-border-soft: #edf2f7;
    --cppf-ui-text: #0f172a;
    --cppf-ui-muted: #64748b;
    --cppf-ui-blue: #0b63ce;
    --cppf-ui-blue-soft: #eff6ff;
    --cppf-ui-danger: #e11d48;
    --cppf-ui-success: #059669;
    --cppf-ui-warning: #d97706
}

body .cppf-doctor-portal, body .cppf-patient-portal {
    font-family: Inter,Manrope,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
    background: var(--cppf-ui-bg)!important;
    color: var(--cppf-ui-text)!important;
    font-size: 13px!important;
    line-height: 1.45!important;
    min-height: 100vh!important
}

body .cppf-doctor-portal * {
    box-sizing: border-box!important
}

body .cppf-doctor-topbar {
    height: 70px!important;
    background: #fff!important;
    border-bottom: 1px solid var(--cppf-ui-border)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    padding: 0 28px!important;
    position: sticky!important;
    top: 0!important;
    z-index: 50!important
}

body .cppf-doctor-brand {
    display: flex!important;
    align-items: center!important;
    gap: 12px!important;
    min-width: 180px!important
}

body .cppf-back {
    width: 26px!important;
    height: 26px!important;
    border-radius: 8px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-decoration: none!important;
    font-size: 26px!important;
    line-height: 1!important;
    color: #64748b!important
}

body .cppf-doctor-brand .cppf-logo-mark svg {
    width: 42px!important;
    height: 42px!important
}

body .cppf-doctor-topright {
    display: flex!important;
    align-items: center!important;
    gap: 12px!important;
    color: #475569!important
}

body .cppf-doctor-topright strong {
    font-size: 14px!important;
    color: #0f172a!important;
    font-weight: 900!important
}

body .cppf-doctor-topright>span:not(.cppf-flag):not(.cppf-avatar) {
    font-size: 12px!important;
    color: #64748b!important
}

.cppf-flag {
    height: 34px!important;
    min-width: 34px!important;
    border-radius: 10px!important;
    background: #fff!important;
    border: 1px solid #d9e4f2!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 800!important;
    color: #0b63ce!important
}

.cppf-avatar {
    width: 36px!important;
    height: 36px!important;
    border-radius: 50%!important;
    background: #12335f!important;
    color: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 12px!important;
    font-weight: 900!important
}

body .cppf-doctor-layout {
    display: grid!important;
    grid-template-columns: 236px minmax(0,1fr)!important;
    min-height: calc(100vh - 70px)!important
}

body .cppf-doctor-sidebar {
    background: #fff!important;
    border-right: 1px solid var(--cppf-ui-border)!important;
    padding: 18px 14px!important;
    position: sticky!important;
    top: 70px!important;
    height: calc(100vh - 70px)!important;
    overflow: auto!important
}

.cppf-doctor-search {
    height: 42px!important;
    border: 1px solid #d9e4f2!important;
    border-radius: 12px!important;
    background: #f8fbff!important;
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    padding: 0 12px!important;
    margin: 0 0 18px!important
}

.cppf-doctor-search input {
    border: 0!important;
    background: transparent!important;
    outline: 0!important;
    height: 38px!important;
    font-size: 13px!important;
    color: #334155!important;
    width: 100%!important;
    min-height: 0!important;
    padding: 0!important
}

.cppf-doctor-search .dashicons {
    font-size: 16px!important;
    color: #94a3b8!important
}

body .cppf-doctor-sidebar nav {
    display: flex!important;
    flex-direction: column!important;
    gap: 6px!important
}

body .cppf-doctor-sidebar nav a {
    height: 40px!important;
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    padding: 0 12px!important;
    border-radius: 10px!important;
    color: #334155!important;
    text-decoration: none!important;
    font-size: 13px!important;
    font-weight: 800!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important
}

body .cppf-doctor-sidebar nav a .dashicons {
    font-size: 16px!important;
    width: 18px!important;
    height: 18px!important;
    color: #94a3b8!important
}

body .cppf-doctor-sidebar nav a.active, body .cppf-doctor-sidebar nav a:hover {
    background: #eaf3ff!important;
    color: #0b63ce!important
}

body .cppf-doctor-sidebar nav a.active .dashicons, body .cppf-doctor-sidebar nav a:hover .dashicons {
    color: #0b63ce!important
}

body .cppf-doctor-main {
    padding: 28px 32px 54px!important;
    min-width: 0!important;
    overflow: hidden!important
}

body .cppf-doctor-title-row {
    display: flex!important;
    justify-content: space-between!important;
    align-items: flex-start!important;
    margin: 0 0 22px!important
}

body .cppf-doctor-title-row h1 {
    font-size: 28px!important;
    line-height: 1.15!important;
    margin: 0!important;
    color: #020617!important;
    font-weight: 900!important;
    letter-spacing: -.03em!important
}

body .cppf-doctor-title-row p {
    font-size: 13px!important;
    color: #64748b!important;
    margin: 6px 0 0!important
}

body .cppf-table-card,body .cppf-list-card,body .cppf-google-card,body .cppf-doctor-form-card {
    border: 1px solid var(--cppf-ui-border)!important;
    border-radius: 16px!important;
    background: #fff!important;
    box-shadow: 0 14px 36px rgba(15,23,42,.045)!important;
    overflow: hidden!important;
    margin-bottom: 20px!important
}

body .cppf-table-card {
    overflow-x: auto!important
}

body .cppf-table-card h2 {
    font-size: 16px!important;
    line-height: 1.2!important;
    margin: 0!important;
    color: #0f172a!important;
    font-weight: 900!important
}

body .cppf-list-toolbar {
    min-height: 58px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    padding: 12px 16px!important;
    background: #fff!important;
    border-bottom: 1px solid var(--cppf-ui-border-soft)!important
}

.cppf-inline-search {
    height: 38px!important;
    min-width: 260px!important;
    border: 1px solid #d9e4f2!important;
    border-radius: 11px!important;
    background: #f8fbff!important;
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    padding: 0 10px!important
}

.cppf-inline-search input {
    height: 34px!important;
    min-height: 0!important;
    border: 0!important;
    background: transparent!important;
    padding: 0!important;
    font-size: 13px!important;
    outline: 0!important
}

body .cppf-doctor-table {
    width: 100%!important;
    min-width: 760px!important;
    border-collapse: collapse!important;
    table-layout: auto!important;
    background: #fff!important
}

body .cppf-doctor-table th {
    height: 44px!important;
    background: #f8fafc!important;
    color: #334155!important;
    font-size: 11px!important;
    font-weight: 900!important;
    letter-spacing: .01em!important;
    text-transform: uppercase!important;
    padding: 10px 14px!important;
    border-bottom: 1px solid var(--cppf-ui-border)!important;
    white-space: nowrap!important;
    text-align: left!important
}

body .cppf-doctor-table td {
    height: 54px!important;
    font-size: 13px!important;
    color: #1e293b!important;
    padding: 10px 14px!important;
    border-bottom: 1px solid #edf2f7!important;
    vertical-align: middle!important;
    background: #fff!important
}

body .cppf-doctor-table tr:hover td {
    background: #fbfdff!important
}

body .cppf-doctor-table td:last-child,body .cppf-doctor-table th:last-child {
    width: 112px!important;
    min-width: 112px!important;
    text-align: center!important
}

.cppf-patient-cell {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    min-width: 190px!important
}

.cppf-table-avatar,.cppf-review-avatar {
    width: 38px!important;
    height: 38px!important;
    min-width: 38px!important;
    border-radius: 50%!important;
    background: #eaf3ff!important;
    border: 1px solid #bfdbfe!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 900!important
}

.cppf-patient-cell a {
    font-size: 14px!important;
    color: #0b63ce!important;
    text-decoration: none!important;
    font-weight: 900!important;
    line-height: 1.2!important
}

.cppf-patient-cell small {
    display: block!important;
    font-size: 12px!important;
    color: #64748b!important;
    margin-top: 2px!important;
    line-height: 1.25!important
}

.cppf-inline-stars {
    color: #f59e0b!important;
    font-size: 12px!important;
    letter-spacing: 1px!important;
    white-space: nowrap!important
}

.cppf-muted-dash {
    color: #94a3b8!important;
    font-weight: 800!important
}

.cppf-date-pill {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-height: 24px!important;
    font-size: 11px!important;
    line-height: 1.2!important;
    font-weight: 900!important;
    color: #0b63ce!important;
    background: #eff6ff!important;
    border: 1px solid #bfdbfe!important;
    border-radius: 8px!important;
    padding: 4px 8px!important;
    white-space: nowrap!important
}

.cppf-status {
    min-height: 24px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 900!important;
    line-height: 1!important;
    border-radius: 999px!important;
    padding: 5px 10px!important;
    white-space: nowrap!important;
    text-transform: capitalize!important
}

.cppf-action-icons {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 7px!important;
    flex-wrap: nowrap!important
}

.cppf-action-icons a,.cppf-action-icons button,.cppf-mini-action button,.cppf-action-button {
    width: 30px!important;
    min-width: 30px!important;
    max-width: 30px!important;
    height: 30px!important;
    min-height: 30px!important;
    max-height: 30px!important;
    border-radius: 9px!important;
    border: 1px solid #dbeafe!important;
    background: #f8fbff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 0!important;
    font-size: 0!important;
    text-decoration: none!important;
    line-height: 1!important
}

.cppf-action-icons a:before {
    font-size: 14px!important;
    line-height: 1!important
}

.cppf-action-icons a[href="#"]:not(.cppf-has-dashicons):before {
    content: 'ÃƒÂ°Ã…Â¸Ã¢â‚¬ËœÃ‚Â'
}

body .cppf-action-icons .red,body .cppf-mini-action button.red,body .cppf-action-delete {
    border-color: #fecaca!important;
    background: #fff5f6!important;
    color: #e11d48!important
}

.cppf-action-icons .dashicons,.cppf-mini-action .dashicons {
    font-size: 15px!important;
    width: 15px!important;
    height: 15px!important;
    line-height: 15px!important
}

.cppf-list-footer {
    min-height: 54px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important;
    padding: 11px 14px!important;
    border-top: 1px solid #edf2f7!important;
    background: #fff!important;
    font-size: 12px!important;
    color: #64748b!important
}

.cppf-list-footer label {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    margin: 0!important;
    font-size: 12px!important
}

.cppf-list-footer select {
    height: 34px!important;
    border-radius: 9px!important;
    border: 1px solid #d9e4f2!important;
    font-size: 12px!important;
    padding: 0 26px 0 10px!important;
    background: #fff!important
}

.cppf-pages {
    display: flex!important;
    gap: 4px!important;
    align-items: center!important
}

.cppf-pages span,.cppf-pages b,.cppf-pages em {
    min-width: 30px!important;
    height: 30px!important;
    border: 1px solid #d9e4f2!important;
    border-radius: 8px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    background: #fff!important;
    font-size: 12px!important;
    font-style: normal!important
}

.cppf-pages b {
    background: #0b63ce!important;
    color: #fff!important;
    border-color: #0b63ce!important
}

/* Schedule */
.cppf-professional-schedule {
    display: block!important
}

.cppf-schedule-note {
    padding: 18px 20px!important
}

.cppf-schedule-note h2 {
    font-size: 17px!important;
    margin-bottom: 6px!important
}

.cppf-schedule-note p {
    font-size: 13px!important;
    color: #64748b!important;
    margin: 0!important
}

.cppf-section-head {
    display: flex!important;
    justify-content: space-between!important;
    align-items: center!important;
    padding: 16px 18px!important;
    border-bottom: 1px solid #edf2f7!important
}

.cppf-section-head span {
    font-size: 12px!important;
    color: #64748b!important;
    font-weight: 800!important
}

.cppf-days-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important;
    padding: 18px!important
}

.cppf-day-card {
    border: 1px solid #d9e4f2!important;
    border-radius: 14px!important;
    background: #fff!important;
    overflow: hidden!important;
    box-shadow: 0 8px 20px rgba(15,23,42,.03)!important
}

.cppf-day-card.is-disabled {
    background: #fbfdff!important
}

.cppf-day-head {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    justify-content: space-between!important;
    padding: 12px 14px!important;
    border-bottom: 1px solid #edf2f7!important;
    cursor: pointer!important;
    font-size: 13px!important;
    font-weight: 900!important;
    color: #0f172a!important
}

.cppf-day-head input {
    width: 16px!important;
    height: 16px!important;
    margin: 0 8px 0 0!important
}

.cppf-day-head span {
    margin-right: auto!important
}

.cppf-day-head em {
    font-size: 10px!important;
    text-transform: uppercase!important;
    font-style: normal!important;
    color: #64748b!important;
    background: #f1f5f9!important;
    border-radius: 999px!important;
    padding: 4px 8px!important
}

.cppf-day-card.is-enabled .cppf-day-head em {
    background: #ecfdf5!important;
    color: #047857!important
}

.cppf-schedule-row {
    display: grid!important;
    grid-template-columns: repeat(5,minmax(0,1fr))!important;
    gap: 10px!important;
    padding: 12px 14px 14px!important
}

.cppf-schedule-row label {
    display: block!important;
    margin: 0!important
}

.cppf-schedule-row b {
    display: block!important;
    font-size: 10px!important;
    text-transform: uppercase!important;
    color: #64748b!important;
    margin-bottom: 5px!important
}

.cppf-schedule-row input,.cppf-schedule-row select {
    width: 100%!important;
    height: 36px!important;
    border: 1px solid #d9e4f2!important;
    border-radius: 9px!important;
    background: #fff!important;
    font-size: 12px!important;
    font-weight: 800!important;
    color: #0f172a!important;
    padding: 0 8px!important
}

.cppf-sticky-submit {
    display: flex!important;
    justify-content: flex-start!important;
    margin-top: 16px!important
}

.cppf-sticky-submit .cppf-btn {
    border-radius: 10px!important;
    height: 40px!important;
    font-size: 13px!important;
    padding: 0 18px!important
}

/* Visit forms */
.cppf-front-form {
    padding: 18px!important
}

.cppf-visit-form {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important
}

.cppf-visit-form label {
    display: block!important;
    margin: 0!important
}

.cppf-visit-form label strong {
    display: block!important;
    font-size: 12px!important;
    color: #344054!important;
    margin-bottom: 6px!important
}

.cppf-visit-form input,.cppf-visit-form select,.cppf-visit-form textarea {
    width: 100%!important;
    min-height: 40px!important;
    border: 1px solid #d9e4f2!important;
    border-radius: 10px!important;
    background: #fff!important;
    font-size: 13px!important;
    padding: 9px 11px!important
}

.cppf-visit-form textarea {
    min-height: 90px!important;
    resize: vertical!important
}

.cppf-visit-form .cppf-form-submit {
    grid-column: 1/-1!important;
    margin: 4px 0 0!important
}

.cppf-visit-table td:nth-child(3) {
    max-width: 360px!important;
    color: #475569!important
}

.cppf-pro-empty {
    padding: 34px 18px!important;
    text-align: center!important;
    background: #fff!important
}

.cppf-pro-empty strong {
    font-size: 15px!important
}

.cppf-pro-empty p {
    font-size: 13px!important;
    color: #64748b!important;
    margin: 6px 0 0!important
}

/* Tabs */
.cppf-card-tab-switch,.cppf-real-tabs,.cppf-medicine-tabs {
    position: relative!important;
    z-index: 10!important;
    display: flex!important;
    flex-wrap: wrap!important;
    gap: 8px!important;
    justify-content: center!important;
    margin: 0 auto 22px!important
}

.cppf-card-tab-switch a,.cppf-card-tab-switch span,.cppf-real-tabs a,.cppf-medicine-tabs a {
    pointer-events: auto!important;
    cursor: pointer!important;
    height: 42px!important;
    border-radius: 10px!important;
    border: 1px solid #d9e4f2!important;
    background: #fff!important;
    color: #475569!important;
    padding: 0 16px!important;
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    font-size: 13px!important;
    font-weight: 900!important;
    text-decoration: none!important;
    box-shadow: 0 8px 20px rgba(15,23,42,.035)!important
}

.cppf-card-tab-switch .active,.cppf-card-tab-switch a.active,.cppf-real-tabs a.active,.cppf-medicine-tabs a.active {
    background: #eff6ff!important;
    border-color: #bfdbfe!important;
    color: #0b63ce!important
}

/* Google calendar and forms */
.cppf-google-card {
    padding: 0!important
}

.cppf-google-hero {
    padding: 22px!important;
    background: linear-gradient(135deg,#eff6ff,#ffffff)!important;
    border-bottom: 1px solid #edf2f7!important
}

.cppf-google-card form {
    padding: 20px!important
}

.cppf-google-card .cppf-form-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important
}

.cppf-google-card input,.cppf-google-card select {
    height: 42px!important;
    border-radius: 10px!important;
    border: 1px solid #d9e4f2!important;
    font-size: 13px!important
}

.cppf-google-card input[type=file] {
    height: auto!important;
    min-height: 56px!important;
    padding: 14px!important;
    background: #f8fbff!important;
    border-style: dashed!important
}

/* Compact statuses/forms inside tables */
.cppf-compact-status-form {
    display: grid!important;
    grid-template-columns: minmax(116px,1fr) minmax(116px,1fr) 58px!important;
    gap: 8px!important;
    align-items: end!important;
    max-width: 360px!important
}

.cppf-compact-status-form select {
    height: 34px!important;
    font-size: 12px!important;
    border-radius: 9px!important
}

.cppf-small-save {
    height: 34px!important;
    border-radius: 9px!important;
    font-size: 12px!important;
    padding: 0 12px!important
}

@media(max-width: 1100px) {
    body .cppf-doctor-layout {
        grid-template-columns:210px minmax(0,1fr)!important
    }

    body .cppf-doctor-main {
        padding: 22px!important
    }

    .cppf-days-grid {
        grid-template-columns: 1fr!important
    }

    .cppf-schedule-row {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    .cppf-schedule-row label:last-child {
        grid-column: 1/-1!important
    }
}

@media(max-width: 760px) {
    body .cppf-doctor-topbar {
        position:relative!important;
        height: auto!important;
        flex-direction: column!important;
        align-items: flex-start!important;
        gap: 10px!important;
        padding: 14px!important
    }

    body .cppf-doctor-layout {
        display: block!important
    }

    body .cppf-doctor-sidebar {
        position: relative!important;
        top: auto!important;
        height: auto!important;
        border-right: 0!important;
        border-bottom: 1px solid #d9e4f2!important
    }

    body .cppf-doctor-sidebar nav {
        display: grid!important;
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    .cppf-doctor-main {
        padding: 16px!important
    }

    .cppf-inline-search {
        min-width: 0!important;
        width: 100%!important
    }

    .cppf-list-toolbar {
        flex-direction: column!important;
        align-items: stretch!important
    }

    .cppf-visit-form {
        grid-template-columns: 1fr!important
    }

    .cppf-doctor-title-row h1 {
        font-size: 24px!important
    }

    .cppf-doctor-table {
        min-width: 700px!important
    }

    .cppf-list-footer {
        flex-direction: column!important;
        align-items: flex-start!important
    }

    .cppf-google-card .cppf-form-grid {
        grid-template-columns: 1fr!important
    }
}

/* v2.2.8 booking slot hard layout override */
body .cppf-slots, body .cppf-booking-page .cppf-slots {
    display: block!important;
    grid-template-columns: none!important;
    gap: 0!important;
    width: 100%!important;
    max-width: 100%!important;
    box-sizing: border-box!important;
    overflow: hidden!important;
}

body .cppf-slots-list, body #cppf_slots_container, body .cppf-slot-grid {
    width: 100%!important;
    max-width: 100%!important;
    min-width: 0!important;
    box-sizing: border-box!important;
}

body .cppf-slot-grid {
    display: grid!important;
    grid-template-columns: repeat(auto-fit,minmax(165px,1fr))!important;
    gap: 10px!important;
}

body .cppf-slot-summary {
    position: relative!important;
    z-index: 1!important;
    grid-column: 1/-1!important;
    margin-bottom: 12px!important
}

body .cppf-slot {
    position: relative!important;
    z-index: 1!important;
    max-width: 100%!important;
    white-space: normal!important;
    word-break: normal!important
}

/* v2.2.11 AJAX switch/toggle polish */
body .cppf-click-switch {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    width: 46px!important;
    height: 26px!important;
    min-width: 46px!important;
    border-radius: 999px!important;
    padding: 3px!important;
    border: 0!important;
    background: #E5E7EB!important;
    box-shadow: inset 0 0 0 1px rgba(16,24,40,.04)!important;
    cursor: pointer!important;
    transition: background .18s ease, opacity .18s ease, box-shadow .18s ease!important;
    text-decoration: none!important;
    position: relative!important;
}

body .cppf-click-switch i {
    display: block!important;
    width: 20px!important;
    height: 20px!important;
    border-radius: 50%!important;
    background: #fff!important;
    box-shadow: 0 2px 7px rgba(16,24,40,.22)!important;
    margin-left: 0!important;
    transition: transform .18s ease!important;
}

body .cppf-click-switch.is-on {
    background: #2E90FA!important;
}

body .cppf-click-switch.is-on i {
    transform: translateX(20px)!important;
}

body .cppf-click-switch.is-off {
    background: #E5E7EB!important;
}

body .cppf-click-switch.is-off i {
    transform: translateX(0)!important;
}

body .cppf-click-switch.is-loading {
    opacity: .62!important;
    pointer-events: none!important;
}

body .cppf-click-switch.is-loading:after {
    content: ''!important;
    position: absolute!important;
    inset: 5px!important;
    border: 2px solid rgba(255,255,255,.7)!important;
    border-top-color: rgba(15,23,42,.45)!important;
    border-radius: 50%!important;
    animation: cppfSpin .65s linear infinite!important;
}

@keyframes cppfSpin {
    to {
        transform: rotate(360deg)
    }
}

body .cppf-doctor-table td .cppf-click-switch, body .cppf-table-card td .cppf-click-switch {
    vertical-align: middle!important;
}

/* v2.2.12 Admin portal professional UI enhancements */
.cppf-doctor-portal {
    --cppf-primary: #0b63ce;
    --cppf-primary-dark: #083b78;
    --cppf-soft: #f5f9ff;
    --cppf-line: #dbe7f3;
    --cppf-text: #0f172a;
    --cppf-muted: #64748b;
    --cppf-success: #0ea765;
    --cppf-danger: #e11d48;
    --cppf-warning: #f59e0b;
    font-size: 14px;
    color: var(--cppf-text)
}

.cppf-doctor-portal .cppf-doctor-main h1 {
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -.035em;
    margin: 0;
    color: #06142b
}

.cppf-doctor-portal .cppf-doctor-title-row p {
    font-size: 13px;
    color: var(--cppf-muted);
    margin: 8px 0 0
}

.cppf-doctor-table {
    font-size: 13px
}

.cppf-doctor-table th {
    font-size: 12px;
    letter-spacing: .02em;
    text-transform: none;
    color: #334155;
    background: #f8fbff
}

.cppf-doctor-table td {
    font-size: 13px;
    color: #102033;
    vertical-align: middle
}

.cppf-doctor-table small {
    font-size: 12px;
    color: #64748b
}

.cppf-card-tab-switch.cppf-real-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    background: #fff;
    border: 1px solid var(--cppf-line);
    border-radius: 14px;
    padding: 8px;
    width: max-content;
    max-width: 100%;
    box-shadow: 0 8px 24px rgba(15,23,42,.04);
    margin: 12px auto 22px
}

.cppf-card-tab-switch.cppf-real-tabs a,.cppf-card-tab-switch.cppf-real-tabs span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    color: #596579;
    background: transparent;
    border: 0;
    white-space: nowrap
}

.cppf-card-tab-switch.cppf-real-tabs a.active,.cppf-card-tab-switch.cppf-real-tabs span.active {
    background: #eef5ff;
    color: #075fe8;
    box-shadow: inset 0 0 0 1px #dbeafe
}

.cppf-medicine-tabs {
    margin-top: 4px!important
}

.cppf-pro-form {
    overflow: hidden
}

.cppf-front-form-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--cppf-line);
    background: linear-gradient(135deg,#fbfdff 0%,#f5f9ff 100%)
}

.cppf-front-form-head h2 {
    margin: 3px 0 0;
    font-size: 21px!important;
    line-height: 1.2;
    color: #07152c;
    letter-spacing: -.02em
}

.cppf-front-form-head p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 13px
}

.cppf-form-kicker {
    display: inline-flex;
    align-items: center;
    width: max-content;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #0b63ce;
    background: #eaf3ff;
    border: 1px solid #d7e9ff;
    border-radius: 999px;
    padding: 5px 9px
}

.cppf-front-form-body {
    padding: 24px
}

.cppf-front-form-body form,.cppf-settings-card .cppf-front-form-body form {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px 18px;
    align-items: start
}

.cppf-front-form-body form label,.cppf-settings-card form label {
    display: flex!important;
    flex-direction: column!important;
    gap: 7px;
    margin: 0!important;
    max-width: none!important
}

.cppf-front-form-body form label strong,.cppf-settings-card label strong {
    font-size: 12px;
    font-weight: 800;
    color: #24334a;
    letter-spacing: .01em
}

.cppf-front-form-body input,.cppf-front-form-body select,.cppf-front-form-body textarea,.cppf-settings-card input,.cppf-settings-card select,.cppf-settings-card textarea {
    width: 100%!important;
    min-height: 44px;
    border: 1px solid #dbe7f3!important;
    border-radius: 11px!important;
    background: #fff!important;
    color: #0f172a!important;
    font-size: 14px!important;
    line-height: 1.3!important;
    padding: 10px 12px!important;
    box-shadow: 0 1px 0 rgba(15,23,42,.02)!important;
    outline: none!important
}

.cppf-front-form-body textarea,.cppf-settings-card textarea {
    min-height: 118px;
    resize: vertical
}

.cppf-front-form-body form label.cppf-field-wide,.cppf-front-form-body form label.cppf-field-wide,.cppf-front-form-body form .cppf-wide-field {
    grid-column: 1/-1
}

.cppf-front-form-body select[multiple] {
    min-height: 140px
}

.cppf-front-form-body input:focus,.cppf-front-form-body select:focus,.cppf-front-form-body textarea:focus {
    border-color: #4d8cff!important;
    box-shadow: 0 0 0 4px rgba(11,99,206,.10)!important
}

.cppf-form-actions,.cppf-front-form-body form > button,.cppf-settings-card form > button {
    grid-column: 1/-1;
    margin-top: 4px
}

.cppf-btn-light {
    background: #fff!important;
    color: #0b63ce!important;
    border: 1px solid #dbe7f3!important;
    box-shadow: none!important
}

.cppf-settings-pro-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px
}

.cppf-settings-card {
    overflow: hidden
}

.cppf-smart-stats {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
    margin: 0 0 18px
}

.cppf-smart-stats>div {
    background: #fff;
    border: 1px solid #dbe7f3;
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 10px 28px rgba(15,23,42,.04)
}

.cppf-smart-stats span {
    display: block;
    font-size: 12px;
    color: #64748b;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em
}

.cppf-smart-stats strong {
    display: block;
    font-size: 26px;
    line-height: 1;
    margin-top: 8px;
    color: #0b63ce
}

.cppf-smart-generate .cppf-card-mode {
    margin: 0 0 14px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.cppf-smart-generate .cppf-card-mode label {
    display: inline-flex!important;
    flex-direction: row!important;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #dbe7f3;
    border-radius: 12px;
    padding: 10px 12px;
    font-weight: 700;
    color: #334155
}

.cppf-patient-select-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border: 1px solid #dbe7f3;
    background: #f8fbff;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 10px 0
}

.cppf-patient-select-toolbar label {
    display: inline-flex!important;
    flex-direction: row!important;
    align-items: center;
    gap: 7px;
    font-size: 13px;
    color: #475569
}

.cppf-patient-select-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    max-height: 420px;
    overflow: auto;
    padding: 4px
}

.cppf-patient-select-grid label {
    display: flex!important;
    flex-direction: row!important;
    align-items: center;
    gap: 12px;
    border: 1px solid #dbe7f3;
    border-radius: 13px;
    background: #fff;
    padding: 12px!important;
    cursor: pointer;
    transition: .18s ease
}

.cppf-patient-select-grid label:hover {
    border-color: #9cc7ff;
    background: #f6fbff
}

.cppf-patient-select-grid label span {
    display: flex;
    flex-direction: column;
    gap: 3px
}

.cppf-patient-select-grid strong {
    font-size: 13px;
    color: #07152c
}

.cppf-patient-select-grid small {
    font-size: 12px;
    color: #64748b
}

.cppf-action-icons {
    display: flex!important;
    align-items: center;
    gap: 7px;
    justify-content: flex-start;
    flex-wrap: wrap
}

.cppf-icon-btn,.cppf-action-icons>a:not(.cppf-impersonate) {
    width: 34px;
    height: 34px;
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    border: 1px solid #dbe7f3!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: #0b63ce!important;
    text-decoration: none!important;
    font-size: 0!important;
    line-height: 1!important;
    box-shadow: none!important;
    padding: 0!important
}

.cppf-icon-btn .dashicons {
    font-size: 17px;
    width: 17px;
    height: 17px;
    line-height: 17px
}

.cppf-action-icons>a:not(.cppf-impersonate):not(.cppf-icon-btn)::before {
    font-family: dashicons;
    content: "\f177";
    font-size: 16px
}

.cppf-icon-edit {
    color: #075fe8!important
}

.cppf-icon-danger,.cppf-action-icons .red,.cppf-danger {
    color: #e11d48!important;
    border-color: #ffd7df!important;
    background: #fff7f9!important
}

.cppf-icon-danger .dashicons {
    color: #e11d48
}

.cppf-action-icons .cppf-inline {
    display: inline-flex;
    margin: 0
}

.cppf-action-icons .cppf-icon-action {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid #ffd7df;
    background: #fff7f9;
    color: #e11d48;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0
}

.cppf-cms-list td:nth-child(3) {
    max-width: 520px;
    color: #475569
}

.cppf-color-dot {
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 7px;
    border: 1px solid rgba(15,23,42,.15);
    vertical-align: middle;
    margin-right: 6px
}

.cppf-notification-wrap .cppf-bell b {
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e11d48;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    padding: 0 5px;
    top: -7px;
    right: -7px
}

.cppf-notification-menu {
    font-size: 13px
}

.cppf-notification-item small {
    font-size: 12px
}

.cppf-admin-portal .cppf-list-toolbar {
    border-radius: 16px;
    background: #fff;
    border: 1px solid #dbe7f3;
    box-shadow: 0 8px 28px rgba(15,23,42,.04)
}

.cppf-admin-portal .cppf-view-actions {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 12px
}

.cppf-admin-portal .cppf-table-card {
    border-color: #dbe7f3;
    box-shadow: 0 14px 34px rgba(15,23,42,.045)
}

@media(max-width: 900px) {
    .cppf-front-form-body form,.cppf-settings-card .cppf-front-form-body form,.cppf-smart-stats,.cppf-patient-select-grid {
        grid-template-columns:1fr
    }

    .cppf-front-form-head {
        align-items: flex-start;
        flex-direction: column
    }

    .cppf-card-tab-switch.cppf-real-tabs {
        width: 100%;
        overflow: auto;
        justify-content: flex-start
    }

    .cppf-card-tab-switch.cppf-real-tabs a {
        white-space: nowrap
    }

    .cppf-doctor-portal .cppf-doctor-main h1 {
        font-size: 24px
    }
}

.cppf-status-mapped {
    background: #ecfdf5!important;
    color: #047857!important;
    border-color: #a7f3d0!important
}

.cppf-status-not_mapped {
    background: #fff7ed!important;
    color: #c2410c!important;
    border-color: #fed7aa!important
}

.cppf-patient-select-grid.is-disabled {
    opacity: .55;
    pointer-events: none
}

.cppf-patient-select-grid.is-disabled label {
    background: #f8fafc
}

.cppf-front-form-body input[type="color"] {
    height: 44px;
    padding: 6px!important
}

.cppf-front-form-body input[type="checkbox"],.cppf-front-form-body input[type="radio"],.cppf-smart-generate input[type="checkbox"],.cppf-smart-generate input[type="radio"] {
    width: auto!important;
    min-height: auto!important;
    height: auto!important;
    padding: 0!important;
    box-shadow: none!important
}

.cppf-admin-portal .cppf-status {
    font-size: 11px;
    padding: 5px 9px;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 800
}

.cppf-admin-portal .cppf-status-new {
    background: #fff7ed!important;
    color: #c2410c!important;
    border-color: #fed7aa!important
}

.cppf-admin-portal .cppf-status-unread {
    background: #eff6ff!important;
    color: #075fe8!important;
    border-color: #bfdbfe!important
}

.cppf-admin-portal .cppf-status-awaited,.cppf-admin-portal .cppf-status-scheduled {
    background: #fefce8!important;
    color: #a16207!important;
    border-color: #fde68a!important
}

/* v2.2.13 Patient Google Calendar UI Enhancement */
.cppf-patient-google-card {
    border: 1px solid #d9e7f6!important;
    border-radius: 18px!important;
    background: #fff!important;
    box-shadow: 0 18px 48px rgba(15,23,42,.06)!important;
    overflow: hidden!important
}

.cppf-patient-google-hero {
    background: linear-gradient(135deg,#edf8ff 0%,#ffffff 55%,#f3fff8 100%)!important;
    border-bottom: 1px solid #e4edf8!important;
    padding: 24px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 24px!important
}

.cppf-patient-google-hero .cppf-eyebrow {
    display: inline-flex!important;
    align-items: center!important;
    gap: 6px!important;
    font-size: 11px!important;
    font-weight: 900!important;
    text-transform: uppercase!important;
    letter-spacing: .08em!important;
    color: #0b68d8!important;
    background: #eaf4ff!important;
    border: 1px solid #cfe5ff!important;
    border-radius: 999px!important;
    padding: 6px 10px!important;
    margin-bottom: 10px!important
}

.cppf-patient-google-hero h2 {
    font-size: 22px!important;
    line-height: 1.2!important;
    margin: 0 0 8px!important;
    color: #082344!important;
    font-weight: 900!important
}

.cppf-patient-google-hero p {
    max-width: 680px!important;
    margin: 0!important;
    color: #536579!important;
    font-size: 13px!important;
    line-height: 1.65!important
}

.cppf-google-status-panel {
    min-width: 170px!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-end!important;
    gap: 8px!important
}

.cppf-google-status-panel small {
    font-size: 12px!important;
    color: #64748b!important
}

.cppf-google-metrics {
    display: grid!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 14px!important;
    padding: 18px 22px!important;
    background: #f8fbff!important;
    border-bottom: 1px solid #e8f0fa!important
}

.cppf-google-metrics>div {
    background: #fff!important;
    border: 1px solid #dce8f5!important;
    border-radius: 14px!important;
    padding: 16px!important;
    display: grid!important;
    grid-template-columns: 38px 1fr!important;
    grid-template-rows: auto auto!important;
    column-gap: 12px!important;
    align-items: center!important;
    box-shadow: 0 10px 24px rgba(15,23,42,.035)!important
}

.cppf-google-metrics .dashicons {
    grid-row: 1/3!important;
    width: 38px!important;
    height: 38px!important;
    border-radius: 12px!important;
    background: #eaf4ff!important;
    color: #0b68d8!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 20px!important
}

.cppf-google-metrics strong {
    font-size: 18px!important;
    line-height: 1.1!important;
    color: #0f172a!important;
    font-weight: 900!important
}

.cppf-google-metrics small {
    font-size: 12px!important;
    color: #64748b!important;
    font-weight: 700!important;
    margin-top: 4px!important
}

.cppf-google-form-grid {
    padding: 22px!important;
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 16px!important
}

.cppf-google-form-grid label span {
    display: block!important;
    font-size: 13px!important;
    line-height: 1.2!important;
    color: #1e293b!important;
    font-weight: 850!important;
    margin-bottom: 7px!important
}

.cppf-google-form-grid input,.cppf-google-form-grid select {
    width: 100%!important;
    min-height: 44px!important;
    border: 1px solid #d6e4f2!important;
    border-radius: 12px!important;
    background: #fff!important;
    color: #0f172a!important;
    font-size: 13px!important;
    font-weight: 600!important;
    padding: 0 13px!important;
    box-sizing: border-box!important;
    box-shadow: none!important
}

.cppf-google-form-grid input:focus,.cppf-google-form-grid select:focus {
    border-color: #0b68d8!important;
    box-shadow: 0 0 0 4px rgba(11,104,216,.10)!important;
    outline: 0!important
}

.cppf-google-form-grid input[type=file] {
    height: auto!important;
    min-height: 64px!important;
    border-style: dashed!important;
    background: #f8fbff!important;
    padding: 18px!important
}

.cppf-google-form-grid small {
    display: block!important;
    margin-top: 7px!important;
    color: #64748b!important;
    font-size: 12px!important;
    line-height: 1.45!important
}

.cppf-google-form-grid .cppf-wide-field {
    grid-column: 1/-1!important
}

.cppf-google-actions {
    padding: 0 22px 24px!important;
    display: flex!important;
    align-items: center!important;
    gap: 14px!important;
    flex-wrap: wrap!important
}

.cppf-google-actions .cppf-btn {
    height: 42px!important;
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    font-size: 13px!important;
    font-weight: 850!important
}

.cppf-google-actions p {
    margin: 0!important;
    color: #64748b!important;
    font-size: 12px!important;
    line-height: 1.5!important;
    max-width: 680px!important
}

.cppf-form-notice {
    margin: 0 0 18px!important;
    border-radius: 14px!important;
    padding: 14px 16px!important;
    display: flex!important;
    gap: 12px!important;
    align-items: flex-start!important;
    border: 1px solid #dce8f5!important;
    background: #f8fbff!important
}

.cppf-form-notice .dashicons {
    margin-top: 2px!important
}

.cppf-form-notice strong {
    display: block!important;
    font-size: 13px!important;
    color: #0f172a!important
}

.cppf-form-notice p {
    margin: 4px 0 0!important;
    font-size: 13px!important;
    color: #536579!important
}

.cppf-form-notice-success {
    background: #f0fdf4!important;
    border-color: #bbf7d0!important
}

.cppf-form-notice-success .dashicons {
    color: #16a34a!important
}

.cppf-form-notice-error {
    background: #fef2f2!important;
    border-color: #fecaca!important
}

.cppf-form-notice-error .dashicons {
    color: #dc2626!important
}

@media(max-width: 860px) {
    .cppf-patient-google-hero {
        display:block!important
    }

    .cppf-google-status-panel {
        align-items: flex-start!important;
        margin-top: 14px!important
    }

    .cppf-google-metrics,.cppf-google-form-grid {
        grid-template-columns: 1fr!important
    }

    .cppf-google-actions {
        display: block!important
    }

    .cppf-google-actions p {
        margin-top: 12px!important
    }
}

/* v2.2.14 Dynamic notifications + mark-read UI */
.cppf-notification-wrap {
    position: relative
}

.cppf-notification-menu {
    min-width: 360px;
    max-width: 430px;
    padding: 0;
    background: #fff;
    border: 1px solid #e3ebf5;
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(15,45,89,.18);
    overflow: hidden
}

.cppf-notification-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #edf2f8;
    background: linear-gradient(135deg,#f8fbff,#eef6ff)
}

.cppf-notification-head strong {
    font-size: 14px;
    line-height: 1.2;
    color: #0b1f3a;
    margin: 0;
    display: block
}

.cppf-notification-head small {
    font-size: 12px;
    color: #64748b;
    margin-top: 2px;
    display: block
}

.cppf-mark-all-read {
    border: 1px solid #cfe0ff;
    background: #fff;
    color: #0b5ed7;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    transition: .18s ease
}

.cppf-mark-all-read:hover {
    background: #0b5ed7;
    color: #fff;
    border-color: #0b5ed7
}

.cppf-mark-all-read:disabled,.cppf-mark-read:disabled {
    opacity: .7;
    cursor: wait
}

.cppf-notification-item {
    display: grid;
    grid-template-columns: 10px minmax(0,1fr) auto auto;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    border-bottom: 1px solid #eef2f7;
    background: #fff;
    transition: .18s ease
}

.cppf-notification-item:last-child {
    border-bottom: 0
}

.cppf-notification-item.is-unread {
    background: #f8fbff
}

.cppf-notification-item.is-read {
    opacity: .72;
    background: #fff
}

.cppf-notification-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d1dbe8;
    display: block
}

.cppf-notification-item.is-unread .cppf-notification-dot {
    background: #0b5ed7;
    box-shadow: 0 0 0 4px rgba(11,94,215,.10)
}

.cppf-notification-copy {
    min-width: 0
}

.cppf-notification-copy strong {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: #0b1f3a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px
}

.cppf-notification-copy small {
    display: block;
    font-size: 11.5px;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 210px;
    margin-top: 2px
}

.cppf-mark-read {
    border: 1px solid #d8e7ff;
    background: #eef6ff;
    color: #0b5ed7;
    border-radius: 10px;
    padding: 6px 8px;
    font-size: 10.5px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    transition: .18s ease
}

.cppf-mark-read:hover {
    background: #0b5ed7;
    border-color: #0b5ed7;
    color: #fff
}

.cppf-read-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 8px;
    font-size: 10px;
    font-weight: 800;
    color: #1f7a4d;
    background: #e9fbf1;
    border: 1px solid #c5f0d7;
    white-space: nowrap
}

.cppf-notification-empty {
    padding: 18px 16px;
    text-align: center;
    color: #64748b;
    font-size: 13px
}

.cppf-bell b {
    min-width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-size: 10px;
    line-height: 1
}

@media(max-width: 520px) {
    .cppf-notification-menu {
        min-width:calc(100vw - 36px);
        max-width: calc(100vw - 36px);
        right: -10px
    }

    .cppf-notification-item {
        grid-template-columns: 10px minmax(0,1fr);
        align-items: start
    }

    .cppf-notification-item .cppf-badge,.cppf-notification-item .cppf-status-badge,.cppf-mark-read,.cppf-read-label {
        grid-column: 2
    }

    .cppf-notification-copy strong,.cppf-notification-copy small {
        max-width: 100%
    }
}

/* v2.2.15 Consistent notification center */
.cppf-notification-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 30
}

.cppf-notification-wrap .cppf-bell {
    position: relative;
    width: 40px;
    height: 40px;
    border: 1px solid #dce8f5!important;
    background: #fff!important;
    color: #0b63ce!important;
    border-radius: 14px!important;
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    padding: 0!important;
    box-shadow: 0 8px 20px rgba(15,45,89,.06)!important;
    cursor: pointer;
    transition: .18s ease
}

.cppf-notification-wrap .cppf-bell:hover,.cppf-notification-wrap.is-open .cppf-bell {
    border-color: #a9cdf8!important;
    background: #f4f9ff!important;
    box-shadow: 0 12px 30px rgba(15,45,89,.11)!important
}

.cppf-notification-wrap .cppf-bell .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 18px
}

.cppf-notification-wrap .cppf-bell b {
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: #e11d48;
    color: #fff;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 19px;
    text-align: center;
    border: 2px solid #fff;
    box-shadow: 0 8px 16px rgba(225,29,72,.25)
}

.cppf-notification-wrap .cppf-bell.is-empty b {
    background: #94a3b8;
    box-shadow: none
}

.cppf-notification-menu.cppf-notification-panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    width: 460px;
    max-width: min(460px,calc(100vw - 24px));
    background: #fff;
    border: 1px solid #dce8f5;
    border-radius: 20px;
    box-shadow: 0 24px 70px rgba(15,45,89,.20);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px) scale(.98);
    transform-origin: top right;
    transition: .18s ease;
    z-index: 99999;
    color: #102033
}

.cppf-notification-wrap.is-open .cppf-notification-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1)
}

.cppf-notification-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid #edf3fa;
    background: linear-gradient(135deg,#f7fbff 0%,#eef6ff 100%)
}

.cppf-notification-kicker {
    display: inline-flex;
    width: max-content;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #0b63ce;
    background: #e5f1ff;
    border: 1px solid #cce4ff;
    border-radius: 999px;
    padding: 4px 8px;
    margin-bottom: 6px
}

.cppf-notification-head strong {
    display: block;
    margin: 0;
    color: #07152c;
    font-size: 15px!important;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -.01em
}

.cppf-notification-head small {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 12px!important;
    font-weight: 600
}

.cppf-mark-all-read {
    border: 1px solid #cfe1f7!important;
    background: #fff!important;
    color: #0b63ce!important;
    border-radius: 11px!important;
    padding: 8px 11px!important;
    font-size: 11.5px!important;
    font-weight: 900!important;
    line-height: 1!important;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 8px 18px rgba(15,45,89,.05)!important;
    transition: .18s ease
}

.cppf-mark-all-read:hover:not(:disabled) {
    background: #0b63ce!important;
    border-color: #0b63ce!important;
    color: #fff!important
}

.cppf-mark-all-read:disabled,.cppf-mark-all-read.is-disabled {
    opacity: .62;
    cursor: not-allowed;
    background: #f8fafc!important;
    color: #64748b!important;
    box-shadow: none!important
}

.cppf-notification-list {
    max-height: 440px;
    overflow: auto;
    background: #fff
}

.cppf-notification-item {
    display: grid;
    grid-template-columns: 40px minmax(0,1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #edf3fa;
    background: #fff;
    transition: .18s ease;
    position: relative
}

.cppf-notification-item:last-child {
    border-bottom: 0
}

.cppf-notification-item.is-unread {
    background: #f8fbff
}

.cppf-notification-item.is-unread:before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: #0b63ce
}

.cppf-notification-item.is-read {
    background: #fff;
    opacity: .78
}

.cppf-notification-type {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eaf3ff;
    color: #0b63ce;
    border: 1px solid #d8eaff;
    flex: 0 0 auto
}

.cppf-notification-type .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    line-height: 18px
}

.cppf-notification-tone-purple .cppf-notification-type {
    background: #f3eaff;
    color: #7c3aed;
    border-color: #e8d6ff
}

.cppf-notification-tone-orange .cppf-notification-type {
    background: #fff5e7;
    color: #d97706;
    border-color: #ffe4bb
}

.cppf-notification-tone-green .cppf-notification-type {
    background: #ecfdf5;
    color: #059669;
    border-color: #c9f5df
}

.cppf-notification-copy {
    min-width: 0;
    text-align: left
}

.cppf-notification-line {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0
}

.cppf-notification-line strong {
    font-size: 13px!important;
    line-height: 1.25;
    color: #07152c;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
    margin: 0!important
}

.cppf-notification-line em {
    font-style: normal;
    font-size: 10px;
    font-weight: 900;
    color: #64748b;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 4px 7px;
    white-space: nowrap;
    line-height: 1
}

.cppf-notification-copy small {
    display: block;
    font-size: 11.5px!important;
    line-height: 1.35;
    color: #53647c;
    margin-top: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 255px
}

.cppf-notification-copy time {
    display: block;
    font-size: 10.5px!important;
    font-weight: 800;
    color: #94a3b8;
    margin-top: 5px;
    line-height: 1
}

.cppf-notification-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex-wrap: wrap;
    min-width: 132px
}

.cppf-notification-actions .cppf-status {
    font-size: 9.5px!important;
    padding: 5px 7px!important;
    border-radius: 999px!important;
    line-height: 1!important;
    white-space: nowrap
}

.cppf-notification-view,.cppf-mark-read,.cppf-read-label {
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    min-height: 27px;
    border-radius: 9px!important;
    padding: 6px 8px!important;
    font-size: 10.5px!important;
    font-weight: 900!important;
    line-height: 1!important;
    text-decoration: none!important;
    white-space: nowrap;
    transition: .18s ease
}

.cppf-notification-view {
    border: 1px solid #dbeafe!important;
    background: #fff!important;
    color: #0b63ce!important
}

.cppf-notification-view:hover {
    background: #eef6ff!important;
    color: #084eb0!important
}

.cppf-mark-read {
    border: 1px solid #d8e7ff!important;
    background: #eef6ff!important;
    color: #0b5ed7!important;
    cursor: pointer!important
}

.cppf-mark-read:hover:not(:disabled) {
    background: #0b5ed7!important;
    border-color: #0b5ed7!important;
    color: #fff!important
}

.cppf-mark-read:disabled,.cppf-mark-read.is-loading {
    opacity: .72;
    cursor: wait!important
}

.cppf-read-label {
    border: 1px solid #dcfce7!important;
    background: #f0fdf4!important;
    color: #047857!important
}

.cppf-notification-empty {
    padding: 24px 18px;
    text-align: center;
    color: #64748b;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px
}

.cppf-notification-empty .dashicons {
    font-size: 28px;
    width: 28px;
    height: 28px;
    line-height: 28px;
    color: #94a3b8
}

.cppf-notification-empty strong {
    font-size: 14px;
    color: #0f172a;
    font-weight: 900
}

.cppf-notification-empty small {
    font-size: 12px;
    color: #64748b
}

.cppf-notification-foot {
    padding: 10px 16px;
    border-top: 1px solid #edf3fa;
    background: #f8fbff;
    color: #64748b;
    font-size: 11.5px;
    text-align: center;
    font-weight: 700
}

.cppf-notification-ajax-notice {
    position: relative;
    z-index: 100000;
    margin: 0 0 12px!important;
    max-width: 520px
}

@media(max-width: 720px) {
    .cppf-notification-menu.cppf-notification-panel {
        right:-12px;
        width: calc(100vw - 24px)
    }

    .cppf-notification-item {
        grid-template-columns: 36px minmax(0,1fr);
        align-items: start
    }

    .cppf-notification-type {
        width: 36px;
        height: 36px;
        border-radius: 12px
    }

    .cppf-notification-actions {
        grid-column: 2;
        justify-content: flex-start;
        min-width: 0
    }

    .cppf-notification-copy small,.cppf-notification-line strong {
        max-width: 100%
    }

    .cppf-notification-head {
        align-items: flex-start
    }

    .cppf-mark-all-read {
        margin-top: 3px
    }
}

/* v2.2.16 Notification dropdown/card layout correction */
.cppf-notification-wrap .cppf-notification-menu.cppf-notification-panel {
    width: 520px!important;
    max-width: min(520px,calc(100vw - 28px))!important;
    border-radius: 20px!important;
}

.cppf-notification-list {
    max-height: 520px!important;
}

.cppf-notification-item {
    display: grid!important;
    grid-template-columns: 42px minmax(0,1fr)!important;
    gap: 12px!important;
    align-items: flex-start!important;
    padding: 15px 16px!important;
}

.cppf-notification-type {
    grid-column: 1!important;
    grid-row: 1 / span 2!important;
    width: 40px!important;
    height: 40px!important;
    margin-top: 1px!important;
}

.cppf-notification-copy {
    grid-column: 2!important;
    min-width: 0!important;
    width: 100%!important;
    padding-right: 0!important;
}

.cppf-notification-line {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 8px!important;
    flex-wrap: wrap!important;
    min-width: 0!important;
}

.cppf-notification-line strong {
    max-width: 260px!important;
    min-width: 0!important;
    font-size: 13px!important;
    line-height: 1.25!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
}

.cppf-notification-line em {
    flex: 0 0 auto!important;
    font-size: 10px!important;
    padding: 4px 8px!important;
}

.cppf-notification-copy small {
    max-width: 100%!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    margin-top: 5px!important;
    display: block!important;
}

.cppf-notification-copy time {
    margin-top: 6px!important;
}

.cppf-notification-actions {
    grid-column: 2!important;
    display: flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 7px!important;
    flex-wrap: wrap!important;
    min-width: 0!important;
    width: 100%!important;
    margin-top: 10px!important;
}

.cppf-notification-actions .cppf-status, .cppf-notification-actions .cppf-status-badge, .cppf-notification-actions .cppf-badge {
    min-height: 26px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 6px 10px!important;
    font-size: 10.5px!important;
    line-height: 1!important;
    border-radius: 999px!important;
    white-space: nowrap!important;
}

.cppf-notification-view, .cppf-mark-read, .cppf-read-label {
    min-width: auto!important;
    min-height: 30px!important;
    height: 30px!important;
    padding: 7px 11px!important;
    border-radius: 10px!important;
    font-size: 11px!important;
    line-height: 1!important;
    box-shadow: none!important;
    white-space: nowrap!important;
}

.cppf-mark-read {
    background: #0b63ce!important;
    color: #fff!important;
    border: 1px solid #0b63ce!important;
}

.cppf-mark-read:hover {
    background: #084eb0!important;
    border-color: #084eb0!important;
}

.cppf-read-label {
    background: #f1f5f9!important;
    color: #64748b!important;
    border: 1px solid #e2e8f0!important;
}

.cppf-notification-item.is-read .cppf-mark-read {
    display: none!important;
}

.cppf-notification-item.is-read .cppf-notification-dot {
    background: #cbd5e1!important;
    box-shadow: none!important;
}

.cppf-notification-item .dashicons {
    vertical-align: middle!important;
}

@media(max-width: 640px) {
    .cppf-notification-wrap .cppf-notification-menu.cppf-notification-panel {
        width:calc(100vw - 24px)!important;
        right: -8px!important;
    }

    .cppf-notification-item {
        grid-template-columns: 36px minmax(0,1fr)!important;
        padding: 14px!important;
    }

    .cppf-notification-type {
        width: 36px!important;
        height: 36px!important;
        border-radius: 12px!important;
    }

    .cppf-notification-line strong {
        max-width: 100%!important;
    }

    .cppf-notification-actions {
        grid-column: 1 / -1!important;
        margin-left: 48px!important;
        width: auto!important;
    }
}

/* v2.2.18 - Enhanced professional login UI */
body .cppf-login-modern {
    min-height: calc(100vh - 1px)!important;
    padding: 42px 18px!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important;
    background: radial-gradient(circle at 8% 12%,rgba(18,184,134,.14),transparent 26%), radial-gradient(circle at 88% 18%,rgba(11,94,215,.16),transparent 32%), linear-gradient(135deg,#f7fbff 0%,#eef6ff 52%,#f8fbff 100%)!important;
    border-radius: 0!important;
}

body .cppf-login-modern:before, body .cppf-login-modern:after {
    display: none!important;
    content: none!important;
}

body .cppf-login-bg-orb {
    position: absolute!important;
    border-radius: 999px!important;
    filter: blur(8px)!important;
    opacity: .65!important;
    pointer-events: none!important;
}

body .cppf-login-bg-orb-one {
    width: 360px!important;
    height: 360px!important;
    background: rgba(18,184,134,.10)!important;
    left: -150px!important;
    bottom: -120px!important;
}

body .cppf-login-bg-orb-two {
    width: 420px!important;
    height: 420px!important;
    background: rgba(11,94,215,.10)!important;
    right: -165px!important;
    top: -130px!important;
}

body .cppf-login-shell-v2 {
    width: min(1180px,100%)!important;
    display: grid!important;
    grid-template-columns: minmax(0,1.05fr) minmax(430px,.85fr)!important;
    gap: 34px!important;
    align-items: center!important;
    margin: 0 auto!important;
    position: relative!important;
    z-index: 2!important;
}

body .cppf-login-visual-v2 {
    padding: 24px 14px 24px 4px!important;
    max-width: 650px!important;
    text-align: left!important;
    color: #0f172a!important;
}

body .cppf-login-brandline {
    display: flex!important;
    align-items: center!important;
    gap: 14px!important;
    margin-bottom: 26px!important;
}

body .cppf-login-brandline .cppf-login-logo, body .cppf-login-card-logo {
    width: 62px!important;
    height: 62px!important;
    display: flex!important;
    /* align-items: center!important; */
    /* justify-content: center!important; */
    /* border-radius: 22px!important; */
    /* background: #fff!important; */
    /* border: 1px solid rgba(148,163,184,.22)!important; */
    /* box-shadow: 0 12px 30px rgba(15,45,89,.10)!important; */
    /* margin: 0!important; */
}

body .cppf-login-brandline .cppf-login-logo svg, body .cppf-login-card-logo svg {
    width: 42px!important;
    height: 42px!important;
}

body .cppf-login-visual-v2 .cppf-kicker {
    display: inline-flex!important;
    align-items: center!important;
    gap: 9px!important;
    height: 32px!important;
    padding: 0 14px!important;
    border-radius: 999px!important;
    background: #e8f3ff!important;
    border: 1px solid #b8dcff!important;
    color: #075eb8!important;
    font-size: 12px!important;
    line-height: 1!important;
    text-transform: uppercase!important;
    letter-spacing: .08em!important;
    font-weight: 950!important;
}

body .cppf-login-visual-v2 .cppf-kicker i {
    width: 9px!important;
    height: 9px!important;
    border-radius: 50%!important;
    background: #12b886!important;
    box-shadow: 0 0 0 5px rgba(18,184,134,.14)!important;
}

body .cppf-login-visual-v2 h1 {
    margin: 0 0 16px!important;
    font-size: clamp(42px,5vw,68px)!important;
    line-height: .98!important;
    letter-spacing: -.065em!important;
    font-weight: 950!important;
    color: #101828!important;
    max-width: 760px!important;
}

body .cppf-login-visual-v2 .cppf-login-lead {
    max-width: 680px!important;
    margin: 0 0 22px!important;
    color: #506075!important;
    font-size: 17px!important;
    line-height: 1.65!important;
    font-weight: 500!important;
}

body .cppf-login-benefits {
    display: flex!important;
    flex-wrap: wrap!important;
    gap: 10px!important;
    margin: 0 0 28px!important;
}

body .cppf-login-benefits span {
    display: inline-flex!important;
    align-items: center!important;
    gap: 9px!important;
    min-height: 40px!important;
    padding: 9px 13px!important;
    border-radius: 14px!important;
    background: rgba(255,255,255,.72)!important;
    border: 1px solid rgba(180,202,231,.75)!important;
    color: #132238!important;
    font-size: 13px!important;
    font-weight: 850!important;
    box-shadow: 0 8px 24px rgba(15,45,89,.06)!important;
    white-space: nowrap!important;
}

body .cppf-login-benefits b {
    width: 24px!important;
    height: 24px!important;
    border-radius: 9px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    background: #0b5ed7!important;
    color: #fff!important;
    font-size: 10px!important;
    font-weight: 950!important;
    letter-spacing: 0!important;
}

body .cppf-login-trust-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important;
    max-width: 600px!important;
}

body .cppf-login-trust-grid div {
    background: rgba(255,255,255,.82)!important;
    border: 1px solid rgba(200,214,232,.9)!important;
    border-radius: 20px!important;
    padding: 18px!important;
    box-shadow: 0 14px 34px rgba(15,45,89,.07)!important;
}

body .cppf-login-trust-grid strong {
    display: block!important;
    font-size: 15px!important;
    font-weight: 950!important;
    color: #0f172a!important;
    margin-bottom: 4px!important;
}

body .cppf-login-trust-grid small {
    display: block!important;
    font-size: 12.5px!important;
    color: #667085!important;
    line-height: 1.45!important;
}

body .cppf-login-card-v2 {
    width: 100%!important;
    max-width: 500px!important;
    margin: 0!important;
    padding: 0!important;
    overflow: hidden!important;
    border: 1px solid rgba(180,202,231,.95)!important;
    border-radius: 28px!important;
    background: rgba(255,255,255,.94)!important;
    box-shadow: 0 26px 80px rgba(15,45,89,.16)!important;
    text-align: left!important;
    backdrop-filter: blur(12px)!important;
}

body .cppf-login-card-head {
    text-align: center!important;
    padding: 26px 30px 14px!important;
    border-bottom: 1px solid #eef3f9!important;
    background: linear-gradient(180deg,#fff,#fbfdff)!important;
}

body .cppf-login-card-head .cppf-login-card-logo {
    margin: 0 auto 14px!important;
    /* width: 58px!important; */
    /* height: 58px!important; */
    /* border-radius: 20px!important; */
}

body .cppf-login-card-head>span {
    display: block!important;
    color: #0b5ed7!important;
    text-transform: uppercase!important;
    font-size: 11px!important;
    font-weight: 950!important;
    letter-spacing: .1em!important;
    margin-bottom: 8px!important;
}

body .cppf-login-card-v2 h2 {
    margin: 0 0 6px!important;
    font-size: 26px!important;
    line-height: 1.2!important;
    font-weight: 950!important;
    color: #101828!important;
    text-align: center!important;
    letter-spacing: -.035em!important;
}

body .cppf-login-card-head p {
    margin: 0!important;
    color: #667085!important;
    font-size: 14px!important;
    line-height: 1.45!important;
    font-weight: 600!important;
}

body .cppf-login-form-v2 {
    display: block!important;
    padding: 24px 36px 28px!important;
    margin: 0!important;
}

body .cppf-login-form-v2 * {
    box-sizing: border-box!important;
}

body .cppf-login-field {
    display: block!important;
    margin: 0 0 17px!important;
    padding: 0!important;
}

body .cppf-login-label {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 10px!important;
    margin: 0 0 8px!important;
    color: #1d2939!important;
    font-size: 13px!important;
    font-weight: 600 !important;
    line-height: 1.2!important;
}

body .cppf-login-label a {
    font-size: 12.5px!important;
    color: #0b5ed7!important;
    text-decoration: none!important;
    font-weight: 600 !important;
    white-space: nowrap!important;
}

body .cppf-login-form-v2 input[type=text], body .cppf-login-form-v2 input[type=password] {
    width: 100%!important;
    height: 48px!important;
    border: 1px solid #d9e5f3!important;
    border-radius: 14px!important;
    background: #fff!important;
    color: #101828!important;
    font-size: 14px!important;
    font-weight: 650!important;
    padding: 0 15px!important;
    outline: none!important;
    box-shadow: 0 2px 0 rgba(16,24,40,.02)!important;
}

body .cppf-login-form-v2 input[type=text]::placeholder, body .cppf-login-form-v2 input[type=password]::placeholder {
    color: #98a2b3!important;
    font-weight: 500!important;
}

body .cppf-login-form-v2 input[type=text]:focus, body .cppf-login-form-v2 input[type=password]:focus {
    border-color: #0b5ed7!important;
    box-shadow: 0 0 0 4px rgba(11,94,215,.12)!important;
    background: #fff!important;
}

body .cppf-login-role-wrap {
    margin-bottom: 38px!important;
}

body .cppf-login-role-grid {
    display: grid!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 10px!important;
    margin: 0!important;
}

body .cppf-login-role-card {
    position: relative!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    min-height: 88px!important;
    padding: 12px 8px!important;
    border: 1px solid #dce8f5!important;
    border-radius: 18px!important;
    background: #fff!important;
    cursor: pointer!important;
    transition: .18s ease!important;
    text-align: center!important;
    color: #344054!important;
}

body .cppf-login-role-card:hover {
    border-color: #9cc7f4!important;
    box-shadow: 0 12px 26px rgba(15,45,89,.08)!important;
    transform: translateY(-1px)!important;
}

body .cppf-login-role-card input {
    position: absolute!important;
    opacity: 0!important;
    pointer-events: none!important;
    width: 1px!important;
    height: 1px!important;
}

body .cppf-login-role-card .dashicons {
    width: 34px!important;
    height: 34px!important;
    border-radius: 14px!important;
    background: #f1f7ff!important;
    color: #0b5ed7!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 17px!important;
    line-height: 1!important;
}

body .cppf-login-role-card strong {
    font-size: 12.5px!important;
    line-height: 1.18!important;
    font-weight: 500 !important;
    color: #344054!important;
}

body .cppf-login-role-card.is-active, body .cppf-login-role-card.is-active {
    border-color: #0b5ed7!important;
    background: linear-gradient(180deg,#f3f8ff,#fff)!important;
    box-shadow: 0 0 0 4px rgba(11,94,215,.10),0 12px 26px rgba(15,45,89,.08)!important;
}

body .cppf-login-role-card.is-active::after, body .cppf-login-role-card.is-active::after {
    content: 'ÃƒÂ¢Ã…â€œÃ¢â‚¬Å“'!important;
    position: absolute!important;
    right: 9px!important;
    top: 9px!important;
    width: 20px!important;
    height: 20px!important;
    border-radius: 50%!important;
    background: #0b5ed7!important;
    color: #fff!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 950!important;
}

body .cppf-login-role-card.is-active .dashicons, body .cppf-login-role-card.is-active .dashicons {
    background: #0b5ed7!important;
    color: #fff!important;
}

body .cppf-login-actions-row {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    margin: 2px 0 18px!important;
}

body .cppf-login-check {
    display: inline-flex!important;
    align-items: center!important;
    gap: 9px!important;
    margin: 0!important;
    cursor: pointer!important;
    color: #344054!important;
    font-size: 13px!important;
    font-weight: 800!important;
}

body .cppf-login-check input {
    position: absolute!important;
    opacity: 0!important;
    pointer-events: none!important;
}

body .cppf-login-check span {
    width: 20px!important;
    height: 20px!important;
    border-radius: 7px!important;
    border: 1px solid #cbd8e6!important;
    background: #fff!important;
    box-shadow: 0 2px 0 rgba(16,24,40,.03)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
}

body .cppf-login-check input:checked+span {
    background: #0b5ed7!important;
    border-color: #0b5ed7!important;
}

body .cppf-login-check input:checked+span:before {
    content: 'ÃƒÂ¢Ã…â€œÃ¢â‚¬Å“'!important;
    color: #fff!important;
    font-size: 13px!important;
    font-weight: 950!important;
}

body .cppf-login-check em {
    font-style: normal!important;
    line-height: 1!important;
    font-weight: 600 !important;
}

body .cppf-login-submit-v2 {
    width: 100%!important;
    height: 50px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    margin: 0!important;
    border-radius: 15px!important;
    background: linear-gradient(135deg,#0b5ed7,#0758c6)!important;
    color: #fff!important;
    border: 0!important;
    font-size: 14px!important;
    font-weight: 950!important;
    box-shadow: 0 14px 28px rgba(11,94,215,.22)!important;
    text-transform: none!important;
}

body .cppf-login-submit-v2:hover {
    transform: translateY(-1px)!important;
    box-shadow: 0 18px 34px rgba(11,94,215,.28)!important;
}

body .cppf-login-submit-v2 .dashicons {
    font-size: 16px!important;
    width: 16px!important;
    height: 16px!important;
}

body .cppf-login-footer-v2 {
    text-align: center!important;
    padding: 0 36px 30px!important;
    margin: -10px 0 0!important;
    color: #667085!important;
    font-size: 13px!important;
    font-weight: 600 !important;
}

body .cppf-login-footer-v2 a {
    color: #0b5ed7!important;
    font-weight: 950!important;
    text-decoration: none!important;
}

body .cppf-login-notice {
    margin: 18px 36px 0!important;
    text-align: left!important;
}

@media(max-width: 960px) {
    body .cppf-login-shell-v2 {
        grid-template-columns:1fr!important;
        max-width: 560px!important;
        gap: 20px!important;
    }

    body .cppf-login-visual-v2 {
        text-align: center!important;
        padding: 0!important;
        max-width: none!important;
    }

    body .cppf-login-brandline {
        justify-content: center!important;
        margin-bottom: 16px!important;
    }

    body .cppf-login-visual-v2 h1 {
        font-size: 38px!important;
        line-height: 1.05!important;
    }

    body .cppf-login-visual-v2 .cppf-login-lead {
        font-size: 14.5px!important;
        line-height: 1.55!important;
        margin-left: auto!important;
        margin-right: auto!important;
    }

    body .cppf-login-benefits {
        justify-content: center!important;
    }

    body .cppf-login-trust-grid {
        display: none!important;
    }

    body .cppf-login-card-v2 {
        max-width: 560px!important;
    }
}

@media(max-width: 520px) {
    body .cppf-login-modern {
        padding:24px 12px!important;
    }

    body .cppf-login-visual-v2 h1 {
        font-size: 31px!important;
    }

    body .cppf-login-benefits span {
        width: 100%!important;
        justify-content: flex-start!important;
    }

    body .cppf-login-card-head {
        padding: 24px 20px 16px!important;
    }

    body .cppf-login-form-v2 {
        padding: 20px!important;
    }

    body .cppf-login-footer-v2 {
        padding: 0 20px 24px!important;
    }

    body .cppf-login-role-grid {
        grid-template-columns: 1fr!important;
    }

    body .cppf-login-role-card {
        min-height: 66px!important;
        flex-direction: row!important;
        justify-content: flex-start!important;
        padding: 12px 14px!important;
        text-align: left!important;
    }

    body .cppf-login-card-v2 {
        border-radius: 22px!important;
    }
}

/* v2.2.19 staff role setup */
.cppf-permission-editor {
    background: #f8fbff;
    border: 1px solid #dce8f6;
    border-radius: 18px;
    padding: 18px;
    margin: 18px 0;
    display: grid;
    gap: 14px
}

.cppf-permission-editor h3 {
    margin: 0 0 4px;
    font-size: 16px;
    color: #0f172a
}

.cppf-permission-editor p {
    margin: 0;
    color: #64748b;
    font-size: 13px
}

.cppf-permission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    gap: 10px
}

.cppf-permission-option {
    display: flex!important;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    background: #fff;
    font-weight: 700;
    color: #334155;
    font-size: 13px;
    cursor: pointer
}

.cppf-permission-option input {
    width: 16px!important;
    height: 16px!important;
    margin: 0!important;
    accent-color: #0f62d6
}

.cppf-permission-badges {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    max-width: 520px
}

.cppf-permission-badges span {
    display: inline-flex;
    align-items: center;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #0758c8;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap
}

.cppf-permission-panel {
    border: 1px solid #e2e8f0;
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    margin: 16px 0
}

.cppf-permission-panel h3 {
    font-size: 15px;
    margin: 0 0 4px;
    color: #0f172a
}

.cppf-permission-panel p {
    font-size: 13px;
    margin: 0 0 12px;
    color: #64748b
}

.cppf-staff-form-grid {
    grid-template-columns: repeat(auto-fit,minmax(220px,1fr))!important
}

.cppf-staff-profile-card .cppf-front-form-head {
    margin-bottom: 12px
}

@media(max-width: 767px) {
    .cppf-permission-grid {
        grid-template-columns:1fr
    }

    .cppf-permission-badges {
        max-width: 100%
    }
}

/* v2.2.20 admin doctor tabs: fully clickable, compact, functional */
body .cppf-admin-portal .cppf-doctor-tabs, body .cppf-admin-portal .cppf-card-tab-switch.cppf-doctor-tabs {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 10px!important;
    margin: 6px auto 22px!important;
    flex-wrap: wrap!important;
    position: relative!important;
    z-index: 5!important;
}

body .cppf-admin-portal .cppf-card-tab-switch.cppf-doctor-tabs a {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-height: 42px!important;
    padding: 0 20px!important;
    border-radius: 12px!important;
    border: 1px solid #d7e5f4!important;
    background: #fff!important;
    color: #344054!important;
    text-decoration: none!important;
    font-size: 13px!important;
    font-weight: 850!important;
    line-height: 1!important;
    box-shadow: 0 10px 24px rgba(15,45,89,.045)!important;
    cursor: pointer!important;
    pointer-events: auto!important;
}

body .cppf-admin-portal .cppf-card-tab-switch.cppf-doctor-tabs a:hover {
    border-color: #9cc7f4!important;
    color: #0b5ed7!important;
    transform: translateY(-1px)!important;
    box-shadow: 0 14px 30px rgba(15,45,89,.075)!important;
}

body .cppf-admin-portal .cppf-card-tab-switch.cppf-doctor-tabs a.active {
    background: #eef6ff!important;
    border-color: #b7d8ff!important;
    color: #0758c8!important;
    box-shadow: inset 0 0 0 1px rgba(11,94,215,.08),0 10px 24px rgba(11,94,215,.08)!important;
}

body .cppf-admin-portal .cppf-admin-doctors-table .cppf-action-icons, body .cppf-admin-portal .cppf-admin-schedules-table .cppf-action-icons, body .cppf-admin-portal .cppf-admin-holidays-table .cppf-action-icons {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    white-space: nowrap!important;
    min-width: 180px!important;
}

body .cppf-admin-portal .cppf-icon-btn {
    width: 34px!important;
    height: 34px!important;
    border-radius: 11px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    border: 1px solid #dbe8f7!important;
    background: #fff!important;
    color: #0b5ed7!important;
    text-decoration: none!important;
    line-height: 1!important;
    box-shadow: 0 6px 14px rgba(15,45,89,.04)!important;
}

body .cppf-admin-portal .cppf-icon-btn:hover {
    background: #eef6ff!important;
    border-color: #b7d8ff!important;
    transform: translateY(-1px)!important;
}

body .cppf-admin-portal .cppf-icon-btn .dashicons {
    font-size: 16px!important;
    width: 16px!important;
    height: 16px!important;
    line-height: 16px!important;
    display: block!important;
}

body .cppf-admin-portal .cppf-icon-danger {
    color: #ef4444!important;
    border-color: #ffd0d0!important;
    background: #fffafa!important;
}

body .cppf-admin-portal .cppf-icon-danger:hover {
    background: #fff1f2!important;
    border-color: #fecaca!important;
}

body .cppf-admin-portal .cppf-admin-doctors-table th:last-child, body .cppf-admin-portal .cppf-admin-schedules-table th:last-child, body .cppf-admin-portal .cppf-admin-holidays-table th:last-child, body .cppf-admin-portal .cppf-admin-doctors-table td:last-child, body .cppf-admin-portal .cppf-admin-schedules-table td:last-child, body .cppf-admin-portal .cppf-admin-holidays-table td:last-child {
    text-align: right!important;
    width: 1%!important;
}

body .cppf-admin-portal .cppf-admin-schedules-table strong {
    font-size: 13px!important;
    color: #111827!important;
    font-weight: 850!important;
}

body .cppf-admin-portal .cppf-pro-form .cppf-schedule-form, body .cppf-admin-portal .cppf-pro-form .cppf-holiday-form {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 16px!important;
    align-items: end!important;
}

body .cppf-admin-portal .cppf-pro-form .cppf-schedule-form .cppf-form-notice, body .cppf-admin-portal .cppf-pro-form .cppf-holiday-form .cppf-form-notice, body .cppf-admin-portal .cppf-pro-form .cppf-schedule-form button, body .cppf-admin-portal .cppf-pro-form .cppf-holiday-form button {
    grid-column: 1/-1!important;
}

body .cppf-admin-portal .cppf-pro-form label {
    font-size: 13px!important;
    font-weight: 800!important;
    color: #344054!important;
}

body .cppf-admin-portal .cppf-pro-form input, body .cppf-admin-portal .cppf-pro-form select, body .cppf-admin-portal .cppf-pro-form textarea {
    font-size: 13px!important;
    min-height: 42px!important;
    border-radius: 12px!important;
    border: 1px solid #d8e5f3!important;
    box-shadow: none!important;
    background: #fff!important;
}

@media(max-width: 900px) {
    body .cppf-admin-portal .cppf-pro-form .cppf-schedule-form, body .cppf-admin-portal .cppf-pro-form .cppf-holiday-form {
        grid-template-columns:1fr!important;
    }

    body .cppf-admin-portal .cppf-admin-doctors-table .cppf-action-icons, body .cppf-admin-portal .cppf-admin-schedules-table .cppf-action-icons, body .cppf-admin-portal .cppf-admin-holidays-table .cppf-action-icons {
        justify-content: flex-start!important;
        min-width: 0!important;
    }
}

/* v2.2.21 Profile + Reset polish */
.cppf-avatar.cppf-avatar-img, .cppf-profile-avatar.cppf-avatar-img {
    padding: 0!important;
    background: transparent!important;
    border: 0!important;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.cppf-avatar.cppf-avatar-img img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #e6eef8;
    box-shadow: 0 8px 20px rgba(15,45,89,.12)
}

.cppf-profile-avatar {
    width: 104px;
    height: 104px;
    border-radius: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg,#0f2d59,#13b5ca);
    color: #fff;
    font-weight: 900;
    font-size: 34px;
    box-shadow: 0 18px 44px rgba(15,45,89,.18)
}

.cppf-profile-avatar img {
    width: 104px;
    height: 104px;
    border-radius: 28px;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 18px 44px rgba(15,45,89,.18)
}

.cppf-profile-card {
    overflow: hidden
}

.cppf-profile-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
    padding: 26px
}

.cppf-profile-summary {
    background: linear-gradient(180deg,#f8fbff,#eef7ff);
    border: 1px solid #dbeafe;
    border-radius: 24px;
    padding: 24px;
    text-align: center;
    align-self: start
}

.cppf-profile-summary h3 {
    margin: 14px 0 4px;
    font-size: 20px;
    line-height: 1.25;
    color: #0f172a
}

.cppf-profile-summary p {
    margin: 0 0 12px;
    color: #64748b;
    font-size: 13px;
    word-break: break-word
}

.cppf-profile-photo-preview {
    display: flex;
    justify-content: center
}

.cppf-profile-form {
    min-width: 0
}

.cppf-profile-form .cppf-form-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px
}

.cppf-profile-form label span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
    color: #334155;
    margin-bottom: 7px;
    display: block
}

.cppf-profile-form input,.cppf-profile-form textarea,.cppf-profile-form select {
    width: 100%;
    border: 1px solid #d7e2f0;
    border-radius: 14px;
    padding: 12px 14px;
    font-size: 14px;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 1px 0 rgba(15,23,42,.02)
}

.cppf-profile-form input:focus,.cppf-profile-form textarea:focus {
    outline: none;
    border-color: #0f63d8;
    box-shadow: 0 0 0 4px rgba(15,99,216,.10)
}

.cppf-profile-form .cppf-wide-field {
    grid-column: 1/-1
}

.cppf-profile-form small {
    display: block;
    margin-top: 7px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45
}

.cppf-danger-zone {
    border-color: #fecaca!important;
    background: #fffafa!important
}

.cppf-danger-zone .cppf-form-kicker {
    color: #dc2626!important;
    background: #fff1f2!important;
    border-color: #fecdd3!important
}

.cppf-danger-zone h2 {
    color: #7f1d1d!important
}

.cppf-danger-btn {
    background: #dc2626!important;
    border-color: #dc2626!important;
    color: #fff!important
}

.cppf-danger-btn:hover {
    background: #b91c1c!important;
    border-color: #b91c1c!important
}

.cppf-doctor-sidebar a .dashicons-admin-users {
    color: inherit
}

@media(max-width: 900px) {
    .cppf-profile-layout {
        grid-template-columns:1fr
    }

    .cppf-profile-form .cppf-form-grid {
        grid-template-columns: 1fr
    }

    .cppf-profile-summary {
        display: flex;
        text-align: left;
        align-items: center;
        gap: 18px
    }

    .cppf-profile-summary h3 {
        margin-top: 0
    }

    .cppf-profile-avatar,.cppf-profile-avatar img {
        width: 76px;
        height: 76px;
        border-radius: 22px;
        font-size: 26px
    }
}

/* v2.2.22 - Enhanced portal header, website logo and user menu */
.cppf-enhanced-topbar {
    height: 78px!important;
    padding: 0 28px!important;
    background: rgba(255,255,255,.96)!important;
    border: 1px solid #dfe8f5!important;
    border-radius: 18px 18px 0 0!important;
    box-shadow: 0 14px 38px rgba(15,45,89,.07)!important;
    gap: 18px!important;
    position: relative!important;
    z-index: 80!important;
}

.cppf-doctor-brand {
    min-width: 0!important;
    gap: 14px!important;
}

.cppf-header-logo-link {
    display: inline-flex!important;
    align-items: center!important;
    gap: 10px!important;
    text-decoration: none!important;
    min-width: 0!important;
}

.cppf-brand-logo {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    width: auto!important;
    height: 48px!important;
    min-width: 48px!important;
    border: 0!important;
    background: transparent!important;
    box-shadow: none!important;
    border-radius: 0!important;
    padding: 0!important;
    overflow: visible!important;
}

.cppf-brand-logo img {
    display: block!important;
    max-width: 280px!important;
    max-height: 68px!important;
    width: auto!important;
    height: auto!important;
    object-fit: contain!important;
    border: 0!important;
    border-radius: 0!important;
    box-shadow: none!important;
}

.cppf-brand-wordmark {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    height: 42px!important;
    padding: 0 14px!important;
    border-radius: 12px!important;
    border: 1px solid #dbeafe!important;
    background: #f8fbff!important;
    color: #0f2d59!important;
    font-size: 14px!important;
    line-height: 1!important;
    font-weight: 900!important;
    letter-spacing: -.01em!important;
    box-shadow: none!important;
}

.cppf-header-brand-text {
    display: none!important;
    font-size: 15px!important;
    font-weight: 900!important;
    color: #0f172a!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    max-width: 220px!important;
}

.cppf-back {
    width: 38px!important;
    height: 38px!important;
    border-radius: 12px!important;
    background: #f1f5f9!important;
    color: #64748b!important;
    border: 1px solid #dbe3ee!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 28px!important;
    line-height: 1!important;
    font-weight: 800!important;
    transition: .18s ease!important;
    flex: 0 0 auto!important;
}

.cppf-back:hover {
    background: #eaf3ff!important;
    color: #0b63ce!important;
    border-color: #b9d8ff!important;
}

.cppf-enhanced-user-topbar {
    gap: 12px!important;
    align-items: center!important;
    margin-left: auto!important;
    min-width: 0!important;
}

.cppf-time-stack {
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-end!important;
    justify-content: center!important;
    min-width: 160px!important;
    padding-right: 6px!important;
}

.cppf-time-stack strong {
    font-size: 16px!important;
    line-height: 1.1!important;
    color: #0f172a!important;
    font-weight: 900!important;
    letter-spacing: -.01em!important;
}

.cppf-time-stack span {
    font-size: 12px!important;
    line-height: 1.3!important;
    color: #64748b!important;
    font-weight: 700!important;
    margin-top: 4px!important;
    white-space: nowrap!important;
}

.cppf-header-icon-btn,.cppf-enhanced-user-topbar .cppf-bell,.cppf-language-pill {
    width: 42px!important;
    height: 42px!important;
    border-radius: 14px!important;
    border: 1px solid #dce8f5!important;
    background: #fff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-decoration: none!important;
    box-shadow: 0 8px 20px rgba(15,45,89,.06)!important;
    transition: .18s ease!important;
    flex: 0 0 auto!important;
    padding: 0!important;
    font-size: 13px!important;
    font-weight: 900!important;
}

.cppf-header-icon-btn:hover,.cppf-enhanced-user-topbar .cppf-bell:hover,.cppf-language-pill:hover {
    background: #f4f9ff!important;
    border-color: #a9cdf8!important;
    box-shadow: 0 12px 30px rgba(15,45,89,.10)!important;
}

.cppf-header-icon-btn .dashicons {
    font-size: 18px!important;
    width: 18px!important;
    height: 18px!important;
    line-height: 18px!important;
}

.cppf-language-pill {
    color: #334155!important;
    font-size: 13px!important;
    letter-spacing: .02em!important;
}

.cppf-user-menu-wrap {
    position: relative!important;
    display: inline-flex!important;
    align-items: center!important;
    z-index: 100!important;
}

.cppf-user-menu-toggle {
    height: 48px!important;
    min-width: 190px!important;
    max-width: 260px!important;
    border: 1px solid #dce8f5!important;
    background: #fff!important;
    border-radius: 16px!important;
    padding: 5px 10px 5px 6px!important;
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    cursor: pointer!important;
    box-shadow: 0 10px 26px rgba(15,45,89,.08)!important;
    color: #0f172a!important;
    text-align: left!important;
    transition: .18s ease!important;
}

.cppf-user-menu-toggle:hover,.cppf-user-menu-wrap.is-open .cppf-user-menu-toggle {
    background: #f8fbff!important;
    border-color: #a9cdf8!important;
    box-shadow: 0 14px 34px rgba(15,45,89,.13)!important;
}

.cppf-userbar-avatar {
    width: 38px!important;
    height: 38px!important;
    border-radius: 14px!important;
    background: linear-gradient(135deg,#0b63ce,#0aa6a6)!important;
    color: #fff!important;
    font-size: 12px!important;
    font-weight: 900!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important;
    flex: 0 0 auto!important;
}

.cppf-userbar-avatar.cppf-avatar-img {
    padding: 0!important;
    background: transparent!important;
}

.cppf-userbar-avatar img {
    width: 38px!important;
    height: 38px!important;
    border-radius: 14px!important;
    object-fit: cover!important;
    border: 1px solid #dce8f5!important;
    box-shadow: none!important;
}

.cppf-userbar-copy {
    display: flex!important;
    flex-direction: column!important;
    min-width: 0!important;
    flex: 1!important;
}

.cppf-userbar-copy strong {
    font-size: 13px!important;
    line-height: 1.15!important;
    color: #0f172a!important;
    font-weight: 900!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    margin: 0!important;
}

.cppf-userbar-copy small {
    font-size: 11px!important;
    line-height: 1.2!important;
    color: #64748b!important;
    font-weight: 800!important;
    margin-top: 3px!important;
    text-transform: uppercase!important;
    letter-spacing: .04em!important;
}

.cppf-user-menu-toggle .dashicons {
    font-size: 14px!important;
    width: 14px!important;
    height: 14px!important;
    line-height: 14px!important;
    color: #94a3b8!important;
    transition: .18s ease!important;
}

.cppf-user-menu-wrap.is-open .cppf-user-menu-toggle .dashicons {
    transform: rotate(180deg)!important;
    color: #0b63ce!important;
}

.cppf-user-menu {
    position: absolute!important;
    top: calc(100% + 12px)!important;
    right: 0!important;
    width: 310px!important;
    background: #fff!important;
    border: 1px solid #dce8f5!important;
    border-radius: 20px!important;
    box-shadow: 0 28px 80px rgba(15,45,89,.22)!important;
    overflow: hidden!important;
    opacity: 0!important;
    visibility: hidden!important;
    pointer-events: none!important;
    transform: translateY(8px) scale(.98)!important;
    transform-origin: top right!important;
    transition: .18s ease!important;
    z-index: 100000!important;
    color: #0f172a!important;
}

.cppf-user-menu-wrap.is-open .cppf-user-menu {
    opacity: 1!important;
    visibility: visible!important;
    pointer-events: auto!important;
    transform: translateY(0) scale(1)!important;
}

.cppf-user-menu-head {
    display: flex!important;
    gap: 13px!important;
    align-items: center!important;
    padding: 16px!important;
    background: linear-gradient(135deg,#f8fbff,#edf6ff)!important;
    border-bottom: 1px solid #edf3fa!important;
}

.cppf-user-menu-avatar {
    width: 48px!important;
    height: 48px!important;
    border-radius: 16px!important;
    background: linear-gradient(135deg,#0b63ce,#0aa6a6)!important;
    color: #fff!important;
    font-weight: 900!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important;
    flex: 0 0 auto!important;
}

.cppf-user-menu-avatar.cppf-avatar-img {
    padding: 0!important;
    background: transparent!important;
}

.cppf-user-menu-avatar img {
    width: 48px!important;
    height: 48px!important;
    border-radius: 16px!important;
    object-fit: cover!important;
    border: 1px solid #dce8f5!important;
}

.cppf-user-menu-head div {
    min-width: 0!important;
}

.cppf-user-menu-head strong {
    display: block!important;
    font-size: 14px!important;
    line-height: 1.2!important;
    color: #0f172a!important;
    font-weight: 900!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    margin: 0!important;
}

.cppf-user-menu-head span {
    display: block!important;
    font-size: 12px!important;
    color: #64748b!important;
    margin-top: 3px!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    max-width: 210px!important;
}

.cppf-user-menu-head em {
    display: inline-flex!important;
    margin-top: 8px!important;
    font-style: normal!important;
    font-size: 10px!important;
    font-weight: 900!important;
    text-transform: uppercase!important;
    letter-spacing: .06em!important;
    color: #0b63ce!important;
    background: #e8f3ff!important;
    border: 1px solid #cfe5ff!important;
    border-radius: 999px!important;
    padding: 4px 8px!important;
}

.cppf-user-menu nav {
    display: flex!important;
    flex-direction: column!important;
    padding: 8px!important;
    gap: 3px!important;
}

.cppf-user-menu nav a {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    padding: 11px 12px!important;
    border-radius: 12px!important;
    color: #334155!important;
    text-decoration: none!important;
    font-size: 13px!important;
    font-weight: 800!important;
    transition: .16s ease!important;
}

.cppf-user-menu nav a:hover {
    background: #f4f9ff!important;
    color: #0b63ce!important;
}

.cppf-user-menu nav a .dashicons {
    font-size: 17px!important;
    width: 17px!important;
    height: 17px!important;
    line-height: 17px!important;
    color: #94a3b8!important;
}

.cppf-user-menu nav a:hover .dashicons {
    color: #0b63ce!important;
}

.cppf-user-menu nav a.cppf-user-menu-logout {
    color: #dc2626!important;
    border-top: 1px solid #edf3fa!important;
    margin-top: 5px!important;
}

.cppf-user-menu nav a.cppf-user-menu-logout:hover {
    background: #fff1f2!important;
    color: #be123c!important;
}

.cppf-user-menu nav a.cppf-user-menu-logout .dashicons {
    color: #ef4444!important;
}

.cppf-doctor-topright>.cppf-avatar {
    display: none!important;
}

@media(max-width: 1180px) {
    .cppf-time-stack {
        display:none!important
    }

    .cppf-user-menu-toggle {
        min-width: 52px!important;
        width: 52px!important;
        padding: 6px!important
    }

    .cppf-userbar-copy,.cppf-user-menu-toggle>.dashicons {
        display: none!important
    }

    .cppf-userbar-avatar {
        width: 38px!important;
        height: 38px!important
    }

    .cppf-header-brand-text {
        display: none!important
    }
}

@media(max-width: 760px) {
    .cppf-enhanced-topbar {
        height:auto!important;
        min-height: 72px!important;
        padding: 12px!important;
        flex-wrap: wrap!important
    }

    .cppf-enhanced-user-topbar {
        gap: 8px!important
    }

    .cppf-language-pill {
        display: none!important
    }

    .cppf-user-menu {
        right: -6px!important;
        width: min(310px,calc(100vw - 26px))!important
    }

    .cppf-brand-logo img {
        max-width: 128px!important;
        max-height: 42px!important
    }

    .cppf-back {
        width: 34px!important;
        height: 34px!important;
        font-size: 24px!important
    }

    .cppf-header-icon-btn,.cppf-enhanced-user-topbar .cppf-bell {
        width: 38px!important;
        height: 38px!important;
        border-radius: 12px!important
    }
}

/* v2.2.23 - Professional topbar user bar polish: never inherit theme blue button styling */
body .cppf-enhanced-topbar {
    background: #ffffff!important;
    border-color: #e0e8f3!important;
    box-shadow: 0 10px 32px rgba(15,45,89,.06)!important;
}

body .cppf-enhanced-user-topbar {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 10px!important;
}

body .cppf-user-menu-wrap {
    position: relative!important;
    display: inline-flex!important;
    align-items: center!important;
}

body button.cppf-user-menu-toggle, body .cppf-enhanced-user-topbar button.cppf-user-menu-toggle, body .cppf-user-menu-wrap .cppf-user-menu-toggle {
    appearance: none!important;
    -webkit-appearance: none!important;
    border: 1px solid #dce8f5!important;
    background: #ffffff!important;
    background-image: none!important;
    color: #0f172a!important;
    min-width: 218px!important;
    max-width: 285px!important;
    height: 54px!important;
    border-radius: 18px!important;
    padding: 6px 12px 6px 7px!important;
    box-shadow: 0 10px 28px rgba(15,45,89,.08)!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 10px!important;
    text-align: left!important;
    line-height: 1!important;
    cursor: pointer!important;
    outline: 0!important;
    text-decoration: none!important;
    transform: none!important;
    overflow: hidden!important;
}

body button.cppf-user-menu-toggle:hover, body button.cppf-user-menu-toggle:focus, body .cppf-user-menu-wrap.is-open button.cppf-user-menu-toggle {
    background: #f8fbff!important;
    background-image: none!important;
    border-color: #9fc9ff!important;
    color: #0f172a!important;
    box-shadow: 0 14px 36px rgba(15,45,89,.14)!important;
}

body button.cppf-user-menu-toggle:focus-visible {
    box-shadow: 0 0 0 4px rgba(11,99,206,.14),0 14px 36px rgba(15,45,89,.14)!important;
}

body .cppf-userbar-avatar {
    width: 42px!important;
    height: 42px!important;
    min-width: 42px!important;
    border-radius: 15px!important;
    background: linear-gradient(135deg,#eaf6ff,#e6fffb)!important;
    color: #0b63ce!important;
    border: 1px solid #cfe6ff!important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65)!important;
    font-size: 12px!important;
    font-weight: 900!important;
    letter-spacing: .02em!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important;
}

body .cppf-userbar-avatar.cppf-avatar-img {
    background: #fff!important;
    padding: 0!important;
}

body .cppf-userbar-avatar img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important;
    border-radius: 15px!important;
    border: 0!important;
    display: block!important;
}

body .cppf-userbar-copy {
    display: flex!important;
    flex-direction: column!important;
    min-width: 0!important;
    flex: 1 1 auto!important;
    gap: 3px!important;
}

body .cppf-userbar-copy strong {
    font-size: 13px!important;
    line-height: 1.15!important;
    color: #0f172a!important;
    font-weight: 900!important;
    letter-spacing: -.01em!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    margin: 0!important;
    text-transform: none!important;
}

body .cppf-userbar-copy small {
    font-size: 10px!important;
    line-height: 1.1!important;
    color: #0b63ce!important;
    font-weight: 900!important;
    text-transform: uppercase!important;
    letter-spacing: .08em!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    margin: 0!important;
}

body .cppf-user-menu-toggle>.dashicons {
    width: 18px!important;
    height: 18px!important;
    min-width: 18px!important;
    font-size: 16px!important;
    line-height: 18px!important;
    color: #7b8aa0!important;
    margin-left: auto!important;
    background: transparent!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
}

body .cppf-user-menu-wrap.is-open .cppf-user-menu-toggle>.dashicons {
    color: #0b63ce!important;
    transform: rotate(180deg)!important;
}

body .cppf-user-menu {
    top: calc(100% + 10px)!important;
    right: 0!important;
    width: 320px!important;
    background: #fff!important;
    border: 1px solid #dce8f5!important;
    border-radius: 20px!important;
    box-shadow: 0 26px 70px rgba(15,45,89,.22)!important;
    overflow: hidden!important;
    z-index: 100000!important;
}

body .cppf-user-menu-head {
    background: linear-gradient(135deg,#f7fbff,#eef7ff)!important;
    border-bottom: 1px solid #e8f0fa!important;
    padding: 16px!important;
}

body .cppf-user-menu-head strong {
    font-size: 14px!important;
    color: #0f172a!important;
}

body .cppf-user-menu-head span {
    font-size: 12px!important;
    color: #607086!important;
}

body .cppf-user-menu-head em {
    background: #e7f2ff!important;
    color: #0b63ce!important;
    border-color: #c9e2ff!important;
}

body .cppf-user-menu nav {
    padding: 8px!important;
    background: #fff!important;
}

body .cppf-user-menu nav a {
    height: auto!important;
    min-height: 42px!important;
    border-radius: 12px!important;
    padding: 10px 12px!important;
    font-size: 13px!important;
    font-weight: 800!important;
    color: #334155!important;
    background: transparent!important;
    border: 0!important;
    box-shadow: none!important;
}

body .cppf-user-menu nav a:hover {
    background: #f4f9ff!important;
    color: #0b63ce!important;
}

body .cppf-user-menu nav a.cppf-user-menu-logout {
    color: #dc2626!important;
    border-top: 1px solid #edf3fa!important;
    margin-top: 6px!important;
}

body .cppf-user-menu nav a.cppf-user-menu-logout:hover {
    background: #fff1f2!important;
    color: #b91c1c!important;
}

body .cppf-language-pill, body .cppf-header-icon-btn, body .cppf-enhanced-user-topbar .cppf-bell {
    background: #fff!important;
    background-image: none!important;
    color: #0b63ce!important;
    border-color: #dce8f5!important;
}

body .cppf-language-pill:hover, body .cppf-header-icon-btn:hover, body .cppf-enhanced-user-topbar .cppf-bell:hover {
    background: #f8fbff!important;
    border-color: #9fc9ff!important;
}

body .cppf-header-logo-link .cppf-logo-mark {
    flex: 0 0 auto!important;
}

body .cppf-header-logo-link .cppf-brand-logo {
    background: transparent!important;
    border: 0!important;
    box-shadow: none!important;
}

body .cppf-header-logo-link .cppf-brand-logo img {
    display: block!important;
    object-fit: contain!important;
}

@media(max-width: 1180px) {
    body button.cppf-user-menu-toggle {
        min-width:54px!important;
        width: 54px!important;
        max-width: 54px!important;
        padding: 6px!important;
        justify-content: center!important;
    }

    body .cppf-userbar-copy, body .cppf-user-menu-toggle>.dashicons {
        display: none!important;
    }

    body .cppf-userbar-avatar {
        width: 40px!important;
        height: 40px!important;
        min-width: 40px!important;
    }
}

@media(max-width: 760px) {
    body .cppf-enhanced-user-topbar {
        width:100%!important;
        justify-content: flex-start!important;
        flex-wrap: wrap!important;
    }

    body .cppf-user-menu {
        right: auto!important;
        left: 0!important;
        width: min(320px,calc(100vw - 28px))!important;
    }
}

/* v2.2.24 - final topbar userbar color lock + admin account monitor UI */
html body .cppf-doctor-portal .cppf-enhanced-user-topbar .cppf-user-menu-wrap button.cppf-user-menu-toggle, html body .cppf-admin-portal .cppf-enhanced-user-topbar .cppf-user-menu-wrap button.cppf-user-menu-toggle, html body .cppf-enhanced-topbar .cppf-user-menu-wrap > button.cppf-user-menu-toggle, html body button.cppf-user-menu-toggle[type="button"] {
    appearance: none!important;
    -webkit-appearance: none!important;
    background: #ffffff!important;
    background-color: #ffffff!important;
    background-image: none!important;
    color: #0f172a!important;
    border: 1px solid #d9e6f4!important;
    border-radius: 18px!important;
    box-shadow: 0 10px 28px rgba(15,45,89,.08)!important;
    min-height: 54px!important;
    height: 54px!important;
    max-height: 54px!important;
    padding: 7px 10px!important;
    gap: 10px!important;
    text-decoration: none!important;
}

html body .cppf-doctor-portal .cppf-enhanced-user-topbar .cppf-user-menu-wrap button.cppf-user-menu-toggle:hover, html body .cppf-admin-portal .cppf-enhanced-user-topbar .cppf-user-menu-wrap button.cppf-user-menu-toggle:hover, html body .cppf-enhanced-topbar .cppf-user-menu-wrap.is-open > button.cppf-user-menu-toggle {
    background: #f8fbff!important;
    background-color: #f8fbff!important;
    background-image: none!important;
    border-color: #bcd8fb!important;
    color: #0f172a!important;
    box-shadow: 0 16px 42px rgba(15,45,89,.14)!important;
}

html body .cppf-user-menu-toggle::before, html body .cppf-user-menu-toggle::after {
    background: transparent!important;
    box-shadow: none!important;
    display: none!important;
    content: none!important;
}

html body .cppf-userbar-avatar {
    background: #eff6ff!important;
    background-image: none!important;
    color: #0b63ce!important;
    border: 1px solid #cae0fb!important;
    box-shadow: none!important;
}

html body .cppf-userbar-avatar.cppf-avatar-img {
    background: #fff!important;
    border-color: #dce8f5!important;
}

html body .cppf-userbar-copy strong {
    color: #0f172a!important;
}

html body .cppf-userbar-copy small {
    color: #0b63ce!important;
}

html body .cppf-user-menu-toggle .dashicons {
    color: #64748b!important;
    background: transparent!important;
}

html body .cppf-user-menu-wrap.is-open .cppf-user-menu-toggle .dashicons {
    color: #0b63ce!important;
}

.cppf-monitor-btn {
    display: inline-flex!important;
    align-items: center!important;
    gap: 7px!important;
    min-height: 34px!important;
    padding: 7px 12px!important;
    border-radius: 12px!important;
    background: #eef6ff!important;
    border: 1px solid #b9d8ff!important;
    color: #075ab8!important;
    font-size: 12px!important;
    font-weight: 900!important;
    text-decoration: none!important;
    white-space: nowrap!important;
    line-height: 1!important;
}

.cppf-monitor-btn:hover {
    background: #0b63ce!important;
    border-color: #0b63ce!important;
    color: #fff!important;
    box-shadow: 0 10px 24px rgba(11,99,206,.18)!important;
}

.cppf-monitor-btn .dashicons {
    font-size: 15px!important;
    width: 15px!important;
    height: 15px!important;
    line-height: 15px!important;
    color: inherit!important;
}

.cppf-monitor-hero {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 20px!important;
    padding: 22px!important;
    margin-bottom: 18px!important;
    background: linear-gradient(135deg,#ffffff,#f7fbff)!important;
}

.cppf-monitor-profile {
    display: flex!important;
    align-items: center!important;
    gap: 16px!important;
    min-width: 0!important;
}

.cppf-monitor-avatar {
    width: 76px!important;
    height: 76px!important;
    min-width: 76px!important;
    border-radius: 24px!important;
    background: linear-gradient(135deg,#0b63ce,#0aa6a6)!important;
    color: #fff!important;
    font-size: 22px!important;
    font-weight: 900!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important;
}

.cppf-monitor-avatar img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important;
    display: block!important;
}

.cppf-monitor-profile h2 {
    margin: 2px 0 4px!important;
    font-size: 24px!important;
    line-height: 1.15!important;
    color: #0f172a!important;
    font-weight: 900!important;
}

.cppf-monitor-profile p {
    margin: 0!important;
    color: #64748b!important;
    font-size: 13px!important;
    font-weight: 700!important;
}

.cppf-monitor-badges {
    display: flex!important;
    flex-wrap: wrap!important;
    gap: 7px!important;
    margin-top: 10px!important;
}

.cppf-monitor-badges span {
    display: inline-flex!important;
    align-items: center!important;
    border-radius: 999px!important;
    background: #eef6ff!important;
    border: 1px solid #cfe3ff!important;
    color: #075ab8!important;
    padding: 5px 9px!important;
    font-size: 11px!important;
    font-weight: 900!important;
}

.cppf-monitor-actions {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    flex-wrap: wrap!important;
}

.cppf-monitor-stats {
    display: grid!important;
    grid-template-columns: repeat(4,minmax(0,1fr))!important;
    gap: 14px!important;
    margin: 0 0 18px!important;
}

.cppf-monitor-stats>div {
    background: #fff!important;
    border: 1px solid #dfeaf6!important;
    border-radius: 18px!important;
    padding: 16px!important;
    box-shadow: 0 10px 30px rgba(15,45,89,.06)!important;
}

.cppf-monitor-stats span {
    display: block!important;
    font-size: 11px!important;
    text-transform: uppercase!important;
    letter-spacing: .06em!important;
    color: #64748b!important;
    font-weight: 900!important;
    margin-bottom: 8px!important;
}

.cppf-monitor-stats strong {
    font-size: 22px!important;
    line-height: 1!important;
    font-weight: 900!important;
    color: #0f172a!important;
}

.cppf-monitor-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 18px!important;
    margin-top: 18px!important;
}

.cppf-monitor-grid .cppf-table-card {
    min-width: 0!important;
}

@media(max-width: 960px) {
    .cppf-monitor-hero {
        align-items:flex-start!important;
        flex-direction: column!important
    }

    .cppf-monitor-stats {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    .cppf-monitor-grid {
        grid-template-columns: 1fr!important
    }
}

@media(max-width: 560px) {
    .cppf-monitor-stats {
        grid-template-columns:1fr!important
    }

    .cppf-monitor-profile {
        align-items: flex-start!important
    }

    .cppf-monitor-avatar {
        width: 58px!important;
        height: 58px!important;
        min-width: 58px!important;
        border-radius: 18px!important
    }

    .cppf-monitor-profile h2 {
        font-size: 20px!important
    }
}

/* v2.2.25 - Enhanced admin monitor doctor account UI */
.cppf-monitor-cover {
    display: grid!important;
    grid-template-columns: minmax(0,1.7fr) minmax(280px,.9fr)!important;
    gap: 18px!important;
    margin: 0 0 18px!important;
    padding: 22px!important;
    border: 1px solid #dce8f5!important;
    border-radius: 24px!important;
    background: radial-gradient(circle at top left,rgba(18,181,203,.14),transparent 34%),linear-gradient(135deg,#fff,#f7fbff)!important;
    box-shadow: 0 18px 45px rgba(15,45,89,.07)!important;
    overflow: hidden!important;
    position: relative!important
}

.cppf-monitor-cover:before {
    content: ""!important;
    position: absolute!important;
    right: -70px!important;
    top: -80px!important;
    width: 220px!important;
    height: 220px!important;
    border-radius: 50%!important;
    background: rgba(11,99,206,.07)!important;
    pointer-events: none!important
}

.cppf-monitor-cover-main,.cppf-monitor-cover-side {
    position: relative!important;
    z-index: 1!important;
    min-width: 0!important
}

.cppf-monitor-profile-row {
    display: flex!important;
    align-items: center!important;
    gap: 18px!important;
    min-width: 0!important
}

.cppf-monitor-avatar-xl {
    width: 92px!important;
    height: 92px!important;
    min-width: 92px!important;
    border-radius: 26px!important;
    box-shadow: 0 14px 26px rgba(11,99,206,.16)!important
}

.cppf-monitor-eyebrow {
    display: inline-flex!important;
    align-items: center!important;
    width: max-content!important;
    border-radius: 999px!important;
    background: #e8f7fb!important;
    border: 1px solid #bcecf5!important;
    color: #08798b!important;
    font-size: 11px!important;
    font-weight: 900!important;
    letter-spacing: .08em!important;
    text-transform: uppercase!important;
    padding: 6px 10px!important;
    margin-bottom: 8px!important
}

.cppf-monitor-cover h2 {
    font-size: 29px!important;
    line-height: 1.05!important;
    margin: 0 0 6px!important;
    color: #0f172a!important;
    font-weight: 950!important;
    letter-spacing: -.035em!important
}

.cppf-monitor-cover p {
    font-size: 13px!important;
    line-height: 1.45!important;
    margin: 0!important;
    color: #64748b!important;
    font-weight: 700!important;
    max-width: 760px!important
}

.cppf-monitor-cover .cppf-monitor-badges {
    margin-top: 12px!important;
    gap: 8px!important
}

.cppf-monitor-progress {
    margin-top: 18px!important;
    max-width: 520px!important;
    display: grid!important;
    grid-template-columns: auto 46px!important;
    gap: 8px 12px!important;
    align-items: center!important
}

.cppf-monitor-progress span {
    font-size: 11px!important;
    font-weight: 950!important;
    text-transform: uppercase!important;
    letter-spacing: .08em!important;
    color: #64748b!important
}

.cppf-monitor-progress b {
    font-size: 12px!important;
    color: #0b63ce!important;
    text-align: right!important
}

.cppf-monitor-progress em {
    grid-column: 1 / -1!important;
    height: 10px!important;
    border-radius: 999px!important;
    background: #e7eef7!important;
    overflow: hidden!important;
    border: 1px solid #d8e5f2!important
}

.cppf-monitor-progress i {
    display: block!important;
    height: 100%!important;
    border-radius: 999px!important;
    background: linear-gradient(90deg,#0b63ce,#12b5cb)!important
}

.cppf-monitor-readonly {
    border: 1px solid #dbeafe!important;
    background: #f8fbff!important;
    border-radius: 18px!important;
    padding: 15px!important;
    margin-bottom: 14px!important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65)!important
}

.cppf-monitor-readonly .dashicons {
    width: 34px!important;
    height: 34px!important;
    line-height: 34px!important;
    border-radius: 12px!important;
    background: #0b63ce!important;
    color: #fff!important;
    text-align: center!important;
    font-size: 17px!important;
    margin-bottom: 9px!important
}

.cppf-monitor-readonly strong {
    display: block!important;
    font-size: 14px!important;
    color: #0f172a!important;
    font-weight: 950!important;
    margin-bottom: 5px!important
}

.cppf-monitor-readonly p {
    font-size: 12px!important;
    color: #526477!important;
    margin: 0!important;
    line-height: 1.5!important
}

.cppf-monitor-cover .cppf-monitor-actions {
    justify-content: flex-start!important;
    gap: 9px!important
}

.cppf-monitor-cover .cppf-monitor-actions .cppf-btn {
    min-height: 39px!important;
    padding: 10px 14px!important;
    border-radius: 13px!important;
    font-size: 12px!important
}

.cppf-monitor-kpi-grid {
    display: grid!important;
    grid-template-columns: repeat(6,minmax(0,1fr))!important;
    gap: 12px!important;
    margin: 0 0 18px!important
}

.cppf-monitor-kpi {
    position: relative!important;
    overflow: hidden!important;
    background: #fff!important;
    border: 1px solid #dfeaf6!important;
    border-radius: 18px!important;
    padding: 15px!important;
    box-shadow: 0 12px 32px rgba(15,45,89,.055)!important
}

.cppf-monitor-kpi:after {
    content: ""!important;
    position: absolute!important;
    right: -25px!important;
    bottom: -28px!important;
    width: 85px!important;
    height: 85px!important;
    border-radius: 50%!important;
    background: rgba(11,99,206,.08)!important
}

.cppf-monitor-kpi span {
    display: block!important;
    font-size: 10px!important;
    text-transform: uppercase!important;
    letter-spacing: .07em!important;
    color: #64748b!important;
    font-weight: 950!important;
    margin-bottom: 8px!important
}

.cppf-monitor-kpi strong {
    display: block!important;
    font-size: 24px!important;
    line-height: 1!important;
    color: #0f172a!important;
    font-weight: 950!important;
    letter-spacing: -.03em!important
}

.cppf-monitor-kpi small {
    display: block!important;
    margin-top: 8px!important;
    font-size: 11px!important;
    color: #64748b!important;
    font-weight: 800!important
}

.cppf-monitor-kpi.green:after {
    background: rgba(16,185,129,.1)!important
}

.cppf-monitor-kpi.mint:after {
    background: rgba(20,184,166,.1)!important
}

.cppf-monitor-kpi.orange:after {
    background: rgba(245,158,11,.12)!important
}

.cppf-monitor-kpi.purple:after {
    background: rgba(124,58,237,.1)!important
}

.cppf-monitor-kpi.rose:after {
    background: rgba(244,63,94,.1)!important
}

.cppf-monitor-insight-grid {
    display: grid!important;
    grid-template-columns: 1.3fr 1fr 1fr!important;
    gap: 14px!important;
    margin-bottom: 18px!important
}

.cppf-monitor-info-card {
    background: #fff!important;
    border: 1px solid #dfeaf6!important;
    border-radius: 20px!important;
    padding: 17px!important;
    box-shadow: 0 12px 32px rgba(15,45,89,.055)!important
}

.cppf-monitor-info-card h3 {
    margin: 0 0 14px!important;
    font-size: 15px!important;
    line-height: 1.2!important;
    color: #0f172a!important;
    font-weight: 950!important
}

.cppf-monitor-info-card dl {
    margin: 0!important;
    display: grid!important;
    gap: 11px!important
}

.cppf-monitor-info-card dl div {
    display: grid!important;
    grid-template-columns: 112px minmax(0,1fr)!important;
    gap: 12px!important;
    align-items: start!important
}

.cppf-monitor-info-card dt {
    font-size: 11px!important;
    text-transform: uppercase!important;
    letter-spacing: .06em!important;
    font-weight: 950!important;
    color: #64748b!important
}

.cppf-monitor-info-card dd {
    font-size: 12px!important;
    color: #0f172a!important;
    margin: 0!important;
    font-weight: 800!important;
    line-height: 1.45!important;
    word-break: break-word!important
}

.cppf-next-appt {
    display: grid!important;
    gap: 8px!important
}

.cppf-next-appt strong {
    font-size: 17px!important;
    color: #0f172a!important;
    font-weight: 950!important
}

.cppf-next-appt span {
    font-size: 13px!important;
    color: #64748b!important;
    font-weight: 800!important
}

.cppf-next-appt b {
    width: max-content!important;
    display: inline-flex!important;
    border-radius: 999px!important;
    padding: 7px 10px!important;
    background: #edf6ff!important;
    border: 1px solid #cbe2ff!important;
    color: #0b63ce!important;
    font-size: 12px!important
}

.cppf-coverage-list {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 10px!important
}

.cppf-coverage-list span {
    display: block!important;
    border: 1px solid #dce8f5!important;
    background: #f8fbff!important;
    border-radius: 14px!important;
    padding: 12px!important;
    font-size: 12px!important;
    color: #64748b!important;
    font-weight: 850!important
}

.cppf-coverage-list b {
    display: block!important;
    color: #0f172a!important;
    font-size: 19px!important;
    margin-bottom: 4px!important
}

.cppf-empty-mini {
    border: 1px dashed #cbd5e1!important;
    background: #f8fafc!important;
    border-radius: 14px!important;
    padding: 14px!important;
    color: #64748b!important;
    font-size: 12px!important;
    font-weight: 800!important
}

.cppf-monitor-module-grid {
    display: grid!important;
    grid-template-columns: 1fr 1.35fr 1fr!important;
    gap: 14px!important;
    margin-bottom: 18px!important
}

.cppf-monitor-section-head {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    margin: 0 0 14px!important
}

.cppf-monitor-section-head h2 {
    font-size: 16px!important;
    line-height: 1.2!important;
    margin: 0!important;
    color: #0f172a!important;
    font-weight: 950!important;
    letter-spacing: -.02em!important
}

.cppf-monitor-section-head a,.cppf-monitor-section-head span {
    font-size: 12px!important;
    font-weight: 900!important;
    color: #0b63ce!important;
    text-decoration: none!important
}

.cppf-chip-list {
    display: flex!important;
    flex-wrap: wrap!important;
    gap: 9px!important
}

.cppf-service-chip {
    display: inline-flex!important;
    flex-direction: column!important;
    gap: 3px!important;
    min-width: 140px!important;
    border-radius: 15px!important;
    background: #f8fbff!important;
    border: 1px solid #dce8f5!important;
    padding: 10px 12px!important
}

.cppf-service-chip b {
    font-size: 12px!important;
    color: #0f172a!important
}

.cppf-service-chip small {
    font-size: 11px!important;
    color: #64748b!important;
    font-weight: 800!important
}

.cppf-mini-timeline {
    display: grid!important;
    gap: 9px!important;
    max-height: 260px!important;
    overflow: auto!important;
    padding-right: 4px!important
}

.cppf-mini-timeline>div {
    display: grid!important;
    grid-template-columns: 120px 95px minmax(130px,1fr) auto!important;
    gap: 10px!important;
    align-items: center!important;
    padding: 10px 0!important;
    border-bottom: 1px solid #edf2f7!important
}

.cppf-mini-timeline>div:last-child {
    border-bottom: 0!important
}

.cppf-mini-timeline strong {
    font-size: 12px!important;
    color: #0f172a!important;
    font-weight: 950!important
}

.cppf-mini-timeline span,.cppf-mini-timeline small {
    font-size: 11px!important;
    color: #64748b!important;
    font-weight: 800!important
}

.cppf-holiday-list {
    display: grid!important;
    gap: 9px!important
}

.cppf-holiday-list>div {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 10px!important;
    padding: 10px!important;
    border: 1px solid #e2eaf5!important;
    border-radius: 14px!important;
    background: #f8fbff!important
}

.cppf-holiday-list strong {
    font-size: 12px!important;
    color: #0f172a!important;
    font-weight: 900!important
}

.cppf-monitor-table-card .cppf-doctor-table td,.cppf-monitor-grid .cppf-doctor-table td {
    vertical-align: middle!important
}

.cppf-mini-link {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-height: 30px!important;
    padding: 6px 10px!important;
    border-radius: 10px!important;
    background: #eef6ff!important;
    border: 1px solid #bdd9ff!important;
    color: #0b63ce!important;
    font-size: 12px!important;
    font-weight: 900!important;
    text-decoration: none!important
}

.cppf-mini-link:hover {
    background: #0b63ce!important;
    color: #fff!important
}

@media(max-width: 1200px) {
    .cppf-monitor-kpi-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))!important
    }

    .cppf-monitor-insight-grid,.cppf-monitor-module-grid {
        grid-template-columns: 1fr!important
    }

    .cppf-mini-timeline>div {
        grid-template-columns: 1fr!important
    }
}

@media(max-width: 860px) {
    .cppf-monitor-cover {
        grid-template-columns:1fr!important
    }

    .cppf-monitor-kpi-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    .cppf-monitor-profile-row {
        align-items: flex-start!important
    }

    .cppf-monitor-avatar-xl {
        width: 70px!important;
        height: 70px!important;
        min-width: 70px!important
    }

    .cppf-monitor-cover h2 {
        font-size: 23px!important
    }

    .cppf-monitor-info-card dl div {
        grid-template-columns: 1fr!important;
        gap: 4px!important
    }
}

@media(max-width: 560px) {
    .cppf-monitor-kpi-grid {
        grid-template-columns:1fr!important
    }

    .cppf-coverage-list {
        grid-template-columns: 1fr!important
    }

    .cppf-monitor-cover {
        padding: 16px!important;
        border-radius: 18px!important
    }

    .cppf-monitor-profile-row {
        flex-direction: column!important
    }

    .cppf-monitor-cover .cppf-monitor-actions {
        width: 100%!important
    }

    .cppf-monitor-cover .cppf-monitor-actions .cppf-btn {
        flex: 1 1 auto!important;
        justify-content: center!important
    }
}

/* v2.2.26 - Global portal polish, notification activity center, graphs and spacing */
html body .cppf-doctor-portal, html body .cppf-admin-portal, html body .cppf-app-shell, html body .cppf-login-modern {
    --cppf-space-xs: 6px;
    --cppf-space-sm: 10px;
    --cppf-space-md: 16px;
    --cppf-space-lg: 22px;
    --cppf-space-xl: 30px;
    --cppf-surface: #ffffff;
    --cppf-soft: #f6f9fd;
    --cppf-line: #dfe8f3;
    --cppf-ink: #0f172a;
    --cppf-muted: #64748b;
}

html body .cppf-doctor-main, html body .cppf-admin-portal .cppf-doctor-main, html body .cppf-app-main {
    background: #f6f9fd!important;
}

html body .cppf-table-card, html body .cppf-chart-card, html body .cppf-pro-form, html body .cppf-monitor-info-card, html body .cppf-monitor-panel {
    border: 1px solid var(--cppf-line,#dfe8f3)!important;
    border-radius: 18px!important;
    background: #fff!important;
    box-shadow: 0 12px 32px rgba(15,23,42,.045)!important;
}

html body .cppf-doctor-title-row {
    margin-bottom: 22px!important;
    gap: 16px!important;
    align-items: flex-start!important;
}

html body .cppf-doctor-title-row h1 {
    font-size: 28px!important;
    letter-spacing: -.035em!important;
    line-height: 1.1!important;
}

html body .cppf-doctor-title-row p {
    font-size: 14px!important;
    line-height: 1.45!important;
    color: #64748b!important;
}

html body .cppf-doctor-stats, html body .cppf-dashboard-stats {
    gap: 16px!important;
    margin-bottom: 20px!important;
}

html body .cppf-dash-stat {
    min-height: 86px!important;
    padding: 18px 20px!important;
    border-radius: 18px!important;
}

html body .cppf-dash-stat span {
    font-size: 12px!important;
    line-height: 1.2!important;
    margin-bottom: 8px!important;
}

html body .cppf-dash-stat strong {
    font-size: 26px!important;
    line-height: 1!important;
}

html body .cppf-dashboard-grid, html body .cppf-two-col {
    gap: 18px!important;
    margin-bottom: 20px!important;
}

html body .cppf-list-toolbar {
    padding: 12px 18px!important;
    min-height: 58px!important;
    background: #fff!important;
}

html body .cppf-active-filters {
    padding: 10px 18px!important;
    gap: 8px!important;
}

html body .cppf-inline-search {
    height: 38px!important;
    min-width: min(260px,100%)!important;
    border-radius: 12px!important;
}

html body .cppf-doctor-table th {
    font-size: 11px!important;
    line-height: 1.25!important;
    padding: 13px 16px!important;
    color: #334155!important;
    background: #f8fbff!important;
    text-transform: uppercase!important;
    letter-spacing: .035em!important;
}

html body .cppf-doctor-table td {
    font-size: 13px!important;
    line-height: 1.35!important;
    padding: 13px 16px!important;
}

html body .cppf-list-footer {
    padding: 12px 18px!important;
    min-height: 56px!important;
}

html body .cppf-action-icons {
    gap: 6px!important;
}

html body .cppf-icon-btn, html body .cppf-action-icons>a:not(.cppf-impersonate), html body .cppf-action-icons button {
    width: 34px!important;
    height: 34px!important;
    border-radius: 10px!important;
}

html body .cppf-front-form-head {
    padding: 18px 20px!important;
}

html body .cppf-front-form-body {
    padding: 20px!important;
}

html body .cppf-front-form-body form {
    gap: 14px 16px!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs, html body .cppf-medicine-tabs {
    gap: 7px!important;
    padding: 7px!important;
    border-radius: 14px!important;
    margin-bottom: 18px!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs a, html body .cppf-card-tab-switch.cppf-real-tabs span, html body .cppf-medicine-tabs a {
    padding: 9px 12px!important;
    font-size: 12.5px!important;
    border-radius: 10px!important;
}

/* Improved notification center */
html body .cppf-notification-wrap {
    position: relative!important;
}

html body .cppf-notification-wrap .cppf-bell {
    width: 42px!important;
    height: 42px!important;
    border-radius: 14px!important;
    background: #fff!important;
    border: 1px solid #dbe7f3!important;
    color: #0b63ce!important;
    box-shadow: 0 8px 20px rgba(15,45,89,.06)!important;
}

html body .cppf-notification-wrap .cppf-bell b {
    min-width: 18px!important;
    height: 18px!important;
    padding: 0 5px!important;
    background: #e11d48!important;
    color: #fff!important;
    font-size: 10.5px!important;
    font-weight: 900!important;
    top: -7px!important;
    right: -7px!important;
    border: 2px solid #fff!important;
}

html body .cppf-notification-wrap .cppf-bell.is-empty b {
    background: #94a3b8!important;
}

html body .cppf-notification-wrap .cppf-notification-menu.cppf-notification-panel {
    width: 560px!important;
    max-width: min(560px,calc(100vw - 28px))!important;
    border: 1px solid #dbe7f3!important;
    border-radius: 22px!important;
    overflow: hidden!important;
    box-shadow: 0 28px 80px rgba(15,23,42,.22)!important;
    background: #fff!important;
}

html body .cppf-notification-head {
    padding: 16px 18px!important;
    background: linear-gradient(135deg,#ffffff 0%,#f4f9ff 100%)!important;
    border-bottom: 1px solid #e5edf7!important;
}

html body .cppf-notification-head strong {
    font-size: 16px!important;
    letter-spacing: -.02em!important;
}

html body .cppf-notification-list {
    max-height: 520px!important;
    overflow: auto!important;
    background: #f8fbff!important;
    padding: 8px!important;
}

html body .cppf-notification-item {
    grid-template-columns: 42px minmax(0,1fr)!important;
    padding: 13px!important;
    margin: 0 0 8px!important;
    border: 1px solid #e1ebf5!important;
    border-radius: 16px!important;
    background: #fff!important;
    box-shadow: 0 6px 18px rgba(15,23,42,.035)!important;
}

html body .cppf-notification-item:last-child {
    margin-bottom: 0!important;
}

html body .cppf-notification-item.is-unread {
    background: #f8fbff!important;
    border-color: #cfe4ff!important;
}

html body .cppf-notification-item.is-unread:before {
    left: -1px!important;
    top: 12px!important;
    bottom: 12px!important;
    width: 3px!important;
    border-radius: 3px!important;
}

html body .cppf-notification-type {
    width: 38px!important;
    height: 38px!important;
    border-radius: 13px!important;
}

html body .cppf-notification-line {
    gap: 7px!important;
}

html body .cppf-notification-line strong {
    font-size: 13px!important;
    max-width: 285px!important;
    color: #0f172a!important;
}

html body .cppf-notification-copy small {
    font-size: 12px!important;
    color: #52627a!important;
    white-space: normal!important;
    display: -webkit-box!important;
    -webkit-line-clamp: 2!important;
    -webkit-box-orient: vertical!important;
    line-height: 1.35!important;
    max-width: 100%!important;
}

html body .cppf-notification-copy time {
    font-size: 11px!important;
    color: #7b8ba3!important;
}

html body .cppf-notification-actions {
    margin-top: 9px!important;
    gap: 6px!important;
}

html body .cppf-notification-view, html body .cppf-mark-read, html body .cppf-read-label, html body .cppf-load-more-notifications, html body .cppf-notification-all-loaded {
    height: 29px!important;
    min-height: 29px!important;
    padding: 7px 10px!important;
    border-radius: 10px!important;
    font-size: 10.5px!important;
    font-weight: 900!important;
}

html body .cppf-notification-view {
    background: #fff!important;
    color: #0b63ce!important;
    border: 1px solid #dbeafe!important;
}

html body .cppf-mark-read {
    background: #0b63ce!important;
    color: #fff!important;
    border: 1px solid #0b63ce!important;
}

html body .cppf-mark-read:hover {
    background: #084eb0!important;
}

html body .cppf-notification-foot {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 10px!important;
    padding: 12px 16px!important;
    background: #fff!important;
    border-top: 1px solid #e5edf7!important;
    text-align: left!important;
}

html body .cppf-notification-foot span {
    font-size: 11.5px!important;
    color: #64748b!important;
    font-weight: 800!important;
}

html body .cppf-load-more-notifications {
    background: #eef6ff!important;
    color: #0b63ce!important;
    border: 1px solid #cfe4ff!important;
    cursor: pointer!important;
}

html body .cppf-load-more-notifications:hover:not(:disabled) {
    background: #0b63ce!important;
    color: #fff!important;
    border-color: #0b63ce!important;
}

html body .cppf-load-more-notifications:disabled {
    opacity: .7!important;
    cursor: wait!important;
}

html body .cppf-notification-all-loaded {
    background: #f1f5f9!important;
    color: #64748b!important;
    border: 1px solid #e2e8f0!important;
    display: inline-flex!important;
    align-items: center!important;
}

html body .cppf-mark-all-read {
    height: 34px!important;
    border-radius: 11px!important;
}

/* Graph polish: readable dynamic charts */
html body .cppf-chart-card {
    padding: 0!important;
    overflow: hidden!important;
}

html body .cppf-chart-head {
    padding: 15px 18px!important;
    margin: 0!important;
    border-bottom: 1px solid #e5edf7!important;
    background: #fff!important;
}

html body .cppf-chart-head h2 {
    font-size: 15px!important;
    line-height: 1.2!important;
    letter-spacing: -.01em!important;
}

html body .cppf-chart-svg {
    width: 100%!important;
    height: 260px!important;
    display: block!important;
    background: linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
    padding: 8px 6px 12px!important;
    box-sizing: border-box!important;
}

@media(max-width: 1024px) {
    html body .cppf-doctor-layout {
        grid-template-columns:1fr!important;
    }

    html body .cppf-doctor-sidebar {
        border-bottom: 1px solid #e5edf7!important;
    }

    html body .cppf-doctor-sidebar nav {
        display: grid!important;
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
    }

    html body .cppf-doctor-main {
        padding: 22px 16px 36px!important;
    }

    html body .cppf-doctor-stats,html body .cppf-dashboard-stats {
        grid-template-columns: repeat(2,minmax(0,1fr))!important;
    }

    html body .cppf-dashboard-grid,html body .cppf-two-col {
        grid-template-columns: 1fr!important;
    }
}

@media(max-width: 640px) {
    html body .cppf-doctor-sidebar nav {
        grid-template-columns:1fr!important;
    }

    html body .cppf-doctor-stats,html body .cppf-dashboard-stats {
        grid-template-columns: 1fr!important;
    }

    html body .cppf-doctor-title-row {
        flex-direction: column!important;
    }

    html body .cppf-list-toolbar,html body .cppf-active-filters,html body .cppf-list-footer {
        flex-direction: column!important;
        align-items: stretch!important;
    }

    html body .cppf-notification-wrap .cppf-notification-menu.cppf-notification-panel {
        right: -6px!important;
        width: calc(100vw - 20px)!important;
    }

    html body .cppf-notification-actions {
        grid-column: 1 / -1!important;
        margin-left: 50px!important;
    }
}

/* v2.2.27 - full plugin professional UI spacing, services, monitor and notification actions */
html body .cppf-admin-portal, html body .cppf-doctor-layout, html body .cppf-app-main, html body .cppf-public-page {
    --cppf-ui-blue: #0b63ce;
    --cppf-ui-navy: #07142b;
    --cppf-ui-soft: #f5f9ff;
    --cppf-ui-line: #dbe7f3;
    --cppf-ui-muted: #64748b;
    --cppf-ui-danger: #ef4444;
    --cppf-ui-success: #10b981;
    font-family: Inter,Manrope,Arial,sans-serif!important;
    color: #101828!important;
}

html body .cppf-doctor-main, html body .cppf-admin-main, html body .cppf-app-main {
    background: linear-gradient(180deg,#f7fbff 0%,#f3f7fb 100%)!important;
}

html body .cppf-table-card, html body .cppf-monitor-info-card, html body .cppf-monitor-kpi, html body .cppf-service-card.cppf-software-card, html body .cppf-doctor-card.cppf-software-card {
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 22px!important;
    box-shadow: 0 12px 34px rgba(15,23,42,.055)!important;
    background: #fff!important;
}

html body .cppf-table-card {
    margin-bottom: 22px!important;
    overflow: hidden!important;
}

html body .cppf-doctor-table {
    width: 100%!important;
    border-collapse: separate!important;
    border-spacing: 0!important;
    table-layout: auto!important;
}

html body .cppf-doctor-table thead th {
    height: 48px!important;
    padding: 12px 18px!important;
    background: #f8fbff!important;
    border-bottom: 1px solid var(--cppf-ui-line)!important;
    color: #344054!important;
    font-size: 12px!important;
    line-height: 1.2!important;
    font-weight: 900!important;
    text-transform: uppercase!important;
    letter-spacing: .025em!important;
    white-space: nowrap!important;
}

html body .cppf-doctor-table tbody td {
    padding: 14px 18px!important;
    border-bottom: 1px solid #edf2f7!important;
    vertical-align: middle!important;
    font-size: 13px!important;
    line-height: 1.35!important;
    color: #233044!important;
}

html body .cppf-doctor-table tbody tr:last-child td {
    border-bottom: 0!important;
}

html body .cppf-doctor-table tbody tr:hover td {
    background: #fbfdff!important;
}

html body .cppf-list-card {
    overflow-x: auto!important;
}

html body .cppf-list-toolbar {
    padding: 16px 18px!important;
    background: #fff!important;
    border-bottom: 1px solid #edf2f7!important;
}

html body .cppf-active-filters {
    padding: 10px 18px!important;
    background: #fbfdff!important;
    border-bottom: 1px solid #edf2f7!important;
}

html body .cppf-list-footer {
    padding: 14px 18px!important;
    background: #fff!important;
    border-top: 1px solid #edf2f7!important;
}

html body .cppf-action-icons {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
}

html body .cppf-icon-btn, html body .cppf-monitor-btn, html body .cppf-action-icons a, html body .cppf-action-icons button {
    min-width: 34px!important;
    height: 34px!important;
    border-radius: 12px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    border: 1px solid #dbe7f3!important;
    background: #fff!important;
    color: #0b63ce!important;
    text-decoration: none!important;
    box-shadow: 0 2px 8px rgba(15,23,42,.04)!important;
    transition: .18s ease!important;
}

html body .cppf-monitor-btn {
    padding: 0 12px!important;
    gap: 6px!important;
    font-size: 12px!important;
    font-weight: 900!important;
    white-space: nowrap!important;
}

html body .cppf-icon-btn:hover, html body .cppf-monitor-btn:hover, html body .cppf-action-icons a:hover {
    background: #eef6ff!important;
    border-color: #b9d6ff!important;
    transform: translateY(-1px)!important;
}

html body .cppf-action-icons .dashicons {
    width: 16px!important;
    height: 16px!important;
    font-size: 16px!important;
    line-height: 16px!important;
}

/* Tabs: unique icons and consistent clickable surface */
html body .cppf-card-tab-switch.cppf-real-tabs {
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 10px!important;
    flex-wrap: wrap!important;
    margin: 0 auto 24px!important;
    padding: 6px!important;
    width: max-content!important;
    max-width: 100%!important;
    border: 1px solid var(--cppf-ui-line)!important;
    border-radius: 18px!important;
    background: rgba(255,255,255,.92)!important;
    box-shadow: 0 10px 26px rgba(15,23,42,.04)!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs a {
    height: 42px!important;
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    padding: 0 16px!important;
    border: 1px solid transparent!important;
    border-radius: 14px!important;
    background: transparent!important;
    color: #475467!important;
    font-size: 13px!important;
    font-weight: 900!important;
    text-decoration: none!important;
    white-space: nowrap!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs a .dashicons {
    width: 16px!important;
    height: 16px!important;
    font-size: 16px!important;
    line-height: 16px!important;
    color: #98a2b3!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs a.active, html body .cppf-card-tab-switch.cppf-real-tabs a:hover {
    background: #eef6ff!important;
    border-color: #cfe4ff!important;
    color: #0b63ce!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs a.active .dashicons, html body .cppf-card-tab-switch.cppf-real-tabs a:hover .dashicons {
    color: #0b63ce!important;
}

/* Enhanced services grid */
html body .cppf-public-services .cppf-public-hero {
    border-radius: 28px!important;
    overflow: hidden!important;
    background: linear-gradient(135deg,#0d2b5c 0%,#0b63ce 62%,#11b3a6 100%)!important;
    color: #fff!important;
    border: 0!important;
    box-shadow: 0 24px 60px rgba(15,45,89,.18)!important;
}

html body .cppf-public-services .cppf-public-hero h1, html body .cppf-public-services .cppf-public-hero p, html body .cppf-public-services .cppf-kicker {
    color: #fff!important;
}

html body .cppf-public-services .cppf-hero-metrics span {
    background: rgba(255,255,255,.12)!important;
    border: 1px solid rgba(255,255,255,.22)!important;
    color: #fff!important;
}

html body .cppf-services-grid {
    grid-template-columns: repeat(3,minmax(260px,1fr))!important;
    gap: 24px!important;
    align-items: stretch!important;
}

html body .cppf-service-card.cppf-software-card {
    display: flex!important;
    flex-direction: column!important;
    min-height: 100%!important;
    overflow: hidden!important;
    transition: .22s ease!important;
}

html body .cppf-service-card.cppf-software-card:hover {
    transform: translateY(-5px)!important;
    box-shadow: 0 22px 50px rgba(15,45,89,.14)!important;
    border-color: #bcd7ff!important;
}

html body .cppf-service-media {
    height: 168px!important;
    background: radial-gradient(circle at 20% 20%,#e0f2fe 0,#f8fbff 45%,#fff7ed 100%)!important;
    position: relative!important;
}

html body .cppf-service-media:after {
    content: 'Medical Care';
    position: absolute;
    right: 14px;
    top: 14px;
    background: #fff;
    border: 1px solid #dbe7f3;
    border-radius: 999px;
    color: #0b63ce;
    font-size: 10px;
    font-weight: 950;
    padding: 6px 10px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

html body .cppf-service-body {
    display: flex!important;
    flex-direction: column!important;
    gap: 12px!important;
    flex: 1!important;
    padding: 22px!important;
}

html body .cppf-service-topline {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
}

html body .cppf-card-chip {
    display: inline-flex!important;
    align-items: center!important;
    gap: 6px!important;
}

html body .cppf-service-duration {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    border: 1px solid #dbe7f3!important;
    background: #f8fbff!important;
    color: #475467!important;
    border-radius: 999px!important;
    padding: 6px 10px!important;
    font-size: 11px!important;
    font-weight: 900!important;
    white-space: nowrap!important;
}

html body .cppf-service-body h3 {
    font-size: 20px!important;
    line-height: 1.22!important;
    margin: 0!important;
    color: #0f172a!important;
    letter-spacing: -.02em!important;
}

html body .cppf-service-body p {
    font-size: 13px!important;
    line-height: 1.62!important;
    color: #667085!important;
    margin: 0!important;
    min-height: 44px!important;
}

html body .cppf-service-meta {
    margin: 4px 0!important;
    background: #f8fbff!important;
    border: 1px solid #edf2f7!important;
    border-radius: 16px!important;
    padding: 13px!important;
}

html body .cppf-service-meta span {
    font-size: 12px!important;
    font-weight: 850!important;
    color: #667085!important;
}

html body .cppf-service-meta strong {
    font-size: 19px!important;
    color: #0b63ce!important;
}

html body .cppf-service-card-foot {
    display: grid!important;
    grid-template-columns: 1fr auto!important;
    gap: 10px!important;
    align-items: center!important;
    margin-top: auto!important;
}

html body .cppf-service-card-foot .cppf-btn {
    width: 100%!important;
    border-radius: 14px!important;
    height: 44px!important;
}

html body .cppf-service-detail-link {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    height: 44px!important;
    padding: 0 14px!important;
    border-radius: 14px!important;
    background: #f8fbff!important;
    border: 1px solid #dbe7f3!important;
    color: #0b63ce!important;
    text-decoration: none!important;
    font-size: 12px!important;
    font-weight: 900!important;
}

html body .cppf-services-empty {
    grid-column: 1/-1!important;
}

/* Monitor doctor UI polish */
html body .cppf-monitor-cover {
    background: linear-gradient(135deg,#081d3f 0%,#0b63ce 62%,#11b3a6 100%)!important;
    border: 0!important;
    border-radius: 28px!important;
    color: #fff!important;
    padding: 28px!important;
    box-shadow: 0 28px 70px rgba(15,45,89,.22)!important;
    margin-bottom: 24px!important;
}

html body .cppf-monitor-cover h2, html body .cppf-monitor-cover p, html body .cppf-monitor-cover span, html body .cppf-monitor-cover strong {
    color: #fff!important;
}

html body .cppf-monitor-cover .cppf-status-badge {
    background: rgba(255,255,255,.18)!important;
    color: #fff!important;
    border: 1px solid rgba(255,255,255,.25)!important;
}

html body .cppf-monitor-avatar {
    width: 86px!important;
    height: 86px!important;
    border-radius: 24px!important;
    background: #fff!important;
    color: #0b63ce!important;
    border: 4px solid rgba(255,255,255,.28)!important;
    box-shadow: 0 16px 40px rgba(0,0,0,.18)!important;
}

html body .cppf-monitor-progress em {
    height: 10px!important;
    border-radius: 999px!important;
    background: rgba(255,255,255,.22)!important;
    overflow: hidden!important;
}

html body .cppf-monitor-progress em i {
    background: #22c55e!important;
    border-radius: 999px!important;
}

html body .cppf-monitor-readonly {
    background: rgba(255,255,255,.13)!important;
    border: 1px solid rgba(255,255,255,.24)!important;
    border-radius: 18px!important;
    padding: 16px!important;
    backdrop-filter: blur(8px)!important;
}

html body .cppf-monitor-actions .cppf-btn {
    border-radius: 14px!important;
    box-shadow: none!important;
}

html body .cppf-monitor-kpi-grid {
    display: grid!important;
    grid-template-columns: repeat(6,minmax(140px,1fr))!important;
    gap: 14px!important;
    margin-bottom: 22px!important;
}

html body .cppf-monitor-kpi {
    padding: 18px!important;
    min-height: 126px!important;
    display: flex!important;
    flex-direction: column!important;
    justify-content: space-between!important;
}

html body .cppf-monitor-kpi span {
    font-size: 12px!important;
    font-weight: 900!important;
    color: #667085!important;
}

html body .cppf-monitor-kpi strong {
    font-size: 25px!important;
    line-height: 1!important;
    color: #0f172a!important;
}

html body .cppf-monitor-kpi small {
    font-size: 11px!important;
    color: #98a2b3!important;
    font-weight: 800!important;
}

html body .cppf-monitor-insight-grid, html body .cppf-monitor-module-grid, html body .cppf-monitor-grid {
    gap: 18px!important;
    margin-bottom: 22px!important;
}

html body .cppf-monitor-section-head {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    padding: 0 0 14px!important;
    margin-bottom: 12px!important;
    border-bottom: 1px solid #edf2f7!important;
}

html body .cppf-monitor-section-head h2, html body .cppf-monitor-info-card h3 {
    font-size: 16px!important;
    line-height: 1.25!important;
    margin: 0!important;
    color: #0f172a!important;
}

html body .cppf-service-chip, html body .cppf-mini-timeline>div, html body .cppf-holiday-list>div {
    border-radius: 16px!important;
    border: 1px solid #e6edf5!important;
    background: #fbfdff!important;
    box-shadow: none!important;
}

/* Notification delete + activity center consistency */
html body .cppf-notification-item {
    display: grid!important;
    grid-template-columns: 42px minmax(0,1fr) auto!important;
    gap: 10px!important;
    align-items: start!important;
}

html body .cppf-notification-actions {
    grid-column: auto!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-end!important;
    gap: 8px!important;
    margin: 0!important;
    min-width: 148px!important;
}

html body .cppf-notification-badges {
    display: flex!important;
    justify-content: flex-end!important;
}

html body .cppf-notification-action-row {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 6px!important;
}

html body .cppf-notification-delete {
    width: 29px!important;
    height: 29px!important;
    min-width: 29px!important;
    border-radius: 10px!important;
    border: 1px solid #fee2e2!important;
    background: #fff5f5!important;
    color: #ef4444!important;
    padding: 0!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    cursor: pointer!important;
}

html body .cppf-notification-delete .dashicons {
    font-size: 14px!important;
    width: 14px!important;
    height: 14px!important;
    line-height: 14px!important;
}

html body .cppf-notification-delete:hover {
    background: #ef4444!important;
    color: #fff!important;
    border-color: #ef4444!important;
}

html body .cppf-notification-item.is-removing {
    opacity: .42!important;
    transform: translateX(8px)!important;
    transition: .18s ease!important;
}

html body .cppf-notification-line em {
    font-size: 10px!important;
    border-radius: 999px!important;
    padding: 5px 8px!important;
    background: #eef6ff!important;
    color: #0b63ce!important;
    font-weight: 950!important;
}

html body .cppf-notification-empty {
    padding: 34px 18px!important;
}

@media(max-width: 1180px) {
    html body .cppf-services-grid {
        grid-template-columns:repeat(2,minmax(240px,1fr))!important;
    }

    html body .cppf-monitor-kpi-grid {
        grid-template-columns: repeat(3,minmax(0,1fr))!important;
    }
}

@media(max-width: 720px) {
    html body .cppf-services-grid {
        grid-template-columns:1fr!important;
    }

    html body .cppf-monitor-kpi-grid {
        grid-template-columns: 1fr 1fr!important;
    }

    html body .cppf-notification-item {
        grid-template-columns: 38px minmax(0,1fr)!important;
    }

    html body .cppf-notification-actions {
        grid-column: 2!important;
        align-items: flex-start!important;
        min-width: 0!important;
    }

    html body .cppf-notification-action-row {
        justify-content: flex-start!important;
        flex-wrap: wrap!important;
    }

    html body .cppf-card-tab-switch.cppf-real-tabs {
        width: 100%!important;
        justify-content: flex-start!important;
        overflow: auto!important;
    }
}

@media(max-width: 520px) {
    html body .cppf-monitor-kpi-grid {
        grid-template-columns:1fr!important;
    }
}

/* ======================================================================
   v2.2.28 Complete portal UI QA polish - Doctor/Patient/Admin/Staff
   ====================================================================== */
html body .cppf-doctor-portal, html body .cppf-patient-portal, html body .cppf-admin-front-portal, html body .cppf-app-shell {
    --cppf-shell-bg: #f3f7fb;
    --cppf-panel: #ffffff;
    --cppf-line: #dfe8f3;
    --cppf-ink: #0f172a;
    --cppf-muted: #64748b;
    --cppf-blue: #0b63ce;
    --cppf-blue-2: #0b72e7;
    --cppf-good: #10b981;
    --cppf-warn: #f59e0b;
    --cppf-bad: #ef4444;
    font-family: Manrope,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
    color: var(--cppf-ink)!important;
}

html body .cppf-doctor-portal {
    background: var(--cppf-shell-bg)!important;
    border: 1px solid #dbe7f3!important;
    border-radius: 22px!important;
    overflow: hidden!important;
    box-shadow: 0 20px 70px rgba(15,45,89,.08)!important;
    min-height: 820px!important;
}

html body .cppf-doctor-topbar {
    height: auto!important;
    min-height: 74px!important;
    padding: 14px 22px!important;
    background: #fff!important;
    border-bottom: 1px solid #e4edf6!important;
    box-shadow: 0 10px 28px rgba(15,45,89,.04)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 18px!important;
}

html body .cppf-doctor-brand {
    display: flex!important;
    align-items: center!important;
    gap: 14px!important;
    min-width: 220px!important;
}

html body .cppf-back {
    width: 38px!important;
    height: 38px!important;
    border-radius: 12px!important;
    background: #eef4fb!important;
    border: 1px solid #dbe7f3!important;
    color: #52657a!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-decoration: none!important;
    font-size: 27px!important;
    font-weight: 900!important;
    line-height: 1!important;
}

html body .cppf-portal-logo, html body .cppf-logo-mark {
    display: inline-flex!important;
    align-items: center!important;
    gap: 10px!important;
}

html body .cppf-portal-logo img {
    max-height: 42px!important;
    width: auto!important;
    object-fit: contain!important;
}

html body .cppf-doctor-layout {
    display: grid!important;
    grid-template-columns: 252px minmax(0,1fr)!important;
    min-height: 746px!important;
    background: linear-gradient(90deg,#fff 0,#fff 252px,var(--cppf-shell-bg) 252px,var(--cppf-shell-bg) 100%)!important;
}

html body .cppf-doctor-sidebar {
    width: auto!important;
    background: #fff!important;
    border-right: 1px solid #e1eaf4!important;
    padding: 18px 12px!important;
    position: relative!important;
    overflow: auto!important;
}

html body .cppf-doctor-search {
    height: 44px!important;
    background: #f8fafc!important;
    border: 1px solid #dfe8f3!important;
    border-radius: 14px!important;
    padding: 0 12px!important;
    margin: 0 0 18px!important;
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
}

html body .cppf-doctor-search input {
    height: 40px!important;
    border: 0!important;
    background: transparent!important;
    box-shadow: none!important;
    padding: 0!important;
    font-size: 13px!important;
    color: #334155!important;
}

html body .cppf-doctor-sidebar nav {
    display: flex!important;
    flex-direction: column!important;
    gap: 7px!important;
}

html body .cppf-doctor-sidebar nav a {
    min-height: 42px!important;
    border-radius: 13px!important;
    padding: 10px 12px!important;
    color: #344054!important;
    background: transparent!important;
    display: flex!important;
    align-items: center!important;
    gap: 11px!important;
    text-decoration: none!important;
    font-size: 13px!important;
    font-weight: 850!important;
    line-height: 1.2!important;
    transition: .16s ease!important;
}

html body .cppf-doctor-sidebar nav a .dashicons {
    width: 18px!important;
    height: 18px!important;
    font-size: 17px!important;
    line-height: 18px!important;
    color: #98a2b3!important;
    flex: 0 0 18px!important;
}

html body .cppf-doctor-sidebar nav a:hover {
    background: #f4f8ff!important;
    color: #0b63ce!important;
    transform: translateX(2px)!important;
}

html body .cppf-doctor-sidebar nav a.active {
    background: #eaf3ff!important;
    color: #0b63ce!important;
    border: 1px solid #cce0ff!important;
    box-shadow: 0 10px 22px rgba(11,99,206,.08)!important;
}

html body .cppf-doctor-sidebar nav a.active .dashicons, html body .cppf-doctor-sidebar nav a:hover .dashicons {
    color: #0b63ce!important;
}

html body .cppf-doctor-main {
    padding: 30px!important;
    max-width: 100%!important;
    overflow: auto!important;
}

html body .cppf-doctor-title-row {
    margin: 0 0 22px!important;
    display: flex!important;
    align-items: flex-end!important;
    justify-content: space-between!important;
    gap: 18px!important;
}

html body .cppf-doctor-title-row h1 {
    font-size: 30px!important;
    line-height: 1.05!important;
    letter-spacing: -.035em!important;
    margin: 0!important;
    color: #07111f!important;
    font-weight: 950!important;
}

html body .cppf-doctor-title-row p {
    margin: 8px 0 0!important;
    color: #64748b!important;
    font-size: 13px!important;
    font-weight: 750!important;
    max-width: 780px!important;
}

html body .cppf-view-actions {
    display: flex!important;
    justify-content: flex-end!important;
    gap: 10px!important;
    margin: -56px 0 24px!important;
    min-height: 44px!important;
}

html body .cppf-view-actions .cppf-btn, html body .cppf-view-actions .cppf-icon-btn {
    height: 42px!important;
    min-height: 42px!important;
    border-radius: 13px!important;
    font-size: 13px!important;
    padding: 10px 16px!important;
}

html body .cppf-table-card, html body .cppf-chart-card, html body .cppf-doctor-form-card, html body .cppf-monitor-info-card, html body .cppf-list-card {
    border: 1px solid #dfe8f3!important;
    border-radius: 20px!important;
    background: #fff!important;
    box-shadow: 0 14px 42px rgba(15,45,89,.055)!important;
    overflow: hidden!important;
}

html body .cppf-list-toolbar {
    min-height: 64px!important;
    padding: 14px 18px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important;
    background: #fff!important;
    border-bottom: 1px solid #e8eef6!important;
}

html body .cppf-toolbar-title {
    display: flex!important;
    flex-direction: column!important;
    gap: 2px!important;
}

html body .cppf-toolbar-title strong {
    font-size: 14px!important;
    color: #0f172a!important;
    font-weight: 950!important;
}

html body .cppf-toolbar-title small {
    font-size: 12px!important;
    color: #64748b!important;
    font-weight: 750!important;
}

html body .cppf-inline-search {
    height: 42px!important;
    min-width: min(310px,100%)!important;
    border: 1px solid #dbe7f3!important;
    background: #f9fbfd!important;
    border-radius: 13px!important;
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    padding: 0 12px!important;
    margin: 0!important;
}

html body .cppf-inline-search input {
    height: 38px!important;
    border: 0!important;
    background: transparent!important;
    box-shadow: none!important;
    padding: 0!important;
    font-size: 13px!important;
}

html body .cppf-active-filters {
    padding: 10px 18px!important;
    background: #f8fbff!important;
    border-bottom: 1px solid #e8eef6!important;
    font-size: 12px!important;
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
}

html body .cppf-doctor-table {
    width: 100%!important;
    border-collapse: separate!important;
    border-spacing: 0!important;
    table-layout: auto!important;
    margin: 0!important;
    background: #fff!important;
}

html body .cppf-doctor-table th {
    height: 44px!important;
    padding: 12px 16px!important;
    background: #f8fafc!important;
    border-bottom: 1px solid #dfe8f3!important;
    color: #334155!important;
    font-size: 11px!important;
    font-weight: 950!important;
    text-transform: uppercase!important;
    letter-spacing: .035em!important;
    white-space: nowrap!important;
}

html body .cppf-doctor-table td {
    padding: 14px 16px!important;
    border-bottom: 1px solid #edf2f7!important;
    font-size: 13px!important;
    color: #0f172a!important;
    vertical-align: middle!important;
    line-height: 1.35!important;
}

html body .cppf-doctor-table tr:hover td {
    background: #fbfdff!important;
}

html body .cppf-patient-cell {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    min-width: 180px!important;
}

html body .cppf-table-avatar {
    width: 38px!important;
    height: 38px!important;
    min-width: 38px!important;
    border-radius: 50%!important;
    background: linear-gradient(135deg,#eaf3ff,#dceeff)!important;
    border: 1px solid #cbe0ff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 12px!important;
    font-weight: 950!important;
}

html body .cppf-inline-name {
    display: block!important;
    color: #0b63ce!important;
    font-size: 13px!important;
    font-weight: 950!important;
    line-height: 1.2!important;
}

html body .cppf-patient-cell small {
    display: block!important;
    color: #64748b!important;
    font-size: 12px!important;
    margin-top: 3px!important;
    max-width: 210px!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important;
}

html body .cppf-date-pill {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    border-radius: 999px!important;
    padding: 6px 10px!important;
    background: #eef6ff!important;
    border: 1px solid #cbe1ff!important;
    color: #0b63ce!important;
    font-size: 12px!important;
    font-weight: 850!important;
    line-height: 1.2!important;
    white-space: nowrap!important;
    text-align: center!important;
}

html body .cppf-status-badge {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-height: 28px!important;
    border-radius: 999px!important;
    padding: 6px 10px!important;
    font-size: 11px!important;
    font-weight: 900!important;
    line-height: 1!important;
    text-transform: capitalize!important;
}

html body .cppf-inline-status, html body .cppf-status-control-panel {
    display: flex!important;
    align-items: end!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
    margin: 0!important;
}

html body .cppf-status-control-panel label {
    display: flex!important;
    flex-direction: column!important;
    gap: 4px!important;
    margin: 0!important;
    min-width: 128px!important;
    font-size: 11px!important;
    color: #64748b!important;
    font-weight: 850!important;
}

html body .cppf-status-control-panel select, html body .cppf-inline-status select {
    height: 38px!important;
    min-height: 38px!important;
    border: 1px solid #dbe7f3!important;
    border-radius: 12px!important;
    background: #fff!important;
    padding: 0 32px 0 11px!important;
    box-shadow: none!important;
    font-size: 12px!important;
    font-weight: 750!important;
    color: #0f172a!important;
}

html body .cppf-small-save {
    height: 38px!important;
    min-height: 38px!important;
    border-radius: 12px!important;
    padding: 0 12px!important;
    font-size: 12px!important;
    font-weight: 950!important;
    gap: 5px!important;
    white-space: nowrap!important;
}

html body .cppf-small-save .dashicons {
    font-size: 14px!important;
    width: 14px!important;
    height: 14px!important;
    line-height: 14px!important;
}

html body .cppf-action-icons, html body .cppf-action-icon-grid {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 7px!important;
    min-width: 84px!important;
}

html body .cppf-action-button, html body .cppf-action-icons a, html body .cppf-action-icons button {
    width: 34px!important;
    height: 34px!important;
    min-width: 34px!important;
    border-radius: 12px!important;
    border: 1px solid #dbe7f3!important;
    background: #fff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-decoration: none!important;
    padding: 0!important;
    box-shadow: 0 5px 14px rgba(15,45,89,.06)!important;
    font-size: 0!important;
    cursor: pointer!important;
}

html body .cppf-action-icons a .dashicons, html body .cppf-action-icons button .dashicons, html body .cppf-action-button .dashicons {
    font-size: 15px!important;
    width: 15px!important;
    height: 15px!important;
    line-height: 15px!important;
    color: currentColor!important;
}

html body .cppf-action-view {
    color: #0b63ce!important;
    background: #f8fbff!important;
    border-color: #cbe1ff!important;
}

html body .cppf-action-calendar {
    color: #12a174!important;
    background: #f0fdf8!important;
    border-color: #b7f2dc!important;
}

html body .cppf-action-delete, html body .cppf-icon-danger {
    color: #ef4444!important;
    background: #fff7f7!important;
    border-color: #fecaca!important;
}

html body .cppf-action-icons a:hover, html body .cppf-action-icons button:hover {
    transform: translateY(-1px)!important;
    filter: saturate(1.12)!important;
}

html body .cppf-list-footer {
    padding: 13px 18px!important;
    background: #fff!important;
    border-top: 1px solid #edf2f7!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    font-size: 12px!important;
    color: #64748b!important;
}

html body .cppf-list-footer label {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    margin: 0!important;
    color: #64748b!important;
    font-size: 12px!important;
}

html body .cppf-list-footer select {
    height: 38px!important;
    border-radius: 12px!important;
    border: 1px solid #dbe7f3!important;
    padding: 0 30px 0 10px!important;
    background: #fff!important;
}

html body .cppf-app-stats {
    display: grid!important;
    grid-template-columns: repeat(4,minmax(150px,1fr))!important;
    gap: 16px!important;
    margin-bottom: 22px!important;
}

html body .cppf-dash-stat {
    min-height: 106px!important;
    border-radius: 20px!important;
    padding: 20px!important;
    box-shadow: 0 12px 32px rgba(15,45,89,.055)!important;
}

html body .cppf-dash-stat span {
    font-size: 12px!important;
    text-transform: uppercase!important;
    letter-spacing: .035em!important;
    font-weight: 950!important;
}

html body .cppf-dash-stat strong {
    font-size: 28px!important;
    letter-spacing: -.04em!important;
}

html body .cppf-dashboard-grid {
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
    gap: 18px!important;
    margin-bottom: 22px!important;
}

html body .cppf-chart-card {
    padding: 0!important;
}

html body .cppf-chart-head {
    padding: 15px 18px!important;
    border-bottom: 1px solid #e8eef6!important;
}

html body .cppf-chart-head h2 {
    font-size: 15px!important;
    margin: 0!important;
    font-weight: 950!important;
    color: #0f172a!important;
}

html body .cppf-schedule-note {
    padding: 18px!important;
    margin-bottom: 16px!important;
}

html body .cppf-schedule-note h2, html body .cppf-timeslots h2, html body .cppf-doctor-form-card h2 {
    font-size: 18px!important;
    font-weight: 950!important;
    margin: 0 0 8px!important;
    color: #0f172a!important;
}

html body .cppf-days-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important;
    padding: 16px!important;
}

html body .cppf-day-card {
    border: 1px solid #dfe8f3!important;
    background: #fff!important;
    border-radius: 18px!important;
    padding: 14px!important;
    box-shadow: 0 10px 24px rgba(15,45,89,.04)!important;
}

html body .cppf-day-card.is-enabled {
    border-color: #b7f2dc!important;
    background: #fbfffd!important;
}

html body .cppf-day-head {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    margin: 0 0 12px!important;
}

html body .cppf-day-head span {
    font-weight: 950!important;
    color: #0f172a!important;
}

html body .cppf-day-head em {
    margin-left: auto!important;
    font-size: 11px!important;
    font-style: normal!important;
    font-weight: 900!important;
    color: #0b63ce!important;
    background: #eef6ff!important;
    border-radius: 999px!important;
    padding: 5px 8px!important;
}

html body .cppf-time-row {
    display: grid!important;
    grid-template-columns: repeat(5,minmax(0,1fr))!important;
    gap: 10px!important;
}

html body .cppf-time-row label {
    display: block!important;
    margin: 0!important;
}

html body .cppf-time-row b {
    display: block!important;
    font-size: 11px!important;
    color: #64748b!important;
    margin-bottom: 5px!important;
    text-transform: uppercase!important;
    letter-spacing: .03em!important;
}

html body .cppf-time-row input, html body .cppf-time-row select, html body .cppf-inline-form input, html body .cppf-inline-form select, html body .cppf-front-form input, html body .cppf-front-form select, html body .cppf-front-form textarea {
    height: 40px!important;
    border: 1px solid #dbe7f3!important;
    border-radius: 12px!important;
    background: #fff!important;
    padding: 8px 11px!important;
    font-size: 12px!important;
    color: #0f172a!important;
    box-shadow: none!important;
}

html body .cppf-sticky-submit {
    position: sticky!important;
    bottom: 0!important;
    background: rgba(243,247,251,.88)!important;
    backdrop-filter: blur(8px)!important;
    padding: 14px 0 0!important;
    z-index: 5!important;
}

html body .cppf-visit-list {
    margin-bottom: 18px!important;
}

html body .cppf-doctor-form-card {
    padding: 20px!important;
}

html body .cppf-doctor-form-card form, html body .cppf-inline-form {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important;
    align-items: end!important;
}

html body .cppf-doctor-form-card textarea, html body .cppf-front-form textarea {
    min-height: 96px!important;
    grid-column: auto!important;
}

html body .cppf-doctor-form-card button {
    width: max-content!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs {
    margin: 0 auto 22px!important;
    border-radius: 18px!important;
    padding: 6px!important;
    background: #fff!important;
    border: 1px solid #dfe8f3!important;
    box-shadow: 0 10px 28px rgba(15,45,89,.05)!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs a {
    min-height: 42px!important;
    border-radius: 13px!important;
    gap: 7px!important;
    font-size: 12px!important;
    padding: 10px 14px!important;
}

html body .cppf-card-tab-switch.cppf-real-tabs a .dashicons {
    font-size: 16px!important;
    width: 16px!important;
    height: 16px!important;
    line-height: 16px!important;
}

/* Row details modal */
html body .cppf-row-modal {
    position: fixed!important;
    inset: 0!important;
    z-index: 999999!important;
    background: rgba(2,8,23,.52)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 24px!important;
}

html body .cppf-row-modal-panel {
    width: min(620px,100%)!important;
    background: #fff!important;
    border: 1px solid #dfe8f3!important;
    border-radius: 24px!important;
    box-shadow: 0 30px 90px rgba(2,8,23,.32)!important;
    position: relative!important;
    overflow: hidden!important;
}

html body .cppf-row-modal-close {
    position: absolute!important;
    top: 14px!important;
    right: 14px!important;
    width: 34px!important;
    height: 34px!important;
    border-radius: 12px!important;
    border: 1px solid #dbe7f3!important;
    background: #fff!important;
    color: #64748b!important;
    font-size: 22px!important;
    line-height: 1!important;
    cursor: pointer!important;
}

html body .cppf-row-modal-head {
    display: flex!important;
    gap: 12px!important;
    align-items: center!important;
    padding: 22px!important;
    background: linear-gradient(135deg,#eef6ff,#f8fbff)!important;
    border-bottom: 1px solid #dfe8f3!important;
}

html body .cppf-row-modal-head .dashicons {
    width: 42px!important;
    height: 42px!important;
    line-height: 42px!important;
    border-radius: 14px!important;
    background: #0b63ce!important;
    color: #fff!important;
    text-align: center!important;
    font-size: 19px!important;
}

html body .cppf-row-modal-head h3 {
    margin: 0!important;
    font-size: 19px!important;
    font-weight: 950!important;
    color: #0f172a!important;
}

html body .cppf-row-modal-head p {
    margin: 4px 0 0!important;
    font-size: 12px!important;
    color: #64748b!important;
    font-weight: 750!important;
}

html body .cppf-row-modal-body {
    padding: 20px 22px 24px!important;
}

html body .cppf-row-modal-body dl {
    display: grid!important;
    gap: 10px!important;
    margin: 0!important;
}

html body .cppf-row-modal-body dl div {
    display: grid!important;
    grid-template-columns: 135px minmax(0,1fr)!important;
    gap: 12px!important;
    border-bottom: 1px solid #edf2f7!important;
    padding-bottom: 9px!important;
}

html body .cppf-row-modal-body dt {
    font-size: 11px!important;
    text-transform: uppercase!important;
    letter-spacing: .045em!important;
    font-weight: 950!important;
    color: #64748b!important;
}

html body .cppf-row-modal-body dd {
    margin: 0!important;
    font-size: 13px!important;
    color: #0f172a!important;
    font-weight: 800!important;
    word-break: break-word!important;
}

@media(max-width: 1180px) {
    html body .cppf-doctor-layout {
        grid-template-columns:218px minmax(0,1fr)!important;
        background: linear-gradient(90deg,#fff 0,#fff 218px,var(--cppf-shell-bg) 218px,var(--cppf-shell-bg) 100%)!important
    }

    html body .cppf-doctor-main {
        padding: 24px!important
    }

    html body .cppf-app-stats {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    html body .cppf-dashboard-grid {
        grid-template-columns: 1fr!important
    }

    html body .cppf-time-row {
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }
}

@media(max-width: 860px) {
    html body .cppf-doctor-layout {
        display:block!important;
        background: var(--cppf-shell-bg)!important
    }

    html body .cppf-doctor-sidebar {
        border-right: 0!important;
        border-bottom: 1px solid #e1eaf4!important
    }

    html body .cppf-doctor-sidebar nav {
        display: grid!important;
        grid-template-columns: repeat(2,minmax(0,1fr))!important
    }

    html body .cppf-doctor-title-row {
        display: block!important
    }

    html body .cppf-view-actions {
        margin: 0 0 16px!important;
        justify-content: flex-start!important
    }

    html body .cppf-list-toolbar {
        flex-wrap: wrap!important
    }

    html body .cppf-inline-search {
        width: 100%!important
    }

    html body .cppf-days-grid {
        grid-template-columns: 1fr!important
    }

    html body .cppf-doctor-table {
        min-width: 760px!important
    }

    html body .cppf-table-card {
        overflow: auto!important
    }

    .cppf-doctor-form-card form,html body .cppf-inline-form {
        grid-template-columns: 1fr!important
    }
}

@media(max-width: 560px) {
    html body .cppf-doctor-topbar {
        align-items:flex-start!important;
        flex-direction: column!important
    }

    html body .cppf-doctor-sidebar nav {
        grid-template-columns: 1fr!important
    }

    html body .cppf-app-stats {
        grid-template-columns: 1fr!important
    }

    html body .cppf-time-row {
        grid-template-columns: 1fr!important
    }

    html body .cppf-status-control-panel {
        flex-direction: column!important;
        align-items: stretch!important
    }

    html body .cppf-status-control-panel label {
        min-width: 0!important
    }

    html body .cppf-row-modal-body dl div {
        grid-template-columns: 1fr!important;
        gap: 3px!important
    }
}

/* v2.2.29 - services, service detail and full portal consistency polish */
body .cppf-public-page, body .cppf-app-shell, body .cppf-doctor-portal, body .cppf-admin-portal {
    --cppf-pro-primary: #0B5ED7;
    --cppf-pro-primary-dark: #0847A6;
    --cppf-pro-teal: #0FB9A6;
    --cppf-pro-bg: #F5F8FC;
    --cppf-pro-card: #FFFFFF;
    --cppf-pro-line: #DCE8F5;
    --cppf-pro-text: #111827;
    --cppf-pro-muted: #64748B;
    --cppf-pro-soft: #EEF6FF;
}

body .cppf-public-page {
    background: var(--cppf-pro-bg)!important;
    border-radius: 26px!important;
    padding: 24px!important;
    box-shadow: none!important
}

body .cppf-services-page-pro .cppf-public-hero, body .cppf-service-detail-pro .cppf-public-hero {
    background: linear-gradient(135deg,#ffffff 0%,#EEF7FF 52%,#F8FEFC 100%)!important;
    border: 1px solid var(--cppf-pro-line)!important;
    box-shadow: 0 18px 48px rgba(13,61,120,.08)!important
}

body .cppf-services-toolbar-pro {
    border-radius: 20px!important;
    background: #fff!important;
    border: 1px solid var(--cppf-pro-line)!important;
    box-shadow: 0 12px 32px rgba(15,45,89,.06)!important
}

body .cppf-services-grid-pro {
    display: grid!important;
    gap: 24px!important;
    align-items: stretch!important
}

body .cppf-services-grid-pro.cppf-cols-3 {
    grid-template-columns: repeat(3,minmax(0,1fr))!important
}

body .cppf-services-grid-pro.cppf-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr))!important
}

body .cppf-service-card-pro {
    display: flex!important;
    flex-direction: column!important;
    min-height: 100%!important;
    border-radius: 24px!important;
    border: 1px solid var(--cppf-pro-line)!important;
    background: #fff!important;
    box-shadow: 0 18px 44px rgba(15,45,89,.08)!important;
    overflow: hidden!important;
    transform: none!important
}

body .cppf-service-card-pro:hover {
    transform: translateY(-4px)!important;
    box-shadow: 0 24px 54px rgba(15,45,89,.13)!important;
    border-color: #BFD8F6!important
}

body .cppf-service-card-pro.cppf-no-image::before {
    display: none!important;
    content: none!important
}

body .cppf-service-media-pro {
    position: relative!important;
    height: 178px!important;
    background: linear-gradient(135deg,#EAF6FF,#F5FFFC)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    border-bottom: 1px solid #E7F0FA!important
}

body .cppf-service-media-pro img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important;
    display: block!important
}

body .cppf-service-icon-pro {
    width: 72px!important;
    height: 72px!important;
    border-radius: 22px!important;
    background: linear-gradient(135deg,#0B5ED7,#0FB9A6)!important;
    color: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    box-shadow: 0 18px 40px rgba(11,94,215,.22)!important
}

body .cppf-service-icon-pro .dashicons {
    font-size: 34px!important;
    width: 34px!important;
    height: 34px!important;
    color: #fff!important
}

body .cppf-service-price-badge {
    position: absolute!important;
    right: 16px!important;
    bottom: 16px!important;
    border-radius: 999px!important;
    background: #fff!important;
    border: 1px solid #D8E8F9!important;
    color: #0847A6!important;
    padding: 8px 12px!important;
    font-size: 13px!important;
    font-weight: 900!important;
    box-shadow: 0 10px 22px rgba(15,45,89,.12)!important
}

body .cppf-service-body-pro {
    display: flex!important;
    flex-direction: column!important;
    gap: 12px!important;
    flex: 1!important;
    padding: 22px!important
}

body .cppf-service-body-pro h3 {
    font-size: 19px!important;
    line-height: 1.25!important;
    margin: 0!important;
    color: var(--cppf-pro-text)!important;
    font-weight: 900!important;
    letter-spacing: -.02em!important
}

body .cppf-service-body-pro p {
    font-size: 13px!important;
    line-height: 1.65!important;
    color: var(--cppf-pro-muted)!important;
    margin: 0!important;
    min-height: 42px!important
}

body .cppf-service-topline {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 10px!important;
    margin: 0!important
}

body .cppf-service-duration {
    display: inline-flex!important;
    align-items: center!important;
    gap: 5px!important;
    border-radius: 999px!important;
    background: #F8FAFC!important;
    border: 1px solid #E2E8F0!important;
    color: #475569!important;
    padding: 6px 10px!important;
    font-size: 12px!important;
    font-weight: 800!important;
    white-space: nowrap!important
}

body .cppf-service-duration .dashicons {
    font-size: 14px!important;
    width: 14px!important;
    height: 14px!important
}

body .cppf-service-doctors-mini {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    border: 1px solid #E6EEF8!important;
    border-radius: 16px!important;
    background: #F8FBFF!important;
    padding: 12px!important;
    margin-top: auto!important
}

body .cppf-service-doctors-mini strong {
    font-size: 12px!important;
    color: #1E3A5F!important;
    font-weight: 900!important
}

body .cppf-service-avatar-stack {
    display: flex!important;
    align-items: center!important;
    gap: 0!important;
    min-width: 88px!important;
    justify-content: flex-end!important
}

body .cppf-service-avatar-stack img, body .cppf-service-avatar-stack span, body .cppf-service-avatar-stack em {
    width: 30px!important;
    height: 30px!important;
    border-radius: 999px!important;
    border: 2px solid #fff!important;
    margin-left: -8px!important;
    background: #EAF3FF!important;
    color: #0B5ED7!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 11px!important;
    font-weight: 900!important;
    font-style: normal!important;
    box-shadow: 0 6px 14px rgba(15,45,89,.10)!important;
    object-fit: cover!important
}

body .cppf-service-avatar-stack small {
    font-size: 11px!important;
    color: #94A3B8!important;
    font-weight: 800!important;
    white-space: nowrap!important
}

body .cppf-service-card-foot-pro {
    display: grid!important;
    grid-template-columns: 1fr auto!important;
    gap: 10px!important;
    margin-top: 4px!important;
    align-items: center!important
}

body .cppf-service-card-foot-pro .cppf-btn {
    width: auto!important;
    min-height: 42px!important;
    padding: 11px 16px!important;
    border-radius: 12px!important;
    font-size: 13px!important
}

body .cppf-service-card-foot-pro .cppf-service-detail-link {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-height: 42px!important;
    padding: 0 14px!important;
    border-radius: 12px!important;
    border: 1px solid #D8E8F9!important;
    background: #fff!important;
    color: #0B5ED7!important;
    text-decoration: none!important;
    font-size: 13px!important;
    font-weight: 900!important
}

body .cppf-service-detail-card-pro {
    display: grid!important;
    grid-template-columns: 380px minmax(0,1fr)!important;
    gap: 0!important;
    border-radius: 26px!important;
    border: 1px solid var(--cppf-pro-line)!important;
    background: #fff!important;
    box-shadow: 0 18px 48px rgba(15,45,89,.08)!important;
    overflow: hidden!important;
    margin-bottom: 24px!important;
    padding: 0!important
}

body .cppf-service-detail-media-pro {
    min-height: 390px!important;
    background: linear-gradient(135deg,#EAF6FF,#F5FFFC)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important
}

body .cppf-service-detail-media-pro img {
    width: 100%!important;
    height: 100%!important;
    min-height: 390px!important;
    object-fit: cover!important
}

body .cppf-service-detail-content-pro {
    padding: 34px!important;
    display: flex!important;
    flex-direction: column!important;
    gap: 16px!important
}

body .cppf-service-detail-content-pro h2 {
    font-size: 28px!important;
    line-height: 1.15!important;
    margin: 0!important;
    color: var(--cppf-pro-text)!important;
    font-weight: 950!important
}

body .cppf-service-description-pro p {
    font-size: 14px!important;
    line-height: 1.75!important;
    color: #526174!important;
    margin: 0 0 10px!important
}

body .cppf-service-facts-pro {
    display: grid!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 12px!important;
    margin: 6px 0 10px!important
}

body .cppf-service-facts-pro span {
    border: 1px solid #E6EEF8!important;
    background: #F8FBFF!important;
    border-radius: 16px!important;
    padding: 14px!important
}

body .cppf-service-facts-pro b {
    display: block!important;
    font-size: 11px!important;
    text-transform: uppercase!important;
    letter-spacing: .06em!important;
    color: #64748B!important;
    margin-bottom: 5px!important
}

body .cppf-service-facts-pro strong {
    font-size: 16px!important;
    color: #0B5ED7!important;
    font-weight: 950!important
}

body .cppf-service-doctors-section-pro {
    margin-top: 24px!important;
    border: 1px solid var(--cppf-pro-line)!important;
    border-radius: 24px!important;
    background: #fff!important;
    box-shadow: 0 18px 44px rgba(15,45,89,.07)!important;
    padding: 24px!important
}

body .cppf-section-head-pro {
    display: flex!important;
    align-items: flex-start!important;
    justify-content: space-between!important;
    gap: 20px!important;
    margin-bottom: 18px!important
}

body .cppf-section-head-pro h2 {
    font-size: 24px!important;
    line-height: 1.2!important;
    margin: 0 0 8px!important;
    color: var(--cppf-pro-text)!important;
    font-weight: 950!important
}

body .cppf-section-head-pro p {
    font-size: 13px!important;
    color: var(--cppf-pro-muted)!important;
    margin: 0!important;
    line-height: 1.6!important
}

body .cppf-btn-light-pro {
    background: #fff!important;
    color: #0B5ED7!important;
    border: 1px solid #BED7F5!important;
    box-shadow: none!important
}

body .cppf-service-doctor-grid-pro {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important
}

body .cppf-service-doctor-card-pro {
    display: grid!important;
    grid-template-columns: auto minmax(0,1fr) auto!important;
    align-items: center!important;
    gap: 14px!important;
    padding: 16px!important;
    border: 1px solid #E6EEF8!important;
    border-radius: 18px!important;
    background: #FBFDFF!important;
    box-shadow: 0 10px 26px rgba(15,45,89,.05)!important
}

body .cppf-service-doctor-avatar-pro {
    width: 58px!important;
    height: 58px!important;
    border-radius: 50%!important;
    background: #EAF3FF!important;
    border: 1px solid #D8E8F9!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important;
    color: #0B5ED7!important;
    font-weight: 950!important
}

body .cppf-service-doctor-avatar-pro img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important
}

body .cppf-service-doctor-info-pro h3 {
    font-size: 15px!important;
    font-weight: 950!important;
    margin: 0 0 4px!important;
    color: var(--cppf-pro-text)!important
}

body .cppf-service-doctor-info-pro p {
    font-size: 12px!important;
    line-height: 1.45!important;
    color: #64748B!important;
    margin: 0!important
}

body .cppf-service-doctor-info-pro small {
    font-size: 11px!important;
    color: #94A3B8!important;
    font-weight: 700!important
}

body .cppf-service-doctor-card-pro .cppf-btn {
    width: auto!important;
    min-height: 40px!important;
    font-size: 12px!important;
    padding: 10px 14px!important;
    white-space: nowrap!important
}

body .cppf-table-card, body .cppf-list-card, body .cppf-doctor-form-card {
    border-radius: 20px!important;
    border: 1px solid #DDE8F6!important;
    box-shadow: 0 14px 36px rgba(15,45,89,.06)!important;
    background: #fff!important;
    overflow: hidden!important
}

body .cppf-list-footer {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important;
    flex-wrap: wrap!important;
    padding: 14px 18px!important;
    border-top: 1px solid #E6EEF8!important;
    background: #FBFDFF!important;
    color: #64748B!important;
    font-size: 12px!important;
    font-weight: 700!important
}

body .cppf-list-footer label {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    margin: 0!important;
    font-size: 12px!important;
    color: #64748B!important
}

body .cppf-list-footer select {
    height: 36px!important;
    min-width: 70px!important;
    border-radius: 10px!important;
    border: 1px solid #D7E2F0!important;
    background: #fff!important;
    font-size: 12px!important;
    padding: 0 10px!important
}

body .cppf-pages {
    display: inline-flex!important;
    align-items: center!important;
    gap: 6px!important
}

body .cppf-pages b, body .cppf-pages span, body .cppf-pages em {
    min-width: 32px!important;
    height: 32px!important;
    border-radius: 10px!important;
    border: 1px solid #DDE8F6!important;
    background: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 12px!important;
    font-style: normal!important;
    color: #344054!important;
    font-weight: 800!important
}

body .cppf-pages b {
    background: #EEF6FF!important;
    color: #0B5ED7!important;
    border-color: #BFD8F6!important
}

body .cppf-pages span:last-child {
    background: #0B5ED7!important;
    color: #fff!important;
    border-color: #0B5ED7!important
}

body .cppf-action-icons {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    white-space: nowrap!important
}

body .cppf-action-icons a, body .cppf-action-icons button, body .cppf-action-button {
    width: 34px!important;
    height: 34px!important;
    min-width: 34px!important;
    padding: 0!important;
    border-radius: 10px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 0!important;
    border: 1px solid #DCE8F5!important;
    background: #fff!important;
    color: #0B5ED7!important;
    box-shadow: none!important;
    text-decoration: none!important
}

body .cppf-action-icons a .dashicons, body .cppf-action-icons button .dashicons, body .cppf-action-button .dashicons {
    font-size: 16px!important;
    width: 16px!important;
    height: 16px!important;
    color: inherit!important
}

body .cppf-action-delete, body .cppf-action-icons .cppf-action-delete {
    color: #E11D48!important;
    border-color: #FFD4DE!important;
    background: #FFF6F8!important
}

@media(max-width: 1100px) {
    body .cppf-services-grid-pro.cppf-cols-3 {
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }

    body .cppf-service-detail-card-pro {
        grid-template-columns: 1fr!important
    }

    body .cppf-service-detail-media-pro {
        min-height: 260px!important
    }

    body .cppf-service-doctor-grid-pro {
        grid-template-columns: 1fr!important
    }
}

@media(max-width: 680px) {
    body .cppf-public-page {
        padding:14px!important;
        border-radius: 18px!important
    }

    body .cppf-services-grid-pro.cppf-cols-3, body .cppf-services-grid-pro.cppf-cols-2 {
        grid-template-columns: 1fr!important
    }

    body .cppf-service-facts-pro {
        grid-template-columns: 1fr!important
    }

    body .cppf-section-head-pro {
        flex-direction: column!important
    }

    body .cppf-service-doctor-card-pro {
        grid-template-columns: auto 1fr!important
    }

    body .cppf-service-doctor-card-pro .cppf-btn {
        grid-column: 1 / -1!important;
        width: 100%!important
    }

    body .cppf-service-card-foot-pro {
        grid-template-columns: 1fr!important
    }

    body .cppf-service-card-foot-pro .cppf-btn, body .cppf-service-card-foot-pro .cppf-service-detail-link {
        width: 100%!important
    }
}

body .cppf-pages button {
    min-width: 32px!important;
    height: 32px!important;
    border-radius: 10px!important;
    border: 1px solid #DDE8F6!important;
    background: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 12px!important;
    color: #344054!important;
    font-weight: 800!important;
    cursor: pointer!important
}

body .cppf-pages button.current {
    background: #EEF6FF!important;
    color: #0B5ED7!important;
    border-color: #BFD8F6!important
}

body .cppf-pages button:disabled {
    opacity: .45!important;
    cursor: not-allowed!important
}

/* v2.2.30 - Global Tabs UI Polish: consistent segmented tabs across all portals */
html body .cppf-card-tab-switch, html body .cppf-card-tab-switch.cppf-real-tabs, html body .cppf-clickable-tabs, html body .cppf-medicine-tabs, html body .cppf-doctor-tabs, html body .cppf-tabs, html body .cppf-admin-tabs {
    width: fit-content!important;
    max-width: 100%!important;
    margin: 0 auto 24px!important;
    padding: 6px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    flex-wrap: wrap!important;
    gap: 6px!important;
    border: 1px solid #DDE7F2!important;
    border-radius: 18px!important;
    background: linear-gradient(180deg,#FFFFFF 0%,#F8FBFF 100%)!important;
    box-shadow: 0 14px 34px rgba(15,45,89,.055)!important;
    position: relative!important;
    z-index: 5!important;
    overflow: visible!important;
}

html body .cppf-card-tab-switch > a, html body .cppf-card-tab-switch.cppf-real-tabs > a, html body .cppf-clickable-tabs > a, html body .cppf-medicine-tabs > a, html body .cppf-doctor-tabs > a, html body .cppf-tabs > a, html body .cppf-admin-tabs > a, html body .cppf-card-tab-switch > button, html body .cppf-tabs > button, html body .cppf-admin-tabs > button, html body .cppf-card-tab-switch > span {
    height: 42px!important;
    min-height: 42px!important;
    max-height: 42px!important;
    padding: 0 16px!important;
    margin: 0!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    border: 1px solid transparent!important;
    border-radius: 13px!important;
    background: transparent!important;
    color: #475467!important;
    font-size: 13px!important;
    line-height: 1!important;
    font-weight: 850!important;
    letter-spacing: 0!important;
    white-space: nowrap!important;
    text-decoration: none!important;
    box-shadow: none!important;
    outline: none!important;
    cursor: pointer!important;
    transition: background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

html body .cppf-card-tab-switch > a:hover, html body .cppf-card-tab-switch.cppf-real-tabs > a:hover, html body .cppf-clickable-tabs > a:hover, html body .cppf-medicine-tabs > a:hover, html body .cppf-doctor-tabs > a:hover, html body .cppf-tabs > a:hover, html body .cppf-admin-tabs > a:hover, html body .cppf-card-tab-switch > button:hover, html body .cppf-tabs > button:hover, html body .cppf-admin-tabs > button:hover {
    background: #F1F7FF!important;
    border-color: #D5E7FF!important;
    color: #0B63CE!important;
    transform: translateY(-1px)!important;
}

html body .cppf-card-tab-switch > a.active, html body .cppf-card-tab-switch.cppf-real-tabs > a.active, html body .cppf-clickable-tabs > a.active, html body .cppf-medicine-tabs > a.active, html body .cppf-doctor-tabs > a.active, html body .cppf-tabs > a.active, html body .cppf-admin-tabs > a.active, html body .cppf-card-tab-switch > button.active, html body .cppf-tabs > button.active, html body .cppf-admin-tabs > button.active, html body .cppf-card-tab-switch > span.active {
    background: #EAF4FF!important;
    border-color: #B9DAFF!important;
    color: #075FE8!important;
    box-shadow: 0 7px 16px rgba(11,99,206,.08), inset 0 0 0 1px rgba(11,99,206,.04)!important;
}

html body .cppf-card-tab-switch .dashicons, html body .cppf-clickable-tabs .dashicons, html body .cppf-medicine-tabs .dashicons, html body .cppf-doctor-tabs .dashicons, html body .cppf-tabs .dashicons, html body .cppf-admin-tabs .dashicons {
    width: 18px!important;
    height: 18px!important;
    min-width: 18px!important;
    font-size: 16px!important;
    line-height: 18px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 0!important;
    margin: 0!important;
    border-radius: 8px!important;
    background: #F2F6FB!important;
    color: #98A2B3!important;
    box-shadow: none!important;
}

html body .cppf-card-tab-switch a.active .dashicons, html body .cppf-card-tab-switch a:hover .dashicons, html body .cppf-card-tab-switch button.active .dashicons, html body .cppf-card-tab-switch button:hover .dashicons, html body .cppf-clickable-tabs a.active .dashicons, html body .cppf-clickable-tabs a:hover .dashicons, html body .cppf-medicine-tabs a.active .dashicons, html body .cppf-medicine-tabs a:hover .dashicons, html body .cppf-doctor-tabs a.active .dashicons, html body .cppf-doctor-tabs a:hover .dashicons {
    background: #DDEEFF!important;
    color: #075FE8!important;
}

html body .cppf-card-tabs {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    padding: 14px 16px!important;
    border-bottom: 1px solid #E6EEF7!important;
}

html body .cppf-card-tabs h2, html body .cppf-card-tabs h3 {
    margin: 0 auto 0 0!important;
    font-size: 16px!important;
    line-height: 1.25!important;
    font-weight: 900!important;
}

html body .cppf-card-tabs span, html body .cppf-card-tabs strong {
    margin: 0!important;
    padding: 7px 11px!important;
    border: 1px solid transparent!important;
    border-radius: 999px!important;
    color: #667085!important;
    font-size: 12px!important;
    line-height: 1!important;
    font-weight: 800!important;
    background: transparent!important;
}

html body .cppf-card-tabs strong {
    color: #075FE8!important;
    background: #EAF4FF!important;
    border-color: #B9DAFF!important;
}

html body .cppf-table-card > .cppf-card-tab-switch, html body .cppf-doctor-main > .cppf-card-tab-switch, html body .cppf-doctor-main > .cppf-real-tabs, html body .cppf-admin-portal .cppf-card-tab-switch {
    margin-top: 4px!important;
    margin-bottom: 22px!important;
}

@media(max-width: 768px) {
    html body .cppf-card-tab-switch, html body .cppf-card-tab-switch.cppf-real-tabs, html body .cppf-clickable-tabs, html body .cppf-medicine-tabs, html body .cppf-doctor-tabs, html body .cppf-tabs, html body .cppf-admin-tabs {
        width:100%!important;
        justify-content: flex-start!important;
        flex-wrap: nowrap!important;
        overflow-x: auto!important;
        padding: 6px!important;
        -webkit-overflow-scrolling: touch!important;
    }

    html body .cppf-card-tab-switch > a, html body .cppf-card-tab-switch.cppf-real-tabs > a, html body .cppf-clickable-tabs > a, html body .cppf-medicine-tabs > a, html body .cppf-doctor-tabs > a, html body .cppf-tabs > a, html body .cppf-admin-tabs > a, html body .cppf-card-tab-switch > button, html body .cppf-tabs > button, html body .cppf-admin-tabs > button, html body .cppf-card-tab-switch > span {
        flex: 0 0 auto!important;
    }
}

/* v2.2.34: Logged-in clinic login page state */
body .cppf-login-already-page {
    min-height: 560px!important;
    padding: 64px 16px!important;
}

body .cppf-login-already-card {
    width: 100%!important;
    max-width: 560px!important;
    margin: 0 auto!important;
    padding: 34px!important;
    text-align: center!important;
    position: relative!important;
    overflow: hidden!important;
}

body .cppf-login-already-card:before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 8px;
    background: linear-gradient(90deg,#0B72E7,#10B7D5,#12B886);
}

body .cppf-login-already-logo .cppf-logo-mark svg {
    width: 56px!important;
    height: 56px!important;
    margin: 0 auto 12px!important;
}

body .cppf-login-already-avatar {
    width: 88px!important;
    height: 88px!important;
    border-radius: 999px!important;
    padding: 5px!important;
    background: linear-gradient(135deg,#0B72E7,#10B7D5)!important;
    margin: 6px auto 12px!important;
    box-shadow: 0 16px 32px rgba(11,114,231,.18)!important;
}

body .cppf-login-already-avatar img {
    width: 100%!important;
    height: 100%!important;
    display: block!important;
    border-radius: 999px!important;
    object-fit: cover!important;
    border: 3px solid #fff!important;
}

body .cppf-login-already-badge {
    display: inline-flex!important;
    align-items: center!important;
    gap: 7px!important;
    padding: 7px 12px!important;
    border-radius: 999px!important;
    background: #EEF6FF!important;
    border: 1px solid #D8E9FF!important;
    color: #0B57C2!important;
    font-size: 12px!important;
    line-height: 1!important;
    font-weight: 900!important;
    margin: 2px auto 14px!important;
}

body .cppf-login-already-card h2 {
    font-size: 26px!important;
    line-height: 1.15!important;
    margin: 0 0 10px!important;
    color: #101828!important;
    font-weight: 950!important;
    letter-spacing: -.04em!important;
}

body .cppf-login-already-text {
    margin: 0 auto 22px!important;
    color: #5B6678!important;
    font-size: 14px!important;
    line-height: 1.55!important;
}

body .cppf-login-already-text strong {
    color: #101828!important;
    font-weight: 900!important
}

body .cppf-login-already-text span {
    color: #667085!important;
    font-size: 13px!important
}

body .cppf-login-already-actions {
    display: flex!important;
    justify-content: center!important;
    align-items: center!important;
    gap: 12px!important;
    flex-wrap: wrap!important;
}

body .cppf-login-already-primary, body .cppf-login-already-secondary {
    min-height: 44px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 8px!important;
    border-radius: 12px!important;
    padding: 11px 16px!important;
    text-decoration: none!important;
    font-weight: 900!important;
    font-size: 13px!important;
    line-height: 1!important;
}

body .cppf-login-already-primary {
    color: #fff!important;
    background: linear-gradient(135deg,#0B72E7,#0757C2)!important;
    border: 1px solid #0757C2!important;
    box-shadow: 0 12px 26px rgba(11,114,231,.22)!important;
}

body .cppf-login-already-secondary {
    color: #344054!important;
    background: #fff!important;
    border: 1px solid #D9E7F6!important;
    box-shadow: 0 8px 20px rgba(15,45,89,.06)!important;
}

body .cppf-login-already-note {
    margin: 18px 0 0!important;
    font-size: 12px!important;
    color: #8A96A8!important;
}

@media(max-width: 620px) {
    body .cppf-login-already-card {
        padding:28px 18px!important
    }

    body .cppf-login-already-actions {
        display: grid!important;
        grid-template-columns: 1fr!important
    }

    body .cppf-login-already-primary,body .cppf-login-already-secondary {
        width: 100%!important
    }
}

/* v2.2.35 global action/table/review polish */
html body .cppf-action-icons, html body .cppf-action-icon-grid {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
    white-space: nowrap!important;
    min-width: max-content!important;
}

html body .cppf-action-icons form, html body .cppf-action-icon-grid form, html body form.cppf-mini-form, html body form.cppf-inline, html body form.cppf-mini-action {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    margin: 0!important;
    padding: 0!important;
    width: auto!important;
    max-width: 100%!important;
    flex-wrap: nowrap!important;
}

html body .cppf-action-icons select, html body .cppf-action-icon-grid select, html body form.cppf-mini-form select, html body form.cppf-inline-status select {
    width: auto!important;
    min-width: 118px!important;
    max-width: 150px!important;
    height: 34px!important;
    min-height: 34px!important;
    padding: 0 28px 0 10px!important;
    border-radius: 10px!important;
    border: 1px solid #d6e4f2!important;
    background-color: #fff!important;
    color: #0f172a!important;
    font-size: 12px!important;
    font-weight: 750!important;
    line-height: 1!important;
    box-shadow: none!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn), html body .cppf-action-icons button, html body .cppf-action-button, html body .cppf-icon-btn, html body .cppf-mini-form button, html body .cppf-inline button, html body .cppf-small-save {
    width: 34px!important;
    min-width: 34px!important;
    max-width: 34px!important;
    height: 34px!important;
    min-height: 34px!important;
    max-height: 34px!important;
    padding: 0!important;
    margin: 0!important;
    border-radius: 11px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    overflow: hidden!important;
    font-size: 0!important;
    line-height: 1!important;
    text-indent: 0!important;
    text-decoration: none!important;
    border: 1px solid #d7e6f7!important;
    background: #ffffff!important;
    color: #0b63ce!important;
    box-shadow: 0 6px 14px rgba(15,45,89,.06)!important;
    box-sizing: border-box!important;
    cursor: pointer!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn):hover, html body .cppf-action-icons button:hover, html body .cppf-action-button:hover, html body .cppf-icon-btn:hover, html body .cppf-small-save:hover {
    background: #eff6ff!important;
    border-color: #b9d7ff!important;
    transform: translateY(-1px);
}

html body .cppf-action-icons .dashicons, html body .cppf-action-button .dashicons, html body .cppf-icon-btn .dashicons, html body .cppf-mini-form button .dashicons, html body .cppf-inline button .dashicons {
    font-size: 16px!important;
    width: 16px!important;
    height: 16px!important;
    line-height: 16px!important;
    color: currentColor!important;
    display: block!important;
}

html body .cppf-small-save:before, html body .cppf-action-save:before, html body form.cppf-mini-form button:before {
    content: "\f147";
    font-family: dashicons;
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
    color: currentColor;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn):not(.cppf-has-dashicons):before {
    font-family: dashicons;
    content: "\f177";
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
    color: currentColor;
}

html body .cppf-action-icons a[href*="service_detail"]:not(.cppf-has-dashicons):before, html body .cppf-action-icons a[title*="View"]:not(.cppf-has-dashicons):before {
    content: "\f177";
}

html body .cppf-action-icons a[href*="mailto"]:not(.cppf-has-dashicons):before {
    content: "\f465";
}

html body .cppf-action-icons a[href*="export"]:not(.cppf-has-dashicons):before {
    content: "\f316";
}

html body .cppf-icon-danger, html body .cppf-action-delete, html body .cppf-action-icons .red, html body form.cppf-inline button.button-link-delete {
    color: #dc2626!important;
    border-color: #fecaca!important;
    background: #fff5f5!important;
}

html body .cppf-icon-edit {
    color: #0b63ce!important;
    background: #fff!important;
}

html body .cppf-action-icons a span:not(.dashicons):not(.screen-reader-text) {
    font-size: 0!important;
    width: 0!important;
    height: 0!important;
    overflow: hidden!important;
    display: inline-block!important;
}

html body .cppf-doctor-table th:last-child, html body .cppf-doctor-table td:last-child, html body .cppf-table-card table th:last-child, html body .cppf-table-card table td:last-child {
    min-width: 132px!important;
    width: auto!important;
    text-align: right!important;
    white-space: nowrap!important;
}

html body .cppf-compact-status-form {
    display: flex!important;
    align-items: flex-end!important;
    gap: 10px!important;
    flex-wrap: wrap!important;
    margin: 0!important;
}

html body .cppf-compact-status-form label {
    margin: 0!important;
    display: flex!important;
    flex-direction: column!important;
    gap: 5px!important;
}

html body .cppf-compact-status-form label small {
    font-size: 10px!important;
    color: #64748b!important;
    font-weight: 850!important;
    text-transform: uppercase!important;
    letter-spacing: .04em!important;
}

html body .cppf-compact-status-form .cppf-small-save {
    background: #0b63ce!important;
    color: #fff!important;
    border-color: #0b63ce!important;
}

html body .cppf-review-display, html body .cppf-doctor-review-snippet {
    border: 1px solid #dce8f5!important;
    background: linear-gradient(135deg,#ffffff,#f8fbff)!important;
    border-radius: 14px!important;
    padding: 12px!important;
    box-shadow: 0 8px 22px rgba(15,23,42,.035)!important;
}

html body .cppf-doctor-review-snippet {
    display: flex!important;
    gap: 10px!important;
    align-items: flex-start!important;
    margin: 10px 0 12px!important;
}

html body .cppf-doctor-review-snippet .dashicons {
    width: 26px!important;
    height: 26px!important;
    border-radius: 9px!important;
    background: #eaf4ff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 15px!important;
    line-height: 1!important;
    flex: 0 0 26px!important;
}

html body .cppf-doctor-review-snippet strong {
    display: block!important;
    color: #f59e0b!important;
    font-size: 12px!important;
    letter-spacing: .08em!important;
    line-height: 1!important;
    margin: 0 0 5px!important;
}

html body .cppf-doctor-review-snippet p {
    margin: 0!important;
    color: #334155!important;
    font-size: 12px!important;
    line-height: 1.45!important;
}

html body .cppf-doctor-review-snippet small {
    display: block!important;
    margin-top: 5px!important;
    color: #64748b!important;
    font-size: 11px!important;
    font-weight: 750!important;
}

html body .cppf-doctor-review-empty {
    background: #f8fafc!important;
    color: #64748b!important;
}

html body .cppf-service-doctor-card-pro .cppf-doctor-review-snippet.compact {
    margin: 8px 0!important;
    padding: 9px!important;
}

html body .cppf-medicine-action-form .cppf-form-actions, html body .cppf-pro-form .cppf-form-actions {
    border-top: 1px solid #e8eef6!important;
    padding-top: 14px!important;
    margin-top: 14px!important;
    display: flex!important;
    justify-content: flex-end!important;
    gap: 10px!important;
    flex-wrap: wrap!important;
}

html body .cppf-medicine-action-form .cppf-btn, html body .cppf-pro-form .cppf-btn {
    min-height: 40px!important;
    padding: 10px 16px!important;
    border-radius: 12px!important;
    font-size: 13px!important;
    font-weight: 850!important;
}

@media(max-width: 780px) {
    html body .cppf-action-icons,html body .cppf-action-icon-grid {
        justify-content:flex-start!important;
        flex-wrap: wrap!important;
        min-width: 0!important;
    }

    html body .cppf-doctor-table th:last-child,html body .cppf-doctor-table td:last-child,html body .cppf-table-card table th:last-child,html body .cppf-table-card table td:last-child {
        min-width: 112px!important;
        text-align: left!important;
    }

    html body .cppf-compact-status-form {
        align-items: flex-start!important;
    }
}

/* ======================================================================
   v2.2.36 Final UI consistency patch
   Fixes: subscription form overflow, action button alignment, notification cards,
   compact Save/Delete/View controls, and global spacing consistency.
   ====================================================================== */
html body .cppf-subscribe-card, html body form.cppf-subscribe.cppf-subscribe-card {
    width: 100%!important;
    max-width: 980px!important;
    margin: 18px auto!important;
    padding: 16px!important;
    border: 1px solid #d8e6f5!important;
    border-radius: 22px!important;
    background: #f8fbff!important;
    box-shadow: 0 18px 42px rgba(15,45,89,.08)!important;
    display: grid!important;
    grid-template-columns: minmax(160px,1fr) minmax(210px,1.25fr) minmax(190px,.9fr) auto!important;
    gap: 12px!important;
    align-items: end!important;
    overflow: hidden!important;
    box-sizing: border-box!important;
}

html body .cppf-subscribe-card label {
    margin: 0!important;
    min-width: 0!important;
    display: flex!important;
    flex-direction: column!important;
    gap: 6px!important;
    color: #344054!important;
    font-size: 13px!important;
    font-weight: 850!important;
    line-height: 1.2!important;
}

html body .cppf-subscribe-card label span {
    display: block!important;
    font-size: 13px!important;
    font-weight: 850!important;
    color: #344054!important;
    line-height: 1.2!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
}

html body .cppf-subscribe-card input, html body .cppf-subscribe-card select {
    width: 100%!important;
    min-width: 0!important;
    max-width: 100%!important;
    height: 48px!important;
    min-height: 48px!important;
    border: 1px solid #d6e4f2!important;
    border-radius: 12px!important;
    background: #fff!important;
    padding: 0 14px!important;
    box-sizing: border-box!important;
    color: #0f172a!important;
    font-size: 14px!important;
    font-weight: 650!important;
    line-height: 48px!important;
    box-shadow: none!important;
}

html body .cppf-subscribe-card select {
    appearance: auto!important;
    padding-right: 34px!important;
}

html body .cppf-subscribe-card .cppf-btn, html body .cppf-subscribe-card button {
    height: 48px!important;
    min-height: 48px!important;
    min-width: 132px!important;
    width: auto!important;
    border-radius: 14px!important;
    padding: 0 22px!important;
    font-size: 14px!important;
    font-weight: 900!important;
    white-space: nowrap!important;
    box-shadow: 0 12px 26px rgba(11,99,206,.18)!important;
}

/* Table/action cells: keep controls aligned and never clipped */
html body .cppf-doctor-table, html body .cppf-table-card table {
    table-layout: auto!important;
}

html body .cppf-doctor-table td, html body .cppf-table-card table td {
    overflow: visible!important;
}

html body .cppf-doctor-table th:last-child, html body .cppf-doctor-table td:last-child, html body .cppf-table-card table th:last-child, html body .cppf-table-card table td:last-child {
    width: 1%!important;
    min-width: 152px!important;
    max-width: none!important;
    text-align: right!important;
    padding-right: 18px!important;
    overflow: visible!important;
}

html body .cppf-action-icons, html body .cppf-action-icon-grid, html body .cppf-action-cell {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
    width: auto!important;
    min-width: max-content!important;
    max-width: none!important;
    overflow: visible!important;
}

html body .cppf-action-icons form, html body form.cppf-inline, html body form.cppf-mini-form, html body .cppf-action-inline-form {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    margin: 0!important;
    padding: 0!important;
    min-width: 0!important;
    max-width: none!important;
    overflow: visible!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn), html body .cppf-icon-btn, html body .cppf-action-button, html body .cppf-action-icons button, html body form.cppf-inline button, html body form.cppf-mini-form button, html body .cppf-small-save {
    width: 38px!important;
    min-width: 38px!important;
    max-width: 38px!important;
    height: 38px!important;
    min-height: 38px!important;
    max-height: 38px!important;
    padding: 0!important;
    margin: 0!important;
    border-radius: 12px!important;
    border: 1px solid #d8e6f5!important;
    background: #fff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 0!important;
    line-height: 1!important;
    text-align: center!important;
    text-indent: 0!important;
    box-shadow: none!important;
    overflow: hidden!important;
    font-size: 0!important;
    text-decoration: none!important;
    vertical-align: middle!important;
    box-sizing: border-box!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn) > *:not(.dashicons):not(.screen-reader-text), html body .cppf-action-button > *:not(.dashicons):not(.screen-reader-text), html body form.cppf-inline button > *:not(.dashicons):not(.screen-reader-text), html body form.cppf-mini-form button > *:not(.dashicons):not(.screen-reader-text), html body .cppf-small-save > *:not(.dashicons):not(.screen-reader-text) {
    display: none!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn):hover, html body .cppf-icon-btn:hover, html body .cppf-action-button:hover, html body .cppf-action-icons button:hover, html body form.cppf-inline button:hover, html body form.cppf-mini-form button:hover, html body .cppf-small-save:hover {
    background: #eef6ff!important;
    border-color: #b8d8ff!important;
    color: #084eb0!important;
    transform: translateY(-1px)!important;
}

html body .cppf-action-icons .dashicons, html body .cppf-icon-btn .dashicons, html body .cppf-action-button .dashicons, html body .cppf-action-icons button .dashicons, html body form.cppf-inline button .dashicons, html body form.cppf-mini-form button .dashicons, html body .cppf-small-save .dashicons {
    display: block!important;
    width: 16px!important;
    height: 16px!important;
    font-size: 16px!important;
    line-height: 16px!important;
    color: currentColor!important;
}

html body .cppf-small-save::before, html body .cppf-action-save::before, html body form.cppf-mini-form button:not(.cppf-has-dashicons)::before {
    content: "\f147"!important;
    font-family: dashicons!important;
    display: block!important;
    width: 16px!important;
    height: 16px!important;
    font-size: 16px!important;
    line-height: 16px!important;
    color: currentColor!important;
}

html body .cppf-action-delete, html body .cppf-icon-danger, html body .cppf-action-icons .red, html body form.cppf-inline button.button-link-delete {
    color: #e11d48!important;
    border-color: #ffd4de!important;
    background: #fff7f9!important;
}

html body .cppf-action-delete:hover, html body .cppf-icon-danger:hover, html body .cppf-action-icons .red:hover, html body form.cppf-inline button.button-link-delete:hover {
    color: #fff!important;
    border-color: #e11d48!important;
    background: #e11d48!important;
}

html body .cppf-compact-status-form {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
    min-width: 360px!important;
    max-width: none!important;
}

html body .cppf-compact-status-form label {
    margin: 0!important;
    min-width: 126px!important;
    max-width: 160px!important;
}

html body .cppf-compact-status-form select {
    width: 100%!important;
    height: 38px!important;
    min-height: 38px!important;
    border-radius: 11px!important;
    font-size: 12px!important;
    font-weight: 750!important;
    padding: 0 30px 0 12px!important;
}

html body .cppf-compact-status-form .cppf-small-save {
    background: #0b63ce!important;
    border-color: #0b63ce!important;
    color: #fff!important;
}

/* Notification cards: balanced, no giant buttons, clean read/view/delete actions */
html body .cppf-notification-menu.cppf-notification-panel {
    width: 440px!important;
    max-width: min(440px,calc(100vw - 28px))!important;
}

html body .cppf-notification-item {
    grid-template-columns: 40px minmax(0,1fr) auto!important;
    gap: 12px!important;
    padding: 14px 16px!important;
    align-items: start!important;
}

html body .cppf-notification-copy strong {
    max-width: 210px!important;
    font-size: 13px!important;
    line-height: 1.25!important;
}

html body .cppf-notification-copy small, html body .cppf-notification-copy time {
    max-width: 240px!important;
    font-size: 11.5px!important;
    line-height: 1.35!important;
}

html body .cppf-notification-actions {
    min-width: 128px!important;
    align-items: flex-end!important;
    justify-content: flex-start!important;
    gap: 7px!important;
}

html body .cppf-notification-action-row {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 6px!important;
    flex-wrap: nowrap!important;
}

html body .cppf-notification-view, html body .cppf-mark-read, html body .cppf-read-label {
    height: 31px!important;
    min-height: 31px!important;
    border-radius: 10px!important;
    padding: 0 10px!important;
    font-size: 11px!important;
    line-height: 31px!important;
    font-weight: 900!important;
    box-shadow: none!important;
    white-space: nowrap!important;
}

html body .cppf-notification-delete {
    width: 31px!important;
    min-width: 31px!important;
    height: 31px!important;
    min-height: 31px!important;
    border-radius: 10px!important;
    background: #fff7f9!important;
    color: #e11d48!important;
    border: 1px solid #ffd4de!important;
    padding: 0!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    box-shadow: none!important;
}

html body .cppf-notification-delete .dashicons {
    width: 14px!important;
    height: 14px!important;
    font-size: 14px!important;
    line-height: 14px!important;
}

html body .cppf-notification-delete:hover {
    background: #e11d48!important;
    border-color: #e11d48!important;
    color: #fff!important;
}

/* Form/button consistency: prevent partial clipped buttons anywhere */
html body .cppf-btn, html body .cppf-rect-btn, html body button.cppf-btn, html body a.cppf-btn {
    box-sizing: border-box!important;
    max-width: 100%!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
}

html body .cppf-form-actions {
    display: flex!important;
    justify-content: flex-end!important;
    align-items: center!important;
    gap: 12px!important;
    flex-wrap: wrap!important;
    width: 100%!important;
}

html body .cppf-form-actions .cppf-btn, html body .cppf-front-form-body .cppf-btn, html body .cppf-google-actions .cppf-btn {
    min-width: 150px!important;
    height: 44px!important;
    padding: 0 18px!important;
    border-radius: 13px!important;
}

@media(max-width: 980px) {
    html body .cppf-subscribe-card, html body form.cppf-subscribe.cppf-subscribe-card {
        grid-template-columns:1fr 1fr!important;
    }

    html body .cppf-subscribe-card button {
        width: 100%!important;
        grid-column: 1/-1!important;
    }

    html body .cppf-compact-status-form {
        min-width: 0!important;
        flex-wrap: wrap!important;
        justify-content: flex-start!important;
    }

    html body .cppf-compact-status-form label {
        min-width: 150px!important;
    }
}

@media(max-width: 640px) {
    html body .cppf-subscribe-card, html body form.cppf-subscribe.cppf-subscribe-card {
        grid-template-columns:1fr!important;
        padding: 14px!important;
    }

    html body .cppf-doctor-table th:last-child, html body .cppf-doctor-table td:last-child, html body .cppf-table-card table th:last-child, html body .cppf-table-card table td:last-child {
        text-align: left!important;
        min-width: 128px!important;
    }

    html body .cppf-action-icons, html body .cppf-action-icon-grid {
        justify-content: flex-start!important;
        flex-wrap: wrap!important;
    }

    html body .cppf-notification-item {
        grid-template-columns: 36px minmax(0,1fr)!important;
    }

    html body .cppf-notification-actions {
        grid-column: 2!important;
        align-items: flex-start!important;
        min-width: 0!important;
    }

    html body .cppf-notification-copy strong, html body .cppf-notification-copy small, html body .cppf-notification-copy time {
        max-width: 100%!important;
    }
}

/* v2.2.37 Global UI consistency: table overflow, actions, filters */
html body .cppf-doctor-main, html body .cppf-admin-main, html body .cppf-patient-main, html body .cppf-staff-main, html body .cppf-portal-main {
    min-width: 0!important;
}

html body .cppf-table-card, html body .cppf-list-card, html body .cppf-chart-card {
    max-width: 100%!important;
    min-width: 0!important;
}

html body .cppf-table-card {
    overflow-x: auto!important;
    overflow-y: visible!important;
    -webkit-overflow-scrolling: touch!important;
}

html body .cppf-table-card > table, html body .cppf-table-card table.cppf-doctor-table, html body .cppf-table-card table.widefat {
    width: 100%!important;
    min-width: 760px!important;
    border-collapse: separate!important;
    border-spacing: 0!important;
}

html body .cppf-dashboard-grid.bottom .cppf-table-card table {
    min-width: 680px!important;
}

html body .cppf-doctor-table th, html body .cppf-doctor-table td, html body table.widefat th, html body table.widefat td {
    white-space: nowrap!important;
    vertical-align: middle!important;
    box-sizing: border-box!important;
}

html body .cppf-doctor-table td:first-child, html body .cppf-doctor-table th:first-child {
    min-width: 210px!important;
}

html body .cppf-recent-patients-table td:nth-child(2), html body .cppf-recent-patients-table th:nth-child(2) {
    min-width: 150px!important;
}

html body .cppf-recent-patients-table td:nth-child(3), html body .cppf-recent-patients-table th:nth-child(3) {
    min-width: 140px!important;
    text-align: center!important;
}

html body .cppf-recent-patients-table td:nth-child(4), html body .cppf-recent-patients-table th:nth-child(4) {
    min-width: 190px!important;
}

html body .cppf-date-pill {
    display: inline-flex!important;
    align-items: center!important;
    max-width: 190px!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
}

html body .cppf-patient-cell {
    min-width: 0!important;
    max-width: 100%!important;
}

html body .cppf-patient-cell > span:last-child {
    min-width: 0!important;
}

html body .cppf-patient-cell a, html body .cppf-patient-cell small {
    max-width: 260px!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important;
}

html body .cppf-action-icons {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
    min-width: max-content!important;
}

html body .cppf-action-icons a, html body .cppf-action-icons button, html body .cppf-icon-btn, html body .cppf-icon-action, html body .cppf-small-save {
    box-sizing: border-box!important;
    flex: 0 0 auto!important;
}

html body .cppf-action-icons a::before, html body .cppf-action-icons button::before, html body .cppf-icon-btn::before, html body .cppf-icon-action::before, html body .cppf-small-save::before {
    content: none!important;
    display: none!important;
}

html body .cppf-action-icons .dashicons {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-family: dashicons!important;
}

html body .cppf-doctor-table th:last-child, html body .cppf-doctor-table td:last-child, html body table.widefat th:last-child, html body table.widefat td:last-child {
    min-width: 132px!important;
    text-align: right!important;
}

html body .cppf-monitor-btn {
    height: 34px!important;
    min-width: 96px!important;
    border: 1px solid #dbe7f3!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 6px!important;
    padding: 0 10px!important;
    text-decoration: none!important;
    font-size: 12px!important;
    font-weight: 800!important;
    box-shadow: none!important;
}

html body .cppf-monitor-btn .dashicons {
    font-size: 15px!important;
    width: 15px!important;
    height: 15px!important;
    line-height: 15px!important;
}

html body .cppf-monitor-btn:hover {
    background: #eef6ff!important;
    border-color: #b9d8ff!important;
}

html body .cppf-period-tabs {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
}

html body .cppf-period-tabs nav {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
}

html body .cppf-period-tabs a {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    height: 30px!important;
    padding: 0 11px!important;
    border-radius: 999px!important;
    color: #64748b!important;
    text-decoration: none!important;
    font-size: 12px!important;
    font-weight: 800!important;
    border: 1px solid transparent!important;
    background: transparent!important;
}

html body .cppf-period-tabs a.active, html body .cppf-period-tabs a:hover {
    color: #075fe8!important;
    background: #eef6ff!important;
    border-color: #cfe3ff!important;
}

html body .cppf-list-toolbar {
    gap: 10px!important;
    overflow: visible!important;
}

html body .cppf-filter-toggle {
    width: 42px!important;
    height: 42px!important;
    border: 1px solid #dbe7f3!important;
    border-radius: 12px!important;
    background: #fff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 0!important;
    box-shadow: none!important;
    cursor: pointer!important;
}

html body .cppf-filter-toggle:hover, html body .cppf-filter-toggle.is-active {
    background: #eef6ff!important;
    border-color: #b9d8ff!important;
}

html body .cppf-filter-panel {
    display: grid!important;
    grid-template-columns: minmax(180px,240px) minmax(220px,1fr) auto!important;
    gap: 12px!important;
    align-items: end!important;
    padding: 14px!important;
    margin: 0 0 14px!important;
    border: 1px solid #dbe7f3!important;
    background: #f8fbff!important;
    border-radius: 16px!important;
    box-shadow: 0 10px 24px rgba(15,23,42,.035)!important;
}

html body .cppf-filter-panel[hidden] {
    display: none!important;
}

html body .cppf-filter-panel label {
    display: flex!important;
    flex-direction: column!important;
    gap: 6px!important;
    margin: 0!important;
}

html body .cppf-filter-panel strong {
    font-size: 11px!important;
    text-transform: uppercase!important;
    letter-spacing: .05em!important;
    color: #64748b!important;
}

html body .cppf-filter-panel input, html body .cppf-filter-panel select {
    height: 40px!important;
    border: 1px solid #dbe7f3!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: #0f172a!important;
    font-size: 13px!important;
    padding: 8px 10px!important;
}

html body .cppf-filter-clear {
    height: 40px!important;
    border: 1px solid #dbe7f3!important;
    background: #fff!important;
    color: #0b63ce!important;
    border-radius: 10px!important;
    font-weight: 800!important;
    padding: 0 14px!important;
    box-shadow: none!important;
}

html body .cppf-row-hidden {
    display: none!important;
}

html body .cppf-notification-delete {
    background: #fff5f6!important;
    color: #dc2626!important;
    border-color: #fecaca!important;
}

html body .cppf-notification-delete .dashicons {
    color: #dc2626!important;
}

html body .cppf-notification-delete:hover {
    background: #dc2626!important;
    color: #fff!important;
    border-color: #dc2626!important;
}

html body .cppf-notification-delete:hover .dashicons {
    color: #fff!important;
}

html body .cppf-no-results-row td {
    padding: 24px!important;
    text-align: center!important;
    color: #64748b!important;
    font-weight: 700!important;
}

@media(max-width: 900px) {
    html body .cppf-dashboard-grid.bottom {
        grid-template-columns:1fr!important;
    }

    html body .cppf-filter-panel {
        grid-template-columns: 1fr!important;
    }

    html body .cppf-period-tabs {
        align-items: flex-start!important;
        flex-direction: column!important;
    }

    html body .cppf-period-tabs nav {
        width: 100%;
        overflow: auto;
        padding-bottom: 2px;
    }
}

/* v2.2.39 Activity ordering + icon consistency polish */
html body .cppf-doctor-layout .dashicons, html body .cppf-admin-portal .dashicons, html body .cppf-staff-portal .dashicons, html body .cppf-patient-portal .dashicons, html body .cppf-notification-panel .dashicons, html body .cppf-card-tab-switch .dashicons, html body .cppf-action-icons .dashicons, html body .cppf-user-menu .dashicons, html body .cppf-header-icon-btn .dashicons {
    font-family: dashicons !important;
    font-style: normal !important;
    font-weight: 400 !important;
    speak: never !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}

html body .cppf-doctor-sidebar nav a .dashicons, html body .cppf-admin-sidebar nav a .dashicons, html body .cppf-card-tab-switch a .dashicons {
    opacity: 1 !important;
    visibility: visible !important;
    min-width: 18px !important;
    width: 18px !important;
    height: 18px !important;
}

html body .cppf-notification-panel {
    max-height: min(78vh,720px)!important;
    overflow: hidden!important;
}

html body .cppf-notification-list {
    max-height: 520px!important;
    overflow: auto!important;
    scrollbar-width: thin!important;
}

html body .cppf-notification-item {
    align-items: flex-start!important;
    gap: 12px!important;
}

html body .cppf-notification-copy time:before {
    content: 'Latest activity: ';
    font-weight: 700;
    color: #64748b;
}

html body .cppf-notification-delete {
    background: #fff5f5!important;
    border-color: #fecaca!important;
    color: #dc2626!important;
}

html body .cppf-notification-delete:hover {
    background: #fee2e2!important;
    color: #b91c1c!important;
}

html body .cppf-table-card,html body .cppf-list-card {
    overflow: hidden!important;
}

html body .cppf-table-card table,html body .cppf-list-card table {
    min-width: 760px;
}

html body .cppf-table-card {
    overflow-x: auto!important;
}

/* v2.2.40 global dynamic filter styling */
html body .cppf-filter-panel {
    display: grid!important;
    grid-template-columns: repeat(6,minmax(120px,1fr))!important;
    gap: 12px!important;
    padding: 14px 18px!important;
    background: #f7fbff!important;
    border-bottom: 1px solid #e4edf7!important;
    align-items: end!important;
}

html body .cppf-filter-panel[hidden] {
    display: none!important;
}

html body .cppf-filter-panel label {
    display: flex!important;
    flex-direction: column!important;
    gap: 6px!important;
    margin: 0!important;
    color: #334155!important;
    font-size: 12px!important;
    font-weight: 800!important;
    line-height: 1.2!important;
}

html body .cppf-filter-panel input, html body .cppf-filter-panel select {
    width: 100%!important;
    min-height: 38px!important;
    border: 1px solid #d7e3f1!important;
    border-radius: 10px!important;
    background: #fff!important;
    padding: 0 10px!important;
    font-size: 13px!important;
    color: #102033!important;
    box-shadow: none!important;
    box-sizing: border-box!important;
}

html body .cppf-filter-panel .cppf-filter-clear {
    height: 38px!important;
    border: 1px solid #d7e3f1!important;
    background: #fff!important;
    border-radius: 10px!important;
    color: #0b57d0!important;
    font-weight: 800!important;
    padding: 0 14px!important;
}

html body .cppf-filter-toggle {
    width: 42px!important;
    height: 42px!important;
    border: 1px solid #d7e3f1!important;
    background: #fff!important;
    color: #163453!important;
    border-radius: 10px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    box-shadow: none!important;
    cursor: pointer!important;
}

html body .cppf-filter-toggle.is-active {
    background: #eaf4ff!important;
    border-color: #bcdcff!important;
    color: #075ec8!important;
}

html body .cppf-dynamic-active-filters {
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    flex-wrap: wrap!important;
    padding: 10px 18px!important;
    background: #fbfdff!important;
    border-bottom: 1px solid #e8eef6!important;
    overflow: visible!important;
}

html body .cppf-dynamic-active-filters>span {
    color: #64748b!important;
    font-size: 12px!important;
    white-space: nowrap!important;
}

html body .cppf-filter-chips {
    display: flex!important;
    align-items: center!important;
    gap: 7px!important;
    flex-wrap: wrap!important;
    min-width: 0!important;
}

html body .cppf-filter-chips b {
    display: inline-flex!important;
    align-items: center!important;
    gap: 5px!important;
    font-size: 12px!important;
    line-height: 1!important;
    padding: 7px 10px!important;
    border-radius: 999px!important;
    border: 1px solid #cfe4ff!important;
    background: #eef7ff!important;
    color: #075ec8!important;
    white-space: nowrap!important;
    max-width: 100%!important;
}

html body .cppf-filter-chips b.cppf-no-filter {
    background: #f8fafc!important;
    border-color: #e2e8f0!important;
    color: #64748b!important;
    font-weight: 700!important;
}

html body .cppf-active-filter-clear {
    margin-left: auto!important;
    border: 0!important;
    background: transparent!important;
    color: #0b57d0!important;
    font-size: 12px!important;
    font-weight: 850!important;
    cursor: pointer!important;
    padding: 6px 8px!important;
    border-radius: 8px!important;
}

html body .cppf-active-filter-clear:hover {
    background: #eaf4ff!important;
}

html body .cppf-row-hidden {
    display: none!important;
}

@media(max-width: 1100px) {
    html body .cppf-filter-panel {
        grid-template-columns:repeat(3,minmax(120px,1fr))!important;
    }
}

@media(max-width: 680px) {
    html body .cppf-filter-panel {
        grid-template-columns:1fr!important;
    }

    html body .cppf-dynamic-active-filters {
        align-items: flex-start!important;
    }

    html body .cppf-active-filter-clear {
        margin-left: 0!important;
    }
}

/* v2.2.41 Missing action icon + control alignment hard fix */
html body .cppf-action-icons a:not(.cppf-monitor-btn), html body .cppf-action-icons button, html body .cppf-action-button, html body .cppf-icon-btn, html body .cppf-small-save {
    position: relative!important;
    width: 38px!important;
    min-width: 38px!important;
    max-width: 38px!important;
    height: 38px!important;
    min-height: 38px!important;
    max-height: 38px!important;
    padding: 0!important;
    margin: 0!important;
    border-radius: 12px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    font-size: 0!important;
    line-height: 1!important;
    overflow: hidden!important;
    background: #fff!important;
    border: 1px solid #d8e6f5!important;
    color: #0b63ce!important;
    box-shadow: 0 8px 18px rgba(15,45,89,.055)!important;
    text-decoration: none!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn):hover, html body .cppf-action-icons button:hover, html body .cppf-action-button:hover, html body .cppf-icon-btn:hover, html body .cppf-small-save:hover {
    background: #eef6ff!important;
    border-color: #b8d8ff!important;
    color: #084eb0!important;
    transform: translateY(-1px)!important;
}

html body .cppf-action-icons .dashicons, html body .cppf-action-button .dashicons, html body .cppf-icon-btn .dashicons, html body .cppf-small-save .dashicons {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    width: 16px!important;
    height: 16px!important;
    font-size: 16px!important;
    line-height: 16px!important;
    font-family: dashicons!important;
    color: currentColor!important;
    opacity: 1!important;
    visibility: visible!important;
}

html body .cppf-action-export {
    color: #0b63ce!important;
}

html body .cppf-action-calendar {
    color: #0b63ce!important;
}

html body .cppf-action-view {
    color: #0b63ce!important;
}

html body .cppf-action-delete, html body .cppf-icon-danger, html body .cppf-action-icons .red, html body .cppf-action-icons a[href*="delete"], html body .cppf-action-icons a[href*="trash"], html body .cppf-action-icons button[name*="delete"], html body .cppf-action-icons button[value*="delete"] {
    background: #fff5f5!important;
    border-color: #fecaca!important;
    color: #dc2626!important;
}

html body .cppf-action-delete:hover, html body .cppf-icon-danger:hover, html body .cppf-action-icons .red:hover, html body .cppf-action-icons a[href*="delete"]:hover, html body .cppf-action-icons a[href*="trash"]:hover, html body .cppf-action-icons button[name*="delete"]:hover, html body .cppf-action-icons button[value*="delete"]:hover {
    background: #fee2e2!important;
    border-color: #fca5a5!important;
    color: #b91c1c!important;
}

html body .cppf-small-save, html body .cppf-action-save {
    background: #0b63ce!important;
    border-color: #0b63ce!important;
    color: #fff!important;
    box-shadow: 0 12px 24px rgba(11,99,206,.18)!important;
}

html body .cppf-small-save:hover, html body .cppf-action-save:hover {
    background: #084eb0!important;
    border-color: #084eb0!important;
    color: #fff!important;
}

html body .cppf-compact-status-form {
    display: inline-flex!important;
    align-items: flex-end!important;
    gap: 10px!important;
    flex-wrap: nowrap!important;
    min-width: max-content!important;
}

html body .cppf-compact-status-form label {
    min-width: 132px!important;
    margin: 0!important;
}

html body .cppf-compact-status-form select {
    width: 132px!important;
    max-width: 132px!important;
}

html body .cppf-doctor-table td.cppf-cell-has-status-form, html body .cppf-table-card table td.cppf-cell-has-status-form {
    min-width: 330px!important;
    overflow: visible!important;
}

html body .cppf-doctor-table td.cppf-cell-has-actions, html body .cppf-table-card table td.cppf-cell-has-actions {
    overflow: visible!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn) > *:not(.dashicons):not(.screen-reader-text), html body .cppf-action-icons button > *:not(.dashicons):not(.screen-reader-text) {
    display: none!important;
}

html body .cppf-action-icons a:not(.cppf-monitor-btn):empty::before, html body .cppf-action-icons button:empty::before {
    content: "\f177"!important;
    font-family: dashicons!important;
    font-size: 16px!important;
    line-height: 16px!important;
    color: currentColor!important;
    display: block!important;
}

html body .cppf-action-fallback {
    display: none!important;
    font-size: 9px!important;
    line-height: 1!important;
    font-weight: 900!important;
    letter-spacing: 0!important;
    text-transform: uppercase!important;
    color: currentColor!important;
    text-align: center!important;
}

html body.cppf-no-dashicons .cppf-action-icons .dashicons, html body.cppf-no-dashicons .cppf-action-button .dashicons, html body.cppf-no-dashicons .cppf-icon-btn .dashicons, html body.cppf-no-dashicons .cppf-small-save .dashicons {
    display: none!important;
}

html body.cppf-no-dashicons .cppf-action-fallback {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    max-width: 34px!important;
    white-space: normal!important;
}

html body.cppf-no-dashicons .cppf-action-icons a:not(.cppf-monitor-btn):empty::before, html body.cppf-no-dashicons .cppf-action-icons button:empty::before {
    content: none!important;
    display: none!important;
}

@media(max-width: 780px) {
    html body .cppf-compact-status-form {
        flex-wrap:wrap!important;
        min-width: 0!important;
    }

    html body .cppf-compact-status-form label {
        min-width: 140px!important;
    }

    html body .cppf-doctor-table td.cppf-cell-has-status-form,html body .cppf-table-card table td.cppf-cell-has-status-form {
        min-width: 220px!important;
    }
}

/* v2.2.43 frontend UI enhancement */
html body .cppf-public-page {
    color: #111827!important
}

html body .cppf-public-page .cppf-service-card, html body .cppf-public-page .cppf-doctor-card, html body .cppf-detail-software, html body .cppf-booking-page .cppf-booking-wrap, html body .cppf-login-card, html body .cppf-simple-form, html body .cppf-auth-software {
    border-color: #dfe9f5!important;
    border-radius: 22px!important;
    box-shadow: 0 22px 54px rgba(15,45,89,.105)!important
}

html body .cppf-service-card.cppf-software-card, html body .cppf-doctor-card.cppf-software-card {
    transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease!important
}

html body .cppf-service-card.cppf-software-card:hover, html body .cppf-doctor-card.cppf-software-card:hover {
    border-color: #b8d8ff!important;
    box-shadow: 0 26px 64px rgba(15,45,89,.15)!important
}

html body .cppf-service-body h3, html body .cppf-doctor-card h3, html body .cppf-detail-software h2 {
    letter-spacing: 0!important;
    color: #07111f!important
}

html body .cppf-card-chip, html body .cppf-public-page .cppf-meta {
    border-color: #d9e8f8!important;
    background: #f7fbff!important
}

html body .cppf-public-page .cppf-btn, html body .cppf-booking-page .cppf-submit, html body .cppf-signin {
    min-height: 46px!important;
    border-radius: 12px!important;
    font-weight: 950!important;
    letter-spacing: 0!important;
    box-shadow: 0 14px 30px rgba(11,99,206,.22)!important;
    font-weight: 600 !important;
}

html body .cppf-public-page .cppf-btn .dashicons, html body .cppf-action-icons .dashicons {
    font-family: dashicons!important
}

html body .cppf-booking-page .cppf-booking-wrap, html body .cppf-booking-wrap {
    overflow: hidden!important;
    background: #fff!important
}

html body .cppf-booking-page .cppf-booking-form, html body .cppf-booking-form {
    background: linear-gradient(180deg,#fff,#fbfdff)!important
}

html body .cppf-booking-form h2 {
    letter-spacing: 0!important
}

html body .cppf-booking-form label span, html body .cppf-simple-form label span, html body .cppf-auth-software label span {
    letter-spacing: 0!important;
    color: #344054!important
}

html body .cppf-booking-form input, html body .cppf-booking-form select, html body .cppf-booking-form textarea, html body .cppf-simple-form input, html body .cppf-simple-form select, html body .cppf-simple-form textarea, html body .cppf-auth-software input {
    border-color: #d8e4f1!important;
    border-radius: 13px!important;
    box-shadow: 0 2px 0 rgba(16,24,40,.02)!important
}

html body .cppf-booking-form input:focus, html body .cppf-booking-form select:focus, html body .cppf-booking-form textarea:focus, html body .cppf-simple-form input:focus, html body .cppf-simple-form select:focus, html body .cppf-simple-form textarea:focus, html body .cppf-auth-software input:focus {
    border-color: #0b63ce!important;
    box-shadow: 0 0 0 4px rgba(11,99,206,.11)!important;
    outline: 0!important
}

html body .cppf-slots {
    border-color: #d8e6f5!important;
    background: #f7fbff!important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8)!important
}

html body .cppf-slots-head {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 12px!important;
    flex-wrap: wrap!important;
    margin-bottom: 12px!important
}

html body .cppf-slots-head h3 {
    margin: 0!important;
    color: #111827!important;
    font-size: 15px!important;
    font-weight: 950!important
}

html body .cppf-slot-legend {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    flex-wrap: wrap!important
}

html body .cppf-slot-legend span {
    display: inline-flex!important;
    align-items: center!important;
    gap: 5px!important;
    border-radius: 999px!important;
    background: #fff!important;
    border: 1px solid #e2e8f0!important;
    color: #64748b!important;
    font-size: 11px!important;
    font-weight: 850!important;
    padding: 5px 8px!important;
    line-height: 1!important
}

html body .cppf-slot-legend span:before {
    content: ""!important;
    width: 7px!important;
    height: 7px!important;
    border-radius: 50%!important;
    background: #13b889!important
}

html body .cppf-slot-legend .booked:before {
    background: #f43f5e!important
}

html body .cppf-slot-legend .holiday:before {
    background: #f59e0b!important
}

html body .cppf-slots-list {
    gap: 10px!important
}

html body .cppf-slot {
    border-radius: 12px!important;
    min-height: 42px!important;
    box-shadow: 0 10px 22px rgba(19,184,137,.18)!important;
    font-size: 12px!important;
    letter-spacing: 0!important
}

html body .cppf-slot-message {
    grid-column: 1/-1!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 10px!important;
    min-height: 104px!important;
    border: 1px dashed #bfd4ea!important;
    border-radius: 16px!important;
    background: #fff!important;
    color: #475569!important;
    text-align: left!important;
    padding: 18px!important
}

html body .cppf-slot-message .dashicons {
    color: #0b63ce!important
}

html body .cppf-slot-message strong {
    display: block!important;
    color: #0f172a!important;
    font-size: 13px!important
}

html body .cppf-slot-message small {
    display: block!important;
    color: #64748b!important;
    margin-top: 3px!important
}

html body .cppf-table-card, html body .cppf-list-card, html body .cppf-chart-card {
    border-color: #dfe9f5!important;
    border-radius: 18px!important;
    box-shadow: 0 18px 42px rgba(15,45,89,.075)!important
}

html body .cppf-doctor-table th {
    letter-spacing: 0!important;
    background: #fbfdff!important
}

html body .cppf-doctor-table tbody tr:hover td {
    background: #f7fbff!important
}

html body .cppf-inline-search {
    border-color: #d8e4f1!important;
    border-radius: 12px!important;
    background: #fff!important
}

html body .cppf-status {
    letter-spacing: 0!important
}

@media(max-width: 760px) {
    html body .cppf-booking-page .cppf-booking-wrap, html body .cppf-booking-wrap {
        border-radius:18px!important
    }

    html body .cppf-booking-form {
        padding: 22px 16px!important
    }

    html body .cppf-slot-message {
        align-items: flex-start!important;
        justify-content: flex-start!important
    }

    html body .cppf-public-page .cppf-service-card, html body .cppf-public-page .cppf-doctor-card {
        border-radius: 18px!important
    }
}

/* v2.2.44 frontend admin dashboard dynamic polish */
html body .cppf-dashboard-chart-card {
    padding: 0!important;
    overflow: hidden!important
}

html body .cppf-dashboard-chart-card .cppf-chart-head {
    padding: 18px 24px!important;
    margin: 0!important
}

html body .cppf-chart-head small, html body .cppf-period-tabs small {
    display: block!important;
    margin-top: 4px!important;
    color: #667085!important;
    font-size: 12px!important;
    font-weight: 700!important;
    line-height: 1.35!important
}

html body .cppf-chart-chip {
    display: inline-flex!important;
    align-items: center!important;
    border: 1px solid #bfe7d7!important;
    background: #ecfdf5!important;
    color: #047857!important;
    border-radius: 999px!important;
    padding: 7px 10px!important;
    font-size: 11px!important;
    font-weight: 950!important;
    line-height: 1!important;
    text-transform: uppercase!important;
    letter-spacing: 0!important;
    white-space: nowrap!important
}

html body .cppf-dashboard-chart-tools {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important;
    margin: 0 0 14px!important;
    padding: 12px 14px!important;
    border: 1px solid #dbe7f5!important;
    border-radius: 16px!important;
    background: linear-gradient(180deg,#fff,#f8fbff)!important;
    box-shadow: 0 10px 24px rgba(15,45,89,.055)!important
}

html body .cppf-dashboard-chart-tools>span {
    color: #334155!important;
    font-size: 12px!important;
    font-weight: 950!important;
    text-transform: uppercase!important;
    letter-spacing: 0!important
}

html body .cppf-dashboard-chart-tools nav {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    flex-wrap: wrap!important
}

html body .cppf-dashboard-chart-tools a {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-width: 46px!important;
    height: 34px!important;
    padding: 0 12px!important;
    border-radius: 999px!important;
    border: 1px solid #dbe7f5!important;
    background: #fff!important;
    color: #475569!important;
    text-decoration: none!important;
    font-size: 12px!important;
    font-weight: 950!important;
    line-height: 1!important;
    box-shadow: 0 6px 14px rgba(15,45,89,.035)!important
}

html body .cppf-dashboard-chart-tools a.active, html body .cppf-dashboard-chart-tools a:hover {
    background: #0b63ce!important;
    border-color: #0b63ce!important;
    color: #fff!important
}

html body .cppf-dashboard-patients-card {
    padding: 0!important;
    overflow: hidden!important
}

html body .cppf-dashboard-patients-card .cppf-card-tabs {
    padding: 18px 24px!important;
    margin: 0!important;
    border-bottom: 1px solid #e6edf5!important
}

html body .cppf-period-tabs nav {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    flex-wrap: wrap!important
}

html body .cppf-period-tabs a {
    gap: 7px!important;
    min-height: 34px!important
}

html body .cppf-period-tabs a small {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-width: 18px!important;
    height: 18px!important;
    margin: 0!important;
    padding: 0 5px!important;
    border-radius: 999px!important;
    background: #f1f5f9!important;
    color: #64748b!important;
    font-size: 10px!important;
    font-weight: 950!important;
    line-height: 18px!important
}

html body .cppf-period-tabs a.active small, html body .cppf-period-tabs a:hover small {
    background: #0b63ce!important;
    color: #fff!important
}

html body .cppf-patient-cell .cppf-avatar-name {
    display: block!important;
    color: #0f172a!important;
    font-size: 13px!important;
    font-weight: 950!important;
    line-height: 1.25!important
}

html body .cppf-id-pill {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    border-radius: 999px!important;
    border: 1px solid #d8e2ff!important;
    background: #f1f5ff!important;
    color: #3056d3!important;
    padding: 6px 10px!important;
    font-size: 12px!important;
    font-weight: 900!important;
    line-height: 1.15!important;
    white-space: nowrap!important
}

@media(max-width: 760px) {
    html body .cppf-period-tabs nav {
        width:100%!important;
        overflow: auto!important;
        padding-bottom: 2px!important;
        flex-wrap: nowrap!important
    }

    html body .cppf-dashboard-chart-tools {
        align-items: flex-start!important;
        flex-direction: column!important
    }

    html body .cppf-dashboard-chart-tools nav {
        width: 100%!important;
        overflow: auto!important;
        flex-wrap: nowrap!important;
        padding-bottom: 2px!important
    }
}

/* v2.2.46 dynamic legal consent UI */
html body .cppf-legal-consent {
    grid-column: 1/-1!important;
    width: 100%!important;
    flex: 1 0 100%!important;
    margin: 8px 0 4px!important;
    display: block!important
}

html body .cppf-booking-form .cppf-legal-consent {
    margin-top: 0!important
}

html body .cppf-legal-consent-card {
    position: relative!important;
    display: grid!important;
    grid-template-columns: 24px minmax(0,1fr)!important;
    gap: 12px!important;
    align-items: flex-start!important;
    width: 100%!important;
    margin: 0!important;
    padding: 14px!important;
    border: 1px solid #cfe0f2!important;
    border-radius: 15px!important;
    background: linear-gradient(180deg,#fff,#f7fbff)!important;
    box-shadow: 0 10px 24px rgba(15,45,89,.055)!important;
    color: #172033!important;
    cursor: pointer!important
}

html body .cppf-legal-consent-card input {
    position: absolute!important;
    opacity: 0!important;
    pointer-events: none!important;
    width: 1px!important;
    height: 1px!important
}

html body .cppf-legal-check {
    width: 22px!important;
    height: 22px!important;
    border: 1px solid #b8c9dc!important;
    border-radius: 7px!important;
    background: #fff!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    color: transparent!important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9)!important
}

html body .cppf-legal-consent-card input:checked + .cppf-legal-check {
    background: #0b63ce!important;
    border-color: #0b63ce!important;
    color: #fff!important
}

html body .cppf-legal-consent-card input:checked + .cppf-legal-check:after {
    content: "ÃƒÂ¢Ã…â€œÃ¢â‚¬Å“"!important;
    font-size: 14px!important;
    font-weight: 950!important;
    line-height: 1!important;
    color: #fff!important
}

html body .cppf-legal-copy {
    display: block!important;
    min-width: 0!important
}

html body .cppf-legal-copy strong {
    display: block!important;
    margin: 0 0 4px!important;
    color: #0f172a!important;
    font-size: 13px!important;
    font-weight: 950!important;
    line-height: 1.3!important
}

html body .cppf-legal-copy small {
    display: block!important;
    margin: 0!important;
    color: #536276!important;
    font-size: 12px!important;
    font-weight: 700!important;
    line-height: 1.5!important
}

html body .cppf-legal-copy a {
    color: #0b63ce!important;
    text-decoration: underline!important;
    text-underline-offset: 3px!important
}

html body .cppf-legal-note {
    margin: 10px 0 0!important;
    padding: 12px 14px!important;
    border: 1px solid #dbe7f5!important;
    border-radius: 13px!important;
    background: #fff!important;
    color: #334155!important;
    max-height: 170px!important;
    overflow: auto!important
}

html body .cppf-legal-note strong {
    display: block!important;
    margin: 0 0 6px!important;
    color: #0f172a!important;
    font-size: 12px!important;
    font-weight: 950!important
}

html body .cppf-legal-note p {
    margin: 0 0 8px!important;
    color: #475569!important;
    font-size: 12.5px!important;
    line-height: 1.55!important
}

html body .cppf-legal-note p:last-child {
    margin-bottom: 0!important
}

html body .cppf-auth-software form .cppf-legal-consent, html body .cppf-simple-form .cppf-legal-consent, html body .cppf-subscribe-card .cppf-legal-consent {
    grid-column: 1/-1!important
}

html body .cppf-subscribe-card .cppf-legal-consent-card {
    min-width: 0!important
}

html body .cppf-front-form-body .cppf-legal-settings-panel {
    grid-column: 1/-1!important;
    margin: 4px 0!important;
    padding: 18px!important;
    border: 1px solid #dbe7f5!important;
    border-radius: 18px!important;
    background: linear-gradient(180deg,#fbfdff,#f4f9ff)!important;
    box-shadow: 0 12px 30px rgba(15,45,89,.055)!important
}

html body .cppf-front-form-body .cppf-legal-settings-head {
    display: flex!important;
    align-items: flex-start!important;
    justify-content: space-between!important;
    gap: 14px!important;
    margin: 0 0 16px!important
}

html body .cppf-front-form-body .cppf-legal-settings-head h3 {
    margin: 0!important;
    color: #07152c!important;
    font-size: 18px!important;
    font-weight: 950!important
}

html body .cppf-front-form-body .cppf-legal-settings-head p {
    margin: 5px 0 0!important;
    color: #64748b!important;
    font-size: 13px!important;
    line-height: 1.45!important
}

html body .cppf-front-form-body .cppf-legal-settings-head>.dashicons {
    width: 38px!important;
    height: 38px!important;
    line-height: 38px!important;
    border-radius: 12px!important;
    background: #eaf3ff!important;
    color: #0b63ce!important;
    text-align: center!important
}

html body .cppf-front-form-body .cppf-legal-admin-grid {
    grid-column: 1/-1!important;
    display: grid!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 14px!important;
    margin-top: 16px!important
}

html body .cppf-front-form-body .cppf-legal-admin-card {
    display: flex!important;
    flex-direction: column!important;
    gap: 12px!important;
    min-width: 0!important;
    padding: 16px!important;
    border: 1px solid #d8e4f1!important;
    border-radius: 16px!important;
    background: #fff!important;
    box-shadow: 0 10px 24px rgba(15,45,89,.045)!important
}

html body .cppf-front-form-body .cppf-legal-admin-title {
    display: flex!important;
    align-items: center!important;
    gap: 9px!important;
    color: #0f172a!important
}

html body .cppf-front-form-body .cppf-legal-admin-title .dashicons {
    color: #0b63ce!important
}

html body .cppf-front-form-body .cppf-legal-admin-card .description {
    margin: 0!important;
    color: #64748b!important;
    font-size: 12px!important;
    line-height: 1.45!important
}

html body .cppf-front-form-body .cppf-legal-toggle {
    display: grid!important;
    grid-template-columns: 42px minmax(0,1fr)!important;
    gap: 11px!important;
    align-items: center!important;
    margin: 0!important;
    padding: 12px!important;
    border: 1px solid #d8e4f1!important;
    border-radius: 13px!important;
    background: #fff!important;
    cursor: pointer!important
}

html body .cppf-front-form-body .cppf-legal-toggle input {
    position: absolute!important;
    opacity: 0!important;
    pointer-events: none!important
}

html body .cppf-front-form-body .cppf-legal-toggle-mark {
    position: relative!important;
    width: 42px!important;
    height: 24px!important;
    border-radius: 999px!important;
    background: #dbe4ef!important;
    border: 1px solid #cbd8e6!important;
    transition: .18s ease!important
}

html body .cppf-front-form-body .cppf-legal-toggle-mark:after {
    content: ""!important;
    position: absolute!important;
    left: 3px!important;
    top: 3px!important;
    width: 16px!important;
    height: 16px!important;
    border-radius: 50%!important;
    background: #fff!important;
    box-shadow: 0 2px 6px rgba(15,23,42,.18)!important;
    transition: .18s ease!important
}

html body .cppf-front-form-body .cppf-legal-toggle input:checked + .cppf-legal-toggle-mark {
    background: #0b63ce!important;
    border-color: #0b63ce!important
}

html body .cppf-front-form-body .cppf-legal-toggle input:checked + .cppf-legal-toggle-mark:after {
    transform: translateX(18px)!important
}

html body .cppf-front-form-body .cppf-legal-toggle-copy strong {
    display: block!important;
    margin: 0!important;
    color: #172033!important;
    font-size: 13px!important;
    font-weight: 950!important;
    line-height: 1.25!important
}

html body .cppf-front-form-body .cppf-legal-toggle-copy small {
    display: block!important;
    margin-top: 3px!important;
    color: #64748b!important;
    font-size: 12px!important;
    font-weight: 700!important;
    line-height: 1.35!important
}

@media(max-width: 640px) {
    html body .cppf-legal-consent-card {
        grid-template-columns:22px minmax(0,1fr)!important;
        padding: 12px!important
    }

    html body .cppf-legal-note {
        max-height: 220px!important
    }
}

@media(max-width: 1100px) {
    html body .cppf-front-form-body .cppf-legal-admin-grid {
        grid-template-columns:1fr!important
    }
}

/* v2.2.48 - robust table rendering, pagination and overflow consistency */
html body .cppf-table-card, html body .cppf-list-card {
    max-width: 100%!important;
    min-width: 0!important;
    overflow: hidden!important
}

html body .cppf-table-card table, html body .cppf-list-card table {
    width: 100%!important;
    min-width: 760px!important;
    table-layout: auto!important;
    border-collapse: collapse!important
}

html body .cppf-table-card .cppf-doctor-table, html body .cppf-list-card .cppf-doctor-table, html body .cppf-table-card .widefat, html body .cppf-list-card .widefat {
    display: table!important
}

html body .cppf-table-card.cppf-has-table, html body .cppf-list-card.cppf-has-table {
    overflow-x: auto!important;
    overflow-y: visible!important;
    -webkit-overflow-scrolling: touch!important;
    scrollbar-gutter: stable!important
}

html body .cppf-table-card th, html body .cppf-table-card td, html body .cppf-list-card th, html body .cppf-list-card td {
    vertical-align: middle!important;
    max-width: 340px!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important
}

html body .cppf-table-card td:first-child, html body .cppf-list-card td:first-child {
    max-width: 420px!important
}

html body .cppf-table-card .cppf-action-icons, html body .cppf-list-card .cppf-action-icons {
    white-space: nowrap!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 8px!important;
    min-width: max-content!important
}

html body .cppf-list-footer {
    position: sticky!important;
    left: 0!important;
    right: 0!important;
    min-width: 100%!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important;
    flex-wrap: wrap!important;
    padding: 14px 18px!important;
    background: #fff!important;
    border-top: 1px solid #e5edf7!important;
    color: #536276!important;
    font-size: 12px!important;
    font-weight: 700!important
}

html body .cppf-list-footer label {
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    margin: 0!important;
    color: #64748b!important;
    font-size: 12px!important;
    font-weight: 800!important
}

html body .cppf-list-footer select {
    height: 34px!important;
    min-width: 78px!important;
    border: 1px solid #d8e4f1!important;
    border-radius: 10px!important;
    background: #fff!important;
    color: #0f172a!important;
    font-size: 12px!important;
    font-weight: 800!important;
    padding: 0 28px 0 10px!important;
    line-height: 34px!important
}

html body .cppf-pages {
    display: inline-flex!important;
    align-items: center!important;
    gap: 5px!important;
    margin-left: auto!important;
    flex-wrap: wrap!important
}

html body .cppf-pages button, html body .cppf-pages span, html body .cppf-pages b {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-width: 32px!important;
    height: 32px!important;
    border: 1px solid #d8e4f1!important;
    border-radius: 9px!important;
    background: #fff!important;
    color: #1e293b!important;
    font-size: 12px!important;
    font-weight: 900!important;
    text-decoration: none!important;
    box-shadow: none!important;
    padding: 0 8px!important;
    line-height: 1!important
}

html body .cppf-pages button.current, html body .cppf-pages b {
    background: #0b63ce!important;
    border-color: #0b63ce!important;
    color: #fff!important
}

html body .cppf-pages button:disabled {
    opacity: .45!important;
    cursor: not-allowed!important;
    background: #f8fafc!important;
    color: #94a3b8!important
}

html body .cppf-pages em {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    min-width: 18px!important;
    color: #94a3b8!important;
    font-style: normal!important;
    font-size: 12px!important;
    font-weight: 900!important
}

html body tr.cppf-row-hidden {
    display: none!important
}

html body .cppf-no-results-row td {
    white-space: normal!important;
    max-width: none!important;
    text-align: center!important;
    background: #fff!important
}

html body .cppf-active-filters, html body .cppf-filter-panel {
    position: sticky!important;
    left: 0!important;
    right: 0!important;
    min-width: 100%!important
}

@media(max-width: 780px) {
    html body .cppf-table-card table, html body .cppf-list-card table {
        min-width:720px!important
    }

    html body .cppf-list-footer {
        align-items: flex-start!important;
        flex-direction: column!important
    }

    html body .cppf-pages {
        margin-left: 0!important;
        width: 100%!important;
        overflow: auto!important;
        flex-wrap: nowrap!important;
        padding-bottom: 2px!important
    }
}

/* v2.2.49 - appointment booking layout aligned to two-panel reference while keeping plugin UI */
html body .cppf-booking-page-v3 {
    width: min(1180px,calc(100vw - 32px))!important;
    margin: 28px auto!important;
    padding: 0!important;
    font-family: 'Manrope' !important;
}

html body .cppf-booking-page-v3 .cppf-public-hero {
    display: none!important
}

html body .cppf-booking-page-v3 .cppf-booking-wrap {
    display: grid!important;
    grid-template-columns: 426px minmax(0,1fr)!important;
    gap: 26px!important;
    align-items: stretch!important;
    max-width: none!important;
    width: 100%!important;
    margin: 0!important;
    padding: 0!important;
    border: 0!important;
    border-radius: 0!important;
    background: transparent!important;
    box-shadow: none!important;
    overflow: visible!important;
    font-family: 'Manrope' !important;
}

html body .cppf-booking-page-v3 .cppf-booking-wrap:before {
    content: none!important;
    display: none!important
}

html body .cppf-booking-page-v3 .cppf-booking-guide {
    min-height: 680px!important;
    border-radius: 28px!important;
    padding: 38px 36px!important;
    background: linear-gradient(180deg,#0f2d59 0%,#174a88 100%)!important;
    color: #fff!important;
    box-shadow: 0 18px 46px rgba(15,45,89,.16)!important;
    overflow: hidden!important
}

html body .cppf-booking-page-v3 .cppf-guide-kicker {
    display: block!important;
    margin: 0 0 9px!important;
    color: rgba(255,255,255,.36)!important;
    font-size: 13px!important;
    font-weight: 950!important;
    letter-spacing: .12em!important;
    text-transform: uppercase!important
}

html body .cppf-booking-page-v3 .cppf-booking-guide h2 {
    max-width: 330px!important;
    margin: 0 0 16px!important;
    color: #fff!important;
    font-size: 30px!important;
    line-height: 1.12!important;
    font-weight: 950!important;
    letter-spacing: 0!important;
    font-family: 'Manrope' !important;
}

html body .cppf-booking-page-v3 .cppf-booking-guide p {
    max-width: 330px!important;
    margin: 0 0 30px!important;
    color: rgba(255,255,255,.94)!important;
    font-size: 14px!important;
    line-height: 1.7!important;
    font-weight: 750!important
}

html body .cppf-booking-page-v3 .cppf-guide-step {
    display: grid!important;
    grid-template-columns: 52px 1fr!important;
    gap: 16px!important;
    align-items: center!important;
    min-height: 86px!important;
    margin: 0 0 15px!important;
    padding: 16px 18px!important;
    border: 1px solid rgba(255,255,255,.18)!important;
    border-radius: 18px!important;
    background: rgba(255,255,255,.14)!important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12)!important
}

html body .cppf-booking-page-v3 .cppf-guide-step>.dashicons {
    width: 38px!important;
    height: 38px!important;
    border-radius: 13px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    background: rgba(255,255,255,.18)!important;
    color: #fff!important;
    font-size: 17px!important;
    line-height: 1!important;
    font-family: 'dashicons';
}

html body .cppf-booking-page-v3 .cppf-guide-step strong {
    display: block!important;
    margin: 0 0 4px!important;
    color: #fff!important;
    font-size: 16px!important;
    line-height: 1.2!important;
    font-weight: 950!important
}

html body .cppf-booking-page-v3 .cppf-guide-step small {
    display: block!important;
    color: rgba(255,255,255,.88)!important;
    font-size: 12px!important;
    line-height: 1.45!important;
    font-weight: 750!important
}

html body .cppf-booking-page-v3 .cppf-guide-tip {
    margin-top: 16px!important;
    padding: 18px!important;
    border: 1px solid rgba(255,255,255,.22)!important;
    border-radius: 18px!important;
    background: rgba(255,255,255,.12)!important
}

html body .cppf-booking-page-v3 .cppf-guide-tip strong {
    display: block!important;
    margin-bottom: 7px!important;
    color: #fff!important;
    font-size: 12px!important;
    font-weight: 950!important;
    text-transform: uppercase!important
}

html body .cppf-booking-page-v3 .cppf-guide-tip span {
    display: block!important;
    color: rgba(255,255,255,.92)!important;
    font-size: 13px!important;
    line-height: 1.55!important;
    font-weight: 750!important
}

html body .cppf-booking-page-v3 .cppf-booking-form {
    display: block!important;
    min-height: 680px!important;
    padding: 34px!important;
    border: 1px solid #dce8f4!important;
    border-radius: 28px!important;
    background: linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
    box-shadow: 0 18px 42px rgba(15,45,89,.11)!important
}

html body .cppf-booking-page-v3 .cppf-booking-form:before {
    content: none!important;
    display: none!important
}

html body .cppf-booking-page-v3 .cppf-booking-form-head {
    display: flex!important;
    align-items: flex-start!important;
    justify-content: space-between!important;
    gap: 18px!important;
    margin: 0 0 34px!important
}

html body .cppf-booking-page-v3 .cppf-booking-form-head h2 {
    margin: 0!important;
    color: #05045c!important;
    font-size: 26px!important;
    line-height: 1.15!important;
    font-weight: 950!important;
    letter-spacing: 0!important
}

html body .cppf-booking-page-v3 .cppf-account-toggle {
    margin: 0!important
}

html body .cppf-booking-page-v3 .cppf-checkbox-card {
    display: inline-flex!important;
    align-items: center!important;
    gap: 9px!important;
    min-height: 24px!important;
    margin: 0!important;
    padding: 0!important;
    border: 0!important;
    border-radius: 0!important;
    background: transparent!important;
    box-shadow: none!important;
    color: #667085!important
}

html body .cppf-booking-page-v3 .cppf-checkbox-card strong {
    font-size: 14px!important;
    line-height: 1.2!important;
    color: #667085!important;
    font-weight: 750!important
}

html body .cppf-booking-page-v3 .cppf-checkmark {
    width: 16px!important;
    height: 16px!important;
    min-width: 16px!important;
    border-radius: 5px!important;
    border: 1px solid #cbd8e6!important;
    background: #fff!important
}

html body .cppf-booking-page-v3 .cppf-checkbox-card input:checked + .cppf-checkmark {
    background: #0b5ed7!important;
    border-color: #0b5ed7!important
}

html body .cppf-booking-page-v3 .cppf-checkbox-card input:checked + .cppf-checkmark:after {
    content: ""!important;
    left: 4px!important;
    top: 1px!important;
    width: 4px!important;
    height: 8px!important;
    border: solid #fff!important;
    border-width: 0 2px 2px 0!important;
    transform: rotate(45deg)!important;
    position: absolute!important
}

html body .cppf-booking-page-v3 .cppf-form-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 17px 18px!important
}

html body .cppf-booking-page-v3 .cppf-new-patient-fields {
    display: contents!important
}

html body .cppf-booking-page-v3 .cppf-new-patient-fields.is-hidden {
    display: none!important
}

html body .cppf-booking-page-v3 .cppf-form-grid label,html body .cppf-booking-page-v3 .cppf-notes-field {
    display: block!important;
    min-width: 0!important;
    margin: 0!important
}

html body .cppf-booking-page-v3 .cppf-form-grid label span,html body .cppf-booking-page-v3 .cppf-notes-field span {
    display: block!important;
    margin: 0 0 5px!important;
    color: #344054!important;
    font-size: 12px!important;
    line-height: 1.2!important;
    font-weight: 900!important
}

html body .cppf-booking-page-v3 .cppf-form-grid label span em,html body .cppf-booking-page-v3 .cppf-slots-head h3 em {
    color: #ef4444!important;
    font-style: normal!important
}

html body .cppf-booking-page-v3 input,html body .cppf-booking-page-v3 select,html body .cppf-booking-page-v3 textarea {
    width: 100%!important;
    min-height: 49px!important;
    border: 1px solid #b8c4cf !important;
    border-radius: 15px!important;
    background: #fff!important;
    color: #111827e8 !important;
    font-size: 15px!important;
    font-weight: 650!important;
    padding: 0 22px!important;
    box-shadow: 0 1px 0 rgba(15,23,42,.02)!important
}

html body .cppf-booking-page-v3 input::placeholder,html body .cppf-booking-page-v3 textarea::placeholder {
    color: #98a2b3!important
}

html body .cppf-booking-page-v3 textarea {
    min-height: 88px!important;
    padding: 14px 18px!important;
    resize: vertical!important
}

html body .cppf-booking-page-v3 input:focus,html body .cppf-booking-page-v3 select:focus,html body .cppf-booking-page-v3 textarea:focus {
    border-color: #0b5ed7!important;
    outline: 0!important;
    box-shadow: 0 0 0 4px rgba(11,94,215,.10)!important
}

html body .cppf-booking-page-v3 .cppf-payable-field {
    grid-column: 1/-1!important;
    max-width: 260px!important
}

html body .cppf-booking-page-v3 .cppf-slots {
    display: block!important;
    min-height: 116px!important;
    margin: 18px 0 20px!important;
    padding: 0!important;
    border: 1px solid #b8c4cf !important;
    border-radius: 18px!important;
    background: #fff!important;
    overflow: hidden!important;
    box-shadow: none!important;
    max-height: none!important
}

html body .cppf-booking-page-v3 .cppf-slots-head {
    display: flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 16px!important;
    padding: 7px 18px 9px!important;
    margin: 0!important;
    border: 0!important;
    background: transparent!important
}

html body .cppf-booking-page-v3 .cppf-slots-head h3 {
    margin: 0!important;
    color: #344054!important;
    font-size: 13px!important;
    font-weight: 900!important
}

html body .cppf-booking-page-v3 .cppf-slot-legend {
    display: inline-flex!important;
    align-items: center!important;
    gap: 16px!important;
    flex-wrap: wrap!important
}

html body .cppf-booking-page-v3 .cppf-slot-legend span {
    display: inline-flex!important;
    align-items: center!important;
    gap: 7px!important;
    margin: 0!important;
    padding: 10!important;
    border: 0!important;
    background: transparent!important;
    color: #667085!important;
    font-size: 13px!important;
    font-weight: 750!important
}

html body .cppf-booking-page-v3 .cppf-slot-legend span:before {
    content: ""!important;
    width: 13px!important;
    height: 13px!important;
    border-radius: 3px!important;
    display: inline-block!important;
    margin: 0px 0px 0px -8px !important;
    background: #13b889!important
}

html body .cppf-booking-page-v3 .cppf-slot-legend .booked:before {
    background: #f43f5e!important
}

html body .cppf-booking-page-v3 .cppf-slots-list {
    display: block!important;
    min-height: 114px!important;
    max-height: 260px!important;
    overflow: auto!important;
    padding: 0!important;
    background: #fff!important
}

html body .cppf-booking-page-v3 .cppf-slot-message {
    min-height: 112px!important;
    border: 0!important;
    border-top: 1px solid #eef3f8!important;
    border-radius: 0!important;
    background: #fff!important;
    color: #667085!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    text-align: center!important;
    padding: 22px!important
}

html body .cppf-booking-page-v3 .cppf-slot-message .dashicons {
    display: none!important
}

html body .cppf-booking-page-v3 .cppf-slot-message strong {
    color: #667085!important;
    font-size: 14px!important;
    font-weight: 900!important
}

html body .cppf-booking-page-v3 .cppf-slot-message small {
    display: none!important
}

html body .cppf-booking-page-v3 .cppf-slot-grid {
    display: grid!important;
    grid-template-columns: repeat(auto-fill,minmax(132px,1fr))!important;
    gap: 10px!important;
    padding: 14px!important
}

html body .cppf-booking-page-v3 .cppf-slot {
    min-height: 46px!important;
    border-radius: 12px!important;
    background: #13b889!important
}

html body .cppf-booking-page-v3 .cppf-notes-field,html body .cppf-booking-page-v3 .cppf-legal-consent {
    margin-top: 14px!important
}

html body .cppf-booking-page-v3 .cppf-submit {
    width: 202px!important;
    min-width: 202px!important;
    min-height: 48px!important;
    display: flex!important;
    margin: 26px auto 0!important;
    border-radius: 999px!important;
    background: linear-gradient(135deg,#0f2d59,#174a88)!important;
    color: #fff!important;
    font-size: 14px!important;
    font-weight: 950!important;
    box-shadow: 0 12px 28px rgba(15,45,89,.20)!important
}

@media(max-width: 1040px) {
    html body .cppf-booking-page-v3 .cppf-booking-wrap {
        grid-template-columns:1fr!important
    }

    html body .cppf-booking-page-v3 .cppf-booking-guide {
        min-height: auto!important
    }
}

@media(max-width: 720px) {
    html body .cppf-booking-page-v3 {
        width:min(100% - 20px,1180px)!important;
        margin: 18px auto!important
    }

    html body .cppf-booking-page-v3 .cppf-booking-form {
        padding: 22px 16px!important;
        border-radius: 22px!important
    }

    html body .cppf-booking-page-v3 .cppf-booking-guide {
        padding: 28px 22px!important;
        border-radius: 22px!important
    }

    html body .cppf-booking-page-v3 .cppf-booking-form-head {
        display: block!important;
        margin-bottom: 22px!important
    }

    html body .cppf-booking-page-v3 .cppf-account-toggle {
        margin-top: 12px!important
    }

    html body .cppf-booking-page-v3 .cppf-form-grid {
        grid-template-columns: 1fr!important
    }

    html body .cppf-booking-page-v3 .cppf-payable-field {
        max-width: none!important
    }
}

/* v2.2.50 - stable final table/actions/forms pass and class-based state fallbacks */
html body .cppf-doctor-table, html body .cppf-table-card table, html body .cppf-list-card table {
    width: 100%!important;
    min-width: 760px!important;
    border-collapse: collapse!important;
    table-layout: auto!important;
    background: #fff!important
}

html body .cppf-doctor-table th, html body .cppf-table-card table th, html body .cppf-list-card table th {
    height: 44px!important;
    background: #f8fafc!important;
    color: #334155!important;
    font-size: 11px!important;
    font-weight: 900!important;
    letter-spacing: 0!important;
    text-transform: uppercase!important;
    padding: 10px 14px!important;
    border-bottom: 1px solid #dce6f2!important;
    white-space: nowrap!important;
    text-align: left!important
}

html body .cppf-doctor-table td, html body .cppf-table-card table td, html body .cppf-list-card table td {
    height: 54px!important;
    font-size: 13px!important;
    color: #1e293b!important;
    padding: 10px 14px!important;
    border-bottom: 1px solid #edf2f7!important;
    vertical-align: middle!important;
    background: #fff!important;
    max-width: 340px!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important
}

html body .cppf-doctor-table td.cppf-cell-has-status-form, html body .cppf-table-card table td.cppf-cell-has-status-form {
    min-width: 330px!important;
    overflow: visible!important
}

html body .cppf-doctor-table td.cppf-cell-has-actions, html body .cppf-table-card table td.cppf-cell-has-actions {
    overflow: visible!important
}

html body .cppf-action-icons {
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    gap: 8px!important;
    flex-wrap: nowrap!important;
    min-width: max-content!important
}

html body .cppf-action-icons a, html body .cppf-action-icons button, html body .cppf-mini-action button, html body .cppf-action-button, html body .cppf-icon-btn {
    width: 32px!important;
    min-width: 32px!important;
    max-width: 32px!important;
    height: 32px!important;
    min-height: 32px!important;
    max-height: 32px!important;
    border-radius: 10px!important;
    border: 1px solid #dbeafe!important;
    background: #f8fbff!important;
    color: #0b63ce!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 0!important;
    font-size: 0!important;
    text-decoration: none!important;
    line-height: 1!important;
    box-shadow: none!important
}

html body .cppf-action-icons .dashicons, html body .cppf-action-button .dashicons, html body .cppf-icon-btn .dashicons {
    font-size: 15px!important;
    width: 15px!important;
    height: 15px!important;
    line-height: 15px!important;
    color: currentColor!important
}

html body .cppf-action-delete, html body .cppf-action-icons .red {
    border-color: #fecaca!important;
    background: #fff5f6!important;
    color: #e11d48!important
}

html body .cppf-action-save {
    border-color: #bbf7d0!important;
    background: #ecfdf5!important;
    color: #047857!important
}

html body .cppf-action-export {
    border-color: #fed7aa!important;
    background: #fff7ed!important;
    color: #c2410c!important
}

html body .cppf-list-footer {
    position: sticky!important;
    left: 0!important;
    right: 0!important;
    min-width: 100%!important;
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important;
    flex-wrap: wrap!important;
    padding: 14px 18px!important;
    background: #fff!important;
    border-top: 1px solid #e5edf7!important;
    color: #536276!important;
    font-size: 12px!important;
    font-weight: 700!important
}

html body .cppf-table-card.cppf-has-table, html body .cppf-list-card.cppf-has-table {
    overflow-x: auto!important;
    overflow-y: visible!important;
    -webkit-overflow-scrolling: touch!important;
    scrollbar-gutter: stable!important
}

html body .cppf-front-form-body form label.cppf-field-wide, html body .cppf-simple-form label.cppf-field-wide {
    grid-column: 1/-1!important
}

html body .cppf-service-card.cppf-has-image:before, html body .cppf-service-card-pro.cppf-has-image:before {
    display: none!important;
    content: none!important
}

html body .cppf-service-card-pro.cppf-no-image:before {
    display: none!important;
    content: none!important
}

html body .cppf-login-role-card.is-active, html body .cppf-login-role-card.is-active .dashicons {
    border-color: #0b5ed7!important;
    color: #ffffff !important;
}

html body .cppf-login-role-card.is-active:after {
    content: ""!important;
    position: absolute!important;
    right: 9px!important;
    top: 9px!important;
    width: 11px!important;
    height: 11px!important;
    border-radius: 50%!important;
    background: #0b5ed7!important
}

@media(max-width: 760px) {
    html body .cppf-doctor-table, html body .cppf-table-card table, html body .cppf-list-card table {
        min-width:700px!important
    }

    html body .cppf-doctor-table td.cppf-cell-has-status-form, html body .cppf-table-card table td.cppf-cell-has-status-form {
        min-width: 220px!important
    }

    html body .cppf-list-footer {
        align-items: flex-start!important;
        flex-direction: column!important
    }
}

/* v2.2.51 - patient monitor header polish */
html body .cppf-monitor-patient-hero {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 24px!important;
    min-height: 136px!important;
    padding: 24px 28px!important;
    margin: 18px 0 20px!important;
    border: 1px solid #d9e6f3!important;
    border-radius: 18px!important;
    background: linear-gradient(180deg,#fff 0%,#fbfdff 100%)!important;
    box-shadow: none!important;
    overflow: visible!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-profile {
    flex: 1 1 auto!important;
    min-width: 0!important;
    display: grid!important;
    grid-template-columns: 88px minmax(0,1fr)!important;
    gap: 16px!important;
    align-items: center!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-avatar {
    width: 88px!important;
    height: 88px!important;
    min-width: 88px!important;
    border-radius: 24px!important;
    background: #fff!important;
    color: #0b63ce!important;
    border: 1px solid #edf2f7!important;
    box-shadow: 0 16px 28px rgba(15,45,89,.08)!important;
    font-size: 22px!important;
}

html body .cppf-monitor-patient-hero .cppf-form-kicker {
    position: static!important;
    display: inline-flex!important;
    width: max-content!important;
    max-width: 100%!important;
    margin: 0 0 12px!important;
    padding: 6px 12px!important;
    border-radius: 999px!important;
    background: #eaf4ff!important;
    border: 1px solid #cfe3ff!important;
    color: #075ec8!important;
    font-size: 11px!important;
    line-height: 1!important;
    font-weight: 950!important;
    letter-spacing: .06em!important;
    text-transform: uppercase!important;
    transform: none!important;
}

html body .cppf-monitor-patient-hero h2 {
    margin: 0 0 8px!important;
    color: #0f172a!important;
    font-size: 18px!important;
    line-height: 1.2!important;
    font-weight: 950!important;
    letter-spacing: 0!important;
}

html body .cppf-monitor-patient-hero p {
    display: block!important;
    width: 100%!important;
    max-width: 360px!important;
    margin: 0!important;
    padding: 0 0 9px!important;
    border: 0!important;
    border-bottom: 1px solid #dfe8f3!important;
    color: #475569!important;
    font-size: 14px!important;
    line-height: 1.35!important;
    font-weight: 750!important;
    white-space: nowrap!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-badges {
    margin-top: 10px!important;
    display: flex!important;
    flex-wrap: wrap!important;
    gap: 8px!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-badges span {
    min-height: 28px!important;
    padding: 6px 11px!important;
    border-radius: 999px!important;
    background: #eef6ff!important;
    border: 1px solid #cfe3ff!important;
    color: #075ec8!important;
    font-size: 11px!important;
    line-height: 1!important;
    font-weight: 950!important;
    white-space: nowrap!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-actions {
    flex: 0 0 auto!important;
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 10px!important;
    margin-left: auto!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-actions .cppf-btn {
    min-width: 110px!important;
    min-height: 44px!important;
    height: 44px!important;
    padding: 0 18px!important;
    border-radius: 13px!important;
    font-size: 13px!important;
    line-height: 1!important;
    font-weight: 950!important;
    box-shadow: none!important;
    white-space: nowrap!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-actions .cppf-btn-light {
    min-width: 140px!important;
    background: #0b63ce!important;
    border: 1px solid #0b63ce!important;
    color: #fff!important;
}

html body .cppf-monitor-patient-hero .cppf-monitor-actions .cppf-rect-btn {
    background: #075fe8!important;
    border: 1px solid #075fe8!important;
    color: #fff!important;
}

@media(max-width: 820px) {
    html body .cppf-monitor-patient-hero {
        align-items:flex-start!important;
        flex-direction: column!important;
        padding: 20px!important;
    }

    html body .cppf-monitor-patient-hero .cppf-monitor-actions {
        width: 100%!important;
        justify-content: flex-start!important;
        margin-left: 0!important;
    }
}

@media(max-width: 540px) {
    html body .cppf-monitor-patient-hero .cppf-monitor-profile {
        grid-template-columns:1fr!important;
    }

    html body .cppf-monitor-patient-hero .cppf-monitor-avatar {
        width: 68px!important;
        height: 68px!important;
        min-width: 68px!important;
        border-radius: 20px!important;
    }

    html body .cppf-monitor-patient-hero .cppf-monitor-actions {
        flex-direction: column!important;
    }

    html body .cppf-monitor-patient-hero .cppf-monitor-actions .cppf-btn {
        width: 100%!important;
    }
}

/* v2.2.52 - portal header brand/logo overlap guard */
html body .cppf-doctor-topbar.cppf-enhanced-topbar {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 14px!important;
    flex-wrap: wrap!important;
    overflow: visible!important;
}

html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-doctor-brand {
    flex: 1 1 260px!important;
    min-width: 0!important;
    max-width: 100%!important;
    display: flex!important;
    align-items: center!important;
    gap: 10px!important;
    overflow: hidden!important;
}

html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-header-logo-link {
    flex: 1 1 auto!important;
    min-width: 0!important;
    max-width: min(240px,100%)!important;
    height: 50px!important;
    display: inline-flex!important;
    align-items: center!important;
    gap: 8px!important;
    overflow: hidden!important;
    text-decoration: none!important;
}

html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-brand-logo, html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-logo-mark {
    flex: 0 1 auto!important;
    min-width: 0!important;
    max-width: 170px!important;
    height: 50px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: flex-start!important;
    overflow: hidden!important;
    background: transparent!important;
    border: 0!important;
    box-shadow: none!important;
}

html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-brand-logo img, html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-logo-mark img {
    display: block!important;
    width: auto!important;
    height: auto!important;
    max-width: 100%!important;
    max-height: 44px!important;
    object-fit: contain!important;
    object-position: left center!important;
    border: 0!important;
    box-shadow: none!important;
    transform: none!important;
}

html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-header-brand-text {
    display: none!important;
}

html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-enhanced-user-topbar {
    flex: 0 1 auto!important;
    min-width: 0!important;
    max-width: 100%!important;
    display: flex!important;
    align-items: center!important;
    justify-content: flex-end!important;
    gap: 8px!important;
    margin-left: auto!important;
    overflow: visible!important;
}

@media(max-width: 980px) {
    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-time-stack, html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-language-pill {
        display:none!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-header-logo-link {
        max-width: min(210px,100%)!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-brand-logo, html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-logo-mark {
        max-width: 150px!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar button.cppf-user-menu-toggle {
        min-width: 52px!important;
        width: 52px!important;
        max-width: 52px!important;
        padding: 6px!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-userbar-copy, html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-user-menu-toggle>.dashicons {
        display: none!important;
    }
}

@media(max-width: 640px) {
    html body .cppf-doctor-topbar.cppf-enhanced-topbar {
        padding:12px!important;
        align-items: flex-start!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-doctor-brand {
        flex: 1 1 100%!important;
        width: 100%!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-header-logo-link {
        max-width: calc(100% - 48px)!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-brand-logo, html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-logo-mark {
        max-width: 145px!important;
    }

    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-enhanced-user-topbar {
        width: 100%!important;
        justify-content: flex-start!important;
        margin-left: 0!important;
    }
}

@media(max-width: 380px) {
    html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-brand-logo, html body .cppf-doctor-topbar.cppf-enhanced-topbar .cppf-logo-mark {
        max-width:118px!important;
    }
}
.page-header h1.entry-title {
    display: none;
}

/* v2.2.51 - center login card and remove left visual panel */
body .cppf-login-shell-v2 {
    width: min(520px,100%)!important;
    display: flex!important;
    justify-content: center!important;
    align-items: center!important;
    gap: 0!important;
    grid-template-columns: 1fr!important;
}

body .cppf-login-visual-v2 {
    display: none!important;
}

body .cppf-login-card-v2 {
    margin: 0 auto!important;
}

@media(max-width: 960px) {
    body .cppf-login-shell-v2 {
        max-width: 520px!important;
        gap: 0!important;
    }
}


/* v2.2.52 - full-page centered login layout */
html body .cppf-login-modern {
    width: 100%!important;
    min-height: 58vh!important;
    padding: 12px 6px!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
}

html body .cppf-login-shell-v2 {
    width: 100%!important;
    max-width: 100%!important;
    min-height: calc(100vh - 64px)!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    margin: 0 auto!important;
    padding: 0!important;
}

html body .cppf-login-card-v2 {
    width: min(560px,100%)!important;
    max-width: 560px!important;
    margin: 0 auto!important;
}

@media(max-width: 520px) {
    html body .cppf-login-modern {
        padding: 18px 10px!important;
    }

    html body .cppf-login-shell-v2 {
        min-height: calc(100vh - 36px)!important;
    }

    html body .cppf-login-card-v2 {
        width: 100%!important;
        max-width: 100%!important;
    }
}



.cppf-forgot-password {
    margin-top: 8px;
    text-align: right; /* left chahiye to remove kar dein */
}

.cppf-forgot-password a {
    font-size: 14px;
    text-decoration: none;
    font-weight: 500;
}

form.cppf-login-form-v2 label.cppf-login-field {
    padding: 7px 0px !important;
}

/* v2.2.53 - portal auth fixes */
body .cppf-login-footer-v2.is-hidden,
body .cppf-patient-register-prompt.is-hidden {
    display: none !important;
}

body .cppf-login-reset-shell {
    justify-content: center !important;
}

body .cppf-login-reset-card {
    max-width: 560px !important;
    margin: 0 auto !important;
}

body .cppf-reset-form-v2 {
    padding-top: 8px !important;
}


/* v2.2.54 - Clinic Login patient-only register prompt hard hide */
body .cppf-patient-register-prompt[hidden],
body .cppf-patient-register-prompt.is-hidden,
body .cppf-login-footer-v2.is-hidden {
    display: none !important;
}
