/* MarkHaus admin — the few things Tailwind utilities don't cover.
   Brand: navy #1a2b4a · cream #FAF7F0 · gold #C9A961 · forest #2D4A3E */

body { font-family: 'Manrope', system-ui, sans-serif; background: #FAF7F0; -webkit-font-smoothing: antialiased; overscroll-behavior: none; }
.font-display { font-family: 'Fraunces', Georgia, serif; font-optical-sizing: auto; }

/* Visible keyboard focus (WCAG) without affecting mouse clicks */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #C9A961; outline-offset: 2px; border-radius: 2px;
}

/* Form controls — the "inputBase" look from the React admin */
.mh-input, .mh-select, .mh-textarea {
  width: 100%; padding: 0.625rem 0.75rem; background: #fff; border: 1px solid rgba(26,43,74,.2); color: #1a2b4a; font-size: .875rem; transition: border-color .15s;
}
.mh-input:focus, .mh-select:focus, .mh-textarea:focus { border-color: #C9A961; outline: none; }
.mh-input.cream, .mh-select.cream { background: #FAF7F0; border-color: rgba(26,43,74,.15); padding: .5rem .625rem; }
.mh-input.sm, .mh-select.sm { padding: .375rem .5rem; font-size: .8125rem; }
.mh-input[type=number] { font-variant-numeric: tabular-nums; }
.mh-label { font-size: .75rem; font-weight: 500; color: #1a2b4a; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .375rem; display: block; }
.mh-hint { font-size: 11px; color: rgba(26,43,74,.55); margin-top: .25rem; }
.mh-eyebrow { font-size: 10px; letter-spacing: .2em; color: rgba(26,43,74,.6); font-weight: 500; text-transform: uppercase; }

/* Buttons */
.btn { display: inline-flex; align-items: center; gap: .375rem; font-size: .875rem; font-weight: 600; padding: .625rem 1rem; border: 1px solid transparent; cursor: pointer; transition: all .15s; white-space: nowrap; }
.btn-primary { background: #1a2b4a; color: #FAF7F0; }
.btn-primary:hover { background: #C9A961; color: #1a2b4a; }
.btn-outline { background: #fff; border-color: rgba(26,43,74,.2); color: #1a2b4a; font-weight: 500; }
.btn-outline:hover { background: rgba(26,43,74,.05); border-color: rgba(26,43,74,.4); }
.btn-ghost { background: transparent; border-color: rgba(26,43,74,.2); color: rgba(26,43,74,.8); font-weight: 500; font-size: 11px; padding: .25rem .5rem; }
.btn-ghost:hover { border-color: #C9A961; color: #1a2b4a; }
.btn-navy-outline { background: #fff; border: 2px solid #1a2b4a; color: #1a2b4a; }
.btn-navy-outline:hover { background: #1a2b4a; color: #FAF7F0; }
.btn-danger { color: #b91c1c; border-color: rgba(185,28,28,.3); background: #fff; font-weight: 500; }
.btn-danger:hover { background: #fef2f2; }
.btn-sm { padding: .375rem .75rem; font-size: .75rem; }
.btn-xs { padding: .25rem .625rem; font-size: 11px; }
.btn:disabled { opacity: .6; cursor: not-allowed; }

/* Status chips (pipeline) */
.chip { display: inline-block; padding: .375rem .625rem; font-size: .75rem; font-weight: 500; border: 1px solid rgba(26,43,74,.15); color: rgba(26,43,74,.7); cursor: pointer; background: #fff; }
.chip:hover { border-color: rgba(26,43,74,.4); }
.chip.on { border-color: #C9A961; background: rgba(201,169,97,.15); color: #1a2b4a; }

/* Board */
.board-col.drag-over { border-color: #C9A961 !important; box-shadow: 0 0 0 2px rgba(201,169,97,.2); }
.board-card { cursor: pointer; user-select: none; transition: all .15s; }
.board-card.dragging { opacity: .5; transform: scale(.97); }
.board-card:hover { border-color: #C9A961; }

/* Tables */
.mh-table { width: 100%; font-size: .875rem; border-collapse: collapse; }
.mh-table thead th { background: #FAF7F0; border-bottom: 1px solid rgba(26,43,74,.1); text-align: left; padding: .625rem 1rem; font-size: 10px; letter-spacing: .15em; color: rgba(26,43,74,.6); font-weight: 500; text-transform: uppercase; }
.mh-table tbody td { padding: .75rem 1rem; border-top: 1px solid rgba(26,43,74,.05); vertical-align: top; }
.mh-table tbody tr:hover { background: rgba(250,247,240,.4); }
.mh-table .num { text-align: right; font-variant-numeric: tabular-nums; }
.mono { font-family: 'SF Mono', Menlo, Consolas, monospace; }
.tabular { font-variant-numeric: tabular-nums; }

/* Color swatch grid */
.swatch { width: 28px; height: 28px; border: 2px solid rgba(26,43,74,.15); cursor: pointer; transition: all .12s; display: inline-flex; align-items: center; justify-content: center; }
.swatch.on { border-color: #C9A961; transform: scale(1.1); }
.swatch.off { opacity: .35; }

/* Misc */
.alert-error { background: #fef2f2; border: 1px solid #fca5a5; color: #991b1b; padding: .75rem; font-size: .875rem; }
.alert-ok { background: rgba(45,74,62,.1); border: 1px solid #2D4A3E; color: #1a2b4a; padding: .75rem; font-size: .875rem; }
.alert-warn { background: #fff7e6; border-left: 2px solid #d97706; color: #7c4a02; padding: .75rem; font-size: .875rem; }
.alert-gold { background: rgba(201,169,97,.15); border: 1px solid #C9A961; color: #1a2b4a; padding: .75rem; font-size: .875rem; }
details > summary { cursor: pointer; list-style: none; }
details > summary::-webkit-details-marker { display: none; }
.size-grid input { width: 3.25rem; text-align: center; }
@media print { nav, footer, .no-print { display: none !important; } }

/* the hidden attribute must win over Tailwind display utilities (.flex, .grid, .block) */
[hidden] { display: none !important; }
