/* Tidy Touch admin. Same tokens and owner rule as the public site: no pure white or pure black. */
:root {
    --tt-rose: #8E4F57;
    --tt-slate: #4A4C4E;
    --tt-cream: #E8DCCF;
    --tt-paper: #FDF9F5;
    --tt-paper-alt: #F6EFE7;
    --tt-radius: .5rem;
    --tt-shadow: 0 2px 8px rgba(74, 76, 78, .12);
}

*, *::before, *::after { box-sizing: border-box; }
/* Form controls default to system black text; keep every one on the palette. */
input, textarea, select, button { font: inherit; color: inherit; }
body { margin: 0; background: var(--tt-paper-alt); color: var(--tt-slate); font: 400 1rem/1.6 "Segoe UI", system-ui, sans-serif; }
h1 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 1rem; }
a { color: var(--tt-rose); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--tt-rose);
    outline-offset: 2px;
}
main { padding: 2rem 1.5rem; }
main:focus { outline: none; }

.ta-skip { position: absolute; left: 1rem; top: -3rem; background: var(--tt-rose); color: var(--tt-paper); padding: .5rem 1rem; border-radius: var(--tt-radius); }
.ta-skip:focus { top: 1rem; }

.ta-header { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; padding: .75rem 1.5rem; background: var(--tt-paper); border-bottom: 1px solid var(--tt-cream); }
.ta-brand { margin: 0 auto 0 0; font-weight: 600; font-size: 1.25rem; }
.ta-brand span { color: var(--tt-rose); font-weight: 500; }
.ta-nav { display: flex; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.ta-nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; color: var(--tt-slate); }
.ta-nav a.active { color: var(--tt-rose); text-decoration: underline; }
.ta-logout { display: flex; align-items: center; gap: 1rem; margin: 0; }

.ta-card { max-width: 60rem; margin: 0 auto; background: var(--tt-paper); border-radius: var(--tt-radius); box-shadow: var(--tt-shadow); padding: 2rem; }
.ta-narrow { max-width: 26rem; }

.ta-field { margin-bottom: 1.25rem; }
.ta-field label { display: block; font-weight: 600; margin-bottom: .375rem; }
.ta-field input { display: block; width: 100%; min-height: 44px; padding: .5rem .75rem; font: inherit; color: inherit; background: var(--tt-paper); border: 1px solid var(--tt-slate); border-radius: var(--tt-radius); }
.validation-message { color: var(--tt-rose); margin: .25rem 0 0; }

.ta-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem 1.25rem; font: inherit; font-weight: 600; border-radius: 999px; border: 1px solid var(--tt-rose); background: var(--tt-rose); color: var(--tt-paper); cursor: pointer; text-decoration: none; }
.ta-btn:hover { background: var(--tt-slate); border-color: var(--tt-slate); }
.ta-btn-outline { background: var(--tt-paper); color: var(--tt-rose); }
.ta-btn-outline:hover { background: var(--tt-paper-alt); color: var(--tt-rose); border-color: var(--tt-rose); }

.ta-alert { background: var(--tt-paper-alt); border: 1px solid var(--tt-rose); border-radius: var(--tt-radius); padding: .75rem 1rem; }

/* Content pages (plan 04). */
.ta-wide { max-width: 72rem; }
.ta-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.ta-btn-sm { min-height: 36px; padding: .25rem .875rem; font-size: .875rem; }
.ta-panel { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--tt-cream); }
.ta-panel h2 { font-size: 1.375rem; margin: 0 0 1rem; }
.ta-field-row { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: end; }
.ta-check { display: flex; align-items: center; gap: .5rem; }
.ta-check input { width: auto; min-height: 0; }
.ta-check label { margin: 0; }
.ta-photo { border: 1px solid var(--tt-cream); border-radius: var(--tt-radius); padding: 1rem 1.25rem; margin: 0 0 1.25rem; }
.ta-photo legend { font-weight: 600; padding: 0 .375rem; }
.ta-note { background: var(--tt-paper-alt); border: 1px solid var(--tt-cream); border-radius: var(--tt-radius); padding: .75rem 1rem; margin-bottom: 1rem; }
.ta-alert { margin-bottom: 1rem; }
.ta-table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.ta-table th, .ta-table td { text-align: left; vertical-align: top; padding: .625rem .75rem; border-bottom: 1px solid var(--tt-cream); }
.ta-table th { font-weight: 600; background: var(--tt-paper-alt); }
.ta-table td:last-child { white-space: nowrap; }
.ta-table .ta-btn-sm + .ta-btn-sm { margin-left: .375rem; }
.ta-confirm { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .375rem; white-space: normal; }
.ta-field textarea, .ta-field select { display: block; width: 100%; min-height: 44px; padding: .5rem .75rem; font: inherit; color: inherit; background: var(--tt-paper); border: 1px solid var(--tt-slate); border-radius: var(--tt-radius); }
.ta-field input[type=file] { border: 0; padding: 0; min-height: 0; }
.ta-btn:disabled { opacity: .6; cursor: not-allowed; }
.ta-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ta-list { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .5rem; }
.ta-list li { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.ta-field input[type=time], .ta-field input[type=date] { display: block; min-height: 44px; padding: .5rem .75rem; font: inherit; color: inherit; background: var(--tt-paper); border: 1px solid var(--tt-slate); border-radius: var(--tt-radius); }
