/* Quiet transitions and stable layouts for the operating workspace. */
.topbar-kicker, .eyebrow { display: none !important; }
.topbar-title { display: block; }
.content { position: relative; overflow-anchor: none; }
body { min-width: 0; }
.page-panel, .section { border-radius: 12px; }
.page-heading { align-items: center; gap: 16px; }
.form-grid { align-items: start; }
.form-label { line-height: 1.6; }
.field, .select, .textarea { box-sizing: border-box; }
.btn, .nav-item, .tab { transition: background-color .16s, border-color .16s, box-shadow .16s; }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .65; cursor: wait; }
:focus-visible { outline: 2px solid #9b4347; outline-offset: 3px; }
.page-enter { animation: page-enter .2s ease-out; }
.modal-layer { animation: veil-enter .16s ease-out; }
.modal { animation: page-enter .2s ease-out; }
.modal.drawer { animation: drawer-enter .22s ease-out; }
.modal-head { position: sticky; top: 0; z-index: 2; background: #fff; }
.is-updating::before { content: ''; position: fixed; z-index: 15; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, #8d2029, transparent); background-size: 200% 100%; animation: loading-flow 1.2s linear infinite; }
.route-skeleton { min-height: 75vh; padding: 28px; background: #fffdfa; border: 1px solid #e7e2da; border-radius: 12px; }
.route-skeleton span { display: block; height: 100px; margin-bottom: 24px; border-radius: 8px; background: linear-gradient(100deg, #f1eeea 25%, #faf8f5 45%, #f1eeea 65%); background-size: 200% 100%; animation: loading-flow 1.4s linear infinite; }
.route-skeleton span:first-child { width: 35%; height: 28px; }
img[data-image-fallback] { opacity: 0; transition: opacity .22s ease-out; background: #f3efea; }
img.image-ready { opacity: 1; }
.cover, .portfolio-cover-button, .portfolio-media-tile { background-color: #f3efea; }
.image-failed { object-fit: contain !important; padding: 12px; box-sizing: border-box; background: #f5f2ed; }
.toast { max-width: min(560px, 90vw); line-height: 1.6; }
@keyframes page-enter { from { opacity: .45; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@keyframes veil-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes drawer-enter { from { opacity: .5; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes loading-flow { from { background-position: 200% 0; } to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
@media (max-width: 760px) { .content { padding: 16px 12px 28px; } .page-heading { flex-wrap: wrap; } .heading-actions { flex-wrap: wrap; } }
@media (max-width: 1000px) {
  .app-shell { grid-template-columns: 154px minmax(0, 1fr); }
  .brand { padding: 0 14px; }
  .nav-item { padding: 11px 9px; font-size: 13px; gap: 8px; }
  .sidebar-foot { padding: 14px; }
  .form-grid, .dashboard-grid, .capacity-months { grid-template-columns: minmax(0, 1fr); }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .toolbar, .portfolio-toolbar, .dashboard-toolbar, .booking-toolbar { flex-wrap: wrap; }
  .topbar { padding: 0 18px; }
  .page-body, .page-heading { padding: 20px; }
}
@media (max-width: 600px) {
  .app-shell { grid-template-columns: 104px minmax(0, 1fr); }
  .brand { padding: 10px; height: 72px; }
  .brand img, .nav-icon, .sidebar-foot, .topbar .user-name, .topbar .avatar { display: none; }
  .nav { padding: 10px 5px; }
  .nav-item { padding: 12px 8px; }
  .nav-caption { padding: 0 8px 6px; }
  .topbar { padding: 0 12px; }
  .topbar-title { font-size: 14px; }
  .content { padding: 12px 8px 24px; }
  .page-body, .page-heading { padding: 16px; }
  .toolbar .search, .field { max-width: 100%; }
  .metric-grid, .booking-finance { grid-template-columns: minmax(0, 1fr); }
}
