/* Admin area: Bootstrap plus brand touches */
:root {
  --navy: #0F2A44;
  --teal: #1E6F80;
  --coral: #E07A3F;
  --ground: #F4F6F7;
}

body { background: var(--ground); font-family: "Segoe UI", system-ui, sans-serif; }

.admin-shell { display: flex; min-height: 100vh; }
.admin-side {
  width: 230px; flex: 0 0 230px; background: var(--navy); color: #fff;
  display: flex; flex-direction: column; padding: 16px 12px;
}
.admin-brand {
  display: flex; align-items: center; gap: 10px; padding: 4px 8px 16px;
  color: #fff; text-decoration: none; font-weight: 600; line-height: 1.15;
}
.admin-side .nav-link { color: #C8D7E2; border-radius: 6px; padding: 8px 12px; }
.admin-side .nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.admin-side .nav-link.active { background: var(--teal); color: #fff; }
.admin-side-foot { margin-top: auto; border-top: 1px solid rgba(255,255,255,.15); padding-top: 12px; }
.admin-side-foot .btn-link { text-decoration: none; }
.admin-main { flex: 1; min-width: 0; padding: 24px 28px 48px; }

.admin-main h1 { font-size: 1.7rem; color: var(--navy); margin-bottom: 1rem; }
.admin-main h2 { font-size: 1.25rem; color: var(--navy); }

.card-tile { background: #fff; border: 1px solid #dde3e8; border-radius: 10px; padding: 16px 18px; }
.card-tile .big { font-size: 1.8rem; font-weight: 700; color: var(--navy); line-height: 1.1; }
.card-tile .label { color: #5b6975; font-size: .85rem; }

.table > :not(caption) > * > * { vertical-align: middle; }
.money { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.photo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.photo-tile { background: #fff; border: 1px solid #dde3e8; border-radius: 8px; overflow: hidden; }
.photo-tile img { width: 100%; height: 130px; object-fit: cover; display: block; }
.photo-tile .meta { padding: 6px 8px; font-size: .8rem; }
.badge-before { background: #5b6975; }
.badge-after { background: var(--coral); color: #0A1E31; }

@media (max-width: 820px) {
  .admin-shell { flex-direction: column; }
  .admin-side { width: auto; flex: none; }
  .admin-side .nav { flex-direction: row !important; flex-wrap: wrap; }
  .admin-main { padding: 16px; }
}

/* Printable quote / invoice */
.doc-sheet { background: #fff; max-width: 820px; padding: 36px; border: 1px solid #dde3e8; border-radius: 6px; }
@media print {
  .admin-side, .no-print { display: none !important; }
  .admin-main { padding: 0; }
  body { background: #fff; }
  .doc-sheet { border: 0; padding: 0; max-width: none; }
}

/* Blazor shows this bar only when it reports an error; keep it hidden otherwise. */
#blazor-error-ui {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: .6rem 1.25rem;
    background: #fff3cd;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, .2);
}
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: .75rem; top: .5rem; }
