html, body {
  height: 100%;
  font-size: 0.8rem;
}

body {
  margin: 0;
  padding: 0;
}

.root {
  display: flex;
  flex-direction: column;
  height: 100%;
}


:root {
  --primary-color: #2A3F54;
  --secondary-color: #4ECDC4;
  --accent-color: #FF6B6B;
  --background-light: #F8F9FA;
  --text-primary: #2C3E50;
  --text-secondary: #5D6D7E;
  --shadow-soft: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-medium: 0 4px 12px rgba(0, 0, 0, 0.12);
  --border-radius: 0px;
  --transition-speed: 0.3s;
}

/* Button Overrides */
.MuiButton-root {
  text-transform: none;
  font-weight: 500;
  padding: 10px 24px;
  border-radius: 2px;
  transition: all var(--transition-speed) ease;
}

.MuiButton-contained {
  background: linear-gradient(135deg, var(--primary-color), #34495E);
  box-shadow: var(--shadow-soft);
}

.MuiButton-contained:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-medium);
}

/* Paper/Card Overrides */
.MuiPaper-root {
  border-radius: var(--border-radius);
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: var(--shadow-soft);
  transition: all var(--transition-speed) ease;
}

.MuiPaper-root:hover {
  box-shadow: var(--shadow-medium);
}

/* Input Fields */
.MuiTextField-root {
  background-color: white;
}

.MuiOutlinedInput-root {
  border-radius: 2px;
  transition: all var(--transition-speed) ease;
}

.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline {
  border-color: var(--secondary-color);
}

.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline {
  border-color: var(--primary-color);
  border-width: 2px;
}

/* Typography */
.MuiTypography-root {
  color: var(--text-primary);
}

.MuiTypography-body1 {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-secondary);
}

/* Tabs */
.MuiTabs-root {
  background-color: var(--background-light);
  border-radius: var(--border-radius);
}

.MuiTab-root {
  text-transform: none;
  font-weight: 500;
  min-height: 48px;
}

.MuiTab-textColorPrimary.Mui-selected {
  color: var(--primary-color);
}

/* Dialog/Modal */
.MuiDialog-paper {
  border-radius: var(--border-radius);
  padding: 24px;
}

.MuiDialog-paperScrollPaper {
  max-height: calc(100% - 64px);
}

/* AppBar */
.MuiAppBar-root {
  background-color: white;
  color: var(--text-primary);
  box-shadow: var(--shadow-soft);
}

/* List Items */
.MuiListItem-root {
  border-radius: 8px;
  margin: 4px 0;
  transition: all var(--transition-speed) ease;
}

.MuiListItem-root:hover {
  background-color: var(--background-light);
}

/* Drawer */
.MuiDrawer-paper {
  background-color: white;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
}

/* Icons */
.MuiSvgIcon-root {
  transition: all var(--transition-speed) ease;
}

.MuiIconButton-root:hover .MuiSvgIcon-root {
  transform: scale(1.1);
  color: var(--secondary-color);
}

/* Form Controls */
.MuiFormControl-root {
  margin: 8px 0;
}

.MuiInputLabel-root {
  color: var(--text-secondary);
}

/* Checkbox and Radio */
.MuiCheckbox-root {
  color: var(--secondary-color);
}

.MuiRadio-root {
  color: var(--secondary-color);
}

/* Table */
.MuiTableCell-root {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.MuiTableRow-root:hover {
  background-color: var(--background-light);
}

/* Pagination */
.MuiPagination-root {
  .MuiPaginationItem-root {
    border-radius: 8px;
  }
  
  .MuiPaginationItem-page.Mui-selected {
    background-color: var(--primary-color);
  }
}

/* Alert */
.MuiAlert-root {
  border-radius: 8px;
  font-weight: 500;
}

/* Chip */
.MuiChip-root {
  border-radius: 8px;
  font-weight: 500;
  transition: all var(--transition-speed) ease;
}

.MuiChip-clickable:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}

/* Progress */
.MuiLinearProgress-root {
  border-radius: 4px;
  height: 8px;
}

/* Custom Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fadeIn var(--transition-speed) ease-out;
}