.tx-dashboard {
    max-width: 1400px;
    margin: 0 auto;
    padding: var(--tx-spacing-md);
}

.tx-dashboard__topbar {
    display: flex;
    align-items: center;
    gap: var(--tx-spacing-md);
    padding: var(--tx-spacing-sm) var(--tx-spacing-md);
    background: var(--tx-bg-card);
    border: 1px solid var(--tx-border);
    border-radius: var(--tx-radius);
    margin-bottom: var(--tx-spacing-md);
}

.tx-dashboard__topbar .tx-logo {
    font-size: 18px;
    font-weight: 700;
    color: var(--tx-primary);
}

.tx-dashboard__topbar .tx-user-info {
    margin-left: auto;
    font-size: 13px;
    color: var(--tx-text-secondary);
}

.tx-agent-layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: var(--tx-spacing-md);
}

.tx-dispatcher-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: var(--tx-spacing-md);
    min-height: 600px;
}

.tx-dispatcher-layout .tx-map-panel { height: 100%; }
.tx-dispatcher-layout .tx-orders-panel { overflow-y: auto; max-height: 600px; }

.tx-executive-layout {
    display: flex;
    flex-direction: column;
    gap: var(--tx-spacing-md);
}

.tx-executive-layout .tx-top-nav {
    display: flex;
    gap: var(--tx-spacing-sm);
    background: var(--tx-bg-card);
    border: 1px solid var(--tx-border);
    border-radius: var(--tx-radius);
    padding: var(--tx-spacing-sm);
}

.tx-executive-layout .tx-top-nav .tx-btn {
    flex: 1;
    justify-content: center;
}

.tx-client-panel {
    background: var(--tx-bg-card);
    border: 1px solid var(--tx-border);
    border-radius: var(--tx-radius);
    padding: var(--tx-spacing-md);
}

.tx-client-panel__header {
    display: flex;
    gap: var(--tx-spacing-md);
    align-items: center;
    margin-bottom: var(--tx-spacing-md);
}

.tx-client-panel__addresses { margin-bottom: var(--tx-spacing-md); }

.tx-client-panel__addresses h4,
.tx-client-panel__history h4 {
    font-size: 13px;
    text-transform: uppercase;
    color: var(--tx-text-secondary);
    margin-bottom: var(--tx-spacing-sm);
}

.tx-addr-chip {
    display: inline-block;
    padding: 4px 10px;
    background: #f1f3f4;
    border-radius: 16px;
    font-size: 12px;
    cursor: pointer;
    margin: 2px;
}

.tx-addr-chip:hover { background: #e8eaed; }

.tx-history-item {
    display: flex;
    gap: var(--tx-spacing-sm);
    padding: 6px 0;
    border-bottom: 1px solid var(--tx-border-light);
    font-size: 13px;
    align-items: center;
}

.tx-order-number { font-weight: 600; color: var(--tx-primary); min-width: 100px; }
.tx-fare { margin-left: auto; font-weight: 600; }
.tx-date { color: var(--tx-text-secondary); font-size: 12px; min-width: 80px; text-align: right; }

.tx-driver-view {
    max-width: 480px;
    margin: 0 auto;
    padding: var(--tx-spacing-md);
}

.tx-driver-view__status {
    display: flex;
    align-items: center;
    gap: var(--tx-spacing-md);
    margin-bottom: var(--tx-spacing-md);
}

.tx-driver-view__shift {
    text-align: center;
    margin-bottom: var(--tx-spacing-md);
    font-size: 14px;
}

.tx-driver-view__stats {
    display: flex;
    gap: var(--tx-spacing-md);
    justify-content: center;
    margin-top: var(--tx-spacing-md);
}

.tx-driver-order {
    background: var(--tx-bg-card);
    border: 1px solid var(--tx-border);
    border-radius: var(--tx-radius);
    padding: var(--tx-spacing-md);
}

.tx-driver-order__route {
    margin: var(--tx-spacing-sm) 0;
    font-size: 14px;
}

.tx-driver-order__actions {
    display: flex;
    gap: var(--tx-spacing-sm);
    margin: var(--tx-spacing-sm) 0;
}

.tx-driver-order__fare {
    font-size: 18px;
    font-weight: 700;
    color: var(--tx-primary);
    text-align: center;
    margin-top: var(--tx-spacing-sm);
}

.tx-orders-loop__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--tx-spacing-sm);
}

.tx-orders-loop__header h3 { margin: 0; font-size: 16px; }

.tx-drivers-bar {
    display: flex;
    gap: var(--tx-spacing-xs);
    flex-wrap: wrap;
    padding: var(--tx-spacing-sm);
    background: var(--tx-bg-card);
    border: 1px solid var(--tx-border);
    border-radius: var(--tx-radius);
    margin-top: var(--tx-spacing-sm);
}

.tx-drivers-bar__title {
    font-weight: 600;
    font-size: 13px;
    margin-right: var(--tx-spacing-sm);
    color: var(--tx-text-secondary);
}

@media (max-width: 1024px) {
    .tx-agent-layout,
    .tx-dispatcher-layout {
        grid-template-columns: 1fr;
    }
}
