.summary-card.is-zero {
    border-color: #e2e8f0 !important;
    background: #f8fafc !important;
    color: #64748b !important;
    box-shadow: none !important;
}

.summary-card.is-zero strong {
    border-radius: 50%;
    background: #e2e8f0 !important;
    color: #64748b !important;
}

.summary-card.has-items strong {
    border-radius: 6px;
}

.today-action-table-head-batch-c,
.today-action-row-batch-c {
    grid-template-columns: minmax(180px, 1.4fr) minmax(150px, 1fr) minmax(170px, 1.1fr) minmax(130px, .8fr) 72px !important;
}

.today-action-table-head-batch-c {
    position: relative;
}

.today-action-table-head-batch-c small {
    position: absolute;
    right: 0;
    bottom: calc(100% + 4px);
    color: #64748b;
    font-size: .72rem;
    font-weight: 500;
}

.today-contact-cell,
.today-owner-cell {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    color: #475569;
    font-size: .79rem;
}

.today-contact-cell {
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
}

.today-deadline.is-overdue {
    color: #b91c1c;
    font-weight: 800;
}

.today-owner-avatar {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e0f2fe;
    color: #0369a1;
    font-size: .72rem;
    font-weight: 800;
}

.today-action-row-batch-c.is-severely-overdue {
    border-left: 4px solid #dc2626;
    background: #fff7f7;
}

.today-secondary-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.today-secondary-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dbe3ee;
    background: #fff;
    padding: 14px;
}

.today-secondary-card h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px;
    font-size: .94rem;
}

.today-secondary-card h3 span {
    margin-left: auto;
    padding: 1px 8px;
    border-radius: 10px;
    background: #e2e8f0;
    font-size: .75rem;
}

.today-secondary-card > div,
.today-secondary-card > button {
    display: flex;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    width: 100%;
    justify-content: space-between;
    gap: 12px;
    border: 0;
    border-top: 1px solid #eef2f7;
    background: transparent;
    padding: 8px 0;
    color: #0f172a;
    text-align: left;
}

.today-secondary-card > div span,
.today-secondary-card > button span {
    min-width: 0;
    overflow: hidden;
    color: #64748b;
    font-size: .78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.today-complete {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    padding: 16px;
    color: #166534;
}

.today-complete span { margin-left: auto; color: #475569; }

.intake-operations {
    margin-bottom: 16px;
    border: 1px solid #cbd5e1;
    background: #fff;
    padding: 18px;
}

.intake-status-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(130px, 1fr)) auto;
    align-items: center;
    gap: 12px;
}

.intake-status-bar > div {
    display: flex;
    flex-direction: column;
    border-left: 3px solid #0284c7;
    padding-left: 10px;
}

.intake-status-bar > div.is-error { border-left-color: #dc2626; }
.intake-status-bar span { color: #64748b; font-size: .75rem; font-weight: 700; }
.intake-status-bar strong { font-size: .94rem; }

.intake-log-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}

.intake-log-header h2 { margin: 0; font-size: 1rem; }
.intake-log-header p { margin: 2px 0 0; color: #64748b; font-size: .78rem; }
.intake-log-tabs { display: flex; gap: 3px; }
.intake-log-tabs button {
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    padding: 6px 10px;
    color: #475569;
}
.intake-log-tabs button.active { border-bottom-color: #2563eb; color: #1d4ed8; font-weight: 800; }

.intake-log-list { margin-top: 10px; }
.intake-log-row {
    display: grid;
    grid-template-columns: 64px minmax(180px, 1.5fr) 120px minmax(120px, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    border-top: 1px solid #eef2f7;
}
.intake-result-badge {
    display: inline-flex;
    justify-content: center;
    border-radius: 4px;
    background: #dcfce7;
    padding: 3px 7px;
    color: #166534;
    font-size: .72rem;
    font-weight: 800;
}
.status-failed .intake-result-badge { background: #fee2e2; color: #b91c1c; }
.status-duplicate .intake-result-badge { background: #fef3c7; color: #92400e; }
.intake-log-main { display: flex; min-width: 0; flex-direction: column; }
.intake-log-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.intake-log-main small, .intake-log-row time, .intake-error-reason { color: #64748b; font-size: .75rem; }
.intake-error-reason { color: #b91c1c; }
.intake-log-empty { padding: 24px; color: #64748b; text-align: center; }
.intake-setup-toggle { margin-top: 12px; border: 0; background: transparent; color: #2563eb; font-weight: 700; }
.intake-manual-panel[hidden], .intake-setup-panel[hidden] { display: none !important; }

.import-preview-content { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 40px); overflow-y: auto; }
.import-preview-step {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    margin-top: 14px;
    border: 1px solid #dbe3ee;
    padding: 14px;
}
.import-preview-step.has-warning { border-color: #f59e0b; background: #fffbeb; }
.import-preview-step .step-number { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: #1d4ed8; color: #fff; font-weight: 800; }
.import-preview-step h3 { margin: 0; font-size: .95rem; }
.import-preview-step p { margin: 2px 0 10px; color: #64748b; font-size: .78rem; }
.import-preview-step > select, .import-preview-step > small, .import-preview-step > .duplicate-choice { grid-column: 2; }
.import-preview-grid { grid-column: 2; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.import-preview-grid label { display: flex; flex-direction: column; gap: 4px; color: #475569; font-size: .76rem; font-weight: 700; }
.import-preview-grid label.is-wide { grid-column: 1 / -1; }
.import-preview-grid input, .import-preview-step select { width: 100%; border: 1px solid #cbd5e1; padding: 8px 10px; }
.duplicate-choice { display: flex; gap: 9px; align-items: center; border-top: 1px solid #fde68a; padding: 8px 0; }
.duplicate-choice span { display: flex; flex-direction: column; }
.duplicate-choice small { color: #64748b; }
.import-preview-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }

@media (max-width: 767px) {
    .today-header-actions .btn { min-width: 0; }
    .today-action-table-head-batch-c { display: none !important; }
    .today-action-row-batch-c { display: grid !important; grid-template-columns: 1fr auto !important; gap: 8px !important; }
    .today-action-row-batch-c > * { min-width: 0; }
    .today-action-reason, .today-contact-cell, .today-owner-cell { grid-column: 1; }
    .today-action-command { grid-column: 2; grid-row: 1 / span 4; align-self: center; }
    .today-secondary-summary { grid-template-columns: 1fr; }
    .today-complete { align-items: flex-start; flex-wrap: wrap; }
    .today-complete span { width: 100%; margin: 0; }
    .intake-status-bar { grid-template-columns: repeat(2, 1fr); }
    .intake-status-bar > button { grid-column: 1 / -1; }
    .intake-log-header { align-items: flex-start; flex-direction: column; }
    .intake-log-tabs { width: 100%; overflow-x: auto; }
    .intake-log-row { grid-template-columns: 58px minmax(0, 1fr) auto; padding: 9px 0; }
    .intake-log-row time { grid-column: 2; }
    .intake-error-reason { grid-column: 2 / -1; }
    .intake-log-row .btn { grid-column: 3; grid-row: 1 / span 2; }
    .import-preview-grid { grid-template-columns: 1fr; }
    .import-preview-grid label.is-wide { grid-column: 1; }
}
