:root {
    --page-bg: #f5f7f4;
    --surface: #ffffff;
    --surface-soft: #f2f6f3;
    --text-main: #153225;
    --text-muted: #607568;
    --border: #d7e1da;
    --primary: #159447;
    --primary-dark: #0d6f34;
    --input-bg: #ffffff;
    --shadow: 0 14px 35px rgba(20, 55, 38, .08);
}

/* Support the existing theme switch regardless of selector style */
html[data-theme="dark"],
html.dark,
body.dark,
body.dark-mode,
body[data-theme="dark"] {
    --page-bg: #07110d;
    --surface: #10251b;
    --surface-soft: #152d21;
    --text-main: #f2fff6;
    --text-muted: #b7cdbd;
    --border: #2d4a3a;
    --primary: #39d979;
    --primary-dark: #1ea64a;
    --input-bg: #0b1912;
    --shadow: 0 14px 35px rgba(0, 0, 0, .28);
}

/* Shared readability layer */
html,
body {
    background: var(--page-bg);
    color: var(--text-main);
}

main,
.dashboard-shell,
.dashboard-content,
.role-main,
.aquaculture-dashboard,
.poultry-main {
    color: var(--text-main);
}

.card,
.panel,
.kpi,
.metric-card,
.dashboard-card,
.form-card,
.table-card,
.role-top,
.poultry-top {
    background: var(--surface);
    color: var(--text-main);
    border-color: var(--border);
    box-shadow: var(--shadow);
}

h1,
h2,
h3,
h4,
h5,
h6,
label,
legend,
strong {
    color: var(--text-main);
}

p,
small,
.help-text,
.muted,
.text-muted,
.card-subtitle {
    color: var(--text-muted);
}

input,
select,
textarea {
    background: var(--input-bg);
    color: var(--text-main);
    border-color: var(--border);
}

input::placeholder,
textarea::placeholder {
    color: var(--text-muted);
    opacity: .82;
}

select option {
    background: var(--surface);
    color: var(--text-main);
}

table,
thead,
tbody,
tr,
th,
td {
    color: var(--text-main);
    border-color: var(--border);
}

th {
    background: var(--surface-soft);
}

a {
    color: var(--primary-dark);
}

html[data-theme="dark"] a,
html.dark a,
body.dark a,
body.dark-mode a,
body[data-theme="dark"] a {
    color: var(--primary);
}

/* AQUACULTURE UNIFORM CARD SIZING */
.aquaculture-command-centre .metric-card,
.aquaculture-command-centre .module-card,
.aquaculture-command-centre .summary-card {
    min-height: 132px;
    padding: 18px;
}

.aquaculture-command-centre .metrics-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.aquaculture-command-centre .module-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.aquaculture-command-centre .content-card {
    padding: 20px;
    min-height: auto;
}

.aquaculture-command-centre form {
    gap: 12px;
}

.aquaculture-command-centre input,
.aquaculture-command-centre select,
.aquaculture-command-centre textarea {
    min-height: 44px;
    padding: 10px 12px;
}

@media (max-width: 1100px) {
    .aquaculture-command-centre .metrics-grid,
    .aquaculture-command-centre .module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .aquaculture-command-centre .metrics-grid,
    .aquaculture-command-centre .module-grid {
        grid-template-columns: 1fr;
    }
}

/* AQUACULTURE COLLAPSIBLE FORMS START */

/*
 * Summary tables/cards remain visible.
 * Data-entry forms stay hidden until their action link is selected.
 */
.aquaculture-command-centre .aqua-forms-grid,
.aqua-dashboard .aqua-forms-grid,
.aqua-shell .aqua-forms-grid {
    display: block;
}

.aquaculture-command-centre .aqua-forms-grid > .aqua-form,
.aqua-dashboard .aqua-forms-grid > .aqua-form,
.aqua-shell .aqua-forms-grid > .aqua-form {
    display: none;
    max-width: 920px;
    margin: 18px auto;
    scroll-margin-top: 110px;
}

.aquaculture-command-centre .aqua-forms-grid > .aqua-form:target,
.aqua-dashboard .aqua-forms-grid > .aqua-form:target,
.aqua-shell .aqua-forms-grid > .aqua-form:target {
    display: grid;
    animation: aquaFormReveal .22s ease-out;
}

/* Fallback for the exact current dashboard structure */
.aqua-forms-grid > .aqua-form {
    display: none;
    max-width: 920px;
    margin: 18px auto;
    scroll-margin-top: 110px;
}

.aqua-forms-grid > .aqua-form:target {
    display: grid;
    animation: aquaFormReveal .22s ease-out;
}

.aqua-form-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-soft);
    color: var(--text-main);
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}

.aqua-form-close:hover {
    border-color: var(--primary);
    color: var(--primary-dark);
}

.aqua-form .form-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    grid-column: 1 / -1;
}

@keyframes aquaFormReveal {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Keep summary cards compact and visually consistent */
.aqua-data-grid {
    align-items: stretch;
}

.aqua-data-grid > .aqua-card {
    height: 100%;
    min-height: 220px;
    padding: 18px;
}

.aqua-card-heading {
    margin-bottom: 14px;
}

.aqua-list-row {
    min-height: 64px;
    padding: 11px 0;
}

/* AQUACULTURE COLLAPSIBLE FORMS END */
