/* Focused compatibility fixes loaded after the legacy and interface bundles. */
input,
select,
textarea,
.field-input,
.select-input,
.task-note-input {
    color: var(--ink);
    background-color: var(--card);
    border-color: var(--line);
    caret-color: var(--ink);
}

input::placeholder,
textarea::placeholder {
    color: var(--muted);
    opacity: 1;
}

.admin-task-field input,
.admin-task-field textarea,
.admin-task-client-results,
.admin-task-client-results button,
.admin-task-worker {
    color: var(--ink);
    background: var(--card);
}

.admin-task-client-results button {
    cursor: pointer;
}

.admin-task-client-results button:hover,
.admin-task-client-results button:focus-visible {
    color: var(--ink);
    background: var(--primary-soft);
    outline: 0;
}

.admin-task-client-results strong,
.admin-task-worker strong,
.admin-task-all-day strong {
    color: var(--ink);
}

.admin-task-worker input[type="checkbox"] {
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    appearance: auto;
    -webkit-appearance: checkbox;
    accent-color: var(--primary);
}

.tracking-place-result {
    grid-template-columns: minmax(0, 1fr) 40px;
    min-height: 68px;
    padding: 11px 12px;
    color: var(--ink);
    background: var(--card);
}

.tracking-place-result > span:first-child {
    display: grid;
    min-width: 0;
    gap: 4px;
    text-align: left;
}

.tracking-place-save-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    justify-self: end;
    color: var(--primary);
    background: var(--primary-soft);
    border-radius: 8px;
}

.tracking-place-save-icon svg {
    width: 18px;
    height: 18px;
}

.tracking-place-result:hover .tracking-place-save-icon,
.tracking-place-result:focus-visible .tracking-place-save-icon {
    color: #fff;
    background: var(--primary);
}

.admin-month-metrics {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 34px;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.admin-month-metric {
    min-width: 0;
}

.admin-month-metric + .admin-month-metric {
    padding-top: 0;
    padding-left: 12px;
    border-top: 0;
    border-left: 1px solid var(--line);
}

.admin-month-metric > div,
.admin-stats-rbh > div {
    min-width: 0;
}

.admin-month-metric small,
.admin-stats-rbh small {
    overflow-wrap: anywhere;
}

.admin-month-metric strong,
.admin-stats-rbh strong {
    display: block;
    max-width: 100%;
    color: var(--ink);
    font-size: clamp(18px, 1.35vw, 23px);
    line-height: 1.1;
    white-space: nowrap;
}

.admin-month-metrics > button {
    position: static;
    align-self: center;
    justify-self: end;
}

.admin-attendance-card {
    padding: 0;
    overflow: hidden;
}

.admin-attendance-summary {
    height: 100%;
    min-height: 112px;
    margin: 0;
    padding: 18px;
    border: 0;
    background: var(--card);
}

.admin-attendance-summary > span:nth-child(2) {
    min-width: 0;
    gap: 3px;
}

.admin-attendance-summary small {
    color: var(--muted);
    line-height: 1.3;
}

.admin-attendance-summary strong {
    color: var(--ink);
    line-height: 1;
}

[data-theme="dark"] body,
[data-theme="dark"] .app-shell,
[data-theme="dark"] .screen-root {
    color: var(--ink);
    background: var(--page);
}

[data-theme="dark"] .app-card,
[data-theme="dark"] .dashboard-card,
[data-theme="dark"] .admin-task-form,
[data-theme="dark"] .admin-task-worker,
[data-theme="dark"] .admin-task-client-results,
[data-theme="dark"] .admin-task-client-results button,
[data-theme="dark"] .tracking-place-result,
[data-theme="dark"] .admin-attendance-summary {
    color: var(--ink);
    background: var(--card);
    border-color: var(--line);
}

[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] label,
[data-theme="dark"] legend,
[data-theme="dark"] strong,
[data-theme="dark"] .card-title,
[data-theme="dark"] .admin-task-field > span {
    color: var(--ink);
}

[data-theme="dark"] .app-topbar .topbar-copy > p,
[data-theme="dark"] .app-topbar .topbar-copy > h1 {
    color: var(--ink) !important;
}

[data-theme="dark"] .app-topbar .topbar-copy > p {
    color: var(--muted) !important;
}

[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea,
[data-theme="dark"] .field-input,
[data-theme="dark"] .select-input,
[data-theme="dark"] .task-note-input,
[data-theme="dark"] .admin-task-field input,
[data-theme="dark"] .admin-task-field textarea {
    color: var(--ink);
    background: #11192a;
    border-color: var(--line);
}

[data-theme="dark"] .admin-task-all-day,
[data-theme="dark"] .task-note-readonly,
[data-theme="dark"] .task-empty,
[data-theme="dark"] .dashboard-empty-state {
    color: var(--ink-soft);
    background: #121b2d;
    border-color: var(--line);
}

[data-theme="dark"] .admin-task-worker.has-conflict {
    background: #332719;
    border-color: #765021;
}

[data-theme="dark"] .admin-worker-availability.busy,
[data-theme="dark"] .admin-task-worker.has-conflict .admin-worker-availability {
    color: #ffbd73;
}

[data-theme="dark"] .dashboard-card-icon,
[data-theme="dark"] .tracking-place-save-icon {
    color: var(--primary-strong);
    background: var(--primary-soft);
}

[data-theme="dark"] .admin-attendance-summary small,
[data-theme="dark"] .admin-stats-rbh small,
[data-theme="dark"] .admin-month-metric small {
    color: var(--muted);
}

@media (max-width: 760px) {
    .admin-month-metrics {
        grid-template-columns: minmax(0, 1fr) 34px;
    }

    .admin-month-metric {
        grid-column: 1;
    }

    .admin-month-metric + .admin-month-metric {
        padding-top: 10px;
        padding-left: 0;
        border-top: 1px solid var(--line);
        border-left: 0;
    }

    .admin-month-metrics > button {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}
