:root {
  --mm-primary: #3a13f8;
  --mm-primary-light: #6c52ff;
  --mm-primary-dark: #2d0fcb;
  --mm-secondary: #30eb20;
  --mm-secondary-light: #68f55d;
  --mm-secondary-dark: #1dad14;
  --mm-accent: #ffa500;
  --mm-accent-light: #ffbd47;
  --mm-info: #38bdf8;
  --mm-canvas: #f4f6f8;
  --mm-surface-muted: #ebeff5;
  --mm-surface: #ffffff;
  --mm-text: #0f172a;
  --mm-text-muted: #5f6b7a;
  --mm-border: rgba(15, 23, 42, 0.08);
  --mm-selected: rgba(58, 19, 248, 0.08);
}

.md-header {
  background: linear-gradient(135deg, var(--mm-primary-dark), var(--mm-primary) 58%, var(--mm-primary-light));
  box-shadow: 0 10px 32px rgba(58, 19, 248, 0.18);
}

.md-tabs {
  display: none;
}

.md-sidebar--primary .md-nav__title {
  font-weight: 700;
}

.md-sidebar--primary .md-nav__link--active {
  color: var(--mm-primary);
  font-weight: 700;
}

.md-sidebar--primary .md-nav__item .md-nav__link--active,
.md-sidebar--primary .md-nav__item .md-nav__link:focus,
.md-sidebar--primary .md-nav__item .md-nav__link:hover {
  background: var(--mm-selected);
  border-radius: 6px;
}

.md-sidebar--primary .md-nav__icon {
  color: var(--mm-primary);
}

.md-search__form {
  border-radius: 6px;
}

body:not(.mm-authenticated) .md-header,
body:not(.mm-authenticated) .md-container,
body:not(.mm-authenticated) .md-footer {
  visibility: hidden;
}

.mm-password-gate {
  align-items: center;
  background:
    radial-gradient(circle at top left, rgba(48, 235, 32, 0.22), transparent 30rem),
    radial-gradient(circle at bottom right, rgba(255, 165, 0, 0.2), transparent 28rem),
    linear-gradient(135deg, var(--mm-canvas) 0%, #ffffff 52%, var(--mm-surface-muted) 100%);
  display: grid;
  inset: 0;
  justify-items: center;
  padding: 1.5rem;
  position: fixed;
  z-index: 9999;
}

.mm-password-panel {
  background: var(--mm-surface);
  border: 1px solid var(--mm-border);
  border-radius: 8px;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.16);
  color: var(--mm-text);
  max-width: 25rem;
  padding: 2rem;
  width: min(100%, 25rem);
}

.mm-password-panel h1 {
  font-size: 1.45rem;
  line-height: 1.2;
  margin: 0 0 0.5rem;
}

.mm-password-panel p {
  color: var(--mm-text-muted);
  margin: 0 0 1.25rem;
}

.mm-password-field {
  display: grid;
  gap: 0.45rem;
}

.mm-password-field span {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.mm-password-field input {
  border: 1px solid var(--mm-border);
  border-radius: 6px;
  font: inherit;
  padding: 0.75rem 0.8rem;
}

.mm-password-field input:focus {
  border-color: var(--mm-primary);
  box-shadow: 0 0 0 3px var(--mm-selected);
  outline: none;
}

.mm-password-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 1rem;
}

.mm-password-actions button {
  background: linear-gradient(135deg, var(--mm-primary), var(--mm-primary-light));
  border: 0;
  border-radius: 6px;
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 0.75rem 1rem;
  width: 100%;
}

.mm-password-actions button:hover,
.mm-password-actions button:focus {
  background: linear-gradient(135deg, var(--mm-primary-dark), var(--mm-primary));
}

.mm-password-error {
  color: #b42318;
  font-size: 0.85rem;
  margin-top: 0.75rem;
  min-height: 1.2rem;
}
