/* =============================================
   Product Showcase Slideshow
   Processmed Landing Page - App Preview
   ============================================= */

/* --- Main Container --- */
.product-showcase {
    margin-bottom: 30px;
    animation: fadeInUp 0.6s ease 0.3s both;
}

/* --- Section Label --- */
.showcase-label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}
.showcase-label-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
}
.showcase-label-text {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: rgba(255,255,255,0.45);
    font-weight: 600;
    white-space: nowrap;
}

/* --- Browser Window Frame --- */
.showcase-window {
    background: #1e293b;
    border-radius: 12px;
    overflow: hidden;
    box-shadow:
        0 25px 60px rgba(0,0,0,0.5),
        0 0 0 1px rgba(255,255,255,0.07),
        0 0 80px rgba(59,130,246,0.06);
    transition: box-shadow 0.4s, transform 0.4s;
}
.showcase-window:hover {
    box-shadow:
        0 30px 70px rgba(0,0,0,0.55),
        0 0 0 1px rgba(255,255,255,0.1),
        0 0 100px rgba(59,130,246,0.1);
    transform: translateY(-2px);
}

/* Chrome bar */
.sw-chrome {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    background: linear-gradient(180deg, #0f172a, #131c2e);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.sw-dots {
    display: flex;
    gap: 6px;
}
.sw-dots i {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    display: block;
}
.sw-dots i:nth-child(1) { background: #ef4444; }
.sw-dots i:nth-child(2) { background: #f59e0b; }
.sw-dots i:nth-child(3) { background: #22c55e; }
.sw-url {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.6rem;
    color: rgba(255,255,255,0.4);
    background: rgba(255,255,255,0.05);
    padding: 4px 12px;
    border-radius: 6px;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
    letter-spacing: 0.02em;
}

/* --- App Layout (sidebar + main) --- */
.sw-app {
    display: flex;
    height: 360px;
}

/* --- Mini Sidebar --- */
.sw-sidebar {
    width: 125px;
    background: linear-gradient(180deg, #162d55, #122347);
    display: flex;
    flex-direction: column;
    border-right: 1px solid rgba(255,255,255,0.06);
    flex-shrink: 0;
}
.sw-sb-logo {
    padding: 10px 12px;
    text-align: center;
    font-size: 9px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 1px;
    background: rgba(228,32,44,0.08);
    border-bottom: 1px solid rgba(255,255,255,0.05);
}
.sw-sb-nav {
    flex: 1;
    padding: 6px 0;
    overflow: hidden;
}
.sw-sb-item {
    display: block;
    padding: 7px 12px;
    font-size: 7.5px;
    color: rgba(255,255,255,0.4);
    cursor: default;
    border-left: 2px solid transparent;
    transition: all 0.35s ease;
    text-decoration: none;
    letter-spacing: 0.01em;
    font-weight: 500;
}
.sw-sb-item.active {
    color: #fff;
    background: rgba(255,255,255,0.07);
    border-left-color: #e4202c;
    font-weight: 600;
}
.sw-sb-footer {
    padding: 8px 12px;
    font-size: 6.5px;
    color: rgba(255,255,255,0.25);
    border-top: 1px solid rgba(255,255,255,0.05);
    display: flex;
    align-items: center;
    gap: 4px;
}
.sw-sb-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #22c55e;
    display: inline-block;
    box-shadow: 0 0 4px rgba(34,197,94,0.4);
}

/* --- Main Content Area --- */
.sw-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: #f5f7fb;
    min-width: 0;
}
.sw-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    background: #fff;
    border-bottom: 1px solid #eaecf0;
    flex-shrink: 0;
}
.sw-topbar-title {
    font-size: 10px;
    font-weight: 700;
    color: #1a3668;
    transition: opacity 0.3s;
}
.sw-topbar-user {
    font-size: 7.5px;
    color: #64748b;
    font-weight: 500;
}
.sw-body {
    flex: 1;
    overflow: hidden;
    position: relative;
}

/* --- Slides --- */
.sw-slides {
    position: relative;
    width: 100%;
    height: 100%;
}
.sw-slide {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.6s ease;
    padding: 10px 14px;
    overflow-y: auto;
    pointer-events: none;
}
.sw-slide.active {
    opacity: 1;
    pointer-events: auto;
}
/* Custom scrollbar for slides */
.sw-slide::-webkit-scrollbar { width: 3px; }
.sw-slide::-webkit-scrollbar-track { background: transparent; }
.sw-slide::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

/* =============================================
   Shared Slide Content Styles
   ============================================= */

/* --- Stat Cards --- */
.sl-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
    margin-bottom: 8px;
}
.sl-stat {
    background: #fff;
    border-radius: 6px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-stat-icon {
    width: 20px;
    height: 20px;
    border-radius: 5px;
    flex-shrink: 0;
}
.sl-blue { background: rgba(59,130,246,0.12); }
.sl-green { background: rgba(16,185,129,0.12); }
.sl-purple { background: rgba(139,92,246,0.12); }
.sl-amber { background: rgba(245,158,11,0.12); }
.sl-stat-v {
    font-size: 12px;
    font-weight: 800;
    color: #1e293b;
    line-height: 1.1;
}
.sl-stat-l {
    font-size: 6px;
    color: #94a3b8;
    font-weight: 500;
    margin-top: 1px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* --- Panels / Boxes --- */
.sl-panel {
    background: #fff;
    border-radius: 6px;
    padding: 8px 12px;
    margin-bottom: 7px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-panel-hdr {
    font-size: 7px;
    font-weight: 700;
    color: #475569;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* --- Chart --- */
.sl-chart {
    width: 100%;
    height: 55px;
    display: block;
}

/* --- Activity / Log Rows --- */
.sl-row {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 7px;
    color: #475569;
    padding: 3px 0;
}
.sl-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}
.sl-bg-green { background: #10b981; }
.sl-bg-blue { background: #3b82f6; }
.sl-bg-amber { background: #f59e0b; }
.sl-bg-red { background: #ef4444; }
.sl-time {
    margin-left: auto;
    color: #94a3b8;
    font-size: 6px;
    font-weight: 500;
}

/* --- Badges --- */
.sl-badge {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 8px;
    font-size: 6px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.sl-badge-green { background: rgba(16,185,129,0.12); color: #059669; }
.sl-badge-amber { background: rgba(245,158,11,0.12); color: #d97706; }
.sl-badge-red { background: rgba(239,68,68,0.12); color: #dc2626; }

/* =============================================
   Slide 1: Upload
   ============================================= */
.sl-upload {
    margin-bottom: 7px;
}
.sl-upload-border {
    border: 1.5px dashed #c3cfe2;
    border-radius: 8px;
    padding: 16px 10px;
    text-align: center;
    background: rgba(255,255,255,0.8);
    transition: border-color 0.3s, background 0.3s;
}
.sl-upload-label {
    font-size: 8.5px;
    color: #475569;
    font-weight: 600;
    margin-top: 5px;
}
.sl-upload-sub {
    font-size: 6.5px;
    color: #94a3b8;
    margin-top: 2px;
}
.sl-file-bar {
    display: flex;
    align-items: center;
    gap: 7px;
    background: #fff;
    border-radius: 6px;
    padding: 6px 9px;
    margin-bottom: 7px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border-left: 3px solid #10b981;
}
.sl-file-icon {
    width: 18px;
    height: 20px;
    background: linear-gradient(135deg, #10b981, #059669);
    border-radius: 3px;
    opacity: 0.85;
}
.sl-file-info { flex: 1; }
.sl-file-name {
    font-size: 8px;
    font-weight: 700;
    color: #1e293b;
}
.sl-file-meta {
    font-size: 6.5px;
    color: #64748b;
    margin-top: 1px;
}
.sl-file-check {
    color: #10b981;
    font-size: 9px;
    font-weight: 800;
}
.sl-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.sl-chip {
    padding: 3px 8px;
    background: rgba(59,130,246,0.08);
    border: 1px solid rgba(59,130,246,0.15);
    border-radius: 10px;
    font-size: 7px;
    color: #3b82f6;
    font-weight: 500;
}
.sl-chip b {
    font-weight: 800;
    margin-left: 2px;
}

/* =============================================
   Slide 2 & 4: Tables
   ============================================= */
.sl-table {
    background: #fff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-thead {
    display: flex;
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    padding: 5px 7px;
}
.sl-th {
    font-size: 6.5px;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.sl-tr {
    display: flex;
    padding: 4px 7px;
    border-bottom: 1px solid #f8fafc;
    align-items: center;
    transition: background 0.2s;
}
.sl-tr:last-child { border-bottom: none; }
.sl-tr:nth-child(even) { background: #fafbfd; }
.sl-td {
    font-size: 7px;
    color: #334155;
}
.sl-table-footer {
    padding: 5px 9px;
    font-size: 6.5px;
    color: #94a3b8;
    text-align: center;
    background: #fafbfc;
    border-top: 1px solid #f1f5f9;
    font-weight: 500;
}

/* =============================================
   Slide 3: Processing
   ============================================= */
.sl-progress-main {
    background: #fff;
    border-radius: 6px;
    padding: 7px 9px;
    margin-bottom: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-progress-hdr {
    display: flex;
    justify-content: space-between;
    font-size: 7.5px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 5px;
}
.sl-progress-pct {
    color: #3b82f6;
    font-weight: 800;
}
.sl-progress-bar {
    height: 7px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}
.sl-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #6366f1);
    border-radius: 4px;
    position: relative;
}
.sl-progress-fill::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
    animation: progressShimmer 2s infinite;
}
@keyframes progressShimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}
.sl-progress-sub {
    font-size: 6.5px;
    color: #64748b;
    margin-top: 3px;
}
.sl-progress-companies {
    background: #fff;
    border-radius: 6px;
    padding: 6px 9px;
    margin-bottom: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-prog-co {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 3px 0;
    font-size: 7px;
    color: #475569;
}
.sl-prog-co > span:first-child {
    width: 42px;
    flex-shrink: 0;
    font-weight: 600;
}
.sl-prog-bar {
    flex: 1;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    overflow: hidden;
}
.sl-prog-fill {
    height: 100%;
    border-radius: 2px;
    transition: width 0.6s ease;
}
.sl-prog-status {
    font-size: 6.5px;
    color: #94a3b8;
    width: 35px;
    text-align: right;
    font-weight: 500;
}
.sl-prog-status.done { color: #10b981; font-weight: 600; }
.sl-prog-status.active { color: #3b82f6; font-weight: 600; }
.sl-log-box {
    background: #0f172a;
    border-radius: 6px;
    padding: 6px 9px;
    border: 1px solid rgba(255,255,255,0.05);
}
.sl-log-entry {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 6.5px;
    color: rgba(255,255,255,0.6);
    padding: 2.5px 0;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
}
.sl-log-entry b { color: #34d399; font-weight: 600; }

/* =============================================
   Slide 4: Results Summary
   ============================================= */
.sl-result-summary {
    display: flex;
    gap: 5px;
    margin-bottom: 7px;
    align-items: center;
}
.sl-res-pill {
    padding: 3.5px 9px;
    border-radius: 12px;
    font-size: 7px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.02em;
}
.sl-res-pill.sl-bg-green { background: linear-gradient(135deg, #10b981, #059669); }
.sl-res-pill.sl-bg-amber { background: linear-gradient(135deg, #f59e0b, #d97706); }
.sl-res-pill.sl-bg-red { background: linear-gradient(135deg, #ef4444, #dc2626); }
.sl-res-export {
    margin-left: auto;
    padding: 3.5px 9px;
    background: linear-gradient(135deg, #1a3668, #243f6c);
    color: #fff;
    border-radius: 5px;
    font-size: 6.5px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* =============================================
   Slide 5: Patient History
   ============================================= */
.sl-search-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    padding: 6px 9px;
    border-radius: 6px;
    border: 1.5px solid #e2e8f0;
    margin-bottom: 7px;
}
.sl-search-text {
    font-size: 8px;
    color: #1e293b;
    font-weight: 500;
}
.sl-patient-card {
    background: #fff;
    border-radius: 6px;
    padding: 7px 9px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-patient-header {
    display: flex;
    align-items: center;
    gap: 7px;
    padding-bottom: 6px;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 6px;
}
.sl-patient-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3668, #243f6c);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 6.5px;
    font-weight: 700;
    flex-shrink: 0;
}
.sl-patient-name {
    font-size: 9px;
    font-weight: 700;
    color: #1e293b;
}
.sl-patient-meta {
    font-size: 6px;
    color: #94a3b8;
    margin-top: 1px;
}
.sl-timeline-item {
    display: flex;
    gap: 7px;
    padding: 3.5px 0;
}
.sl-tl-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 2px;
}
.sl-tl-title {
    font-size: 7px;
    color: #334155;
}
.sl-tl-title b { font-weight: 700; }
.sl-tl-date {
    font-size: 6px;
    color: #94a3b8;
    margin-top: 1px;
}

/* =============================================
   Slide 6: Credentials
   ============================================= */
.sl-cred-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
}
.sl-cred-card {
    background: #fff;
    border-radius: 6px;
    padding: 7px 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-cred-hdr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}
.sl-cred-name {
    font-size: 8px;
    font-weight: 700;
    color: #1e293b;
}
.sl-cred-user {
    font-size: 6.5px;
    color: #64748b;
    font-family: 'SF Mono', 'Fira Code', 'Consolas', monospace;
}
.sl-cred-date {
    font-size: 6px;
    color: #94a3b8;
    margin-top: 2px;
}

/* =============================================
   Slide 7: Admin
   ============================================= */
.sl-admin-cards {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 7px;
}
.sl-admin-card {
    background: #fff;
    border-radius: 6px;
    padding: 7px 9px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-admin-card-hdr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3px;
}
.sl-admin-org-name {
    font-size: 8px;
    font-weight: 700;
    color: #1e293b;
}
.sl-admin-card-body {
    display: flex;
    gap: 5px;
    font-size: 6.5px;
    color: #64748b;
    font-weight: 500;
}
.sl-admin-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
}
.sl-admin-stat {
    background: #fff;
    border-radius: 6px;
    padding: 6px 7px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}

/* =============================================
   Slide 7: Realtime Eligibility
   ============================================= */
.sl-rt-form {
    background: #fff;
    border-radius: 6px;
    padding: 8px 10px;
    margin-bottom: 7px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
}
.sl-rt-form-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.sl-rt-field {
    flex: 1;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    padding: 5px 7px;
}
.sl-rt-label {
    font-size: 5.5px;
    color: #94a3b8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 1px;
}
.sl-rt-value {
    font-size: 7.5px;
    color: #1e293b;
    font-weight: 600;
}
.sl-rt-btn {
    padding: 8px 14px;
    background: linear-gradient(135deg, #1a3668, #243f6c);
    color: #fff;
    border-radius: 5px;
    font-size: 7px;
    font-weight: 700;
    white-space: nowrap;
}
.sl-rt-result {
    background: #fff;
    border-radius: 6px;
    padding: 8px 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid #f1f5f9;
    border-left: 3px solid #10b981;
}
.sl-rt-result-hdr {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #f1f5f9;
    margin-bottom: 6px;
}
.sl-rt-result-status {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}
.sl-rt-result-title {
    font-size: 8px;
    font-weight: 700;
    color: #1e293b;
}
.sl-rt-result-sub {
    font-size: 6px;
    color: #94a3b8;
    margin-top: 1px;
}
.sl-rt-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 12px;
}
.sl-rt-detail-row {
    display: flex;
    justify-content: space-between;
    padding: 3px 0;
    border-bottom: 1px solid #f8fafc;
}
.sl-rt-detail-label {
    font-size: 6.5px;
    color: #64748b;
    font-weight: 500;
}
.sl-rt-detail-val {
    font-size: 6.5px;
    color: #1e293b;
    font-weight: 600;
}

/* =============================================
   Slide 8: Mobile View
   ============================================= */
.sl-mobile-frame {
    width: 160px;
    margin: 0 auto;
    background: #f8fafc;
    border-radius: 14px;
    border: 2px solid #1e293b;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.sl-mobile-status-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 10px;
    background: #1a3668;
    font-size: 5px;
    color: rgba(255,255,255,0.7);
    font-weight: 600;
}
.sl-mobile-notch {
    width: 40px;
    height: 6px;
    background: #0f1f3d;
    border-radius: 3px;
}
.sl-mobile-header {
    background: linear-gradient(135deg, #1a3668, #243f6c);
    padding: 6px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sl-mobile-logo {
    font-size: 7px;
    font-weight: 800;
    color: #fff;
    letter-spacing: 0.5px;
}
.sl-mobile-user-badge {
    font-size: 5px;
    color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.1);
    padding: 2px 6px;
    border-radius: 8px;
}
.sl-mobile-body {
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.sl-mobile-card {
    background: #fff;
    border-radius: 6px;
    padding: 6px 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.sl-mobile-card-title {
    font-size: 6.5px;
    font-weight: 700;
    color: #1a3668;
    margin-bottom: 4px;
}
.sl-mobile-input {
    font-size: 5.5px;
    color: #475569;
    background: #f8fafc;
    padding: 3px 6px;
    border-radius: 3px;
    margin-bottom: 3px;
    border: 1px solid #e2e8f0;
}
.sl-mobile-input-label {
    font-weight: 600;
    color: #64748b;
}
.sl-mobile-check-btn {
    background: linear-gradient(135deg, #e4202c, #c9192a);
    color: #fff;
    font-size: 6px;
    font-weight: 700;
    text-align: center;
    padding: 4px;
    border-radius: 4px;
    margin-top: 2px;
}
.sl-mobile-result-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 6px;
    color: #334155;
}
.sl-mobile-result-row:last-child { border-bottom: none; }
.sl-mobile-nav-bar {
    display: flex;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    padding: 5px 0;
}
.sl-mobile-nav-item {
    flex: 1;
    text-align: center;
    font-size: 5px;
    color: #94a3b8;
    font-weight: 600;
}
.sl-mobile-nav-item.active {
    color: #e4202c;
}

/* Maximized mobile frame */
.showcase-maximized .sl-mobile-frame {
    width: 220px;
    border-radius: 18px;
    border-width: 3px;
}
.showcase-maximized .sl-mobile-status-bar { font-size: 7px; padding: 4px 12px; }
.showcase-maximized .sl-mobile-notch { width: 50px; height: 8px; }
.showcase-maximized .sl-mobile-header { padding: 8px 12px; }
.showcase-maximized .sl-mobile-logo { font-size: 9px; }
.showcase-maximized .sl-mobile-user-badge { font-size: 7px; }
.showcase-maximized .sl-mobile-body { padding: 8px 10px; gap: 6px; }
.showcase-maximized .sl-mobile-card { padding: 8px 10px; }
.showcase-maximized .sl-mobile-card-title { font-size: 8.5px; }
.showcase-maximized .sl-mobile-input { font-size: 7px; padding: 4px 8px; }
.showcase-maximized .sl-mobile-check-btn { font-size: 8px; padding: 5px; }
.showcase-maximized .sl-mobile-result-row { font-size: 7.5px; padding: 4px 0; }
.showcase-maximized .sl-mobile-nav-item { font-size: 7px; }

/* Maximized RT eligibility */
.showcase-maximized .sl-rt-form { padding: 10px 14px; }
.showcase-maximized .sl-rt-field { padding: 7px 10px; }
.showcase-maximized .sl-rt-label { font-size: 7.5px; }
.showcase-maximized .sl-rt-value { font-size: 10px; }
.showcase-maximized .sl-rt-btn { padding: 10px 18px; font-size: 9px; }
.showcase-maximized .sl-rt-result { padding: 10px 14px; }
.showcase-maximized .sl-rt-result-status { width: 14px; height: 14px; }
.showcase-maximized .sl-rt-result-title { font-size: 11px; }
.showcase-maximized .sl-rt-result-sub { font-size: 8px; }
.showcase-maximized .sl-rt-detail-row { padding: 4px 0; }
.showcase-maximized .sl-rt-detail-label { font-size: 9px; }
.showcase-maximized .sl-rt-detail-val { font-size: 9px; }

/* =============================================
   Caption
   ============================================= */
.showcase-caption {
    text-align: center;
    margin-top: 18px;
    margin-bottom: 14px;
}
.showcase-caption h3 {
    font-size: 0.95rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    transition: opacity 0.3s;
}
.showcase-caption p {
    font-size: 0.78rem;
    color: rgba(255,255,255,0.5);
    font-weight: 400;
    transition: opacity 0.3s;
}

/* =============================================
   Navigation Dots & Progress
   ============================================= */
.showcase-nav {
    text-align: center;
}
.showcase-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 12px;
}
.sc-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 1.5px solid rgba(255,255,255,0.25);
    background: transparent;
    cursor: pointer;
    transition: all 0.3s;
    padding: 0;
    outline: none;
}
.sc-dot:hover {
    border-color: rgba(255,255,255,0.5);
    background: rgba(255,255,255,0.1);
}
.sc-dot.active {
    background: #e4202c;
    border-color: #e4202c;
    box-shadow: 0 0 8px rgba(228,32,44,0.4);
    transform: scale(1.15);
}
.showcase-progress {
    height: 2px;
    background: rgba(255,255,255,0.08);
    border-radius: 2px;
    overflow: hidden;
    max-width: 200px;
    margin: 0 auto;
}
.showcase-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #e4202c, #f97316);
    border-radius: 2px;
    width: 0%;
    transition: width 0.1s linear;
}

/* =============================================
   Maximize / Fullscreen Mode
   ============================================= */
.showcase-overlay {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 9998;
}
.showcase-maximized {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
    margin: 0 !important;
    padding: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    background: rgba(15,23,42,0.97) !important;
    animation: none !important;
    overflow-y: auto;
}
.showcase-maximized .showcase-label { display: none; }
.showcase-maximized .showcase-window {
    max-width: 900px;
    width: 100%;
    border-radius: 14px;
}
.showcase-maximized .sw-app {
    height: 420px;
}
.showcase-maximized .sw-sidebar {
    width: 140px;
}
.showcase-maximized .sw-sb-item {
    font-size: 9px;
    padding: 7px 14px;
}
.showcase-maximized .sw-sb-logo {
    font-size: 11px;
    padding: 12px;
}
.showcase-maximized .sw-sb-footer {
    font-size: 7.5px;
    padding: 9px 14px;
}
.showcase-maximized .sw-sb-dot {
    width: 6px;
    height: 6px;
}
.showcase-maximized .sw-topbar {
    padding: 10px 18px;
}
.showcase-maximized .sw-topbar-title {
    font-size: 12px;
}
.showcase-maximized .sw-topbar-user {
    font-size: 9px;
}
.showcase-maximized .sw-slide {
    padding: 14px 18px;
}
.showcase-maximized .sw-chrome {
    padding: 11px 16px;
}
.showcase-maximized .sw-dots i {
    width: 11px;
    height: 11px;
}
.showcase-maximized .sw-url {
    font-size: 0.72rem;
    padding: 5px 14px;
}

/* Maximized slide content scaling */
.showcase-maximized .sl-stat-v { font-size: 14px; }
.showcase-maximized .sl-stat-l { font-size: 7px; }
.showcase-maximized .sl-stat-icon { width: 22px; height: 22px; border-radius: 6px; }
.showcase-maximized .sl-stat { padding: 10px 12px; gap: 8px; }
.showcase-maximized .sl-panel { padding: 10px 14px; margin-bottom: 8px; }
.showcase-maximized .sl-panel-hdr { font-size: 8px; margin-bottom: 6px; }
.showcase-maximized .sl-chart { height: 65px; }
.showcase-maximized .sl-row { font-size: 8.5px; padding: 3.5px 0; gap: 6px; }
.showcase-maximized .sl-dot { width: 6px; height: 6px; }
.showcase-maximized .sl-time { font-size: 7px; }
.showcase-maximized .sl-badge { font-size: 7px; padding: 2px 7px; }

/* Maximized upload */
.showcase-maximized .sl-upload-border { padding: 22px 14px; }
.showcase-maximized .sl-upload-border svg { width: 24px; height: 24px; }
.showcase-maximized .sl-upload-label { font-size: 10px; }
.showcase-maximized .sl-upload-sub { font-size: 7.5px; }
.showcase-maximized .sl-file-bar { padding: 8px 12px; }
.showcase-maximized .sl-file-name { font-size: 9px; }
.showcase-maximized .sl-file-meta { font-size: 7.5px; }
.showcase-maximized .sl-file-icon { width: 24px; height: 26px; }
.showcase-maximized .sl-file-check { font-size: 12px; }
.showcase-maximized .sl-chip { font-size: 8.5px; padding: 4px 10px; }

/* Maximized tables */
.showcase-maximized .sl-th { font-size: 7.5px; }
.showcase-maximized .sl-td { font-size: 8.5px; }
.showcase-maximized .sl-thead { padding: 6px 10px; }
.showcase-maximized .sl-tr { padding: 5px 10px; }
.showcase-maximized .sl-table-footer { font-size: 7.5px; padding: 6px 12px; }

/* Maximized progress */
.showcase-maximized .sl-progress-hdr { font-size: 9px; }
.showcase-maximized .sl-progress-pct { font-size: 10px; }
.showcase-maximized .sl-progress-bar { height: 9px; }
.showcase-maximized .sl-progress-sub { font-size: 7.5px; }
.showcase-maximized .sl-prog-co { font-size: 8.5px; gap: 8px; }
.showcase-maximized .sl-prog-co > span:first-child { width: 55px; }
.showcase-maximized .sl-prog-bar { height: 5px; }
.showcase-maximized .sl-prog-status { font-size: 7.5px; width: 45px; }
.showcase-maximized .sl-log-box { padding: 8px 12px; }
.showcase-maximized .sl-log-entry { font-size: 7.5px; gap: 6px; padding: 3px 0; }

/* Maximized results */
.showcase-maximized .sl-res-pill { font-size: 8.5px; padding: 4px 10px; }
.showcase-maximized .sl-res-export { font-size: 7.5px; padding: 4px 10px; }

/* Maximized patient */
.showcase-maximized .sl-search-bar { padding: 8px 12px; }
.showcase-maximized .sl-search-bar svg { width: 14px; height: 14px; }
.showcase-maximized .sl-search-text { font-size: 9px; }
.showcase-maximized .sl-patient-card { padding: 10px 14px; }
.showcase-maximized .sl-patient-avatar { width: 28px; height: 28px; font-size: 9px; }
.showcase-maximized .sl-patient-name { font-size: 10px; }
.showcase-maximized .sl-patient-meta { font-size: 7px; }
.showcase-maximized .sl-timeline-item { padding: 5px 0; gap: 9px; }
.showcase-maximized .sl-tl-dot { width: 8px; height: 8px; }
.showcase-maximized .sl-tl-title { font-size: 8.5px; }
.showcase-maximized .sl-tl-date { font-size: 7px; }

/* Maximized credentials */
.showcase-maximized .sl-cred-card { padding: 10px 12px; }
.showcase-maximized .sl-cred-name { font-size: 10px; }
.showcase-maximized .sl-cred-user { font-size: 7.5px; }
.showcase-maximized .sl-cred-date { font-size: 7px; }

/* Maximized admin */
.showcase-maximized .sl-admin-card { padding: 10px 14px; }
.showcase-maximized .sl-admin-org-name { font-size: 10px; }
.showcase-maximized .sl-admin-card-body { font-size: 7.5px; gap: 5px; }
.showcase-maximized .sl-admin-stat { padding: 8px 10px; }

/* Maximized caption */
.showcase-maximized .showcase-caption { margin-top: 22px; }
.showcase-maximized .showcase-caption h3 { font-size: 1.2rem; }
.showcase-maximized .showcase-caption p { font-size: 0.9rem; }
.showcase-maximized .sc-dot { width: 10px; height: 10px; }
.showcase-maximized .showcase-progress { max-width: 280px; }

/* Maximize button */
.showcase-maximize-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 12px auto 0;
    padding: 6px 16px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 20px;
    color: rgba(255,255,255,0.5);
    font-size: 0.7rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s;
    font-family: inherit;
    letter-spacing: 0.02em;
}
.showcase-maximize-btn:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(255,255,255,0.2);
    color: rgba(255,255,255,0.8);
}
.showcase-maximized .showcase-maximize-btn { display: none; }

/* Close button (maximized mode) */
.showcase-close-btn {
    display: none;
    position: absolute;
    top: 16px;
    right: 20px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    color: rgba(255,255,255,0.6);
    font-size: 18px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition: all 0.25s;
    z-index: 10;
    padding: 0;
    line-height: 1;
}
.showcase-close-btn:hover {
    background: rgba(228,32,44,0.3);
    border-color: #e4202c;
    color: #fff;
}
.showcase-maximized .showcase-close-btn {
    display: flex;
}

/* =============================================
   Responsive
   ============================================= */
@media (max-width: 1200px) {
    .sw-app { height: 260px; }
    .sw-sidebar { width: 95px; }
    .sl-stats { grid-template-columns: repeat(2, 1fr); }
    .sl-cred-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .product-showcase { display: none; }
}
