/* =========================================================
   BALT-BEP — SHARED UI ENHANCEMENT
   Consistent design across pages.
   IMPORTANT: Sidebar is intentionally excluded from page animation.
========================================================= */
:root{
  --balt-navy:#062c52;
  --balt-blue:#0f4c81;
  --balt-primary:#1976d2;
  --balt-light:#f4f8fc;
  --balt-border:#dbe6f0;
  --balt-text:#172033;
  --balt-muted:#64748b;
  --balt-shadow:0 14px 35px rgba(6,44,82,.10);
  --balt-radius:18px;
}

html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 90% 5%,rgba(25,118,210,.10),transparent 28%),
    radial-gradient(circle at 5% 95%,rgba(15,76,129,.07),transparent 30%),
    linear-gradient(135deg,#eef4f9 0%,#f8fbff 50%,#edf4fa 100%) !important;
  color:var(--balt-text);
}

/* Keep the sidebar completely steady during page transitions. */
.sidebar,
.sidebar *{
  animation:none !important;
}

/* Only the page content gets the entrance animation. */
.main,
.main-content,
main.main,
.content,
.page,
.page-content,
.container:not(.sidebar),
.dashboard-content{
  animation:baltContentEnter .45s cubic-bezier(.22,1,.36,1) both;
}

@keyframes baltContentEnter{
  from{opacity:0;transform:translateY(14px);}
  to{opacity:1;transform:translateY(0);}
}

/* Shared surfaces */
.card,
.panel,
.table-container,
.form-card,
.booking-card,
.stat-card,
.chart-card,
.section-card,
.content-card,
.settings-card,
.profile-card,
.receipt-card{
  border:1px solid rgba(219,230,240,.90) !important;
  box-shadow:var(--balt-shadow) !important;
  border-radius:var(--balt-radius) !important;
}

/* Consistent headings */
.page-header h1,
.page-head h1,
.main h1,
.main-content h1{
  color:var(--balt-navy);
  letter-spacing:-.4px;
}

.page-header p,
.page-head p,
.main .subtitle,
.main-content .subtitle{
  color:var(--balt-muted);
}

/* Forms */
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea{
  border:1px solid var(--balt-border) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--balt-text) !important;
  box-shadow:0 3px 10px rgba(15,76,129,.035) !important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus{
  outline:none !important;
  border-color:rgba(25,118,210,.65) !important;
  box-shadow:0 0 0 4px rgba(25,118,210,.10) !important;
}

label{color:#334155;}

/* Buttons */
button,
.btn,
a.btn,
button[type="submit"],
input[type="submit"]{
  border-radius:11px;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease !important;
}

button:hover,
.btn:hover,
a.btn:hover,
button[type="submit"]:hover,
input[type="submit"]:hover{
  transform:translateY(-2px);
  filter:brightness(1.02);
  box-shadow:0 9px 20px rgba(15,76,129,.14);
}

button:active,
.btn:active,
a.btn:active{transform:translateY(0);}

/* Tables */
table{border-collapse:separate !important;border-spacing:0 !important;overflow:hidden;}
thead th{
  background:linear-gradient(180deg,#f3f7fb,#eaf2f8) !important;
  color:#29435c !important;
  font-weight:700 !important;
  border-bottom:1px solid var(--balt-border) !important;
}
tbody tr{transition:background .18s ease,transform .18s ease;}
tbody tr:hover{background:#f7fbff !important;}
td,th{border-color:#e4edf5 !important;}

/* Badges */
.badge,
.status-badge,
.pill,
.status{
  border-radius:999px !important;
}

/* Alerts / empty states */
.alert,
.notice,
.empty-state{
  border-radius:14px !important;
}

/* Modal polish */
.modal-content,
.modal-box,
.swal2-popup{
  border-radius:20px !important;
  box-shadow:0 24px 60px rgba(6,44,82,.22) !important;
}

/* Do not animate the fixed sidebar or its mobile overlay. */
.balt-overlay,
#baltOverlay{animation:none !important;}

/* Respect accessibility settings. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
  .main,.main-content,main.main,.content,.page,
  .page-content,.container:not(.sidebar),.dashboard-content{
    animation:none !important;
  }
}

@media (max-width:900px){
  .main,.main-content,main.main{margin-left:0 !important;}
}

/* Sidebar interaction: no animation on click. */
.sidebar, .sidebar *, .balt-burger { transition:none !important; animation:none !important; }
.sidebar a:hover, .sidebar a:active, .sidebar a:focus { transform:none !important; }
