/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* Admin Layout */
.admin-layout[b-hr26305zuw] {
    display: flex;
    min-height: 100vh;
}

.sidebar[b-hr26305zuw] {
    width: 240px;
    background: #0f172a;
    color: #e2e8f0;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.sidebar-brand[b-hr26305zuw] {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid #1e293b;
    display: flex;
    flex-direction: column;
}

.sidebar-brand span[b-hr26305zuw] {
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
}

.sidebar-brand small[b-hr26305zuw] {
    font-size: 0.75rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.sidebar-nav[b-hr26305zuw] {
    flex: 1;
    padding: 0.75rem 0;
    display: flex;
    flex-direction: column;
}

.sidebar-nav[b-hr26305zuw]  a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 1.5rem;
    color: #94a3b8;
    text-decoration: none;
    font-size: 0.9rem;
    transition: all 0.15s;
}

.sidebar-nav[b-hr26305zuw]  a:hover {
    color: #fff;
    background: #1e293b;
}

.sidebar-nav[b-hr26305zuw]  a.active {
    color: #fff;
    background: #1a73e8;
}

.sidebar-nav[b-hr26305zuw]  .nav-icon {
    font-size: 1.1rem;
}

.sidebar-footer[b-hr26305zuw] {
    padding: 1rem 1.5rem;
    border-top: 1px solid #1e293b;
}

.sidebar-footer[b-hr26305zuw]  .user-info {
    margin-bottom: 0.5rem;
}

.sidebar-footer[b-hr26305zuw]  .user-role {
    font-size: 0.8rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.sidebar-footer[b-hr26305zuw]  .btn-logout {
    width: 100%;
    padding: 0.5rem;
    background: transparent;
    border: 1px solid #334155;
    border-radius: 6px;
    color: #94a3b8;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.15s;
}

.sidebar-footer[b-hr26305zuw]  .btn-logout:hover {
    border-color: #ef4444;
    color: #ef4444;
}

.main-content[b-hr26305zuw] {
    flex: 1;
    background: #f1f5f9;
    padding: 2rem;
    overflow-y: auto;
}

#blazor-error-ui[b-hr26305zuw] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-hr26305zuw] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-na2gg2ydfr],
.components-reconnect-repeated-attempt-visible[b-na2gg2ydfr],
.components-reconnect-failed-visible[b-na2gg2ydfr],
.components-pause-visible[b-na2gg2ydfr],
.components-resume-failed-visible[b-na2gg2ydfr],
.components-rejoining-animation[b-na2gg2ydfr] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-retrying[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-failed[b-na2gg2ydfr],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-na2gg2ydfr] {
    display: block;
}


#components-reconnect-modal[b-na2gg2ydfr] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-na2gg2ydfr 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-na2gg2ydfr 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-na2gg2ydfr 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-na2gg2ydfr]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-na2gg2ydfr 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-na2gg2ydfr {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-na2gg2ydfr {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-na2gg2ydfr {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-na2gg2ydfr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-na2gg2ydfr] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-na2gg2ydfr] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-na2gg2ydfr] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-na2gg2ydfr] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-na2gg2ydfr] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-na2gg2ydfr] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-na2gg2ydfr 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-na2gg2ydfr] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-na2gg2ydfr {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/DriverDetails.razor.rz.scp.css */
.back-btn[b-wc37xymupb] { background: none; border: none; color: #3b82f6; cursor: pointer; font-size: .875rem; padding: 0; margin-bottom: 1rem; }
.back-btn:hover[b-wc37xymupb] { text-decoration: underline; }

.detail-header[b-wc37xymupb] { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.detail-header h2[b-wc37xymupb] { margin: 0; font-size: 1.4rem; font-weight: 600; }

.card-grid[b-wc37xymupb] { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.card[b-wc37xymupb] { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 1rem 1.25rem; }
.card h4[b-wc37xymupb] { margin: 0 0 .75rem; font-size: .85rem; text-transform: uppercase; color: #6b7280; font-weight: 600; }
.card dl[b-wc37xymupb] { display: grid; grid-template-columns: auto 1fr; gap: .3rem .75rem; font-size: .875rem; margin: 0; }
.card dt[b-wc37xymupb] { color: #6b7280; font-weight: 500; }
.card dd[b-wc37xymupb] { margin: 0; }

.documents-card[b-wc37xymupb] { grid-column: 1 / -1; }
.doc-table[b-wc37xymupb] { width: 100%; border-collapse: collapse; font-size: .875rem; }
.doc-table th[b-wc37xymupb] { text-align: left; padding: .5rem .5rem; border-bottom: 2px solid #e5e7eb; color: #6b7280; font-weight: 600; font-size: .75rem; text-transform: uppercase; }
.doc-table td[b-wc37xymupb] { padding: .5rem; border-bottom: 1px solid #f3f4f6; }

/* Badges (shared with list) */
.badge[b-wc37xymupb] { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.badge-unverified[b-wc37xymupb] { background: #f3f4f6; color: #6b7280; }
.badge-pending[b-wc37xymupb] { background: #fef3c7; color: #92400e; }
.badge-verified[b-wc37xymupb] { background: #d1fae5; color: #065f46; }
.badge-rejected[b-wc37xymupb] { background: #fee2e2; color: #991b1b; }

.dot[b-wc37xymupb] { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 4px; }
.dot.online[b-wc37xymupb] { background: #10b981; }
.dot.offline[b-wc37xymupb] { background: #d1d5db; }

/* Actions */
.actions[b-wc37xymupb] { display: flex; gap: .75rem; margin-bottom: 1rem; }
.btn[b-wc37xymupb] { padding: .5rem 1.1rem; border: none; border-radius: 6px; font-size: .875rem; font-weight: 500; cursor: pointer; }
.btn:disabled[b-wc37xymupb] { opacity: .5; cursor: default; }
.btn-approve[b-wc37xymupb] { background: #10b981; color: #fff; }
.btn-approve:not(:disabled):hover[b-wc37xymupb] { background: #059669; }
.btn-reject[b-wc37xymupb] { background: #ef4444; color: #fff; }
.btn-reject:not(:disabled):hover[b-wc37xymupb] { background: #dc2626; }
.btn-cancel[b-wc37xymupb] { background: #e5e7eb; color: #374151; }
.btn-cancel:hover[b-wc37xymupb] { background: #d1d5db; }

.reject-dialog[b-wc37xymupb] { background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 1rem; margin-bottom: 1rem; max-width: 400px; }
.reject-dialog label[b-wc37xymupb] { font-size: .85rem; font-weight: 500; display: block; margin-bottom: .4rem; }
.reject-dialog textarea[b-wc37xymupb] { width: 100%; border: 1px solid #d1d5db; border-radius: 6px; padding: .5rem; font-size: .875rem; resize: vertical; }
.reject-actions[b-wc37xymupb] { display: flex; gap: .5rem; margin-top: .6rem; }

.action-msg[b-wc37xymupb] { padding: .5rem .75rem; border-radius: 6px; font-size: .875rem; }
.action-msg.success[b-wc37xymupb] { background: #d1fae5; color: #065f46; }
.action-msg.error[b-wc37xymupb] { background: #fee2e2; color: #991b1b; }

.loading[b-wc37xymupb], .error-msg[b-wc37xymupb] { padding: 2rem; text-align: center; color: #6b7280; }
.error-msg[b-wc37xymupb] { color: #dc2626; }
/* /Components/Pages/DriverList.razor.rz.scp.css */
.page-header[b-ee8dq8kbse] { margin-bottom: 1.2rem; }
.page-header h2[b-ee8dq8kbse] { margin: 0; font-size: 1.5rem; font-weight: 600; }

.filters[b-ee8dq8kbse] {
    display: flex; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap;
}
.search-input[b-ee8dq8kbse] {
    flex: 1; min-width: 200px; padding: .5rem .75rem;
    border: 1px solid #d1d5db; border-radius: 6px; font-size: .875rem;
}
.status-select[b-ee8dq8kbse] {
    padding: .5rem .75rem; border: 1px solid #d1d5db;
    border-radius: 6px; font-size: .875rem; background: #fff;
}

.driver-table[b-ee8dq8kbse] { width: 100%; border-collapse: collapse; font-size: .875rem; }
.driver-table th[b-ee8dq8kbse] { text-align: left; padding: .6rem .75rem; border-bottom: 2px solid #e5e7eb; color: #6b7280; font-weight: 600; font-size: .75rem; text-transform: uppercase; }
.driver-table td[b-ee8dq8kbse] { padding: .6rem .75rem; border-bottom: 1px solid #f3f4f6; }
.driver-table tr.clickable[b-ee8dq8kbse] { cursor: pointer; }
.driver-table tr.clickable:hover[b-ee8dq8kbse] { background: #f9fafb; }

/* Status badges */
.badge[b-ee8dq8kbse] { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.badge-unverified[b-ee8dq8kbse] { background: #f3f4f6; color: #6b7280; }
.badge-pending[b-ee8dq8kbse] { background: #fef3c7; color: #92400e; }
.badge-verified[b-ee8dq8kbse] { background: #d1fae5; color: #065f46; }
.badge-rejected[b-ee8dq8kbse] { background: #fee2e2; color: #991b1b; }

/* Online dot */
.dot[b-ee8dq8kbse] { display: inline-block; width: 8px; height: 8px; border-radius: 50%; }
.dot.online[b-ee8dq8kbse] { background: #10b981; }
.dot.offline[b-ee8dq8kbse] { background: #d1d5db; }

/* Pagination */
.pagination[b-ee8dq8kbse] { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; font-size: .875rem; }
.pagination button[b-ee8dq8kbse] { padding: .4rem .8rem; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; cursor: pointer; font-size: .8rem; }
.pagination button:disabled[b-ee8dq8kbse] { opacity: .4; cursor: default; }
.pagination button:not(:disabled):hover[b-ee8dq8kbse] { background: #f3f4f6; }

.loading[b-ee8dq8kbse], .error-msg[b-ee8dq8kbse], .empty-msg[b-ee8dq8kbse] { padding: 2rem; text-align: center; color: #6b7280; }
.error-msg[b-ee8dq8kbse] { color: #dc2626; }
/* /Components/Pages/Home.razor.rz.scp.css */
.dashboard-page[b-mc85809vlf] {
    padding: 2rem;
}

.page-header[b-mc85809vlf] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.page-header h1[b-mc85809vlf] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.btn-refresh[b-mc85809vlf] {
    padding: 0.45rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    background: #fff;
    color: #334155;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-refresh:hover:not(:disabled)[b-mc85809vlf] {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.btn-refresh:disabled[b-mc85809vlf] {
    opacity: 0.5;
    cursor: not-allowed;
}

.loading-state[b-mc85809vlf],
.error-state[b-mc85809vlf] {
    text-align: center;
    padding: 4rem 1rem;
    color: #64748b;
    font-size: 1rem;
}

.error-state[b-mc85809vlf] {
    color: #ef4444;
}

.section[b-mc85809vlf] {
    margin-bottom: 2rem;
}

.section-title[b-mc85809vlf] {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #64748b;
    margin: 0 0 0.75rem;
}

.kpi-grid[b-mc85809vlf] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 1rem;
}

.kpi-card[b-mc85809vlf] {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.625rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: box-shadow 0.15s;
}

.kpi-card:hover[b-mc85809vlf] {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.kpi-icon[b-mc85809vlf] {
    font-size: 1.75rem;
    line-height: 1;
    flex-shrink: 0;
}

.kpi-body[b-mc85809vlf] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.kpi-label[b-mc85809vlf] {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #94a3b8;
}

.kpi-value[b-mc85809vlf] {
    font-size: 1.5rem;
    font-weight: 800;
    color: #1e293b;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

/* Accent left borders */
.kpi-revenue[b-mc85809vlf] {
    border-left: 4px solid #10b981;
}

.kpi-today[b-mc85809vlf] {
    border-left: 4px solid #6366f1;
}

.kpi-payments[b-mc85809vlf] {
    border-left: 4px solid #8b5cf6;
}

.kpi-total[b-mc85809vlf] {
    border-left: 4px solid #3b82f6;
}

.kpi-active[b-mc85809vlf] {
    border-left: 4px solid #10b981;
}

.kpi-completed[b-mc85809vlf] {
    border-left: 4px solid #22c55e;
}

.kpi-cancelled[b-mc85809vlf] {
    border-left: 4px solid #ef4444;
}

.kpi-pending[b-mc85809vlf] {
    border-left: 4px solid #f59e0b;
}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-dzmvmtytb3] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    padding: 1rem;
}

.login-card[b-dzmvmtytb3] {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    padding: 2.5rem;
    width: 100%;
    max-width: 400px;
}

.login-header[b-dzmvmtytb3] {
    text-align: center;
    margin-bottom: 2rem;
}

.login-header h1[b-dzmvmtytb3] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.login-header p[b-dzmvmtytb3] {
    color: #64748b;
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
}

.form-group[b-dzmvmtytb3] {
    margin-bottom: 1.25rem;
}

.form-group label[b-dzmvmtytb3] {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.4rem;
}

.form-input[b-dzmvmtytb3] {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 1.5px solid #cbd5e1;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: border-color 0.2s;
    box-sizing: border-box;
    background: #f8fafc;
}

.form-input:focus[b-dzmvmtytb3] {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
    background: #fff;
}

.phone-input-group[b-dzmvmtytb3] {
    display: flex;
    align-items: stretch;
}

.phone-prefix[b-dzmvmtytb3] {
    display: flex;
    align-items: center;
    padding: 0 0.75rem;
    background: #e2e8f0;
    border: 1.5px solid #cbd5e1;
    border-right: none;
    border-radius: 8px 0 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    white-space: nowrap;
}

.phone-input[b-dzmvmtytb3] {
    border-radius: 0 8px 8px 0 !important;
    flex: 1;
}

.validation-msg[b-dzmvmtytb3] {
    color: #ef4444;
    font-size: 0.8rem;
    margin-top: 0.3rem;
}

.error-banner[b-dzmvmtytb3] {
    background: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 0.7rem 1rem;
    font-size: 0.85rem;
    margin-bottom: 1.25rem;
}

.btn-login[b-dzmvmtytb3] {
    width: 100%;
    padding: 0.75rem;
    background: #1a73e8;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.btn-login:hover:not(:disabled)[b-dzmvmtytb3] {
    background: #1557b0;
}

.btn-login:disabled[b-dzmvmtytb3] {
    opacity: 0.7;
    cursor: not-allowed;
}

.spinner[b-dzmvmtytb3] {
    width: 18px;
    height: 18px;
    border: 2.5px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin-b-dzmvmtytb3 0.7s linear infinite;
}

@keyframes spin-b-dzmvmtytb3 {
    to { transform: rotate(360deg); }
}
/* /Components/Pages/Logs.razor.rz.scp.css */
.logs-page[b-u2crjgjuh4] {
    padding: 0;
}

.page-header[b-u2crjgjuh4] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filters-bar[b-u2crjgjuh4] {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.filters-bar .search-input[b-u2crjgjuh4] {
    flex: 1;
    min-width: 200px;
}

.btn-danger[b-u2crjgjuh4] {
    background: #ef4444;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85rem;
}
.btn-danger:hover[b-u2crjgjuh4] { background: #dc2626; }
.btn-danger:disabled[b-u2crjgjuh4] { opacity: 0.5; cursor: default; }

.btn-primary[b-u2crjgjuh4] {
    background: #3b82f6;
    color: white;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.85rem;
}
.btn-primary:hover[b-u2crjgjuh4] { background: #2563eb; }

/* Level-based row tinting */
.log-row[b-u2crjgjuh4] { cursor: pointer; transition: background 0.15s; }
.log-row:hover[b-u2crjgjuh4] { background: rgba(59, 130, 246, 0.05); }
.log-row.level-error[b-u2crjgjuh4] { border-left: 3px solid #ef4444; }
.log-row.level-warning[b-u2crjgjuh4] { border-left: 3px solid #f59e0b; }
.log-row.level-info[b-u2crjgjuh4] { border-left: 3px solid #3b82f6; }

/* Level badge */
.level-badge-error[b-u2crjgjuh4] { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
.level-badge-warning[b-u2crjgjuh4] { background: #fffbeb; color: #d97706; border: 1px solid #fde68a; }
.level-badge-info[b-u2crjgjuh4] { background: #eff6ff; color: #2563eb; border: 1px solid #bfdbfe; }

.badge-source[b-u2crjgjuh4] {
    background: #f0fdf4;
    color: #16a34a;
    border: 1px solid #bbf7d0;
}

.badge[b-u2crjgjuh4] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.cell-message[b-u2crjgjuh4] {
    max-width: 400px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85rem;
}

.cell-mono[b-u2crjgjuh4] {
    font-family: 'SF Mono', 'Fira Code', monospace;
    font-size: 0.8rem;
    color: #6b7280;
}

.cell-date[b-u2crjgjuh4] {
    white-space: nowrap;
    font-size: 0.8rem;
    color: #6b7280;
}

/* Detail row */
.detail-row td[b-u2crjgjuh4] {
    padding: 0 !important;
    background: #f9fafb;
}

.log-detail[b-u2crjgjuh4] {
    padding: 1rem 1.5rem;
    border-top: 1px solid #e5e7eb;
}

.detail-section[b-u2crjgjuh4] {
    margin-bottom: 1rem;
}

.detail-section strong[b-u2crjgjuh4] {
    display: block;
    margin-bottom: 0.25rem;
    color: #374151;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.detail-section pre[b-u2crjgjuh4] {
    background: #1f2937;
    color: #f9fafb;
    padding: 0.75rem 1rem;
    border-radius: 6px;
    font-size: 0.8rem;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
    margin: 0;
    max-height: 300px;
    overflow-y: auto;
}

.stack-trace[b-u2crjgjuh4] {
    font-size: 0.75rem !important;
    max-height: 200px !important;
}

.detail-meta[b-u2crjgjuh4] {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    font-size: 0.8rem;
    color: #6b7280;
}

.detail-meta strong[b-u2crjgjuh4] {
    color: #374151;
}

/* Modal */
.modal-overlay[b-u2crjgjuh4] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
}

.modal-content[b-u2crjgjuh4] {
    background: white;
    padding: 2rem;
    border-radius: 12px;
    max-width: 400px;
    width: 90%;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}

.modal-content h3[b-u2crjgjuh4] {
    margin: 0 0 0.5rem;
}

.modal-content p[b-u2crjgjuh4] {
    color: #6b7280;
    margin-bottom: 1.5rem;
}

.modal-actions[b-u2crjgjuh4] {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
}

.btn-secondary[b-u2crjgjuh4] {
    background: #e5e7eb;
    color: #374151;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    cursor: pointer;
}

/* Toast */
.status-toast[b-u2crjgjuh4] {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    background: #065f46;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    font-size: 0.9rem;
    z-index: 1001;
    animation: fadeIn-b-u2crjgjuh4 0.3s ease;
}

@keyframes fadeIn-b-u2crjgjuh4 {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
/* /Components/Pages/Offers.razor.rz.scp.css */
.offers-page[b-igxj5xpf8a] {
    padding: 2rem;
}

.page-header[b-igxj5xpf8a] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.page-header h1[b-igxj5xpf8a] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.form-card[b-igxj5xpf8a] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.form-card h2[b-igxj5xpf8a] {
    font-size: 1.1rem;
    font-weight: 600;
    color: #334155;
    margin: 0 0 1rem;
}

.form-grid[b-igxj5xpf8a] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1rem;
}

.form-group[b-igxj5xpf8a] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.form-group label[b-igxj5xpf8a] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.form-actions[b-igxj5xpf8a] {
    margin-top: 1.25rem;
}

.filters-bar[b-igxj5xpf8a] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.input-field[b-igxj5xpf8a] {
    padding: 0.5rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    outline: none;
    transition: border-color 0.15s;
    width: 100%;
}

.input-field:focus[b-igxj5xpf8a] {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
}

.select-filter[b-igxj5xpf8a] {
    min-width: 160px;
    width: auto;
}

.loading-state[b-igxj5xpf8a],
.empty-state[b-igxj5xpf8a],
.error-state[b-igxj5xpf8a] {
    text-align: center;
    padding: 3rem 1rem;
    color: #64748b;
    font-size: 0.95rem;
}

.error-state[b-igxj5xpf8a] {
    color: #ef4444;
}

.table-wrap[b-igxj5xpf8a] {
    overflow-x: auto;
}

.data-table[b-igxj5xpf8a] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.data-table th[b-igxj5xpf8a] {
    text-align: left;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
    font-weight: 600;
    color: #475569;
    white-space: nowrap;
}

.data-table td[b-igxj5xpf8a] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.data-table tbody tr:hover[b-igxj5xpf8a] {
    background: #f8fafc;
}

.cell-code[b-igxj5xpf8a] {
    font-family: 'SF Mono', 'Cascadia Code', 'Fira Code', monospace;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: 0.04em;
}

.cell-money[b-igxj5xpf8a] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cell-date[b-igxj5xpf8a] {
    white-space: nowrap;
    color: #64748b;
}

.badge[b-igxj5xpf8a] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.type-0[b-igxj5xpf8a] { background: #ede9fe; color: #5b21b6; }
.type-1[b-igxj5xpf8a] { background: #dbeafe; color: #1e40af; }

.status-active[b-igxj5xpf8a] { background: #d1fae5; color: #065f46; }
.status-inactive[b-igxj5xpf8a] { background: #f1f5f9; color: #64748b; }
.status-expired[b-igxj5xpf8a] { background: #fee2e2; color: #991b1b; }

.btn[b-igxj5xpf8a] {
    padding: 0.4rem 0.85rem;
    border: none;
    border-radius: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
}

.btn:disabled[b-igxj5xpf8a] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-primary[b-igxj5xpf8a] {
    background: #6366f1;
    color: #fff;
}

.btn-primary:hover:not(:disabled)[b-igxj5xpf8a] {
    background: #4f46e5;
}

.btn-page[b-igxj5xpf8a] {
    background: #f1f5f9;
    color: #334155;
}

.btn-page:hover:not(:disabled)[b-igxj5xpf8a] {
    background: #e2e8f0;
}

.msg[b-igxj5xpf8a] {
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.msg-success[b-igxj5xpf8a] {
    background: #d1fae5;
    color: #065f46;
}

.msg-error[b-igxj5xpf8a] {
    background: #fee2e2;
    color: #991b1b;
}

.pagination[b-igxj5xpf8a] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.page-info[b-igxj5xpf8a] {
    font-size: 0.85rem;
    color: #64748b;
}

[b-igxj5xpf8a] .validation-message {
    color: #ef4444;
    font-size: 0.75rem;
    margin-top: 0.15rem;
}
/* /Components/Pages/Payouts.razor.rz.scp.css */
.payouts-page[b-4zhwyrhj1q] {
    padding: 2rem;
}

.page-header h1[b-4zhwyrhj1q] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 1.5rem;
}

.filters-bar[b-4zhwyrhj1q] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.input-field[b-4zhwyrhj1q] {
    padding: 0.5rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    outline: none;
    transition: border-color 0.15s;
}

.input-field:focus[b-4zhwyrhj1q] {
    border-color: #6366f1;
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.15);
}

.select-filter[b-4zhwyrhj1q] {
    min-width: 160px;
}

.loading-state[b-4zhwyrhj1q],
.empty-state[b-4zhwyrhj1q],
.error-state[b-4zhwyrhj1q] {
    text-align: center;
    padding: 3rem 1rem;
    color: #64748b;
    font-size: 0.95rem;
}

.error-state[b-4zhwyrhj1q] {
    color: #ef4444;
}

.table-wrap[b-4zhwyrhj1q] {
    overflow-x: auto;
}

.data-table[b-4zhwyrhj1q] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.data-table th[b-4zhwyrhj1q] {
    text-align: left;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border-bottom: 2px solid #e2e8f0;
    font-weight: 600;
    color: #475569;
    white-space: nowrap;
}

.data-table td[b-4zhwyrhj1q] {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.data-table tbody tr:hover[b-4zhwyrhj1q] {
    background: #f8fafc;
}

.cell-name[b-4zhwyrhj1q] {
    font-weight: 600;
    color: #1e293b;
}

.cell-sub[b-4zhwyrhj1q] {
    font-size: 0.75rem;
    color: #94a3b8;
}

.cell-money[b-4zhwyrhj1q] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cell-mono[b-4zhwyrhj1q] {
    font-family: 'SF Mono', 'Cascadia Code', 'Fira Code', monospace;
    font-size: 0.8rem;
    color: #64748b;
}

.cell-date[b-4zhwyrhj1q] {
    white-space: nowrap;
    color: #64748b;
}

.badge[b-4zhwyrhj1q] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.payout-0[b-4zhwyrhj1q] { background: #fef3c7; color: #92400e; }
.payout-1[b-4zhwyrhj1q] { background: #dbeafe; color: #1e40af; }
.payout-2[b-4zhwyrhj1q] { background: #d1fae5; color: #065f46; }
.payout-3[b-4zhwyrhj1q] { background: #fee2e2; color: #991b1b; }

.btn[b-4zhwyrhj1q] {
    padding: 0.4rem 0.85rem;
    border: none;
    border-radius: 0.375rem;
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
}

.btn:disabled[b-4zhwyrhj1q] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-approve[b-4zhwyrhj1q] {
    background: #6366f1;
    color: #fff;
}

.btn-approve:hover:not(:disabled)[b-4zhwyrhj1q] {
    background: #4f46e5;
}

.btn-page[b-4zhwyrhj1q] {
    background: #f1f5f9;
    color: #334155;
}

.btn-page:hover:not(:disabled)[b-4zhwyrhj1q] {
    background: #e2e8f0;
}

.msg[b-4zhwyrhj1q] {
    padding: 0.75rem 1rem;
    border-radius: 0.375rem;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.msg-success[b-4zhwyrhj1q] {
    background: #d1fae5;
    color: #065f46;
}

.msg-error[b-4zhwyrhj1q] {
    background: #fee2e2;
    color: #991b1b;
}

.failure-reason[b-4zhwyrhj1q] {
    font-size: 0.75rem;
    color: #ef4444;
    cursor: help;
}

.pagination[b-4zhwyrhj1q] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
}

.page-info[b-4zhwyrhj1q] {
    font-size: 0.85rem;
    color: #64748b;
}
/* /Components/Pages/PricingConfig.razor.rz.scp.css */
.pricing-page[b-ssqcz5k1qm] {
    max-width: 960px;
}

.page-header h1[b-ssqcz5k1qm] {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 0.25rem;
}

.subtitle[b-ssqcz5k1qm] {
    color: #64748b;
    font-size: 0.875rem;
    margin: 0 0 1.5rem;
}

/* ── Sections ── */

.config-section[b-ssqcz5k1qm] {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.config-section h2[b-ssqcz5k1qm] {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 0.2rem;
}

.section-desc[b-ssqcz5k1qm] {
    color: #64748b;
    font-size: 0.8rem;
    margin: 0 0 1rem;
}

.section-header[b-ssqcz5k1qm] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

/* ── Pricing Rules Table ── */

.rules-table-wrap[b-ssqcz5k1qm] {
    overflow-x: auto;
}

.rules-table[b-ssqcz5k1qm] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.rules-table th[b-ssqcz5k1qm] {
    text-align: left;
    padding: 0.6rem 0.75rem;
    border-bottom: 2px solid #e2e8f0;
    color: #475569;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.rules-table td[b-ssqcz5k1qm] {
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.rules-table tbody tr:hover[b-ssqcz5k1qm] {
    background: #f8fafc;
}

/* ── Badges ── */

.badge[b-ssqcz5k1qm] {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 600;
}

.badge-type[b-ssqcz5k1qm] {
    background: #ede9fe;
    color: #6d28d9;
}

.badge-tier[b-ssqcz5k1qm] {
    background: #e0f2fe;
    color: #0369a1;
}

.tier-plus[b-ssqcz5k1qm] {
    background: #fef3c7;
    color: #b45309;
}

.tier-classic[b-ssqcz5k1qm] {
    background: #e0f2fe;
    color: #0369a1;
}

/* ── Input fields ── */

.input-field[b-ssqcz5k1qm] {
    padding: 0.4rem 0.6rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.85rem;
    outline: none;
    transition: border-color 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.input-field:focus[b-ssqcz5k1qm] {
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}

.input-money[b-ssqcz5k1qm] {
    max-width: 120px;
}

.input-small[b-ssqcz5k1qm] {
    max-width: 80px;
}

/* ── Surge Cards ── */

.surge-cards[b-ssqcz5k1qm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.surge-card[b-ssqcz5k1qm] {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1rem;
    background: #fafbfd;
    transition: opacity 0.2s;
}

.surge-card.inactive[b-ssqcz5k1qm] {
    opacity: 0.55;
}

.surge-card-header[b-ssqcz5k1qm] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e2e8f0;
}

.surge-multiplier[b-ssqcz5k1qm] {
    font-size: 1.25rem;
    font-weight: 700;
    color: #dc2626;
    flex: 1;
}

.toggle-label[b-ssqcz5k1qm] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.75rem;
    color: #64748b;
    cursor: pointer;
}

.btn-remove[b-ssqcz5k1qm] {
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    font-size: 1rem;
    padding: 0.15rem 0.35rem;
    border-radius: 4px;
}

.btn-remove:hover[b-ssqcz5k1qm] {
    background: #fee2e2;
    color: #dc2626;
}

.surge-card-body[b-ssqcz5k1qm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.65rem;
}

.field-group[b-ssqcz5k1qm] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.field-group label[b-ssqcz5k1qm] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* ── Buttons ── */

.btn[b-ssqcz5k1qm] {
    padding: 0.5rem 1.2rem;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    border: none;
    transition: background 0.15s;
}

.btn-primary[b-ssqcz5k1qm] {
    background: #2563eb;
    color: #fff;
}

.btn-primary:hover:not(:disabled)[b-ssqcz5k1qm] {
    background: #1d4ed8;
}

.btn-primary:disabled[b-ssqcz5k1qm] {
    opacity: 0.6;
    cursor: not-allowed;
}

.btn-outline[b-ssqcz5k1qm] {
    background: #fff;
    border: 1px solid #cbd5e1;
    color: #334155;
}

.btn-outline:hover[b-ssqcz5k1qm] {
    background: #f1f5f9;
}

/* ── Actions / Messages ── */

.form-actions[b-ssqcz5k1qm] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    padding: 1rem 0;
}

.msg[b-ssqcz5k1qm] {
    font-size: 0.8rem;
    font-weight: 500;
}

.msg-success[b-ssqcz5k1qm] {
    color: #16a34a;
}

.msg-error[b-ssqcz5k1qm] {
    color: #dc2626;
}

/* ── States ── */

.loading-state[b-ssqcz5k1qm],
.empty-state[b-ssqcz5k1qm],
.error-state[b-ssqcz5k1qm] {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #64748b;
    font-size: 0.9rem;
}

.error-state[b-ssqcz5k1qm] {
    color: #dc2626;
}
/* /Components/Pages/RideDetails.razor.rz.scp.css */
.back-btn[b-n5iegjzr9s] { background: none; border: none; color: #3b82f6; cursor: pointer; font-size: .875rem; padding: 0; margin-bottom: 1rem; }
.back-btn:hover[b-n5iegjzr9s] { text-decoration: underline; }

.detail-header[b-n5iegjzr9s] { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.detail-header h2[b-n5iegjzr9s] { margin: 0; font-size: 1.4rem; font-weight: 600; }

.card-grid[b-n5iegjzr9s] { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.card[b-n5iegjzr9s] { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 1rem 1.25rem; }
.card h4[b-n5iegjzr9s] { margin: 0 0 .75rem; font-size: .85rem; text-transform: uppercase; color: #6b7280; font-weight: 600; }
.card dl[b-n5iegjzr9s] { display: grid; grid-template-columns: auto 1fr; gap: .3rem .75rem; font-size: .875rem; margin: 0; }
.card dt[b-n5iegjzr9s] { color: #6b7280; font-weight: 500; }
.card dd[b-n5iegjzr9s] { margin: 0; word-break: break-word; }

.cancel-card[b-n5iegjzr9s] { border-color: #fecaca; background: #fef2f2; }

/* Badges */
.badge[b-n5iegjzr9s] { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.badge-requested[b-n5iegjzr9s] { background: #e0e7ff; color: #3730a3; }
.badge-searching[b-n5iegjzr9s] { background: #fef3c7; color: #92400e; }
.badge-accepted[b-n5iegjzr9s]  { background: #dbeafe; color: #1e40af; }
.badge-arrived[b-n5iegjzr9s]   { background: #ede9fe; color: #5b21b6; }
.badge-started[b-n5iegjzr9s]   { background: #fce7f3; color: #9d174d; }
.badge-completed[b-n5iegjzr9s] { background: #d1fae5; color: #065f46; }
.badge-cancelled[b-n5iegjzr9s] { background: #fee2e2; color: #991b1b; }

/* Timeline */
.timeline-section[b-n5iegjzr9s] { margin-top: 1.5rem; }
.timeline-section h3[b-n5iegjzr9s] { font-size: 1rem; font-weight: 600; margin: 0 0 1rem; }

.timeline[b-n5iegjzr9s] { position: relative; padding-left: 28px; }
.timeline[b-n5iegjzr9s]::before { content: ''; position: absolute; left: 9px; top: 4px; bottom: 4px; width: 2px; background: #e5e7eb; }

.tl-step[b-n5iegjzr9s] { position: relative; padding-bottom: 1.25rem; }
.tl-step:last-child[b-n5iegjzr9s] { padding-bottom: 0; }

.tl-dot[b-n5iegjzr9s] {
    position: absolute; left: -28px; top: 2px;
    width: 20px; height: 20px; border-radius: 50%;
    border: 2px solid #d1d5db; background: #fff;
    display: flex; align-items: center; justify-content: center;
}

.tl-step.done .tl-dot[b-n5iegjzr9s] { border-color: #10b981; background: #10b981; }
.tl-step.done .tl-dot[b-n5iegjzr9s]::after { content: '✓'; color: #fff; font-size: .65rem; font-weight: 700; }
.tl-step.active .tl-dot[b-n5iegjzr9s] { border-color: #3b82f6; background: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,.25); }
.tl-step.active .tl-dot[b-n5iegjzr9s]::after { content: ''; width: 6px; height: 6px; background: #fff; border-radius: 50%; }
.tl-step.future .tl-dot[b-n5iegjzr9s] { border-color: #d1d5db; background: #f9fafb; }

.tl-label[b-n5iegjzr9s] { font-size: .875rem; font-weight: 500; }
.tl-step.future .tl-label[b-n5iegjzr9s] { color: #9ca3af; }
.tl-time[b-n5iegjzr9s] { font-size: .75rem; color: #6b7280; margin-top: .1rem; }
.tl-step.future .tl-time[b-n5iegjzr9s] { color: #d1d5db; }

.loading[b-n5iegjzr9s], .error-msg[b-n5iegjzr9s] { padding: 2rem; text-align: center; color: #6b7280; }
.error-msg[b-n5iegjzr9s] { color: #dc2626; }
/* /Components/Pages/RideList.razor.rz.scp.css */
.page-header[b-yu7tdnw9j2] { margin-bottom: 1.2rem; }
.page-header h2[b-yu7tdnw9j2] { margin: 0; font-size: 1.5rem; font-weight: 600; }

.filters[b-yu7tdnw9j2] { display: flex; gap: .75rem; margin-bottom: 1rem; flex-wrap: wrap; }
.search-input[b-yu7tdnw9j2] { flex: 1; min-width: 200px; padding: .5rem .75rem; border: 1px solid #d1d5db; border-radius: 6px; font-size: .875rem; }
.status-select[b-yu7tdnw9j2] { padding: .5rem .75rem; border: 1px solid #d1d5db; border-radius: 6px; font-size: .875rem; background: #fff; }

.ride-table[b-yu7tdnw9j2] { width: 100%; border-collapse: collapse; font-size: .875rem; }
.ride-table th[b-yu7tdnw9j2] { text-align: left; padding: .6rem .75rem; border-bottom: 2px solid #e5e7eb; color: #6b7280; font-weight: 600; font-size: .75rem; text-transform: uppercase; }
.ride-table td[b-yu7tdnw9j2] { padding: .6rem .75rem; border-bottom: 1px solid #f3f4f6; }
.ride-table tr.clickable[b-yu7tdnw9j2] { cursor: pointer; }
.ride-table tr.clickable:hover[b-yu7tdnw9j2] { background: #f9fafb; }

.cell-primary[b-yu7tdnw9j2] { font-weight: 500; }
.cell-secondary[b-yu7tdnw9j2] { font-size: .75rem; color: #6b7280; }
.addr[b-yu7tdnw9j2] { max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Status badges */
.badge[b-yu7tdnw9j2] { display: inline-block; padding: .15rem .55rem; border-radius: 999px; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.badge-requested[b-yu7tdnw9j2] { background: #e0e7ff; color: #3730a3; }
.badge-searching[b-yu7tdnw9j2] { background: #fef3c7; color: #92400e; }
.badge-accepted[b-yu7tdnw9j2]  { background: #dbeafe; color: #1e40af; }
.badge-arrived[b-yu7tdnw9j2]   { background: #ede9fe; color: #5b21b6; }
.badge-started[b-yu7tdnw9j2]   { background: #fce7f3; color: #9d174d; }
.badge-completed[b-yu7tdnw9j2] { background: #d1fae5; color: #065f46; }
.badge-cancelled[b-yu7tdnw9j2] { background: #fee2e2; color: #991b1b; }

/* Pagination */
.pagination[b-yu7tdnw9j2] { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; font-size: .875rem; }
.pagination button[b-yu7tdnw9j2] { padding: .4rem .8rem; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; cursor: pointer; font-size: .8rem; }
.pagination button:disabled[b-yu7tdnw9j2] { opacity: .4; cursor: default; }
.pagination button:not(:disabled):hover[b-yu7tdnw9j2] { background: #f3f4f6; }

.loading[b-yu7tdnw9j2], .error-msg[b-yu7tdnw9j2], .empty-msg[b-yu7tdnw9j2] { padding: 2rem; text-align: center; color: #6b7280; }
.error-msg[b-yu7tdnw9j2] { color: #dc2626; }
/* /Components/Pages/Transactions.razor.rz.scp.css */
.transactions-page[b-ve239hkv1u] {
    max-width: 1100px;
}

.page-header h1[b-ve239hkv1u] {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 1rem;
}

/* ── Filters ── */

.filters-bar[b-ve239hkv1u] {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.input-field[b-ve239hkv1u] {
    padding: 0.45rem 0.65rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    font-size: 0.85rem;
    outline: none;
    transition: border-color 0.15s;
}

.input-field:focus[b-ve239hkv1u] {
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}

.search-input[b-ve239hkv1u] {
    flex: 1;
    min-width: 200px;
}

.select-filter[b-ve239hkv1u] {
    min-width: 140px;
}

/* ── Table ── */

.table-wrap[b-ve239hkv1u] {
    overflow-x: auto;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

.data-table[b-ve239hkv1u] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.data-table th[b-ve239hkv1u] {
    text-align: left;
    padding: 0.65rem 0.85rem;
    border-bottom: 2px solid #e2e8f0;
    color: #475569;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.data-table td[b-ve239hkv1u] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.data-table tbody tr:hover[b-ve239hkv1u] {
    background: #f8fafc;
}

.cell-name[b-ve239hkv1u] {
    font-weight: 600;
    color: #1e293b;
}

.cell-sub[b-ve239hkv1u] {
    font-size: 0.75rem;
    color: #64748b;
}

.cell-money[b-ve239hkv1u] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.cell-mono[b-ve239hkv1u] {
    font-family: monospace;
    font-size: 0.8rem;
    color: #64748b;
}

.cell-date[b-ve239hkv1u] {
    font-size: 0.8rem;
    color: #64748b;
    white-space: nowrap;
}

/* ── Badges ── */

.badge[b-ve239hkv1u] {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.badge-status.status-0[b-ve239hkv1u] { background: #fef3c7; color: #b45309; }
.badge-status.status-1[b-ve239hkv1u] { background: #e0f2fe; color: #0369a1; }
.badge-status.status-2[b-ve239hkv1u] { background: #dcfce7; color: #15803d; }
.badge-status.status-3[b-ve239hkv1u] { background: #fee2e2; color: #dc2626; }
.badge-status.status-4[b-ve239hkv1u] { background: #f3e8ff; color: #7c3aed; }

.badge-method.method-0[b-ve239hkv1u] { background: #ede9fe; color: #6d28d9; }
.badge-method.method-1[b-ve239hkv1u] { background: #fef3c7; color: #b45309; }
.badge-method.method-2[b-ve239hkv1u] { background: #e0f2fe; color: #0369a1; }

/* ── Pagination ── */

.pagination[b-ve239hkv1u] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 1rem 0;
}

.page-info[b-ve239hkv1u] {
    font-size: 0.8rem;
    color: #64748b;
}

.btn-page[b-ve239hkv1u] {
    padding: 0.35rem 0.9rem;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    font-size: 0.8rem;
    cursor: pointer;
}

.btn-page:hover:not(:disabled)[b-ve239hkv1u] {
    background: #f1f5f9;
}

.btn-page:disabled[b-ve239hkv1u] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── States ── */

.loading-state[b-ve239hkv1u], .empty-state[b-ve239hkv1u], .error-state[b-ve239hkv1u] {
    text-align: center;
    padding: 3rem 1rem;
    color: #64748b;
    font-size: 0.9rem;
}

.error-state[b-ve239hkv1u] {
    color: #dc2626;
}
