/*
 * Reserved for authentication and Mi Atelier surfaces.
 * Access control must be enforced by Supabase RLS and Edge Functions, not CSS.
 */

body[data-surface="account"] {
  background: var(--color-paper);
}
body.private-active > .site-header,
body.private-active > .site-footer { display: none; }

body.private-active > .page-shell { width: 100%; max-width: none; min-height: 100vh; padding: 0; }
.account-global-status { position: fixed; z-index: 20; right: 1rem; bottom: 1rem; max-width: min(28rem, calc(100% - 2rem)); margin: 0; padding: .75rem 1rem; background: var(--espresso); color: var(--ivory-light); font-size: .8rem; }
.account-global-status:empty { display: none; }
.private-shell { display: grid; grid-template-columns: minmax(13rem, 17rem) minmax(0, 1fr); min-height: 100vh; background: var(--ivory-light); color: var(--ink); }
.private-nav { position: sticky; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 2rem clamp(1rem, 2vw, 2rem); border-right: 1px solid var(--line); background: var(--ivory); overflow-y: auto; }
.private-brand { display: block; width: min(10rem, 100%); margin-bottom: 2.5rem; }
.private-brand img { width: 100%; height: auto; }
.private-nav__links { display: grid; gap: .15rem; }
.private-nav__links a { padding: .62rem .7rem; border-left: 2px solid transparent; color: var(--muted); font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.private-nav__links a:hover, .private-nav__links a[aria-current="page"] { border-left-color: var(--copper); color: var(--espresso); }
.private-nav__controls { display: flex; gap: 1rem; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 2rem; }
.text-button, .text-link { padding: .25rem 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--copper); font: 600 .68rem/1.3 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.private-main { min-width: 0; }
.private-topbar { display: flex; min-height: 5rem; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem var(--page-gutter); border-bottom: 1px solid var(--line); }
.private-topbar p { margin: 0; }
.trip-picker { display: flex; gap: .7rem; align-items: center; color: var(--muted); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.trip-picker select, .thread-picker { min-width: min(18rem, 42vw); padding: .65rem 2rem .65rem .75rem; border: 1px solid var(--line); background: var(--ivory-light); color: var(--ink); }
.private-status { min-height: 1.5rem; padding: .5rem var(--page-gutter); color: var(--muted); font-size: .8rem; }
.private-status:empty { min-height: 0; padding-block: 0; }
.private-content { width: min(82rem, 100%); margin-inline: auto; padding: clamp(2.5rem, 6vw, 6rem) var(--page-gutter) 7rem; outline: none; }
.dossier-heading { max-width: 63rem; margin-bottom: clamp(2.5rem, 6vw, 5rem); }
.dossier-heading h1 { max-width: 15ch; margin: .5rem 0 1rem; font-size: clamp(2.8rem, 6vw, 6.8rem); line-height: .92; }
.dossier-heading__meta { color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.25rem); }
.trip-ledger { display: grid; border-top: 1px solid var(--line); }
.trip-ledger__item { display: grid; grid-template-columns: minmax(7rem, .35fr) minmax(12rem, 1fr) minmax(10rem, .7fr) auto; gap: 1.5rem; align-items: baseline; padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.trip-ledger__item h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 3rem); }
.summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 4rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.summary-item { display: grid; min-height: 10rem; align-content: space-between; gap: 2rem; padding: 1.4rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.summary-item strong { font-family: var(--font-display); font-size: clamp(1.4rem, 2.8vw, 2.5rem); font-weight: 400; }
.trip-facts, .admin-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 4rem; border-block: 1px solid var(--line); }
.trip-facts dt, .admin-stats dt { padding: 1rem 1rem .25rem 0; color: var(--muted); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.trip-facts dd, .admin-stats dd { margin: 0; padding: 0 1rem 1rem 0; font-family: var(--font-display); font-size: 2rem; }
.dossier-section { display: grid; grid-template-columns: minmax(10rem, .28fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); padding: clamp(2.5rem, 5vw, 5rem) 0; border-top: 1px solid var(--line); }
.dossier-section > h2, .admin-operation > h2 { margin: 0; font-size: clamp(1.6rem, 2.6vw, 2.6rem); }
.itinerary-timeline { position: relative; margin: 0; padding: 0; list-style: none; }
.itinerary-timeline::before { position: absolute; inset: .5rem auto 0 .35rem; width: 1px; background: var(--line); content: ''; }
.itinerary-timeline li { position: relative; padding: 0 0 2.75rem 2rem; }
.itinerary-timeline li::before { position: absolute; top: .45rem; left: 0; width: .75rem; height: .75rem; border: 1px solid var(--copper); border-radius: 50%; background: var(--ivory-light); content: ''; }
.itinerary-timeline li.is-cancelled { opacity: .55; text-decoration: line-through; }
.itinerary-timeline time, .message-stream time { color: var(--copper); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.itinerary-timeline h3, .reservation-list h3, .task-list h3 { margin: .35rem 0; font-size: 1.3rem; }
.reservation-list, .task-list, .traveler-list, .document-list, .artifact-list, .route-list, .admin-records { margin: 0; padding: 0; list-style: none; }
.reservation-list li, .task-list li, .traveler-list li, .document-list li, .artifact-list li, .admin-records > * { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.traveler-list span, .document-list span, .artifact-list span { display: block; margin-top: .3rem; color: var(--muted); font-size: .78rem; }
.confirmation-reference { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .08em; }
.note { padding-left: 1rem; border-left: 1px solid var(--copper); color: var(--muted); }
.empty-state { max-width: 45rem; padding: 1.5rem 0; color: var(--muted); }
.route-list { counter-reset: route; }
.route-list li { display: grid; grid-template-columns: 3rem 1fr; padding: 1rem 0; border-bottom: 1px solid var(--line); counter-increment: route; font-family: var(--font-display); font-size: 1.8rem; }
.route-list li::before { color: var(--copper); content: counter(route, decimal-leading-zero); font: 600 .68rem var(--font-sans); }
.inline-form, .operation-form, .message-form { display: grid; gap: 1rem; }
.inline-form label, .operation-form label, .message-form label { display: grid; gap: .45rem; color: var(--muted); font-size: .7rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.inline-form input, .inline-form select, .operation-form input, .operation-form select, .operation-form textarea, .message-form textarea, .copy-output input { width: 100%; padding: .8rem; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font: inherit; }
.copy-output { display: flex; gap: .5rem; }
.copy-output button { flex: 0 0 auto; }
.message-stream { display: grid; gap: 1rem; max-width: 55rem; margin: 2rem 0; padding: 0; list-style: none; }
.message-stream li { max-width: 80%; padding: 1rem 1.25rem; border: 1px solid var(--line); background: var(--ivory); }
.message-stream li.is-own { justify-self: end; background: var(--ivory-deep); }
.message-stream p { white-space: pre-wrap; overflow-wrap: anywhere; }
.editorial-list article { max-width: 55rem; padding: 2rem 0; border-top: 1px solid var(--line); }
.editorial-list h2 { font-size: clamp(2rem, 4vw, 4rem); }
.engagement-list { display: grid; grid-template-columns: 1fr auto; gap: 1rem 2rem; max-width: 55rem; }
.engagement-list dd { margin: 0; text-align: right; }
.private-shell--admin .private-content { width: min(96rem, 100%); }
.admin-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-operation { display: grid; grid-template-columns: minmax(11rem, .25fr) minmax(0, 1fr); gap: 3rem; padding: 2.5rem 0; border-top: 1px solid var(--line); }
.operation-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.operation-form button { align-self: end; }
.folio-admin { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }

@media (max-width: 850px) {
  .private-shell { grid-template-columns: minmax(0, 1fr); width: 100%; }
  .private-nav { position: static; width: 100%; min-width: 0; height: auto; padding: 1rem var(--page-gutter); border-right: 0; border-bottom: 1px solid var(--line); overflow: hidden; }
  .private-brand { width: 8rem; margin-bottom: 1rem; }
  .private-nav__links { display: flex; width: 100%; min-width: 0; gap: .25rem; margin-inline: 0; padding-inline: 0; overflow-x: auto; scrollbar-width: thin; }
  .private-nav__links a { flex: 0 0 auto; border-left: 0; border-bottom: 2px solid transparent; }
  .private-nav__links a[aria-current="page"] { border-bottom-color: var(--copper); }
  .private-nav__controls { position: absolute; top: .9rem; right: var(--page-gutter); margin: 0; padding: 0; }
  .private-topbar { min-height: 4rem; }
  .trip-ledger__item { grid-template-columns: 1fr auto; }
  .trip-ledger__item > :nth-child(3) { grid-column: 1 / -1; }
  .dossier-section, .admin-operation { grid-template-columns: 1fr; gap: 1.5rem; }
  .admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .private-nav__controls { gap: .6rem; }
  .private-nav__controls .text-button { font-size: .58rem; }
  .private-topbar { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .trip-picker { width: 100%; align-items: stretch; flex-direction: column; }
  .trip-picker select { width: 100%; min-width: 0; }
  .private-content { padding-top: 2rem; }
  .summary-grid, .trip-facts, .admin-stats, .operation-form { grid-template-columns: 1fr; }
  .trip-ledger__item { grid-template-columns: 1fr; gap: .4rem; }
  .reservation-list li, .task-list li, .document-list li, .artifact-list li { align-items: flex-start; flex-direction: column; }
  .message-stream li { max-width: 92%; }
  .copy-output { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .private-shell *, .private-shell *::before, .private-shell *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* The legacy scaffold header had no size bound and covered the auth controls. */
body[data-surface="account"] .site-header { position: static; display: block; height: auto; padding: 1.5rem; }
body[data-surface="account"] .brand-link { display: inline-block; }
body[data-surface="account"] .brand-link img { width: 7rem; height: auto; }
body[data-surface="account"] .page-shell { padding: 2rem clamp(1.25rem, 5vw, 5rem); }
body[data-surface="account"] .scaffold-notice { max-width: 42rem; margin-inline: auto; }
body.private-active[data-surface="account"] > .page-shell { padding: 0; overflow-x: clip; }
